Browse Source

Properly update chart datasets and improve tooltip

pull/839/head
Thomas 3 years ago
parent
commit
c439733929
  1. 23
      libs/ui/src/lib/fire-calculator/fire-calculator.component.ts

23
libs/ui/src/lib/fire-calculator/fire-calculator.component.ts

@ -128,8 +128,10 @@ export class FireCalculatorComponent
if (this.chartCanvas) { if (this.chartCanvas) {
if (this.chart) { if (this.chart) {
this.chart.data.labels = chartData.labels; this.chart.data.labels = chartData.labels;
this.chart.data.datasets[0].data = chartData.datasets[0].data;
this.chart.data.datasets[1].data = chartData.datasets[1].data; for (let index = 0; index < this.chart.data.datasets.length; index++) {
this.chart.data.datasets[index].data = chartData.datasets[index].data;
}
this.chart.update(); this.chart.update();
} else { } else {
@ -138,7 +140,24 @@ export class FireCalculatorComponent
options: { options: {
plugins: { plugins: {
tooltip: { tooltip: {
itemSort: (a, b) => {
// Reverse order
return b.datasetIndex - a.datasetIndex;
},
mode: 'index',
callbacks: { callbacks: {
footer: (items) => {
const totalAmount = items.reduce(
(a, b) => a + b.parsed.y,
0
);
return `Total Amount: ${new Intl.NumberFormat(this.locale, {
currency: this.currency,
currencyDisplay: 'code',
style: 'currency'
}).format(totalAmount)}`;
},
label: (context) => { label: (context) => {
let label = context.dataset.label || ''; let label = context.dataset.label || '';

Loading…
Cancel
Save