From: Evert Timberg Date: Sun, 17 Apr 2016 12:38:46 +0000 (-0400) Subject: Update doughnut and polar area legend callbacks to handle when the background color... X-Git-Tag: 2.1.0~71^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0e33b6b55616d835595c136dda741dff072608e3;p=thirdparty%2FChart.js.git Update doughnut and polar area legend callbacks to handle when the background color is not set. --- diff --git a/src/controllers/controller.doughnut.js b/src/controllers/controller.doughnut.js index d55dcf47d..de5c041c2 100644 --- a/src/controllers/controller.doughnut.js +++ b/src/controllers/controller.doughnut.js @@ -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 []; } diff --git a/src/controllers/controller.polarArea.js b/src/controllers/controller.polarArea.js index 1506f9da7..7fb605a1a 100644 --- a/src/controllers/controller.polarArea.js +++ b/src/controllers/controller.polarArea.js @@ -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 []; }