mirror of
https://github.com/misskey-dev/misskey.git
synced 2026-06-12 10:34:04 +02:00
refactor(frontend): scripts -> utility
This commit is contained in:
28
packages/frontend/src/utility/chart-vline.ts
Normal file
28
packages/frontend/src/utility/chart-vline.ts
Normal file
@@ -0,0 +1,28 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: syuilo and misskey-project
|
||||
* SPDX-License-Identifier: AGPL-3.0-only
|
||||
*/
|
||||
|
||||
import type { 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;
|
||||
Reference in New Issue
Block a user