Skip to content
Snippets Groups Projects
Commit 6083356a authored by syuilo's avatar syuilo
Browse files

🎨

parent 78ee0698
No related branches found
No related tags found
No related merge requests found
......@@ -103,8 +103,12 @@ const chartSrc = $ref('active-users');
let subDoughnutEl = $ref<HTMLCanvasElement>();
let pubDoughnutEl = $ref<HTMLCanvasElement>();
const { handler: externalTooltipHandler1 } = useChartTooltip();
const { handler: externalTooltipHandler2 } = useChartTooltip();
const { handler: externalTooltipHandler1 } = useChartTooltip({
position: 'middle',
});
const { handler: externalTooltipHandler2 } = useChartTooltip({
position: 'middle',
});
function createDoughnut(chartEl, tooltip, data) {
const chartInstance = new Chart(chartEl, {
......
......@@ -53,7 +53,9 @@ const chartEl = ref<HTMLCanvasElement>(null);
// フォントカラー
Chart.defaults.color = getComputedStyle(document.documentElement).getPropertyValue('--fg');
const { handler: externalTooltipHandler } = useChartTooltip();
const { handler: externalTooltipHandler } = useChartTooltip({
position: 'middle',
});
let chartInstance: Chart;
......
......@@ -2,7 +2,7 @@ import { onUnmounted, ref } from 'vue';
import * as os from '@/os';
import MkChartTooltip from '@/components/MkChartTooltip.vue';
export function useChartTooltip() {
export function useChartTooltip(opts: { position: 'top' | 'middle' } = { position: 'top' }) {
const tooltipShowing = ref(false);
const tooltipX = ref(0);
const tooltipY = ref(0);
......@@ -41,7 +41,11 @@ export function useChartTooltip() {
tooltipShowing.value = true;
tooltipX.value = rect.left + window.pageXOffset + context.tooltip.caretX;
tooltipY.value = rect.top + window.pageYOffset;
if (opts.position === 'top') {
tooltipY.value = rect.top + window.pageYOffset;
} else if (opts.position === 'middle') {
tooltipY.value = rect.top + window.pageYOffset + context.tooltip.caretY;
}
}
return {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment