]> git.ipfire.org Git - thirdparty/Chart.js.git/commitdiff
Fix legend generation when no datasets 2074/head
authorEvert Timberg <evert.timberg@gmail.com>
Sun, 28 Feb 2016 22:51:06 +0000 (17:51 -0500)
committerEvert Timberg <evert.timberg@gmail.com>
Sun, 28 Feb 2016 22:51:06 +0000 (17:51 -0500)
src/controllers/controller.doughnut.js
src/controllers/controller.polarArea.js

index 92816a028a734b455a61a9bee40dad038dcdf1e4..c3c70f9682640554d46a6d4aa5b5d739e372deff 100644 (file)
@@ -35,16 +35,20 @@ module.exports = function(Chart) {
                legend: {
                        labels: {
                                generateLabels: function(data) {
-                                       return data.labels.map(function(label, i) {
-                                               return {
-                                                       text: label,
-                                                       fillStyle: data.datasets[0].backgroundColor[i],
-                                                       hidden: isNaN(data.datasets[0].data[i]),
-
-                                                       // Extra data used for toggling the correct item
-                                                       index: i
-                                               };
-                                       });
+                                       if (data.labels.length && data.datasets.length) {
+                                               return data.labels.map(function(label, i) {
+                                                       return {
+                                                               text: label,
+                                                               fillStyle: data.datasets[0].backgroundColor[i],
+                                                               hidden: isNaN(data.datasets[0].data[i]),
+
+                                                               // Extra data used for toggling the correct item
+                                                               index: i
+                                                       };
+                                               });
+                                       } else {
+                                               return [];
+                                       }
                                }
                        },
                        onClick: function(e, legendItem) {
index 162d1620c05c93dc18eef1523af15834cebec232..1506f9da73e198c57076d0a85ecba2153827f9a4 100644 (file)
@@ -36,16 +36,20 @@ module.exports = function(Chart) {
                legend: {
                        labels: {
                                generateLabels: function(data) {
-                                       return data.labels.map(function(label, i) {
-                                               return {
-                                                       text: label,
-                                                       fillStyle: data.datasets[0].backgroundColor[i],
-                                                       hidden: isNaN(data.datasets[0].data[i]),
-
-                                                       // Extra data used for toggling the correct item
-                                                       index: i
-                                               };
-                                       });
+                                       if (data.labels.length && data.datasets.length) {
+                                               return data.labels.map(function(label, i) {
+                                                       return {
+                                                               text: label,
+                                                               fillStyle: data.datasets[0].backgroundColor[i],
+                                                               hidden: isNaN(data.datasets[0].data[i]),
+
+                                                               // Extra data used for toggling the correct item
+                                                               index: i
+                                                       };
+                                               });
+                                       } else {
+                                               return [];
+                                       }
                                }
                        },
                        onClick: function(e, legendItem) {