Skip to content

Commit

Permalink
Update statistics chart to respect entity display precision, fix prec…
Browse files Browse the repository at this point in the history
…ision bug in history chart (#18334)
  • Loading branch information
karwosts authored Oct 23, 2023
1 parent 65112b3 commit 6cae11f
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 11 deletions.
14 changes: 4 additions & 10 deletions src/components/chart/state-history-chart-line.ts
Original file line number Diff line number Diff line change
Expand Up @@ -141,16 +141,10 @@ export class StateHistoryChartLine extends LitElement {
`${context.dataset.label}: ${formatNumber(
context.parsed.y,
this.hass.locale,
this.data[context.datasetIndex]?.entity_id
? getNumberFormatOptions(
this.hass.states[
this.data[context.datasetIndex].entity_id
],
this.hass.entities[
this.data[context.datasetIndex].entity_id
]
)
: undefined
getNumberFormatOptions(
undefined,
this.hass.entities[this._entityIds[context.datasetIndex]]
)
)} ${this.unit}`,
},
},
Expand Down
12 changes: 11 additions & 1 deletion src/components/chart/statistics-chart.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ import { isComponentLoaded } from "../../common/config/is_component_loaded";
import {
formatNumber,
numberFormatToLocale,
getNumberFormatOptions,
} from "../../common/number/format_number";
import {
getDisplayUnit,
Expand Down Expand Up @@ -74,6 +75,8 @@ export class StatisticsChart extends LitElement {

@state() private _chartData: ChartData = { datasets: [] };

@state() private _statisticIds: string[] = [];

@state() private _chartOptions?: ChartOptions;

@query("ha-chart-base") private _chart?: HaChartBase;
Expand Down Expand Up @@ -189,7 +192,11 @@ export class StatisticsChart extends LitElement {
label: (context) =>
`${context.dataset.label}: ${formatNumber(
context.parsed.y,
this.hass.locale
this.hass.locale,
getNumberFormatOptions(
undefined,
this.hass.entities[this._statisticIds[context.datasetIndex]]
)
)} ${
// @ts-ignore
context.dataset.unit || ""
Expand Down Expand Up @@ -248,6 +255,7 @@ export class StatisticsChart extends LitElement {
let colorIndex = 0;
const statisticsData = Object.entries(this.statisticsData);
const totalDataSets: ChartDataset<"line">[] = [];
const statisticIds: string[] = [];
let endTime: Date;

if (statisticsData.length === 0) {
Expand Down Expand Up @@ -386,6 +394,7 @@ export class StatisticsChart extends LitElement {
unit: meta?.unit_of_measurement,
band,
});
statisticIds.push(statistic_id);
}
});

Expand Down Expand Up @@ -427,6 +436,7 @@ export class StatisticsChart extends LitElement {
this._chartData = {
datasets: totalDataSets,
};
this._statisticIds = statisticIds;
}

static get styles(): CSSResultGroup {
Expand Down

0 comments on commit 6cae11f

Please sign in to comment.