@@ -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