[M] Migrate usage

This commit is contained in:
Azalea
2024-12-23 18:32:20 -05:00
parent 6631bb593c
commit 9cffb19332
5 changed files with 33 additions and 5603 deletions

View File

@@ -0,0 +1,29 @@
<script lang="ts">
import { Chart, Tooltip, type ChartData, type ChartOptions } from 'chart.js';
import type { HTMLCanvasAttributes } from 'svelte/elements';
import 'chart.js/auto';
interface Props extends HTMLCanvasAttributes {
data: ChartData<'line', any, string>
options: ChartOptions<'line'>
}
const { data, options, ...rest }: Props = $props()
Chart.register(Tooltip)
let canvasElem: HTMLCanvasElement
let chart: Chart
$effect(() => {
chart = new Chart(canvasElem, { type: 'line', data, options })
return () => chart.destroy()
})
$effect(() => {
if (!chart) return
chart.data = data
chart.update()
})
</script>
<canvas bind:this={canvasElem} {...rest}></canvas>