You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ac-nh-turnip-prices/js/chart.js

55 lines
2.0 KiB
JavaScript

let chart_instance = null;
Chart.defaults.global.defaultFontFamily = "'Varela Round', sans-serif";
const chart_options = {
elements: {
line: {
backgroundColor: "#DEF2D9",
backgroundColor: "#DEF2D9",
cubicInterpolationMode: "monotone",
},
},
maintainAspectRatio: false,
tooltips: {
intersect: false,
mode: "index",
},
};
function update_chart(input_data, possibilities) {
var ctx = $("#chart");
datasets = [
{
label: i18next.t("output.chart.input"),
data: input_data.slice(1),
fill: false,
},
{
label: i18next.t("output.chart.minimum"),
data: possibilities[0].prices.slice(1).map(day => day.min),
fill: false,
},
{
label: i18next.t("output.chart.maximum"),
data: possibilities[0].prices.slice(1).map(day => day.max),
fill: "-1",
},
];
if (chart_instance) {
chart_instance.data.datasets = datasets;
chart_instance.update();
} else {
chart_instance = new Chart(ctx, {
data: {
datasets: datasets,
labels: [i18next.t("weekdays.sunday"), i18next.t("weekdays.abr.monday") + " " + i18next.t("times.morning"), i18next.t("weekdays.abr.monday") + " " + i18next.t("times.afternoon"), i18next.t("weekdays.abr.tuesday") + " " + i18next.t("times.morning"), i18next.t("weekdays.abr.tuesday") + " " + i18next.t("times.afternoon"), i18next.t("weekdays.abr.wednesday") + " " + i18next.t("times.morning"), i18next.t("weekdays.abr.wednesday") + " " + i18next.t("times.afternoon"), i18next.t("weekdays.abr.thursday") + " " + i18next.t("times.morning"), i18next.t("weekdays.abr.thursday") + " " + i18next.t("times.afternoon"), i18next.t("weekdays.abr.friday") + " " + i18next.t("times.morning"), i18next.t("weekdays.abr.friday") + " " + i18next.t("times.afternoon"), i18next.t("weekdays.abr.saturday") + " " + i18next.t("times.morning"), i18next.t("weekdays.abr.saturday") + " " + i18next.t("times.afternoon")],
},
options: chart_options,
type: "line",
});
}
}