diff --git a/web/app/components/workflow/nodes/_base/components/node-position.tsx b/web/app/components/workflow/nodes/_base/components/node-position.tsx index 4fa689916e..404648dfa6 100644 --- a/web/app/components/workflow/nodes/_base/components/node-position.tsx +++ b/web/app/components/workflow/nodes/_base/components/node-position.tsx @@ -4,22 +4,24 @@ import { RiCrosshairLine } from '@remixicon/react' import type { XYPosition } from 'reactflow' import { useReactFlow, useStoreApi } from 'reactflow' import TooltipPlus from '@/app/components/base/tooltip' +import { useNodesSyncDraft } from '@/app/components/workflow-app/hooks' type NodePositionProps = { - position: XYPosition, - width?: number | null, - height?: number | null, + nodePosition: XYPosition, + nodeWidth?: number | null, + nodeHeight?: number | null, } const NodePosition = ({ - position, - width, - height, + nodePosition, + nodeWidth, + nodeHeight, }: NodePositionProps) => { const { t } = useTranslation() const reactflow = useReactFlow() const store = useStoreApi() + const { doSyncWorkflowDraft } = useNodesSyncDraft() - if (!position || !width || !height) return null + if (!nodePosition || !nodeWidth || !nodeHeight) return null const workflowContainer = document.getElementById('workflow-container') const { transform } = store.getState() @@ -36,10 +38,11 @@ const NodePosition = ({ className='mr-1 flex h-6 w-6 cursor-pointer items-center justify-center rounded-md hover:bg-state-base-hover' onClick={() => { setViewport({ - x: (clientWidth - 400 - width * zoom) / 2 - position.x * zoom, - y: (clientHeight - height * zoom) / 2 - position.y * zoom, + x: (clientWidth - 400 - nodeWidth * zoom) / 2 - nodePosition.x * zoom, + y: (clientHeight - nodeHeight * zoom) / 2 - nodePosition.y * zoom, zoom: transform[2], }) + doSyncWorkflowDraft() }} > diff --git a/web/app/components/workflow/nodes/_base/panel.tsx b/web/app/components/workflow/nodes/_base/panel.tsx index fbb0ef84a2..49c61b3416 100644 --- a/web/app/components/workflow/nodes/_base/panel.tsx +++ b/web/app/components/workflow/nodes/_base/panel.tsx @@ -154,7 +154,7 @@ const BasePanel: FC = ({ ) } - +