From 6c9f8999116782bbe289d0481e3d1ec6b49ce808 Mon Sep 17 00:00:00 2001 From: Akihiko Kusanagi Date: Mon, 18 Mar 2019 16:05:27 +0900 Subject: [PATCH 001/115] Add the description of the tooltip alignment options (#6139) --- docs/configuration/tooltip.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/docs/configuration/tooltip.md b/docs/configuration/tooltip.md index 35f2e291fa3..2ae32ac91fb 100644 --- a/docs/configuration/tooltip.md +++ b/docs/configuration/tooltip.md @@ -19,17 +19,20 @@ The tooltip configuration is passed into the `options.tooltips` namespace. The g | `titleFontSize` | `number` | `12` | Title font size. | `titleFontStyle` | `string` | `'bold'` | Title font style. | `titleFontColor` | `Color` | `'#fff'` | Title font color. +| `titleAlign` | `string` | `'left'` | Horizontal alignment of the title text lines. [more...](#alignment) | `titleSpacing` | `number` | `2` | Spacing to add to top and bottom of each title line. | `titleMarginBottom` | `number` | `6` | Margin to add on bottom of title section. | `bodyFontFamily` | `string` | `"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif"` | Body line font. | `bodyFontSize` | `number` | `12` | Body font size. | `bodyFontStyle` | `string` | `'normal'` | Body font style. | `bodyFontColor` | `Color` | `'#fff'` | Body font color. +| `bodyAlign` | `string` | `'left'` | Horizontal alignment of the body text lines. [more...](#alignment) | `bodySpacing` | `number` | `2` | Spacing to add to top and bottom of each tooltip item. | `footerFontFamily` | `string` | `"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif"` | Footer font. | `footerFontSize` | `number` | `12` | Footer font size. | `footerFontStyle` | `string` | `'bold'` | Footer font style. | `footerFontColor` | `Color` | `'#fff'` | Footer font color. +| `footerAlign` | `string` | `'left'` | Horizontal alignment of the footer text lines. [more...](#alignment) | `footerSpacing` | `number` | `2` | Spacing to add to top and bottom of each footer line. | `footerMarginTop` | `number` | `6` | Margin to add before drawing the footer. | `xPadding` | `number` | `6` | Padding to add on left and right of tooltip. @@ -74,6 +77,16 @@ Chart.Tooltip.positioners.custom = function(elements, eventPosition) { }; ``` +### Alignment + +The `titleAlign`, `bodyAlign` and `footerAlign` options define the horizontal position of the text lines with respect to the tooltip box. The following values are supported. + +* `'left'` (default) +* `'right'` +* `'center'` + +These options are only applied to text lines. Color boxes are always aligned to the left edge. + ### Sort Callback Allows sorting of [tooltip items](#tooltip-item-interface). Must implement at minimum a function that can be passed to [Array.prototype.sort](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort). This function can also accept a third parameter that is the data object passed to the chart. From 390a8d7b413a5ba557f8b73888bad0b19aba8ed4 Mon Sep 17 00:00:00 2001 From: Ben McCann <322311+benmccann@users.noreply.github.com> Date: Mon, 18 Mar 2019 00:14:01 -0700 Subject: [PATCH 002/115] Add docs for the date adapter used by the time scale (#6134) --- docs/axes/cartesian/time.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/axes/cartesian/time.md b/docs/axes/cartesian/time.md index a3d3e016cab..61e04da749b 100644 --- a/docs/axes/cartesian/time.md +++ b/docs/axes/cartesian/time.md @@ -2,6 +2,10 @@ The time scale is used to display times and dates. When building its ticks, it will automatically calculate the most comfortable unit base on the size of the scale. +## Date Adapters + +The time scale requires both a date library and corresponding adapter to be present. By default, Chart.js includes an adapter for Moment.js. You may wish to [exclude moment](../../getting-started/integration.md) and choose from [other available adapters](https://github.com/chartjs/awesome#adapters) instead. + ## Data Sets ### Input Data From 4941aa0217ea1cd7029863d08b52fc59aa918af1 Mon Sep 17 00:00:00 2001 From: Ben McCann <322311+benmccann@users.noreply.github.com> Date: Tue, 19 Mar 2019 03:42:41 -0700 Subject: [PATCH 003/115] Improvements to helpers.almostWhole (#6120) --- src/core/core.helpers.js | 2 +- test/specs/core.helpers.tests.js | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/core/core.helpers.js b/src/core/core.helpers.js index 7922747dee9..52c8aea68a8 100644 --- a/src/core/core.helpers.js +++ b/src/core/core.helpers.js @@ -71,7 +71,7 @@ module.exports = function() { }; helpers.almostWhole = function(x, epsilon) { var rounded = Math.round(x); - return (((rounded - epsilon) < x) && ((rounded + epsilon) > x)); + return ((rounded - epsilon) <= x) && ((rounded + epsilon) >= x); }; helpers.max = function(array) { return array.reduce(function(max, value) { diff --git a/test/specs/core.helpers.tests.js b/test/specs/core.helpers.tests.js index a075c0e8d85..1f2bc29d5a1 100644 --- a/test/specs/core.helpers.tests.js +++ b/test/specs/core.helpers.tests.js @@ -46,6 +46,8 @@ describe('Core helper tests', function() { it('should correctly determine if a numbers are essentially whole', function() { expect(helpers.almostWhole(0.99999, 0.0001)).toBe(true); expect(helpers.almostWhole(0.9, 0.0001)).toBe(false); + expect(helpers.almostWhole(1234567890123, 0.0001)).toBe(true); + expect(helpers.almostWhole(1234567890123.001, 0.0001)).toBe(false); }); it('should generate integer ids', function() { @@ -81,6 +83,8 @@ describe('Core helper tests', function() { expect(helpers._decimalPlaces('1')).toBe(undefined); expect(helpers._decimalPlaces('')).toBe(undefined); expect(helpers._decimalPlaces(undefined)).toBe(undefined); + expect(helpers._decimalPlaces(12345678.1234)).toBe(4); + expect(helpers._decimalPlaces(1234567890.1234567)).toBe(7); }); it('should get an angle from a point', function() { From 0d8b8f637f336dfb68ea8b2088fe980bdd0f358e Mon Sep 17 00:00:00 2001 From: Jukka Kurkela Date: Tue, 19 Mar 2019 14:25:45 +0200 Subject: [PATCH 004/115] Replace helpers.extend with Object.assign when available or use helpers.merge (#6148) --- src/helpers/helpers.core.js | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/helpers/helpers.core.js b/src/helpers/helpers.core.js index cc8d888e653..a97b2f7e814 100644 --- a/src/helpers/helpers.core.js +++ b/src/helpers/helpers.core.js @@ -275,14 +275,12 @@ var helpers = { * @param {object} argN - Additional objects containing properties to merge in target. * @returns {object} The `target` object. */ - extend: function(target) { - var setFn = function(value, key) { - target[key] = value; - }; - for (var i = 1, ilen = arguments.length; i < ilen; ++i) { - helpers.each(arguments[i], setFn); - } - return target; + extend: Object.assign || function(target) { + return helpers.merge(target, [].slice.call(arguments, 1), { + merger: function(key, dst, src) { + dst[key] = src[key]; + } + }); }, /** From 86ed35446d394ec505d879e79fd29e6ecb199b87 Mon Sep 17 00:00:00 2001 From: Akihiko Kusanagi Date: Thu, 21 Mar 2019 16:03:39 +0800 Subject: [PATCH 005/115] Fix hover animations and optimize pivot() (#6129) --- src/core/core.element.js | 4 +-- test/specs/core.element.tests.js | 7 ++++++ test/specs/core.tooltip.tests.js | 42 +++++++++++++++++--------------- 3 files changed, 31 insertions(+), 22 deletions(-) diff --git a/src/core/core.element.js b/src/core/core.element.js index 665f20c4302..ecfec2c994d 100644 --- a/src/core/core.element.js +++ b/src/core/core.element.js @@ -66,7 +66,7 @@ helpers.extend(Element.prototype, { pivot: function() { var me = this; if (!me._view) { - me._view = helpers.clone(me._model); + me._view = helpers.extend({}, me._model); } me._start = {}; return me; @@ -80,7 +80,7 @@ helpers.extend(Element.prototype, { // No animation -> No Transition if (!model || ease === 1) { - me._view = model; + me._view = helpers.extend({}, model); me._start = null; return me; } diff --git a/test/specs/core.element.tests.js b/test/specs/core.element.tests.js index ca8f9b03e7c..8b72a0ccc5a 100644 --- a/test/specs/core.element.tests.js +++ b/test/specs/core.element.tests.js @@ -18,6 +18,7 @@ describe('Core element tests', function() { element.transition(0.25); expect(element._view).toEqual(element._model); + expect(element._view).not.toBe(element._model); expect(element._view.objectProp).toBe(element._model.objectProp); // not cloned element._model.numberProp = 100; @@ -40,5 +41,11 @@ describe('Core element tests', function() { }, colorProp: 'rgb(64, 64, 0)', }); + + // Final transition clones model into view + element.transition(1); + + expect(element._view).toEqual(element._model); + expect(element._view).not.toBe(element._model); }); }); diff --git a/test/specs/core.tooltip.tests.js b/test/specs/core.tooltip.tests.js index a55e80eb952..6fb4880cb65 100755 --- a/test/specs/core.tooltip.tests.js +++ b/test/specs/core.tooltip.tests.js @@ -137,11 +137,11 @@ describe('Core.Tooltip', function() { footer: [], caretPadding: 2, labelColors: [{ - borderColor: 'rgb(255, 0, 0)', - backgroundColor: 'rgb(0, 255, 0)' + borderColor: globalDefaults.defaultColor, + backgroundColor: globalDefaults.defaultColor }, { - borderColor: 'rgb(0, 0, 255)', - backgroundColor: 'rgb(0, 255, 255)' + borderColor: globalDefaults.defaultColor, + backgroundColor: globalDefaults.defaultColor }] })); @@ -338,8 +338,8 @@ describe('Core.Tooltip', function() { caretPadding: 2, labelTextColors: ['#fff'], labelColors: [{ - borderColor: 'rgb(255, 0, 0)', - backgroundColor: 'rgb(0, 255, 0)' + borderColor: globalDefaults.defaultColor, + backgroundColor: globalDefaults.defaultColor }] })); @@ -488,11 +488,11 @@ describe('Core.Tooltip', function() { caretPadding: 2, labelTextColors: ['labelTextColor', 'labelTextColor'], labelColors: [{ - borderColor: 'rgb(255, 0, 0)', - backgroundColor: 'rgb(0, 255, 0)' + borderColor: globalDefaults.defaultColor, + backgroundColor: globalDefaults.defaultColor }, { - borderColor: 'rgb(0, 0, 255)', - backgroundColor: 'rgb(0, 255, 255)' + borderColor: globalDefaults.defaultColor, + backgroundColor: globalDefaults.defaultColor }] })); @@ -547,6 +547,7 @@ describe('Core.Tooltip', function() { // Check and see if tooltip was displayed var tooltip = chart.tooltip; + var globalDefaults = Chart.defaults.global; expect(tooltip._view).toEqual(jasmine.objectContaining({ // Positioning @@ -568,11 +569,11 @@ describe('Core.Tooltip', function() { afterBody: [], footer: [], labelColors: [{ - borderColor: 'rgb(0, 0, 255)', - backgroundColor: 'rgb(0, 255, 255)' + borderColor: globalDefaults.defaultColor, + backgroundColor: globalDefaults.defaultColor }, { - borderColor: 'rgb(255, 0, 0)', - backgroundColor: 'rgb(0, 255, 0)' + borderColor: globalDefaults.defaultColor, + backgroundColor: globalDefaults.defaultColor }] })); @@ -629,6 +630,7 @@ describe('Core.Tooltip', function() { // Check and see if tooltip was displayed var tooltip = chart.tooltip; + var globalDefaults = Chart.defaults.global; expect(tooltip._view).toEqual(jasmine.objectContaining({ // Positioning @@ -646,8 +648,8 @@ describe('Core.Tooltip', function() { afterBody: [], footer: [], labelColors: [{ - borderColor: 'rgb(0, 0, 255)', - backgroundColor: 'rgb(0, 255, 255)' + borderColor: globalDefaults.defaultColor, + backgroundColor: globalDefaults.defaultColor }] })); }); @@ -1088,11 +1090,11 @@ describe('Core.Tooltip', function() { caretPadding: 2, labelTextColors: ['labelTextColor', 'labelTextColor'], labelColors: [{ - borderColor: 'rgb(255, 0, 0)', - backgroundColor: 'rgb(0, 255, 0)' + borderColor: globalDefaults.defaultColor, + backgroundColor: globalDefaults.defaultColor }, { - borderColor: 'rgb(0, 0, 255)', - backgroundColor: 'rgb(0, 255, 255)' + borderColor: globalDefaults.defaultColor, + backgroundColor: globalDefaults.defaultColor }] })); }); From b9290a20de0ac051b80eca3509163d597ecec476 Mon Sep 17 00:00:00 2001 From: Janelle deMent Date: Thu, 21 Mar 2019 04:06:39 -0400 Subject: [PATCH 006/115] Make line options scriptable (#6128) --- docs/charts/line.md | 18 ++--- samples/scriptable/line.html | 20 +++--- src/controllers/controller.line.js | 20 ++++-- .../backgroundColor/scriptable.js | 33 ++++----- .../backgroundColor/scriptable.png | Bin 5213 -> 13867 bytes .../controller.line/backgroundColor/value.js | 10 +-- .../controller.line/backgroundColor/value.png | Bin 5160 -> 14765 bytes .../borderCapStyle/scriptable.js | 68 ++++++++++++++++++ .../borderCapStyle/scriptable.png | Bin 0 -> 6575 bytes .../controller.line/borderCapStyle/value.js | 52 ++++++++++++++ .../controller.line/borderCapStyle/value.png | Bin 0 -> 6586 bytes .../controller.line/borderColor/scriptable.js | 38 +++++----- .../borderColor/scriptable.png | Bin 6276 -> 19662 bytes .../controller.line/borderColor/value.js | 8 ++- .../controller.line/borderColor/value.png | Bin 6231 -> 14015 bytes .../controller.line/borderDash/scriptable.js | 56 +++++++++++++++ .../controller.line/borderDash/scriptable.png | Bin 0 -> 13585 bytes .../controller.line/borderDash/value.js | 47 ++++++++++++ .../controller.line/borderDash/value.png | Bin 0 -> 12670 bytes .../borderDashOffset/scriptable.js | 53 ++++++++++++++ .../borderDashOffset/scriptable.png | Bin 0 -> 7382 bytes .../controller.line/borderDashOffset/value.js | 49 +++++++++++++ .../borderDashOffset/value.png | Bin 0 -> 8601 bytes .../borderJoinStyle/scriptable.js | 61 ++++++++++++++++ .../borderJoinStyle/scriptable.png | Bin 0 -> 16194 bytes .../controller.line/borderJoinStyle/value.js | 52 ++++++++++++++ .../controller.line/borderJoinStyle/value.png | Bin 0 -> 16247 bytes .../controller.line/borderWidth/scriptable.js | 36 +++++----- .../borderWidth/scriptable.png | Bin 11687 -> 15115 bytes .../controller.line/borderWidth/value.js | 11 +-- .../controller.line/borderWidth/value.png | Bin 6145 -> 14299 bytes .../cubicInterpolationMode/scriptable.js | 49 +++++++++++++ .../cubicInterpolationMode/scriptable.png | Bin 0 -> 16162 bytes .../cubicInterpolationMode/value.js | 45 ++++++++++++ .../cubicInterpolationMode/value.png | Bin 0 -> 16162 bytes .../controller.line/fill/scriptable.js | 47 ++++++++++++ .../controller.line/fill/scriptable.png | Bin 0 -> 11922 bytes test/fixtures/controller.line/fill/value.js | 43 +++++++++++ test/fixtures/controller.line/fill/value.png | Bin 0 -> 12152 bytes .../indexable.js | 0 .../indexable.png | Bin .../pointBackgroundColor/scriptable.js | 61 ++++++++++++++++ .../pointBackgroundColor/scriptable.png | Bin 0 -> 5213 bytes .../pointBackgroundColor/value.js | 42 +++++++++++ .../pointBackgroundColor/value.png | Bin 0 -> 5160 bytes .../indexable.js | 0 .../indexable.png | Bin .../pointBorderColor/scriptable.js | 61 ++++++++++++++++ .../pointBorderColor/scriptable.png | Bin 0 -> 6276 bytes .../controller.line/pointBorderColor/value.js | 42 +++++++++++ .../pointBorderColor/value.png | Bin 0 -> 6231 bytes .../indexable.js | 0 .../indexable.png | Bin .../pointBorderWidth/scriptable.js | 61 ++++++++++++++++ .../pointBorderWidth/scriptable.png | Bin 0 -> 11687 bytes .../controller.line/pointBorderWidth/value.js | 44 ++++++++++++ .../pointBorderWidth/value.png | Bin 0 -> 6145 bytes test/specs/core.controller.tests.js | 14 +++- test/specs/plugin.filler.tests.js | 2 - 59 files changed, 1054 insertions(+), 89 deletions(-) create mode 100644 test/fixtures/controller.line/borderCapStyle/scriptable.js create mode 100644 test/fixtures/controller.line/borderCapStyle/scriptable.png create mode 100644 test/fixtures/controller.line/borderCapStyle/value.js create mode 100644 test/fixtures/controller.line/borderCapStyle/value.png create mode 100644 test/fixtures/controller.line/borderDash/scriptable.js create mode 100644 test/fixtures/controller.line/borderDash/scriptable.png create mode 100644 test/fixtures/controller.line/borderDash/value.js create mode 100644 test/fixtures/controller.line/borderDash/value.png create mode 100644 test/fixtures/controller.line/borderDashOffset/scriptable.js create mode 100644 test/fixtures/controller.line/borderDashOffset/scriptable.png create mode 100644 test/fixtures/controller.line/borderDashOffset/value.js create mode 100644 test/fixtures/controller.line/borderDashOffset/value.png create mode 100644 test/fixtures/controller.line/borderJoinStyle/scriptable.js create mode 100644 test/fixtures/controller.line/borderJoinStyle/scriptable.png create mode 100644 test/fixtures/controller.line/borderJoinStyle/value.js create mode 100644 test/fixtures/controller.line/borderJoinStyle/value.png create mode 100644 test/fixtures/controller.line/cubicInterpolationMode/scriptable.js create mode 100644 test/fixtures/controller.line/cubicInterpolationMode/scriptable.png create mode 100644 test/fixtures/controller.line/cubicInterpolationMode/value.js create mode 100644 test/fixtures/controller.line/cubicInterpolationMode/value.png create mode 100644 test/fixtures/controller.line/fill/scriptable.js create mode 100644 test/fixtures/controller.line/fill/scriptable.png create mode 100644 test/fixtures/controller.line/fill/value.js create mode 100644 test/fixtures/controller.line/fill/value.png rename test/fixtures/controller.line/{backgroundColor => pointBackgroundColor}/indexable.js (100%) rename test/fixtures/controller.line/{backgroundColor => pointBackgroundColor}/indexable.png (100%) create mode 100644 test/fixtures/controller.line/pointBackgroundColor/scriptable.js create mode 100644 test/fixtures/controller.line/pointBackgroundColor/scriptable.png create mode 100644 test/fixtures/controller.line/pointBackgroundColor/value.js create mode 100644 test/fixtures/controller.line/pointBackgroundColor/value.png rename test/fixtures/controller.line/{borderColor => pointBorderColor}/indexable.js (100%) rename test/fixtures/controller.line/{borderColor => pointBorderColor}/indexable.png (100%) create mode 100644 test/fixtures/controller.line/pointBorderColor/scriptable.js create mode 100644 test/fixtures/controller.line/pointBorderColor/scriptable.png create mode 100644 test/fixtures/controller.line/pointBorderColor/value.js create mode 100644 test/fixtures/controller.line/pointBorderColor/value.png rename test/fixtures/controller.line/{borderWidth => pointBorderWidth}/indexable.js (100%) rename test/fixtures/controller.line/{borderWidth => pointBorderWidth}/indexable.png (100%) create mode 100644 test/fixtures/controller.line/pointBorderWidth/scriptable.js create mode 100644 test/fixtures/controller.line/pointBorderWidth/scriptable.png create mode 100644 test/fixtures/controller.line/pointBorderWidth/value.js create mode 100644 test/fixtures/controller.line/pointBorderWidth/value.png diff --git a/docs/charts/line.md b/docs/charts/line.md index 557cc8e9b03..6b7385d74c0 100644 --- a/docs/charts/line.md +++ b/docs/charts/line.md @@ -43,15 +43,15 @@ The line chart allows a number of properties to be specified for each dataset. T | Name | Type | [Scriptable](../general/options.md#scriptable-options) | [Indexable](../general/options.md#indexable-options) | Default | ---- | ---- | :----: | :----: | ---- -| [`backgroundColor`](#line-styling) | [`Color`](../general/colors.md) | - | - | `'rgba(0, 0, 0, 0.1)'` -| [`borderCapStyle`](#line-styling) | `string` | - | - | `'butt'` -| [`borderColor`](#line-styling) | [`Color`](../general/colors.md) | - | - | `'rgba(0, 0, 0, 0.1)'` -| [`borderDash`](#line-styling) | `number[]` | - | - | `[]` -| [`borderDashOffset`](#line-styling) | `number` | - | - | `0.0` -| [`borderJoinStyle`](#line-styling) | `string` | - | - | `'miter'` -| [`borderWidth`](#line-styling) | `number` | - | - | `3` -| [`cubicInterpolationMode`](#cubicinterpolationmode) | `string` | - | - | `''` -| [`fill`](#line-styling) | boolean|string | - | - | `true` +| [`backgroundColor`](#line-styling) | [`Color`](../general/colors.md) | Yes | - | `'rgba(0, 0, 0, 0.1)'` +| [`borderCapStyle`](#line-styling) | `string` | Yes | - | `'butt'` +| [`borderColor`](#line-styling) | [`Color`](../general/colors.md) | Yes | - | `'rgba(0, 0, 0, 0.1)'` +| [`borderDash`](#line-styling) | `number[]` | Yes | - | `[]` +| [`borderDashOffset`](#line-styling) | `number` | Yes | - | `0.0` +| [`borderJoinStyle`](#line-styling) | `string` | Yes | - | `'miter'` +| [`borderWidth`](#line-styling) | `number` | Yes | - | `3` +| [`cubicInterpolationMode`](#cubicinterpolationmode) | `string` | Yes | - | `''` +| [`fill`](#line-styling) | boolean|string | Yes | - | `true` | [`label`](#general) | `string` | - | - | `''` | [`lineTension`](#line-styling) | `number` | - | - | `0.4` | [`pointBackgroundColor`](#point-styling) | `Color` | Yes | Yes | `'rgba(0, 0, 0, 0.1)'` diff --git a/samples/scriptable/line.html b/samples/scriptable/line.html index eb5a940d79d..880f0e6fb49 100644 --- a/samples/scriptable/line.html +++ b/samples/scriptable/line.html @@ -26,14 +26,17 @@ utils.srand(110); + function getLineColor(ctx) { + return utils.color(ctx.datasetIndex); + } + function alternatePointStyles(ctx) { var index = ctx.dataIndex; return index % 2 === 0 ? 'circle' : 'rect'; } function makeHalfAsOpaque(ctx) { - var c = ctx.dataset.backgroundColor; - return utils.transparentize(c); + return utils.transparentize(getLineColor(ctx)); } function adjustRadiusBasedOnData(ctx) { @@ -56,9 +59,7 @@ var data = { labels: utils.months({count: DATA_COUNT}), datasets: [{ - data: generateData(), - backgroundColor: '#4dc9f6', - borderColor: '#4dc9f6', + data: generateData() }] }; @@ -68,8 +69,11 @@ elements: { line: { fill: false, + backgroundColor: getLineColor, + borderColor: getLineColor, }, point: { + backgroundColor: getLineColor, hoverBackgroundColor: makeHalfAsOpaque, radius: adjustRadiusBasedOnData, pointStyle: alternatePointStyles, @@ -87,12 +91,8 @@ // eslint-disable-next-line no-unused-vars function addDataset() { - var newColor = utils.color(chart.data.datasets.length); - chart.data.datasets.push({ - data: generateData(), - backgroundColor: newColor, - borderColor: newColor + data: generateData() }); chart.update(); } diff --git a/src/controllers/controller.line.js b/src/controllers/controller.line.js index 49665e2299a..8bc14c3decd 100644 --- a/src/controllers/controller.line.js +++ b/src/controllers/controller.line.js @@ -179,23 +179,31 @@ module.exports = DatasetController.extend({ _resolveLineOptions: function(element) { var me = this; var chart = me.chart; - var dataset = chart.data.datasets[me.index]; + var datasetIndex = me.index; + var dataset = chart.data.datasets[datasetIndex]; var custom = element.custom || {}; var options = chart.options; var elementOptions = options.elements.line; var values = {}; var i, ilen, key; + // Scriptable options + var context = { + chart: chart, + dataset: dataset, + datasetIndex: datasetIndex + }; + var keys = [ 'backgroundColor', - 'borderWidth', - 'borderColor', 'borderCapStyle', + 'borderColor', 'borderDash', 'borderDashOffset', 'borderJoinStyle', - 'fill', - 'cubicInterpolationMode' + 'borderWidth', + 'cubicInterpolationMode', + 'fill' ]; for (i = 0, ilen = keys.length; i < ilen; ++i) { @@ -204,7 +212,7 @@ module.exports = DatasetController.extend({ custom[key], dataset[key], elementOptions[key] - ]); + ], context); } // The default behavior of lines is to break at null values, according diff --git a/test/fixtures/controller.line/backgroundColor/scriptable.js b/test/fixtures/controller.line/backgroundColor/scriptable.js index 6ede2cb0c15..2171e6696b9 100644 --- a/test/fixtures/controller.line/backgroundColor/scriptable.js +++ b/test/fixtures/controller.line/backgroundColor/scriptable.js @@ -6,18 +6,17 @@ module.exports = { datasets: [ { // option in dataset - data: [0, 5, 10, null, -10, -5], - pointBackgroundColor: function(ctx) { - var value = ctx.dataset.data[ctx.dataIndex] || 0; - return value > 8 ? '#ff0000' - : value > 0 ? '#00ff00' - : value > -8 ? '#0000ff' + data: [4, 5, 10, null, -10, -5], + backgroundColor: function(ctx) { + var index = (ctx.dataIndex === undefined ? ctx.datasetIndex : ctx.dataIndex); + return index === 0 ? '#ff0000' + : index === 1 ? '#00ff00' : '#ff00ff'; } }, { // option in element (fallback) - data: [4, -5, -10, null, 10, 5], + data: [-4, -5, -10, null, 10, 5], } ] }, @@ -26,19 +25,21 @@ module.exports = { title: false, elements: { line: { - fill: false, + backgroundColor: function(ctx) { + var index = (ctx.dataIndex === undefined ? ctx.datasetIndex : ctx.dataIndex); + return index === 0 ? '#ff0000' + : index === 1 ? '#00ff00' + : '#ff00ff'; + } }, point: { - backgroundColor: function(ctx) { - var value = ctx.dataset.data[ctx.dataIndex] || 0; - return value > 8 ? '#ff00ff' - : value > 0 ? '#0000ff' - : value > -8 ? '#ff0000' - : '#00ff00'; - }, - radius: 10, + backgroundColor: '#0000ff', + radius: 10 } }, + layout: { + padding: 32 + }, scales: { xAxes: [{display: false}], yAxes: [ diff --git a/test/fixtures/controller.line/backgroundColor/scriptable.png b/test/fixtures/controller.line/backgroundColor/scriptable.png index c366b6cfadfc7c83395b015d927cb639a60068b0..00f11aa55b09237184a89f898a07250210826a57 100644 GIT binary patch literal 13867 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 literal 5213 zcmXX~cR&+M6Ti@f(4_ZvNE0c7G$Ek03rGnd&q5PH1!>ZI=%6$Y6#Zx_0f~s_NfkkY zpwf%do**TFD2OyEk@j79@2}grot^#7?9A?OH_gV%jGa}O6#xKs$lMqQ0CY$b1+Xw7 zpZD3l*8qSQgp7^s!wQzZ_V_ss#iXpxZ!5> zrbJIfId6TL|2ZF6&DW9E+`k0tdfX=FiLa^N zPW^JLM>SAXKG8Riu=~%gml=%Ykrjh}i3VHTQ%m*mu%vsnLHiZY`Pl#n`?dXacWueK zOVW3{Fxj94f|c%vzn}gJc&W@tW>p#hb5hRMK{zX?#dMDDSHK=M$>Yy=tM4@AbwOQAJX;e~Ye0`m3ml)}MoKxuQouUYu_Z z+54%q?R2v6AZvB}VBnE5jN3fs_p7;QX|ac6ueoO|#r!Sv7LUMOwA7d^QH!1K4HPq# zPJapiPJraj-&=XApZd~J!)N|w!5{tRgZ1!l*MxuU=3Q_uxVq-(jk&_J`uX6`)~o?V z+6lgRUb5(#s2tU(Dt}F9r=@Rt`{;3l=L4&l)RA55J-NngUpvB0otCuKuFD3¯v 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 NUCThTOal}3e*li#D0Kh; literal 5160 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 literal 0 HcmV?d00001 diff --git a/test/fixtures/controller.line/borderCapStyle/value.js b/test/fixtures/controller.line/borderCapStyle/value.js new file mode 100644 index 00000000000..d428462467f --- /dev/null +++ b/test/fixtures/controller.line/borderCapStyle/value.js @@ -0,0 +1,52 @@ +module.exports = { + config: { + type: 'line', + data: { + labels: [0, 1, 2, 3], + datasets: [ + { + // option in dataset + data: [null, 3, 3], + borderCapStyle: 'round', + }, + { + // option in dataset + data: [null, 2, 2], + borderCapStyle: 'square', + }, + { + // option in element (fallback) + data: [null, 1, 1], + } + ] + }, + options: { + legend: false, + title: false, + elements: { + line: { + borderCapStyle: 'butt', + borderColor: '#00ff00', + borderWidth: 32, + fill: false, + }, + point: { + radius: 10, + } + }, + layout: { + padding: 32 + }, + scales: { + xAxes: [{display: false}], + yAxes: [{display: false}] + } + } + }, + options: { + canvas: { + height: 256, + width: 512 + } + } +}; diff --git a/test/fixtures/controller.line/borderCapStyle/value.png b/test/fixtures/controller.line/borderCapStyle/value.png new file mode 100644 index 0000000000000000000000000000000000000000..20f3116bb32e90d0a8efa8fc0fede41b324dd54d GIT binary patch literal 6586 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 fx# 8 ? '#ff0000' - : value > 0 ? '#00ff00' - : value > -8 ? '#0000ff' - : '#ff00ff'; + data: [4, 5, 10, null, -10, -5], + borderColor: function(ctx) { + var index = (ctx.dataIndex === undefined ? ctx.datasetIndex : ctx.dataIndex); + return index === 0 ? '#ff0000' + : index === 1 ? '#00ff00' + : '#0000ff'; } }, { // option in element (fallback) - data: [4, -5, -10, null, 10, 5], + data: [-4, -5, -10, null, 10, 5] } ] }, @@ -26,19 +25,24 @@ module.exports = { title: false, elements: { line: { - fill: false, - }, - point: { borderColor: function(ctx) { - var value = ctx.dataset.data[ctx.dataIndex] || 0; - return value > 8 ? '#ff00ff' - : value > 0 ? '#0000ff' - : value > -8 ? '#ff0000' - : '#00ff00'; + var index = (ctx.dataIndex === undefined ? ctx.datasetIndex : ctx.dataIndex); + return index === 0 ? '#ff0000' + : index === 1 ? '#00ff00' + : '#0000ff'; }, - radius: 10, + borderWidth: 10, + fill: false + }, + point: { + borderColor: '#ff0000', + borderWidth: 10, + radius: 16 } }, + layout: { + padding: 32 + }, scales: { xAxes: [{display: false}], yAxes: [ diff --git a/test/fixtures/controller.line/borderColor/scriptable.png b/test/fixtures/controller.line/borderColor/scriptable.png index 6366828ecfc5316b9953dff892bf64e15fbcb224..5df5acb7f76428fcab4b50a3f93b1103d939742a 100644 GIT binary patch literal 19662 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 diff --git a/test/fixtures/controller.line/borderColor/value.js b/test/fixtures/controller.line/borderColor/value.js index 84e4d6adfb9..2b43635490c 100644 --- a/test/fixtures/controller.line/borderColor/value.js +++ b/test/fixtures/controller.line/borderColor/value.js @@ -7,7 +7,7 @@ module.exports = { { // option in dataset data: [0, 5, 10, null, -10, -5], - pointBorderColor: '#ff0000' + borderColor: '#ff0000' }, { // option in element (fallback) @@ -20,13 +20,17 @@ module.exports = { title: false, elements: { line: { + borderColor: '#0000ff', fill: false, }, point: { - borderColor: '#00ff00', + borderColor: '#0000ff', radius: 10, } }, + layout: { + padding: 32 + }, scales: { xAxes: [{display: false}], yAxes: [{display: false}] diff --git a/test/fixtures/controller.line/borderColor/value.png b/test/fixtures/controller.line/borderColor/value.png index 6bfde92f541608c606a5ea1b4988de691a6827e3..53a2dafb048709b15477e15478f6d16daefb1f9f 100644 GIT binary patch literal 14015 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 E01+qrh5!Hn literal 0 HcmV?d00001 diff --git a/test/fixtures/controller.line/borderDash/value.js b/test/fixtures/controller.line/borderDash/value.js new file mode 100644 index 00000000000..3e6404f0d49 --- /dev/null +++ b/test/fixtures/controller.line/borderDash/value.js @@ -0,0 +1,47 @@ +module.exports = { + config: { + type: 'line', + data: { + labels: [0, 1, 2, 3, 4, 5], + datasets: [ + { + // option in dataset + data: [0, 5, 10, null, -10, -5], + borderColor: '#ff0000', + borderDash: [5] + }, + { + // option in element (fallback) + data: [4, -5, -10, null, 10, 5], + } + ] + }, + options: { + legend: false, + title: false, + elements: { + line: { + borderColor: '#00ff00', + borderDash: [10], + fill: false, + }, + point: { + radius: 10, + } + }, + layout: { + padding: 32 + }, + scales: { + xAxes: [{display: false}], + yAxes: [{display: false}] + } + } + }, + options: { + canvas: { + height: 256, + width: 512 + } + } +}; diff --git a/test/fixtures/controller.line/borderDash/value.png b/test/fixtures/controller.line/borderDash/value.png new file mode 100644 index 0000000000000000000000000000000000000000..0704b19bf8b491d29cc583dea760565f6aa132ea GIT binary patch literal 12670 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
    mrtV!EYx2r?uUy}%>HUe>Jkxm^;!x%<@u=<5 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 literal 0 HcmV?d00001 diff --git a/test/fixtures/controller.line/borderJoinStyle/value.js b/test/fixtures/controller.line/borderJoinStyle/value.js new file mode 100644 index 00000000000..784800c5994 --- /dev/null +++ b/test/fixtures/controller.line/borderJoinStyle/value.js @@ -0,0 +1,52 @@ +module.exports = { + config: { + type: 'line', + data: { + labels: [0, 1, 2], + datasets: [ + { + // option in dataset + data: [6, 18, 6], + borderColor: '#ff0000', + borderJoinStyle: 'round', + }, + { + // option in element (fallback) + data: [2, 14, 2], + borderColor: '#0000ff', + borderJoinStyle: 'bevel', + }, + { + // option in element (fallback) + data: [-2, 10, -2] + } + ] + }, + options: { + legend: false, + title: false, + elements: { + line: { + borderColor: '#00ff00', + borderJoinStyle: 'miter', + borderWidth: 25, + fill: false, + tension: 0 + } + }, + layout: { + padding: 32 + }, + scales: { + xAxes: [{display: false}], + yAxes: [{display: false}] + } + } + }, + options: { + canvas: { + height: 256, + width: 512 + } + } +}; diff --git a/test/fixtures/controller.line/borderJoinStyle/value.png b/test/fixtures/controller.line/borderJoinStyle/value.png new file mode 100644 index 0000000000000000000000000000000000000000..2ce1bfdae2eb123d985fde305e746ab1c993af53 GIT binary patch literal 16247 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 ZCYo2MsV6?lj|0FTuwnatr6Tgh{{iHPC_exI literal 0 HcmV?d00001 diff --git a/test/fixtures/controller.line/borderWidth/scriptable.js b/test/fixtures/controller.line/borderWidth/scriptable.js index a40ac1cb0a4..34d736a191f 100644 --- a/test/fixtures/controller.line/borderWidth/scriptable.js +++ b/test/fixtures/controller.line/borderWidth/scriptable.js @@ -6,18 +6,17 @@ module.exports = { datasets: [ { // option in dataset - data: [0, 5, 10, null, -10, -5], - pointBorderColor: '#0000ff', - pointBorderWidth: function(ctx) { - var value = ctx.dataset.data[ctx.dataIndex] || 0; - return value > 4 ? 10 - : value > -4 ? 5 - : 2; - } + data: [4, 5, 10, null, -10, -5], + borderColor: '#0000ff', + borderWidth: function(ctx) { + var index = (ctx.dataIndex === undefined ? ctx.datasetIndex : ctx.dataIndex); + return index % 2 ? 10 : 20; + }, + pointBorderColor: '#00ff00' }, { // option in element (fallback) - data: [4, -5, -10, null, 10, 5], + data: [-4, -5, -10, null, 10, 5], } ] }, @@ -26,19 +25,22 @@ module.exports = { title: false, elements: { line: { - fill: false, - }, - point: { borderColor: '#ff0000', borderWidth: function(ctx) { - var value = ctx.dataset.data[ctx.dataIndex] || 0; - return value > 4 ? 2 - : value > -4 ? 5 - : 10; + var index = (ctx.dataIndex === undefined ? ctx.datasetIndex : ctx.dataIndex); + return index % 2 ? 10 : 20; }, - radius: 10, + fill: false, + }, + point: { + borderColor: '#00ff00', + borderWidth: 5, + radius: 10 } }, + layout: { + padding: 32 + }, scales: { xAxes: [{display: false}], yAxes: [ diff --git a/test/fixtures/controller.line/borderWidth/scriptable.png b/test/fixtures/controller.line/borderWidth/scriptable.png index 7bb6b1b3c779607db82bf4d1a8825986a0c64559..ab54b5a99a3bfbb4c63865663019dd4e95e113d5 100644 GIT binary patch literal 15115 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 Xx0H3^E?3}?D@avQOQHO}W$^z2<6PrL literal 11687 zcmZ9yc|6qL7eD@*mlZfY84% z0Lcvfd6U-R4ggrd+(`dK@Y$IhRE6Zpo5l51St|1{Wc8BprJq6T;W86NY>GwptPCOjmw`jT*Y$l!paF8Q;xCw84&m|B{%mZZGbl4;qDXl(g$V= z=9)P~dh%h+#; zPtZs*qke@S3uYz_%CBzpm4;fmtHZxe$@75p;>xtwELLZ_o-K%=gq@}u)bst(WM<1J zh7+-bz4hd;ZIL6^d5z1t%p>jFXX*FaI%|Vr*%4fYFV07t3FA(G$@`z!e{3U71LjFR ze^`r@7w#%Xe07oWwlclnW1N(m_qc$b{(`7Lzl+NLe^{)u5<5ZbN2Im`r5m>?!5g!s zO^3+V_mB%$eWvQU)5T2@i0boPD7M=KbQ1ZDZ(OQ3YWrxZIxA(3HaUCGpYGQgtqiQd zreuohU!ak)fIQiY=dxtlYfgM+aObTpy{ct4{EU0)82{XAopZrAeeM>Nv0@q@%Ins!Or0gRIw(^)kL(>s=gRuf0}jDP_2~z=RiYRU6Jfa~=>;A92vFrxO^E<2H9@P> zocnTbuAKvCFaAAJJS-`oPP(Pa;b6)92*__U>bYitY`(&2J<1{TC~FYuSXI^QH&;7#sd^4uL4QVAJs?`W5X-TvGKFW8gF#X{+Peq_Iguue&(Kg zu!<47KZf=MB+ge|5~_iT*!jk5et)Z440wDvp_wKO`f+Lqr&gDU4X{r=;CwCg-@DbV|#vH?FWnlYZ{&BW>8`NSN#gvWBk1n5-VeQyr<#KDTK|JhX4>w zh7l^RI`G&l^gB#*7(G|@KU6LHDPevkoH~B_wK!9XR!0ftoQvm)3|bY&%-M-3N;jt& zUKp579lu+~%5TRK3D3@=y%Ux$W0lQ& zmG@I{e?kuVHXBiu3pb86>kuNGu@$5ENn@P0%KX(!Sfi|>nC$s>CFAYNB3CdA%Oih3$iX-?f#E1FfWkV@kY{rmLWMhbIxb z8g4n(O-JV}X$2H-bh2!vlrr3kESbWsiZUb4!QC!#PY;iU&WQ+h@8ts?YWgqNWYO5H zBFbNx-0%_o(?&rGSMbb@A31UwwaKw6IOl3seF=`&=T0M-!vna5G4===nc&dgh2$m8 z3posV*@N7&sbs6D@^b~i9VvpSs61s~_GVn4wa{%c{GAwXfE8Lq1SCZeVL~V)v6{2Lme@t4RPuevm*$pG(}xiP=53N z{g=+DWL{VfoYm?!NX5z~v0o!wMHm|THgOAF0N0T}kK}^HN8f^eXw7nxe&qGQET|{I z*MtvbJDAO6U-`T)sw(!I3|=&Y41Xd?=NjR)=LNPZz9f>Zv@d6}Z-`UexaL+4e+!cb zGGEY4LsaD#kKWVSP@;SkqjR_(vO|+Uo~p2%dFmcunRBW|igJZVAXHQWL8#l~@i|m| zS&wX)OKg#$Wbz11?ZF@j?RM^lHDmmz4Q0MMn-h&t$v?RsfkY#_sf0jBnQX2ce9eB! z0W2=CJ{R)F(r2Cro6Ao0s5$$pOJXS_@V9R9$6z*LN9~{Mfv(|izlt8rO((-I5~zQ4 zEzsn>h0mFT?*Gvvu;0^)mxiGT51oj-fYP6X$mDi@2f?|*;~;mw2*qTdvpjI|Wrs<% zp|?zC?3ssEoc3&m!V@2RLm(Vvqf~#dWP!x&+Y7{&*Gi>axV(pb8^)xUBGv=9)kb6e9c3SB!dwrKuVPCQUxVue>?&_`qB#nwI#NhZ1yWT zLJNCMh>x7eya2o7H9q#d1CB(#KTxPLqxQm0=8-30UDL)I;~%e`c~q#+RG|y~UIsV$ zz48#GmU;TonS{(^wMb}NSr{au8z@n3_zWP)jd2M~s1(;Wti6Im>Pbg_88o$k*?jt- z{;01{nI1<96o9~~g8H(Kuz+=aFjntBdhG-MS1*>y1@1I5TpnxlUg89TfKbshuuRV8 zd546@ESEOA5|! z)(}}5;{498D0kno;08n;OPNG1Ry1Wb#?e?DUb}vnnJxyY>1~JA0VPD`{*qTxV@xi|!&_j6NB z%l2i0SLbc73AHpYmPFsbQW=$3c1)lqj%za~$=HW-g?WnfTt;lJDF!dSrz;QqJqg^< zjh@&byB_xaMPXi!9<4?9m&@&Z!!4jo>9&eeZxnhN6ZE)r(0z+Ws$i>yx`=o%Ft(nY+$}^~vO>`ljm1qe6 zaI|{#xg`zjL8b^L2qy%v9h=rTMeZDAO*#~1S3;iS@o=05zw_zB{&1qn$Huh7VI((- z^sR=c*3owHC4{_oCUG~K!(3fnLwSm_jU8`@q~teVMNbAexjm2+-q)T9R>4CY-R_53aRK;u5qgl9a`u6I~Si_Uq-}35yCK(~VZlXoC@L#;<;uV~d zdTqYnxObr|3Cf)o^4n65y{*lmlzqYLIEoy&774J(%q>VaJPlNwC@?Vl`SPw({KK<= zXti!l!K=Q*3l#Ur4Yr=OFPqiU7TSB$_5N?o!-NBPgkSQ7J#m6zI^UdXT;RdK6!Vhb zXHu;)*Y9#osg7B9-eHw?((~5##P7M$&th`v#<&#Lukq)uQ90kNJO6{~Nl-4vaBa-4 zVaYl!Z|h*qyn1)ATOZ8hcB*oEIQQyAJ}Br@{~49~Au8OS<7GCR-D$x6EFxZyzfuP{ zgs-449G#v@6aHivl4QYvtReDT@3xD2NVFqe?@)ZIrFzBa3Td^T#=%O=LlkK@T)$Y_ z@52&kMSmNIdqxttfL}4*`}Wy1Us|^9N!LmV227X4(;E9Pg#RhowC-_#rVV`jQN>)< z_jG!rbm8;xsK#8HT--v&BPmS9J)~kk$Jc8Mt5&mH_b!g#Cw>3b!=K)*K?x21`e0Y{ z0C+(m?#OiC>??5Vl9F&BCMJ4YGD{K|$uJ~tT_C-?VuZV^=2Z_rqIx`xa&9eib`|Hv z%RxEc|6WX^ZrY^Ki4o@}EwQofl*8o`;}<@|O8knZWqTI?l8%BxLF|7vP}5Gc&fgvc z`6Y8tKR1hr{}8Y8n$`cMa#_%Deh66uu#oiX-Vw$mfzUUvR|E8jRo8*VwX90jg8Vs% zdIwh)s!pZCFik|PqeN>zH_|J+Q1FaLOxlgU?(PYJZ^@%UpTQoNqta~51Bq1^N@XNZ z(Wv@%zTu1m;;zCE=FwVZh0LR*V{hl$0?h=whM%66=Wb=4v$mi|ns6Dlg{RoR7qaAP zoBfR({&rC-TzoECQF?(|&BG;}3$_ihoV>sEU%YvQ>Ak?2>=;f9}9G`RRM@kG+~Dw%^TmmO-a4WYj4t>u2s@mM>`Yd)FLGG|9C$G(y%q2?am z!2%hsiHZSw%5M7HQhROW6TRXKmdqF|cbtn0jdhJv_n&u^7@8kZO!%aV|FmD+$=}Fx zGQ&=iMH7YRPEV}u$Yg{EGwL2t3o|Shpz4uYcp3iy(vp1y!ZETm-SRYLR*5ESpKBnda`oX?icWndTzNd)7 zk{0J@Q%kMQcaBFp2mXoWxBKj(P~+|AQ|IMmKN~-HTaG-FM(cJ(UaFfetk*i@8=o;G zaLliD*H-E9J}dHY-M+Ka&Sl|stGRQ(+Ub^O9#$U^OkU`dZ9s1)(0M@W=O=#iLXYqF z+U+J2J22-ZAWpLMGG6cw{scRoyAY{#VL(cF&(!BO-_vt=tKDrU!5k2~75X`8*f=#> zBBPiL>s?!R<-Q|+W+tB_vM++OwXMYOv~b#P(2b!%mf`yqfeZ{r*M`D2`&C^xNZ_n@ zYgL|*iMdq-d)}`(MkpkXBAcb=3&t8HElbv`6;2^I3n`3tpu-dnBnuZ1Rk?b z*;-R8O?sVib!U4{cSh!HnuKxnhwo}Uhn5V|b*nZX&b@m$d`q!#W>NrFr+)IiOu&4> z&x)SiKqQ+*3jm3Nr0IR6Pj50xSO#_d6Z)UmXqB#Co);3ZP=IP-sBAbY*|i_=LA+)b zzD;BAC2u_r*TEh3;yJ&b9IPH-q`Af(j-KAx2t$3L5Rl}`Z`*aWk_@%y-?*GIuXE!E zGn;HbYI2XiyJQzX{Go>>XY-<-ai9$YtIxzSPQQ&68;9bM$oN;Kt%N;Vu!ls=wQG%v zy{3$VZK=8bQvGWT$E zZuMQOh|5`A8@qw+g?Lv1kkH}Vb5jTB!`xg%(YymK-$88bB%PhAvMUux(0_B3;J!?o zW3fLl`q3m(+%tFLO1w7LA?4lJDAQE}ysi?& zn8L1`RP_hUPdPU#$}{BS7JyR@A_$AVDny^JAFBjOtfkK${(vy$!e3;#D@K8i^@3r-6P4E>e%^0# zSLZp!x_SdQw?%00&T9IeVt@*YlIs#Su|UGTSY;ajU032Xy4f)Tk9b=~*bJ&&^JM51 zB6h-viiTmFR-xdV0{(LUadrPz*1=pd2KFyZ?%Wn+9f1I?wKuOK;cJOiz|Tcig~d;x39VsZxZ$sry1a#+T94H}Cvp_#pud=T7imDRSsExiMJ45zkUzqj1>Cc4;P$_Qdpj$CW>E zuWLIGxnDVwN8_eCJZ7N9jG9G=2RtGdi%gsRttc9t6Y{m_h(E!>BR{2{Om)k3sr`d# zKAFY~Vt@YE6s+oIsXxffz7eT|#{5Oc7OkZa#hT?PiBv<;s2=+st_{qrLsC*``^Ix5E(VEB%BmMQH zi;0f!ZE!I=v~MI|+=(#F9An%^Hxm`MO8TFd>0s`d0NHgq+S}U1oZ{+^s7L*BrSZSq z&Zw>n=|}x?Q!DylMCkQHxefR!Fcb!*qD07G^lZ}xm=k2ydk-Fl8q61naT2X==~juz zkxm5)<3@dYYj;H_1|S#H*b+(%FPT}!@oVvLNnqDS1A~_HqzB4{{-N;-kL(?eJD%hL zu~$VVO{da~ab7`k*`TZX|C|{cPXI3ruC2Ax_NAS6GRzb@ACmmg^FRs-%~lWm&#eWK zqbTxWG7}cXWn;&hN2@G%`Hn<#VbtMJ*KpTAo`~UcfP|t&S4yh>u@&`667%QwADJ8tB=k;p2x4HVwyN%XMH2s=Q62mt4n$eFcaV{Ryc$d+apZq>r+^mtLlST) zybk4FrY7+g{RDEYSAy$HS>aN~r>eO$Jc@j$UE?k?!86KPn&aZu-k_LWM?z5icmN8m zS$|8GVHR2skANu*lQ9TYKk3ZI^Zx~E96$W+NuYT&(228_$NnIH`ETrQSul-CE(a3Y zQnC6A&rf1H$VrsPuJ!Wp9akZM*JN;`A(AZM;2dQLkMSqk zPs3x7_P^)<0b2DY8KkO}`|T%vR^lQ#23nRr^`EU`cpfnsB@67kvx$L~@pN(U@_qyj z;Q|MPlOqYj)euq26K)&e$h}@9FRwUui-VO56T&2Zk@`VQg^pTfC~NuWfZ_wwE~#O}+<^s@&WfwbgTOve(wG=&1zEceh}Ft1yQiO7QitaEns z7TOx>^nq0+$A=6?$wH7qHB|ONu4P5YntkRagWWpoEho$t#vM%J9HRNLrj&EuPW6m6Mx&k%kn&IMG z|9N#Q@{ym`4AZa{^M{${2S7gY`lJ2vw8Iqd!(PAZDPz)@t$+1dvJOR6_(LQx{l%bc z#G-1-pla8pq!RfM5co8@r*11q zB`o0Z>WQfjajnull~u)lGN)>{rAU)u!6uYp;Y?aD;@zp;8_Ql}?6pnY6zzV0L+|mK z?asF6?ZuZ^sLhGi!#p&{`OGT8l%eN0`EZKGtbuOa$&ocI_Mf7GU_a2Q-Sb-~!{MnH z;Gd+5ZnwDxQ65U{Pdqot6v=6JV%-sP?s_|#u~(D z98DOpDU*P`HZa=RbhWz4RDe!PmhOI06 zzQbfgJ{?D{UXLr24>bn!PIlj!VPsIkeq{4X$air^K)sfuG6lD&FdW?({cuE+IA%pN zisu8QIvx8gV4E#UV@b~)>g0}b$f(3d$QPWS+GXj?g>3mVC-^>lGtfbZKZj{bo8NX5 z(V@e}adq~-`4cD*R3BSqn_EX`UI_v7?7C7ccN6y=o)yIe5q9rM9)~Ci!a|N)VqhPC|7KEu!w>8=Ig%wG@;2cDf4lGEl|)win}>J1#uv~Fzh zr9=jv;I-41mg33umeAepL>NkS4Uei%)Px$}Qg{3Lq3*DR)(nNFyVE&r6(L_8Q;E$X zFOZ8^x&nk1v=t~--(H#DuJ&~2O@4EKw|_RyJ$`9EOTg@0(lzz1*Qw#qv!gvm&grzej#O{-+9l~qGIH-po;wX~zT!u}Pu}?R zH{b}Yi}M9cC&L)6{p4m%$frFk0sD=v(4huk1AOG&&OsGE&rS;zKzioH=Teo=SpMM^CLio;or~B*C0T$ow z9T!R#pq$cNThetv5N1D^%p^`^n~st76rx z_r&`NV^SoIQ}{CV8;|ZFDW8*aEN62*?kUhJ@ujd+LMC99IlwgK>Hs-$F>TkmhV~?P+vhCG`tLPxdn0QS`E{c>1R*C8h9t!!?;X(Y#M)*a|l0$ z-Wvr#!ysr^9Aj7bzNABeOq$s&?tAQ#Hiu>E zwL5lbL=1MwK}zwjYrff#AUF3^H5HususV! zl>ClXT#cy95Pkpq5dG1y0l13{F&yi|Ua?;sRq4xm$Bw23wfj`>(pvFrKP`8(o0e;B zOw@G0-Ge~NH1zN>3PjaJ!p6#AW3m1)?&l564_a@GDWL37-d`;mktf9E9V z4KM_5@~KUkGoC?aj~GTz__`go@~x)#sb8}Bkp!-*x1c-pB=r6c;ejX*8G9{68UEzb zRa7oHK@_uwNEYp4wR{g@t4R_!4@o`83xvdM*4lxe*H{E>tL)NmLG7wIed>Y#Z_NoD z7R89gO3aY*-uOYc;O1gRy+c)kn<%9Zc{RuZZilL?)DTqGbLB4#L7=}!SnpA^dcGbZLH@I$U)Nr|aZ<6x1)Lj8w3xQ9?S%}+1no<@3 z8QOxus3e`RnfA83;dgTMS&_m^{9cDas9y?^Sry*DZ-ssiP5!00D1GhRv*hRluSpoT zZ6JeP?LwtU($2g~PR3BqSv?<^9dM(3uJAGrE1@L`Jq5HHf`wsNc;4)e`|#t z&fN0@BUEDH@W3F0CctI(W6Z;eZeFqJQ3>}!Y@tu1Pj{_{9B#CBm;T&VGJ5hMAS+nf z{Vj@sM?t z&!OHlfKL!dll5&XQjTIVo^>;_RaXYKnFeb$YU`R|-(lK^D4vJCnx0AF&Vduqh+OZB z?>9?Fwe4$>#i!u8ufem+$es}Oo&a_G)gxvGY4PF6^p*45IvE*GlE2&f4+tEL{^)rY zhP&eLmg;Vbg$5FDch-I$zOEe0n%Am^tKt6|w%&r$_U^jr01e0KW5cCL7YmdNievpb zqsQV@rd5~A_S4yOW0#gcpu^DVLFeQew1Or^1oo###&)LIg3z@MWm9xX5?Sc4oUOyj zk)QuERAztKeRHZlT)OgaVa}z=^D}}msIB3AHA#sm!jQLC2@&RS?a#kgHC@j9Z5VZ%(UpTK)0Ty zcsmWCdzP-t&}w`?j0DC2T^7)yzAV#V1tU`aS*P>L-r5-svJqaMK8TzkAump0xKgo~05BRS!|M1&le|U+_=% zvyr~u12WfTBs#^VO;=8S4x>f$i<$^~VLmuzgRV0c^nB*vhEbfEe|E05lNOXaE2J diff --git a/test/fixtures/controller.line/borderWidth/value.js b/test/fixtures/controller.line/borderWidth/value.js index 291f422e527..68b16e52e06 100644 --- a/test/fixtures/controller.line/borderWidth/value.js +++ b/test/fixtures/controller.line/borderWidth/value.js @@ -7,8 +7,8 @@ module.exports = { { // option in dataset data: [0, 5, 10, null, -10, -5], - pointBorderColor: '#0000ff', - pointBorderWidth: 6 + borderColor: '#0000ff', + borderWidth: 6 }, { // option in element (fallback) @@ -21,14 +21,17 @@ module.exports = { title: false, elements: { line: { + borderColor: '#00ff00', + borderWidth: 3, fill: false, }, point: { - borderColor: '#00ff00', - borderWidth: 3, radius: 10, } }, + layout: { + padding: 32 + }, scales: { xAxes: [{display: false}], yAxes: [{display: false}] diff --git a/test/fixtures/controller.line/borderWidth/value.png b/test/fixtures/controller.line/borderWidth/value.png index 0b8f38c1d62bd16f190a519710df3009cc801d0d..715ea7200e2cf2ba7b45d3b47b0ce8d237439215 100644 GIT binary patch literal 14299 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 F{twWWuS);` literal 6145 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�+xR?+fc94B2pM@Ja^!qI`CfMBVOIw{sXTtF6J#rbqdf-`2HzS*kdlHB0i2FRl+k&SEBaaJk%w=+2lov=4IZS$M+; zsrIzQf3}w7^d;CzWaTc=+E{@+hcqN3uKk%l*VPSBHt&zubrJz@bPxLu!7=Se7FBUjYrL%`c!Luou&%QO4jmM-WS6eP&yR#_oKv45OP zwL2E02v&H;S7HP->JE#XEtXu`u+V_aHd7cA=HF;diP4};lA(InYb~&|dWV$U6=h6) zDX(+?Cks!FdApT>dD!lZ`pvTjAQM@RP**jTAK1-(N`v70S!MdY5!0uMo#hXL@?U31 z=AcBZ-}V&X0)_rsPs-)WpcfwG(?zkUqVOkI&$0=`PCntnT_}t4TDcP!g%01@7}b&n zx`wyQCYnCE13UjcWqpBRu|bzSXoCFdk$r+qSDvXY7c)7$Aogmg;;u7J-9?Pq9zU9- zQ29O6a&c9&SO*d!tq_o580{~YXW(V?I~8~%^dwuPf%jk|Dl`b&p7mUy|N48%-b6A| z?noTulX1&nKqJ6CZpLxijyGVtNPTsd6vY4bTg6S888#-sW5w6-$W+$qj>H8;Q^FMNZ3tIy-$-cP+h7;(x*Hwex%L0>44$ zv@4FF7k9_g`r?k`GwY^BqtH0BI?ky_11Ge@eqJDbTxBRMQ#4#p}} z@9ak>+u*$v_u9-=(0L=ZRvg#?Uy&sNGf7QI*a0igwrbYvG;0n8IhHDN(kAc6ui_@x z6x1+3It<8t(mHP08yE$;+t0;0wUaZ|Q;`sy`9(V7~*M(jv!{WA* zt;f|9tv{-;>|2;e1+hK%vtUwG>NVwa#+liY<_9>(GIgJi2Hnmj<9^BYk9vaKc+@sS zJ_{A}*%0L$t( zp=)16*dFBiAqR@FiuZ z4?Qy>6AxaJI1%O*Je5mzJ6tLhmK;2fRHst5w@xI}hwPb9Z>cxOO+5E(Gt1@Q@7QEZ z6v%s#Toe`n{r;gd0lapK$yYj5;K}erRbNGDi6%yxp99~YiN`fve*zx_3f0LQldL=U z43SA5_;cW%iw13?dMloC1r=C3ciofnK50h9lLxn}Oc)q9*AHBurES0E)?W!EUOS%? z5k#a2_{*67C{eQ=#v=-NF(zbnB)@gxyFe;OXQ{u z!F@4ySnVzL!t^NG_y5Eb@=<(X} zYEBuA&bZEZUPChr7I@2}Hptm_ll;;m-O@SzbfXHA_g8={a1UfT?&|xgHdawwcv#G0 zc2G2qP+$4W?#~-u!oQ6cQ$v$9bRwheB~9Kvxa+I4^m%;@zOU^_tvtS?vGLLg{`}rd zTCzso3)^@&W$5yJ~gpDF78`DIiK%W zj1K(TKF2cvs35h}+G}{fl%xdpTZ1B++8J`S#Or%61t+;I{VV5bVgG5}w zXx`cDYB9kl&3X71)6;0H(h06?JcySG=XalleWDV&(OIhJ5=w@eTNd)~@5WjddEeZv zXd-NtCpQ6d*BJ@h6zF`XOq{A!)08u8bEhzCo}M1n{1m3yZB3sv3KOn*CE6FO5M(Ly zeGV0tTJAtCb+~S_=ux3ARJarOR$?u)Mftm^pU7Th%$`TzeY@|y>KDJMwfpS8?Qva~ zjIhe;cAddby({VwhJQXloN+<~v=j=op;daOgGZQ?|y4=3=xt z6nfJW+I^&dV`atMoA@uK)IM(FHz%G=tuiM|k%?~j_QTSh^I^H0 z9ox>O^HFwWvpc~9X1SI+VavX~myy_W?68Xd?gXGm54kWzo}<@_s2gDO0MdUtg_dG| zCC(-l6wk3>)?-3&0gE%gkJ|htNl3GWsd{s!{9?eRyMTXmqX?gsdy*cuCyo^>F`d#Z z*%305iL|i*+40Pn2Oq@|RWK>5^#zao;4#$@%#qF`2^Qu`JiMg3&?bkVX$ZpMD;$+O(r-6Urkdq{kozimw2gn=kuj!*@H3O2KT;Zdm0afWc19=c&2>`@V1`9>r`8rPQmI*o=2iU!n>;hBec&+aG*LsmuG3|5W<=I3+?M z6F7_PFuE(J^m`o#J4I#MvVG!1O`prIf+oix`E-s*Q^wkIQ*zSXh+8w8HoC$nm`K-T z^JD$bzaBn5@~F})Ev}Wy*~eDG29PvG5{0vifhvg%qXb?KVdrZV^K6-Pv zC#6K3ucj5$_Av5}qDtGj!X?MctA!>g3Ib(>Fgo3t%AqJVLuI$)Zv?{aR&7Hh3}&fu zQ^Ih~+H@NGjj+*I^@hRMn@eZjQtY^}axr=>G@ovDy7fS{^40bVg$~D9kg8gjinWTs zRz*96ki%5czfIH>m0Q7JE`E;64{zpv=me?Ij%CshhRs|+fH_Vt#O6IxtrGnY849?h zoX^$o=kEQ0CRAzWjcyPF=ZA|P4N4^``J)m|OvbexTdnBxI&Rw>UGJ6uy3?`Z$ltM7 zJ&=wXIbUC{;Bj>sxSVOvarBn)!9Db*W~3&B=0m^J7U~cQYFg}MEWo-xy66Mb9%t*# z`aw4nmIZz{6$XRwX>OQcpktj|Ab>>wfJ4lXqT9l=+ zk1ZnTw2~T4?yiqkO}@J1y$r&Sv2QsZ!NlE<-}KN{^{gn^C|H&RkFnMunV^7QIV(=S zeOs_mNu{NL29EM~O}vE^OgvhK+lzA+8#)Z%%!x84m*~2E?&yMOoUiKI85f=^ML5T$ zJdr%)FqRtAn(Ms*^>8}m^VmlQ4)9cakuNlWU@E`(@sCe|K@vL`DzdaoL2D%OG$SUe zG^~MIJ+XXA{6sjG0zQ{}e8P3Jg>S^uTy|y>yLiKcbtSdlhY3Q;<9*Fk#`<^T+k5b& z9vwbm{fal_Fj751H!9oDt|Ip!uCrBK#X;YsedN9+zYUSWSfVo7_0~*XZ~)KUyVZVe z5>#vDBBcQZH2Qf&c>Q1;&p{j%!NXKXl~X*dbn|=QrWMingG$E%dk>~h@$u;HmoLn1 zZl3r{P}FZVOX>5DA#KG)Y|dJKpOL_Y?Y>GEfJlw&F=2D&^AWc=r_4xu5bBer&8(~O zt8?ve0FPg$ik^}SlD@=@MNDC#;O)&%na*76-vYqs}hcC-mUg42Oe9^WBTKd?guj*!=FaRS=S0J zGx@l9hsPwe_qfeTJ!1_YF|^Nbg-E@2f2$?YTJ_PsezF1*ES4m^EN#fEV+?TUISw|Z zII)cS=0B>~PURc;7DnaBo#3MX>8P^!Cp(?4UTEoNuV7x`s-7ocDVpK&00}bV3Ugto zgLzkH*JER2sFD^VKIf{Mx)~q8NN*=R$#ZcN=*eZFX4%d=4oT18Y^i$Rvsu|8LjtTH zkVBIMKU=2YTQ*zpBk+z4&?Dw?QC`)&aljg%x-s=m=Tp{$$(k*he0J3#RvMKZ#wjsl zhT8eL9^p{gTNMr&SJnasiKsZ%u3wA#sK}@(F1b`8M~jt#YL{v>cfJw+7a6L!8Aa(4 zn#g9?cpYPfo+)DUzPBsj&wc20TWIhptVgS-y0 z=6%E0B&r7O)^7|A^>;_J}rvpA>U}{bxCDe3|}3 zqzz*a(ZPJQ zeY;!*v(?Oq=ez*nx#ztDrfgl6YEFd6%0}^>w61`TgxeYnHukRWVISJsc*yp@$rZ#j zrSR7D=B`ZdyVLJ_OkX6f$dUQt4&(Pp4cr3?$NeP7rhW3V1wT3i>IydU9TV5BTJvrH1LuptGh_vDBO_Pv@Hd5EwB>-?xHumOG1 z2CybOX0UjG9jP-6Johkd zRmg1JkzdSy>U8y!)26}GXj=D4kRiV=)jP>`C1wA!MRnQbV(HTq2Ls0O1}VbK81At( zA)4S6-Ygz)<bBrb+bIZAY28lTB}m4&F4CRWCh!Or~5*!(Mep zB8O2{|91SEPIok-X0jK)9wms~&l9ODX*MdeQ@s4ii`DXzoBUu`jo;sb>=3N=yjgHJ zku^ufZA)40ia`fN_M-ATzR3ty@X4}?JyT%Fy1LelC%2tdZA!^G@-4)bL*I%`#Nl&_ z{nkDVyac4R72ty?$s8RN#*jG;&Ie}&<7KT!mi8WvPWxSY_8((VVKug`azdgE)AF1of%-N+w$SfIQEMSjH5C1Sn_ zw05S|#Z}$ETsITkIeDAr{)OBL30$tx)32?HSTbXJ%K9Y9Vn?KT(|c6+Whq;P5m}jz z8S$L+r3sQ%5i+o+T7S~R*M4(p$tyqL;j(W-1+QZFrdHv7`#aMreIK77 zgY9_anXyoT@mQ@ugaZmWeIh~d16J%8MN0OVpl=1r<_IWQs@G$$N+Xd|J9Z%X0UGpDxS2j#)mKVVugZdsGH#)zPc8p5n^$9AP*2p1qH8v{Y39Q6lk_DDSr(v{dZeXzMtOeXd&Rh1j`~sftNIY^}PC zdZJLetpYYs1->&=ORV6{2<_aK45jH1)wUGZ-AI@YU!~9aqI+%NkyI0{2H)~K?@sX7 z?=^7Ix_Ok=q%fVdeMu{QT9(L#$3-nZx9F6n1D?CxA8Mkb2en)Q!1$-aXXex72Ey7s zy?o8=4g3p8oi6C>1FAKMm>qKptUzTS0i6f!?JXmLRaBM5 z-WT-zV{N<}YbJ~O73QR!m=)guk7)nYu&0JQ&oj#lxMi%&d>6WNI~k=oWs~EAGMlkF zzai3>s=g;dc9ZN+810`g?K`z$OS@p^KIsgr}^eNT;6&;qWsyd!~ywuFx zS#`C#25YAi4%f3-8Lfbs*o;f z3QR`+Pnoe#nyX3rNb-yGWcs8b;}q2)r3H3igD1duJRh#|Nt{q~>}RL*27wC8whcuG zt^F)^GRx#K8;_;qM2YVbKd4olNMX8HcupG?xyB@MS~ymoaTO67gWNdYdL&86*Tyw` zpANcdOq}Dr?TdB~Nrd%9f-YWtwR(AMN?{a)&+JaKOAawGW{9i42=wc~R=(Q$>Ej8( z&e+iE)NbEVp{Wj^jmY3DDwBUq!WeK%#ha>LbyP@fhe+jfS@}DTVolK|wPEloAJXj37+yEw?N-Zetn*`#s?^Ja;NaJeuPHFH_P*)aWx7)^738IL%EyGANj8-KW zjq&3cE*j@~x>GJ3QcS+-Qiyf3-}nlW@<%EVMrAl}oSdUnWe>P?RBQggu5l*2>hzl5 zZM`)lZK+8*%uEwq{TgifAtv^54%4!l_G)b$d6e$!A+DkW1MXGY;2}KNjjCn+Rgyf@ zCLaDG5XI=+3KvxJhx6@i+NB|8V}kXtO!c6f5M;q?;b!FUg3UL58FFWbvskM<8tzP@ zTT`o?(fMtf7aqUZxxY5-QR((1CIBU8cznK`F?})<+*>r%zzY-(@=o%n7}a3!7%ce} ze!UqJ$iaulPT@i2$b;wq=XtI)APK@z6+j}Vaqw~Q+5s|w;R6vyZ*XBf1xccLx892l z>J_9ydA^r@IU)u$1c-MWrcv*tNe2AFimNY($+D>ik9@CRVK?$P@HiMRkKHp(&|vk_ z&{8Lj#E~+XiTILn!AKgUAZn~o-^A0k<+#xeMP!ICGx5?l^>L5I!u|Qx(AJoHK{s^3 z7-hb$qRI(`yT)r$N~i0kl))N*S}zeOPwA%5#~4+mKcsa6xo3X3s32ogZ%yskpg_U4 z6323Wp{GcxSH1t`j?0z1ir!|UWvyaTm^qD>ZmE&ImnL%&>(t2jE&d_uB+c>B3$1#6w|tT&Vl7Oxk^! z?1f_DeJ6A4e(;JNixV9DZ##xM? zLAaF$NmGaG3e{4#df^j}@wNC>2Ta)Dc#q)Oy(;5wDi7h0uZH#pGO`oHmTn;`98CtM z>X~p{*HuYG5ELLBn7V+X`l3jA-%k$~)qoPe?uu;vCVsnXeqJ2o);_PSyR)c(;k5~j z+X28Q3+k*b=qR&>6M`}u!tJw1TR4hjCF4x~NJl9Lg$vw|6pC$RGlS#Go#Ik7FQzXb zQV(GHH@a(iUnp_G!2C{N4g2yY_iclUQb^o zS?-j9>c-{=PxR~+)irtbq(b@sz{fc(i}PBVex8OV)HW_NAytwkYPv7gxq8xWU+Iw@ z4aYn|CFxjd4CjZ+2kw(om`Vz@x4QbwQ{Ejl(sC$oLO#{gME_Zn8|YF8u%301xZqC< zT39$C>okMOrC$p`7NR{6GnFbqTSN`6eRI6eb+R#$>i5D#?tAkN9)_1Hu9FnJ$)I09 z)VGq^#xcB}0YR7AfOVHES&cQKiZbd&kYX>(c{f^n&4Ll>!dIE z6STFam?M=2rubmGv4|04=wM}8GsIY1!U5E;nnR9LhtM7JW-G2;O)GJ@tg&AY-o+;~jgtLjTwR zXVo3VHY%8{jwaZOC_~(K-;j6APS0QBsxo{BZd!2VKcya;iGZ)Z%w>5w+U@ry2-M@} zW^13POf$i|ytgMRA#{zW+(Hb_Nl(F7|}Jayeo{8f1l!1RedDE8JA>t;(r?21nTb{k3bAGc;1ljV`cBGVZWJaygptpiC^@jUc>70 zrU$OH+emE^guTM?{Zr(h=|cboBl?ZmtvLA zI;awad{`VlBs+C1p2%k7T>XckkCq3O6$1iP#J&+bl@cz5S}IF6&dZBL!sWi-R3!A> z`l)`iCX9&Ip_*u2re#OtwYflC2DQHUnS?o6M<6b-f{zxVuM6mQxiU#2>btgpGR*zX zwb1^!?7v~l=p0&huN_z__-raGSo}H!j~o6EphC_n6%sU#b%n*4eA6Z;+r20;{LGXQ zAvXXa(6`ru5c22HQ~BI{R)bm~z(JEr>{$XZ12uvduonpo8rNc|RSh^w+x8kKBKkwk zbku2TR)7O@fkZtGGsO}s`XfRy=6b$q6=}Dn7}E6Yl(M9Si{SpJ0K@IiI78JZ_ACJO z05$KPpnf_AM8U+b>qgB|>P{Cj(C}z~sg66nTm|$Vfy%+>17f7I_oxv>5jBRuk}tOY zRmjgtlRVUktzpBJ1IM0&i#vuxyxkKt@Bq=_|LYO1V*_* z_}w2xCJ6CQJQ4MC`8WZgi9B-w-2CgXdv7^UIJ1{to3Wg3_6rCFj*Q_L6xIEgP`4%$ z$90Nwl9;bvlr>%}MvEnovdw~}o_!aqH8iON0e_fKE%!?A2xQTezkaRok7HNMA;o`2 zxJW<42PkqkC&S#ikf2?z1YB-dpFXG>x@8OZqX_^tZet2>U4>GS+@bKye7=?-H<0_9 z9E{n2SwbHYi@(^yAT=^)&@UVrVWBNjl0BIce~!zjp(8*D&;Vk`FDu?(`i%yNy{+OB z#IEbkjXGM%zK9%z5mwe9+Ms;7yq#Nj_VC{naDmg}zQ74HAhTN8@+ zEq*-%v;&lWwb1b#eAN$7K{*&(;%;KYW;cu1bLN`_mZ8-yVP?4_fAh)oi4HV@Jt}Cg zw3EwU#600cM&VVaR$^KQ`u5r{vnLa_JGUm;C_H9++tDn8(TsYI?=FnKfi>{v?^KiL z{`Fj?l&eLcn8aY!sQm-jM{19C=FBwAroPEt$RY+u7P@pHmXF(OD!j3&jV{e+mnp)l z{8WOPsq^096!HXJ>H|2-)duWC4s1$gRr{fMjE2qB4GV%GbqmA>o&?}vWqK(4+kKq^ zl9=UH8(_llzbv>+Y9kf=9O50Fhz0uapeteSgJDb1O+?DRexIvcZh5kEHTn9E3f}G) ztm0Cx?8w3wtTn>c{!fk?uBQ|}GgfelJo+6CH*nuf|Mm^Z$;iJu!Rffc8?+7&K$y$u zRnddr(DGo*3m>l}6iNPE*x#fcIWJIuA)u8^>v8f(p1iCyVIuEehxo@Ql294Z<1=?C zS9yu#+?rJ6f-kdH{Yz&`L90+1k>F-E+ZHUZ0!4Jm+()-S50(XR6aFbVqM$ZI04rnW zI{pMD*ICJzskVO|J=Jn1N#sJGAR2Bdb&HUk>w+F2e;v9V{}DZ|XobnSLV}4J0D4q) zPe0$Xv57DE{8y;B$`IyZRorUS5jE+Zyalw6!vggdzc&3)jrTtP*Sn2nSQ@va+A=0K zJ5wk>?^@YNJMV8t;s4UvK2xkFf`*;0R`htcKhnXw&Y;+Z{~eokm;pDoK=8otWZZtH z4}8dToZz?q%R!@KL|AYGD39zJuLKO9<6CbhPr3t&I{2B3bw{%?|CVkge32om&4a2x2NgVg0O?0@YJUCIN15gd{2QvV-A_=3vv0U3mw zw-?`9xcvu*5Tb(EvlJkIpV8NYH1fdfSu|k5F_&KgcR~0oMW|*DH4e1p0AaIu$Na0DSP`@DgTQb z!5`;3lK~LRiu}wH+;M^weje6Nu*tNTZlV0Y7@QJ&<^jrYHW1?_9AD%3rer64Q67u$ zcmjzVjf0s6WX)y&TIU}~m_eDm0ET4dj=Eq?VDjv)tIAFbEI8Y5>OX5igKu#SL-FNC z!>a^yRDz`MjY=~#W_p|pw*PR!oz;I$YJ%uM1Nb5#m@Qc1o~$DNNn7&3e>G}34?%5u z0D2BN&TEh9^iori|3#w?AKh>DKN8kTl5^z;*c5F|{L42~d-eld4!H5^^5Lt$n?fL{ zaLIffm2Qd_Gg7i#`#BONyo3cxe>)tvb|@Biy8^nU}kc#U^mC0zI+@g+Gf Q_Z^_DpdpWZ{OtAr2hziOV*mgE literal 0 HcmV?d00001 diff --git a/test/fixtures/controller.line/cubicInterpolationMode/value.js b/test/fixtures/controller.line/cubicInterpolationMode/value.js new file mode 100644 index 00000000000..01b49951deb --- /dev/null +++ b/test/fixtures/controller.line/cubicInterpolationMode/value.js @@ -0,0 +1,45 @@ +module.exports = { + config: { + type: 'line', + data: { + labels: [0, 1, 2, 3, 4, 5], + datasets: [ + { + // option in dataset + data: [0, 4, 2, 6, 4, 8], + borderColor: '#ff0000', + cubicInterpolationMode: 'monotone' + }, + { + // option in element (fallback) + data: [2, 6, 4, 8, 6, 10] + } + ] + }, + options: { + legend: false, + title: false, + elements: { + line: { + borderColor: '#00ff00', + borderWidth: 20, + cubicInterpolationMode: 'default', + fill: false, + } + }, + layout: { + padding: 32 + }, + scales: { + xAxes: [{display: false}], + yAxes: [{display: false}] + } + } + }, + options: { + canvas: { + height: 256, + width: 512 + } + } +}; diff --git a/test/fixtures/controller.line/cubicInterpolationMode/value.png b/test/fixtures/controller.line/cubicInterpolationMode/value.png new file mode 100644 index 0000000000000000000000000000000000000000..4a68926f66e849f5f9f68084bdd29daf9d494117 GIT binary patch literal 16162 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�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 Q_Z^_DpdpWZ{OtAr2hziOV*mgE literal 0 HcmV?d00001 diff --git a/test/fixtures/controller.line/fill/scriptable.js b/test/fixtures/controller.line/fill/scriptable.js new file mode 100644 index 00000000000..84c93bfd197 --- /dev/null +++ b/test/fixtures/controller.line/fill/scriptable.js @@ -0,0 +1,47 @@ +module.exports = { + config: { + type: 'line', + data: { + labels: [0, 1, 2, 3, 4, 5], + datasets: [ + { + // option in dataset + data: [-2, -6, -4, -8, -6, -10], + backgroundColor: '#ff0000', + fill: function(ctx) { + return ctx.datasetIndex === 0 ? true : false; + } + }, + { + // option in element (fallback) + data: [0, 4, 2, 6, 4, 8], + } + ] + }, + options: { + legend: false, + title: false, + elements: { + line: { + backgroundColor: '#00ff00', + fill: function(ctx) { + return ctx.datasetIndex === 0 ? true : false; + } + } + }, + layout: { + padding: 32 + }, + scales: { + xAxes: [{display: false}], + yAxes: [{display: false}] + } + } + }, + options: { + canvas: { + height: 256, + width: 512 + } + } +}; diff --git a/test/fixtures/controller.line/fill/scriptable.png b/test/fixtures/controller.line/fill/scriptable.png new file mode 100644 index 0000000000000000000000000000000000000000..bd93389a65da0cdbb2b78ad6d572c92d59cea98c GIT binary patch literal 11922 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 KS9}){_ 8 ? '#ff0000' + : value > 0 ? '#00ff00' + : value > -8 ? '#0000ff' + : '#ff00ff'; + } + }, + { + // option in element (fallback) + data: [4, -5, -10, null, 10, 5], + } + ] + }, + options: { + legend: false, + title: false, + elements: { + line: { + fill: false, + }, + point: { + backgroundColor: function(ctx) { + var value = ctx.dataset.data[ctx.dataIndex] || 0; + return value > 8 ? '#ff00ff' + : value > 0 ? '#0000ff' + : value > -8 ? '#ff0000' + : '#00ff00'; + }, + radius: 10, + } + }, + scales: { + xAxes: [{display: false}], + yAxes: [ + { + display: false, + ticks: { + beginAtZero: true + } + } + ] + } + } + }, + options: { + canvas: { + height: 256, + width: 512 + } + } +}; diff --git a/test/fixtures/controller.line/pointBackgroundColor/scriptable.png b/test/fixtures/controller.line/pointBackgroundColor/scriptable.png new file mode 100644 index 0000000000000000000000000000000000000000..c366b6cfadfc7c83395b015d927cb639a60068b0 GIT binary patch literal 5213 zcmXX~cR&+M6Ti@f(4_ZvNE0c7G$Ek03rGnd&q5PH1!>ZI=%6$Y6#Zx_0f~s_NfkkY zpwf%do**TFD2OyEk@j79@2}grot^#7?9A?OH_gV%jGa}O6#xKs$lMqQ0CY$b1+Xw7 zpZD3l*8qSQgp7^s!wQzZ_V_ss#iXpxZ!5> zrbJIfId6TL|2ZF6&DW9E+`k0tdfX=FiLa^N zPW^JLM>SAXKG8Riu=~%gml=%Ykrjh}i3VHTQ%m*mu%vsnLHiZY`Pl#n`?dXacWueK zOVW3{Fxj94f|c%vzn}gJc&W@tW>p#hb5hRMK{zX?#dMDDSHK=M$>Yy=tM4@AbwOQAJX;e~Ye0`m3ml)}MoKxuQouUYu_Z z+54%q?R2v6AZvB}VBnE5jN3fs_p7;QX|ac6ueoO|#r!Sv7LUMOwA7d^QH!1K4HPq# zPJapiPJraj-&=XApZd~J!)N|w!5{tRgZ1!l*MxuU=3Q_uxVq-(jk&_J`uX6`)~o?V z+6lgRUb5(#s2tU(Dt}F9r=@Rt`{;3l=L4&l)RA55J-NngUpvB0otCuKuFD3¯v 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 U(W;&r 8 ? '#ff0000' + : value > 0 ? '#00ff00' + : value > -8 ? '#0000ff' + : '#ff00ff'; + } + }, + { + // option in element (fallback) + data: [4, -5, -10, null, 10, 5], + } + ] + }, + options: { + legend: false, + title: false, + elements: { + line: { + fill: false, + }, + point: { + borderColor: function(ctx) { + var value = ctx.dataset.data[ctx.dataIndex] || 0; + return value > 8 ? '#ff00ff' + : value > 0 ? '#0000ff' + : value > -8 ? '#ff0000' + : '#00ff00'; + }, + radius: 10, + } + }, + scales: { + xAxes: [{display: false}], + yAxes: [ + { + display: false, + ticks: { + beginAtZero: true + } + } + ] + } + } + }, + options: { + canvas: { + height: 256, + width: 512 + } + } +}; diff --git a/test/fixtures/controller.line/pointBorderColor/scriptable.png b/test/fixtures/controller.line/pointBorderColor/scriptable.png new file mode 100644 index 0000000000000000000000000000000000000000..6366828ecfc5316b9953dff892bf64e15fbcb224 GIT binary patch literal 6276 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 literal 0 HcmV?d00001 diff --git a/test/fixtures/controller.line/pointBorderColor/value.js b/test/fixtures/controller.line/pointBorderColor/value.js new file mode 100644 index 00000000000..84e4d6adfb9 --- /dev/null +++ b/test/fixtures/controller.line/pointBorderColor/value.js @@ -0,0 +1,42 @@ +module.exports = { + config: { + type: 'line', + data: { + labels: [0, 1, 2, 3, 4, 5], + datasets: [ + { + // option in dataset + data: [0, 5, 10, null, -10, -5], + pointBorderColor: '#ff0000' + }, + { + // option in element (fallback) + data: [4, -5, -10, null, 10, 5], + } + ] + }, + options: { + legend: false, + title: false, + elements: { + line: { + fill: false, + }, + point: { + borderColor: '#00ff00', + radius: 10, + } + }, + scales: { + xAxes: [{display: false}], + yAxes: [{display: false}] + } + } + }, + options: { + canvas: { + height: 256, + width: 512 + } + } +}; diff --git a/test/fixtures/controller.line/pointBorderColor/value.png b/test/fixtures/controller.line/pointBorderColor/value.png new file mode 100644 index 0000000000000000000000000000000000000000..6bfde92f541608c606a5ea1b4988de691a6827e3 GIT binary patch literal 6231 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 4 ? 10 + : value > -4 ? 5 + : 2; + } + }, + { + // option in element (fallback) + data: [4, -5, -10, null, 10, 5], + } + ] + }, + options: { + legend: false, + title: false, + elements: { + line: { + fill: false, + }, + point: { + borderColor: '#ff0000', + borderWidth: function(ctx) { + var value = ctx.dataset.data[ctx.dataIndex] || 0; + return value > 4 ? 2 + : value > -4 ? 5 + : 10; + }, + radius: 10, + } + }, + scales: { + xAxes: [{display: false}], + yAxes: [ + { + display: false, + ticks: { + beginAtZero: true + } + } + ] + } + } + }, + options: { + canvas: { + height: 256, + width: 512 + } + } +}; diff --git a/test/fixtures/controller.line/pointBorderWidth/scriptable.png b/test/fixtures/controller.line/pointBorderWidth/scriptable.png new file mode 100644 index 0000000000000000000000000000000000000000..7bb6b1b3c779607db82bf4d1a8825986a0c64559 GIT binary patch literal 11687 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 literal 0 HcmV?d00001 diff --git a/test/fixtures/controller.line/pointBorderWidth/value.js b/test/fixtures/controller.line/pointBorderWidth/value.js new file mode 100644 index 00000000000..291f422e527 --- /dev/null +++ b/test/fixtures/controller.line/pointBorderWidth/value.js @@ -0,0 +1,44 @@ +module.exports = { + config: { + type: 'line', + data: { + labels: [0, 1, 2, 3, 4, 5], + datasets: [ + { + // option in dataset + data: [0, 5, 10, null, -10, -5], + pointBorderColor: '#0000ff', + pointBorderWidth: 6 + }, + { + // option in element (fallback) + data: [4, -5, -10, null, 10, 5], + } + ] + }, + options: { + legend: false, + title: false, + elements: { + line: { + fill: false, + }, + point: { + borderColor: '#00ff00', + borderWidth: 3, + radius: 10, + } + }, + scales: { + xAxes: [{display: false}], + yAxes: [{display: false}] + } + } + }, + options: { + canvas: { + height: 256, + width: 512 + } + } +}; diff --git a/test/fixtures/controller.line/pointBorderWidth/value.png b/test/fixtures/controller.line/pointBorderWidth/value.png new file mode 100644 index 0000000000000000000000000000000000000000..0b8f38c1d62bd16f190a519710df3009cc801d0d GIT binary patch literal 6145 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 Date: Sat, 23 Mar 2019 02:25:17 -0700 Subject: [PATCH 007/115] Implement legend.align: 'start', 'center', 'end' (#6141) New `options.legend.align`config option for controlling alignment of legend blocks in horizontal/vertical legends. --- docs/configuration/legend.md | 9 + src/plugins/plugin.legend.js | 45 ++- ...end-doughnut-bottom-center-mulitiline.json | 25 ++ ...gend-doughnut-bottom-center-mulitiline.png | Bin 0 -> 12591 bytes .../legend-doughnut-bottom-center-single.json | 25 ++ .../legend-doughnut-bottom-center-single.png | Bin 0 -> 9368 bytes ...legend-doughnut-bottom-end-mulitiline.json | 25 ++ .../legend-doughnut-bottom-end-mulitiline.png | Bin 0 -> 11705 bytes ...gend-doughnut-bottom-start-mulitiline.json | 25 ++ ...egend-doughnut-bottom-start-mulitiline.png | Bin 0 -> 11619 bytes ...egend-doughnut-left-center-mulitiline.json | 25 ++ ...legend-doughnut-left-center-mulitiline.png | Bin 0 -> 14654 bytes .../legend-doughnut-left-center-single.json | 25 ++ .../legend-doughnut-left-center-single.png | Bin 0 -> 10147 bytes .../legend-doughnut-left-default-center.json | 24 ++ .../legend-doughnut-left-default-center.png | Bin 0 -> 11389 bytes .../legend-doughnut-left-end-mulitiline.json | 25 ++ .../legend-doughnut-left-end-mulitiline.png | Bin 0 -> 14613 bytes ...legend-doughnut-left-start-mulitiline.json | 25 ++ .../legend-doughnut-left-start-mulitiline.png | Bin 0 -> 14652 bytes ...gend-doughnut-right-center-mulitiline.json | 25 ++ ...egend-doughnut-right-center-mulitiline.png | Bin 0 -> 15047 bytes .../legend-doughnut-right-center-single.json | 25 ++ .../legend-doughnut-right-center-single.png | Bin 0 -> 10231 bytes .../legend-doughnut-right-default-center.json | 24 ++ .../legend-doughnut-right-default-center.png | Bin 0 -> 11375 bytes .../legend-doughnut-right-end-mulitiline.json | 25 ++ .../legend-doughnut-right-end-mulitiline.png | Bin 0 -> 15012 bytes ...egend-doughnut-right-start-mulitiline.json | 25 ++ ...legend-doughnut-right-start-mulitiline.png | Bin 0 -> 15000 bytes ...legend-doughnut-top-center-mulitiline.json | 25 ++ .../legend-doughnut-top-center-mulitiline.png | Bin 0 -> 12544 bytes .../legend-doughnut-top-center-single.json | 25 ++ .../legend-doughnut-top-center-single.png | Bin 0 -> 9360 bytes .../legend-doughnut-top-end-mulitiline.json | 25 ++ .../legend-doughnut-top-end-mulitiline.png | Bin 0 -> 11695 bytes .../legend-doughnut-top-start-mulitiline.json | 25 ++ .../legend-doughnut-top-start-mulitiline.png | Bin 0 -> 11604 bytes test/specs/plugin.legend.tests.js | 356 +----------------- 39 files changed, 491 insertions(+), 367 deletions(-) create mode 100644 test/fixtures/plugin.legend/legend-doughnut-bottom-center-mulitiline.json create mode 100644 test/fixtures/plugin.legend/legend-doughnut-bottom-center-mulitiline.png create mode 100644 test/fixtures/plugin.legend/legend-doughnut-bottom-center-single.json create mode 100644 test/fixtures/plugin.legend/legend-doughnut-bottom-center-single.png create mode 100644 test/fixtures/plugin.legend/legend-doughnut-bottom-end-mulitiline.json create mode 100644 test/fixtures/plugin.legend/legend-doughnut-bottom-end-mulitiline.png create mode 100644 test/fixtures/plugin.legend/legend-doughnut-bottom-start-mulitiline.json create mode 100644 test/fixtures/plugin.legend/legend-doughnut-bottom-start-mulitiline.png create mode 100644 test/fixtures/plugin.legend/legend-doughnut-left-center-mulitiline.json create mode 100644 test/fixtures/plugin.legend/legend-doughnut-left-center-mulitiline.png create mode 100644 test/fixtures/plugin.legend/legend-doughnut-left-center-single.json create mode 100644 test/fixtures/plugin.legend/legend-doughnut-left-center-single.png create mode 100644 test/fixtures/plugin.legend/legend-doughnut-left-default-center.json create mode 100644 test/fixtures/plugin.legend/legend-doughnut-left-default-center.png create mode 100644 test/fixtures/plugin.legend/legend-doughnut-left-end-mulitiline.json create mode 100644 test/fixtures/plugin.legend/legend-doughnut-left-end-mulitiline.png create mode 100644 test/fixtures/plugin.legend/legend-doughnut-left-start-mulitiline.json create mode 100644 test/fixtures/plugin.legend/legend-doughnut-left-start-mulitiline.png create mode 100644 test/fixtures/plugin.legend/legend-doughnut-right-center-mulitiline.json create mode 100644 test/fixtures/plugin.legend/legend-doughnut-right-center-mulitiline.png create mode 100644 test/fixtures/plugin.legend/legend-doughnut-right-center-single.json create mode 100644 test/fixtures/plugin.legend/legend-doughnut-right-center-single.png create mode 100644 test/fixtures/plugin.legend/legend-doughnut-right-default-center.json create mode 100644 test/fixtures/plugin.legend/legend-doughnut-right-default-center.png create mode 100644 test/fixtures/plugin.legend/legend-doughnut-right-end-mulitiline.json create mode 100644 test/fixtures/plugin.legend/legend-doughnut-right-end-mulitiline.png create mode 100644 test/fixtures/plugin.legend/legend-doughnut-right-start-mulitiline.json create mode 100644 test/fixtures/plugin.legend/legend-doughnut-right-start-mulitiline.png create mode 100644 test/fixtures/plugin.legend/legend-doughnut-top-center-mulitiline.json create mode 100644 test/fixtures/plugin.legend/legend-doughnut-top-center-mulitiline.png create mode 100644 test/fixtures/plugin.legend/legend-doughnut-top-center-single.json create mode 100644 test/fixtures/plugin.legend/legend-doughnut-top-center-single.png create mode 100644 test/fixtures/plugin.legend/legend-doughnut-top-end-mulitiline.json create mode 100644 test/fixtures/plugin.legend/legend-doughnut-top-end-mulitiline.png create mode 100644 test/fixtures/plugin.legend/legend-doughnut-top-start-mulitiline.json create mode 100644 test/fixtures/plugin.legend/legend-doughnut-top-start-mulitiline.png diff --git a/docs/configuration/legend.md b/docs/configuration/legend.md index c7d124868ed..f8ce7eb5a17 100644 --- a/docs/configuration/legend.md +++ b/docs/configuration/legend.md @@ -9,6 +9,7 @@ The legend configuration is passed into the `options.legend` namespace. The glob | ---- | ---- | ------- | ----------- | `display` | `boolean` | `true` | Is the legend shown? | `position` | `string` | `'top'` | Position of the legend. [more...](#position) +| `align` | `string` | `'center'` | Alignment of the legend. [more...](#align) | `fullWidth` | `boolean` | `true` | Marks that this box should take the full width of the canvas (pushing down other boxes). This is unlikely to need to be changed in day-to-day use. | `onClick` | `function` | | A callback that is called when a click event is registered on a label item. | `onHover` | `function` | | A callback that is called when a 'mousemove' event is registered on top of a label item. @@ -23,6 +24,14 @@ Position of the legend. Options are: * `'bottom'` * `'right'` +## Align +Alignment of the legend. Options are: +* `'start'` +* `'center'` +* `'end'` + +Defaults to `'center'` for unrecognized values. + ## Legend Label Configuration The legend label configuration is nested below the legend configuration using the `labels` key. diff --git a/src/plugins/plugin.legend.js b/src/plugins/plugin.legend.js index 2c6870b279d..d3fd5e35f04 100644 --- a/src/plugins/plugin.legend.js +++ b/src/plugins/plugin.legend.js @@ -12,6 +12,7 @@ defaults._set('global', { legend: { display: true, position: 'top', + align: 'center', fullWidth: true, reverse: false, weight: 1000, @@ -102,18 +103,19 @@ function getBoxWidth(labelOpts, fontSize) { var Legend = Element.extend({ initialize: function(config) { - helpers.extend(this, config); + var me = this; + helpers.extend(me, config); // Contains hit boxes for each dataset (in dataset order) - this.legendHitBoxes = []; + me.legendHitBoxes = []; /** * @private */ - this._hoveredItem = null; + me._hoveredItem = null; // Are we in doughnut mode which has a different data type - this.doughnutMode = false; + me.doughnutMode = false; }, // These methods are ordered by lifecycle. Utilities then follow. @@ -253,9 +255,9 @@ var Legend = Element.extend({ var boxWidth = getBoxWidth(labelOpts, fontSize); var width = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width; - if (i === 0 || lineWidths[lineWidths.length - 1] + width + labelOpts.padding > minSize.width) { + if (i === 0 || lineWidths[lineWidths.length - 1] + width + 2 * labelOpts.padding > minSize.width) { totalHeight += fontSize + labelOpts.padding; - lineWidths[lineWidths.length - (i > 0 ? 0 : 1)] = labelOpts.padding; + lineWidths[lineWidths.length - (i > 0 ? 0 : 1)] = 0; } // Store the hitbox width and height here. Final position will be updated in `draw` @@ -274,27 +276,27 @@ var Legend = Element.extend({ } else { var vPadding = labelOpts.padding; var columnWidths = me.columnWidths = []; + var columnHeights = me.columnHeights = []; var totalWidth = labelOpts.padding; var currentColWidth = 0; var currentColHeight = 0; - var itemHeight = fontSize + vPadding; helpers.each(me.legendItems, function(legendItem, i) { var boxWidth = getBoxWidth(labelOpts, fontSize); var itemWidth = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width; // If too tall, go to new column - if (i > 0 && currentColHeight + itemHeight > minSize.height - vPadding) { + if (i > 0 && currentColHeight + fontSize + 2 * vPadding > minSize.height) { totalWidth += currentColWidth + labelOpts.padding; columnWidths.push(currentColWidth); // previous column width - + columnHeights.push(currentColHeight); currentColWidth = 0; currentColHeight = 0; } // Get max width currentColWidth = Math.max(currentColWidth, itemWidth); - currentColHeight += itemHeight; + currentColHeight += fontSize + vPadding; // Store the hitbox width and height here. Final position will be updated in `draw` hitboxes[i] = { @@ -307,6 +309,7 @@ var Legend = Element.extend({ totalWidth += currentColWidth; columnWidths.push(currentColWidth); + columnHeights.push(currentColHeight); minSize.width += totalWidth; } } @@ -329,6 +332,8 @@ var Legend = Element.extend({ var globalDefaults = defaults.global; var defaultColor = globalDefaults.defaultColor; var lineDefault = globalDefaults.elements.line; + var legendHeight = me.height; + var columnHeights = me.columnHeights; var legendWidth = me.width; var lineWidths = me.lineWidths; @@ -408,18 +413,29 @@ var Legend = Element.extend({ } }; + var alignmentOffset = function(dimension, blockSize) { + switch (opts.align) { + case 'start': + return labelOpts.padding; + case 'end': + return dimension - blockSize; + default: // center + return (dimension - blockSize + labelOpts.padding) / 2; + } + }; + // Horizontal var isHorizontal = me.isHorizontal(); if (isHorizontal) { cursor = { - x: me.left + ((legendWidth - lineWidths[0]) / 2) + labelOpts.padding, + x: me.left + alignmentOffset(legendWidth, lineWidths[0]), y: me.top + labelOpts.padding, line: 0 }; } else { cursor = { x: me.left + labelOpts.padding, - y: me.top + labelOpts.padding, + y: me.top + alignmentOffset(legendHeight, columnHeights[0]), line: 0 }; } @@ -438,12 +454,12 @@ var Legend = Element.extend({ if (i > 0 && x + width + labelOpts.padding > me.left + me.minSize.width) { y = cursor.y += itemHeight; cursor.line++; - x = cursor.x = me.left + ((legendWidth - lineWidths[cursor.line]) / 2) + labelOpts.padding; + x = cursor.x = me.left + alignmentOffset(legendWidth, lineWidths[cursor.line]); } } else if (i > 0 && y + itemHeight > me.top + me.minSize.height) { x = cursor.x = x + me.columnWidths[cursor.line] + labelOpts.padding; - y = cursor.y = me.top + labelOpts.padding; cursor.line++; + y = cursor.y = me.top + alignmentOffset(legendHeight, columnHeights[cursor.line]); } drawLegendBox(x, y, legendItem); @@ -459,7 +475,6 @@ var Legend = Element.extend({ } else { cursor.y += itemHeight; } - }); } }, diff --git a/test/fixtures/plugin.legend/legend-doughnut-bottom-center-mulitiline.json b/test/fixtures/plugin.legend/legend-doughnut-bottom-center-mulitiline.json new file mode 100644 index 00000000000..22837c7bc47 --- /dev/null +++ b/test/fixtures/plugin.legend/legend-doughnut-bottom-center-mulitiline.json @@ -0,0 +1,25 @@ +{ + "config": { + "type": "doughnut", + "data": { + "labels": ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""], + "datasets": [{ + "data": [10, 20, 30, 40, 50, 60, 70, 10, 20, 30, 40, 50, 60, 70, 10, 20, 30, 20, 10], + "backgroundColor": "#00ff00", + "borderWidth": 0 + }] + }, + "options": { + "legend": { + "position": "bottom", + "align": "center" + } + } + }, + "options": { + "canvas": { + "height": 256, + "width": 512 + } + } +} diff --git a/test/fixtures/plugin.legend/legend-doughnut-bottom-center-mulitiline.png b/test/fixtures/plugin.legend/legend-doughnut-bottom-center-mulitiline.png new file mode 100644 index 0000000000000000000000000000000000000000..bad507684b41eb35d27479b0d3ed800cf572212a GIT binary patch literal 12591 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 literal 0 HcmV?d00001 diff --git a/test/fixtures/plugin.legend/legend-doughnut-bottom-center-single.json b/test/fixtures/plugin.legend/legend-doughnut-bottom-center-single.json new file mode 100644 index 00000000000..82e462f7da3 --- /dev/null +++ b/test/fixtures/plugin.legend/legend-doughnut-bottom-center-single.json @@ -0,0 +1,25 @@ +{ + "config": { + "type": "doughnut", + "data": { + "labels": [""], + "datasets": [{ + "data": [10], + "backgroundColor": "#00ff00", + "borderWidth": 0 + }] + }, + "options": { + "legend": { + "position": "bottom", + "align": "center" + } + } + }, + "options": { + "canvas": { + "height": 256, + "width": 512 + } + } +} diff --git a/test/fixtures/plugin.legend/legend-doughnut-bottom-center-single.png b/test/fixtures/plugin.legend/legend-doughnut-bottom-center-single.png new file mode 100644 index 0000000000000000000000000000000000000000..139a16b863da35889d3d0d43aee09df43ead3cf0 GIT binary patch literal 9368 zcmb8Vc|25Y{5L*x=3plKh^%33iA0I9PxhU(5XH3FL-yUAlI#p+X+evntf3;}baxje z5rwQ%p%fWQWS!@7-}mqLeZGG_{=w^<>vPWMeZAkG?K(;Jwr1ShM7Lou7;X!5V+RZd z0)JvLcy{pXW#&5%3`PoLVSMmNxa-U<&gRD-Z!Wi%JMf4cxf zeK>sVb^e=Ec!|VU$IpbD@raO$RSoYF`3*@WB=5I6)kY?VE!uv^_6>#&#TFElddxJe1&EL5z7iG}0@QJI(b<&;tldogzIId@zKbmzJ${+o&_T&h(_6>Xm}f;8odumMNRsn>xi zs6cJCk)__G(ontF$jC-Z*H737XP#M~zl; zk$mJU{)DTklc_YK0iHPcw)}y+jnw4pNIP-8DFY!V|32xXeR0>V|GcD&{2?LbN-1Lj za`w7dZpxhEKJ)?J_!q8u`+!e9PwN9FC%49oRe&xGHb&%+l;XCfJc%Jp~?yWy1{ZI5Ntr-fa3v!om&mtad9hDC5OMxfO5vhKs z$2e&lh>e`Xc7zj&!{}Q}*+|s`?0uvFT#4pXHTbmat7Sh%obqH~b-oDVHer#62)GL& z5>`b-@XnURb9wtoe2rGI4`l7;>pmDUlu(v@z#%AMLC<@{ORqmynfCSK6+dD5?FR^WSJfi%Q#>b&ta?s9zHW(>n}$SLC(-d*4S^a zB7|t3fowDcw|r)SD0~x8H{kD3RWg#t%hV!-cQax>AuvOoL4d3H5@7Ew_q3v36|^k- zb43ddn2HngNQfjZLzda3xa8$X%-eJ!(^=M@8wmBl{e9gL5Itku$VHjB>k3MT3*2nUrX=KmKsTl$pYC|o zSZb0xw#U>!h;Y@EVFUB*-m~i~9sPm##E6Ui=1bI#3cl&DrzYm*4;Pq8-IDjDQ|16V zFH74o`;qpqW@8&8Lu1m1_90@X3)mL>z|2?jh%p7nAnyX<_tf3A*dD()VA_^({rwx7 zf6mUbx!*PvTzA-Jhoj_*72^cs@dSrYJTXs!$-yXqV`T&gS1lo?r(Op84R@rVUFbzWratfE-~kg2%sUQ^ij&E6R+v8_`W3qalGJ7G zi2yH)PpUaukeb1YfuT6jGZB3ahkBW3IEVs5drBqQSR}68h+AFqr&E03B?V@BpYi=t zSMbotpnlhJ`dXU%Ms;riSu z8Dl=-!0yU_L(a$OJo++rub*ovB!`)mW9~a>PVECQ*S(`{l$Ns2(p7tGY;ZUU3 zv$V#}?_I%*^X}**I)dz>H63();FYh7oF_yODomimAa&*K_S3nc!1%k>f+wLI>80(( zxsd{X$%?sU)GKpd-wvk$l@kAa zl@&c1EJk<1>EJRrHrX3q-1!;#`2l{~h9Pi=j;aF{l~@e5^!%KBgt%eDgxaz|#yC^R zmM$`~==s7!%Mq)>OPvS_ws^rJB!WNQfh{uN=J_Xk4r9ovK4AJ4gECMbLB-p z@@y}D88k8Hp$ z>8>x;t;UZpM!#L?#o9$SucZDu)_J2~)y#c)n>uEM7g2-~qa_<=w?|b}miuGY)Pugd z<;TialFXa*OEhsgM+N@uMAkUXpk6@RJoa;I=Gm;C)VXYvhnA3+-X<2-AJ#3*Ghox@ zB@bW2m3J=L!dW8q=2UyY2iFL`%h34%Y zN_&XHSAoa&%^C%Sw=uZQB=uub0TN7hMkU-6-@0jew(|Wj?b1!Lfb2zoBj&7iT%2M_ zxzkqWj9C&|$Q~_-Np>s#QP2C=PB>O7+m}yLHByY(KcA-%ppJO78$m`Ox^Y?bKkha7 zbt8T0ww+y+5E&b;fz-RTPMAV!h5MNgeN&Z_D1+l(LC}sQumD7RE|b2{Z+PQT?q+N8 zd{jDqeQ>N+8=}83Eo3_j&ytvyKvTPbhqv1Y{hqFr&ixi+q<>*dz@su(O!yL;^>4^o ztu`&>#;-0uVuSH>HHoor^$xj~ZOCH~46HP54F1Z!GQ-v7p+E5rL4TJWKe>3 zJdWRE(TTu3Cmp!=y3#3cgXDYmJ$LOmin7C-ACxd5yj%HSe5l1GT~~no;0#_;YFxpo zBamRMuRf?3(75NLGs~Z_5{*xRP2bZ4o43a(bG)pSWzd|SO=&(pnk`z59f{2h9PosZ{?+4r@_Qb zgZsy2Rn>rVNw@27v)Qq#F{7WP=`8q{2_u>35$|5Dz$k_pB}0e3B_8E}Vf6S)0nkh2 zo2B~trHE;N=kg5-FUl%0Ua--_ImV4TUvyW>}_-(k#;y47t&zMDa&_yFSnS+6lsBV@OKH_qk z2_yhYojkm$*lUeC)Tti{S1V{CYUkb-IWXV5ZWe zD@Rw8Jh_^#`1_clrX6XV+grJg#P^Al?0#&dtH>=E_YM|Z~cuLD4=M@FM2vuh1XPw=5uEY?cixSPb?sx-_9`rieGwElL z((T*d+ux49hTcu^9uCbtD3!%?I&xs2b6N3^_i(`>tD0BGRRGT$8}BRCwws_OA#8fb z>Zk6tX16`?Dn3Op-ieEj7_d$D+%Pm8#lI#Y=YVdNISa3WQsOCPkiYu(ybcuRee&$b zRZ=UvMwRo6FBjc1Xlr)L>DL@96KL${?T672okchqEnsjHEzjkBE5t6t7ok%#MxDv+ zWj-UUc%DsxUxD&VSnQVIH-d4&w&lt1?@J+sTO#+>R4+<*A~_yq*}hg=i()tEva1)rc!>CuQDG!xUdXsot$Q6eAij(Iq zwBFx6SnC7c_w;MP3_5x{$|2nH=_}Dg?Www^Fe{K{) z)Uo{}@ru?JMB<%!rOufR+3kTvk z7gxi|qzsFFx~Jw{n*jOYshAndlxd!u-BpwpW6xCqvlsW3jIOg6rRshVGZ`O3aX$oW zUbTnG2CRx!&tC*C?!?}7aHR^Qd=G|nY%30k{YVGJUDH)Nr+{$<^q7F(qkEIOVbAXQ zD$C`xFQLmh4#l-Tdbew95he z)XSZg3oxnQXf&kqW33P}@Sve2#Kezn{o$!JNB)M87pqq_R6(nO(r)fkk@g$C=dbsqz{k>AdOrB$B+e-k{0LwV^|G;UF$Ml3R>Sy6q`i_VRt3<vP)(#*f)zkDMA$;a(9p?DM3fPFp%SRo4UIx>rpp%L?kxa+*h;i*LoB zP_{sJX&+FL{10P2W0V+I1jwDKj({q{j1EE5mVr#W|MkEu(x*TqmO~g z$TMfb{`#u+Z?qB7zHk`H{a=h4ihC1S5>k1I9Jn(e!}*1q@$eP?KWio@zR3}tat)}1cDXmQJ^`mKSmneQ-X)ZN6bH5tf=O^4bCP1z@6=Nxu2eeE@J2fRE z^qF00Kb!X=b)x+PInC`nXxJbzMBo4zAH08cV7EU7NE!P%^nLJI1<%<0;aGU|lZn0y zzevOZX5X>#3ez?te02GRv^Qdzz#^sLr25Dvy<9PkWywf7IbJ77SF2|E$E2;B#zzZX z`5!7N@g<&MUpIMiq^f;YSEwOQlWcO2vx+5$uo<34xfrX2jq73R-yKtlyy$#lMq-Z^y(Gjd@_gC6nwfs zgmt~=#R>OlKd9cCc8r6Yc9*&WpB`15Et=3g63l6!5U_klM!f;FVUlC(j%i=RC6FiT zRfi(}({Re9jNK)brH(iZG8;-{B9k4_*W_1qp2d~yZn3B5}Nr6Uvmc;9_9 zwln^8crujLB;4?V~ z%`-)U!fplMecZn#<2Wrz(+lHy>nCeB=8r-d-fr%fx5+5rbR30O9E>*ArMsFQnp2Mh zL_7ZSm;hb+4u~~Cpr6OD-xH_|X`lAkY5AtD1=hDWJDpm47HoJ{-QmN&^va?eH@;ke zmnszXI@?6Gb`IQ)xD^D=nlOfK>vsqJM~wd9w*oa9)08myu`IKWr#@$|S}j|Ee$2Gb zJcr?qZ1E1sFmB_rt)BL!`FD?<6vJOGGzWIqahSU7@RtagrE8>XA!5UA zna&CGvytlGZS8yuP4h31U8m*YiOD5po~_Rg&LAD&x_v-?zV@fbI{T`KIO$=kM? zlCMrtN_*v)Eu+R=#{T2iP#yQ4I~|a z+7F@ouly=uF6lMJ48su%cH{cijEJwK`U2Pwq(yX24YWj>-WFny7hOk<+sA75q{#7U z36ldJ=4wWdsKi(C=y;Q_O<43|uI6Tkl9DS9ICBSF2{lfu94{oSS3mSwc2LXOw6W|M zS(-AL@BAJ-8^`gy2*7pe%cBdY^>=+cm(>oZ%hlv6`z37EM7$#BAb*8%Tn4Bd;z7*g ztI*K4lM39y*pWHL?!-{0h8gA#$yMvKg1(Liq0b~_^C{Y=BljEXGuuhXLBJjM=iYZg z{EH^)zVyXrcg&BsXD(aT7>9Cfvd!DZfuT^LRLv7rSyfq(PBVkgN2OEF`Y^;V49BBU zG)I2(Z}>$=(i6-mTXUJgoMt&$Vm*i#GRRGV6F?UuoKa=To`3jZm@ZIUXoD3M>*b_HM%tLyIDKLsp) z7+c%q)6AV*BhH`TPl4IDx}NRTY1I^|`4Fnv{fZpQ)0Ni9`W35vY%^CICt|!r#!p3f z=yd$RN2j4Of6E|VfE(7AYGdB=C+Z534~hH8GL0B%uzu?+C7%YV$xFVYcwa}OhW+Vt z@8Qk!uha%&6aebCWSs}+80u~D15D$%}dYFcF5yZsY)xIjQ*t=bNO5njBno3%Q7 z&(`U{f})Bwb^JbB%9-+DG2k7{BR`&Wbt1P>EN<}Ca_j_$%aM3HY38Rpq3^A-|ld!NpgC)yB`9%0{%)GBs23W0ESkSDHfhh1o$G*JJEInlSf6%VjFw zxT@kM7xvdzOYj6iQXsm@Dj!%|{zAp^3h1EAef?y>{hVePZ_t zH$`pORq_>6;F7J)IXWD=)o6256B-XCtt9ggxj{Q9qlZ*BVzn|i-Bug3&|;CJXD_|i zXnrEH5#d4&V)&s#5q7JM+)=|1!tx$IVw3&`I-mPM(AI)aZdHPf<6&HLpi|o5QB%eN ziJy+ETmTezeCt}(nbRfYu&j9s%&vx@Ks~Ql8O-ZWNP{bbNFQLv|p2{^Y$Q+!VUklyX`7WAszzGQP&V zC9Go%r z$NnPm64b33B&v&{YnB%swcdK+ao@BOnF8c!09E-BOBoPa!xGr1-Qno@Fdbp&7bS)D5P5-xo6vV zI<0MeDerf(x({Zz<+0q`rW!jtIhbgX3J2xUoxRv!YH{O%kM?mjp96U0)D0y+Zrs4y za`c@y$C#N+NG+B$p!3lC`Z+F%sbgKthpT`W1@gv-`| zLp4mBX$(w~gbEzp7^cIjhzvou6_k!XpwKINeotesmtO?+I&Y23g0r9#4(Y;0@g*LB zeNu@HbP$yv+AARKduWG;Ws2S{9@rk@e5-ap;v?2`@2V}pQrjXpd!NitBYo$P4*B1T z4}zho=H%e!S;1ls?`WcvASh2IrQd>#tFh(P#ckj ze<-Lf%QHGMdHHJ1sh*GrCS&P!oafue2I_#A-SOw+v_Y*W$0Rcdy;I$;+Hy=S#(lVI z>PTy?7zxaKcIA&)<-15Q4>H(B>iAGTSl>EeWr~k_K1c&#TKCzn+K8AKaaSsXe`nT( zxbv+^=)sNG$1Ze$i+entc$`=Be={E^)hY-&_Y;sNrb~fIzaUmq09(p24AP6;Up3^| zNzKbLJgLtnG~GERhz*hT&+V>L!2mr7nCL7%au6f|-SB!t#^WqHO2nUFpSENSS(SY) zCYFKWdC`Mlk!dHGbOYCh8Ok_1X8DYt?6Ww|l6*#R^mhXmVkVm09??T+Ml?sP&u>n{ z2~8uZm{|kmLJg4yTL+@&Enwp}SGm6lq~VMnD&h#0~67rt2{yhI1Dp{Yz_UZ5I4J2Xpe4-$p9j%&F*k9pmsfV9Oyn-O&! zOldB}tnvNv+k5e&BC@4c<%F#MMKh_%XOJsi{D%kP-OJ)&P#7C;*#d)dAI4N0~og#fPuhs4U@5^E6X&M`tA6|n}K zAF>+i%&OPo?5)sOipX(LxW7$q-sm%<{;ER@(4RLY?N6-6;+sXt>6Azul}>~Ez-b19 zkB*XIk{#^IJFRLP^3yt%qFp&_54qiRO3{!-{$+jrJ`OOPJ9ie|sbSBn(c}%4PAY7o zuc0g&{0f}X3TNDSBwIs5+Hq!LZ>M)(KS;Qlr^V5t>A6=!1>xD!jd?Ax)Lbf1l2N>J zR;x=mZ~Gr5GX-)>HkzUEv24b?C=7&)Q8U`=6=}Xkxf-1s&CJnl75lBtIv+>wVG1$? zPy(3wRybU?pqc^-?T7rINPu=9qkH}=dymScoR0$JGr_$Eg9p}m1PEOJ)Y@(?xo9$= zVOlCBa(@8t+*#;bn%}A!e}lO^F%u02FIDp5ldCM~(dm0=^^w%l_l03oaPMWbAL*Sh zL<+<1xa1ReZ4tUGSlGHBCcVZCd$MP#nX})%JYTnRL+_?Fqt%(On4RzeBpdrE_O#ZM z5M3v2luMU5uycUeaQ^efy^_y*>^c^0u`Q;Iu*+?};l%G*z+gwc(o<&$%nh2r;h)&W z%dP(Voxfu4Al~Fy66zhi%iQPzOi~PWnbJnG_M2^hDG~+1ivU!{E7FSienr zqh-D@Y$scR-}hDy6>Jax(<%7bHI~jsYw$=H{>0G)>fKBloMS}6)rd#-U8BLWQdq)~ ztrIb?FI+AV5nPn55eJ}8bk|k=bJ4uW0sLzz;4$#eMJZ%ri>+4*Lgc_o@O8j7kdBXB zC%?$~*Ou}XKz6Og3Z;K863f78M^Vq;B9H&IMb!ek)N$M6zNAIU4RTL&&5FJS!F+=0bUL|;#5ZGVXs8$-1mJiYwC%3giWf^f&|2__Ak`L?^~(r#XY6t|87(f zHh}9N9BHsN@bSCql;wZB0FI#lvyJe83PaoaY1V%bgDm*(Mwu5GK`cq`-bKBT$R898 O_^~jtHLfzGUi?3^HanyM literal 0 HcmV?d00001 diff --git a/test/fixtures/plugin.legend/legend-doughnut-bottom-end-mulitiline.json b/test/fixtures/plugin.legend/legend-doughnut-bottom-end-mulitiline.json new file mode 100644 index 00000000000..630b81ee048 --- /dev/null +++ b/test/fixtures/plugin.legend/legend-doughnut-bottom-end-mulitiline.json @@ -0,0 +1,25 @@ +{ + "config": { + "type": "doughnut", + "data": { + "labels": ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""], + "datasets": [{ + "data": [10, 20, 30, 40, 50, 60, 70, 10, 20, 30, 40, 50, 60, 70, 10], + "backgroundColor": "#00ff00", + "borderWidth": 0 + }] + }, + "options": { + "legend": { + "position": "bottom", + "align": "end" + } + } + }, + "options": { + "canvas": { + "height": 256, + "width": 512 + } + } +} diff --git a/test/fixtures/plugin.legend/legend-doughnut-bottom-end-mulitiline.png b/test/fixtures/plugin.legend/legend-doughnut-bottom-end-mulitiline.png new file mode 100644 index 0000000000000000000000000000000000000000..e7fc84b85f05fe4c2ab6c31d4e3749c2fdbf29b3 GIT binary patch literal 11705 zcmd6Ng;$hq_wLLvzyK0MiF6|=h`=B<2q>Y5bf-wSbj_f&A}S>f(%m67NQ(&4Au!Sn zigcZ4-q-JUzH|P7v(8%2S~`n6_Pwub?|t17siFRWl$f3v1Okz&C@X4$KoH=+U=WM| z_@^uOn+*uW3Q|#&*Y+{pP9v%jRPsCu=30PK%F7eLZIJjh)KF@Q)xl1%5_P!Z$H)$L zvH~KoSoX0UI0=aeu;a3CYC#|5Z z`6olmn0(Y539@z?rkUbTun6Qch&$*uUV;zYRtaNuwjU093?hS+jTFtE#>)~i((zg~ z`j&`V%n;<`u{bb>h}M|I_THxCfWV8cSORM^q=>~Eg1jq=KvF`|&mh6`%?CViNri|O zgWaTp_iB`P`SKxWrCAf!82=DaEJEV#9AG57@Cy_p=n*-*R|R7=Ul|U50P$bmvX9>? zMm=Kv!=klipCLG7CUIYRWPENfn9x!7!8i~4`ogh&h%DDVsG>O&q*9Iy!Vh7uparuq zx4yx@6#5x>URDweah$FFUUW(evQ1IG(LXR_%ws$?#)G=v2Uk`!vs5&v0ZW3CDcNIz zb(SYf1Vw+9cvjirRg4Gq9P3F~6eN?6`pspY!5p##`-95kW*2^gVnq4A{IknGlz`EE z*%}P-a-QMzXekHzKREn;P#V~>BcKr*&!D*G!R`u;VY%O{p#?A`47WIZcmx+#;p@c& zD7-65^+)StP{tTvXE#Vcp?>aXTbV-L4`>gl=Vyfn86N~h=!c1aOmA(boaYdrj(S+9an^ii?sQMjh zdDK?v#VIE52EmCu)?k{p7pcq6^B75nS$b3g=H|k7csA%k231_UgbM8)U{WLv4o`V_ zA;cFvFZbb%QId4wi#|4GWSn}?JY}F0b!m~vG8=ZPkjSFRCY|h^+66N-%}O0 z`i73nu2SXnM5)-3IM*rzp@nEqn)$2hZ0 z67eyUJ3vg(4lK~S_(RlG{AG=YS}qSinQ84ync7XeZ6aIA`6j}e{QDRa2j_9Qj)yHSsETQn)>Q?P#>3mQ`nHfpKZC%+CM z$5@b|qhJvjVqmsAOp4}WU>3+}bCXJ*mQ+TPIkK| z0cNn}i@>NtWOFuUyzXgOLQXns#9s2c!=HcJEk9z4zP62$>^E+!(bL&3_Wv;+y}>M}e@7%&wF#i-WZI zZ6My8k_Abu$jV|u6P-GlV1B1zmJERL*k==&cwm-=kr}qe z7Vd{RF2b3>O!Hu8Io6TZaMJCt&P&8r04fS5zz75riH$pHgYU5!;W6D_CO)fWKDK@X z@eSypAaqqO`)l4UDWIy6Epr=Hwxr$W2bfhPkwq{RjarrYseNoot(Mm0(UaAkie=fj zY@7WxFC1L%;`iR+!VB9`DfEp280k zJ)&+u`3isqKyeGOct(1gVo$oLai`vPzjZJ@AVb{Cb?6;=ZDZ7RQC<(p8+mQkl-d=U zbejcEVo=)c@Cy14rhzM~6uG&T798CNkHr&~ zd~c6LqgLxs+g3&;R|iooH-f1edLSB`la&Ap5F((0XCVe3>vi$b8vU$7<={T-WSa56v@H-^H#yZ?T%M4Kn&x_~N2w+uO6{ z&Ck#F@BX_ZBWe+47ZSqKz!=yooGyp;l?-@Od|%*uP(6K zzuR0+P{g=++MuCAH3vWlNa*I2&qi4x;K6zDl?0g7e@0652VREyI_0$jH44_~O4q@c zNkLHKHY|T~FnZC1sE7XvyD&Y#-;Y^(Jt{;#UXWJONiasci;Qq*-b0Elo~&@m82TeG zw_>;UYn4s-pDl|PJGI9BqA8~k5<}*>R383`HlsVA(_GKF^$6ebLlkg8QQIB7PehUP zoNQa9ebQHKnDv7WtCT({X%=cnO%s4Os!E6MUx|cV)O>gFOw(KVZ2vwArVXTh`?CdF4%u_wp{JwSI=#VxfIlU*QB76 zX!2sbBSO<55sM+iPX>r*Br=XR2z&lB{)etk-0xfYf#4hpC`iO;=E?Ox_l`yrTKJD0 zG5<8ceA*dcHXE$}){w?bW~&1_=|J9B}tMR-upEXrNG zUUzqcH~j(lihMGNG*^xMu$tLM>dJzUMejkRG^~gBfbKzZ6owKfu80ocdp{^DVq1); zv(Lv+f`l`TDDAGY%_)=pMYl;Ko4~H{?YCBFo3aK$4TXw~v65}w(B-@Oy9B*`2(q$4 zX~j_oD1J6ozQ#&{SBK!1d)8cVdNg-P1jx)Z#Yg*az zDh7_2o2#{;IS6m5y78iOB~fN{z|GFc6usD67q9aes)|!tP=4j`Luf#+txe;$n$RJ) z?F__Zr_LxdE6^>~>^COcbN|P6MB|j&8`?yDj09>P?0*>Ra5&>!p?^(=TAK>44+IBl zMbQKr&~SB`L>zai^nS8Cp=FiE--i*^!HgWaC0jBVV2_%iaxzGtczM6hHe6)64>1Sl zKmw{o8K@g!Ii;-&FrPYf#VzKh9_IW9XXACm=0qN3N#8pYE_Q2$$*-&_(o^sSwND<%A^eNUJAsS(0JZM53Q zdOZQf1^%>;c~Os2l_S{s@RNHqsKJ#(Q3)Ew1Ngv)N~N6?8gOheo3F{f3X&>;89(jw z-+4hIZ%tb-P`WXBacV>cYF`kWBz`x*CN-P!F*RbbQWC0`2g~7RC1e$Q($}wGzApbu z&i5rb_dz&{tF7{R(@}>7KOSHD%$@HC&dEe!O0UjM_py)PwzwuF>)}5b45cBUf!|C9 z5X>InSOzMWG>OkFG(um0{sHzg8zSBsz*N764$M3Mb>L^!a*)x+{Bz_aAYT_z7lr)r zH6K0t?St1q1(OifPc!kz^4zQ+<8K7S@cy+yn{ zo7Et(bN#1}U9#J26)m>WMtR^ZG?Tc%0W)Zs)r2G2n!h`L24gIt7iTu2XM z1M=p-$+2Yrs122J17uHKvY`#t1yo+umIHwoN}>ovA7i5ZAvFy}nosKafaN`(uDZK2ZPc;zgmSI04LI)6p^h>+ZD z-{;2OK$)b~pj2o@g!M`Q3X7OcE zX(M^%%cp7=M&3@Q$cu>uL^en!Cj?fa0)!6t{VAw)VmU0ssIF{cd}j=iZk95vw7%J~ z(Kk<)5(gCbWSit3AJQTHhh^cS7!&^|c4K@n$X-X*@PDHKJKBAkC zgG0{jNAhRI5kbTGS?_s)X}PU_B6?!|THK{Zy{!%LVigb3F$8G@PEc^!z+t zElj$%m_!RKeWYr&=Kg!3J6l7>0Up2Se-9LQQtq+c&QyYxR5laz?AvP_-+i0`tbBc@ zVGiy$N64uA6V&?BYM%H&NY8o@ALG=o<7zS>i(33nvmqFN9R)PS7j~~z_!B@n`SIQb z4ZcwA_kad6+X;vRzgc@|jv^ns22N#neNZHJV#S^ax?T`R{$RSEdOcnnDouObV|h8D z8}!oZY&tHXHCi5^gym#o>k~gOkWk@cH=zz4Uz?VI(e!eOC!qd`1A5YJ>E1jP1BX+xgtx91iQzp~#(eF9dhK)sU@et|Yi-9qBguK7_34cJ?ju(= z|14E|NcuqX*VtNo{8JLfUDekLzZF>%fN}Lh>@&hKVv***dj~lVq!2r?4{CAK zHL$m0G_%BoeTF1C#ek!3d+8_~u=!0}6%S8+6F}_fefZ{CxOu|4hxrt@;)F;y{P0cF z8w}J#eGrG9q$103fo#L=*?IJ0U;Mgp;-_>8yvN0AcCxRFzu6UDs~p`{08#{tz5V+P z)T)|>2`JvmwHYCoioeqyz7=()e*?Ymwx#)h4ms${mL6oX%!`;aP5csXx9Q8d*Z!sE z5-jvoOdF2Q#+BkPjGE7YIL^fk@N@hIF=iA#T>Uh9@PicbQ7HF>ImSpQuX@x31kjEa z)2l=FeZP?VTE)PVv&perXO6??zOyU4hxvixCci58+9&Xw5qp!~-Jx0=e2p-lOX#tI z(60|mrl{hbm3!ROlt#FE%VnVO$yfp7Az7ir&e;YInh&@HP4--#713nK-Gfco2MYyn znYIO%OtyW%s~ToA@VdWsl|og;5@W_QY+yOgft8rdp}oKQbF!A!I(Kye5JnYD3agZwdU2PP~MhY7q?f&!+NirT4D(V$BB5@>-tt_T5BDXUWyl{B5Y>H4XRr$H`{D3W|Y#C1< zNRe_*RnTeDSMy>L;#>6tWnt6tLj!EaEH(RhUNXXs0JgTFD)9t7SV=hI z`CicCU1{nb6*u-#KW^}#2WsNJMwRx!ig41RIWWxK0+V0HUUbeNw(Y$~C_yU8YZ;$^ zWx~?Nw4qgihhy=JU*4zMO9e^u8h)#Q#B{m+sW1`JcS#S1q~FFC1h;;+sGte64!4jz zd?9(Q?sLVK@MKZP#_uP_p2Y@u?7DhZIIT|Wdmxp9T78WXkPiSX+Wus?XIr6LqW@f1>&e%nALGBzs|>OSXSGyM%6op5 z#6h^!pqe=QLb9Lc@L*2}3vSo$JR>Gd4Y~`B^y~%+4`f6yHayhk)P?#1yQLw9H2P;; zSYN)q@shwLcv%X_w;>tNeB$1=pRLofIU~l8+_9bO(D2m*>VY}1QY1z@(lkL@}`PK=UYt!Ah zS>^teg@){VExErtfs&cjfG%b>O(Q~IJK1(K)(|@zjyqyYnVV44Dh`!xYY)8^_J1W$ z*1cZhNXF2`WgvBxeUWu6X4EMQ*|g8o#?a6^J<(3UtGJm^=9Zd%9ek@$4X=}q@)RT4~5i#pNv zcV9O-0ulbDZqU+UwUN}-BA3E6dND%P^Ol+uOPyAXfLh`BG~>&~xba$@Cr|?1_8d96 zQACKo%h5K46uh<-gAm#ku@^Jo#&&@38mUx13=&IVSU7fi9i_Iq4tQQTkYPgR-k=>u zHlA!j2VtsFxMN*l;-aX$c;v(=l?c`}jKI|5HYX)F0fq=-%o0nNK26)vuy(tqm!fxd z>CS?EN3UKjx{1I>b)oJ+<&1q__Oyp;Pa4lht2y&KXEQ`^`|`kc=w6TP2>?{-O1>Wj zR60ol9}6x;fnYR~akEs#32_>EduVSM-##F&6xUz*juBrSd1HOtf8JGX!3Q*|c{>l1 zrlXvPtl9e353+`3dgJZ8SSQ!>Y~mFw-t|VXE3J00pDEeAzK8Nf9iT}w#rSj><5A@K z?JiQqhHn3A+Id;C9CLT^p<>+^fCU?V(dW*v3#{ z{UGfU#27)c3e`>kI0Ow~O#1BdZsE$|nV!5ku~{7-QmqdP{W3{Vaj`D=IVkALlAo|? zu_31|f~fY-4|;_ESXQ4Q;aZ1o{Nhb``s`Egt?`(|t5M_P0m_e6b=IRa1Ty0niDx zA4kD>N1rQ`)KTR1T&+W#rJmkT6T*r#?PhQ647DN{6>bnoVsa?9_Lx_?^<7cr$x^Sl~&5=3S`%vi~@Zh(H z%M6%2yg4Na9t;`5w0Os#Xq#Xx6@}(SnZU~PDdNG__tkr67i{_mi|19TyhQclOl}3p#!L*98d%{E zj-VEeOb^bC^=S(80~quI|9tkdRU6^NC4u&vY%c)uClV_-lAqM(#WK%+%~@`Z?wR*t zIR?;>pIFmQix;NqRMrDrAF$QYTh4$bb^Y%a-L5~?a%*;S7Sy3Yhrn`%4m0zf4z{KOhJRi);655^Yc{;=$yJ2K2oPm8Hv zUIvcRb;~wT(^Eyi1vEezZ=eyr_5;du+^w6t)nb}dSGvvlpR^x~pTa9z_LdWG<*1(H-2-oY2 z84C;Vw%H#P%A(!QnvOIp<9=tm1dnR_*@X`i8wBWw^VA`-&7rL_^2u`|-7eu&+k$iI zjXku{nKl+)iP3_Of=e3@%){5V(7v){XJ_4A;qjFI)%Byz{BpD$?UyqK{+1R)9ltAwG}2X8Y_Hqk4j6Y6IZn&0f|_%#E_ zZ$X`B+_4U65^MehS=NbD#iY4yrFXYpbqrrGjzEqhSE8I@f zov2QNdHJ*HOs?u-5mn{4ai^9*LDk6C$GL1%pvCy=RI>0hBS`WLY_<6zD7<6VN3$ zoH8V!R_W+2rgak)`I_z)VgutVUS4Qx8oD!-e| zOLb9_ub9CAs@5gVqb98={V5O@vW%>l|NPOlx!Fl!j0!ysIJ{ssWVj8usf)y9%`((E zzrFi?(2(h9w!B{dwvwjwbv^65>t$9tf$&Kr?sTMM0lvrfAd?@bqIW!SUb*dt8h8+nokn@MQ%5rZ!WI*ehSSoV}{6b4xWJa zB08A@@F%4zzt(nozP@S`uo`bf%i0hV(Akd*sS}WW?~voSBDxg^#KS#Oj#>g%tO7Fi z2>eE6G{uCadMq@B^Id&kb?zM z`^2yg@V#adA4|yXz_R6o^}}oCZ)8cqr62)xwFm2)k&d=i0nKU^T*e_1wWs(Fm3F~T zr)RV2z1UC6JvCUR3S(4&Zmi|;EciIqP!mz0zu^4#1End)1|BR%tscZC@qZumD>4TC zC<{*?U+Ndl#tMEGM0qbB@278#K7?`uss)qtwXj{0YOk3Z@#zKQjNIkQE9_k+#oD6j zqtp4SJp=EH@afOCVndzr0=$n3pRvGdxz~|8kVmi6V`eb&S(0rvc8mXor~W! zzQZBWULp;4dYY);<1QjialHzJyG1SmPRfuY@=#!7J_R|ZaBUMST2lX0ouDfM1pl%L zv18M>*kG8WTo#cri4KM?oT$#ixRQ2 z$$bJZ^Y0-nrFttDXTl|mevQOFlrcx$kxv}pN&oKYD(@#np~zRkm${PHg}XIRPB7o# z9d`R+at@)a*_-mo$yQ!;WNHq8K4BLQ$GwPv!`JR%JY=xFDQP>?2a0mY@b!h1wOQwS6Q#wbF zFTvx2XtwUDTJmU3iC z(o5s}I|-)O9c6+zi2eZkwM-s_7!_KK5#55G7>KByziyZ!aU@>#81FDmOGJD~gF)tW z`~(WT2yr=}$@BuAcT51x&YWU}6at$6TC;R}+J*IiW%-q0za7gqOl%dR{PRFrF{hpY-1k^|%%a}hDo z@a#IktZIPUL)YNwESQfMUOH9CSWW*O+vGIjtwiN6ahD^f4NgrP4iT@0-9=0a`tjOp zIYLX|R`@lp*DGAHIHnj{wZn`Uan7r(gKDPcT|CrTxhh#Ceo@EtxVfpezvF_iXVQQM z!0?;zF~f%_ClYB&pHBL3$fC{Q{zVs$&us&b(A3fcH!ABd$QLTUM&X{q;86_`V=$Pp zG~fu>e0>OOifMnX;A+I`sgYg|_WxFiS;xrS*6(Bf?G<&!f$8&`8AR%{D`j%vphp*e zf?WehR{zWsdj+C3!&FgpCy0}EO<{H_nZ&lYK_6#l>%&{OH;uB{aBsQp;mU0%g{A^@ zoU5YdZUukEVAPun?}^>rP*kbFS3alT_$6a=l)onf1C8YMFH`e70+J`#HH6S*a;(cS ziph}}cKDu!l6kIzc`?-JtNal6$UGNDaHY5L(^R_tNrfCkk52Sc$ZH*_{ohCnhU??r zfKAd?{D2;=4xmfX+sSQ4d{$>?uk`{-4&wP`S3r|^bLy*Cu!iQ7CP{KRqG0czSH%GH zwABH+E)&F^0#3qxLqJraWJgEuLxFc#z{iK1!W~aF5KaNceQSSDIDz+8|8$7Q<^M)- zZYvBJ498?Ppgp-5P;LL|@IN`#?C*G|0BMK9lc)b}9f4fN>1k(V;jO>p1p>}nQ+VX` z@9c`1?m!ljPVi{?v2d3sV9G~;e!ihD{^HsG#QEs?R~6)Z+lS}Npf$pqs}nA*j)C$A zs8l(%?&7SI!V}54t(19>rSmvEfcTf3{RSNF5RS9unr{J9RT<2&`!;<(Vt3?fA;Rxb z%&d!nlBG64chC)Qf^Rz}`&#=RpZB%+LGGaLw7FCC82MI%s0JDGTJS|s_fWJ8!^s&h zA(9FaMA@wzk&2myM4&S=OSgCkh1&0Y;l8)8Wdxdr^d25WT`##+z|8uq`ep`n;PJp< zKsCRq`_lO+F-jM-z+>_1WiL?)4T|oVX!=W#ACf!i{*{y>>e-&@>@48ai@FGVQXc`9^4mRKHJ{1_qBMX*uKps6?M#E;%zu%HfD0eng!nDCZ90zm92GQ8*mI zb6?^`RQnGMO8TgZ&ry8p1Ji~4J`G$WDI)B}L2CbBkQUN_9$}AF=s4KiArAPg1VJHn zRT+#8|Kr)OK$d2m@h*=y$1%lD?8*J2930VxM;*qT{y~)yrMoX+l=}~=jtO==`hWpd zvk!0NC#>Y_f@&bb-@MCp%1=W!z{B?0ue4QgJj*GZD4OX7oDV7m)g;?Y@hPdBmx7*F zKa^_6@pSvy7epMqRvckoyHvkqg$I9k*s-{jC41|o>jZliWX-2Gq5m97}nslKJs z2goNdqF%9;Px!Ry!)ZNfS=3L_md<4A}J2UXjN9c`CsI2CIZO0 zJ8=yBjbT;>fEZIlsulmcKN+&I?(MU`M2dY4w0E@S(*H}GFF4{D&nS!j9j_O-mPCrz zPzwAd$}(;%ROXcP;qQ1)ftRqX42DFs|D>FPWK5?*7jRDP=cVfV&j@HofLTu!_}l+O zTp_@o|8MOFax7gW${qX)YC8KjR4_@v0$!<@1^$gRj56-`|I@!;UcX86*?#;s3krCW P4N_53S1h|{9`e5cHQpCS literal 0 HcmV?d00001 diff --git a/test/fixtures/plugin.legend/legend-doughnut-bottom-start-mulitiline.json b/test/fixtures/plugin.legend/legend-doughnut-bottom-start-mulitiline.json new file mode 100644 index 00000000000..4544602a147 --- /dev/null +++ b/test/fixtures/plugin.legend/legend-doughnut-bottom-start-mulitiline.json @@ -0,0 +1,25 @@ +{ + "config": { + "type": "doughnut", + "data": { + "labels": ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""], + "datasets": [{ + "data": [10, 20, 30, 40, 50, 60, 70, 10, 20, 30, 40, 50, 60, 70, 10], + "backgroundColor": "#00ff00", + "borderWidth": 0 + }] + }, + "options": { + "legend": { + "position": "bottom", + "align": "start" + } + } + }, + "options": { + "canvas": { + "height": 256, + "width": 512 + } + } +} diff --git a/test/fixtures/plugin.legend/legend-doughnut-bottom-start-mulitiline.png b/test/fixtures/plugin.legend/legend-doughnut-bottom-start-mulitiline.png new file mode 100644 index 0000000000000000000000000000000000000000..32700c17d8188ca27603439a78a2117127fa9974 GIT binary patch literal 11619 zcmch7bySn_+xIpG8_nqM5TqrB)KEaBMCtC3Mo9tL2q^)TmKFsBM7lPoMLg=e*B(|9d$*2gd!4D?V4=SB$RC4RR7@5)cSPe(R>{T@VNY{0RoZiGW|- zPe+_UAWqONRTcdJ%bjfE8WA<$$8FT@7%p@e8APa>WPr1elM~saN~i*jQss&1_K&5%Pmy`32sygzGwr6V0NNuywxFI!RsV!^c`kN^l(=m z&4S59$9432Pl==7&~b}9S74=c)sWc*u(12^NCPiv~!oA&!cXmZQhexCMp}Zi;%}b4Pwh$$S?OcOkKN!1ZSkD2bD7DXsUz5qqpJ0Ok zPnZ?6nkD%-fDI;%7q<`&OJJ83V^;I70)ogYi~$j?}fG-o0FUKCu zvL-GDSswSfU?>_5*XQK~>mt&t;!t*woME&PSd5T;VS3SrKpB!l+h6B?I4AU6B$GHm z!)DNtsFgUF_0XTSEm1$}VsA1huov>YDjG!#$!S5iU0yscNYAqAS}c=|*6;s~h#Z)~ ziRzs;F&%1A5hQ5x9En`v=7d}UsB{j9MrA@3_Su5KUW^sjGYzz-TN#YO*Uq$`v+Y#h zJAuhc+)b{PJq^uN1d-CM;z8g4B z!F>!cQKH#c zChz=y8&dgISoi7cD4D$t`(<5LS*eQrmjH8w7q<{1oHcM!=_k7c6mBj;_m8fEgZV9- znF*{H7i}}~B{DPL_>s&=_Nbi)y3}Aq@huc2j~_`#174pz!ZRNRS=T~iy5K~#osaX6 za{Dql#bB0kt7Xu}K|VxZ7#fPAU*Hu;0+=_g%eG3aRa#W1v1|72g+uH;cPPPzZu!rw zpo@7982Y|}&&$L&L1e9Q6S!h%Fp}bcefcT;#`eo5neORGToQ{RHBa7H==Eui_lA-f zZ}EiNbq1L2SRB>Grb?rULO*zbjL@}dk0~9(_irsp+c)?H)u}kKd|q?>I?2L8rVX0y z-e&!$1N@KzeonCX*KbCvnlyV{>7!1X&`Lq~s_-Xux5{sUav4?7!u0Jt@>wE{hyV$S zOy3K((^XIqROfZ5BVuo5dKQK;av~YHwmnPGpc9L@d1+EGOz1q*OO76Cen6_n&EvYi6eL94_P%rY78 znjjd3z{KeM{j%AKC%E};#r?g|fGgKq(md{;mfz##BAu?bq=Y^qo!*Yz32k5wpr@dL zY5;m9y#OgP8pjLffE))mHE0R=D`|&;rL$W-OoT z6Y-&!#jXTF*azOHx09+Ki}zSS4Y0Nn?``U-TFIii$uIc+;^kCs9fvxGDhNb;x!adr>7Q>%Ub!QnS7ZxTwb;GhH-&Avp%%Ubq_-p(wu+r zKVqv;(N4?!XjZEc=WjhoZf0=lP}|y*m0k_tLLGpib@D>FIt-%JRaCEiU!E-e=7Kd! zI}Bt&>^93a-jqqc6Vc^?bPGj4hd)U`Lvdf4%*jRB&nY1~u$(Ip?mE&(!?8PV)X?I= zO?*Eao-VWBD2@hVN>Qw#b5t$B34R*FPy()n2Po0_MJDphOf+U1xw#~#v+| zsYg%jnXrnz>$@?d#u)^-z#0F1X59?*1_!2IUo_1VbG04)l?WV*P^=)kXNGO#>u|X7 z)0ZuLHCmGHaw4285+F(U;oY4}H*i0%E_bd;Qt}&RTcdmj7%Q5#z8ly~A*3}YzCSca zl9T|F1#~7J>tV=403L1a_HL_;Ke_7q!*^i1M+F;PJang-KfFrhna%l}b{Gl$$5;OP zGAt0g6Rx2`yU)({kQ_yHHMiMtca}x`Nlom?Br)V8uLsKHKzMqT1~k_-qh6&)6SQ2h ze>n!1cVSIUK@$z1hC@Se>^jOsejHpWKQZo?>rSpM_tOo2w2--Erk!G~?BK35cu?vU zp1*p`udZ(hy?Y_Dhm`$oj!*@9`bkmDOu4wdr=R?_L%iKBWkPnd%1UJdnKIpVrDZ?s z-y{wt_HSvni(=3Eo9l@03$WG+0{{vK+`D+6he1IqVlNnk3jMlc9DEHe)sr4PdVtuvd5C zO%E+)D0X3#{oE{-)7G_Frp2uY`Z#OkEvHXOPUX87ZNeMV?T-c~>Rn)hTcF66myb@|hmq5W)jHI{Y zqc<6F*Qu3W9&I3%=qg(z`5-L-n_tLVgc3Ax)d(*_YZj0l-yCa$+3;F~u~Jvn1Mb;xxqi29_Sip8y#bMcoh?E6spVY;jLqViq2dnp zo{d18Vws&l9K7Bj9(A?y%-Q9ghIn3;3c5u2a`N}KL_o)g$E@y-v1cM)@rtiz zwdx^tO761nU#D-|c)A`aLxqLkodq&c#5qnW98n41^IVRM6c_(){n93Ky(e5;!rMUF z+&iMgHS!nqU;VX!^Y)?_R43(veirEeLsE6Dz3Y(W^Imz|mMi7I{lO7R@y4sm>%&xX*qQ!Xz`bb>YS+})E;|Ea5OP3z zQqba0iqw0oB&>5uFu$^q#fZ7+&^F^Fw~|vHTugs=;lWC9Gco4ua#q((k?GqL`Su7Z zxfH7FNf?nXS2z>1rc>D9wtH(G|$~1d_%6^!sTfC zIG40PN@b4n^N$!dExQB9X?pj6BQ+@zIX-ws1DMPasITrQrvSr4v$rJEc_tP?)#c7> zwyI3Ukb3pUt(*`{C}cA8lh4=oNA#<1C(3TCtMSFq5a~d8&U^Nh13cOZ zBAvmSa*r&*rhO`QNTXA>8*;LxmBCRhzUyhh#_V!L0cT<35IN{chP``{&~|xvw+=ch z)-Lz->P_~W)iLr zHIYel;`UfXZ(98ZHqF|wsvwn~ZSPnq+hBoPHw8$P3~UFMl))Sx_Cdk;1g+mVcIHH| zaD&c-4~y5O1e#L%A@0!n8#0-kmERpGeQ87;#~lIxmkU+F_|>0J_3;r_})B; zXAEGDk+wEof}&78b2q#3MNPh-fbE1%c2wtWrJ=>(x8dV74kng{5$bi$QQ99$y@FrH zfK%u&q5wF2ZkhQ?^DLXNbTkEwOYb{AN)~gk2Km{He7h1mU4t(#2s|7O-%}ttbcrhx z82I%e1s(H_ZO~ry*#^XXdINC(CR9&BeJ?XV+jA}l((JX8-OI92u;-7A+xb=RRpobQ z^zg&HAQ%h%62m6D2oYL0*~VVyO5KH*)|H{;=SMr2!dQly8w%j5%3Z8>iPZ zi^ZQl=5V1ai&C~~Oe3rt zUu)NVrBoK=cNA|?e?rD8b0zO{pgF=~7a`JK5&dk6p7NZro?+zv&qdB(=IJ)N)RhoC+Haw_Luf+@q zKMrHdpJ#s_w5mkXE3Z+bVxpQS3ozJ{Z`A!7eki`hxJKUlu& zW_peXYy?(!>x+8dt=nzknM|M(hO!cUDE%L|bu$yaaSLrxk>o1*y-H4W+eTMN6Iab= zT}eaFK3C0?tSs!YVOCJ~Cg;bDH!j6j7IpiVfx94Z>1%O8Jx{0tjDX|I+w*lgj>oGD z!^2O;!Ztc_TOj$X_rOWQw$^5qkXg{F0;^Mvjj@axClSCQBdtS$A|yu-eKuQ~XD}#Z z(85kZdQ_^P0+ht?H02q6ys1H)z*9VuHHv>Z%A5-G25@as;ve{z8y!>*=W9Yj^89;0 z1!#Kc2&}!MtQH7OO1{08-N@KGxmJC-2=1c^lu%}iC2vW!DuJ{4Da3Nm1TFG-?jGVwPX{=?DmF6a*{A>k#L4sJ zvs>mDIm&67>v%dsQNN-iFV?XH!u8ZgXwo!l!5Gwi;Ns_7)N(aX&>J4hTujt6>RX6;znI6e?9d8x3YIWt8d`OyNC`qtf$PJF=l^o>Azy(KM07nG7%Wjz) zazuyNq0{=!#R>0~{cEqMp$eB7WUsH&(|#HC4i=K3n4!TG0-U{|)<5!t&xazk)a~3cK_>J#E}qK{N>0<$r~lr+wz>3bKOV7R+%!6veK|Q z?;xWigZGpYR`Z5}Q?Wc3DSepENL7rIdBO4gP%s{vVC1m=!1CKeB}g;BSkci{QTg}J znQR-)q5#*#<{~t%1Rg!$#DauwtOl5!c&VF*Q`TQTw{wJw_ExGnDh)0mF2t%L;54H; z>cExr$Z~T6sWUXVHq`vP8GdN%Xo+WK@Q~IAd=*eG@=mbbcLaP@Jgz{J=Z7%sQs2-< z^Zai&f~?%Mar3xUiHsv*{~IVk^w8`q2O34I%N?LO#@a--v#L>&?p#XIbC1wjr*1+H zQjTWoy^4gnR=_gv8o9)wHxkiS^$x9kSfiCH`NlD7k__z_fB}sbE~{?>%Z-G_SE!$3 z(Mxo>O9cCs_*Vb+4N9tx+S%Nn9P(419Gd%{{3v>o=YbNo_$AdoQRE|*ey0qRCupll zfkyErvfk82i}U2A=yTnAq_CxH-bLFw_&RzS*#-?Mx&iv@;wZz(^usu?+5Gw zdLvru&X5rwMT@zvG|1_F3T)WvEPFakv6d`~a|nFvtMg>dl^no=bl#hrFsK3pfZygv$TvP#foSY`~Im$z7x2zs$U_T+{ z1){2dPDDLz^5eh-H?bWWcx&cm;~I*Pl{Rheeo`M3BFZ5vhj}|36|4Cc0t<-u(%utB zv4ErnwFW-Qfk*ps=h;(pWgTbUSs#WXG)8%s<)FxNFdw#L1{zKbldrVtRoRK&XtoZx z6yX|W1e=WJWo&)CDn}k{cn9GOl&7f6#ttx7-b+b|k3nND#rMz={D$q>S{1vkT}XafT)K>Ekr?;bkQ>;=OELLAd| zI=`O|1&<6`jQU^4z4jSDB?~{3<3JDSfSUy^($;2-0f+RYc0I1TX4q4XuRGWi zTd&|xtM|)&igx@Q=GDwqs4_#1VFZr0)lH5+gertmnpnQYR&{`TIVjp~b0k1RKV?^t zt$ad~mm#&lfgjb2!rlToD>S%l;_9qKc@k*HOB!t5du=Dc+2bAuYtj08%_*A_;5k+f zymLf;aowM#l=L~j$+|ltIEu zh2!Na4Yhap-1q>2}2G8=vHDZsU`wP?k!6~Pt1M2D2QP4KFj3In@{ z@WmGqz5r+Sdgt@Y#e4L5w|WC7A&*|zY~zm%@uUf9GAemh+++Lz0WzBdeh(lyQ$U*R zQ7lWk+v9+Jw7^oMTSOG~5+2`uJPY{YF(QMRCz`ki#CwMg>SpzRdd37fSnRnEYv}C5 z`0FLO2P73%J=#r745{MDs+=Yl%JPe6HB-kukn*zUSKU5`%r!J9Rt!LL4>}|J9&2bK z_PC-y9BDdeo-Qe4Rt;iKE*+@r02293z!|r`K?7U#5Hn|(_98Kor#M8iw)KYvTIoDw zCozZ5?B=8`Z@H4aS-hz7H45(bSP~yru$)S?99IOaO`!rR%(|LPHm@KppEHBVSkbCOkCv;xkl_OSu)w6?M!8$GSk?0NhG8=*Q zPZ8GJ94PsZ5txf&DgZ`V7?|UZ`AL0mw59th-Vn!37jmpv0TbP((S0GX97y3sBp$KE z+l`;<8wtZvwYr(0Qak`7XCy11os+JC4Py@Q0msH^u17On5~+rfx|5^z#fk zlBUC;jWj7nG;?J}P7lt}{e4y|ByEo8qJ!0;GuqUjqm3TKz-q@RGA$~iyf~&P@zm3> zUVk%ZqpSRiqfu0d_t422`^+zHCe{Z&S)x1r6vz>gY%?acJSPBOivH-5cPhA_fy;c- z8lr|>kUC>p<;+Jp!I$HWho2X22dtQRHHY?R$vN&d6Cv|I-)ZxVGMfv#b@fMNZ* zS&ljvCzy(`;E4~=+mFMzy-?~oto?aNZ{yXXGbfI%3MH^iSgj{M(qEz*z1p2Ja-uI~ zTg_F+I@aTMTg@nS=n+*yqF9C|lPV_{MB)*O#wEd=i5#iWtEsJ@ZznFmU87HgCFLA6oFA?G#aRV`uNT5!l{;lm1 zgL?^RMGEnZsEufo9*S8C?=X7c8I#oNjb@%OlkGBy=JS- zh~=**9htJO=As|!lNrvABhB|+<>i=MIuK(&rN8uMcZq@&8>HrajZ=rE)TGiRz4z-* z8?)4!P8@2<>Qjw#U#0@_;U4`%+X&Z(C(do|IyLnHb8CxICQwDvYWZ9@m*eJ7AH&^W zR>RiUklVY10vwJS+rx|H>lTNVjKup(eyPf}OQdrFPCG#^dS224ZOAR27t+jS+?_m6 zXBi#_L`=N&00@Uz&S*Q_agAa6J~C49&a4A_&$s7SK?Ldhs_8}I%-A_}McBwp?ROfG1ZFc`g=` zAwg6J{jk0}EAP!ZV?@t2XV{MX*1mmi zIy!jRL|7@;za}!hK;idBkEKYtoIs}C=0pYvAphPLRIq|M{P1&*^*4C6)}wIyh_h|w(Tr4JgFC-djFy6JVq!Jo>rAR&^D(v#*8y1XRB%; zx&7Wflw7bR;9sRj8;Pd;{%L1Y8JoqQLL0OY+G^pDh#%gl=alg)549k5_ru}f2;q2q@_X!0v`u-_Cy|gwy zL0y|agj#)`O?{)RfCXkd$Gz+N-Y=S^&&E9_4S4tRn9^1c;(&z5i;39b`3=SWQArg3#?Gz`?!wD;oa99 zNDvjBG+h!fBfx$!3vm9PTlkS)gx)uVL8-wKq50J{XjhF!D7B6Yayudtp#3>OJ15p4 z-ZTO2w8rgtx~}-NGTxc~cIa#RudPKDCTk6uB5K0)!Oq1eAo`bW4C3#lw$4HFZ@$~J z_FTLx0Lp*s3X9Um+R-30f%=8{xR$dz@DQYDy5>Q4?S|yJe#nVzrV%7l)HXO;09+_N zk!tUDeZ31no8j^h87fNJ0nb^_38PK%*1&P4N=G6p$R*wpEMuCUvFQafYGy!taN1DQ!Qw zMVJOcK(FOX`kbH9igh~#X8TOk3AMq6FB+}w;z|%Db6UIa;O%{!%!it}ecLHL>Eor~ zv+6KJEnV>?zd5@(dA0xy_gQz3P|zEIvzskZpRMGf!3_!=xr3P6f+eJ~KrB56b?f_9U#_!4eS2UUu?5zZA=Dq9g7d+(1V3=s{ zDRJchTxWK+BKX284lUwZ;*Nr`>zB67;-#bVcht?Z}aSn6r!Zxm#6e5ktd zrGyi~7&M&rBBIi&S~G)3X}A=`WwOA1qQ{j;eBIBsQYlxGwkMQRLk*eMlZs#mx1#jk zZ?*w4qVteqV1A_njfSEhhr@-{an;Owe9KIFRW%{+N2T7qV8v(F`}0(caBH`MjXhBW z9gdoo(W{f-+FRNPj5BcI%lzbg73w`M_0u`dGB&Z(R;ig7D~5^4l^3&)n-tb5YFhJ? z-`!(|O(n6vh;dezakn$09pwE1?KU3do$fwHJH4}&!Ijf|`}8vR-i}Mt5>7_gbg!WM z!(IF$`IcktJZUp^uTy5moqGtz{}gqVri^iD$`kN;?KHz!ul~^*Zk_yv-a2{cB$-Nh ziM*go$2N-9?`3b z4VO&4N#la0_Sm(L>U)eI!vJq;jm|FN_eJ5NPznNc{{8;CToN9P!qtPJlY$u0S(93d zI14Wj1!=-7K!Ca!KwX5!140l0ae>ki@Gy5P5G{{}RmOw!>QB&DQlM{83YZeQGwk#d zpsD|wd%@8nDrELlmb*pXSHk8!xwpr}Xg1&Vt6dk74wb8}yYpVu^C~2Y%}oElk7{59 zuUX$%KD%POGZksLKHTzT=K(r9t#4XtOqWUd>$)5blD7BuS7u!~1Qq54s2`lAqET)@ zP=xHpdO3zJRu}f-*LRYMd06ef1tqyQk-?|41Lt@{k^M7Vr} zW5Fy4rPggrB;XA)ZbeJa=@z^hj6D?=evM4l+` zYPd=5%R&QlMC$TbPs$LpsrtCb$pCHCKsx{Q=8ZmbgmE%%ejAsH(;-#bUovQGGa`_w z7QdX*C}wRMh<(~SvNcE6ak?StzCPYSkMSYaKLg*Y=lh`r?NP-=F<~OZaE`==W)PK( z%=2;>drL(2N$groB;`q**Svh8sIHkB=RZ?pzyv~aq%poAY$onJn6`qx!sEL?c3}Fv z^=nvSN^3}aFBGk~?CyUqhBk|B%M3VlIK-0Tt$+y=&If?CX87mLGk_6Pzz1^`VEL=A z9@C$1U_@UQ0RDBhO9y~r0p3*eC;%^c^`pM}pKmCrvw+Y4`+8I$c)1eWKdxQ=qx;fez1q%Jz2`(|^^t3^ zOK{yS)KZ(wCcmp0#Jbh>7s1>v=LF?bD5{Oe%WsD{ca=R?Fmafu^%e+t8_KAJi2Dlj zn^&%&UPiQONo#GM7!jDBtMP((K_3{qkHODDH|=zzb7ot2JWikuggw1mmri*=2kKaH6$uaZXfdEf{&Q|_p(4Pm3FdHvm zJ_*7Z|LhW2w}|6H+FLD8E*9^G>q7EW8OY9HhC7!f;HE>|;6?6vA8k#5{#O!Le-pf7 zLQAQ?bOe3<)j39J&c@G_{0syHV7qjUKP#yDfG6P>{pXgniw9pqs9cEuZwIC^fHvz? zasayk=HCAMsNR46fup*JZ21fmME{fuc+5O*afg2x;ksyEUlS`K2j-bBK7en4qSUMh zME`u_gj~N!cq1(JS^jD{j~f6@EG`+CK>VZj|4MECbA2>Q4FDk>MiBd#9x@D|^*r6| zv;F#Oz9Z}JzQ6fC!w(L@_ne)%K5+Z(45*vEm7PJ0kPCs$i4A; zcJ~W;{X(A7>o5EwErH!^J1agbiK>Z?uM`V}t$Nfbx6y5U=%TJyHDL-7^LYw|Ccf_Fhe|$1tG)57AO)rH1 z0+kxXOz;=O;@1GCc(#3{P5xd2gd?KA3|mJ44609Wx>WrIC=hqa{$dvgCkCkHi75C- w3{Dqtd1SRt6QY0F`!|pHpTqvY(07|BrlVSZ%{uJ=0N$Nrp#T5? literal 0 HcmV?d00001 diff --git a/test/fixtures/plugin.legend/legend-doughnut-left-center-mulitiline.json b/test/fixtures/plugin.legend/legend-doughnut-left-center-mulitiline.json new file mode 100644 index 00000000000..6665193f637 --- /dev/null +++ b/test/fixtures/plugin.legend/legend-doughnut-left-center-mulitiline.json @@ -0,0 +1,25 @@ +{ + "config": { + "type": "doughnut", + "data": { + "labels": ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""], + "datasets": [{ + "data": [10, 20, 30, 40, 50, 60, 70, 10, 20, 30, 40, 50, 60, 70, 10, 20, 30], + "backgroundColor": "#00ff00", + "borderWidth": 0 + }] + }, + "options": { + "legend": { + "position": "left", + "align": "center" + } + } + }, + "options": { + "canvas": { + "height": 256, + "width": 512 + } + } +} diff --git a/test/fixtures/plugin.legend/legend-doughnut-left-center-mulitiline.png b/test/fixtures/plugin.legend/legend-doughnut-left-center-mulitiline.png new file mode 100644 index 0000000000000000000000000000000000000000..5160e356f74438a99b9511d4e5ce8a70166b6357 GIT binary patch literal 14654 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 literal 0 HcmV?d00001 diff --git a/test/fixtures/plugin.legend/legend-doughnut-left-center-single.json b/test/fixtures/plugin.legend/legend-doughnut-left-center-single.json new file mode 100644 index 00000000000..4723a860258 --- /dev/null +++ b/test/fixtures/plugin.legend/legend-doughnut-left-center-single.json @@ -0,0 +1,25 @@ +{ + "config": { + "type": "doughnut", + "data": { + "labels": [""], + "datasets": [{ + "data": [10], + "backgroundColor": "#00ff00", + "borderWidth": 0 + }] + }, + "options": { + "legend": { + "position": "left", + "align": "center" + } + } + }, + "options": { + "canvas": { + "height": 256, + "width": 512 + } + } +} diff --git a/test/fixtures/plugin.legend/legend-doughnut-left-center-single.png b/test/fixtures/plugin.legend/legend-doughnut-left-center-single.png new file mode 100644 index 0000000000000000000000000000000000000000..72072bfbefd6344a2b6d9b4c2fa1995a2e4ffb0d GIT binary patch literal 10147 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 literal 0 HcmV?d00001 diff --git a/test/fixtures/plugin.legend/legend-doughnut-left-default-center.json b/test/fixtures/plugin.legend/legend-doughnut-left-default-center.json new file mode 100644 index 00000000000..bb48a2778b2 --- /dev/null +++ b/test/fixtures/plugin.legend/legend-doughnut-left-default-center.json @@ -0,0 +1,24 @@ +{ + "config": { + "type": "doughnut", + "data": { + "labels": ["", "", "", "", "", ""], + "datasets": [{ + "data": [10, 20, 30, 40, 50], + "backgroundColor": "#00ff00", + "borderWidth": 0 + }] + }, + "options": { + "legend": { + "position": "left" + } + } + }, + "options": { + "canvas": { + "height": 256, + "width": 512 + } + } +} diff --git a/test/fixtures/plugin.legend/legend-doughnut-left-default-center.png b/test/fixtures/plugin.legend/legend-doughnut-left-default-center.png new file mode 100644 index 0000000000000000000000000000000000000000..3d9829833e2fbdf84c6cef698b122e8a1dd641d0 GIT binary patch literal 11389 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 literal 0 HcmV?d00001 diff --git a/test/fixtures/plugin.legend/legend-doughnut-left-end-mulitiline.json b/test/fixtures/plugin.legend/legend-doughnut-left-end-mulitiline.json new file mode 100644 index 00000000000..662b16725f4 --- /dev/null +++ b/test/fixtures/plugin.legend/legend-doughnut-left-end-mulitiline.json @@ -0,0 +1,25 @@ +{ + "config": { + "type": "doughnut", + "data": { + "labels": ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""], + "datasets": [{ + "data": [10, 20, 30, 40, 50, 60, 70, 10, 20, 30, 40, 50, 60, 70, 10, 20, 30], + "backgroundColor": "#00ff00", + "borderWidth": 0 + }] + }, + "options": { + "legend": { + "position": "left", + "align": "end" + } + } + }, + "options": { + "canvas": { + "height": 256, + "width": 512 + } + } +} diff --git a/test/fixtures/plugin.legend/legend-doughnut-left-end-mulitiline.png b/test/fixtures/plugin.legend/legend-doughnut-left-end-mulitiline.png new file mode 100644 index 0000000000000000000000000000000000000000..46c6014eb6a94f07934ebd602b5104c209be6325 GIT binary patch literal 14613 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 literal 0 HcmV?d00001 diff --git a/test/fixtures/plugin.legend/legend-doughnut-left-start-mulitiline.json b/test/fixtures/plugin.legend/legend-doughnut-left-start-mulitiline.json new file mode 100644 index 00000000000..1d4dc1f7e6f --- /dev/null +++ b/test/fixtures/plugin.legend/legend-doughnut-left-start-mulitiline.json @@ -0,0 +1,25 @@ +{ + "config": { + "type": "doughnut", + "data": { + "labels": ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""], + "datasets": [{ + "data": [10, 20, 30, 40, 50, 60, 70, 10, 20, 30, 40, 50, 60, 70, 10, 20, 30], + "backgroundColor": "#00ff00", + "borderWidth": 0 + }] + }, + "options": { + "legend": { + "position": "left", + "align": "start" + } + } + }, + "options": { + "canvas": { + "height": 256, + "width": 512 + } + } +} diff --git a/test/fixtures/plugin.legend/legend-doughnut-left-start-mulitiline.png b/test/fixtures/plugin.legend/legend-doughnut-left-start-mulitiline.png new file mode 100644 index 0000000000000000000000000000000000000000..91c0c31b0a59c479635e606f7fdfb24e4a44f94e GIT binary patch literal 14652 zcmYkjWk8f&*eyK6z)%B7GjvLKHxdF8BHf+RDM$?}4MTT`7&KDS!bnOZ(g+M9AU%K* zQs?IRzW2O`Kf{l^_TE>lwf5Tadb;XF1hfPo5Qs=qLscIH!UFyUgYclhPk-vT3kbvv z(o}t57;L>?g#V*!rto&POy6*->rsVjM>>^$+Kq^6I^WQw>B9lo!(2C^1?3pw7-8XT zQlfq?3s~ug^!M*{hV-YD6EjP-w{HIxZ?*5<$aimr9JqInw~cRIK41RG8R2pfp|JJi z?CWrqzMPMVY~ZXR%Ll842YogV7T^;=j6IL-x#6z$BIg zh4_WwFv3A`@qs7Q!jt$A5s=Iqqn8O_VIL9*W5=^q!r-u@1-K~-OH3Eh-uLt_6J0pA z%g>&`7pgE=4+4gG;5zrt-u4$PxEZIIV9z8>9~$=D*Zdm}w1f4W3e%06^Svrh)D-(b zV;TpBgBGdnm0(T12p21KNdF-H`7G7|hR&Y~^E*hxJba=!F7%ZSlUG9Rv>`N3N3Q~s)OE;n{Qh)i`gPJ~jUu%|bUx=c5NIEj#U%?Kr zba|7a41BKMXsL+>DZsvhzPi*z8^XjKYy|{vFHmbJl}9j%_}7Bp#CGmet#>~hq|M&g zX+a&KLMfk29wj&mg@r&+4(j?x3GTsjQbA!ywS{7dMN!hRT@Hws?!kw*O<$*|WrzF! zT*}v(4-VTrVV9{CN#@{?!IvVAwR)n_r{n~61Zi_+fb~L7%6q@UF>5QAOi>Uzsgw5+ zM7DXid>cMFQ<-du%)yeF5X)bJPpult>v=_)AxcoC4V|~dY%ZuqT+Bl>f-2QKNKW>F zhEW8bT&Kgv($BA9lq-Z`*s(L>sc}&pKuiGl*pLbf4I;LDQHlZgP9nmelyjmjyYzH$Ey{7r^RqV}9@4XzLVdc$d-l&JD&E&xXdDJa3^kiFo=uis7Yl#jTjA_X7GmtvP zTG;CD+J0nD=-jhytC~X`24i0Ogp74H`3_UpRtL> zx!9ZzQmdAC2a}18XTJ*q-}OCXR<(q&WLsgzQ1w!LWe9c^V7Y)O@mX@gUT74@~7~6MZiFC z5WcrfMHd%DL2fdIN94RliL>&X8yk|i&#`R z$BgvPTEsrYXd-}o5&@CTf6%WdgDB9OMbgfHcI@6wz+Dd4YW}#ir;Qd4lqH$`sGG3T z@O0p7f7_eZjNV##cDRt<3g{~W_J9JSDT;n+@NxNXH-qUX*6a`4t|Qvd$m@(>HuX4d zx;E;VtR+%qM2cdUjn4O#iX(fXxk!h;0wE-Hj6>C_O@omu;i7i;zFnGA3J)c%Y_U%6 zGHM_F7;5w0d)2d}opxKKp@ax2fK`iC{Bk{80y<6OE5Zz69uG`2wl9%`DEz8a#0kFV zLxk;6qKng^AaWX5WLhTY-DnXM$U`QI8-!&`a-B@bhSroCWll{>1%}IJY4~6`4m>du z^$h%d}j{&47@b@vi#oPic;SB(>|;2EhkFFSx0WNTkzBAYb@)MpURLLZT0WNpx<$( zM7&TL2h@oWdKykbMrhYaa~kOW`&*!2NiA~LUCF9pq#qT;PeRLkN|z9Zs}(J8jW?f# zC?eB*hyn^EDPJkGV;^E`0Tr34&1^82_<2|Ij~2p{+*JIetgZtiv7v8UAc5=QR^1TV ze+4OyUT@0YoDqTmQ)R1kEdGgxYYZ`%eqri5OZez4&)sy6sbp8~?;M2Auy4x6pKwO> zb(};aXdt1j@}$hy--AoMy6-{w!O-khI(Sm%J*^(BX%uA{w>tOK87cblfG!a)iYFnk zh`xMBr7YpVv+0^>GDySGL^oOoW8S*@PpODqFJ|i=eNZ^F=G~0r3*;M)12Z0j+P-&i zy_>)wtJw6g>sH{fY622eL0BFekwaPdNqXi2HSS3~@585c=`K}ZshJC|&$+^)t?g4< z9-#v{2I;xfY+F%R*cB!aWm{-OI?`o8*18)<0Rb zpjw-Lz>M>RsVW*dsiv00I8MLVb+M(tq5)#hj1TxK&n1{)k=DUUplwn1q`4|0y2L1a zY4^Ci%U$v1{pp#%MW!C(wG9Nb{jO!oRLJ@4l$Tbb@>H>E1R7*^N>E@`RGXhZeER$p zr^{5dU{zmrrtNTFM0!#hRh(AqVc|VU9&GiCqFk$pSmGcH6x8v_8s<(7vX*q=#e0*er@39#6-7BL@ z;%LC{c9mV$(a39T>(_#mZtdce{Y!`c27eP&;B1}?p4g3&{Hy)AsAWo^@YIW^6gGTI z^;acxIn5$0%%J|Av?Rn`lA%2MCUCZMs43>UO{yA+U{{6?M{W-sa3}_ak$NdqU4YsL$ZGbKo|VziPfFkHFrO!UiXfx{(NE9CxQA^4e^*zbE90k%<-(Na;KJBB10p z>I}amdUP~YSGjPgaw7g*atEdK>=dzWB^oeSv|K!9id)M3R z*Ax9`j;Dtk#ckgN8Wm#Ne^u^SJe@gp3TRrQuPYmcWy4e2N_o0$FZecfGizOj+)5p8h$#uM?P;R9BjB4P&1`SsE#Zb~N?K)oaegsx9U1FTy(9 zhdnJw4p<(8Drp0Cq^qV@MU)N_djm27fCNK;hvuf?!f2HrpFf)&Pzmo;s$Y6?;x=4i z)2X5!(=nc?tX`W~jdZ!)@*!3J6&s%Lj{t3GA5VA^7gC&|y#J^5ePyrdlJ|bST+?2H z^IVLUID2*_vWV!->_G$!8Ckt-!9WL~juPQ$S|!-1E$XC{wcne-(1-{wOBZaYg{qDl z72r>vamix`&jx5`=KRiY6l;iKq=uL$0be5G}PyN0_D z6P~1m6dOcAI%vDreXA&tZlcn9OW$ye-2QRYxy|UFEVg8+mn6^z637|ByLX$jiJw!` z2NAGu$KSn}w8l-u0p-t*x#@di!p*QW%Z*|{B|rvhC2O>VGH+Ba=$qR5SEJSgJ&DWf zvz>ul3yPz0EdWmtBjn|lTB*G)Ix5$*bP^n%wVhHeKJ+VLNonAJ7(P+SuJeiMC-z(Z z^(ye5al1Li@LS(`T8-zn0J*LFOJe7yQ1f=1(VB~lp4 zx3YTtC&w4*&L%yXYW+v20R+@7TjE5jhE^TLf{qq5g#<#U1`Y;bscn_(UEB;tMregmB-fApdZc3y>h_bY9w@@$Lr{+xfAzIl14w~Ib`Ff?lPmSnt zRo@J0WZmIg+jkZn>ZS@()p;#p#QL)jJ|?%UN$4LNTV+^8U7GA;U(qPf4l2Ccqy6(n zYtFxuW-zwBn0@ZZ=?>8a9=5z(a#)!QqIVCR^G_4G0Po?={k$l6_jmsixwKNvpYRs> z=e;}pVD~qZJCj8QgYVjNohgz3;A>Oodl9Qf)Rno z8SA$Sy1aa{Z#OJVKk}83HZ|Te>>vnU!K+ineQ?*3eoHus5QH@2@c9>h-rl_Ll>WCV zjlTS2XrM)RJ24{sf;V$5jPG)?P?x{#g__ZP)~KD7f;g2=J^F6U%-NrFiy0YtZI)c- zO+4tc+7i9Y1zNYcl_|$}VnC;F9N@K8w#jY#8;A`lAxJ3e9G1n;I>V9lY@nqA`TV{n zb3v%s1avqA`y198q!>zAcLZb1r{9dCgLuze4r}&1LTIEmuUS!a4 z{T!=i*~*Lczbaf3v(k6-N3*+fK%7HD(#eas43yLqVY9*Zz~%dEF~u%h;xyM$qZ)xz zrQu5K*By0FR^ht-cA|lB1<|Vv{}LNUR5gB?t5RmSKsMin*?FCXwa|0KhpT$AI`ve` zU41Qw;-BGep0T?{2a)r1`nkhbjqSRGC= zK(1Vi4|ZcmP$>HK%U-$DOKK(_Ir9}P^dnpDoVvyd)r zKW2X(F}7Vr-!)G~q9Yc;o(Cu`#I-pFKeykBwv(^weF$dBZQNcr!bqsXRFATm%8eIN zf*dLI^i({Y|Qf$hVetH_58q~7hEFFF-OJcBUlDol?wn%Uu*YFhYvRPi)QRm)hz z_D7^HjJ_F^fsEz>=!s=P%W4Calf|Ms;4sSv`|mXTj_cP4S@|>l}$n zjjl(^i9F-MWcJVq;r56KT2hVKdJhM}VrkkM@n9qA=jFtivNY65ewsSaVUMr*DpdtE zG^CJXL9EBLq@@CHMjzcc+n;QRpebShSR51iGn)zMO)k6;x<=w5up1s;8e219gv z9-f0kPod;KMQ;yhN4APjSo5ytfJ_$*QD0l_^9f+k?rN~$PzPirJ8zY{_r-Vhg~6Za zmq#kEqb6hR6%JoG5&Rf!m(h%Bj?Z|#p`A~MYePa@<3#}MGp*OF$x;zbLt z<>_Och%y02#d0yG&Z3(0?%>>oyI>CN?4-MAfBib1FpVue0gxriHFEP^1`u1BJ!!n6 z=$bF#a3o2S#3BvuaVPzGj_R8{l`SU*>5HuQzi_33_?Jxg51j7M#HnGM!(f?}O%a$0 z`LX6+V#AG*%b^MCyHD81=X0>o(IRMWz1tjw`)l9OL?PW=lG2*IuW7rRCeEEG@iiT+ zXSd`yHGPtTq7!|vbbs_CB=%=rpJI9gY!qJjn(o}QJ*hcd<|6Cc;9?cqwB#~8^`))uR zUq={3%`7rL9|#7bDn6d?`--{z#Ij?1+4>8n=y%xvHG$0e`+4F=os^k%ANne7Eak5F z{cuj`nd?s~M9+Q37vkd9lg>$7j`9e#~^vQ>Q z!sh92y;?CPsR3gM7djLVckSw$VI($RbR*?~SzB*NJN+X4lezw*B>_(O$oyTuOmY%z zdD(mN=jY0&qN4%n1U2=&g!M(=og6cDk0xqst%XJ<_od_DJ|Yaa}^eR3hlyQdsj(RU)QEZ?t9Fec(x>U%K!h~*MFb_ zCYPORetw$10k8Y1aEU(ey3+?HP7-Ocbh7IFJ}+Sb6oRYaW)s!Qg0xZpU=pzN6_g6T zxBP)#n}w+`wo7RK>gaJ8Gg5HiqcfED`3iAo^ZltzU`drD#F3FaOHy+|8$<|8IN3oM z4JHgP*iHe#%Mvb#G%?(HGq5azRzZSJ%(!{UITfp9>mDuW#y1;8m5>o~LQ1eTpQhtO zis^n`ccaZMUc6rR&5ixUP6Z7Mj#+Goh1P;!?<6yJE+(RB-Cv zl;)8!+%>3dv63f^$l2&xH$j`TLUatVwT$AWX6_fcFuOt21F30s>x~W$TNsdT&H$&b zR}!8a!_My!IQh<|hr;!YKT!nr{xCu~IsItRn=8DkrZ^erE?<3v+&rm+B4uR@*|y&} z0mvv!zl#zY)~fP}NoVLY><82%YF(0*0}Pc*!5-%#!`V-Z%CK2b3n}F>6wu9rAsUu6 z_6J4~gHJzp`*(ueSwgvyB(pmey1fAFBJ}wql%X!W8|u@^W4;eH)`p@`geBW-wkTZA zN{Zp4Q?=P=zI!Wkj`?LAfHJpucG9!d{r*7)(8oW^&Gt&mDV8d+6qL~yYZ~%&F=2!@ z!=&n2@iASD1yXW{V2ggjJUaQ++olJ z8GU7*73$EArA*&>-D>_0!C?rml7msFk7(#Sp<+F3`w`93TcX@ z{8!D6Z}i0;--enTIk@}Ixl=*E4CALijTvixe)-sEgGztl#1MVL_TW23Ot`v9|54co zNODd0oyO;|^nK&#JXNY6dA3Bsn|JAeeujG9pY_1v)6&wk|Bb0lpRa8Wx$9mrz!!O3 zc8gt-1KX{9O?3!|DE_M`zb>OOa@6OlgV?z&w$LvOr~#C*)-TUP(=3iylZsWAg+qI< ziB+t_9sA$dgK}hp-5ll5%6LYAG@IOpCO-F>xQt>8o&A=uYe_s`|LY}d#dwgFkgnw~ zWS6|4;qmv7S#T}RL55uRCP)FfelZpcpTqmFp17-HG&P(%AiHnqU5tL_;Frn+auMl75)% z(B49deVREDDs$o&;^wm#yHcm#A=*UL!cs-zCZACx~2!Qbr{uRye%@-jJu}1LK3eF+S~_oU=8nT zt%b;AKJ-1XDDu}jx0lA774W-f79>Bs2;)s zMi4G8c$x^m>_(r3Rs5|_H^qnGj!m5B(oF<7g{7({pu9-BhF6CnP)r_Q{VL%*B8>UiPHQ1l3BQuk{Lcw!ZFTgZfQy4Q_8c$DX#N*$Jk*ZemE zip)4MKkxrG{QqAijG{Y+bisZu`+jp#9u12(k2zGS#p8XL)mY9`QVa51x$Qx2g`;eo z#{0qnK8RrFgvyyvv%HahQ#?>PX#xke9fYqD!-91|#3Q-MBR+3x5$uvsxh+uWFK8&i z;ic~a-R;@r8(u_GH~xb1Sr|OnzWIC%JasghbhJgd>`&&S(S_}L`1oV^|Bz+Db?+;` z$-h(qV#pRZEyu6_)p1c(g{UwYcAs=zah|7`J5C+FL)!`m{A}H(gt9)6SQi&f1)Vi0sm@zuN?J=#4dzj!4j{0u0_N7yh!%9aZi8ohaRJv zTRcK-S0icOTNM4>l4^Dh?0bcq0WKj&ylU|#nvvfHch`RN*S3-v^xen>;cICE%_Zin zD!pcKel!du!N680lY6(vQr_r2wg1+`wK=E&-FkmnEpzh|9OD7KDh;~*BWoS&@b-^g z)64%<&7dHCp0~k_peqT=K-npOd3wnJvF4cMJn)1HV#L9?-eEc7rNcFHOT#(%PM%0# zsIKAK>6PC+G>7vpKbY-{Uc{vTpuu?HT4vJiad%3tE9+ouayyU(`M8I_-poUAT^HhyK8vGA$R6TWdO$vFex zbFjDNgY`u$ewUxvuuT?{l-=bW!8eqNrK&-;=_smT>4xE4xFDvA6#gmSC2Umg6qNh1LrwWwdA1v zS64I`ODvBJCQRtPNbsP6$iQpC04By8XY5}*x6$hhZ7*J@SO6NBas({63tvt`5q-wo zb#D*}U!S0EC&>cUu-euhAGTH#F&BY;wVyn6ku0Qvo40K zmku9HAGjw2R%3p+=H&Ju1okxvH#eZEj%^(wsvfoRU|ya3ASgpf*z zE$=mn)JpzH`a};m#Fk3s-`SBcI)oo{dIYX|}1JF1-AvX;r4dzN3Q%@j2F#qShl!DYl+ny#oNU>zBB)W40E~PtO@FMhEjwHx_ zqIi=lMXlwdVFFup?21T-QhiiF7oaV2Py;3g4==Hk)dl690d4#_-O9@bt zusNe*t5c|xXza{fy$7N*?g1^R7Su#}?1=Km#xRAvuz~)4BDKQ7_;3`l<%wENzPoT@ z@aU)^+255D!W?TvHLwB4>_H28pGq+duJ`rE!Be|O9DUCQd^h7v+C{|Rpe$~K*e610 z6@`G2#Nx&)npR>d*r2#Hxv=@3NI+Rm5c&Rz)3bIM;#mmSu??tT%tNvkI;YZl z(t;OPL*ROdI%@a*LXnR`>{x3{^wdbrPSyegmS=`;0;~c5yb<=h^{qx&6TvHX4c_ry zkN77ND7$@j2YZwQboHOZ3q$ge9G?Z32bM^gBGB{?ogE1*sN5kok`|oa&wPc~iZjpc zcx_>B9kUK$+hkRAEmnzoyoDR~psy0E6~wMHArVtyWrkU%>{m z9V~u&90eQaF5)gs3E^BFNp-QXW;@;K!m3?>B?HTg77WgwJQv-E|{U0XB7ttYaf zRqn|NVj-zXqoO*ZjC@V6?|@)nB$sL_4Gk`YQTF~S%LAd)x6UNt9WATUS19ou@1OG@ zFNA3A^q_K^yS`4C-BcO~^;-HB@>v%krOK3`aa=KF%P)iVhyU>8+y1FIf7uHvGOBLp+EmZ&dGhOeIwfl>-$yYUz zz0jPlduRC=s9=AB^wb-#3C{8BLXNgw^L1m4i2mxjdiqZGtC;PpqDmk7CFAMc+`^Z% zp-PFXDnwaAkm6nhxw)$C`)?dnxX6#XHL}mhphdoxUBQn6!QPNd!*IHDRZl?NWUv1`deXxUt zeTkKC?i057XfTt$qQ$gE-YY$73KQKRf~-W3SL^MTsM#;vkP>3|9Z_9qm=CsCEUNO@ zAI)RSYnxG7MDF%+eR`g1_(a_Hmf&gLdWAIp0l-Dk7gBtYF^>3voa7oB7X`5L-l$tX z%{YeSC5x=(k6tznk9WpaV%C38KS)x(b!Lg&WS8P5mnV>+0v+9__onAwPzgE6 z6L81?DKin30+ytxpP|Ddq0}4^@{zA=Nyq-%$s0Bw>++0Z)`inz7eulHH=_Rj8E-JQ zgC^L+VHiZSltA!U6e{PAWrM{y<5BYMtT`_J+IQ`d>XbM{f&D_dY@NJ3KBMHb{8<`B z72zzbcd_+eJli*X#3_QN96*}us1u&k;rfe1#I;YDqB`cYU2*97QuybhhksePW$_~@ z21&zH#bTrbu!LfaC}M&D-gq;KH0Nl9xALEBOLfV2RG1q&qZ-Xf+vnzbBTGv+nuOl= zvRYOT+wwF}3!H0cJQ4yl|2u(%1yalemUWElBzBYy5@$p22Fg@Tu)=~FiNh#Of!*1? z%0aRR@Ab%k`W0RUR_A`l zQ3QeQ&*ryCP;JpKtF!8nng_(390Ko7vNIh4P^DQq&8GsDW5Tk|WjU@)oxo-ko!RaH z6iiElz>?~vOAM+-JJUFq$N7TWN8J%Fq!_>6CY(X_)=LCrZ%MgL0c>wtMIH9P(QY!o zD&Y!i`YA`m|0M|yc2TVg(M}i(`4>s6T>6^A@h7`$gb0<4?7Lin?2E$$mMjflFF1(1 zHb3AX1m0#Clq`O%CBBS1lIt z&4l9hvE6X6Gwc_K|KRlmH}X=FLHJyu2%9NoosMm@!N3)09q&zEro@0#jIgW!4am}- z8z|jhi_ocGDEMjN^XA{r^M2fy+Yo%|3vnxQ|IxEFLBj9%w_SrfIza*tJoIL1fZT$0sZ z2#-|Te8Cfy57{?<|+}s;Ta4N0sOCr*wnogC$oQW#7sAxmdv{| zt_F$N1+H>Fj0$K0&Sg<7`OvVq2xH>FHoRH^brlLb4wGq>9#2 zE*FMKqPCfI7ZEyxx_UF8oUG2#3k`c&1z*j9pAts}kqPhee*tyd2|Qa_rx?C6oS9}Rso-fpySFrbM!wGG=S)~MuZ z)N0BBPqOCG@~}a};^pI_BU4Ktb#PH(l~c2cgI zk7{B9rB>2pzUKbP0pI)nR3j&V22*YHuGgyip012(_RKWdA5+Rc)2H7C?UVT4tMkcx zXy4l0{hXSCHu^Hukmz1qUuO)7g&}C)RV32j!Or#i_dm1Q_eKQof0g}E84#rIakQ>7 zvY=(ynW#4SM*6A$4N#klZhkOHVGp`26)HJ!!}LOx052#i*7Pq8vbly2sLU zP4)eHkd$Mp&9C@mHLS>C>eIG$Tt)XqU||g51tmMbC_r|z@n?MU0HuqsahXI?$3ukO zchk`Y>0jSpA4#Y@@5JXfLWUn<|6QDFJb&jXmUVA}6$iKxsLoEx;+8S6U?g}YmCNs> zL6WnXrssOoz_tE{%9k{8-fco4k;|bXiQi9YN&q4_c=U0fxZ>M=Sf(VXFAp#n6N(C% zaH4v!9G;tIS@BoRJJ;{m56$pzCVLYuRkvKx1bPu(-dhKZzYejvQaQlh?XQNZo&|o0 z|Auw90r%&i7TPR$_$;Jml*Z~){I|xH**P*S{`~$k%R|1ak>k>S)T?1GQPb z@98`cjBDk`PVvkwKHcgMJ?i)&gsxnz2A0{7$tbDuP4& zoox5NP+l6LI8ZOy2+s;u_#_{EZM?UB_?-yVp19{RVh|}>7vwD4?b%v}mMY(WAii=8 z>pRE!E)yRW0CaAGx~31=DhdzlL!XKo&c;7!Q!X>TCexN5F?8YNOpJdD5nD3t#_unq z@Ai~PdY%KgzLenE(+^>WcBoi;jzN>{DFcfRlTR(XW1;yU55$7xN!_DAn?;ZtxA~m4 zqh?Y#(dYTWzhi-9yT(+T0VMv8n#S3#;#d|cjX&pYcX&d{tKPTV#M7t?I>6>@68Yef zkfz^OXnq^D9$mpD3zc^QCD~C%vnW6}ufTh?^4Tq(yhZM6#`Za8#iuH}-I*jP)s}f- z*w~u#$g&WLrN zN2Ngw5+weYi++{*$+alp0mYccX?6ZAg~1bY1l?wtAjK&l!Qb9Jq0a3>!G^s&kWnj_ z;rIIcv+$2q3QoF)<4l@q<+W0UNtc%NulJslC3gcRMNpGypVAyG*cjA>zxVyGp~3o+ z@6HY?Uw(Wcpwdue+bnmhdJ(_E)~(%H=U+GVAa6dbq-zWS?vqK1f2klFG?+IZ+T^AF zX^=SzPoKv3gX`(l0hsk*VF1!>QOSc=tud^FsjY9LB3i#b&W^P&D+_V@Z-z)A!4fZh z=Gsi}w@GL;$Qo7YbgR(4{3{hhX|VWV@FHI~kmJ=~%SRpzjI#lyq^Gyib>v73^*DZR z4M6%a7vL@c45;)B1!bWoXUE*Z-vpbIoDOCj%x@ZBo-9tK(|%Am7snj}WcUh~Arug` zG{Io8a3CLvp}GgmbK%1zg}jIwvPB}NgL6T_LLu@OGZmH3s0VMFA9Iib;EMT$S}Fk? z*q$0_B>5C4HzOJO7DZ3RG|x&M4l`;tw@a9BM^7-`7_S`~Six$AcL6V338VK82Q*(4 zt+H*)%ksmJ@5jVJ{^9q4lBj<7-ekR$gZJDX0@} z+Hw4Q`|@^iUxe@YquCk7s$J5 zqz4~jS5Ky8#f?8ePS!`#j_^U4lLOPUrGW~(#!N_RS)Ok>ycTg{;tMOIacaCCt7MkS zX1LL(XQC&}tzQS+rKglsU1ESDRrkDm3P|QY{?G}ZS(d0MGVG7{_ zJx4qc9?bPP8SOwsnK7KRV=_tKC_?5#v4iPgW1Xy@{`O%VF#g4s1Qfp3WyD4ZV81Wy#BxKYpXMSbw= zJbV64n0y{CxPFh4z;|f*jx_nHJWinb^KQ6d;P(+R0Cn8-AjPV~QFvT}bd?QM^?5>dAOcZ6i`Iiqa zYjxzXAq^V9W)sZ!*`f0%R|mm^6q&!m7L7GZ_{r>iBoF5oyB0;f>0x?pnbU`uYMC_y#vtcGr*FldbB)Gk8B z*R&Qggm>p&?@^~l&7yYh`IdRyshZ}=nd*pfU@ z;M%uLMdPAw0Jl5g`Id&to)^~aizn7|MMQFyzm%8i|BWG>f|7K+aIBGp1MeJv-PMW< zEJAA_Bp5-RkYHa&lBEVWe*?=V-l#DiE=D$LXY)8SkHy8QR%(LUd~;Ff?s^iHi~yr<$&>|+bDwp zW(OJ6< z^aPzPT*5y%@ug`%Mohn5z$pj*q#*y}P+p7|{j9jsB`6Da>pdp=FWWrA48uFnPHKI!(ov-Mi; za*N#^5h#wO>H<&f&EKQxI9V0jk_7E$+hA9o6B*J3<$c(SiMtp3{v<0dD)deW8e@j~ zx!4M1pueH~WqHKIpmopgi&=0jv+>&2q$`#8)V-;oAbCLAk_3zU zu-84;p{nd6oh!Vb?`0GY(gxHGGli(fAn!q6H8DPoG<37hghRsVkzN zRhDZ$dhgAvY|#`l+SO z@r$oaAo%ljavcvVFF-IyGnFB^fBc1qszy6ne%`9@n_!6YY?a}-C{-HF+9R}dv@j-4 zt;x%;sR)mhu+j|oO#d6`G{$@Iis{MlN@j~%So;Vl&RgeQ8jVIG;Af3~jeui+ABqrw zHfs@T^DfTD@3+ugGn6^EbX*%Gwp@QVd{>qg_>KAGZe{pcpnXcR07k$mHYz0WD1P#L zHSDI+5U23ZC+%=aNH-UcR54<`WuGtUAt?Y{|34dBT+}HL;??^lrRS4f`;YHk$DJ}u zvXv*9_7s0dOspwul&He~+#Nu(cAaInXLf*Y>OxPslfYFETRov3d`4HlAEB%IRc<4F zeq@80UeK@rq0eebQNa#<2smm~(1;%9`EL7zE5q`aNTqd*<3#Bc-vxn l)rR}ISL7Nv_jC-qikxk$%)z>9hk<}UO*LKBT4mc8{|6&vF?;|3 literal 0 HcmV?d00001 diff --git a/test/fixtures/plugin.legend/legend-doughnut-right-center-mulitiline.json b/test/fixtures/plugin.legend/legend-doughnut-right-center-mulitiline.json new file mode 100644 index 00000000000..5131989bdcd --- /dev/null +++ b/test/fixtures/plugin.legend/legend-doughnut-right-center-mulitiline.json @@ -0,0 +1,25 @@ +{ + "config": { + "type": "doughnut", + "data": { + "labels": ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""], + "datasets": [{ + "data": [10, 20, 30, 40, 50, 60, 70, 10, 20, 30, 40, 50, 60, 70, 10, 20, 30], + "backgroundColor": "#00ff00", + "borderWidth": 0 + }] + }, + "options": { + "legend": { + "position": "right", + "align": "center" + } + } + }, + "options": { + "canvas": { + "height": 256, + "width": 512 + } + } +} diff --git a/test/fixtures/plugin.legend/legend-doughnut-right-center-mulitiline.png b/test/fixtures/plugin.legend/legend-doughnut-right-center-mulitiline.png new file mode 100644 index 0000000000000000000000000000000000000000..72cbe903dc4bf1a6f3842a0871dc72516b2fbcf2 GIT binary patch literal 15047 zcmZ9zWn7fc7e2hZEUMDkc&Sr-I?0RIJpV0gfKjQdkxZ$eEbgY5ynTz`eNVSQ|R(6rxt(EaqTM|MEcJ_ zhc@A66n6hDvpI2Q!s4>J+Z#r}@OeA}rtlS+Jml8@33H9fk5GFrbjfWXkSc{gUL6t1 z+CUAbg5#XxAzc}}2Prw&0q5+X${i_T z{}B9~?#A)J1Ne~6t-0&61C`zE&@FkE_}tdV?Z~>5EvrVX^feTH*e=-h!W%CDT$uVC zOU>N2p-b_L7NTfv4#YaKC#T(5G(G*s9P5RBMDzYbe@?{%@pYcG#WvM0M#GNvG0YyO zIaOz%Qtgf?~Tc?c|kR^ME+OUER3VK z@g^b$h=wBeDd5|xO%W2|NQOPafJf-GvYbcuHlZ9Nd!g9REPQN)TnPq&4|h43N5>SD zU{Q}SYTEoW+*L_GPF*6YDG+_REGgFgc8Ks*_LZyiDxIhC)_z%#aa@Vf?$usQu=n&w z&eb7F5g>G&KI*c5%Aoc6)G;@!khQ6Vwo>x|zE{lwdATtt2%I2NaLH`s`&gPduCMr; zRUG>0NluVX!{=g3PLNg#(}9$g{<<_{U|^R+7+IikSFrEh)*iZ=wGdXcrqS>87iFCo zSFe!b#n3xpDBzRsY?)9XzRb`W2U+<}T|BhrvOd5J-H*GF$KW@g(oyU8;ZNgtYYclg~wMd%2{~im!p}Io_Uh}ZU&`PS3#mv3l`l{x?=gc*!H}2N; zb&8O(`dLUC?!F*%IPo1l+s-H;35RB>!RnKt;;APcDM$AsX86j#m4^(@G%s9!{o4m+ z9r4`*ZG3vaT2|taXq;Vu)cHa3R5feF~UUvltn!*8S$WToF;)qGtKDK#_~moIad zoaCLFfuct8P+qCBihXOmp@T2>J!3ezMeA%P7}e(E`6);^9>m_x{xlN!XS+1_+e(;y zv+>3GTjZ^e-JhfS+@a43Vq-E z%(^>DdkbC&z;pauQr;oDfJ-)9(vNv+f4L97ZmeSl?Y%5mWF309IG^6AVO}}7%M9GK zW$ws>WuEp%SG;JU3vnlnY@-n5tMtIKA;H_`-@4+@j9o?#T((EV zSaUa|j>d49hHDD?*V0NHg()~nL7gr>GuWr?%j0vnMV>90M@GS{1EQ?|9|GE2iO#o&DBx8SC_~ct_~%D$43NW?5vL%(~W^CWgmj zn{GaLZJ@S79k?}zQE5aGq!i@fRr2XR<={GgtLqHB@%&#s)8`{o!VLyHM6yrHv$RnZ zre5qppD$?X(+o4dONn-he3GGh=UZtE2S7I(G|lC zYX)#yq~VEcMNj^D`66)%hiH)D-|;x-V1EMxba9eD@AI|SpKX~pKdlYI`EPR>7V#Qb z&ez=xq6T}LL?Nv<;%!SmA2#l6Rlx@&G1;Pf^bU$e6^lVz%|$!|)C_#v2R(S+9M#9w zdZb)n|CW5=dr*BsxU*+G=*xm!zus@{u#-5&eI`ZS(nQutUj6kPzZlP)g2r3o_JRG??k-P=gTFDN-3iOzy8Bfu~9-_S}Lb+>WfKD=*$u%gYF^UZ3qru!hn@{J-{?w_M>g&Z!y5r&+&;49+uM?ljNoqfb zIeke4a_RRhSDk$M<5vv&LH!i=&U3l8e1xSJiuDT$X{qE=a`X5YB#qy;-KUlYx2V$= z=NB_W(Md{Kiu7q}3xVNus*fFR&$mOU@58C6Q>D=)2T9E%8PZeRR}k6H&#H^Ird&pw z$yiuC>wX$??3h~TE3kK2XDqE%$a(cfJI=#}$-h$meF)(Mg>td_%2Ob6z3|AFgW%SK z<60VMyl2>_oPxa4vj(B6P28lu;$AmzRBPYUR1skZ>L%zKCaOa2QG{2 zDglrro;;&8R}wz`PC|rXN!AP}&D7{VtU~i(J*;3f%St7HPxpDWvn~DSA=YN@`{r~x zg4%BD>ks7Tx)gShn7OkN*TWk-I=@v zRYT@(%W4`KycNrt^uh z0`cWI_u){JsB$+tk*#upy3dx=z^)p;>*p?9T0P6Fu$|EEJFE@{(wzF6n1LDv;`7W( z!nfdys%dv8gS3gZ?ZL3s1qH(#>sPQ{0t#XI!^dR?rS9+?!`>w6GOwDJ;~qql9P;FKLgpA3ZzjH zR8Q@lj1afxrGL$%XO(_>oqc$$6zVvxoYk7_Chk9@VCu}gH*Jqy9GOs)-{U^zXtpt9*J7Z+FSen=UxNXdse65%D1EM79uuPg?1RklheN5|}V^`}#k!;0_~o zGYuHbJNvv28`jBx{HjoDzd74=DL3G|O`*bVnGID2HVgZQROKKfbk@w-upYyt{V4)Ql@njrA8+Zn2W>o?UZvr-SI3e=CjYWgsAY(IH&bz@*ZweUGuBWgc-qM8Ib zr9|+and6Q0ZMw*Uo#!r|D*f8OD$@>6#Ws+4M8qWKdFtV!clhy$jBDO^xSzlL7CgDq z-jJtNcMG~;V3}c{g(no*D-gD9Nugc>1FOW(@i-QsO)-$Zdlh+~P~OA^lR@ZEj_SPs zOObL|-Ux73=iUXT698v6PFG9pQgN?eC3{~|peK(FS|yasacgAbJ=b4J2<^%FN#xnf z-ZgY`ar(ExFYe{a{7|{vk#)V8+G{9`7Q8wcnoWghZ<=+mJ~PkAr(7hpx`2e0_`xkFPT^Ze#y}qqxAk? z*~UAwh>KAR=p}i4NpfgniQKAEdihBp2a?RUCGKB8u&LPB)RdvQd?!Kt=aWdgvYnTL z`5K`h=^wQr*An)j7p;qRLasdvP9o<+wS>o7hsl0PXV2Bly<5HtQv=_t#KHF5iUPs@ zK%0CaNZL!^Xn`x$^`t6|0=-OpHJJ^GBIHI9+GQ->$Z7MTr1D41j4MhWaeZ*)De|Y; z&7>HATTZ|UT01ADfvk51WxIn*nH{Z~8k2ZCUMf=KuWwk+T#ku>&=rBvydRR6Bx`c@ zN{g*cX#DT`&?BEFb~OCkBnPYa*%Q%>5-8AZ9~fUu%KdF^Lgyv@;SCscpTez|RVlKw z`b&+G^F>Aav6$Iq2TNLulO|gCC%Z-ncpDenC$-+5(@cB07jYnHG}Z1m;y@#(%D7+E z7ZYZPB*)d6W$v~$qaZ5ojM>Eii)!pAk(L_g5Jf8f7-PGUo6Yxj6+9}1vr&t+O5ABz z*_@!q@<3EL06?OfrNM+M#%t-1s$l#@%Rf%)WqM{M&=Qg}b1puMkAZe?SQFvw~-=`>y%!})dhP>bDJ{k8U-yxT`W@nHcTiN5+ zEwEVecLdVQRWgahGL++NfxeF!mrsf(`HPD!4bbkq(lLIti#8P3222k^@w)Wvp2_gB zCkEDlOYcl9@~Iwaq0g_Q~(%G%Y{}SU!d25^|pEC5T)3?3^-E@ zTOLllAJQf>nuYhhMtUm;yaSc{5K@xvSp61etZ7E%Rx0gaV{Bwed{7EK8yVCq1o;gN znF9mh2$1h?!i<~JJNIG6&(iJHp74R)IwJUAgthA?wrrw4Efjhg|GWw8oG!+^(-5%+ zM;T}@@MnB)eV;)dOJ7+{OkDc*^fl>wX?mkKFGx5BNWod4ns(2_QrR5*><2HU+v(w@ zr^#10X$M!N%vPk;_WyKcq(N*E9|OiXOnJIMF}PNuIkJ&>3Z2>h!p%pY2{ z;SEDR4FF&xnHkt}Dbfu|LD?1WC9&>b{?(06u1^|W|H$98^S%uAP~fi|qw5Ws1)n&1 ziEgal!5v?Ib%}C_EYLg__9Yy^|7|y?1hw8|^>E5*y=H}8NCrC7XuiOorMv&8>kAX!OtBhO;=9O(p$Z~&?(v3B>vQklZ{5$5?1Yq@Z&A{Rqh zezC?H_iILkKOUwhTK$H~XKyQc6GGNiZgAf!~{?nAdDZYO-LLKdasHZ^t= z(%J<2l!RE?W5Y3?8r@9_a@fhaChm{7Ps8X?FxrKZZSpnu10FvxmX9a#QW;ZA8h|BU z;{NL1D%C~YIplg*C)58fqW`PAa>e9S&v)eI(+$6|N{{7)SqNL=>bY|_U~4JI*kx9t zJ^GFD*3<+i?oMGmXxJ}fB>}UzA=u;FINoOS=(jF`C;!-AV?Lqo_>KTu%Ki!AV!A#Gp1_$^ed)aQo(0tu@3>y0$Fh~2~o7B zhr~ht(RR^ssG(U?*_|1O=E8+|IAPKoV1=TTs{>3pL4NEf-x&1KUm?%w(uKnLZ1V?c zAg$bNm$j_+)Xo-F0vbMTx zo{y)CRvm){)`3y)7S35bj)E~7aI?kiRB52m7^HpOB#5*MXngEnbxSrh!W0Zng0f9# zn++{e7G-*n<1}5hl8o{ndb49eD}sNWE0bJ!pl1fPJ3`)>bi7z|@{0 zgO-Q6C4WUT9jy$Hmplb5#m`kS)em?5xV1|Zi8V8t#ZrK1ABRzOwE}y~5*J7(UIg_H zKtS=f?y2BVNe|V99W!bIC!pK~_Ou+sKo0Kr>0yPqr=tB^rXa5MG}IF>iL9r|yM(y@ z@>u{p)X-5@-UQ!yAKiDQoKm=SmoxstX$Ue#&9Qo=3{%Rqp8DdAmBBl!xW$~?Yxn4!G2+oLc8*=up; zS)HP~&z(iU5fqq3O zLW9l&Wl)uW>yc%6a3}1E$W;e?R_F<(BIe*8b~Q?DTWKURR#cRt`p_(~))WZu)57 zqc@ePR)-{2L!kqdQCX$ja`F9nxR?WOff+7fM%_JR%4TlkPpa4Vod)-vSQO?tu-QdI zMJCg4T1qeNT!Y43)1s`Gpo3zz)n%>MREN`dQe~gw$w^bXPJXg!%P(CxRWf@tQOCNs#H+b>qs}qV+~hj&^;=IBM#ffc#0}Ck$f8LM(jr89PChgzIFO&)#BTV zXGFkZt7j$?Yuw`8g1!K_4B*eahJ0yMZVgW$YR8)PJcoE$LXU<7nlUcqht@3YE!$;`-BiOCjBxV}fh;ZxN^rhOs^AUDBKiy&_Br8huH5`3?2R`lSAtW^4(K zmA^P|Ywgjx6U+_`86?>W$D5R`b2s{F)8DLW0mOHmlXfJ80#N|Pd@2l)<`oh!=tTY# zP#;8km)U+EVK?SN_gQsRhFgE6q@#kgI{Dg@RJ>rDns2xhK+ZTJ1Q~$U8Pmpr`0s-H zp>h-nuXxw@!tF^Q8v_AzZ^>)Q9_{Kf-tRmAzy(IG zpsh|X9oSd{WJ&amgI8$8sPjD2>^oiQBecKCt6UGvm@1qf_RJ0i`-6*PI$ttg-h8fl zX#huV1pn39ybtibOe&x>N<=cG|M6t0CP3+ad=cnsLNv?!UEoCRMuwS;i2+Z12_YWP|DaPzhsq(FDwe{iBBTt?RViaD4AH0SUO4POC{VOL@d7qEA zk+HP_f-Xg5b}=;Mou&W(0+u&Bmi$|DhR;XI5V@dT#8Bg?{34${QsilJUGx3|O0n-`Y_xl5vc2 zV>|kQ%A@%${tcOyjZ2J5cn*;aiX6o|xZ z!hQmb4TH(I@!=jX6)SMkH2H2O&Spx+1kq-wkYMnBPUS^mHnL-eaAuJAUB$@4psYZ) z5G0u`%VLD&oElkZlvDmOAGoul^y+rnEcSezeRcjJDLh&m)VZ@LZ&Fl|oA3SYE?08T za1c~x2Wpuu%wD({_@wi==kPIbggrkr4-~|y>+4?V_$o)yMJG}xZ}m5HZ~r0XgHfBL zN)LS0<E`mfiK>(Vs5Y(e5--TLtbyZm!|(0oBKLV;}e+eBjZ&p^~6krUo)=fy%O> z&sUz+F$-1>9Pj7pM1bp^?0Ds|(*;fTm4??_-sYJ_Ctv)TpfbS_$9i%btFhxBb>Uk? z!Pk7j*U_>!Lv?dPe9~@0TW55~yhN7chB1?t)1k?1i)msV>t?Zs$4qBLBC@f=f8i_X zGqNfBD4kK|idbxegJ;sB+M>wgQGMW+l!JOqo+!CvtDt2U7&2A%=0{zHTd>Vs{Sd47 z({moAz=EN$;ub(i`)c^5Dub3Q_fhzlRZ_nBnT?W2J~ii$iKeVzE8q4DmCgqy#F(!P zQ*(cODG&|~DpeX#tOq35#R*M-bma_^C{WFT1xnzAjjp7nZ27SulQ{qKgaPHp!pWcr zV?1bD3$%@YDdp^0XA~yO{IG_Oi{KXrHi+CS=*7!ey;CFjDA|2Ms>eWyCT)5?NhPTR7Xp$7L%EOQNni@Gl0aTy_nL6&}%&w9K z&MghDhfo=5oRuYqV@R-P2TcTq(eIX8du8bBqXOE#2cn&DE7p`uPW4hj)~b5I0{wCN zdV4oBfVJkm90s zZ6DV-LA_oH&r@L-MYW&T4+3rmHX|1=x9bN<2RX0_Qm0l4+7;K-O@v0z6`h73u^+d6 z6lh)=iQw!2+&;MjYBYk#(07Fwp0aDMr2PjXqq-WudxU;eD*eVI&b#*YiDeycp z@em5oNtIk(d|bA>&P6}?bAb8hiJI#GJW@D$A7T%+Ru6X@ZUa6!~0I3vK z%HafqMF~K>EPm#F5`v)LgP6gWYWkLpsvq;czS(^!t92EE1hlqL5 zaE)j~*>$`0^)zq287G0)Glt}6`$-|Y5+{F5CmnFl+HW(AGj)AzlqXHv1P)%P8Gpj< z!3!#l_3#_?VU>rLRfxbVCo5_RWE?%1oX(V~AAOo0G@_iU@Z zt@qHhUV6cS`03X6No{1)bn%%xU$5oJyH@b)RS9d2ahg$9yuT1dh77El@kP zL8=~Bf9Vw8sogCTXO+G;$01Na7~ZyrYbKEDXO#(i57>q%n4UlHtToliP2jTc*h@A4%cv671ME-smi zm}SH4{UH6P@y{3lP5OlUu9NdYgu5Ri7Q*nbhd-Amt2rP( z&qqV*O_d1j%>98KEcy3;4bkZueXHrDP|tdZf1zid4c*Ee1~l`l#vP?@esUMWGv zjX-9hlGnLkmu{6k<=H|d=CTCv0!JwS-CxMl9Rt-pq4K`5YAMaSi#E<#jQ802$*(YSQ}AVKI& zBdA?JLD)nn!oth=3Y;_!5P~=%b_}(sp#l}m&i`qcZJBp=Y}njWq<{z)2crwFTLX3G z#zkiO(nrobgqpXL?lMjh;%vpYt0&#I>v@OO_DT9YFuzAZOV10RH6|u`nWraIW=%@& z)BPK7X8C%4G_fYyqTC<^0SmCBw@-PzXwWq1$1@#qf5yCB+>rYrxZ`axrnG@Bk0OJg zlivxHBQ4GOOaZyAiOK0z_>};1!AB+*=f=d|g+a{8%D}&^DYQep_$hFz=IcGQr9Q9M zJga8^ekL)PkFblR@Wkw$S2B(@TX2F}lvrOV0bGbvUn?FOSnCQ;o)@$>S#~9V4XUtDx0N!R*HU}rW!Rb82PcEUzvZACYrLX!l z2H+{A@>Sak{{b=K3FaciM_{B z4CYm-VE^;kBg`x><#2U<=pJ+SjE-qemRlK)Os->T)A%+nTy8uX>t=te&3H+HDA_(h z5rlvPl}GM=?5j?UyYlWxeGRZqr+MA|k}Nq2z4!!^V?Jyul}!r0ZpKWpS^CaV0DsL+ z{q|Kia5at7ypoUcS?B-dyX}d%@(OvVcX1&cyuIXka^%lA(xon`zS|B*uHt+_9RrNQ zBx?xc zjm{=dU!<3^0`# zLanrbhUEZEqdfvuTZweOtc3G;t4Mm@l9~Twk?ysTXOn^YJ*&j3#T_BZrq&1b5rx=> zd!o#fA2$-{S`G4QI`xH<*>D1s4Z#PC@N5=Qry&7bAe%Y;`<|5q`Qx^V4j;#DUbIy0 z4aO%N)g3{kI zz2t(EQYso$B&hS@-c&18Kq_=nJdUMjG8Hqpeg}@LXjKz;y|LeYBc}wfT*@|lu(2Pp z;gA`>_)B1GU_bM=W1G0>8Q+!!oxU9~i9~d$89$BUEpw{CLt^&ie|Uo-*%vrB;*^n+ z&);ALdDRQ%P=)}q*F<_wC&<#N`p-#<&HCS594w62&Yr?|Ma*>^BPBkqWl2fO4B0+PO!# zr{W3Ppm=kDetq47gJVrYH)o!ShHv`Xn71D|VtOLFkUi+%qsFM$Suo$h?6ImRa%Lt} zTGWugK!OfbSMozxHGQhZ@_R*9eh*#wZ=>N!S?F)L=nxMg!6yNM{Ga9~HEu|D-}sUc zlr+l9GbvD<(%W9b3aJ{&6*TbJA-P@F_aJB45aUl{_hfNV7WkR4OvK{1k8*L&kwQZ% zTOHv}v0bymCgw)zXY7yKoeP>0=z7P-!Zks)Az&beFPV8c-dL$3Smr0`^Ei47a48VU z^YN%xr=8~Ytt*gNC7nNNb`lU(?lS$uy6QshOmDn$Zt1c?ItW+zqjhL*1wPMFsLTbV zu+T$Qca<5vs7B)slkYuX=N3^S6(l9ga8!;O6JUv>-LYw{ zLB_fcKbzW}C5=r{N@^vimjH zT7CIy($y6$Uz#oyOf+4cel39sX>FacddfR;ks%^s`=?)#s%^wV@2>jpab(DnrFw~A z6~}S{C`!Tm0Rt!K^XC&4?UMwhgd}ClBJ&&a<#C=Udp2TOL2jSP`)hkw``p1!EP8Wu zmb;@Nt^jnqdVLe{<9as?@Fb7xd-(()I2&0+eFNfi+?#DzCkepc`*#)Yb^#wIQvQ0xGv1B zQ(rr<{dnMQ%`S}!uj}fLPjN^Lwi8I|LB+o z41+8}Ia<5z>n`T&qP3ca(DCL(Rn?fr@%`~Ou*#%8|6-aw;pNY-uKXWrM-~I@Cv)rx zort3mFwC=V{0So{J1kKz>Xz6UTcTz8UB?|vWShV-<5~GJZNrm+u98@KYr;NW#PIjH z2)@`4&Rgn^(eTTc5r8Alm3S^J0Nh*;G5Lf-_yrz(O*b$|D6`90s_T*{CpCU3_ujp_ zb>D7S^8J=l_Zc2ijjXcr*!({&WpWfuVQf3Y_2gWD`(63Nh%%u4kAv&9!sgUXB82Eoh5vZDwauQTagKZmO12oY3`C1qeM=L?R6p^r8 z{X@`(b`UE{`wCEArDoGGz)2}(0PRWCBlb@DFE;!MTEEQ=5vk&}jQhf*&4m(q zRoaQaQ>8i>)2-J{3Z$eZKS~TU<<7i1D$P54zc{w_)2SBFaU9%&-x>dDp2@GhP!AJt zp=P7nij7{rJ~o$67Eg_zs3h7MPDl9(PRpuxPz|nm!&~3JF4xtA-2v|I6y`kkfgU-3 z$31;wM-aOJbs07L%hFR~EXlb^TOzUn#cE@8`Rq!*((}C696l#w?tiLcvc?0|1v=JT z&!@c|IO7(<{8m$=Qe&S`Kjj=$CdtZfUI>E@nmRn%2k5mY=faFwW7-LCoB*LTfR7Xi zgtZ~<(gXo|ar1MVgCmQXkwkH991nS_$pk1Kr|2YiyyZp^&M&8OtLMW2Uk1gise<>X zV1oJj$>jH#t^0RvrBj^LRt(buleE9YQb}zP&Djc|G{0EbJMkwYEVN`HT>-f7fw;^7 zfIdJ{KJw+I98{)a@?UPXAU|h`O=_-gGgX~=@yxb=nNZ{JxZh`7&XfjhSugprlNJ|` z(wyo5+yC)2tBu(-hzgvGDB6}p8EI_`7USwJ*(r}yjk~g%2bm+%95iN==cwNEfW<%) zCa@_VGz#Me9Ka5C!&}5whhp_~YHTWz{IQc^wgd{O_^l%hp22-GxMyQI;=rZAw&&S{ zY|_ox_W1kGKamIxaM$){`y(pw>+hl2y}1n=nTC%Aqtg5fU0T)xU>qnlhS4X^8LTI+ z%_FJLPJJ3}!UEN&l2jY63o+Vo50=mFi(-!f1#VkB=;wl*6*G(3mtdoleIDh(r~9g@ z!AHj5oL**HKq~~~b*qcXLIf0E7%`8on{d$p{_5@xE6b{YY+vN8SY!W@y37<_{%C}Z z^WJ;dJ5cbOjZbJ)7$(`FO=zi+^xQSl^})JV7A8znpv27(j;VxZ$>m<*FJQ$ zS$<~ej!RP0`g`n9p+swDRD*U(9BCiO|4_F^Ky38oS*&V}XVCvw6G**$W`<=ExO0tq za-_)vAW5S<$lopE`!mgOVmC>#~IFA+J>QpMW zp#v}bA>?L2A+q3nCJnoHrl?mYJ#WhLQ%MX_ef*a9Zuk~%pePzp$gK%In7V;<#r}PG z*M|sDiG+caLAC)oD{yS8`0%By^&^Mkf(rqOy(d^5@lB+&%gEvtuQJEIX2sRK^l%up zT?z+;JmEg$8prL0MK)c~EY77thlO6rUR&nl>d6hmD7!b#qn1Iq4wM zw}Nd>U@iKTd>Vy4G;>t?V_jcw{Se{w&ejO z#n6NbiUGRk*Tle#-ORcsELQs6)fFXLluu90++L)nHKp1xdfATff%Nu5tXIH(Tehy% z;o;^wy*jsG@IQHLs=+>rG=w=&cS(HjsSM7zbeOoKi<80jrda;(+9xA5-#=!kihSP; zf|SF54c>bCe^ky-1ZqQc?qiLu3rsf_GDBq1k1|U}MoV0zupiv&0J(3M4OIO<2{BOm zz8;sX)j!xI$b_JbTrJGs34!a9Gz$zThtI0osK>vKc(e=F{Y9oP#($!@RSw>{RiHz( zOHg@2t(gK!>>~>zcExrNcB-UOuXXEYervNuExM-W7yu=rqO}(gH@tvH*0>?wB)i88 zuKX=J1##LMh9i|-zaM&Lz4b0AA4RV*z&D}5`y^OI6o8rP-6pmAN6fHH0xHsHG|h>A!(3Z>f(fb)-8-5UM8HTq*yJACAZ8$uEItjw?diS`*R zMDpi)%~ctd=!3-cW&ajZICboZ)a~K*KlQ!2eQl_Y@NPbaBXx{ebngd+?}N-J^Q`oj zELDI7RunOE*k;d-TjQw=E28#N?klQ@hbe^q88V*_!rSdn`8p1~GQdsT3zA_9RPKoF zM2>h0@<|(-4^7pWMWinfiWGA|mv22ge@wr~HvNTVsCYm70_=%nNk7q3=Q1&^J-?=Y znu>7{f8O;vy4FDs+GQZVIWWw8Yctsc@bS$RpZBw8z!WA zdRP5!`crNy1 z-V1h+pVg`(I5{)Ue4K#x--!b@3%*UrXF8;M%Y6=&)7<(Rk(xt9S@Ts<2x1814}A-l zUav!XyB?y)-k6!=xS1fY5sNPl+Jhu{B#xH~0A1oFzdc5m| zonWbDlmik=s<~OGTX&7sQpq<9qA328RWRo!xb*=4D*p2?JN3j(f10M92=b-a z0_q0HW0gFNPM{dyTGC*5S8-#dymt`~=g}{E7!}!>fsSS#&8+Yih5_Z?Z!2(=#in9X zFzX~+#TP2mUKvhlBT3)~9aGlNkDzjR-)OpM26Nd}Zczpg@X*OTC6_b%0uq~E5FJqB z{79qB)Af^t-^&>{1e^Hkzd&g(nO%S8u^3(R7k~*p8!*}8!P*1bGfqtJOJbSoCpKo< z$vGf1;{4Uz=Fu{I>)(cVHE0Jt*Fx@>=*{KIjV>#)GXNR=*4uzH{(M0LYjT$%aGbhq zirM`>G4iv{Es%DbrR5X7#nY{*jhKs zC^W>TYQ4A+Pz&$E)!p>C8Qyoj5ffkgwafGNmm)hk;9CUZ{Rex1(j}D1m!TP#$sca( z$Q@oIgtv|I9?cM6qBgOC5Tw;c5Y_FgzM9)>Zh=TsD>AUvms%Em3AV}l*#(_Hb##p> zxxDR!$C-E`ct&5KE>srEqck(14{xg~_bQgzNvhfP_aI1p2E zNXu;*M)YU$iv)xb4Bzpv* z^?B9E>*g)BoB4IK_Czy=k)cdiLaZvB?s_FSJ!YEFSiB`#z72Pq`=@7zGiBdp-?EoIgzU`FLdIHBvQ?xIQ?eBCB1dD|*7 zs4Ni@Nto}Q_xJPpK7PNy>S6Bd+;gAjoaZ_BoSSKDZNkbVzyyQASj|ig?O-qj_%9rW zrU(D@=8*$nFj1J9;VFkW&$Uv9=ZZ#!S39#M7z=o8G2HP?83pOrCC?Og*<6Q zHzcm7rnb%MQP=A0Rn-h}C}VMo0$Mk9!+KFU;|MNwv5>+_o zl}Ib^Ld}TbcLfXw9D^12MjSz22)ZP1RCR_9iO!r*p__yi!2|sEp9ZL#)}u3U11Nu( z8-3lz9WLzO?pgm^L*{qnMI1k8Lod>Yv{X?Ke8=L&Y}w%a_=^dT&95G{9pXFmS356| z7Ij~CSUBx%-13l7g(gB3*4yMjH)xFW+I{WG(ZxZ$1LsfkxwEW^SyBhzdbZfiOG{7` z;HymSbS@S*jm0>=u_du;Vitbni!DiDI0$u&Z(#m2BAJ54_~XhXo{jU~g5HPshQQ7ZZk>{qq(wp>hi+n*ysmMhEy>%m`4D5og3kPo)y zo3zb!fO;R;bXYxK8J;_^o`RZ!$Juq9t_tNvP!ZPjY$LkxvwUKC8eqrvzxLJI0qI?Q z)QK2`%>7`76kQbrAK#h$>l}n`uoL&huxHW2rg{fETzM@+e$GtM^Qhj=$WDcJKfl_F{)R!vHf1Ww$Etg8Pi`=6N?4 z7t(c^z$hCvLoGZhLhJY6I{bUR$xAml@(FT zz7~oSVz2YiV}{>mB77%k_;{!l-iWS4XFy{B7t8FT9FePduKHSb_LRHKu`o45?;2FM zFrLKpWv*C4(=l4x6LnQw6saO4Ev&8p50Irec>m*LGZHDL!iQLdee#=@H5U^_407hd z18)V)jFj*pXRow|lwU=w8Hui{?j{gPd3jd>$OZsp0fcJ|Hdk=_@>}=0=G3@;F9TGu z)P_uiXavl7H$MPdG~o8@=wO3s9bSpY|n? z2N>Ktl}3DdukaE!QQdNB;gF_%AdLp3fwtOh2}44OEz}6_^@O93e)gcc=TDiy{ss-= zdrEEhK7(DB!oG7d#_|fRZq>UUX1Y~8Z^WR(8AH=I@vQ)5%WOOgG!{3W{A=n*asWJJ zg7x%xfHB1x;>E_EduVadP&5R@r)!I}cqI8ae&f?Er|p49iUmKh1X2RU;@F{r6aeKl zCJ&Cyv7a%~I!^C(I519=VNGF=gv%{leIH|9hW0;&qZiFO;jhr`%BP8R(e*1VkU|`1 zyv&1qy?~d$Vu&*I{sCZ%zViMKG!>Gfk1A8J6dM*t{AQP;FZ(1uSRjWerA4JsybY(e z4ni82^wq`ywP#EzhjLszD$N0Lc_VZ3%(k&Up?HNVgReM-ei^P=;Z+ekt(sWqYy*bP#kDWIim4aFbdh&hTOAQ;qQtKw!8KMjoJV*c((960=ny zTq6vsq@0P!ma{@#l>(Mht2xacJpofnYwhd2ioR)0@$@zzhL|fmY-d9LU~egLho9v- z^6(;rMWM&TU@k%=>H@<=FIt`#HstGNU)?R($;;k^bek7xMJK?Sf5}7unIuB z`|65mi`fbSKP%S$vH2u-qh|Jmdf^i{BX3SbwePB^`TzZxB(!U2C0Xl)!4^O%*lR5D zb!=P&F&f*9^c}s9{WPJW`@1|K<3UUYddyf!=RfggZ4hC;@@M$zpCcsg&{d=AIq2TEn6-SOZ4i}RFI_Ht^ zHCZ>|GEE0$1k^xSyybR(g_FR`=)q7&*tE^k;&ww7fY30#-r4(wd<^=bc-}S;BU1`F ztL(_VG97nT2EsWL*F%|;I(tSPZU91~Y-4A?YgUhD;-tZuw7aH#I2V_paJ-Su`x*x^ zTR8$LIU-JdBe#n8(aRMY;%@7uq~<>ls|u?U3`LI;%6&rfRXXjmaPr`Dx2|HDNBzHx zY^-jc4Kk|mM||>0YWae2bWa99nlHa-6pi2_h001kX2ZP6z`009(D&)9j!MXisVD+R z{HMEU zf0Y5ETz5wY&U-PQbznUZtzaY^EZuNm1F`9iHg!ERAIe@*&}5v+MR3LmQDQDzOeGs9!IGBLKi)Pwr*#}ZYn@QS7FdjP36xEmE5Ek6^)TH=woLy# z>cq&rjlJ09SeLxt^ss|UFNRPLK8v<$f1E^C#%C8ZRcl5`Y?$spJ90N5Qm*f;>$8iu zP?xYt-NI?{&&FJD$ylKkYRktR#gW7Pw{+YQ)xXaqXP2bXXZv$?EJ^%R?fbquwHplB zhBbw|oSFa0JRi(%Kb@VgUzTwGW7f@g=;<SXQ{Fh{{WRf}n%y6bW1q)N zCFn4O91!`@sDzI}B|P+>4pz47N4!rm2_cgzV;lEOYGZdBOR5M4_?G4EuDPe#I;ywd zl9V7tag*UpvEgGNuyP2wCFF&o$sgk7UcWO_;hyOj&$WMUbHQ_KSyC8WjPs1eHYAC$ zInfWTISD8LH7Bn8;=8BkykGAv6u;6t7w3U)uWyn}sIHe@Ki)UNv0FC5j(u#!-k+?s z*L9(sjnt-=Ib;p3fW?Ipo*~CLXVq9QL0RnJn2=BH?cMFz0TcBo6U-K6ocj zE3kf8MJv%wyghqfYOg!otD$E;DmD8dI&M08g~faB;b~rxMLXg)Q^T3BJUEav7p1i2 z;Tqo*j){lG_KdF)YmbjQ{!sL@q zMTXOz=xTjjQT$WBH(sfykgGhuymgg38R17=bui0AzducrKG3yLo4V(t^IK$wv94B` znxo{u_yLl9$)zH@{{3m-Z8bwtcR)EWn$NGk_^y1huqd;h0nd8uP=iY^<_$JcD1z_} zW%=<3t4fO2@)>O$ij(F~sFcy?WIjTyWrD{mhReiJ z$3EX6S%5k^3UFoK0-b8JnZ@m~X2YDHs>9ruygspI$xj4TicvxtN)StnZ+i501xaeg zQ`b%#pq`0WbhdtILPZ?1?)v16s*Y4LI^9u2EQ)$}dVKMJ0A1l6k6!kRjud6r%LL~KS346OHgBE|VCdRLbCC01(IE#NQYn(^u*9Iu1>Yag8qODuLymf){2pF@%FUD$rpo00Ie9Govw#rdkKO*Fb^}?`V-dq8Zq*NNw zfowm?rl0s-1e8iA^}vm+vJFhPyag zKUhbVIK%YU68Tw|sa$>k2wtyJ5mO1Hx-K8l0n6?87!cIXdQFgK#i8bjyl|^^FccLbuiE1R2V|Uji=%PbKZRVLU zPd}~ROG=0nZ_Mlvihuo*#7=ouaT7j(b60kVme}Lh><3IssGyM`JyG%NEJp+z{mz=0 zW1m(>_U2XMwwaqG?MNCQUvS3x1oLNZg%cxFXcnh~2SicolE$aI^9#!VEwp z(R;)zH-W=Nw2656&k+P~U!24}`l=t-@%S@ews@o8fntvPc894xKv>UC5{JYnBj|(n}fM8`^i}8@oe09HMkAr zJwuXp2+EZ=^E6}Qe(38PyD;D$@FK`*5VEj=fyB^vtm(N&%r`R-=I6XhlJPbV!OGv+ zE*|2Z4^AM+RQSN8(~iP+3hbYn44&WmS)=D*cFm{O4a-3syyKOL6+@8YZMW;=+*o8r zs;Zyog3FU>yt-yN^79S5)AQ3_eQ_oLyz(@Bln}}N`q-T>x||EhJAwH`a{yjtX#18r zMNw8#f_!iUTW(!sH?w1D5m(H-6saZ4cz99O;b;*!WVcICv0YtKsD@jMsv3QS-B#I{Jj zd-7bCQF91(m`6iH!@I7;C4JNe5Vg1J>AkIdM$K5b1u-dwYU3faPwjJ2t4+WkDHh#bD_v~BaKUom2FxqPFKdno2s-=m`}8CVZnvFjqBedmqG;x zT%T{xSCMMMks9>RVhJTx_|6^c*r>Gi9+#IdBCd}y0qmVfa)F|hX%^jDU+hqKYt#JR zcg30iD5;2*pKwbGU%3TevZ~#ac4&atUyTf-3P|_*!Te_Ns)R3rTHQ! zzF`CS&SYM{EdbB8@V-_>3K0(QZomKk9pyJ6?5}kDvEDZCk|`H8x)pZ#q7}4xfSGO` zUH1*0jB}vlCdhIOd&2DTKF4MKU4{lkgLYqkV?quuldZ> zo+>PF`;-Ou?xD69>T^ELcGBLCf)zcxTn}Td5tl3r9`L#IQ0E%_ zh^6e&$RAlxHTf-Ru>%OOsZh`2)ivK$_s9b|JtPQg*}Ie^?wSs|`d(W*&s5nc9rn}X z@^fohk%7PiTWA#3PG6GBa1sO${fqLn$Z#5&$|FQHy8c8tFRKo2c@iI}j!U@~0+>uc z1O~)XZr|ioee;UHPm6yk?{Ym_vjLGZ>iE)ftDR@z`<>t$b>=joq0bw6BHYXw`M-QV zvcUDfE92U?5AM~Eo-1DDaT)(E>i_Z9OaHg9%GH)e)s4S2p~-B0=l`?R15Vm`TQ2WA zJ<4EbixO+(b-ud?t*`thcNeg~AMh8kN zI}B8IYD)<3hG=E*ij-y>yuS)$lGNJ_B(=VS%ov&EyQq?0d?#$H>CQujr?bS~WE?0! zX+%@G3rH0D^Z1;99(4`df4;(i^P||m3D|uukvkSi^x83PsN@B$Ytb0L(sOtnyMZ^N zR64BkAnuyPb0cV>=ySrqX>Vg9>&K<-M?O{Nh444`8p(Q)Jzxcw*Nw+6m;;{sBuc46 zuY@I`e07^xd#=kO>_OI3ar6xnS_i$AS>vU$-mx0IUdYt&#nN;f*DP#iSzzz}2q6p* zY~bAul}){R#=~zuY>NB0?;dlKYwyz@*lJywVT$3^cOUQfiDc(s#h6+HE#sNz4WU?s z*PB!3^a7Wm2JC+Y*rIC@s>2n%K?gmA6=(LWjKIWm?DC zW3M_MwxIKrjki-*ZOZrZoVw0={FVz*34#~RT&f+TILjX%i5Bn?B2^&rb0R@Wlkw~ zYDhM;3UKAtH#l*u0CNlP)ScQ^$w3L&W6gcCRv&2FNU-_`9h!wWH_@cy^%x|yck^g{5=7G+>i9I z_eKw(>f;F-VEYA zI<)FOsgzT63HY6sVWWIn3v2r0yaIZfPFG7Kh=1t?e;m9onLjZ9@*Pyk6^5aMa!DB* zQI7iYs$(LYf|xg;SBtwK%$QITPVnR}HV8?{cp8=yR_k6)QdK$57VOczYs=r@VnOte<(X>x86g8oF*QMS&47>7yizKb*i(Zh^ zURUw%e2gdCK6{1pq11&d=c&>ihJ`6VXd+*o);+xX_lL*Va~1NIOi8kR=lBC3gHrKm z#EBj)c>yl2T^8Q;yub|HEwK7os6`0_2_A8#{-^3lOl;EPbn6M)wJ~A>zuQ5*AH%JC zvGC)_MgM5+r_4Z)v$i7Y*R~S9zn-ya_|mR}Z#s79V)iO%AleC`M0d+vUgGbnhOe%4 zVj-ssZ7NjqX?>MFNg*KfPGB2doE9(Z4P$pyiKD1>p!>Zi+;qJM=)Nwx@dtKH5`g2P z?DY=mBa_LT$44(olj!;i`Ge$4u5WdB9j8hT$kvRTmk~BopPaXiz}%JsvV#zz2hq7L z?vp`!HvEh~7@E5@TZk7`A9sHcnr}N~K6hUxmY>fj^k$psGL7%18{mt{P(W1Co%{|` zB1Q0+HQCfYwMz37Tzc8DQ?_a2EY_=JlwaEg#YxK#uw--D(q4joP!L7dF5L!kq&Lpr zJYa=#3?VYR#?GP-TUzYdm^5~NzYPC_U-Fn=`KL5D1`hhaa z^IBw^ttA29s2d@-bYh45(V*@xdn{F}J6_uer45Dy!&*NvoZ16$AMuhuCYo(K_J@d2 z&^!Bhip7ySwRLC@v)U14nhIsmV^PS(NL7LocZX)S@DW@^l-kBl$D2XR#RnW-k9E=F z`)z%32)_Xv2IIfWx2SK5`a!2u;7@3&3__UJm&fkDSuP=suVizi+J+E~DNGbaY^TWD zuhT;pCr~+b6LQbHmEJM+U6drcx0yZ^5*z;CcEu&ot_WQfZZmfdEZa!een0$~ePR8| zgr+9A+`@5IojZ!9%OO`_TRZtb?G}-)>cr%aEo%FxsX)k!ezNg&2Tz4 zPeP<|EkCyh$_*suVa}WC@4!7C zSh;s2g|{-IsVs>amvvBc<#XgNWMeY1&2PppYg0k(M`NIeV@~Uy z->z=d#_U|Vz%t`BeI2p447gu7AlP5cF~~VG8OlsnHrO+&FhMo5?k`skCHB*thqYPcsVomIBEB`$^ZSBw0Z`@ zM202OMsLk%q3ch>-Me_4Q7^$&Y*>A>`KOi*{RP;q5cwxT@@Qn5rfLag6 z?ZYf^tNoCx5AOTZIzWwAE!}grqA41DzL-1SMXQ;K zuFh;hOK83DG*O=A8<^g1wi8ostK+;#m7~i`i>4#PayS*X?^FIRcBC-Yu8X zC4;=UeugH8B1`86g|1JIh?WhT@ACu1HSic z3K8%vbtDWB=&CVB)z@*4Q6jJjX#V0y0Wn)Tut4skuFPn>U_|JD2TkrOIY)lF2umT1 z0BOqH&$gH8egH=sgD$tBHxc4fd2;7o*1eM;aWrjDGwM;{8{z+*ZPA8Ts$#a{K&n97 z$!62x50FK$f|q(0goo%LDQs>Am{ZZ5sjvQ8aj6l00MFkfW;^4^)haN>vCvT?`)IcY zc;eV}O27*Oqf5tmmYP@Eh!(_m-{~`Fzsk9w&L0H>p1)ryb%=dVm-b8CHJwZdpTyaw zV;Ab~yYa{(qQLJJ1LC@DE_~=AgGD|zjLdB)9qPjt@p?Qk=OWw#(pj==Hjt&x?4Q|g zS8td*dX}QP4LhFzdp9OIDk5w^)~cwTk3@+4W=8*|2N^X8b*XpPDah!t2IvcpZg20H7jt$|=_{VN+cH4@H1JhE-o`s+H*8Mwkrv6+5dvJ^)uUg@LB zpHUA*LLx!&m{R>MJlNwXusI9-@rpsoIH4SF^Q1Wa`Z_bAljYX$SIx?4RrV-5S{KBq z!zR8o0KSNj-!W@`?qout_dZS}je?PR1|$Kth|Xj&fn4e5b;d&2V$*Us3D%4rTDw1~ z?$xe^mZ${UBZB_H?;bB3IX3*f{~<@o-$R4>uxn&u$ik5{3Gf7iM!<8f%WrVdo!E^_ z(07y}N>wyMj>OgX02EQE|9YN0*He*6hF#GJ4nu>AqlmLyyL=?&KFnEZr;`{NS|d@m z)bh-=#-ki5$i#%}zuvhj5RO%o7dscdIRyEku6%H~d$D~WDYpp@T;ykQ!xq%oQD%BoRRpVO**S%!KqATK4tF?UJtW5LSQ)hsmG3%oE}S-Z>}X zJ$9)1QKO1r;N6ZboxSs=R216? z_?Ev&SbO>>`={NMm#eCdrRYlVU?DFj`Olqx5ym88m#TeVN1t?5J@Ru#q*?kg9&->X zLU4ZASaSJWVjHFajGXb~`S)qBRGQ<(Y}k zLoy&P#uCJ8_NH_f20Ylf3Q*E0DLf|y&;5%|V!VA+Mhv#k7N^tq=RS?;6oDZw#LK&j zs_eLUhf@|36l~WdF&BQXvnM&V{H=XO?-1t;w#XE;jY-hsebjUy&3fTC^@S6x#vOGL zAdqLk7d%?tJvEcm`AKF;7-Fo-AbyU$^1%-(y)eS|W#ekxHVJ40?Dqi^>|A!~{i7ctt zdz8`)iGAgp3B2NS=kt26aZ%~SxZ6qH>h#^=zkFgkHm*>QQx>tm zzxx80c$5Xio;`4CvQa}>oSwcP_f0s>u0{56O`&tHJUy~Vi5{fdmoyrkNp++e8j$wA z520e53epF2e{qLpEC$-f?Jn{_cd#Gh8v?9udVu#YK;oy%Je^cjNjyG)^*v4n)tFMo zsxTFq&wkn?OgZUoE_M38S)y>P!LngRH2@&tqvl(32EGwN5+iYwrYKyz@@~GjsBF~K z&92mIsY=HmQP?PDU5h^=sUn9ubhp$mIY|*Np4V^b6#0~;F_8M Q5BgwcM%IS)r@hnu2geoYkN^Mx literal 0 HcmV?d00001 diff --git a/test/fixtures/plugin.legend/legend-doughnut-right-default-center.json b/test/fixtures/plugin.legend/legend-doughnut-right-default-center.json new file mode 100644 index 00000000000..83762072036 --- /dev/null +++ b/test/fixtures/plugin.legend/legend-doughnut-right-default-center.json @@ -0,0 +1,24 @@ +{ + "config": { + "type": "doughnut", + "data": { + "labels": ["", "", "", "", "", ""], + "datasets": [{ + "data": [10, 20, 30, 40, 50], + "backgroundColor": "#00ff00", + "borderWidth": 0 + }] + }, + "options": { + "legend": { + "position": "right" + } + } + }, + "options": { + "canvas": { + "height": 256, + "width": 512 + } + } +} diff --git a/test/fixtures/plugin.legend/legend-doughnut-right-default-center.png b/test/fixtures/plugin.legend/legend-doughnut-right-default-center.png new file mode 100644 index 0000000000000000000000000000000000000000..1ba7052ea0b130f31d333525a95a7e1ea92db04b GIT binary patch literal 11375 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 C`>iwp literal 0 HcmV?d00001 diff --git a/test/fixtures/plugin.legend/legend-doughnut-right-end-mulitiline.json b/test/fixtures/plugin.legend/legend-doughnut-right-end-mulitiline.json new file mode 100644 index 00000000000..183959b69e7 --- /dev/null +++ b/test/fixtures/plugin.legend/legend-doughnut-right-end-mulitiline.json @@ -0,0 +1,25 @@ +{ + "config": { + "type": "doughnut", + "data": { + "labels": ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""], + "datasets": [{ + "data": [10, 20, 30, 40, 50, 60, 70, 10, 20, 30, 40, 50, 60, 70, 10, 20, 30], + "backgroundColor": "#00ff00", + "borderWidth": 0 + }] + }, + "options": { + "legend": { + "position": "right", + "align": "end" + } + } + }, + "options": { + "canvas": { + "height": 256, + "width": 512 + } + } +} diff --git a/test/fixtures/plugin.legend/legend-doughnut-right-end-mulitiline.png b/test/fixtures/plugin.legend/legend-doughnut-right-end-mulitiline.png new file mode 100644 index 0000000000000000000000000000000000000000..00e366460ea7efc3ae6d66cf095c137140c70adc GIT binary patch literal 15012 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

    37(%UpZ%b|(L{gF%eOL&{Ei!qQt-K$q$N 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 literal 0 HcmV?d00001 diff --git a/test/fixtures/plugin.legend/legend-doughnut-top-end-mulitiline.json b/test/fixtures/plugin.legend/legend-doughnut-top-end-mulitiline.json new file mode 100644 index 00000000000..b150ef789d0 --- /dev/null +++ b/test/fixtures/plugin.legend/legend-doughnut-top-end-mulitiline.json @@ -0,0 +1,25 @@ +{ + "config": { + "type": "doughnut", + "data": { + "labels": ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""], + "datasets": [{ + "data": [10, 20, 30, 40, 50, 60, 70, 10, 20, 30, 40, 50, 60, 70, 10], + "backgroundColor": "#00ff00", + "borderWidth": 0 + }] + }, + "options": { + "legend": { + "position": "top", + "align": "end" + } + } + }, + "options": { + "canvas": { + "height": 256, + "width": 512 + } + } +} diff --git a/test/fixtures/plugin.legend/legend-doughnut-top-end-mulitiline.png b/test/fixtures/plugin.legend/legend-doughnut-top-end-mulitiline.png new file mode 100644 index 0000000000000000000000000000000000000000..e6e56e4701fbbe279bad14d581a878f1f4a1ae61 GIT binary patch literal 11695 zcmd72hgVZk^DdkQ1dtMtB8J|i2`D80P8ISVB=ig`jkhCLN?o3nGFb zMd>|)^dd@;&UfPLd++bN|G>R#owXqA>^XbSJkQLYnZ2X+bZ*j6u~C6QAevhmY6c(> z1o#&Wf|CP(IuiPvK_D*BEw$@LL3cLNDXYcQ1O7zt&%qeb`s4^_G#S%**m-)SG9v}d zM@K3JB|3*mq1WS$$@~OXrtrVeA;&P35cMwn`m-EzGMKs^;ZmU*m?Di##BFrrsOhKg zPq}GpLxOM&e zC>I6V?>}N_n1BYFmH>NJ#vS`tEDD$~UObqszRQe;ZMI@D>E!PA=<(3;ms{xB*4O?E zpk<0nOQT*b?qSz=F=@(LPl~e--X6$Jt*6fV{Wwm9a#7fx^7WYW`a*b*7OML~$Ez|q z61JT`drM0x*FYp*VmP?k!{kbx0ddfUK=Qs#>utkrzmMC7A|PMTlk}NG>@eMW#Z^68 z^tp(W@J|D=UKbCJgecIAsBnf)8c}J42}l$+Gplr6km7QiRJVZ2wxK0x0@Ag&8^cl} zUdX}q>)oYHSg&qxf9N}rJH9`Tho~?npgBRir;oZQOPDaM`;-&i;lXHuS2xDhT*6(+ z&?2DmmOH;9cgcpKeBsOsFS7uBUV8<0XvL*vT7UYasMc6auyP) z5oG?HPZv}6g@~{aDi&4u2BE%0A=JB&-hR0tO_>=U|Ci7Tc=y_$Y!WQ(eQ3Et$>ZIl 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 TBMP{P4Z5YSqgJM38~OhM1jDOF literal 0 HcmV?d00001 diff --git a/test/fixtures/plugin.legend/legend-doughnut-top-start-mulitiline.json b/test/fixtures/plugin.legend/legend-doughnut-top-start-mulitiline.json new file mode 100644 index 00000000000..ca2111922ab --- /dev/null +++ b/test/fixtures/plugin.legend/legend-doughnut-top-start-mulitiline.json @@ -0,0 +1,25 @@ +{ + "config": { + "type": "doughnut", + "data": { + "labels": ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""], + "datasets": [{ + "data": [10, 20, 30, 40, 50, 60, 70, 10, 20, 30, 40, 50, 60, 70, 10], + "backgroundColor": "#00ff00", + "borderWidth": 0 + }] + }, + "options": { + "legend": { + "position": "top", + "align": "start" + } + } + }, + "options": { + "canvas": { + "height": 256, + "width": 512 + } + } +} diff --git a/test/fixtures/plugin.legend/legend-doughnut-top-start-mulitiline.png b/test/fixtures/plugin.legend/legend-doughnut-top-start-mulitiline.png new file mode 100644 index 0000000000000000000000000000000000000000..2e7e7fe88aa591e4ee42f6efdc20a9935bb88b54 GIT binary patch literal 11604 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 l Date: Wed, 27 Mar 2019 23:56:37 -0700 Subject: [PATCH 008/115] Demonstrate multiple units on financial timeseries sample (#6119) --- samples/scales/time/financial.html | 54 +++++++++++++++++++----------- 1 file changed, 34 insertions(+), 20 deletions(-) diff --git a/samples/scales/time/financial.html b/samples/scales/time/financial.html index 875bb60e158..02d3a8a3b2e 100644 --- a/samples/scales/time/financial.html +++ b/samples/scales/time/financial.html @@ -26,29 +26,41 @@ +