fix(ui): antd nested form bugs
This commit is contained in:
@@ -2,10 +2,13 @@ import { memo, useMemo } from "react";
|
||||
|
||||
import { type WorkflowNode, WorkflowNodeType } from "@/domain/workflow";
|
||||
|
||||
import ApplyNode from "./node/ApplyNode";
|
||||
import BranchNode from "./node/BranchNode";
|
||||
import CommonNode from "./node/CommonNode";
|
||||
import ConditionNode from "./node/ConditionNode";
|
||||
import DeployNode from "./node/DeployNode";
|
||||
import EndNode from "./node/EndNode";
|
||||
import NotifyNode from "./node/NotifyNode";
|
||||
import StartNode from "./node/StartNode";
|
||||
|
||||
export type WorkflowElementProps = {
|
||||
node: WorkflowNode;
|
||||
@@ -14,20 +17,26 @@ export type WorkflowElementProps = {
|
||||
branchIndex?: number;
|
||||
};
|
||||
|
||||
const WorkflowElement = ({ node, disabled, ...props }: WorkflowElementProps) => {
|
||||
const workflowNodeEl = useMemo(() => {
|
||||
const WorkflowElement = ({ node, disabled, branchId, branchIndex }: WorkflowElementProps) => {
|
||||
const nodeEl = useMemo(() => {
|
||||
switch (node.type) {
|
||||
case WorkflowNodeType.Start:
|
||||
return <StartNode node={node} disabled={disabled} />;
|
||||
|
||||
case WorkflowNodeType.Apply:
|
||||
return <ApplyNode node={node} disabled={disabled} />;
|
||||
|
||||
case WorkflowNodeType.Deploy:
|
||||
return <DeployNode node={node} disabled={disabled} />;
|
||||
|
||||
case WorkflowNodeType.Notify:
|
||||
return <CommonNode node={node} disabled={disabled} />;
|
||||
return <NotifyNode node={node} disabled={disabled} />;
|
||||
|
||||
case WorkflowNodeType.Branch:
|
||||
return <BranchNode node={node} disabled={disabled} />;
|
||||
|
||||
case WorkflowNodeType.Condition:
|
||||
return <ConditionNode node={node} disabled={disabled} branchId={props.branchId!} branchIndex={props.branchIndex!} />;
|
||||
return <ConditionNode node={node} disabled={disabled} branchId={branchId!} branchIndex={branchIndex!} />;
|
||||
|
||||
case WorkflowNodeType.End:
|
||||
return <EndNode />;
|
||||
@@ -36,9 +45,9 @@ const WorkflowElement = ({ node, disabled, ...props }: WorkflowElementProps) =>
|
||||
console.warn(`[certimate] unsupported workflow node type: ${node.type}`);
|
||||
return <></>;
|
||||
}
|
||||
}, [node, disabled, props]);
|
||||
}, [node, disabled, branchId, branchIndex]);
|
||||
|
||||
return <>{workflowNodeEl}</>;
|
||||
return <>{nodeEl}</>;
|
||||
};
|
||||
|
||||
export default memo(WorkflowElement);
|
||||
|
||||
Reference in New Issue
Block a user