discourse/app/assets/javascripts/admin/addon/components/chart.gjs
Natalie Tay 86fcf37082
UX: Show a bit more information on translation progress chart (#34643)
This PR improves the data shown on the ai-translations chart
2025-09-01 11:10:09 +08:00

34 lines
979 B
Text
Vendored

import Component from "@glimmer/component";
import { modifier } from "ember-modifier";
import loadScript from "discourse/lib/load-script";
// args:
// chartConfig - object
export default class Chart extends Component {
renderChart = modifier((element) => {
const { chartConfig, loadChartDataLabelsPlugin } = this.args;
loadScript("/javascripts/Chart.min.js")
.then(
() =>
loadChartDataLabelsPlugin &&
loadScript("/javascripts/chartjs-plugin-datalabels.min.js")
)
.then(() => {
if (loadChartDataLabelsPlugin) {
(chartConfig.plugins ??= []).push(window.ChartDataLabels);
}
this.chart = new window.Chart(element.getContext("2d"), chartConfig);
});
return () => this.chart?.destroy();
});
<template>
<div ...attributes>
<div class="chart-canvas-container">
<canvas {{this.renderChart}} class="chart-canvas"></canvas>
</div>
</div>
</template>
}