|
|
|
|
@ -67,6 +67,7 @@ const FlowEditor: React.FC = () => {
|
|
|
|
|
// 添加编辑弹窗相关状态
|
|
|
|
|
const [editingNode, setEditingNode] = useState<Node | null>(null);
|
|
|
|
|
const [isEditModalOpen, setIsEditModalOpen] = useState(false);
|
|
|
|
|
const [isDelete, setIsDelete] = useState(false);
|
|
|
|
|
|
|
|
|
|
// 添加节点选择弹窗状态
|
|
|
|
|
const [edgeForNodeAdd, setEdgeForNodeAdd] = useState<Edge | null>(null);
|
|
|
|
|
@ -164,6 +165,11 @@ const FlowEditor: React.FC = () => {
|
|
|
|
|
[edges]
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
const onNodesDelete = useCallback((deletedNodes) => {
|
|
|
|
|
setIsDelete(true);
|
|
|
|
|
closeEditModal();
|
|
|
|
|
}, []);
|
|
|
|
|
|
|
|
|
|
const onConnect = useCallback(
|
|
|
|
|
(params: any) => {
|
|
|
|
|
// 获取源节点和目标节点
|
|
|
|
|
@ -631,6 +637,7 @@ const FlowEditor: React.FC = () => {
|
|
|
|
|
edgeTypes={edgeTypes}
|
|
|
|
|
snapToGrid={true}
|
|
|
|
|
snapGrid={[2, 2]}
|
|
|
|
|
onNodesDelete={onNodesDelete}
|
|
|
|
|
onNodesChange={onNodesChange}
|
|
|
|
|
onEdgesChange={onEdgesChange}
|
|
|
|
|
onConnect={onConnect}
|
|
|
|
|
@ -739,11 +746,12 @@ const FlowEditor: React.FC = () => {
|
|
|
|
|
</div>
|
|
|
|
|
)}
|
|
|
|
|
|
|
|
|
|
{/*节点双击/节点编辑上下文*/}
|
|
|
|
|
{/*节点点击/节点编辑上下文*/}
|
|
|
|
|
<NodeEditModal
|
|
|
|
|
popupContainer={reactFlowWrapper}
|
|
|
|
|
node={editingNode}
|
|
|
|
|
isOpen={isEditModalOpen}
|
|
|
|
|
isDelete={isDelete}
|
|
|
|
|
onSave={saveNodeEdit}
|
|
|
|
|
onClose={closeEditModal}
|
|
|
|
|
/>
|
|
|
|
|
|