Merge pull request #13539 from ArtemDzhereleiko/AD/bug-fix/chart-tooltip/hide-zero

Fixed tooltip with string false and empty tooltip
This commit is contained in:
Igor Kulikov 2025-06-06 19:30:36 +03:00 committed by GitHub
commit d68e1a1a91
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -17,9 +17,7 @@
import { isFunction } from '@core/utils'; import { isFunction } from '@core/utils';
import { FormattedData } from '@shared/models/widget.models'; import { FormattedData } from '@shared/models/widget.models';
import { DateFormatProcessor, DateFormatSettings, Font } from '@shared/models/widget-settings.models'; import { DateFormatProcessor, DateFormatSettings, Font } from '@shared/models/widget-settings.models';
import { import { TimeSeriesChartDataItem } from '@home/components/widget/lib/chart/time-series-chart.models';
TimeSeriesChartDataItem,
} from '@home/components/widget/lib/chart/time-series-chart.models';
import { Renderer2, SecurityContext } from '@angular/core'; import { Renderer2, SecurityContext } from '@angular/core';
import { DomSanitizer } from '@angular/platform-browser'; import { DomSanitizer } from '@angular/platform-browser';
import { CallbackDataParams } from 'echarts/types/dist/shared'; import { CallbackDataParams } from 'echarts/types/dist/shared';
@ -104,6 +102,9 @@ export class TimeSeriesChartTooltip {
if (!tooltipParams.items.length && !tooltipParams.comparisonItems.length) { if (!tooltipParams.items.length && !tooltipParams.comparisonItems.length) {
return null; return null;
} }
if (this.settings.tooltipHideZeroFalse && !tooltipParams.items.some(value => value.param.value[1] && value.param.value[1] !== 'false')) {
return undefined;
}
const tooltipElement: HTMLElement = this.renderer.createElement('div'); const tooltipElement: HTMLElement = this.renderer.createElement('div');
this.renderer.setStyle(tooltipElement, 'display', 'flex'); this.renderer.setStyle(tooltipElement, 'display', 'flex');
@ -130,7 +131,7 @@ export class TimeSeriesChartTooltip {
this.renderer.appendChild(tooltipItemsElement, this.constructTooltipDateElement(items[0].param, interval)); this.renderer.appendChild(tooltipItemsElement, this.constructTooltipDateElement(items[0].param, interval));
} }
for (const item of items) { for (const item of items) {
if (!this.settings.tooltipHideZeroFalse || item.param.value[1]) { if (!this.settings.tooltipHideZeroFalse || (item.param.value[1] && item.param.value[1] !== 'false')) {
this.renderer.appendChild(tooltipItemsElement, this.constructTooltipSeriesElement(item)); this.renderer.appendChild(tooltipItemsElement, this.constructTooltipSeriesElement(item));
} }
} }