From c967ddba2e6c6d1ca5f20ea40a6717aa233b4ca0 Mon Sep 17 00:00:00 2001 From: ThatOneCalculator Date: Mon, 13 Feb 2023 19:58:33 -0800 Subject: [PATCH] add needed script --- packages/client/src/scripts/chart-vline.ts | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 packages/client/src/scripts/chart-vline.ts diff --git a/packages/client/src/scripts/chart-vline.ts b/packages/client/src/scripts/chart-vline.ts new file mode 100644 index 000000000..f32144383 --- /dev/null +++ b/packages/client/src/scripts/chart-vline.ts @@ -0,0 +1,23 @@ +import { Plugin } from 'chart.js'; + +export const chartVLine = (vLineColor: string) => ({ + id: 'vLine', + beforeDraw(chart, args, options) { + if (chart.tooltip?._active?.length) { + const ctx = chart.ctx; + const xs = chart.tooltip._active.map(a => a.element.x); + const x = xs.reduce((a, b) => a + b, 0) / xs.length; + const topY = chart.scales.y.top; + const bottomY = chart.scales.y.bottom; + + ctx.save(); + ctx.beginPath(); + ctx.moveTo(x, bottomY); + ctx.lineTo(x, topY); + ctx.lineWidth = 1; + ctx.strokeStyle = vLineColor; + ctx.stroke(); + ctx.restore(); + } + }, +}) as Plugin;