2
0
Эх сурвалжийг харах

fix(demo-free-layout): loop cannot nest loop node (#798)

xiamidaxia 4 сар өмнө
parent
commit
02e900c53f

+ 12 - 1
apps/demo-free-layout/src/components/node-panel/node-list.tsx

@@ -10,7 +10,7 @@ import { NodePanelRenderProps } from '@flowgram.ai/free-node-panel-plugin';
 import { useClientContext, WorkflowNodeEntity } from '@flowgram.ai/free-layout-editor';
 import { useClientContext, WorkflowNodeEntity } from '@flowgram.ai/free-layout-editor';
 
 
 import { FlowNodeRegistry } from '../../typings';
 import { FlowNodeRegistry } from '../../typings';
-import { nodeRegistries } from '../../nodes';
+import { nodeRegistries, WorkflowNodeType } from '../../nodes';
 
 
 const NodeWrap = styled.div`
 const NodeWrap = styled.div`
   width: 100%;
   width: 100%;
@@ -84,6 +84,17 @@ export const NodeList: FC<NodeListProps> = (props) => {
           if (register.meta.onlyInContainer) {
           if (register.meta.onlyInContainer) {
             return register.meta.onlyInContainer === containerNode?.flowNodeType;
             return register.meta.onlyInContainer === containerNode?.flowNodeType;
           }
           }
+          /**
+           * 循环节点无法嵌套循环节点
+           * Loop node cannot nest loop node
+           */
+          if (
+            containerNode &&
+            containerNode.flowNodeType === WorkflowNodeType.Loop &&
+            register.type === WorkflowNodeType.Loop
+          ) {
+            return false;
+          }
           return true;
           return true;
         })
         })
         .map((registry) => (
         .map((registry) => (