From 5dbbd66f370ddf213f2a38a8cc76687d25e0beab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A0=D0=B0=D1=83=D1=84=20=D0=9B=D0=B0=D1=82=D1=8B=D0=BF?= =?UTF-8?q?=D0=BE=D0=B2?= Date: Fri, 13 Dec 2024 17:12:30 +0300 Subject: [PATCH 1/5] SUPPORT-8732: refactoring for review --- .../component/chart/ErvuChartV2.ts | 127 ++++++++++-------- 1 file changed, 70 insertions(+), 57 deletions(-) diff --git a/frontend/src/ts/ervu_business_metrics/component/chart/ErvuChartV2.ts b/frontend/src/ts/ervu_business_metrics/component/chart/ErvuChartV2.ts index 09861bf..56bf7bd 100644 --- a/frontend/src/ts/ervu_business_metrics/component/chart/ErvuChartV2.ts +++ b/frontend/src/ts/ervu_business_metrics/component/chart/ErvuChartV2.ts @@ -219,14 +219,19 @@ export class ErvuChartV2 extends Control implements Filterable { chartOptions.plugins.title = this.title; } - if (this.addDataSetsVisibilityToggleDataset && chartConfig.data.datasets && - chartConfig.data.datasets.length > 0) { - let datasetLength = chartConfig.data.datasets.length; - chartConfig.data.datasets.push({ - label: this.hideAllDatasetsLabel, - xAxisID: {display: false}, - yAxisID: {display: false} - }); + let datasets; + let datasetsLength: number = 0; + if (chartConfig.data && chartConfig.data.datasets && chartConfig.data.datasets.length > 0) { + datasets = chartConfig.data.datasets; + datasetsLength = datasets.length; + } + + if (this.addDataSetsVisibilityToggleDataset && datasetsLength > 0) { + datasets.push({ + label: this.hideAllDatasetsLabel, + xAxisID: {display: false}, + yAxisID: {display: false} + }); chartOptions.plugins.legend.onClick = (e, legendItem, legend) => { const index = legendItem.datasetIndex; @@ -234,12 +239,12 @@ export class ErvuChartV2 extends Control implements Filterable { let datasetMeta = chartObj.getDatasetMeta(index); - if (datasetLength == index) { + if (datasetsLength == index) { let showAll = datasetMeta.label == this.showAllDatasetsLabel; chartObj.data.datasets[index].label = showAll ? this.hideAllDatasetsLabel : this.showAllDatasetsLabel; - for (let i = 0; i < datasetLength; i++) { + for (let i = 0; i < datasetsLength; i++) { chartObj.setDatasetVisibility(i, showAll); } chartObj.update(); @@ -257,8 +262,8 @@ export class ErvuChartV2 extends Control implements Filterable { }; } - if (chartConfig.data.datasets) { // remove it after change type of ChartDataSetDto.backgroundColor - chartConfig.data.datasets.forEach(dataset => { + if (datasetsLength > 0) { // remove it after change type of ChartDataSetDto.backgroundColor + datasets.forEach(dataset => { if (dataset.backgroundColors) dataset.backgroundColor = dataset.backgroundColors; }); } @@ -281,54 +286,16 @@ export class ErvuChartV2 extends Control implements Filterable { 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.bars.shadowBar && datasetsLength > 0) { + this.initShadowBar(datasets); } } - 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 || - this.datasetsCommon.borderRadius.topRight || - this.datasetsCommon.borderRadius.bottomLeft || - this.datasetsCommon.borderRadius.bottomRight))) { - - const borderRadiusNumber: number = this.datasetsCommon.borderRadiusNumber; - chartConfig.data.datasets.forEach(dataset => dataset.borderRadius = - borderRadiusNumber ? borderRadiusNumber : this.datasetsCommon.borderRadius); + if (this.datasetsCommon) { + if ((this.datasetsCommon.borderRadiusNumber || this.datasetsCommon.borderRadius) + && datasetsLength > 0) { + // border radius treatment + this.initBorderRadius(datasets); } } @@ -346,6 +313,52 @@ export class ErvuChartV2 extends Control implements Filterable { this.chartConfig = chartConfig; } + private initBorderRadius(datasets) { + if (this.datasetsCommon.borderRadiusNumber + || (this.datasetsCommon.borderRadius && + (this.datasetsCommon.borderRadius.topLeft || + this.datasetsCommon.borderRadius.topRight || + this.datasetsCommon.borderRadius.bottomLeft || + this.datasetsCommon.borderRadius.bottomRight))) { + + const borderRadiusNumber: number = this.datasetsCommon.borderRadiusNumber; + datasets.forEach(dataset => dataset.borderRadius = + borderRadiusNumber ? borderRadiusNumber : this.datasetsCommon.borderRadius); + } + } + + private initShadowBar(datasets) { + const shadowBarStack: string = this.bars.shadowBar; + 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); + }); + } + } + private repaint(chartData) { if (this.chart) { this.chart.destroy(); From 03d110f6c4b4a485246fa892fb8d24627aee1c8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A0=D0=B0=D1=83=D1=84=20=D0=9B=D0=B0=D1=82=D1=8B=D0=BF?= =?UTF-8?q?=D0=BE=D0=B2?= Date: Fri, 13 Dec 2024 23:11:26 +0300 Subject: [PATCH 2/5] SUPPORT-8732: refactoring options setting --- .../component/chart/ErvuChartV2.ts | 30 +++++++++---------- .../model/{DatasetsCommon.ts => Options.ts} | 2 +- 2 files changed, 15 insertions(+), 17 deletions(-) rename frontend/src/ts/ervu_business_metrics/component/chart/model/{DatasetsCommon.ts => Options.ts} (87%) diff --git a/frontend/src/ts/ervu_business_metrics/component/chart/ErvuChartV2.ts b/frontend/src/ts/ervu_business_metrics/component/chart/ErvuChartV2.ts index 56bf7bd..6d54435 100644 --- a/frontend/src/ts/ervu_business_metrics/component/chart/ErvuChartV2.ts +++ b/frontend/src/ts/ervu_business_metrics/component/chart/ErvuChartV2.ts @@ -19,7 +19,7 @@ import { } from "@webbpm/base-package"; import {ChartLegendSettings} from "./model/ChartLegendSettings"; import {ChartBarSettings} from "./model/ChartBarSettings"; -import {DatasetsCommon} from "./model/DatasetsCommon"; +import {Options} from "./model/Options"; import {ChartPlugin} from "./plugin/ChartPlugin"; import {ChartUtils} from "./ChartUtils"; @@ -45,7 +45,7 @@ export class ErvuChartV2 extends Control implements Filterable { public scales: ChartScaleSettings[]; public bars: ChartBarSettings; - public datasetsCommon: DatasetsCommon; + public options: Options; @NotNull() public loadOnStart: boolean = true; @@ -291,11 +291,10 @@ export class ErvuChartV2 extends Control implements Filterable { } } - if (this.datasetsCommon) { - if ((this.datasetsCommon.borderRadiusNumber || this.datasetsCommon.borderRadius) - && datasetsLength > 0) { + if (this.options) { + if (this.options.borderRadiusNumber || this.options.borderRadius) { // border radius treatment - this.initBorderRadius(datasets); + this.initBorderRadius(chartOptions); } } @@ -313,17 +312,16 @@ export class ErvuChartV2 extends Control implements Filterable { this.chartConfig = chartConfig; } - private initBorderRadius(datasets) { - if (this.datasetsCommon.borderRadiusNumber - || (this.datasetsCommon.borderRadius && - (this.datasetsCommon.borderRadius.topLeft || - this.datasetsCommon.borderRadius.topRight || - this.datasetsCommon.borderRadius.bottomLeft || - this.datasetsCommon.borderRadius.bottomRight))) { + private initBorderRadius(options) { + if (this.options.borderRadiusNumber + || (this.options.borderRadius && + (this.options.borderRadius.topLeft || + this.options.borderRadius.topRight || + this.options.borderRadius.bottomLeft || + this.options.borderRadius.bottomRight))) { - const borderRadiusNumber: number = this.datasetsCommon.borderRadiusNumber; - datasets.forEach(dataset => dataset.borderRadius = - borderRadiusNumber ? borderRadiusNumber : this.datasetsCommon.borderRadius); + const borderRadiusNumber: number = this.options.borderRadiusNumber; + options.borderRadius = borderRadiusNumber ? borderRadiusNumber : this.options.borderRadius; } } diff --git a/frontend/src/ts/ervu_business_metrics/component/chart/model/DatasetsCommon.ts b/frontend/src/ts/ervu_business_metrics/component/chart/model/Options.ts similarity index 87% rename from frontend/src/ts/ervu_business_metrics/component/chart/model/DatasetsCommon.ts rename to frontend/src/ts/ervu_business_metrics/component/chart/model/Options.ts index f950082..be400f5 100644 --- a/frontend/src/ts/ervu_business_metrics/component/chart/model/DatasetsCommon.ts +++ b/frontend/src/ts/ervu_business_metrics/component/chart/model/Options.ts @@ -1,7 +1,7 @@ import {Visible} from "@webbpm/base-package"; import {BorderRadius} from "./BorderRadius"; -export class DatasetsCommon { +export class Options { public borderRadiusNumber: number; @Visible("borderRadiusNumber == null") public borderRadius: BorderRadius; From ad5ea5514fc6152680d35cc90dec259fc177f1dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A0=D0=B0=D1=83=D1=84=20=D0=9B=D0=B0=D1=82=D1=8B=D0=BF?= =?UTF-8?q?=D0=BE=D0=B2?= Date: Sat, 14 Dec 2024 01:38:24 +0300 Subject: [PATCH 3/5] SUPPORT-8732: fix (1) --- .../src/ts/ervu_business_metrics/component/chart/ErvuChartV2.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/ts/ervu_business_metrics/component/chart/ErvuChartV2.ts b/frontend/src/ts/ervu_business_metrics/component/chart/ErvuChartV2.ts index 6d54435..cc4b0c6 100644 --- a/frontend/src/ts/ervu_business_metrics/component/chart/ErvuChartV2.ts +++ b/frontend/src/ts/ervu_business_metrics/component/chart/ErvuChartV2.ts @@ -336,7 +336,7 @@ export class ErvuChartV2 extends Control implements Filterable { datasets.forEach((element, index) => { let stack: string = element.stack; if (stack) { - if (stack !== shadowBarStack && stacks.includes(stack)) { + if (stack !== shadowBarStack && !stacks.includes(stack)) { stacks.push(stack); } } From 75290ab2a80bc19c8ef1237d90925eb6bcc3e4b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A0=D0=B0=D1=83=D1=84=20=D0=9B=D0=B0=D1=82=D1=8B=D0=BF?= =?UTF-8?q?=D0=BE=D0=B2?= Date: Sat, 14 Dec 2024 02:34:44 +0300 Subject: [PATCH 4/5] SUPPORT-8732: fix (2) --- .../src/ts/ervu_business_metrics/component/chart/ErvuChartV2.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/ts/ervu_business_metrics/component/chart/ErvuChartV2.ts b/frontend/src/ts/ervu_business_metrics/component/chart/ErvuChartV2.ts index cc4b0c6..a864c68 100644 --- a/frontend/src/ts/ervu_business_metrics/component/chart/ErvuChartV2.ts +++ b/frontend/src/ts/ervu_business_metrics/component/chart/ErvuChartV2.ts @@ -285,7 +285,7 @@ export class ErvuChartV2 extends Control implements Filterable { chartOptions.scales.x = this.bars.x; chartOptions.scales.y = this.bars.y; - // shadow bar treatment must be before border radius treatment + // shadow bar treatment if (this.bars.shadowBar && datasetsLength > 0) { this.initShadowBar(datasets); } From bc72ea38cf820ce6f6a67d5035dfc8abae5d76d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A0=D0=B0=D1=83=D1=84=20=D0=9B=D0=B0=D1=82=D1=8B=D0=BF?= =?UTF-8?q?=D0=BE=D0=B2?= Date: Mon, 16 Dec 2024 15:45:56 +0300 Subject: [PATCH 5/5] renaming "datasetsCommon" for "options" --- .../ervu-business-metrics/administration.page | 2 +- .../ervu-business-metrics/appeals.page | 2 +- .../ervu-business-metrics/conversion.page | 6 +-- .../ervu-business-metrics/incidents.page | 4 +- .../initial_registration.page | 40 +++++++++---------- .../ervu-business-metrics/logging.page | 24 +++++------ ...ilitary_registration_changing_address.page | 16 ++++---- .../register_subpoenas.page | 8 ++-- .../register_subpoenas_subsystem.page | 2 +- .../removal_military_registration.page | 16 ++++---- .../ervu-business-metrics/updating.page | 10 ++--- 11 files changed, 65 insertions(+), 65 deletions(-) diff --git a/resources/src/main/resources/business-model/ervu-business-metrics/administration.page b/resources/src/main/resources/business-model/ervu-business-metrics/administration.page index c4fa8b4..c7df5ca 100644 --- a/resources/src/main/resources/business-model/ervu-business-metrics/administration.page +++ b/resources/src/main/resources/business-model/ervu-business-metrics/administration.page @@ -3237,7 +3237,7 @@ - datasetsCommon + options diff --git a/resources/src/main/resources/business-model/ervu-business-metrics/appeals.page b/resources/src/main/resources/business-model/ervu-business-metrics/appeals.page index 08f21ab..0ea3e60 100644 --- a/resources/src/main/resources/business-model/ervu-business-metrics/appeals.page +++ b/resources/src/main/resources/business-model/ervu-business-metrics/appeals.page @@ -2184,7 +2184,7 @@ - datasetsCommon + options diff --git a/resources/src/main/resources/business-model/ervu-business-metrics/conversion.page b/resources/src/main/resources/business-model/ervu-business-metrics/conversion.page index b965540..df9e2df 100644 --- a/resources/src/main/resources/business-model/ervu-business-metrics/conversion.page +++ b/resources/src/main/resources/business-model/ervu-business-metrics/conversion.page @@ -4734,7 +4734,7 @@ - datasetsCommon + options @@ -5988,7 +5988,7 @@ - datasetsCommon + options @@ -7352,7 +7352,7 @@ - datasetsCommon + options diff --git a/resources/src/main/resources/business-model/ervu-business-metrics/incidents.page b/resources/src/main/resources/business-model/ervu-business-metrics/incidents.page index 7d0f1d5..22a6c50 100644 --- a/resources/src/main/resources/business-model/ervu-business-metrics/incidents.page +++ b/resources/src/main/resources/business-model/ervu-business-metrics/incidents.page @@ -5289,7 +5289,7 @@ - datasetsCommon + options @@ -7205,7 +7205,7 @@ - datasetsCommon + options diff --git a/resources/src/main/resources/business-model/ervu-business-metrics/initial_registration.page b/resources/src/main/resources/business-model/ervu-business-metrics/initial_registration.page index 29a2812..bc7e1c0 100644 --- a/resources/src/main/resources/business-model/ervu-business-metrics/initial_registration.page +++ b/resources/src/main/resources/business-model/ervu-business-metrics/initial_registration.page @@ -3152,7 +3152,7 @@ - datasetsCommon + options @@ -4609,7 +4609,7 @@ - datasetsCommon + options @@ -6389,7 +6389,7 @@ - datasetsCommon + options @@ -9177,7 +9177,7 @@ - datasetsCommon + options @@ -11583,7 +11583,7 @@ - datasetsCommon + options @@ -13058,7 +13058,7 @@ - datasetsCommon + options @@ -14837,7 +14837,7 @@ - datasetsCommon + options @@ -17615,7 +17615,7 @@ - datasetsCommon + options @@ -19075,7 +19075,7 @@ - datasetsCommon + options @@ -21639,7 +21639,7 @@ - datasetsCommon + options @@ -26168,7 +26168,7 @@ - datasetsCommon + options @@ -27689,7 +27689,7 @@ - datasetsCommon + options @@ -29867,7 +29867,7 @@ - datasetsCommon + options @@ -32240,7 +32240,7 @@ - datasetsCommon + options @@ -34633,7 +34633,7 @@ - datasetsCommon + options @@ -36095,7 +36095,7 @@ - datasetsCommon + options @@ -37873,7 +37873,7 @@ - datasetsCommon + options @@ -40644,7 +40644,7 @@ - datasetsCommon + options @@ -42106,7 +42106,7 @@ - datasetsCommon + options @@ -43889,7 +43889,7 @@ - datasetsCommon + options diff --git a/resources/src/main/resources/business-model/ervu-business-metrics/logging.page b/resources/src/main/resources/business-model/ervu-business-metrics/logging.page index 94fd44d..c6d325c 100644 --- a/resources/src/main/resources/business-model/ervu-business-metrics/logging.page +++ b/resources/src/main/resources/business-model/ervu-business-metrics/logging.page @@ -2866,7 +2866,7 @@ - datasetsCommon + options @@ -4603,7 +4603,7 @@ - datasetsCommon + options @@ -6366,7 +6366,7 @@ - datasetsCommon + options @@ -7315,7 +7315,7 @@ - datasetsCommon + options @@ -10436,7 +10436,7 @@ - datasetsCommon + options @@ -14550,7 +14550,7 @@ - datasetsCommon + options @@ -18525,7 +18525,7 @@ - datasetsCommon + options @@ -20047,7 +20047,7 @@ - datasetsCommon + options @@ -21615,7 +21615,7 @@ - datasetsCommon + options @@ -25527,7 +25527,7 @@ - datasetsCommon + options @@ -26884,7 +26884,7 @@ - datasetsCommon + options @@ -28545,7 +28545,7 @@ - datasetsCommon + options diff --git a/resources/src/main/resources/business-model/ervu-business-metrics/military_registration_changing_address.page b/resources/src/main/resources/business-model/ervu-business-metrics/military_registration_changing_address.page index 107dfbe..d657c34 100644 --- a/resources/src/main/resources/business-model/ervu-business-metrics/military_registration_changing_address.page +++ b/resources/src/main/resources/business-model/ervu-business-metrics/military_registration_changing_address.page @@ -3309,7 +3309,7 @@ - datasetsCommon + options @@ -6897,7 +6897,7 @@ - datasetsCommon + options @@ -8975,7 +8975,7 @@ - datasetsCommon + options @@ -10588,7 +10588,7 @@ - datasetsCommon + options @@ -15199,7 +15199,7 @@ - datasetsCommon + options @@ -16883,7 +16883,7 @@ - datasetsCommon + options @@ -20276,7 +20276,7 @@ - datasetsCommon + options @@ -22231,7 +22231,7 @@ - datasetsCommon + options diff --git a/resources/src/main/resources/business-model/ervu-business-metrics/register_subpoenas.page b/resources/src/main/resources/business-model/ervu-business-metrics/register_subpoenas.page index 8d243c4..3cecade 100644 --- a/resources/src/main/resources/business-model/ervu-business-metrics/register_subpoenas.page +++ b/resources/src/main/resources/business-model/ervu-business-metrics/register_subpoenas.page @@ -4009,7 +4009,7 @@ - datasetsCommon + options @@ -7863,7 +7863,7 @@ - datasetsCommon + options @@ -9211,7 +9211,7 @@ - datasetsCommon + options @@ -10722,7 +10722,7 @@ - datasetsCommon + options diff --git a/resources/src/main/resources/business-model/ervu-business-metrics/register_subpoenas_subsystem.page b/resources/src/main/resources/business-model/ervu-business-metrics/register_subpoenas_subsystem.page index 842023d..ab7cf4b 100644 --- a/resources/src/main/resources/business-model/ervu-business-metrics/register_subpoenas_subsystem.page +++ b/resources/src/main/resources/business-model/ervu-business-metrics/register_subpoenas_subsystem.page @@ -17069,7 +17069,7 @@ - datasetsCommon + options diff --git a/resources/src/main/resources/business-model/ervu-business-metrics/removal_military_registration.page b/resources/src/main/resources/business-model/ervu-business-metrics/removal_military_registration.page index 3a7f8de..befc8f4 100644 --- a/resources/src/main/resources/business-model/ervu-business-metrics/removal_military_registration.page +++ b/resources/src/main/resources/business-model/ervu-business-metrics/removal_military_registration.page @@ -4960,7 +4960,7 @@ - datasetsCommon + options @@ -6615,7 +6615,7 @@ - datasetsCommon + options @@ -10685,7 +10685,7 @@ - datasetsCommon + options @@ -14220,7 +14220,7 @@ - datasetsCommon + options @@ -15873,7 +15873,7 @@ - datasetsCommon + options @@ -18079,7 +18079,7 @@ - datasetsCommon + options @@ -19761,7 +19761,7 @@ - datasetsCommon + options @@ -23668,7 +23668,7 @@ - datasetsCommon + options diff --git a/resources/src/main/resources/business-model/ervu-business-metrics/updating.page b/resources/src/main/resources/business-model/ervu-business-metrics/updating.page index 62595cc..f691972 100644 --- a/resources/src/main/resources/business-model/ervu-business-metrics/updating.page +++ b/resources/src/main/resources/business-model/ervu-business-metrics/updating.page @@ -6212,7 +6212,7 @@ - datasetsCommon + options @@ -10713,7 +10713,7 @@ - datasetsCommon + options @@ -13226,7 +13226,7 @@ - datasetsCommon + options @@ -16440,7 +16440,7 @@ - datasetsCommon + options @@ -18370,7 +18370,7 @@ - datasetsCommon + options