Skip to content

Commit 2d5ce1e

Browse files
fix(workflow-editor): preserve tool operation preset on in-container drag-release
1 parent 7a5f66b commit 2d5ce1e

1 file changed

Lines changed: 21 additions & 4 deletions

File tree

  • apps/sim/app/workspace/[workspaceId]/w/[workflowId]

apps/sim/app/workspace/[workspaceId]/w/[workflowId]/workflow.tsx

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1793,9 +1793,16 @@ const WorkflowContent = React.memo(
17931793
* @param position - Drop position in ReactFlow coordinates.
17941794
*/
17951795
const handleToolbarDrop = useCallback(
1796-
(data: { type: string; enableTriggerMode?: boolean }, position: { x: number; y: number }) => {
1796+
(
1797+
data: { type: string; enableTriggerMode?: boolean; presetOperation?: string },
1798+
position: { x: number; y: number }
1799+
) => {
17971800
if (!data.type || data.type === 'connectionBlock') return
17981801

1802+
const operationConfig = data.presetOperation
1803+
? { operation: data.presetOperation }
1804+
: undefined
1805+
17991806
try {
18001807
const containerInfo = isPointInLoopNode(position)
18011808

@@ -1935,7 +1942,9 @@ const WorkflowContent = React.memo(
19351942
},
19361943
containerInfo.loopId,
19371944
'parent',
1938-
autoConnectEdge
1945+
autoConnectEdge,
1946+
undefined,
1947+
operationConfig
19391948
)
19401949

19411950
// Resize the container node to fit the new block
@@ -1961,7 +1970,8 @@ const WorkflowContent = React.memo(
19611970
undefined,
19621971
undefined,
19631972
autoConnectEdge,
1964-
enableTriggerMode
1973+
enableTriggerMode,
1974+
operationConfig
19651975
)
19661976
}
19671977
} catch (err) {
@@ -2013,7 +2023,14 @@ const WorkflowContent = React.memo(
20132023
// A forced source→target edge would cross the container boundary, so it is
20142024
// intentionally not applied here.
20152025
if (isPointInLoopNode(basePosition)) {
2016-
handleToolbarDrop({ type, enableTriggerMode: enableTriggerMode === true }, basePosition)
2026+
handleToolbarDrop(
2027+
{
2028+
type,
2029+
enableTriggerMode: enableTriggerMode === true,
2030+
presetOperation: typeof presetOperation === 'string' ? presetOperation : undefined,
2031+
},
2032+
basePosition
2033+
)
20172034
return
20182035
}
20192036
}

0 commit comments

Comments
 (0)