]> git.ipfire.org Git - thirdparty/Chart.js.git/commitdiff
Update doughnut and polar area legend callbacks to handle when the background color...
authorEvert Timberg <evert.timberg+github@gmail.com>
Sun, 17 Apr 2016 12:38:46 +0000 (08:38 -0400)
committerEvert Timberg <evert.timberg+github@gmail.com>
Sun, 17 Apr 2016 12:38:46 +0000 (08:38 -0400)
src/controllers/controller.doughnut.js
src/controllers/controller.polarArea.js

index d55dcf47ddc22de3452ee5b5554ca4681b1b4e61..de5c041c211334ec8a6da9b7eb6c2e52c4ee77a5 100644 (file)
@@ -36,16 +36,25 @@ module.exports = function(Chart) {
                        labels: {
                                generateLabels: function(data) {
                                        if (data.labels.length && data.datasets.length) {
+
                                                return data.labels.map(function(label, i) {
+                                                       var ds = data.datasets[0];
+                                                       var arc = ds.metaData[i];
+                                                       var fill = arc.custom && arc.custom.backgroundColor ? arc.custom.backgroundColor : helpers.getValueAtIndexOrDefault(ds.backgroundColor, i, this.chart.options.elements.arc.backgroundColor);
+                                                       var stroke = arc.custom && arc.custom.borderColor ? arc.custom.borderColor : helpers.getValueAtIndexOrDefault(ds.borderColor, i, this.chart.options.elements.arc.borderColor);
+                                                       var bw = arc.custom && arc.custom.borderWidth ? arc.custom.borderWidth : helpers.getValueAtIndexOrDefault(ds.borderWidth, i, this.chart.options.elements.arc.borderWidth);
+
                                                        return {
                                                                text: label,
-                                                               fillStyle: data.datasets[0].backgroundColor[i],
+                                                               fillStyle: fill,
+                                                               strokeStyle: stroke,
+                                                               lineWidth: bw,
                                                                hidden: isNaN(data.datasets[0].data[i]),
 
                                                                // Extra data used for toggling the correct item
                                                                index: i
                                                        };
-                                               });
+                                               }, this);
                                        } else {
                                                return [];
                                        }
index 1506f9da73e198c57076d0a85ecba2153827f9a4..7fb605a1a3a9ca325fe83eb0cf1d713d890639a5 100644 (file)
@@ -38,15 +38,23 @@ module.exports = function(Chart) {
                                generateLabels: function(data) {
                                        if (data.labels.length && data.datasets.length) {
                                                return data.labels.map(function(label, i) {
+                                                       var ds = data.datasets[0];
+                                                       var arc = ds.metaData[i];
+                                                       var fill = arc.custom && arc.custom.backgroundColor ? arc.custom.backgroundColor : helpers.getValueAtIndexOrDefault(ds.backgroundColor, i, this.chart.options.elements.arc.backgroundColor);
+                                                       var stroke = arc.custom && arc.custom.borderColor ? arc.custom.borderColor : helpers.getValueAtIndexOrDefault(ds.borderColor, i, this.chart.options.elements.arc.borderColor);
+                                                       var bw = arc.custom && arc.custom.borderWidth ? arc.custom.borderWidth : helpers.getValueAtIndexOrDefault(ds.borderWidth, i, this.chart.options.elements.arc.borderWidth);
+
                                                        return {
                                                                text: label,
-                                                               fillStyle: data.datasets[0].backgroundColor[i],
+                                                               fillStyle: fill,
+                                                               strokeStyle: stroke,
+                                                               lineWidth: bw,
                                                                hidden: isNaN(data.datasets[0].data[i]),
 
                                                                // Extra data used for toggling the correct item
                                                                index: i
                                                        };
-                                               });
+                                               }, this);
                                        } else {
                                                return [];
                                        }