2022-08-31 02:14:16 +02:00
|
|
|
<script>
|
2022-08-31 22:25:22 +02:00
|
|
|
import { onMount } from "svelte";
|
2022-08-31 02:14:16 +02:00
|
|
|
import Chart from "svelte-frappe-charts";
|
|
|
|
|
|
2022-08-31 22:25:22 +02:00
|
|
|
onMount(async () => {
|
|
|
|
|
console.log("[i]", "------------chart mounted--------------");
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
let chartRef;
|
|
|
|
|
|
2022-08-31 02:14:16 +02:00
|
|
|
export let widget;
|
|
|
|
|
|
2022-08-31 22:25:22 +02:00
|
|
|
let axisOptions = { xAxisMode: "tick", xIsSeries: true };
|
|
|
|
|
let lineOptions;
|
|
|
|
|
|
|
|
|
|
if (widget.pointRadius == "0") {
|
|
|
|
|
lineOptions = { regionFill: 1, hideDots: 1, spline: 1 };
|
|
|
|
|
} else {
|
|
|
|
|
lineOptions = { regionFill: 1, dotSize: 3, spline: 1 };
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
let labels = ["", ""];
|
|
|
|
|
let values = ["", ""];
|
|
|
|
|
|
|
|
|
|
//let datachart = {
|
|
|
|
|
// labels: [],
|
|
|
|
|
// datasets: [],
|
|
|
|
|
//};
|
2022-08-31 02:14:16 +02:00
|
|
|
|
|
|
|
|
let datachart = {
|
|
|
|
|
labels: labels,
|
|
|
|
|
datasets: [
|
|
|
|
|
{
|
2022-08-31 22:25:22 +02:00
|
|
|
name: widget.descr,
|
2022-08-31 02:14:16 +02:00
|
|
|
values: values,
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
$: widget.status, calc();
|
|
|
|
|
|
|
|
|
|
function calc() {
|
|
|
|
|
if (widget.status) {
|
|
|
|
|
let dataArr = widget.status;
|
|
|
|
|
for (let i = 0; i < dataArr.length; i++) {
|
2022-08-31 22:25:22 +02:00
|
|
|
chartRef.addDataPoint(getHHMM(dataArr[i].x), [dataArr[i].y1]);
|
2022-08-31 02:14:16 +02:00
|
|
|
}
|
2022-08-31 22:25:22 +02:00
|
|
|
console.log("-------------------------calc-------------------------");
|
2022-08-31 02:14:16 +02:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2022-08-31 22:25:22 +02:00
|
|
|
function getHHMM(timestamp) {
|
|
|
|
|
var date = new Date(timestamp * 1000);
|
|
|
|
|
return ("0" + date.getHours()).slice(-2) + ":" + ("0" + date.getMinutes()).slice(-2);
|
2022-08-31 02:14:16 +02:00
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
|
2022-08-31 22:25:22 +02:00
|
|
|
<!--<div class="text-center">-->
|
|
|
|
|
<!-- svelte-ignore a11y-label-has-associated-control -->
|
|
|
|
|
<!--<label class="wgt-dscr-stl">{!widget.descr ? "" : widget.descr} </label>-->
|
|
|
|
|
<!--</div>-->
|
|
|
|
|
|
|
|
|
|
<Chart data={datachart} type="line" lineOptions={lineOptions} axisOptions={axisOptions} bind:this={chartRef} />
|