+ {
+ setViewport({
+ x: (clientWidth - 400 - node.width! * zoom) / 2 - position.x * zoom,
+ y: (clientHeight - node.height! * zoom) / 2 - position.y * zoom,
+ zoom: transform[2],
+ })
+ }}
+ >
+
+
+
+ )
+}
+
+export default memo(NodePosition)
diff --git a/web/app/components/workflow/nodes/_base/panel.tsx b/web/app/components/workflow/nodes/_base/panel.tsx
index 2ee39a3b06..307b3fec7b 100644
--- a/web/app/components/workflow/nodes/_base/panel.tsx
+++ b/web/app/components/workflow/nodes/_base/panel.tsx
@@ -16,6 +16,7 @@ import { useTranslation } from 'react-i18next'
import NextStep from './components/next-step'
import PanelOperator from './components/panel-operator'
import HelpLink from './components/help-link'
+import NodePosition from './components/node-position'
import {
DescriptionInput,
TitleInput,
@@ -150,6 +151,7 @@ const BasePanel: FC