@rxflow/workflow 0.0.1-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +43 -0
- package/cjs/components/CanvasLoading/index.d.ts +14 -0
- package/cjs/components/CanvasLoading/index.d.ts.map +1 -0
- package/cjs/components/CanvasLoading/index.js +51 -0
- package/cjs/components/CanvasLoading/index.less +69 -0
- package/cjs/components/CodeEditor/DebugPanel/index.d.ts +16 -0
- package/cjs/components/CodeEditor/DebugPanel/index.d.ts.map +1 -0
- package/cjs/components/CodeEditor/DebugPanel/index.js +156 -0
- package/cjs/components/CodeEditor/DebugPanel/index.less +56 -0
- package/cjs/components/CodeEditor/FileTree/LibraryIcon.d.ts +11 -0
- package/cjs/components/CodeEditor/FileTree/LibraryIcon.d.ts.map +1 -0
- package/cjs/components/CodeEditor/FileTree/LibraryIcon.js +33 -0
- package/cjs/components/CodeEditor/FileTree/icons/Javascript.d.ts +11 -0
- package/cjs/components/CodeEditor/FileTree/icons/Javascript.d.ts.map +1 -0
- package/cjs/components/CodeEditor/FileTree/icons/Javascript.js +37 -0
- package/cjs/components/CodeEditor/FileTree/icons/Python.d.ts +11 -0
- package/cjs/components/CodeEditor/FileTree/icons/Python.d.ts.map +1 -0
- package/cjs/components/CodeEditor/FileTree/icons/Python.js +37 -0
- package/cjs/components/CodeEditor/FileTree/index.d.ts +9 -0
- package/cjs/components/CodeEditor/FileTree/index.d.ts.map +1 -0
- package/cjs/components/CodeEditor/FileTree/index.js +73 -0
- package/cjs/components/CodeEditor/FileTree/index.less +83 -0
- package/cjs/components/CodeEditor/FileTree/useFileIcon.d.ts +11 -0
- package/cjs/components/CodeEditor/FileTree/useFileIcon.d.ts.map +1 -0
- package/cjs/components/CodeEditor/FileTree/useFileIcon.js +44 -0
- package/cjs/components/CodeEditor/Header/index.d.ts +15 -0
- package/cjs/components/CodeEditor/Header/index.d.ts.map +1 -0
- package/cjs/components/CodeEditor/Header/index.js +51 -0
- package/cjs/components/CodeEditor/Header/style.less +23 -0
- package/cjs/components/CodeEditor/Terminal/XTerm.d.ts +5 -0
- package/cjs/components/CodeEditor/Terminal/XTerm.d.ts.map +1 -0
- package/cjs/components/CodeEditor/Terminal/XTerm.js +54 -0
- package/cjs/components/CodeEditor/Terminal/index.d.ts +15 -0
- package/cjs/components/CodeEditor/Terminal/index.d.ts.map +1 -0
- package/cjs/components/CodeEditor/Terminal/index.js +30 -0
- package/cjs/components/CodeEditor/Terminal/index.less +28 -0
- package/cjs/components/CodeEditor/Terminal/types.d.ts +13 -0
- package/cjs/components/CodeEditor/editors/JSON.d.ts +12 -0
- package/cjs/components/CodeEditor/editors/JSON.d.ts.map +1 -0
- package/cjs/components/CodeEditor/editors/JSON.js +43 -0
- package/cjs/components/CodeEditor/editors/Python.d.ts +4 -0
- package/cjs/components/CodeEditor/editors/Python.d.ts.map +1 -0
- package/cjs/components/CodeEditor/editors/Python.js +43 -0
- package/cjs/components/CodeEditor/editors/index.less +11 -0
- package/cjs/components/CodeEditor/editors/types.d.ts +24 -0
- package/cjs/components/CodeEditor/index.d.ts +7 -0
- package/cjs/components/CodeEditor/index.d.ts.map +1 -0
- package/cjs/components/CodeEditor/index.js +230 -0
- package/cjs/components/CodeEditor/style.less +49 -0
- package/cjs/components/CodeEditor/types.d.ts +46 -0
- package/cjs/components/Handle/NodePopover.d.ts +15 -0
- package/cjs/components/Handle/NodePopover.d.ts.map +1 -0
- package/cjs/components/Handle/NodePopover.js +169 -0
- package/cjs/components/Handle/index.d.ts +24 -0
- package/cjs/components/Handle/index.d.ts.map +1 -0
- package/cjs/components/Handle/index.js +165 -0
- package/cjs/components/Handle/index.less +111 -0
- package/cjs/components/InlineCodeEditor/index.d.ts +11 -0
- package/cjs/components/InlineCodeEditor/index.d.ts.map +1 -0
- package/cjs/components/InlineCodeEditor/index.js +31 -0
- package/cjs/components/InlineCodeEditor/index.module.less +0 -0
- package/cjs/components/InlineCodeEditor/types.d.ts +22 -0
- package/cjs/components/Layout/index.d.ts +14 -0
- package/cjs/components/Layout/index.d.ts.map +1 -0
- package/cjs/components/Layout/index.js +49 -0
- package/cjs/components/Layout/index.less +14 -0
- package/cjs/components/LoadingButton.d.ts +16 -0
- package/cjs/components/LoadingButton.d.ts.map +1 -0
- package/cjs/components/LoadingButton.js +86 -0
- package/cjs/components/Sider/index.d.ts +15 -0
- package/cjs/components/Sider/index.d.ts.map +1 -0
- package/cjs/components/Sider/index.js +142 -0
- package/cjs/components/Sider/index.less +68 -0
- package/cjs/constants/RunningStatus.d.ts +14 -0
- package/cjs/constants/RunningStatus.d.ts.map +1 -0
- package/cjs/constants/RunningStatus.js +20 -0
- package/cjs/hooks/run/useActiveEdge.d.ts +15 -0
- package/cjs/hooks/run/useActiveEdge.d.ts.map +1 -0
- package/cjs/hooks/run/useActiveEdge.js +36 -0
- package/cjs/hooks/run/useCleanRunState.d.ts +9 -0
- package/cjs/hooks/run/useCleanRunState.d.ts.map +1 -0
- package/cjs/hooks/run/useCleanRunState.js +33 -0
- package/cjs/hooks/run/useNodeRunningState.d.ts +8 -0
- package/cjs/hooks/run/useNodeRunningState.d.ts.map +1 -0
- package/cjs/hooks/run/useNodeRunningState.js +30 -0
- package/cjs/hooks/run/useRunState.d.ts +21 -0
- package/cjs/hooks/run/useRunState.d.ts.map +1 -0
- package/cjs/hooks/run/useRunState.js +39 -0
- package/cjs/hooks/run/useSetRunState.d.ts +18 -0
- package/cjs/hooks/run/useSetRunState.d.ts.map +1 -0
- package/cjs/hooks/run/useSetRunState.js +39 -0
- package/cjs/hooks/state.d.ts +7 -0
- package/cjs/hooks/state.d.ts.map +1 -0
- package/cjs/hooks/state.js +13 -0
- package/cjs/hooks/useDeleteNode.d.ts +2 -0
- package/cjs/hooks/useDeleteNode.d.ts.map +1 -0
- package/cjs/hooks/useDeleteNode.js +32 -0
- package/cjs/hooks/useEdgeIsHover.d.ts +2 -0
- package/cjs/hooks/useEdgeIsHover.d.ts.map +1 -0
- package/cjs/hooks/useEdgeIsHover.js +20 -0
- package/cjs/hooks/useGetSelection.d.ts +13 -0
- package/cjs/hooks/useGetSelection.d.ts.map +1 -0
- package/cjs/hooks/useGetSelection.js +28 -0
- package/cjs/hooks/useGetUpstreamNodes.d.ts +14 -0
- package/cjs/hooks/useGetUpstreamNodes.d.ts.map +1 -0
- package/cjs/hooks/useGetUpstreamNodes.js +81 -0
- package/cjs/hooks/useGetWillDropTarget.d.ts +5 -0
- package/cjs/hooks/useGetWillDropTarget.d.ts.map +1 -0
- package/cjs/hooks/useGetWillDropTarget.js +27 -0
- package/cjs/hooks/useGroupIsWillDrop.d.ts +2 -0
- package/cjs/hooks/useGroupIsWillDrop.d.ts.map +1 -0
- package/cjs/hooks/useGroupIsWillDrop.js +20 -0
- package/cjs/hooks/useIsValidConnection.d.ts +12 -0
- package/cjs/hooks/useIsValidConnection.d.ts.map +1 -0
- package/cjs/hooks/useIsValidConnection.js +83 -0
- package/cjs/hooks/useMouseEvents.d.ts +19 -0
- package/cjs/hooks/useMouseEvents.d.ts.map +1 -0
- package/cjs/hooks/useMouseEvents.js +49 -0
- package/cjs/hooks/useNodeDragHandles.d.ts +10 -0
- package/cjs/hooks/useNodeDragHandles.d.ts.map +1 -0
- package/cjs/hooks/useNodeDragHandles.js +273 -0
- package/cjs/hooks/useNodes.d.ts +9 -0
- package/cjs/hooks/useNodes.d.ts.map +1 -0
- package/cjs/hooks/useNodes.js +19 -0
- package/cjs/hooks/useOnBeforeDelete.d.ts +19 -0
- package/cjs/hooks/useOnBeforeDelete.d.ts.map +1 -0
- package/cjs/hooks/useOnBeforeDelete.js +104 -0
- package/cjs/hooks/useOnConnect.d.ts +12 -0
- package/cjs/hooks/useOnConnect.d.ts.map +1 -0
- package/cjs/hooks/useOnConnect.js +36 -0
- package/cjs/hooks/useOnEdgeMouseEnter.d.ts +13 -0
- package/cjs/hooks/useOnEdgeMouseEnter.d.ts.map +1 -0
- package/cjs/hooks/useOnEdgeMouseEnter.js +27 -0
- package/cjs/hooks/useOnEdgeMouseLeave.d.ts +13 -0
- package/cjs/hooks/useOnEdgeMouseLeave.d.ts.map +1 -0
- package/cjs/hooks/useOnEdgeMouseLeave.js +27 -0
- package/cjs/hooks/useOnNodesChange.d.ts +4 -0
- package/cjs/hooks/useOnNodesChange.d.ts.map +1 -0
- package/cjs/hooks/useOnNodesChange.js +102 -0
- package/cjs/hooks/useOnSelectionChange.d.ts +13 -0
- package/cjs/hooks/useOnSelectionChange.d.ts.map +1 -0
- package/cjs/hooks/useOnSelectionChange.js +130 -0
- package/cjs/hooks/useSetEdges.d.ts +12 -0
- package/cjs/hooks/useSetEdges.d.ts.map +1 -0
- package/cjs/hooks/useSetEdges.js +29 -0
- package/cjs/hooks/useSetSelection.d.ts +3 -0
- package/cjs/hooks/useSetSelection.d.ts.map +1 -0
- package/cjs/hooks/useSetSelection.js +40 -0
- package/cjs/hooks/useSetWillDropTargets.d.ts +2 -0
- package/cjs/hooks/useSetWillDropTargets.d.ts.map +1 -0
- package/cjs/hooks/useSetWillDropTargets.js +26 -0
- package/cjs/hooks/useUpstream.d.ts +3 -0
- package/cjs/hooks/useUpstream.d.ts.map +1 -0
- package/cjs/hooks/useUpstream.js +105 -0
- package/cjs/hooks/useWatchSelectionNodes.d.ts +2 -0
- package/cjs/hooks/useWatchSelectionNodes.d.ts.map +1 -0
- package/cjs/hooks/useWatchSelectionNodes.js +22 -0
- package/cjs/hooks/useWorkFlow.d.ts +12 -0
- package/cjs/hooks/useWorkFlow.d.ts.map +1 -0
- package/cjs/hooks/useWorkFlow.js +93 -0
- package/cjs/hooks/useWorkFlowProps.d.ts +485 -0
- package/cjs/hooks/useWorkFlowProps.d.ts.map +1 -0
- package/cjs/hooks/useWorkFlowProps.js +98 -0
- package/cjs/index.d.ts +23 -0
- package/cjs/index.d.ts.map +1 -0
- package/cjs/index.js +77 -0
- package/cjs/types.d.ts +103 -0
- package/cjs/types.d.ts.map +1 -0
- package/cjs/types.js +8 -0
- package/cjs/utils/arrayUtils.d.ts +2 -0
- package/cjs/utils/arrayUtils.d.ts.map +1 -0
- package/cjs/utils/arrayUtils.js +23 -0
- package/cjs/utils/checkChildren.d.ts +11 -0
- package/cjs/utils/checkChildren.d.ts.map +1 -0
- package/cjs/utils/checkChildren.js +27 -0
- package/cjs/utils/dimensions.d.ts +12 -0
- package/cjs/utils/dimensions.d.ts.map +1 -0
- package/cjs/utils/dimensions.js +23 -0
- package/cjs/utils/dragDataTransfer.d.ts +19 -0
- package/cjs/utils/dragDataTransfer.d.ts.map +1 -0
- package/cjs/utils/dragDataTransfer.js +29 -0
- package/cjs/utils/dropTargetsCheck.d.ts +20 -0
- package/cjs/utils/dropTargetsCheck.d.ts.map +1 -0
- package/cjs/utils/dropTargetsCheck.js +105 -0
- package/cjs/utils/edgeEqualConnect.d.ts +11 -0
- package/cjs/utils/edgeEqualConnect.d.ts.map +1 -0
- package/cjs/utils/edgeEqualConnect.js +19 -0
- package/cjs/utils/events.d.ts +11 -0
- package/cjs/utils/events.d.ts.map +1 -0
- package/cjs/utils/events.js +19 -0
- package/cjs/utils/getEdgeId.d.ts +12 -0
- package/cjs/utils/getEdgeId.d.ts.map +1 -0
- package/cjs/utils/getEdgeId.js +22 -0
- package/cjs/utils/getParentFlow.d.ts +5 -0
- package/cjs/utils/getParentFlow.d.ts.map +1 -0
- package/cjs/utils/getParentFlow.js +36 -0
- package/cjs/utils/graph.d.ts +12 -0
- package/cjs/utils/graph.d.ts.map +1 -0
- package/cjs/utils/graph.js +55 -0
- package/cjs/utils/index.d.ts +18 -0
- package/cjs/utils/index.d.ts.map +1 -0
- package/cjs/utils/index.js +104 -0
- package/cjs/utils/isInSameParent.d.ts +11 -0
- package/cjs/utils/isInSameParent.d.ts.map +1 -0
- package/cjs/utils/isInSameParent.js +19 -0
- package/cjs/utils/parent.d.ts +23 -0
- package/cjs/utils/parent.d.ts.map +1 -0
- package/cjs/utils/parent.js +166 -0
- package/cjs/utils/position.d.ts +29 -0
- package/cjs/utils/position.d.ts.map +1 -0
- package/cjs/utils/position.js +67 -0
- package/cjs/utils/prepareInnerLookup.d.ts +16 -0
- package/cjs/utils/prepareInnerLookup.d.ts.map +1 -0
- package/cjs/utils/prepareInnerLookup.js +93 -0
- package/cjs/utils/scheduleCallback.d.ts +2 -0
- package/cjs/utils/scheduleCallback.d.ts.map +1 -0
- package/cjs/utils/scheduleCallback.js +38 -0
- package/cjs/utils/serialize.d.ts +31 -0
- package/cjs/utils/serialize.d.ts.map +1 -0
- package/cjs/utils/serialize.js +60 -0
- package/cjs/utils/triggerConnect.d.ts +12 -0
- package/cjs/utils/triggerConnect.d.ts.map +1 -0
- package/cjs/utils/triggerConnect.js +50 -0
- package/esm/components/CanvasLoading/index.d.ts +14 -0
- package/esm/components/CanvasLoading/index.d.ts.map +1 -0
- package/esm/components/CanvasLoading/index.js +45 -0
- package/esm/components/CanvasLoading/index.less +69 -0
- package/esm/components/CodeEditor/DebugPanel/index.d.ts +16 -0
- package/esm/components/CodeEditor/DebugPanel/index.d.ts.map +1 -0
- package/esm/components/CodeEditor/DebugPanel/index.js +199 -0
- package/esm/components/CodeEditor/DebugPanel/index.less +56 -0
- package/esm/components/CodeEditor/FileTree/LibraryIcon.d.ts +11 -0
- package/esm/components/CodeEditor/FileTree/LibraryIcon.d.ts.map +1 -0
- package/esm/components/CodeEditor/FileTree/LibraryIcon.js +27 -0
- package/esm/components/CodeEditor/FileTree/icons/Javascript.d.ts +11 -0
- package/esm/components/CodeEditor/FileTree/icons/Javascript.d.ts.map +1 -0
- package/esm/components/CodeEditor/FileTree/icons/Javascript.js +32 -0
- package/esm/components/CodeEditor/FileTree/icons/Python.d.ts +11 -0
- package/esm/components/CodeEditor/FileTree/icons/Python.d.ts.map +1 -0
- package/esm/components/CodeEditor/FileTree/icons/Python.js +32 -0
- package/esm/components/CodeEditor/FileTree/index.d.ts +9 -0
- package/esm/components/CodeEditor/FileTree/index.d.ts.map +1 -0
- package/esm/components/CodeEditor/FileTree/index.js +62 -0
- package/esm/components/CodeEditor/FileTree/index.less +83 -0
- package/esm/components/CodeEditor/FileTree/useFileIcon.d.ts +11 -0
- package/esm/components/CodeEditor/FileTree/useFileIcon.d.ts.map +1 -0
- package/esm/components/CodeEditor/FileTree/useFileIcon.js +39 -0
- package/esm/components/CodeEditor/Header/index.d.ts +15 -0
- package/esm/components/CodeEditor/Header/index.d.ts.map +1 -0
- package/esm/components/CodeEditor/Header/index.js +43 -0
- package/esm/components/CodeEditor/Header/style.less +23 -0
- package/esm/components/CodeEditor/Terminal/XTerm.d.ts +5 -0
- package/esm/components/CodeEditor/Terminal/XTerm.d.ts.map +1 -0
- package/esm/components/CodeEditor/Terminal/XTerm.js +59 -0
- package/esm/components/CodeEditor/Terminal/index.d.ts +15 -0
- package/esm/components/CodeEditor/Terminal/index.d.ts.map +1 -0
- package/esm/components/CodeEditor/Terminal/index.js +23 -0
- package/esm/components/CodeEditor/Terminal/index.less +28 -0
- package/esm/components/CodeEditor/Terminal/types.d.ts +13 -0
- package/esm/components/CodeEditor/editors/JSON.d.ts +12 -0
- package/esm/components/CodeEditor/editors/JSON.d.ts.map +1 -0
- package/esm/components/CodeEditor/editors/JSON.js +35 -0
- package/esm/components/CodeEditor/editors/Python.d.ts +4 -0
- package/esm/components/CodeEditor/editors/Python.d.ts.map +1 -0
- package/esm/components/CodeEditor/editors/Python.js +34 -0
- package/esm/components/CodeEditor/editors/index.less +11 -0
- package/esm/components/CodeEditor/editors/types.d.ts +24 -0
- package/esm/components/CodeEditor/index.d.ts +7 -0
- package/esm/components/CodeEditor/index.d.ts.map +1 -0
- package/esm/components/CodeEditor/index.js +233 -0
- package/esm/components/CodeEditor/style.less +49 -0
- package/esm/components/CodeEditor/types.d.ts +46 -0
- package/esm/components/Handle/NodePopover.d.ts +15 -0
- package/esm/components/Handle/NodePopover.d.ts.map +1 -0
- package/esm/components/Handle/NodePopover.js +165 -0
- package/esm/components/Handle/index.d.ts +24 -0
- package/esm/components/Handle/index.d.ts.map +1 -0
- package/esm/components/Handle/index.js +190 -0
- package/esm/components/Handle/index.less +111 -0
- package/esm/components/InlineCodeEditor/index.d.ts +11 -0
- package/esm/components/InlineCodeEditor/index.d.ts.map +1 -0
- package/esm/components/InlineCodeEditor/index.js +24 -0
- package/esm/components/InlineCodeEditor/index.module.less +0 -0
- package/esm/components/InlineCodeEditor/types.d.ts +22 -0
- package/esm/components/Layout/index.d.ts +14 -0
- package/esm/components/Layout/index.d.ts.map +1 -0
- package/esm/components/Layout/index.js +43 -0
- package/esm/components/Layout/index.less +14 -0
- package/esm/components/LoadingButton.d.ts +16 -0
- package/esm/components/LoadingButton.d.ts.map +1 -0
- package/esm/components/LoadingButton.js +112 -0
- package/esm/components/Sider/index.d.ts +15 -0
- package/esm/components/Sider/index.d.ts.map +1 -0
- package/esm/components/Sider/index.js +142 -0
- package/esm/components/Sider/index.less +68 -0
- package/esm/constants/RunningStatus.d.ts +14 -0
- package/esm/constants/RunningStatus.d.ts.map +1 -0
- package/esm/constants/RunningStatus.js +15 -0
- package/esm/hooks/run/useActiveEdge.d.ts +15 -0
- package/esm/hooks/run/useActiveEdge.d.ts.map +1 -0
- package/esm/hooks/run/useActiveEdge.js +30 -0
- package/esm/hooks/run/useCleanRunState.d.ts +9 -0
- package/esm/hooks/run/useCleanRunState.d.ts.map +1 -0
- package/esm/hooks/run/useCleanRunState.js +26 -0
- package/esm/hooks/run/useNodeRunningState.d.ts +8 -0
- package/esm/hooks/run/useNodeRunningState.d.ts.map +1 -0
- package/esm/hooks/run/useNodeRunningState.js +26 -0
- package/esm/hooks/run/useRunState.d.ts +21 -0
- package/esm/hooks/run/useRunState.d.ts.map +1 -0
- package/esm/hooks/run/useRunState.js +35 -0
- package/esm/hooks/run/useSetRunState.d.ts +18 -0
- package/esm/hooks/run/useSetRunState.d.ts.map +1 -0
- package/esm/hooks/run/useSetRunState.js +35 -0
- package/esm/hooks/state.d.ts +7 -0
- package/esm/hooks/state.d.ts.map +1 -0
- package/esm/hooks/state.js +6 -0
- package/esm/hooks/useDeleteNode.d.ts +2 -0
- package/esm/hooks/useDeleteNode.d.ts.map +1 -0
- package/esm/hooks/useDeleteNode.js +44 -0
- package/esm/hooks/useEdgeIsHover.d.ts +2 -0
- package/esm/hooks/useEdgeIsHover.d.ts.map +1 -0
- package/esm/hooks/useEdgeIsHover.js +14 -0
- package/esm/hooks/useGetSelection.d.ts +13 -0
- package/esm/hooks/useGetSelection.d.ts.map +1 -0
- package/esm/hooks/useGetSelection.js +21 -0
- package/esm/hooks/useGetUpstreamNodes.d.ts +14 -0
- package/esm/hooks/useGetUpstreamNodes.d.ts.map +1 -0
- package/esm/hooks/useGetUpstreamNodes.js +71 -0
- package/esm/hooks/useGetWillDropTarget.d.ts +5 -0
- package/esm/hooks/useGetWillDropTarget.d.ts.map +1 -0
- package/esm/hooks/useGetWillDropTarget.js +21 -0
- package/esm/hooks/useGroupIsWillDrop.d.ts +2 -0
- package/esm/hooks/useGroupIsWillDrop.d.ts.map +1 -0
- package/esm/hooks/useGroupIsWillDrop.js +14 -0
- package/esm/hooks/useIsValidConnection.d.ts +12 -0
- package/esm/hooks/useIsValidConnection.d.ts.map +1 -0
- package/esm/hooks/useIsValidConnection.js +82 -0
- package/esm/hooks/useMouseEvents.d.ts +19 -0
- package/esm/hooks/useMouseEvents.d.ts.map +1 -0
- package/esm/hooks/useMouseEvents.js +40 -0
- package/esm/hooks/useNodeDragHandles.d.ts +10 -0
- package/esm/hooks/useNodeDragHandles.d.ts.map +1 -0
- package/esm/hooks/useNodeDragHandles.js +311 -0
- package/esm/hooks/useNodes.d.ts +9 -0
- package/esm/hooks/useNodes.d.ts.map +1 -0
- package/esm/hooks/useNodes.js +14 -0
- package/esm/hooks/useOnBeforeDelete.d.ts +19 -0
- package/esm/hooks/useOnBeforeDelete.d.ts.map +1 -0
- package/esm/hooks/useOnBeforeDelete.js +138 -0
- package/esm/hooks/useOnConnect.d.ts +12 -0
- package/esm/hooks/useOnConnect.d.ts.map +1 -0
- package/esm/hooks/useOnConnect.js +26 -0
- package/esm/hooks/useOnEdgeMouseEnter.d.ts +13 -0
- package/esm/hooks/useOnEdgeMouseEnter.d.ts.map +1 -0
- package/esm/hooks/useOnEdgeMouseEnter.js +20 -0
- package/esm/hooks/useOnEdgeMouseLeave.d.ts +13 -0
- package/esm/hooks/useOnEdgeMouseLeave.d.ts.map +1 -0
- package/esm/hooks/useOnEdgeMouseLeave.js +20 -0
- package/esm/hooks/useOnNodesChange.d.ts +4 -0
- package/esm/hooks/useOnNodesChange.d.ts.map +1 -0
- package/esm/hooks/useOnNodesChange.js +107 -0
- package/esm/hooks/useOnSelectionChange.d.ts +13 -0
- package/esm/hooks/useOnSelectionChange.d.ts.map +1 -0
- package/esm/hooks/useOnSelectionChange.js +171 -0
- package/esm/hooks/useSetEdges.d.ts +12 -0
- package/esm/hooks/useSetEdges.d.ts.map +1 -0
- package/esm/hooks/useSetEdges.js +22 -0
- package/esm/hooks/useSetSelection.d.ts +3 -0
- package/esm/hooks/useSetSelection.d.ts.map +1 -0
- package/esm/hooks/useSetSelection.js +33 -0
- package/esm/hooks/useSetWillDropTargets.d.ts +2 -0
- package/esm/hooks/useSetWillDropTargets.d.ts.map +1 -0
- package/esm/hooks/useSetWillDropTargets.js +18 -0
- package/esm/hooks/useUpstream.d.ts +3 -0
- package/esm/hooks/useUpstream.d.ts.map +1 -0
- package/esm/hooks/useUpstream.js +101 -0
- package/esm/hooks/useWatchSelectionNodes.d.ts +2 -0
- package/esm/hooks/useWatchSelectionNodes.d.ts.map +1 -0
- package/esm/hooks/useWatchSelectionNodes.js +14 -0
- package/esm/hooks/useWorkFlow.d.ts +12 -0
- package/esm/hooks/useWorkFlow.d.ts.map +1 -0
- package/esm/hooks/useWorkFlow.js +92 -0
- package/esm/hooks/useWorkFlowProps.d.ts +485 -0
- package/esm/hooks/useWorkFlowProps.d.ts.map +1 -0
- package/esm/hooks/useWorkFlowProps.js +102 -0
- package/esm/index.d.ts +23 -0
- package/esm/index.d.ts.map +1 -0
- package/esm/index.js +28 -0
- package/esm/types.d.ts +103 -0
- package/esm/types.d.ts.map +1 -0
- package/esm/types.js +4 -0
- package/esm/utils/arrayUtils.d.ts +2 -0
- package/esm/utils/arrayUtils.d.ts.map +1 -0
- package/esm/utils/arrayUtils.js +16 -0
- package/esm/utils/checkChildren.d.ts +11 -0
- package/esm/utils/checkChildren.d.ts.map +1 -0
- package/esm/utils/checkChildren.js +16 -0
- package/esm/utils/dimensions.d.ts +12 -0
- package/esm/utils/dimensions.d.ts.map +1 -0
- package/esm/utils/dimensions.js +17 -0
- package/esm/utils/dragDataTransfer.d.ts +19 -0
- package/esm/utils/dragDataTransfer.d.ts.map +1 -0
- package/esm/utils/dragDataTransfer.js +21 -0
- package/esm/utils/dropTargetsCheck.d.ts +20 -0
- package/esm/utils/dropTargetsCheck.d.ts.map +1 -0
- package/esm/utils/dropTargetsCheck.js +116 -0
- package/esm/utils/edgeEqualConnect.d.ts +11 -0
- package/esm/utils/edgeEqualConnect.d.ts.map +1 -0
- package/esm/utils/edgeEqualConnect.js +12 -0
- package/esm/utils/events.d.ts +11 -0
- package/esm/utils/events.d.ts.map +1 -0
- package/esm/utils/events.js +12 -0
- package/esm/utils/getEdgeId.d.ts +12 -0
- package/esm/utils/getEdgeId.d.ts.map +1 -0
- package/esm/utils/getEdgeId.js +16 -0
- package/esm/utils/getParentFlow.d.ts +5 -0
- package/esm/utils/getParentFlow.d.ts.map +1 -0
- package/esm/utils/getParentFlow.js +28 -0
- package/esm/utils/graph.d.ts +12 -0
- package/esm/utils/graph.d.ts.map +1 -0
- package/esm/utils/graph.js +51 -0
- package/esm/utils/index.d.ts +18 -0
- package/esm/utils/index.d.ts.map +1 -0
- package/esm/utils/index.js +18 -0
- package/esm/utils/isInSameParent.d.ts +11 -0
- package/esm/utils/isInSameParent.d.ts.map +1 -0
- package/esm/utils/isInSameParent.js +12 -0
- package/esm/utils/parent.d.ts +23 -0
- package/esm/utils/parent.d.ts.map +1 -0
- package/esm/utils/parent.js +186 -0
- package/esm/utils/position.d.ts +29 -0
- package/esm/utils/position.d.ts.map +1 -0
- package/esm/utils/position.js +61 -0
- package/esm/utils/prepareInnerLookup.d.ts +16 -0
- package/esm/utils/prepareInnerLookup.d.ts.map +1 -0
- package/esm/utils/prepareInnerLookup.js +79 -0
- package/esm/utils/scheduleCallback.d.ts +2 -0
- package/esm/utils/scheduleCallback.d.ts.map +1 -0
- package/esm/utils/scheduleCallback.js +36 -0
- package/esm/utils/serialize.d.ts +31 -0
- package/esm/utils/serialize.d.ts.map +1 -0
- package/esm/utils/serialize.js +64 -0
- package/esm/utils/triggerConnect.d.ts +12 -0
- package/esm/utils/triggerConnect.d.ts.map +1 -0
- package/esm/utils/triggerConnect.js +59 -0
- package/package.json +70 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @author: yanxianliang
|
|
3
|
+
* @date: 2025-08-16 17:17
|
|
4
|
+
* @modified:2025/8/16 17:17 by yanxianliang
|
|
5
|
+
* @desc: 生成边 id
|
|
6
|
+
*
|
|
7
|
+
* Copyright (c) 2025 by yanxianliang, All Rights Reserved.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
export var getEdgeId = function getEdgeId(_ref) {
|
|
11
|
+
var source = _ref.source,
|
|
12
|
+
sourceHandle = _ref.sourceHandle,
|
|
13
|
+
target = _ref.target,
|
|
14
|
+
targetHandle = _ref.targetHandle;
|
|
15
|
+
return "xy-edge__".concat(source).concat(sourceHandle || '', "-").concat(target).concat(targetHandle || '');
|
|
16
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { NodeTypeLookup } from "..";
|
|
2
|
+
import { InternalNode, Node } from "@xyflow/react";
|
|
3
|
+
import { NodeLookup } from "@xyflow/system";
|
|
4
|
+
export declare const getParentFlow: <NodeType extends Node = Node>(nodeLookup: NodeLookup<InternalNode<NodeType>>, nodeTypeLookup: NodeTypeLookup, targetNodeId?: string) => InternalNode<NodeType> | undefined;
|
|
5
|
+
//# sourceMappingURL=getParentFlow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getParentFlow.d.ts","sourceRoot":"","sources":["getParentFlow.ts"],"names":[],"mappings":"AASA,OAAO,EAAC,cAAc,EAAC,WAAyB;AAChD,OAAO,EAAC,YAAY,EAAE,IAAI,EAAC,MAAM,eAAe,CAAC;AACjD,OAAO,EAAC,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAE1C,eAAO,MAAM,aAAa,gIAGT,MAAM,KACpB,aAAa,QAAQ,CAAC,GAAG,SAiB3B,CAAA"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @author: yanxianliang
|
|
3
|
+
* @date: 2025-08-24 15:50
|
|
4
|
+
* @modified:2025/8/24 15:50 by yanxianliang
|
|
5
|
+
* @desc: 获取父工作流节点
|
|
6
|
+
*
|
|
7
|
+
* Copyright (c) 2025 by yanxianliang, All Rights Reserved.
|
|
8
|
+
*/
|
|
9
|
+
import { NodeRoleType } from "@rxflow/base";
|
|
10
|
+
export var getParentFlow = function getParentFlow(nodeLookup, nodeTypeLookup, targetNodeId) {
|
|
11
|
+
if (!targetNodeId) {
|
|
12
|
+
return undefined;
|
|
13
|
+
}
|
|
14
|
+
var targetNode = nodeLookup.get(targetNodeId);
|
|
15
|
+
if (!targetNode) {
|
|
16
|
+
return undefined;
|
|
17
|
+
}
|
|
18
|
+
var definition = nodeTypeLookup.get(targetNode.type);
|
|
19
|
+
if (!definition) return undefined;
|
|
20
|
+
if (definition.nodeRoleType === NodeRoleType.SubFlow) {
|
|
21
|
+
// 子工作流
|
|
22
|
+
return targetNode;
|
|
23
|
+
}
|
|
24
|
+
if (targetNode.parentId) {
|
|
25
|
+
return getParentFlow(nodeLookup, nodeTypeLookup, targetNode.parentId);
|
|
26
|
+
}
|
|
27
|
+
return undefined;
|
|
28
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @author: yanxianliang
|
|
3
|
+
* @date: 2025-10-09 21:27
|
|
4
|
+
* @modified:2025/10/9 21:27 by yanxianliang
|
|
5
|
+
* @desc: graph 计算
|
|
6
|
+
*
|
|
7
|
+
* Copyright (c) 2025 by yanxianliang, All Rights Reserved.
|
|
8
|
+
*/
|
|
9
|
+
import { WorkFlowSubFlowNodeDefinition } from "..";
|
|
10
|
+
import { Edge, InternalNode, Node, NodeOrigin, XYPosition } from "@xyflow/react";
|
|
11
|
+
export declare const calcPositionInSubFlow: <NodeType extends Node = Node, EdgeType extends Edge = Edge>(workflowDefinition: WorkFlowSubFlowNodeDefinition, parentNode: NodeType | InternalNode<NodeType>, node: NodeType, nodeOrigin: NodeOrigin, position: XYPosition) => XYPosition;
|
|
12
|
+
//# sourceMappingURL=graph.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["graph.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAC,6BAA6B,EAAC,WAAyB;AAC/D,OAAO,EAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAC,MAAM,eAAe,CAAC;AAG/E,eAAO,MAAM,qBAAqB,mFACZ,6BAA6B,cACrC,QAAQ,GAAG,aAAa,QAAQ,CAAC,QACvC,QAAQ,oCAEJ,UAAU,eA4CrB,CAAA"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @author: yanxianliang
|
|
3
|
+
* @date: 2025-10-09 21:27
|
|
4
|
+
* @modified:2025/10/9 21:27 by yanxianliang
|
|
5
|
+
* @desc: graph 计算
|
|
6
|
+
*
|
|
7
|
+
* Copyright (c) 2025 by yanxianliang, All Rights Reserved.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import { getNodeDimensions } from "@xyflow/system";
|
|
11
|
+
export var calcPositionInSubFlow = function calcPositionInSubFlow(workflowDefinition, parentNode, node, nodeOrigin, position) {
|
|
12
|
+
var subFlowViewPort = workflowDefinition === null || workflowDefinition === void 0 ? void 0 : workflowDefinition.subFlowViewPort;
|
|
13
|
+
var _ref = subFlowViewPort || {},
|
|
14
|
+
_ref$left = _ref.left,
|
|
15
|
+
left = _ref$left === void 0 ? 0 : _ref$left,
|
|
16
|
+
_ref$top = _ref.top,
|
|
17
|
+
top = _ref$top === void 0 ? 0 : _ref$top,
|
|
18
|
+
_ref$right = _ref.right,
|
|
19
|
+
right = _ref$right === void 0 ? 0 : _ref$right,
|
|
20
|
+
_ref$bottom = _ref.bottom,
|
|
21
|
+
bottom = _ref$bottom === void 0 ? 0 : _ref$bottom;
|
|
22
|
+
var parentDimensions = getNodeDimensions(parentNode);
|
|
23
|
+
var dimensions = getNodeDimensions(node);
|
|
24
|
+
var nodeWidth = dimensions.width;
|
|
25
|
+
var nodeHeight = dimensions.height;
|
|
26
|
+
var x = left;
|
|
27
|
+
var x2 = parentDimensions.width - right;
|
|
28
|
+
var y = top;
|
|
29
|
+
var y2 = parentDimensions.height - bottom;
|
|
30
|
+
|
|
31
|
+
// 设置 extent 限制范围,需要更新父级节点的 size。
|
|
32
|
+
var origin = node.origin || nodeOrigin || [0, 0];
|
|
33
|
+
var offsetX = nodeWidth * origin[0];
|
|
34
|
+
var offsetY = nodeHeight * origin[1];
|
|
35
|
+
if (position.x - offsetX < x) {
|
|
36
|
+
position.x = x + offsetX;
|
|
37
|
+
}
|
|
38
|
+
if (position.y - offsetY < y) {
|
|
39
|
+
position.y = y + offsetY;
|
|
40
|
+
}
|
|
41
|
+
if (position.x - offsetX + nodeWidth > x2) {
|
|
42
|
+
position.x = x2 - nodeWidth + offsetX;
|
|
43
|
+
}
|
|
44
|
+
if (position.y - offsetY + nodeHeight > y2) {
|
|
45
|
+
position.y = y2 - nodeHeight + offsetY;
|
|
46
|
+
}
|
|
47
|
+
node.extent = [[left, top], [Number.POSITIVE_INFINITY, Number.POSITIVE_INFINITY]];
|
|
48
|
+
delete node.expandParent; // 强制关闭 expandParent 逻辑,会互相冲突
|
|
49
|
+
|
|
50
|
+
return position;
|
|
51
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @author: yanxianliang
|
|
3
|
+
* @date: 2025-08-24 16:28
|
|
4
|
+
* @modified:2025/8/24 16:28 by yanxianliang
|
|
5
|
+
* @desc: export utils
|
|
6
|
+
*
|
|
7
|
+
* Copyright (c) 2025 by yanxianliang, All Rights Reserved.
|
|
8
|
+
*/
|
|
9
|
+
export * from './position';
|
|
10
|
+
export * from './getParentFlow';
|
|
11
|
+
export * from './dimensions';
|
|
12
|
+
export * from './checkChildren';
|
|
13
|
+
export * from './edgeEqualConnect';
|
|
14
|
+
export * from './getEdgeId';
|
|
15
|
+
export * from './isInSameParent';
|
|
16
|
+
export * from './scheduleCallback';
|
|
17
|
+
export * from './serialize';
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @author: yanxianliang
|
|
3
|
+
* @date: 2025-08-24 16:28
|
|
4
|
+
* @modified:2025/8/24 16:28 by yanxianliang
|
|
5
|
+
* @desc: export utils
|
|
6
|
+
*
|
|
7
|
+
* Copyright (c) 2025 by yanxianliang, All Rights Reserved.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
export * from "./position";
|
|
11
|
+
export * from "./getParentFlow";
|
|
12
|
+
export * from "./dimensions";
|
|
13
|
+
export * from "./checkChildren";
|
|
14
|
+
export * from "./edgeEqualConnect";
|
|
15
|
+
export * from "./getEdgeId";
|
|
16
|
+
export * from "./isInSameParent";
|
|
17
|
+
export * from "./scheduleCallback";
|
|
18
|
+
export * from "./serialize";
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @author: yanxianliang
|
|
3
|
+
* @date: 2025-08-19 10:58
|
|
4
|
+
* @modified:2025/8/19 10:58 by yanxianliang
|
|
5
|
+
* @desc: 是否处于同一个父容器中
|
|
6
|
+
*
|
|
7
|
+
* Copyright (c) 2025 by yanxianliang, All Rights Reserved.
|
|
8
|
+
*/
|
|
9
|
+
import { Node } from "@xyflow/react";
|
|
10
|
+
export declare const isInSameParent: (from: Node, target: Node) => boolean;
|
|
11
|
+
//# sourceMappingURL=isInSameParent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isInSameParent.d.ts","sourceRoot":"","sources":["isInSameParent.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAC,IAAI,EAAC,MAAM,eAAe,CAAC;AAEnC,eAAO,MAAM,cAAc,SAAU,IAAI,UAAU,IAAI,YAEtD,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @author: yanxianliang
|
|
3
|
+
* @date: 2025-08-19 10:58
|
|
4
|
+
* @modified:2025/8/19 10:58 by yanxianliang
|
|
5
|
+
* @desc: 是否处于同一个父容器中
|
|
6
|
+
*
|
|
7
|
+
* Copyright (c) 2025 by yanxianliang, All Rights Reserved.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
export var isInSameParent = function isInSameParent(from, target) {
|
|
11
|
+
return !from.parentId && !target.parentId || from.parentId === target.parentId;
|
|
12
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { NodeTypeLookup, WorkflowNode } from "..";
|
|
2
|
+
import { InternalNode, NodeChange, NodeOrigin, Rect } from "@xyflow/react";
|
|
3
|
+
import { NodeLookup, ParentExpandChild, ParentLookup } from "@xyflow/system";
|
|
4
|
+
/**
|
|
5
|
+
* 计算 父工作流的rect,x,y 不变,计算宽度和高度
|
|
6
|
+
* @param parent
|
|
7
|
+
* @param childrenMap
|
|
8
|
+
* @param parentLookup
|
|
9
|
+
* @param nodeOrigin
|
|
10
|
+
* @param nodeTypeLookup
|
|
11
|
+
* @param nodeLookup
|
|
12
|
+
*/
|
|
13
|
+
export declare function getExpectedRect(parent: InternalNode, childrenMap: Map<string, ParentExpandChild>, parentLookup: ParentLookup, nodeOrigin: NodeOrigin, nodeTypeLookup: NodeTypeLookup, nodeLookup: NodeLookup<InternalNode>): Rect;
|
|
14
|
+
/**
|
|
15
|
+
* 自动调整父节点大小,同步放大和缩小
|
|
16
|
+
* @param childrenPositionMap
|
|
17
|
+
* @param nodeLookup
|
|
18
|
+
* @param parentLookup
|
|
19
|
+
* @param nodeOrigin
|
|
20
|
+
* @param nodeTypeLookup
|
|
21
|
+
*/
|
|
22
|
+
export declare function handleResizeParent<NodeType extends WorkflowNode = WorkflowNode>(childrenPositionMap: Map<string, ParentExpandChild>, nodeLookup: NodeLookup<InternalNode<NodeType>>, parentLookup: ParentLookup<InternalNode<NodeType>>, nodeOrigin: NodeOrigin | undefined, nodeTypeLookup: NodeTypeLookup): NodeChange<NodeType>[];
|
|
23
|
+
//# sourceMappingURL=parent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parent.d.ts","sourceRoot":"","sources":["parent.ts"],"names":[],"mappings":"AASA,OAAO,EAAC,cAAc,EAAE,YAAY,EAAC,WAAyB;AAC9D,OAAO,EAAC,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAC,MAAM,eAAe,CAAC;AACzE,OAAO,EAIL,UAAU,EAEV,iBAAiB,EACjB,YAAY,EACb,MAAM,gBAAgB,CAAC;AAGxB;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,EAC3C,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC,QA4CrC;AAGD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,SAAS,YAAY,GAAG,YAAY,EAC7E,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,EACnD,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,EAC9C,YAAY,EAAE,YAAY,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,EAClD,UAAU,wBAAqB,EAC/B,cAAc,EAAE,cAAc,GAC7B,UAAU,CAAC,QAAQ,CAAC,EAAE,CAuFxB"}
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
3
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
4
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
5
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
6
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
7
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
8
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
9
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
10
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
11
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
12
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
13
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
14
|
+
/**
|
|
15
|
+
* @author: yanxianliang
|
|
16
|
+
* @date: 2025-08-31 10:08
|
|
17
|
+
* @modified:2025/8/31 10:08 by yanxianliang
|
|
18
|
+
* @desc: 父工作流处理
|
|
19
|
+
*
|
|
20
|
+
* Copyright (c) 2025 by yanxianliang, All Rights Reserved.
|
|
21
|
+
*/
|
|
22
|
+
import { NodeRoleType } from "@rxflow/base";
|
|
23
|
+
import { boxToRect, getNodeDimensions, nodeToRect, rectToBox } from "@xyflow/system";
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* 计算 父工作流的rect,x,y 不变,计算宽度和高度
|
|
27
|
+
* @param parent
|
|
28
|
+
* @param childrenMap
|
|
29
|
+
* @param parentLookup
|
|
30
|
+
* @param nodeOrigin
|
|
31
|
+
* @param nodeTypeLookup
|
|
32
|
+
* @param nodeLookup
|
|
33
|
+
*/
|
|
34
|
+
export function getExpectedRect(parent, childrenMap, parentLookup, nodeOrigin, nodeTypeLookup, nodeLookup) {
|
|
35
|
+
var parentId = parent.id;
|
|
36
|
+
var parentRect = nodeToRect(parent);
|
|
37
|
+
var children = parentLookup.get(parentId);
|
|
38
|
+
// 父节点x,y 不会发生改变,只伸缩width 和 height
|
|
39
|
+
|
|
40
|
+
// 所有子节点
|
|
41
|
+
var parentBox = _objectSpread(_objectSpread({}, parentRect), {}, {
|
|
42
|
+
x2: parentRect.x,
|
|
43
|
+
y2: parentRect.y
|
|
44
|
+
}); // 父工作流 rect
|
|
45
|
+
|
|
46
|
+
children === null || children === void 0 || children.forEach(function (childNode) {
|
|
47
|
+
var childDefinition = nodeTypeLookup.get(childNode.type);
|
|
48
|
+
if ((childDefinition === null || childDefinition === void 0 ? void 0 : childDefinition.nodeRoleType) !== NodeRoleType.SubFlowBegin && (childDefinition === null || childDefinition === void 0 ? void 0 : childDefinition.nodeRoleType) !== NodeRoleType.SubFlowEnd) {
|
|
49
|
+
var _childrenMap$get$rect, _childrenMap$get;
|
|
50
|
+
// 这个可能并没有更新
|
|
51
|
+
var nodeId = childNode.id;
|
|
52
|
+
var innerNode = nodeLookup.get(nodeId); // parentLookup中会存在更新不及时的情况,不能直接使用 parentLookup 中的 innerNode获取 rect
|
|
53
|
+
|
|
54
|
+
var childRect = (_childrenMap$get$rect = (_childrenMap$get = childrenMap.get(nodeId)) === null || _childrenMap$get === void 0 ? void 0 : _childrenMap$get.rect) !== null && _childrenMap$get$rect !== void 0 ? _childrenMap$get$rect : nodeToRect(innerNode, nodeOrigin);
|
|
55
|
+
var childBox = rectToBox(childRect);
|
|
56
|
+
if (childBox.x2 > parentBox.x2) {
|
|
57
|
+
parentBox.x2 = childBox.x2;
|
|
58
|
+
}
|
|
59
|
+
if (childBox.y2 > parentBox.y2) {
|
|
60
|
+
parentBox.y2 = childBox.y2;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
var definition = nodeTypeLookup.get(parent.type);
|
|
65
|
+
if (definition && definition.subFlowViewPort) {
|
|
66
|
+
var _definition$subFlowVi = definition.subFlowViewPort,
|
|
67
|
+
_definition$subFlowVi2 = _definition$subFlowVi.right,
|
|
68
|
+
right = _definition$subFlowVi2 === void 0 ? 0 : _definition$subFlowVi2,
|
|
69
|
+
_definition$subFlowVi3 = _definition$subFlowVi.bottom,
|
|
70
|
+
bottom = _definition$subFlowVi3 === void 0 ? 0 : _definition$subFlowVi3;
|
|
71
|
+
parentBox.x2 += right;
|
|
72
|
+
parentBox.y2 += bottom;
|
|
73
|
+
}
|
|
74
|
+
return boxToRect(parentBox);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* 自动调整父节点大小,同步放大和缩小
|
|
79
|
+
* @param childrenPositionMap
|
|
80
|
+
* @param nodeLookup
|
|
81
|
+
* @param parentLookup
|
|
82
|
+
* @param nodeOrigin
|
|
83
|
+
* @param nodeTypeLookup
|
|
84
|
+
*/
|
|
85
|
+
export function handleResizeParent(childrenPositionMap, nodeLookup, parentLookup) {
|
|
86
|
+
var nodeOrigin = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [0, 0];
|
|
87
|
+
var nodeTypeLookup = arguments.length > 4 ? arguments[4] : undefined;
|
|
88
|
+
var changes = [];
|
|
89
|
+
var parentExpansions = new Map();
|
|
90
|
+
|
|
91
|
+
// determine the expanded rectangle the child nodes would take for each parent
|
|
92
|
+
var _iterator = _createForOfIteratorHelper(childrenPositionMap.entries()),
|
|
93
|
+
_step;
|
|
94
|
+
try {
|
|
95
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
96
|
+
var _step$value = _slicedToArray(_step.value, 2),
|
|
97
|
+
childId = _step$value[0],
|
|
98
|
+
child = _step$value[1];
|
|
99
|
+
var parent = nodeLookup.get(child.parentId);
|
|
100
|
+
if (!parent || parentExpansions.has(child.parentId)) {
|
|
101
|
+
continue;
|
|
102
|
+
}
|
|
103
|
+
var expandedRect = getExpectedRect(parent, childrenPositionMap, parentLookup, nodeOrigin, nodeTypeLookup, nodeLookup); // 还需要和其它节点对比
|
|
104
|
+
|
|
105
|
+
parentExpansions.set(child.parentId, {
|
|
106
|
+
expandedRect: expandedRect,
|
|
107
|
+
parent: parent
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
} catch (err) {
|
|
111
|
+
_iterator.e(err);
|
|
112
|
+
} finally {
|
|
113
|
+
_iterator.f();
|
|
114
|
+
}
|
|
115
|
+
if (parentExpansions.size > 0) {
|
|
116
|
+
parentExpansions.forEach(function (_ref, parentId) {
|
|
117
|
+
var _parent$origin;
|
|
118
|
+
var expandedRect = _ref.expandedRect,
|
|
119
|
+
parent = _ref.parent;
|
|
120
|
+
// determine the position & dimensions of the parent
|
|
121
|
+
var dimensions = getNodeDimensions(parent); // 现在的宽和高
|
|
122
|
+
var origin = (_parent$origin = parent.origin) !== null && _parent$origin !== void 0 ? _parent$origin : nodeOrigin;
|
|
123
|
+
var definition = nodeTypeLookup.get(parent.type);
|
|
124
|
+
var _ref2 = definition.subFlowViewPort || {},
|
|
125
|
+
_ref2$minWidth = _ref2.minWidth,
|
|
126
|
+
minWidth = _ref2$minWidth === void 0 ? 0 : _ref2$minWidth,
|
|
127
|
+
_ref2$minHeight = _ref2.minHeight,
|
|
128
|
+
minHeight = _ref2$minHeight === void 0 ? 0 : _ref2$minHeight;
|
|
129
|
+
var newWidth = Math.round(Math.max(expandedRect.width, minWidth)); // 新的宽度
|
|
130
|
+
var newHeight = Math.round(Math.max(expandedRect.height, minHeight)); // 新的高度
|
|
131
|
+
|
|
132
|
+
var widthChange = (newWidth - dimensions.width) * origin[0]; // 多减去的值
|
|
133
|
+
var heightChange = (newHeight - dimensions.height) * origin[1]; // 多减去的值
|
|
134
|
+
|
|
135
|
+
if (newWidth !== dimensions.width || newHeight !== dimensions.height) {
|
|
136
|
+
// 父节点触发 resize, 修改子节点的 extend
|
|
137
|
+
changes.push({
|
|
138
|
+
type: 'replace',
|
|
139
|
+
id: parentId,
|
|
140
|
+
item: _objectSpread(_objectSpread({}, parent.internals.userNode), {}, {
|
|
141
|
+
position: {
|
|
142
|
+
x: parent.position.x + widthChange,
|
|
143
|
+
y: parent.position.y + heightChange
|
|
144
|
+
},
|
|
145
|
+
measured: {
|
|
146
|
+
width: newWidth,
|
|
147
|
+
height: newHeight
|
|
148
|
+
},
|
|
149
|
+
width: newWidth,
|
|
150
|
+
height: newHeight
|
|
151
|
+
})
|
|
152
|
+
});
|
|
153
|
+
var _definition = nodeTypeLookup.get(parent.type);
|
|
154
|
+
var children = parentLookup.get(parentId);
|
|
155
|
+
// 更新 start 和 end节点位置
|
|
156
|
+
if ((_definition === null || _definition === void 0 ? void 0 : _definition.nodeRoleType) === NodeRoleType.SubFlow) {
|
|
157
|
+
// 工作流父节点
|
|
158
|
+
children === null || children === void 0 || children.forEach(function (child) {
|
|
159
|
+
var definition = nodeTypeLookup.get(child.type);
|
|
160
|
+
if ((definition === null || definition === void 0 ? void 0 : definition.nodeRoleType) === NodeRoleType.SubFlowBegin) {
|
|
161
|
+
// 开始节点
|
|
162
|
+
changes.push({
|
|
163
|
+
id: child.id,
|
|
164
|
+
type: 'position',
|
|
165
|
+
position: {
|
|
166
|
+
x: 0,
|
|
167
|
+
y: newHeight / 2
|
|
168
|
+
}
|
|
169
|
+
});
|
|
170
|
+
} else if ((definition === null || definition === void 0 ? void 0 : definition.nodeRoleType) === NodeRoleType.SubFlowEnd) {
|
|
171
|
+
changes.push({
|
|
172
|
+
id: child.id,
|
|
173
|
+
type: 'position',
|
|
174
|
+
position: {
|
|
175
|
+
x: newWidth,
|
|
176
|
+
y: newHeight / 2
|
|
177
|
+
}
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
return changes;
|
|
186
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @author: yanxianliang
|
|
3
|
+
* @date: 2025-08-19 09:20
|
|
4
|
+
* @modified:2025/8/19 09:20 by yanxianliang
|
|
5
|
+
* @desc: 位置转换工具
|
|
6
|
+
*
|
|
7
|
+
* Copyright (c) 2025 by yanxianliang, All Rights Reserved.
|
|
8
|
+
*/
|
|
9
|
+
import { InternalNode, Node, NodeOrigin, XYPosition } from "@xyflow/react";
|
|
10
|
+
import { NodeLookup } from "@xyflow/system";
|
|
11
|
+
/**
|
|
12
|
+
* Convert position out of parent
|
|
13
|
+
*
|
|
14
|
+
* @internal
|
|
15
|
+
* @param internalNode
|
|
16
|
+
* @param nodeOrigin
|
|
17
|
+
* @returns an internal node with an absolute position
|
|
18
|
+
*/
|
|
19
|
+
export declare function evaluatePositionOutParent(internalNode: InternalNode, nodeOrigin: NodeOrigin): XYPosition;
|
|
20
|
+
export declare function evaluatePositionInParent(position: XYPosition, parentNode: InternalNode): XYPosition;
|
|
21
|
+
/**
|
|
22
|
+
* 根据节点最新的position计算节点变化后的绝对位置
|
|
23
|
+
* @param nodeLookup
|
|
24
|
+
* @param position
|
|
25
|
+
* @param node
|
|
26
|
+
* @param nodeOrigin 工作流设置的全局偏移量
|
|
27
|
+
*/
|
|
28
|
+
export declare function getPositionAbsolute(nodeLookup: NodeLookup, position: XYPosition, node: Node, nodeOrigin?: NodeOrigin): XYPosition;
|
|
29
|
+
//# sourceMappingURL=position.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"position.d.ts","sourceRoot":"","sources":["position.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAC,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAC,MAAM,eAAe,CAAC;AACzE,OAAO,EAAC,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAG1C;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,GAAG,UAAU,CAOxG;AAGD,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,UAAU,EACpB,UAAU,EAAE,YAAY,GACvB,UAAU,CAMZ;AAGD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,GAAE,UAAiB,GAAG,UAAU,CAUvI"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @author: yanxianliang
|
|
3
|
+
* @date: 2025-08-19 09:20
|
|
4
|
+
* @modified:2025/8/19 09:20 by yanxianliang
|
|
5
|
+
* @desc: 位置转换工具
|
|
6
|
+
*
|
|
7
|
+
* Copyright (c) 2025 by yanxianliang, All Rights Reserved.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import { getNodeWidth, getNodeHeight } from "./dimensions";
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Convert position out of parent
|
|
14
|
+
*
|
|
15
|
+
* @internal
|
|
16
|
+
* @param internalNode
|
|
17
|
+
* @param nodeOrigin
|
|
18
|
+
* @returns an internal node with an absolute position
|
|
19
|
+
*/
|
|
20
|
+
export function evaluatePositionOutParent(internalNode, nodeOrigin) {
|
|
21
|
+
var origin = internalNode.origin || nodeOrigin;
|
|
22
|
+
var absolutePosition = internalNode.internals.positionAbsolute;
|
|
23
|
+
return {
|
|
24
|
+
x: absolutePosition.x + getNodeWidth(internalNode) * origin[0],
|
|
25
|
+
y: absolutePosition.y + getNodeHeight(internalNode) * origin[1]
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
export function evaluatePositionInParent(position, parentNode // 需要根据绝对位置进行计算
|
|
29
|
+
) {
|
|
30
|
+
var parentAbsolutePosition = parentNode.internals.positionAbsolute;
|
|
31
|
+
return {
|
|
32
|
+
x: position.x - parentAbsolutePosition.x,
|
|
33
|
+
y: position.y - parentAbsolutePosition.y
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* 根据节点最新的position计算节点变化后的绝对位置
|
|
39
|
+
* @param nodeLookup
|
|
40
|
+
* @param position
|
|
41
|
+
* @param node
|
|
42
|
+
* @param nodeOrigin 工作流设置的全局偏移量
|
|
43
|
+
*/
|
|
44
|
+
export function getPositionAbsolute(nodeLookup, position, node) {
|
|
45
|
+
var _node$origin, _nodeLookup$get$inter, _nodeLookup$get;
|
|
46
|
+
var nodeOrigin = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [0, 0];
|
|
47
|
+
var origin = (_node$origin = node.origin) !== null && _node$origin !== void 0 ? _node$origin : nodeOrigin;
|
|
48
|
+
var _ref = node.parentId ? (_nodeLookup$get$inter = (_nodeLookup$get = nodeLookup.get(node.parentId)) === null || _nodeLookup$get === void 0 || (_nodeLookup$get = _nodeLookup$get.internals) === null || _nodeLookup$get === void 0 ? void 0 : _nodeLookup$get.positionAbsolute) !== null && _nodeLookup$get$inter !== void 0 ? _nodeLookup$get$inter : {
|
|
49
|
+
x: 0,
|
|
50
|
+
y: 0
|
|
51
|
+
} : {
|
|
52
|
+
x: 0,
|
|
53
|
+
y: 0
|
|
54
|
+
},
|
|
55
|
+
parentX = _ref.x,
|
|
56
|
+
parentY = _ref.y;
|
|
57
|
+
return {
|
|
58
|
+
x: parentX + position.x - getNodeWidth(node) * origin[0],
|
|
59
|
+
y: parentY + position.y - getNodeHeight(node) * origin[1]
|
|
60
|
+
};
|
|
61
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @author: yanxianliang
|
|
3
|
+
* @date: 2025-08-30 15:13
|
|
4
|
+
* @modified:2025/8/30 15:13 by yanxianliang
|
|
5
|
+
* @desc: 预生成内置的Lookup 数据
|
|
6
|
+
*
|
|
7
|
+
* Copyright (c) 2025 by yanxianliang, All Rights Reserved.
|
|
8
|
+
*/
|
|
9
|
+
import { WorkFlowNodeDefinition } from "..";
|
|
10
|
+
import { Edge, Node } from "@xyflow/react";
|
|
11
|
+
import { LayoutConfig } from "@rxflow/base";
|
|
12
|
+
export declare function prepareInnerLookup<NodeType extends Node = Node, EdgeType extends Edge = Edge>(config: LayoutConfig<NodeType, EdgeType>, nodeTypeMap: Map<string, WorkFlowNodeDefinition<NodeType['data']>>): {
|
|
13
|
+
nodes: NodeType[];
|
|
14
|
+
edges: EdgeType[];
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=prepareInnerLookup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepareInnerLookup.d.ts","sourceRoot":"","sources":["prepareInnerLookup.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAC,sBAAsB,EAAC,WAAyB;AACxD,OAAO,EAAC,IAAI,EAAE,IAAI,EAAC,MAAM,eAAe,CAAC;AACzC,OAAO,EAA8B,YAAY,EAAiB,MAAM,cAAc,CAAC;AAIvF,wBAAgB,kBAAkB,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI,EAAE,QAAQ,SAAS,IAAI,GAAG,IAAI,EAC3F,MAAM,EAAE,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,EACxC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;;;EAwEnE"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @author: yanxianliang
|
|
3
|
+
* @date: 2025-08-30 15:13
|
|
4
|
+
* @modified:2025/8/30 15:13 by yanxianliang
|
|
5
|
+
* @desc: 预生成内置的Lookup 数据
|
|
6
|
+
*
|
|
7
|
+
* Copyright (c) 2025 by yanxianliang, All Rights Reserved.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import { getNodeHeight, getNodeWidth, NodeRoleType } from "@rxflow/base";
|
|
11
|
+
import { calcPositionInSubFlow } from "./graph";
|
|
12
|
+
export function prepareInnerLookup(config, nodeTypeMap) {
|
|
13
|
+
var originNodes = config.originNodes,
|
|
14
|
+
nodeTypes = config.nodeTypes,
|
|
15
|
+
originEdges = config.originEdges,
|
|
16
|
+
theme = config.theme,
|
|
17
|
+
store = config.store;
|
|
18
|
+
var nodeLookup = store.nodeLookup,
|
|
19
|
+
edgeLookup = store.edgeLookup,
|
|
20
|
+
nodeOrigin = store.nodeOrigin;
|
|
21
|
+
var innerNodeLookup = new Map();
|
|
22
|
+
|
|
23
|
+
// originNodes 需要进行排序,父节点需要排在前面
|
|
24
|
+
|
|
25
|
+
// 缓存
|
|
26
|
+
if (originNodes && nodeLookup) {
|
|
27
|
+
for (var i = 0; i < originNodes.length; i++) {
|
|
28
|
+
var node = originNodes[i];
|
|
29
|
+
var id = node.id,
|
|
30
|
+
type = node.type;
|
|
31
|
+
var definition = type ? nodeTypeMap.get(type) : undefined;
|
|
32
|
+
var parentNode = node.parentId ? nodeLookup.get(node.parentId) || innerNodeLookup.get(node.parentId) : undefined;
|
|
33
|
+
var internalNode = nodeLookup.get(id);
|
|
34
|
+
if (!internalNode) {
|
|
35
|
+
innerNodeLookup.set(id, node);
|
|
36
|
+
var nodeWidth = getNodeWidth(node, nodeTypes, theme); // 节点的宽和高
|
|
37
|
+
var nodeHeight = getNodeHeight(node, nodeTypes, theme);
|
|
38
|
+
node.width = nodeWidth;
|
|
39
|
+
if ((definition === null || definition === void 0 ? void 0 : definition.nodeRoleType) === NodeRoleType.SubFlow) {
|
|
40
|
+
// 组合/子工作流,内置了 resize逻辑,需要设置初始的高度
|
|
41
|
+
node.height = nodeHeight;
|
|
42
|
+
} else {
|
|
43
|
+
delete node.height; // 无 height时会自动按照内容来计算高度,节点内置的 resizeObserver 会生效
|
|
44
|
+
}
|
|
45
|
+
node.measured = {
|
|
46
|
+
width: nodeWidth,
|
|
47
|
+
height: nodeHeight
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
// extent 序列化可能会存在问题,不使用保存的配置,直接重新生成
|
|
51
|
+
if (parentNode && parentNode.type) {
|
|
52
|
+
var parentNodeDefinition = nodeTypeMap.get(parentNode.type);
|
|
53
|
+
if ((parentNodeDefinition === null || parentNodeDefinition === void 0 ? void 0 : parentNodeDefinition.nodeRoleType) === NodeRoleType.SubFlow && (definition === null || definition === void 0 ? void 0 : definition.nodeRoleType) !== NodeRoleType.SubFlowBegin && (definition === null || definition === void 0 ? void 0 : definition.nodeRoleType) !== NodeRoleType.SubFlowEnd) {
|
|
54
|
+
node.position = calcPositionInSubFlow(parentNodeDefinition, parentNode, node, nodeOrigin, node.position);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
} else {
|
|
58
|
+
delete node.handles; // 清除 handles,强制复用内部的 handles
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
if (originEdges && edgeLookup) {
|
|
63
|
+
for (var _i = 0; _i < originEdges.length; _i++) {
|
|
64
|
+
var edge = originEdges[_i];
|
|
65
|
+
var _id = edge.id;
|
|
66
|
+
var internalEdge = edgeLookup.get(_id);
|
|
67
|
+
if (!internalEdge) {
|
|
68
|
+
edgeLookup.set(_id, edge);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// handles 需要清除,否则 nodes 更新时会触发
|
|
74
|
+
|
|
75
|
+
return {
|
|
76
|
+
nodes: originNodes || [],
|
|
77
|
+
edges: originEdges || []
|
|
78
|
+
};
|
|
79
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scheduleCallback.d.ts","sourceRoot":"","sources":["scheduleCallback.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @author: yanxianliang
|
|
3
|
+
* @date: 2025-08-22 20:55
|
|
4
|
+
* @desc: 延迟优化执行
|
|
5
|
+
*
|
|
6
|
+
* Copyright (c) 2025 by yanxianliang, All Rights Reserved.
|
|
7
|
+
*/
|
|
8
|
+
import { unstable_scheduleCallback as scheduleCallback, unstable_IdlePriority as IdlePriority, unstable_shouldYield as shouldYield } from 'scheduler';
|
|
9
|
+
|
|
10
|
+
// 定义低优先级任务
|
|
11
|
+
var task = function task() {
|
|
12
|
+
if (shouldYield()) {
|
|
13
|
+
// 检查当前帧是否有剩余时间
|
|
14
|
+
return task; // 无时间则中断,等待下次调度
|
|
15
|
+
}
|
|
16
|
+
console.log("执行非关键任务");
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
// function processList(taskQueue) {
|
|
20
|
+
// let index = 0;
|
|
21
|
+
// return function process() {
|
|
22
|
+
// while (index < taskQueue.length) {
|
|
23
|
+
// processItem(taskQueue[index]); // 处理单个项
|
|
24
|
+
// index++;
|
|
25
|
+
// if (unstable_shouldYield()) {
|
|
26
|
+
// return process; // 返回续延函数
|
|
27
|
+
// }
|
|
28
|
+
// }
|
|
29
|
+
// };
|
|
30
|
+
// }
|
|
31
|
+
//
|
|
32
|
+
// // 调度任务
|
|
33
|
+
// const task = processList(data);
|
|
34
|
+
|
|
35
|
+
// 调度任务(优先级为 Idle)
|
|
36
|
+
scheduleCallback(IdlePriority, task); // 最低优先级执行
|