mirror of
https://github.com/woodchen-ink/certimate.git
synced 2025-07-18 17:31:55 +08:00
34 lines
994 B
TypeScript
34 lines
994 B
TypeScript
import { WorkflowNode, WorkflowNodeType } from "@/domain/workflow";
|
|
import StartNodeForm from "./node/StartNodeForm";
|
|
import DeployPanelBody from "./DeployPanelBody";
|
|
import ApplyForm from "./ApplyForm";
|
|
import NotifyNodeForm from "./node/NotifyNodeForm";
|
|
|
|
type PanelBodyProps = {
|
|
data: WorkflowNode;
|
|
};
|
|
const PanelBody = ({ data }: PanelBodyProps) => {
|
|
const getBody = () => {
|
|
switch (data.type) {
|
|
case WorkflowNodeType.Start:
|
|
return <StartNodeForm data={data} />;
|
|
case WorkflowNodeType.Apply:
|
|
return <ApplyForm data={data} />;
|
|
case WorkflowNodeType.Deploy:
|
|
return <DeployPanelBody data={data} />;
|
|
case WorkflowNodeType.Notify:
|
|
return <NotifyNodeForm data={data} />;
|
|
case WorkflowNodeType.Branch:
|
|
return <div>分支节点</div>;
|
|
case WorkflowNodeType.Condition:
|
|
return <div>条件节点</div>;
|
|
default:
|
|
return <> </>;
|
|
}
|
|
};
|
|
|
|
return <>{getBody()}</>;
|
|
};
|
|
|
|
export default PanelBody;
|