import React, { useState } from "react"; import { css, cx } from "@emotion/css"; import { PlusOutlined } from '@ant-design/icons'; import { NodeDefaultView } from "."; import { Branch, useFlowContext } from "../WorkflowCanvas"; import { branchBlockClass, nodeSubtreeClass } from "../style"; import { Button, Tooltip } from "antd"; // import { SchemaComponent } from "../../schema-component"; export default { title: '并行', type: 'parallel', group: 'control', fieldset: { mode: { type: 'string', name: 'mode', title: '模式', 'x-decorator': 'FormItem', 'x-component': 'Radio.Group', 'x-component-props': { }, enum: [ { value: 'all', label: '全部成功' }, { value: 'any', label: '任意成功' }, // { value: 'race', label: '任意退出' }, ], default: 'all' } }, view: { }, render(data) { const { id, config: { mode } } = data; const { nodes } = useFlowContext(); const branches = nodes.reduce((result, node) => { if (node.upstreamId === id && node.branchIndex != null) { return result.concat(node); } return result; }, []).sort((a, b) => a.branchIndex - b.branchIndex); const [branchCount, setBranchCount] = useState(Math.max(2, branches.length)); const tempBranches = Array(Math.max(0, branchCount - branches.length)).fill(null); const lastBranchHead = branches[branches.length - 1]; return (
{branches.map((branch) => ( ))} {tempBranches.map((_, i) => ( 1 ? (
button{ .anticon{ transform: rotate(45deg) } } `}>
) : null } /> ))}
) } };