From 2bacd38a2f15418027554f1446778429b379872a Mon Sep 17 00:00:00 2001 From: Artyom Hackimullin Date: Mon, 7 Apr 2025 12:44:36 +0300 Subject: [PATCH] SUPPORT-8932: fix --- .../ervu-dashboard/component/chart/ErvuChartTooltip.ts | 9 +++++---- .../src/ts/ervu-dashboard/component/chart/ErvuChartV2.ts | 9 +++++---- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/frontend/src/ts/ervu-dashboard/component/chart/ErvuChartTooltip.ts b/frontend/src/ts/ervu-dashboard/component/chart/ErvuChartTooltip.ts index b0687e82..2bc6812f 100644 --- a/frontend/src/ts/ervu-dashboard/component/chart/ErvuChartTooltip.ts +++ b/frontend/src/ts/ervu-dashboard/component/chart/ErvuChartTooltip.ts @@ -6,6 +6,7 @@ import { SimpleChanges } from '@angular/core'; import {Visible} from "@webbpm/base-package"; +import {TooltipModel} from "chart.js"; @Component({ moduleId: module.id, @@ -15,7 +16,7 @@ import {Visible} from "@webbpm/base-package"; }) export class ErvuChartTooltip implements OnChanges { @Input() - public tooltipModel: any; + public tooltipModel: TooltipModel; @Input() public position: any; @@ -36,9 +37,9 @@ export class ErvuChartTooltip implements OnChanges { } public refreshContent() { - const tooltipModel = this.tooltipModel; - const titleLines = tooltipModel.title || []; - const bodyLines = tooltipModel.body.map((bodyItem) => bodyItem.lines); + const tooltipModel: TooltipModel = this.tooltipModel; + const titleLines: string[] = tooltipModel.title || []; + const bodyLines: any = tooltipModel.body.map((bodyItem) => bodyItem.lines); this.items = bodyLines.map((body, i) => ({ title: titleLines[i] || '', diff --git a/frontend/src/ts/ervu-dashboard/component/chart/ErvuChartV2.ts b/frontend/src/ts/ervu-dashboard/component/chart/ErvuChartV2.ts index df7c32e6..9602705d 100644 --- a/frontend/src/ts/ervu-dashboard/component/chart/ErvuChartV2.ts +++ b/frontend/src/ts/ervu-dashboard/component/chart/ErvuChartV2.ts @@ -8,7 +8,7 @@ import { ViewChild } from "@angular/core"; -import {Chart as ChartJs, ChartData, ChartType, DefaultDataPoint} from "chart.js"; +import {Chart as ChartJs, ChartData, ChartType, DefaultDataPoint, TooltipModel} from "chart.js"; import "chartjs-adapter-moment"; import { AdvancedProperty, @@ -96,17 +96,18 @@ export class ErvuChartV2 extends Control implements Filterable { public noDataStyle: string = "rgb(100,100,100)"; @ViewChild(ErvuChartTooltip) + @Visible("false") public chartTooltip: ErvuChartTooltip; @Visible("false") public tooltipPosition: any; @Visible("false") - public tooltipModel; + public tooltipModel: TooltipModel; private chartRpcService: ChartV2RpcService; private filterMap: { [key: string]: Filter } = {}; private loadEnabled: boolean = true; private filterDelegate: FilterDelegate; - private chartConfig; + private chartConfig: any; private plugins: ChartPlugin[] = []; private noDataPlugin = { @@ -227,7 +228,7 @@ export class ErvuChartV2 extends Control implements Filterable { chartOptions.plugins.legend = this.legend ? this.legend : {}; chartOptions.plugins.tooltip = { - enabled: false, + enabled: false, //Disables default tooltip from charjs (we'll use a custom tooltip) external: (context) => { if (this.showTooltip) { if (!context || !this.chartTooltip) {