]> git.ipfire.org Git - thirdparty/Chart.js.git/commitdiff
Use default value when backgroundColor is undefined (#7950)
authorTakuya Uehara <indigo.lain@gmail.com>
Sat, 24 Oct 2020 11:43:51 +0000 (20:43 +0900)
committerGitHub <noreply@github.com>
Sat, 24 Oct 2020 11:43:51 +0000 (07:43 -0400)
src/controllers/controller.doughnut.js
src/controllers/controller.polarArea.js
src/plugins/plugin.legend.js

index 7cee5444457a7b4781070636c58ec60804ada1e2..826227f958deafd76a679ad29dec336627d88a7a 100644 (file)
@@ -25,6 +25,7 @@ defaults._set('doughnut', {
                var list = document.createElement('ul');
                var data = chart.data;
                var datasets = data.datasets;
+               var globalDefaults = defaults.global;
                var labels = data.labels;
                var i, ilen, listItem, listItemSpan;
 
@@ -33,7 +34,7 @@ defaults._set('doughnut', {
                        for (i = 0, ilen = datasets[0].data.length; i < ilen; ++i) {
                                listItem = list.appendChild(document.createElement('li'));
                                listItemSpan = listItem.appendChild(document.createElement('span'));
-                               listItemSpan.style.backgroundColor = datasets[0].backgroundColor[i];
+                               listItemSpan.style.backgroundColor = valueOrDefault(datasets[0].backgroundColor[i], globalDefaults.defaultColor);
                                if (labels[i]) {
                                        listItem.appendChild(document.createTextNode(labels[i]));
                                }
index d15ee9112f2f78960bdd2b0a90086fc1b2eb95a9..7d73563cb642d42081c1bff8e99f5138d189b511 100644 (file)
@@ -6,6 +6,7 @@ var elements = require('../elements/index');
 var helpers = require('../helpers/index');
 
 var resolve = helpers.options.resolve;
+var valueOrDefault = helpers.valueOrDefault;
 
 defaults._set('polarArea', {
        scale: {
@@ -35,6 +36,7 @@ defaults._set('polarArea', {
                var list = document.createElement('ul');
                var data = chart.data;
                var datasets = data.datasets;
+               var globalDefaults = defaults.global;
                var labels = data.labels;
                var i, ilen, listItem, listItemSpan;
 
@@ -43,7 +45,7 @@ defaults._set('polarArea', {
                        for (i = 0, ilen = datasets[0].data.length; i < ilen; ++i) {
                                listItem = list.appendChild(document.createElement('li'));
                                listItemSpan = listItem.appendChild(document.createElement('span'));
-                               listItemSpan.style.backgroundColor = datasets[0].backgroundColor[i];
+                               listItemSpan.style.backgroundColor = valueOrDefault(datasets[0].backgroundColor[i], globalDefaults.defaultColor);
                                if (labels[i]) {
                                        listItem.appendChild(document.createTextNode(labels[i]));
                                }
index e790e9ba43eaab9a99a375be30d74bf0443f4d45..ac82faaa24dc68ec10bef78efb4cc59676512a61 100644 (file)
@@ -80,6 +80,7 @@ defaults._set('global', {
        legendCallback: function(chart) {
                var list = document.createElement('ul');
                var datasets = chart.data.datasets;
+               var globalDefaults = defaults.global;
                var i, ilen, listItem, listItemSpan;
 
                list.setAttribute('class', chart.id + '-legend');
@@ -87,7 +88,7 @@ defaults._set('global', {
                for (i = 0, ilen = datasets.length; i < ilen; i++) {
                        listItem = list.appendChild(document.createElement('li'));
                        listItemSpan = listItem.appendChild(document.createElement('span'));
-                       listItemSpan.style.backgroundColor = datasets[i].backgroundColor;
+                       listItemSpan.style.backgroundColor = valueOrDefault(datasets[i].backgroundColor, globalDefaults.defaultColor);
                        if (datasets[i].label) {
                                listItem.appendChild(document.createTextNode(datasets[i].label));
                        }