From 5dc28c354c85335f258187b6168ea4eed38bef50 Mon Sep 17 00:00:00 2001 From: Googler Date: Fri, 10 Jul 2026 16:13:51 -0700 Subject: [PATCH] Improve Lin DAG canvas interaction with Figma-like scrolling and focus tracking * Enable natural scrolling in DAG features for Figma-like wheel/trackpad pan and zoom. * Skip scroll interception in workflow_graph for overflow-hidden custom nodes. * Add real-time DOM-based viewport center tracking during scroll and pan interactions. * Centralize auto-focus disablement and cleanup across component lifecycle events. PiperOrigin-RevId: 945940505 --- src/app/directed_acyclic_graph_raw.ts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/app/directed_acyclic_graph_raw.ts b/src/app/directed_acyclic_graph_raw.ts index 678f65b..6d12f65 100644 --- a/src/app/directed_acyclic_graph_raw.ts +++ b/src/app/directed_acyclic_graph_raw.ts @@ -1500,6 +1500,15 @@ export class DagRaw implements DoCheck, OnInit, OnDestroy { } function willScroll(node: Element, event: WheelEvent) { + if (typeof window !== 'undefined' && window.getComputedStyle) { + const style = window.getComputedStyle(node); + const overflowX = style.overflowX; + const overflowY = style.overflowY; + if ((overflowX === 'hidden' || overflowX === 'visible' || overflowX === 'none') && + (overflowY === 'hidden' || overflowY === 'visible' || overflowY === 'none')) { + return false; + } + } return willScrollX(node, event) || willScrollY(node, event); }