]> git.ipfire.org Git - thirdparty/Chart.js.git/commitdiff
Support an array for line chart pointBorderWidth
authorEvert Timberg <evert.timberg+github@gmail.com>
Tue, 4 Jul 2017 01:32:10 +0000 (21:32 -0400)
committerEvert Timberg <evert.timberg+github@gmail.com>
Tue, 4 Jul 2017 11:24:37 +0000 (07:24 -0400)
src/controllers/controller.line.js
test/specs/controller.line.tests.js

index 6975b1ebbce0204f3cd81a88c3ad5b6ed56e6ba3..97982bded7cad8096b36a1a2f3db0eda5a1d0bd8 100644 (file)
@@ -137,7 +137,7 @@ module.exports = function(Chart) {
 
                        if (!isNaN(custom.borderWidth)) {
                                borderWidth = custom.borderWidth;
-                       } else if (!isNaN(dataset.pointBorderWidth)) {
+                       } else if (!isNaN(dataset.pointBorderWidth) || helpers.isArray(dataset.pointBorderWidth)) {
                                borderWidth = helpers.valueAtIndexOrDefault(dataset.pointBorderWidth, index, borderWidth);
                        } else if (!isNaN(dataset.borderWidth)) {
                                borderWidth = dataset.borderWidth;
index f1fe61facc5f2ab82323e17c553469153d0fb763..4c9471db9358ca4dd40a5b5ce8717603a3a5f6df 100644 (file)
@@ -730,4 +730,24 @@ describe('Line controller tests', function() {
 
                expect(point._model.borderWidth).toBe(0);
        });
+
+       it('should allow an array as the point border width setting', function() {
+               var chart = window.acquireChart({
+                       type: 'line',
+                       data: {
+                               datasets: [{
+                                       data: [10, 15, 0, -4],
+                                       label: 'dataset1',
+                                       pointBorderWidth: [1, 2, 3, 4]
+                               }],
+                               labels: ['label1', 'label2', 'label3', 'label4']
+                       }
+               });
+
+               var meta = chart.getDatasetMeta(0);
+               expect(meta.data[0]._model.borderWidth).toBe(1);
+               expect(meta.data[1]._model.borderWidth).toBe(2);
+               expect(meta.data[2]._model.borderWidth).toBe(3);
+               expect(meta.data[3]._model.borderWidth).toBe(4);
+       });
 });