import loadScript from 'discourse/lib/load-script'; import { number } from 'discourse/lib/formatter'; export default Ember.Component.extend({ tagName: 'canvas', refreshChart(){ const ctx = this.$()[0].getContext("2d"); const model = this.get("model"); const rawData = this.get("model.data"); var data = { labels: rawData.map(r => r.x), datasets: [{ data: rawData.map(r => r.y), label: model.get('title'), backgroundColor: "rgba(200,220,240,0.3)", borderColor: "#08C" }] }; const config = { type: 'line', data: data, options: { responsive: true, tooltips: { callbacks: { title: (context) => moment(context[0].xLabel, "YYYY-MM-DD").format("LL") } }, scales: { yAxes: [{ display: true, ticks: { callback: (label) => number(label), suggestedMin: 0 } }] } }, }; this._chart = new window.Chart(ctx, config); }, didInsertElement(){ loadScript("/javascripts/Chart.min.js").then(() => this.refreshChart.apply(this)); } });