/**
* @class Ext.chart.SpaceFillingChart
* @extends Ext.chart.AbstractChart
*
* Creates a chart that fills the entire area of the chart.
* e.g. Gauge Charts
*/
Ext.define('Ext.chart.SpaceFillingChart', {
extend: 'Ext.chart.AbstractChart',
xtype: 'spacefilling',
config: {
},
performLayout: function() {
var me = this;
try {
me.chartLayoutCount++;
me.suspendAnimation();
if (me.callParent() === false) {
// animationSuspendCount will still be decremented
return;
}
// eslint-disable-next-line vars-on-top, one-var
var chartRect = me.getSurface('chart').getRect(),
padding = me.getInsetPadding(),
width = chartRect[2] - padding.left - padding.right,
height = chartRect[3] - padding.top - padding.bottom,
mainRect = [padding.left, padding.top, width, height],
seriesList = me.getSeries(),
series, i, ln;
me.getSurface().setRect(mainRect);
me.setMainRect(mainRect);
for (i = 0, ln = seriesList.length; i < ln; i++) {
series = seriesList[i];
series.getSurface().setRect(mainRect);
if (series.setRect) {
series.setRect(mainRect);
}
series.getOverlaySurface().setRect(chartRect);
}
me.redraw();
}
finally {
me.resumeAnimation();
me.chartLayoutCount--;
me.checkLayoutEnd();
}
},
redraw: function() {
var me = this,
seriesList = me.getSeries(),
series, i, ln;
for (i = 0, ln = seriesList.length; i < ln; i++) {
series = seriesList[i];
series.getSprites();
}
me.renderFrame();
me.callParent();
}
});