From b17b67dc90ba10fe21ec68e51e151a14fc9afc6c Mon Sep 17 00:00:00 2001 From: artem Date: Sat, 26 Sep 2026 22:41:23 +0300 Subject: [PATCH] fix zoom --- src/pages/workouts/components/WorkoutItem.vue | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/pages/workouts/components/WorkoutItem.vue b/src/pages/workouts/components/WorkoutItem.vue index 94870e3..e30d8ba 100644 --- a/src/pages/workouts/components/WorkoutItem.vue +++ b/src/pages/workouts/components/WorkoutItem.vue @@ -523,6 +523,7 @@ type ChartRefEl = { chart: ChartJS }; // and are never re-rendered, so no Ref wrapper is needed. Using a bare array // also sidesteps deep generic instantiation of Ref>. const chartRefs: Array = []; +let pendingRezoom = false; const group = new ChartGroup([]); const mapX = ref>([]); let currentCoordinates = ref | null>([]); @@ -1172,7 +1173,10 @@ const setChartRef = (_key: string, el: unknown) => { chartRefs.every((ref) => !!ref.chart) ) { group.charts = collectCharts(); - applySelectedRangeZoom(); + if (pendingRezoom) { + pendingRezoom = false; + applySelectedRangeZoom(); + } } else if (retries > 0) { nextTick(() => tryFinalize(retries - 1)); } @@ -1188,6 +1192,7 @@ const switchXAxis = (mode: XAxisMode) => { chartRefs.length = 0; group.charts = []; xAxisMode.value = mode; + pendingRezoom = true; }; onMounted(() => { group.charts = collectCharts();