From a96e0dec0c30d69ddea6e8febac52f82f94ff4dd Mon Sep 17 00:00:00 2001 From: Austin Mroz Date: Tue, 23 Dec 2025 17:52:18 -0800 Subject: [PATCH] Initial pan/zoom implementation --- src/components/ui/ZoomPane.vue | 44 ++++++++++++++++++++++++++++++++++ src/views/LinearView.vue | 18 +++++++++----- 2 files changed, 56 insertions(+), 6 deletions(-) create mode 100644 src/components/ui/ZoomPane.vue diff --git a/src/components/ui/ZoomPane.vue b/src/components/ui/ZoomPane.vue new file mode 100644 index 000000000..f2b19c169 --- /dev/null +++ b/src/components/ui/ZoomPane.vue @@ -0,0 +1,44 @@ + + diff --git a/src/views/LinearView.vue b/src/views/LinearView.vue index f8ba37e39..826757fbf 100644 --- a/src/views/LinearView.vue +++ b/src/views/LinearView.vue @@ -14,6 +14,7 @@ import { computed, ref, shallowRef, useTemplateRef, watch } from 'vue' import TopbarBadges from '@/components/topbar/TopbarBadges.vue' import WorkflowTabs from '@/components/topbar/WorkflowTabs.vue' +import ZoomPane from '@/components/ui/ZoomPane.vue' import Button from '@/components/ui/button/Button.vue' import { safeWidgetMapper } from '@/composables/graph/useGraphNodeManager' import { d, t } from '@/i18n' @@ -267,6 +268,10 @@ function gotoPreviousOutput() { } function handleCenterWheel(e: WheelEvent) { + if (!e.ctrlKey && !e.metaKey) return + e.preventDefault() + e.stopPropagation() + //TODO roll in litegraph/CanvasPointer and give slight stickiness when on trackpad if (e.deltaY > 0) gotoNextOutput() else { @@ -347,7 +352,7 @@ function handleCenterWheel(e: WheelEvent) {
- + v-slot="slotProps" + class="flex-1 w-full" + > + +