this.updateElements(arcs, 0, arcs.length, mode);
}
+ /**
+ * @protected
+ */
+ getMinMax() {
+ const meta = this._cachedMeta;
+ const range = {min: Number.POSITIVE_INFINITY, max: Number.NEGATIVE_INFINITY};
+
+ meta.data.forEach((element, index) => {
+ const parsed = this.getParsed(index).r;
+
+ if (!isNaN(parsed) && this.chart.getDataVisibility(index)) {
+ if (parsed < range.min) {
+ range.min = parsed;
+ }
+
+ if (parsed > range.max) {
+ range.max = parsed;
+ }
+ }
+ });
+
+ return range;
+ }
+
/**
* @private
*/
describe('Chart.controllers.polarArea', function() {
describe('auto', jasmine.fixture.specs('controller.polarArea'));
+ it('should update the scale correctly when data visibility is changed', function() {
+ var expectedScaleMax = 1;
+ var chart = window.acquireChart({
+ type: 'polarArea',
+ data: {
+ datasets: [
+ {data: [100]}
+ ],
+ labels: ['x']
+ }
+ });
+
+ chart.toggleDataVisibility(0);
+ chart.update();
+
+ expect(chart.scales.r.max).toBe(expectedScaleMax);
+ });
+
it('should be registered as dataset controller', function() {
expect(typeof Chart.controllers.polarArea).toBe('function');
});