From 0e33b6b55616d835595c136dda741dff072608e3 Mon Sep 17 00:00:00 2001 From: Evert Timberg Date: Sun, 17 Apr 2016 08:38:46 -0400 Subject: [PATCH] Update doughnut and polar area legend callbacks to handle when the background color is not set. --- src/controllers/controller.doughnut.js | 13 +++++++++++-- src/controllers/controller.polarArea.js | 12 ++++++++++-- 2 files changed, 21 insertions(+), 4 deletions(-) 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 []; } -- 2.47.3