SUPPORT-8732: adding shadow bar setting
This commit is contained in:
parent
5bf246ef0c
commit
c36e0b04aa
2 changed files with 39 additions and 2 deletions
|
|
@ -278,11 +278,47 @@ export class ErvuChartV2 extends Control implements Filterable {
|
|||
if (this.bars) {
|
||||
chartOptions.scales = chartOptions.scales ? chartOptions.scales : {};
|
||||
chartOptions.scales.x = this.bars.x;
|
||||
chartOptions.scales.y = this.bars.y
|
||||
chartOptions.scales.y = this.bars.y;
|
||||
|
||||
// shadow bar treatment must be before border radius treatment
|
||||
if (this.bars.shadowBar && chartConfig.data.datasets &&
|
||||
chartConfig.data.datasets.length > 0) {
|
||||
const shadowBarStack: string = this.bars.shadowBar;
|
||||
let datasets = chartConfig.data.datasets;
|
||||
const shadowBarIndex = datasets.findIndex(element => element.stack === shadowBarStack);
|
||||
|
||||
if (shadowBarIndex > -1) {
|
||||
const shadowBar = datasets[shadowBarIndex];
|
||||
|
||||
const stacks: string[] = [];
|
||||
datasets.forEach((element, index) => {
|
||||
let stack: string = element.stack;
|
||||
if (stack) {
|
||||
if (stack !== shadowBarStack && stacks.includes(stack)) {
|
||||
stacks.push(stack);
|
||||
}
|
||||
}
|
||||
else {
|
||||
stack = shadowBarStack + index;
|
||||
element.stack = stack;
|
||||
stacks.push(stack);
|
||||
}
|
||||
});
|
||||
|
||||
datasets.splice(shadowBarIndex, 1);
|
||||
|
||||
stacks.forEach(value => {
|
||||
const cloneShadowBar = {...shadowBar};
|
||||
cloneShadowBar.stack = value;
|
||||
datasets.push(cloneShadowBar);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (this.datasetsCommon && chartConfig.data.datasets &&
|
||||
chartConfig.data.datasets.length > 0) {
|
||||
// border radius treatment
|
||||
if (this.datasetsCommon.borderRadiusNumber
|
||||
|| (this.datasetsCommon.borderRadius &&
|
||||
(this.datasetsCommon.borderRadius.topLeft ||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
import {AxisSettings} from "./AxisSettings";
|
||||
|
||||
export class ChartBarSettings {
|
||||
public shadowBar: string;
|
||||
public x: AxisSettings;
|
||||
public y: AxisSettings;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue