Files
rpi-sensors/webapp/src/main.ts
Daniel Ledda 7b7b066d1d Finished?!
2020-11-14 14:46:44 +01:00

39 lines
1.3 KiB
TypeScript

import ClimateChart from "./ClimateChart";
const CHART_DOM_ID: string = "myChart";
let rootUrl: string = "";
function createClimateChart() {
const pathname = window.location.pathname;
if (pathname !== "/") {
rootUrl += pathname.match(/\/[^?\s]*/)[0];
}
let minutesDisplayed = 60;
const argsStart = pathname.search(/\?minute-span=/);
if (argsStart !== -1) {
const parsedMins = Number(pathname[12]);
if (!isNaN(parsedMins) && parsedMins > 0) {
minutesDisplayed = parsedMins;
}
}
return new ClimateChart(rootUrl, CHART_DOM_ID, minutesDisplayed);
}
const overlay = document.createElement('div');
overlay.classList.add('overlay', 'center');
const textContainer = document.createElement('span');
textContainer.innerText = 'Loading data...';
overlay.appendChild(textContainer);
document.onreadystatechange = (e) => {
document.getElementById("root").appendChild(overlay);
const climateChart = createClimateChart();
climateChart.onLoaded(() => {
overlay.classList.add('hidden');
});
climateChart.onErrored((e) => {
overlay.classList.remove('hidden');
textContainer.innerText = `An error occurred: ${e}\nTry restarting the page.`;
});
document.onreadystatechange = () => {};
};