diff --git a/backend/src/main/java/ru/micord/ervu_dashboard/component/chart/ErvuMultiChartDataSetService.java b/backend/src/main/java/ru/micord/ervu_dashboard/component/chart/ErvuMultiChartDataSetService.java index 79d7639e..850d7062 100644 --- a/backend/src/main/java/ru/micord/ervu_dashboard/component/chart/ErvuMultiChartDataSetService.java +++ b/backend/src/main/java/ru/micord/ervu_dashboard/component/chart/ErvuMultiChartDataSetService.java @@ -128,6 +128,17 @@ public class ErvuMultiChartDataSetService extends AbstractChartDatasetService im chartDataSetDto.setTension(aggFuncData.tension); chartDataSetDto.setOrder(aggFuncData.drawOrder); chartDataSetDto.setStack(aggFuncData.stack); + + chartDataSetDto.setBorderRadius(aggFuncData.borderRadius); + chartDataSetDto.setBorderWidth(aggFuncData.borderWidth); + chartDataSetDto.setBarPercentage(aggFuncData.barPercentage); + chartDataSetDto.setBarThickness(aggFuncData.barThickness); + chartDataSetDto.setCategoryPercentage(aggFuncData.categoryPercentage); + chartDataSetDto.setBorderDash(aggFuncData.borderDash); + chartDataSetDto.setBorderDashOffset(aggFuncData.borderDashOffset); + chartDataSetDto.setPointBorderWidth(aggFuncData.pointBorderWidth); + chartDataSetDto.setPointRadius(aggFuncData.pointRadius); + return chartDataSetDto; }).collect(Collectors.toList())).flatMap(Collection::stream).collect(Collectors.toList()); } @@ -166,6 +177,17 @@ public class ErvuMultiChartDataSetService extends AbstractChartDatasetService im chartDataSetDto.setTension(staticChartData.tension); chartDataSetDto.setOrder(staticChartData.drawOrder); chartDataSetDto.setStack(staticChartData.stack); + + chartDataSetDto.setBorderRadius(staticChartData.borderRadius); + chartDataSetDto.setBorderWidth(staticChartData.borderWidth); + chartDataSetDto.setBarPercentage(staticChartData.barPercentage); + chartDataSetDto.setBarThickness(staticChartData.barThickness); + chartDataSetDto.setCategoryPercentage(staticChartData.categoryPercentage); + chartDataSetDto.setBorderDash(staticChartData.borderDash); + chartDataSetDto.setBorderDashOffset(staticChartData.borderDashOffset); + chartDataSetDto.setPointBorderWidth(staticChartData.pointBorderWidth); + chartDataSetDto.setPointRadius(staticChartData.pointRadius); + return chartDataSetDto; }).collect(Collectors.toList()); } diff --git a/backend/src/main/java/ru/micord/ervu_dashboard/model/chart/ColumnAggregationDataSet.java b/backend/src/main/java/ru/micord/ervu_dashboard/model/chart/ColumnAggregationDataSet.java index fb138291..a1f9635f 100644 --- a/backend/src/main/java/ru/micord/ervu_dashboard/model/chart/ColumnAggregationDataSet.java +++ b/backend/src/main/java/ru/micord/ervu_dashboard/model/chart/ColumnAggregationDataSet.java @@ -30,7 +30,7 @@ public class ColumnAggregationDataSet { public String yAxesId; - public Float tension; + public String tension; public Integer drawOrder; diff --git a/frontend/src/ts/ervu-dashboard/component/chart/ErvuChartV2.ts b/frontend/src/ts/ervu-dashboard/component/chart/ErvuChartV2.ts index 78db7fe3..21977c7d 100644 --- a/frontend/src/ts/ervu-dashboard/component/chart/ErvuChartV2.ts +++ b/frontend/src/ts/ervu-dashboard/component/chart/ErvuChartV2.ts @@ -25,7 +25,6 @@ import { UnsupportedOperationError, Visible } from "@webbpm/base-package"; -import {BarPositions} from "./model/BarPositions"; import {ChartBarSettings} from "./model/ChartBarSettings"; import {ChartLegendSettings} from "./model/ChartLegendSettings"; import {Options} from "./model/Options"; @@ -296,17 +295,10 @@ export class ErvuChartV2 extends Control implements Filterable { if (this.bars.shadowBar && datasetsLength > 0) { this.initShadowBar(datasets); } - // bar positions treatment - if (this.bars.barPositions && datasetsLength > 0) { - this.initBarPositions(chartOptions, datasets, this.bars.barPositions); - } } if (this.options) { - if (this.options.borderRadiusNumber || this.options.borderRadius) { - // border radius treatment - this.initBorderRadius(chartOptions); - } + Object.assign(chartOptions, this.options); } chartConfig.tooltips = { @@ -328,19 +320,6 @@ export class ErvuChartV2 extends Control implements Filterable { this.chartConfig = chartConfig; } - 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.options.borderRadiusNumber; - options.borderRadius = borderRadiusNumber ? borderRadiusNumber : this.options.borderRadius; - } - } - private initShadowBar(datasets) { const shadowBarStack: string = this.bars.shadowBar; const shadowBarIndex = datasets.findIndex(element => element.stack === shadowBarStack); @@ -377,42 +356,6 @@ export class ErvuChartV2 extends Control implements Filterable { } } - private initBarPositions(options, datasets, barPositions: BarPositions) { - if (barPositions.barStackIndexes && barPositions.barStackIndexes.length > 0) { - options.grouped = false; - if (barPositions.barThickness) { - options.barThickness = barPositions.barThickness; - } - - const indexScales = options.scales[this.indexAxis]; - indexScales.type = 'linear'; - if (barPositions.max || barPositions.max === 0) { - indexScales.max = barPositions.max; - } - if (barPositions.min || barPositions.min === 0) { - indexScales.min = barPositions.min; - } - - barPositions.barStackIndexes.forEach(barStackIndex => { - if (barStackIndex.barStack && (barStackIndex.index || barStackIndex.index === 0)) { - datasets.forEach(dataset => { - if (dataset.stack == barStackIndex.barStack) { - dataset.data.forEach(dataObject => { - dataObject[this.indexAxis] = barStackIndex.index; - }); - } - }) - } - }); - - options.plugins.tooltip.callbacks = { - title: function (tooltipItems) { - return tooltipItems.length > 0 ? tooltipItems[0].dataset.stack : undefined; - } - } - } - } - private repaint(chartData) { if (this.chart) { this.chart.destroy(); diff --git a/frontend/src/ts/ervu-dashboard/component/chart/model/BarPositions.ts b/frontend/src/ts/ervu-dashboard/component/chart/model/BarPositions.ts deleted file mode 100644 index d4098dbf..00000000 --- a/frontend/src/ts/ervu-dashboard/component/chart/model/BarPositions.ts +++ /dev/null @@ -1,8 +0,0 @@ -import {BarStackIndex} from "./BarStackIndex"; - -export class BarPositions { - public barThickness: number; - public max: number; - public min: number; - public barStackIndexes: BarStackIndex[]; -} diff --git a/frontend/src/ts/ervu-dashboard/component/chart/model/BarStackIndex.ts b/frontend/src/ts/ervu-dashboard/component/chart/model/BarStackIndex.ts deleted file mode 100644 index 46994870..00000000 --- a/frontend/src/ts/ervu-dashboard/component/chart/model/BarStackIndex.ts +++ /dev/null @@ -1,8 +0,0 @@ -import {NotNull} from "@webbpm/base-package"; - -export class BarStackIndex { - @NotNull() - public barStack: string; - @NotNull() - public index: number; -} diff --git a/frontend/src/ts/ervu-dashboard/component/chart/model/BorderRadius.ts b/frontend/src/ts/ervu-dashboard/component/chart/model/BorderRadius.ts deleted file mode 100644 index 6d449ff4..00000000 --- a/frontend/src/ts/ervu-dashboard/component/chart/model/BorderRadius.ts +++ /dev/null @@ -1,8 +0,0 @@ -import {BorderRadius as ChartBorderRadius} from "chart.js"; - -export class BorderRadius implements ChartBorderRadius { - public topLeft: number; - public topRight: number; - public bottomLeft: number; - public bottomRight: number; -} diff --git a/frontend/src/ts/ervu-dashboard/component/chart/model/ChartBarSettings.ts b/frontend/src/ts/ervu-dashboard/component/chart/model/ChartBarSettings.ts index 3849628c..b8a7080f 100644 --- a/frontend/src/ts/ervu-dashboard/component/chart/model/ChartBarSettings.ts +++ b/frontend/src/ts/ervu-dashboard/component/chart/model/ChartBarSettings.ts @@ -1,11 +1,7 @@ -import {AdvancedProperty} from "@webbpm/base-package"; import {AxisSettings} from "./AxisSettings"; -import {BarPositions} from "./BarPositions"; export class ChartBarSettings { public shadowBar: string; public x: AxisSettings; public y: AxisSettings; - @AdvancedProperty() - public barPositions: BarPositions; } diff --git a/frontend/src/ts/ervu-dashboard/component/chart/model/Options.ts b/frontend/src/ts/ervu-dashboard/component/chart/model/Options.ts index be400f5f..432667ee 100644 --- a/frontend/src/ts/ervu-dashboard/component/chart/model/Options.ts +++ b/frontend/src/ts/ervu-dashboard/component/chart/model/Options.ts @@ -1,8 +1,16 @@ -import {Visible} from "@webbpm/base-package"; -import {BorderRadius} from "./BorderRadius"; - export class Options { - public borderRadiusNumber: number; - @Visible("borderRadiusNumber == null") - public borderRadius: BorderRadius; + // bar, doughnut + public borderRadius: number; + // bar, line + public borderWidth: number; + // bar + public barPercentage: number; + public barThickness: number; + public categoryPercentage: number; + // line + public borderDash: number[]; + public borderDashOffset: number; + public pointBorderWidth: number; + public pointRadius: number; + public tension: number; } diff --git a/packages/ru.cg.webbpm.packages.base.resources/metadata/java.metadata b/packages/ru.cg.webbpm.packages.base.resources/metadata/java.metadata index 49f4152d..35ff229e 100644 Binary files a/packages/ru.cg.webbpm.packages.base.resources/metadata/java.metadata and b/packages/ru.cg.webbpm.packages.base.resources/metadata/java.metadata differ diff --git a/pom.xml b/pom.xml index cfd41455..ebcc5254 100644 --- a/pom.xml +++ b/pom.xml @@ -40,7 +40,7 @@ ru.cg.webbpm.packages.base backend - 3.185.1 + 3.185.3-SNAPSHOT xerces diff --git a/resources/src/main/resources/business-model/forecast.page b/resources/src/main/resources/business-model/forecast.page index 24f99b59..a6501ca5 100644 --- a/resources/src/main/resources/business-model/forecast.page +++ b/resources/src/main/resources/business-model/forecast.page @@ -1545,7 +1545,7 @@ - borderRadiusNumber + borderRadius 15.0 @@ -2674,19 +2674,6 @@ bars - - barPositions - - - - barStackIndexes - - - - - - - shadowBar @@ -2823,7 +2810,7 @@ - borderRadiusNumber + borderRadius 15.0 @@ -3984,7 +3971,7 @@ - borderRadiusNumber + borderRadius 15.0 @@ -5121,19 +5108,6 @@ bars - - barPositions - - - - barStackIndexes - - - - - - - shadowBar @@ -5270,7 +5244,7 @@ - borderRadiusNumber + borderRadius 15.0