Respect fill: false with custom draw times (#10414)

* Resolve canvasgradient is not defined in node
* Remove trailing white space
* export isPaternOrGradient helper with typings
* fix lint failure, single qoute
* Respect `fill: false` with custom draw times
* correctly listen to fill property
* remove console log and lint errors
* implement feedback, still update control points
This commit is contained in:
Jacco van den Berg 2022-06-22 13:41:18 +02:00 committed by GitHub
parent 3c3d53be5e
commit 954ed953a5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 76 additions and 3 deletions

View File

@ -32,3 +32,7 @@ export function _createBoundaryLine(boundary, line) {
_fullLoop: _loop
}) : null;
}
export function _shouldApplyFill(source) {
return source && source.fill !== false;
}

View File

@ -6,6 +6,7 @@
import LineElement from '../../elements/element.line';
import {_drawfill} from './filler.drawing';
import {_shouldApplyFill} from './filler.helper';
import {_decodeFill, _resolveTarget} from './filler.options';
export default {
@ -58,7 +59,7 @@ export default {
}
source.line.updateControlPoints(area, source.axis);
if (draw) {
if (draw && source.fill) {
_drawfill(chart.ctx, source, area);
}
}
@ -68,10 +69,12 @@ export default {
if (options.drawTime !== 'beforeDatasetsDraw') {
return;
}
const metasets = chart.getSortedVisibleDatasetMetas();
for (let i = metasets.length - 1; i >= 0; --i) {
const source = metasets[i].$filler;
if (source) {
if (_shouldApplyFill(source)) {
_drawfill(chart.ctx, source, chart.chartArea);
}
}
@ -80,7 +83,7 @@ export default {
beforeDatasetDraw(chart, args, options) {
const source = args.meta.$filler;
if (!source || source.fill === false || options.drawTime !== 'beforeDatasetDraw') {
if (!_shouldApplyFill(source) || options.drawTime !== 'beforeDatasetDraw') {
return;
}

View File

@ -0,0 +1,22 @@
module.exports = {
config: {
type: 'line',
data: {
labels: ['0', '1', '2', '3', '4', '5'],
datasets: [{
backgroundColor: 'red',
data: [3, -3, 0, 5, -5, 0],
fill: false
}]
},
options: {
plugins: {
legend: false,
title: false,
filler: {
drawTime: 'beforeDatasetDraw'
}
},
}
},
};

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

View File

@ -0,0 +1,22 @@
module.exports = {
config: {
type: 'line',
data: {
labels: ['0', '1', '2', '3', '4', '5'],
datasets: [{
backgroundColor: 'red',
data: [3, -3, 0, 5, -5, 0],
fill: false
}]
},
options: {
plugins: {
legend: false,
title: false,
filler: {
drawTime: 'beforeDatasetsDraw'
}
},
}
},
};

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

View File

@ -0,0 +1,22 @@
module.exports = {
config: {
type: 'line',
data: {
labels: ['0', '1', '2', '3', '4', '5'],
datasets: [{
backgroundColor: 'red',
data: [3, -3, 0, 5, -5, 0],
fill: false
}]
},
options: {
plugins: {
legend: false,
title: false,
filler: {
drawTime: 'beforeDraw'
}
},
}
},
};

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB