]> git.ipfire.org Git - thirdparty/Chart.js.git/commitdiff
Don't store _meta on dataset (#6778)
authorBen McCann <322311+benmccann@users.noreply.github.com>
Thu, 21 Nov 2019 12:20:18 +0000 (04:20 -0800)
committerEvert Timberg <evert.timberg+github@gmail.com>
Thu, 21 Nov 2019 12:20:18 +0000 (07:20 -0500)
docs/getting-started/v3-migration.md
src/core/core.controller.js
src/core/core.datasetController.js

index f803f5b3a22e764619dd7bf13e2cdb2a013944ac..62c66750b2b1502c372e0f8a847fee8e0f51860c 100644 (file)
@@ -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`
index dee8ebc53a9c7981602d39fa172d55a5a7ef4853..dd42021629f92652e94d0ed320bb6616db0d4f48 100644 (file)
@@ -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];
                }
        },
 
index 6e4ef71cecb03a7cfb19f8eb9023a4bb06a195c6..e08d2000de9fab38ead3d1f8348e76d293224145 100644 (file)
@@ -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);
                                }
                        }