* `helpers.removeEvent`
* `helpers.roundedRect`
* `helpers.scaleMerge`
-* `Scale.getRightValue`
-* `Scale.mergeTicksOptions`
-* `Scale.ticksAsNumbers`
* `Chart.Controller`
* `Chart.chart.chart`
* `Chart.types`
-* `Line.calculatePointY`
+* `DatasetController.addElementAndReset`
* `Element.getArea`
* `Element.height`
* `Element.inLabelRange`
-* Made `scale.handleDirectionalChanges` private
-* Made `scale.tickValues` private
+* `Line.calculatePointY`
+* `Scale.getRightValue`
+* `Scale.mergeTicksOptions`
+* `Scale.ticksAsNumbers`
+* `Scale.handleDirectionalChanges` is now private
+* `Scale.tickValues` is now private
#### Removal of private APIs
* `helpers.log10` was renamed to `helpers.math.log10`
* `Chart.Animation.animationObject` was renamed to `Chart.Animation`
* `Chart.Animation.chartInstance` was renamed to `Chart.Animation.chart`
+* `DatasetController.createMetaData` and `DatasetController.createMetaDataset` were replaced with `DatasetController.createElement`
* `TimeScale.getLabelCapacity` was renamed to `TimeScale._getLabelCapacity`
* `TimeScale.tickFormatFunction` was renamed to `TimeScale._tickFormatFunction`
* `TimeScale.getPixelForOffset` was renamed to `TimeScale._getPixelForOffset`
var metaData = this.getMeta().data;
var i, ilen;
for (i = start, ilen = start + count; i < ilen; ++i) {
- metaData[i]._val = +data[i];
+ metaData[i]._parsed = +data[i];
}
},
var centerY = (chartArea.top + chartArea.bottom) / 2;
var startAngle = opts.rotation; // non reset case handled later
var endAngle = opts.rotation; // non reset case handled later
- var circumference = reset && animationOpts.animateRotate ? 0 : arc.hidden ? 0 : me.calculateCircumference(arc._val * opts.circumference / DOUBLE_PI);
+ var circumference = reset && animationOpts.animateRotate ? 0 : arc.hidden ? 0 : me.calculateCircumference(arc._parsed * opts.circumference / DOUBLE_PI);
var innerRadius = reset && animationOpts.animateScale ? 0 : me.innerRadius;
var outerRadius = reset && animationOpts.animateScale ? 0 : me.outerRadius;
var options = arc._options || {};
var value;
helpers.each(metaData, function(arc) {
- value = arc ? arc._val : NaN;
+ value = arc ? arc._parsed : NaN;
if (!isNaN(value) && !arc.hidden) {
total += Math.abs(value);
}
}
},
- createMetaDataset: function() {
- var me = this;
- var type = me.datasetElementType;
- return type && new type({
- _ctx: me.chart.ctx
- });
- },
-
- createMetaData: function() {
- var me = this;
- var type = me.dataElementType;
+ createElement: function(type) {
return type && new type({
- _ctx: me.chart.ctx,
- _parsed: {}
+ _ctx: this.chart.ctx
});
},
data = me._data;
for (i = 0, ilen = data.length; i < ilen; ++i) {
- metaData[i] = metaData[i] || me.createMetaData();
+ metaData[i] = metaData[i] || me.createElement(me.dataElementType);
}
- meta.dataset = meta.dataset || me.createMetaDataset();
- },
-
- addElementAndReset: function(index) {
- var element = this.createMetaData();
- this._cachedMeta.data.splice(index, 0, element);
- this.updateElement(element, index, true);
+ meta.dataset = meta.dataset || me.createElement(me.datasetElementType);
},
buildOrUpdateElements: function() {
* @private
*/
insertElements: function(start, count) {
- for (var i = 0; i < count; ++i) {
- this.addElementAndReset(start + i);
+ const me = this;
+ const elements = [];
+ var i;
+ for (i = start; i < start + count; ++i) {
+ elements.push(me.createElement(me.dataElementType));
+ }
+ me._cachedMeta.data.splice(start, 0, ...elements);
+ me._parse(start, count);
+ for (i = 0; i < count; ++i) {
+ me.updateElement(elements[i], start + i, true);
}
- this._parse(start, count);
},
/**