From: Ben McCann <322311+benmccann@users.noreply.github.com> Date: Thu, 21 Nov 2019 12:20:18 +0000 (-0800) Subject: Don't store _meta on dataset (#6778) X-Git-Tag: v3.0.0-alpha~221 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ea903659720d89ad7bf83bf10cb1e7440dae012b;p=thirdparty%2FChart.js.git Don't store _meta on dataset (#6778) --- diff --git a/docs/getting-started/v3-migration.md b/docs/getting-started/v3-migration.md index f803f5b3a..62c66750b 100644 --- a/docs/getting-started/v3-migration.md +++ b/docs/getting-started/v3-migration.md @@ -83,6 +83,7 @@ Chart.js 3.0 introduces a number of breaking changes. Chart.js 2.0 was released #### Removal of private APIs +* `Chart.data.datasets[datasetIndex]._meta` * `Element._ctx` * `Element._model.datasetLabel` * `Element._model.label` diff --git a/src/core/core.controller.js b/src/core/core.controller.js index dee8ebc53..dd4202162 100644 --- a/src/core/core.controller.js +++ b/src/core/core.controller.js @@ -857,15 +857,13 @@ helpers.extend(Chart.prototype, /** @lends Chart */ { }, getDatasetMeta: function(datasetIndex) { - var me = this; - var dataset = me.data.datasets[datasetIndex]; - if (!dataset._meta) { - dataset._meta = {}; - } + const me = this; + const dataset = me.data.datasets[datasetIndex]; + const metasets = me._metasets = me._metasets || []; + let meta = metasets[datasetIndex]; - var meta = dataset._meta[me.id]; if (!meta) { - meta = dataset._meta[me.id] = { + meta = metasets[datasetIndex] = { type: null, data: [], dataset: null, @@ -907,13 +905,12 @@ helpers.extend(Chart.prototype, /** @lends Chart */ { * @private */ destroyDatasetMeta: function(datasetIndex) { - var id = this.id; - var dataset = this.data.datasets[datasetIndex]; - var meta = dataset._meta && dataset._meta[id]; + const me = this; + const meta = me._metasets && me._metasets[datasetIndex]; if (meta) { meta.controller.destroy(); - delete dataset._meta[id]; + delete me._metasets[datasetIndex]; } }, diff --git a/src/core/core.datasetController.js b/src/core/core.datasetController.js index 6e4ef71ce..e08d2000d 100644 --- a/src/core/core.datasetController.js +++ b/src/core/core.datasetController.js @@ -474,7 +474,7 @@ helpers.extend(DatasetController.prototype, { me.getDataset(), ], { merger: function(key, target, source) { - if (key !== '_meta' && key !== 'data') { + if (key !== 'data') { helpers._merger(key, target, source); } }