@uipath/apollo-react 4.16.1 → 4.17.0-pr605.41c0b8c
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/dist/canvas/components/AddNodePanel/AddNodeManager.cjs +35 -21
- package/dist/canvas/components/AddNodePanel/AddNodeManager.d.ts.map +1 -1
- package/dist/canvas/components/AddNodePanel/AddNodeManager.helpers.cjs +150 -0
- package/dist/canvas/components/AddNodePanel/AddNodeManager.helpers.d.ts +20 -0
- package/dist/canvas/components/AddNodePanel/AddNodeManager.helpers.d.ts.map +1 -0
- package/dist/canvas/components/AddNodePanel/AddNodeManager.helpers.js +110 -0
- package/dist/canvas/components/AddNodePanel/AddNodeManager.js +35 -21
- package/dist/canvas/components/AddNodePanel/createAddNodePreview.cjs +15 -4
- package/dist/canvas/components/AddNodePanel/createAddNodePreview.d.ts +5 -1
- package/dist/canvas/components/AddNodePanel/createAddNodePreview.d.ts.map +1 -1
- package/dist/canvas/components/AddNodePanel/createAddNodePreview.js +15 -4
- package/dist/canvas/components/AddNodePanel/index.d.ts +1 -1
- package/dist/canvas/components/AddNodePanel/index.d.ts.map +1 -1
- package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.cjs +23 -1
- package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.d.ts.map +1 -1
- package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.js +23 -1
- package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvasWithControls.cjs +0 -14
- package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvasWithControls.d.ts.map +1 -1
- package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvasWithControls.js +2 -16
- package/dist/canvas/components/LoopNode/LoopNode.cjs +25 -19
- package/dist/canvas/components/LoopNode/LoopNode.d.ts.map +1 -1
- package/dist/canvas/components/LoopNode/LoopNode.helpers.cjs +33 -42
- package/dist/canvas/components/LoopNode/LoopNode.helpers.d.ts +9 -10
- package/dist/canvas/components/LoopNode/LoopNode.helpers.d.ts.map +1 -1
- package/dist/canvas/components/LoopNode/LoopNode.helpers.js +25 -31
- package/dist/canvas/components/LoopNode/LoopNode.js +17 -11
- package/dist/canvas/components/LoopNode/LoopNodePreview.cjs +17 -4
- package/dist/canvas/components/LoopNode/LoopNodePreview.d.ts.map +1 -1
- package/dist/canvas/components/LoopNode/LoopNodePreview.js +17 -4
- package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.cjs +25 -14
- package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.d.ts.map +1 -1
- package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.js +25 -14
- package/dist/canvas/components/Toolbox/ListView.cjs +66 -19
- package/dist/canvas/components/Toolbox/ListView.d.ts +12 -1
- package/dist/canvas/components/Toolbox/ListView.d.ts.map +1 -1
- package/dist/canvas/components/Toolbox/ListView.js +66 -19
- package/dist/canvas/components/Toolbox/Toolbox.cjs +6 -5
- package/dist/canvas/components/Toolbox/Toolbox.d.ts.map +1 -1
- package/dist/canvas/components/Toolbox/Toolbox.js +6 -5
- package/dist/canvas/constants.cjs +0 -8
- package/dist/canvas/constants.d.ts +0 -2
- package/dist/canvas/constants.d.ts.map +1 -1
- package/dist/canvas/constants.js +1 -3
- package/dist/canvas/hooks/useAddNodeOnConnectEnd.cjs +4 -2
- package/dist/canvas/hooks/useAddNodeOnConnectEnd.d.ts.map +1 -1
- package/dist/canvas/hooks/useAddNodeOnConnectEnd.js +4 -2
- package/dist/canvas/storybook-utils/hooks/useCanvasStory.d.ts.map +1 -1
- package/dist/canvas/styles/tailwind.canvas.css +1 -1
- package/dist/canvas/utils/NodeUtils.cjs +26 -10
- package/dist/canvas/utils/NodeUtils.d.ts +7 -0
- package/dist/canvas/utils/NodeUtils.d.ts.map +1 -1
- package/dist/canvas/utils/NodeUtils.js +13 -6
- package/dist/canvas/utils/collapse.cjs +3 -3
- package/dist/canvas/utils/collapse.d.ts.map +1 -1
- package/dist/canvas/utils/collapse.js +1 -1
- package/dist/canvas/utils/container.cjs +642 -0
- package/dist/canvas/utils/container.d.ts +97 -0
- package/dist/canvas/utils/container.d.ts.map +1 -0
- package/dist/canvas/utils/container.js +566 -0
- package/dist/canvas/utils/createPreviewGraph.cjs +13 -17
- package/dist/canvas/utils/createPreviewGraph.d.ts +10 -8
- package/dist/canvas/utils/createPreviewGraph.d.ts.map +1 -1
- package/dist/canvas/utils/createPreviewGraph.js +13 -17
- package/dist/canvas/utils/createPreviewNode.cjs +16 -10
- package/dist/canvas/utils/createPreviewNode.d.ts.map +1 -1
- package/dist/canvas/utils/createPreviewNode.js +16 -10
- package/dist/canvas/utils/index.cjs +29 -22
- package/dist/canvas/utils/index.d.ts +1 -0
- package/dist/canvas/utils/index.d.ts.map +1 -1
- package/dist/canvas/utils/index.js +1 -0
- package/package.json +3 -3
- package/dist/canvas/components/LoopNode/LoopNode.constants.cjs +0 -56
- package/dist/canvas/components/LoopNode/LoopNode.constants.d.ts +0 -7
- package/dist/canvas/components/LoopNode/LoopNode.constants.d.ts.map +0 -1
- package/dist/canvas/components/LoopNode/LoopNode.constants.js +0 -7
|
@@ -32,8 +32,9 @@ const external_react_namespaceObject = require("react");
|
|
|
32
32
|
const external_constants_cjs_namespaceObject = require("../../constants.cjs");
|
|
33
33
|
const index_cjs_namespaceObject = require("../../core/index.cjs");
|
|
34
34
|
const usePreviewNode_cjs_namespaceObject = require("../../hooks/usePreviewNode.cjs");
|
|
35
|
-
const
|
|
35
|
+
const createPreviewNode_cjs_namespaceObject = require("../../utils/createPreviewNode.cjs");
|
|
36
36
|
const external_FloatingCanvasPanel_index_cjs_namespaceObject = require("../FloatingCanvasPanel/index.cjs");
|
|
37
|
+
const external_AddNodeManager_helpers_cjs_namespaceObject = require("./AddNodeManager.helpers.cjs");
|
|
37
38
|
const external_AddNodePanel_cjs_namespaceObject = require("./AddNodePanel.cjs");
|
|
38
39
|
const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData, onBeforeNodeAdded, onNodeAdded, ignoredNodeTypes })=>{
|
|
39
40
|
const reactFlowInstance = (0, react_cjs_namespaceObject.useReactFlow)();
|
|
@@ -45,15 +46,20 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
|
|
|
45
46
|
if (!previewNode && lastPreviewNodeRef.current) {
|
|
46
47
|
reactFlowInstance.setNodes((nodes)=>nodes.filter((n)=>n.id !== external_constants_cjs_namespaceObject.PREVIEW_NODE_ID));
|
|
47
48
|
reactFlowInstance.setEdges((edges)=>{
|
|
48
|
-
const filteredEdges = edges.filter((
|
|
49
|
-
|
|
49
|
+
const filteredEdges = edges.filter((edge)=>!(0, createPreviewNode_cjs_namespaceObject.isPreviewEdge)(edge));
|
|
50
|
+
const restoredEdges = restoreEdgesRef.current ? [
|
|
50
51
|
...filteredEdges,
|
|
51
52
|
...restoreEdgesRef.current
|
|
52
53
|
] : filteredEdges;
|
|
54
|
+
restoreEdgesRef.current = null;
|
|
55
|
+
return restoredEdges;
|
|
53
56
|
});
|
|
54
|
-
} else if (previewNode && !restoreEdgesRef.current)
|
|
55
|
-
previewNode
|
|
56
|
-
|
|
57
|
+
} else if (previewNode && !restoreEdgesRef.current) {
|
|
58
|
+
const originalEdge = (0, external_AddNodeManager_helpers_cjs_namespaceObject.getOriginalEdge)(previewNode);
|
|
59
|
+
restoreEdgesRef.current = originalEdge ? [
|
|
60
|
+
originalEdge
|
|
61
|
+
] : null;
|
|
62
|
+
}
|
|
57
63
|
lastPreviewNodeRef.current = previewNode || null;
|
|
58
64
|
}, [
|
|
59
65
|
previewNode,
|
|
@@ -83,17 +89,17 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
|
|
|
83
89
|
parentId: currentPreviewNode.parentId,
|
|
84
90
|
extent: currentPreviewNode.extent
|
|
85
91
|
} : {};
|
|
86
|
-
const
|
|
92
|
+
const newNodeManifest = registry?.getManifest(nodeItem.data.type);
|
|
93
|
+
const newNode = (0, external_AddNodeManager_helpers_cjs_namespaceObject.alignNodeToPreview)({
|
|
87
94
|
id: newNodeId,
|
|
88
95
|
type: nodeItem.data.type,
|
|
89
96
|
position: currentPreviewNode.position,
|
|
90
97
|
selected: true,
|
|
91
98
|
data: nodeData,
|
|
92
99
|
...previewNodeScope
|
|
93
|
-
};
|
|
94
|
-
const newNodeManifest = registry?.getManifest(nodeItem.data.type);
|
|
100
|
+
}, currentPreviewNode, previewNodeConnectionInfo, newNodeManifest);
|
|
95
101
|
const newEdges = [];
|
|
96
|
-
const previewEdgeIds =
|
|
102
|
+
const previewEdgeIds = new Set();
|
|
97
103
|
for (const connectionInfoItem of previewNodeConnectionInfo){
|
|
98
104
|
const newNodeHandleType = connectionInfoItem.addNewNodeAsSource ? 'source' : 'target';
|
|
99
105
|
const newNodeDefaultHandle = newNodeManifest ? registry?.getDefaultHandle(newNodeManifest.nodeType, newNodeHandleType) : void 0;
|
|
@@ -115,12 +121,14 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
|
|
|
115
121
|
...edgeSourceTargetData,
|
|
116
122
|
type: 'default'
|
|
117
123
|
});
|
|
118
|
-
previewEdgeIds.
|
|
124
|
+
previewEdgeIds.add(connectionInfoItem.previewEdgeId);
|
|
119
125
|
}
|
|
120
126
|
const { newNode: finalNode, newEdges: finalEdges } = onBeforeNodeAdded?.(newNode, newEdges) ?? {
|
|
121
127
|
newNode,
|
|
122
128
|
newEdges
|
|
123
129
|
};
|
|
130
|
+
const placementEdges = reactFlowInstance.getEdges();
|
|
131
|
+
let placedNode = finalNode;
|
|
124
132
|
reactFlowInstance.setNodes((nodes)=>{
|
|
125
133
|
const newNodes = [
|
|
126
134
|
...nodes.filter((n)=>n.id !== external_constants_cjs_namespaceObject.PREVIEW_NODE_ID).map((n)=>({
|
|
@@ -129,28 +137,35 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
|
|
|
129
137
|
})),
|
|
130
138
|
finalNode
|
|
131
139
|
];
|
|
132
|
-
|
|
140
|
+
const placement = (0, external_AddNodeManager_helpers_cjs_namespaceObject.placeAddedNode)({
|
|
141
|
+
nodes: newNodes,
|
|
142
|
+
edges: placementEdges,
|
|
143
|
+
previewNode: currentPreviewNode,
|
|
144
|
+
insertedNode: finalNode,
|
|
145
|
+
registry,
|
|
133
146
|
ignoredNodeTypes
|
|
134
147
|
});
|
|
148
|
+
placedNode = placement.insertedNode;
|
|
149
|
+
return placement.nodes;
|
|
135
150
|
});
|
|
136
151
|
reactFlowInstance.setEdges((edges)=>[
|
|
137
|
-
...edges.filter((
|
|
152
|
+
...edges.filter((edge)=>!previewEdgeIds.has(edge.id) && !(0, createPreviewNode_cjs_namespaceObject.isPreviewEdge)(edge)),
|
|
138
153
|
...finalEdges
|
|
139
154
|
]);
|
|
155
|
+
restoreEdgesRef.current = null;
|
|
140
156
|
const [firstConnection] = previewNodeConnectionInfo;
|
|
141
157
|
if (firstConnection) {
|
|
142
|
-
const
|
|
158
|
+
const firstMaterializedEdge = finalEdges.find((edge)=>edge.source === placedNode.id || edge.target === placedNode.id);
|
|
143
159
|
const firstEdgeData = firstConnection.addNewNodeAsSource ? {
|
|
144
|
-
source:
|
|
145
|
-
sourceHandle:
|
|
160
|
+
source: placedNode.id,
|
|
161
|
+
sourceHandle: firstMaterializedEdge?.sourceHandle ?? 'output'
|
|
146
162
|
} : {
|
|
147
163
|
source: firstConnection.existingNodeId,
|
|
148
164
|
sourceHandle: firstConnection.existingHandleId
|
|
149
165
|
};
|
|
150
|
-
onNodeAdded?.(firstEdgeData.source, firstEdgeData.sourceHandle,
|
|
166
|
+
onNodeAdded?.(firstEdgeData.source, firstEdgeData.sourceHandle, placedNode);
|
|
151
167
|
}
|
|
152
|
-
|
|
153
|
-
handleClose();
|
|
168
|
+
lastPreviewNodeRef.current = null;
|
|
154
169
|
}, [
|
|
155
170
|
previewNodeConnectionInfo,
|
|
156
171
|
reactFlowInstance,
|
|
@@ -158,8 +173,7 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
|
|
|
158
173
|
createNodeData,
|
|
159
174
|
onBeforeNodeAdded,
|
|
160
175
|
onNodeAdded,
|
|
161
|
-
ignoredNodeTypes
|
|
162
|
-
handleClose
|
|
176
|
+
ignoredNodeTypes
|
|
163
177
|
]);
|
|
164
178
|
if (!previewNode || !previewNodeConnectionInfo || 0 === previewNodeConnectionInfo.length) return null;
|
|
165
179
|
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_FloatingCanvasPanel_index_cjs_namespaceObject.FloatingCanvasPanel, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddNodeManager.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/AddNodePanel/AddNodeManager.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,0CAA0C,CAAC;AAE3E,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"AddNodeManager.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/AddNodePanel/AddNodeManager.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,0CAA0C,CAAC;AAE3E,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,WAAW,mBAAmB;IAKlC,WAAW,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC;IAI7E,YAAY,CAAC,EAAE,OAAO,CAAC;IAIvB,gBAAgB,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAK7F,cAAc,CAAC,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,YAAY,CAAC,KAAK,YAAY,CAAC;IAOtE,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK;QAAE,OAAO,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,IAAI,EAAE,CAAA;KAAE,CAAC;IAK7F,WAAW,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,KAAK,IAAI,CAAC;IAMpF,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AASD,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAyNxD,CAAC"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
5
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: definition[key]
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
})();
|
|
11
|
+
(()=>{
|
|
12
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
13
|
+
})();
|
|
14
|
+
(()=>{
|
|
15
|
+
__webpack_require__.r = (exports1)=>{
|
|
16
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
|
+
value: 'Module'
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
20
|
+
value: true
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
})();
|
|
24
|
+
var __webpack_exports__ = {};
|
|
25
|
+
__webpack_require__.r(__webpack_exports__);
|
|
26
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
+
getOriginalEdge: ()=>getOriginalEdge,
|
|
28
|
+
placeAddedNode: ()=>placeAddedNode,
|
|
29
|
+
alignNodeToPreview: ()=>alignNodeToPreview
|
|
30
|
+
});
|
|
31
|
+
const react_cjs_namespaceObject = require("../../xyflow/react.cjs");
|
|
32
|
+
const index_cjs_namespaceObject = require("../../utils/index.cjs");
|
|
33
|
+
const collapse_cjs_namespaceObject = require("../../utils/collapse.cjs");
|
|
34
|
+
const container_cjs_namespaceObject = require("../../utils/container.cjs");
|
|
35
|
+
function getOriginalEdge(previewNode) {
|
|
36
|
+
return previewNode?.data?.originalEdge ?? null;
|
|
37
|
+
}
|
|
38
|
+
function getManifestForNode(registry, node) {
|
|
39
|
+
return node.type ? registry?.getManifest(node.type) : void 0;
|
|
40
|
+
}
|
|
41
|
+
function getManifestAwareNodeDimensions(registry, node) {
|
|
42
|
+
const manifest = getManifestForNode(registry, node);
|
|
43
|
+
return (0, container_cjs_namespaceObject.getNodeDimensions)(node, (0, collapse_cjs_namespaceObject.getExpandedSize)(manifest?.display.shape));
|
|
44
|
+
}
|
|
45
|
+
function getPrimaryPreviewHandlePosition(previewNode, previewConnections) {
|
|
46
|
+
const primaryConnection = previewConnections.find((connection)=>!connection.addNewNodeAsSource) ?? previewConnections[0];
|
|
47
|
+
const handlePosition = primaryConnection?.addNewNodeAsSource ? previewNode.data?.outputHandlePosition : previewNode.data?.inputHandlePosition;
|
|
48
|
+
return handlePosition;
|
|
49
|
+
}
|
|
50
|
+
function alignNodeToPreview(node, previewNode, previewConnections, nodeManifest) {
|
|
51
|
+
const previewSize = (0, container_cjs_namespaceObject.getNodeDimensions)(previewNode);
|
|
52
|
+
const nodeSize = (0, container_cjs_namespaceObject.getNodeDimensions)(node, (0, collapse_cjs_namespaceObject.getExpandedSize)(nodeManifest?.display.shape));
|
|
53
|
+
if (previewSize.width === nodeSize.width && previewSize.height === nodeSize.height) return node;
|
|
54
|
+
const previewHandlePosition = getPrimaryPreviewHandlePosition(previewNode, previewConnections);
|
|
55
|
+
const previewCenterX = previewNode.position.x + previewSize.width / 2;
|
|
56
|
+
const previewCenterY = previewNode.position.y + previewSize.height / 2;
|
|
57
|
+
if (previewHandlePosition === react_cjs_namespaceObject.Position.Left) return {
|
|
58
|
+
...node,
|
|
59
|
+
position: {
|
|
60
|
+
x: previewNode.position.x,
|
|
61
|
+
y: previewCenterY - nodeSize.height / 2
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
if (previewHandlePosition === react_cjs_namespaceObject.Position.Right) return {
|
|
65
|
+
...node,
|
|
66
|
+
position: {
|
|
67
|
+
x: previewNode.position.x + previewSize.width - nodeSize.width,
|
|
68
|
+
y: previewCenterY - nodeSize.height / 2
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
if (previewHandlePosition === react_cjs_namespaceObject.Position.Top) return {
|
|
72
|
+
...node,
|
|
73
|
+
position: {
|
|
74
|
+
x: previewCenterX - nodeSize.width / 2,
|
|
75
|
+
y: previewNode.position.y
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
if (previewHandlePosition === react_cjs_namespaceObject.Position.Bottom) return {
|
|
79
|
+
...node,
|
|
80
|
+
position: {
|
|
81
|
+
x: previewCenterX - nodeSize.width / 2,
|
|
82
|
+
y: previewNode.position.y + previewSize.height - nodeSize.height
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
return {
|
|
86
|
+
...node,
|
|
87
|
+
position: {
|
|
88
|
+
x: previewCenterX - nodeSize.width / 2,
|
|
89
|
+
y: previewCenterY - nodeSize.height / 2
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
function resolveScopedCollisions(nodes, insertedNode, options) {
|
|
94
|
+
const siblingNodes = nodes.filter((node)=>node.parentId === insertedNode.parentId);
|
|
95
|
+
const resolvedSiblings = (0, index_cjs_namespaceObject.resolveCollisions)(siblingNodes, {
|
|
96
|
+
ignoredNodeTypes: options.ignoredNodeTypes,
|
|
97
|
+
getNodeSize: options.getNodeSize
|
|
98
|
+
});
|
|
99
|
+
const resolvedSiblingById = new Map(resolvedSiblings.map((node)=>[
|
|
100
|
+
node.id,
|
|
101
|
+
node
|
|
102
|
+
]));
|
|
103
|
+
const resolvedNodes = nodes.map((node)=>resolvedSiblingById.get(node.id) ?? node);
|
|
104
|
+
return {
|
|
105
|
+
nodes: resolvedNodes,
|
|
106
|
+
insertedNode: resolvedSiblingById.get(insertedNode.id)
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
function placeAddedNode({ nodes, edges, previewNode, insertedNode, registry, ignoredNodeTypes }) {
|
|
110
|
+
const getDimensions = (node)=>getManifestAwareNodeDimensions(registry, node);
|
|
111
|
+
const placement = (0, container_cjs_namespaceObject.getContainerPlacement)({
|
|
112
|
+
previewNode
|
|
113
|
+
});
|
|
114
|
+
if (placement) {
|
|
115
|
+
const containerNode = nodes.find((node)=>node.id === placement.containerId);
|
|
116
|
+
const containerManifest = getManifestForNode(registry, containerNode);
|
|
117
|
+
if (!(0, container_cjs_namespaceObject.isContainerNodeManifest)(containerManifest)) return resolveScopedCollisions(nodes, insertedNode, {
|
|
118
|
+
ignoredNodeTypes,
|
|
119
|
+
getNodeSize: getDimensions
|
|
120
|
+
});
|
|
121
|
+
const resolvedNodes = (0, container_cjs_namespaceObject.placeContainerNode)({
|
|
122
|
+
nodes,
|
|
123
|
+
insertedNode,
|
|
124
|
+
placement,
|
|
125
|
+
edges,
|
|
126
|
+
getNodeDimensions: getDimensions,
|
|
127
|
+
safeArea: (0, container_cjs_namespaceObject.getContainerSafeArea)(containerNode),
|
|
128
|
+
getContainerFitGeometry: (node)=>(0, container_cjs_namespaceObject.isContainerNodeManifest)(getManifestForNode(registry, node)) ? (0, container_cjs_namespaceObject.getContainerFitGeometry)() : null
|
|
129
|
+
});
|
|
130
|
+
return {
|
|
131
|
+
nodes: resolvedNodes,
|
|
132
|
+
insertedNode: resolvedNodes.find((node)=>node.id === insertedNode.id)
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
return resolveScopedCollisions(nodes, insertedNode, {
|
|
136
|
+
ignoredNodeTypes,
|
|
137
|
+
getNodeSize: getDimensions
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
exports.alignNodeToPreview = __webpack_exports__.alignNodeToPreview;
|
|
141
|
+
exports.getOriginalEdge = __webpack_exports__.getOriginalEdge;
|
|
142
|
+
exports.placeAddedNode = __webpack_exports__.placeAddedNode;
|
|
143
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
144
|
+
"alignNodeToPreview",
|
|
145
|
+
"getOriginalEdge",
|
|
146
|
+
"placeAddedNode"
|
|
147
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
148
|
+
Object.defineProperty(exports, '__esModule', {
|
|
149
|
+
value: true
|
|
150
|
+
});
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { Edge, Node } from '../../xyflow/react.ts';
|
|
2
|
+
import type { NodeTypeRegistry } from '../../core';
|
|
3
|
+
import type { PreviewNodeConnectionInfo } from '../../hooks/usePreviewNode';
|
|
4
|
+
import type { NodeManifest } from '../../schema';
|
|
5
|
+
interface AddNodePlacementResult {
|
|
6
|
+
nodes: Node[];
|
|
7
|
+
insertedNode: Node;
|
|
8
|
+
}
|
|
9
|
+
export declare function getOriginalEdge(previewNode: Node | null | undefined): Edge | null;
|
|
10
|
+
export declare function alignNodeToPreview(node: Node, previewNode: Node, previewConnections: PreviewNodeConnectionInfo[], nodeManifest: NodeManifest | undefined): Node;
|
|
11
|
+
export declare function placeAddedNode({ nodes, edges, previewNode, insertedNode, registry, ignoredNodeTypes, }: {
|
|
12
|
+
nodes: Node[];
|
|
13
|
+
edges: Edge[];
|
|
14
|
+
previewNode: Node;
|
|
15
|
+
insertedNode: Node;
|
|
16
|
+
registry: NodeTypeRegistry | null;
|
|
17
|
+
ignoredNodeTypes?: string[];
|
|
18
|
+
}): AddNodePlacementResult;
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=AddNodeManager.helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AddNodeManager.helpers.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/AddNodePanel/AddNodeManager.helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,0CAA0C,CAAC;AAE3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAajD,UAAU,sBAAsB;IAC9B,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,YAAY,EAAE,IAAI,CAAC;CACpB;AAED,wBAAgB,eAAe,CAAC,WAAW,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,CAEjF;AA6BD,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,IAAI,EACjB,kBAAkB,EAAE,yBAAyB,EAAE,EAC/C,YAAY,EAAE,YAAY,GAAG,SAAS,GACrC,IAAI,CA2DN;AAwBD,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,KAAK,EACL,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,gBAAgB,GACjB,EAAE;IACD,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,WAAW,EAAE,IAAI,CAAC;IAClB,YAAY,EAAE,IAAI,CAAC;IACnB,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B,GAAG,sBAAsB,CAsCzB"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { Position } from "../../xyflow/react.js";
|
|
2
|
+
import { resolveCollisions } from "../../utils/index.js";
|
|
3
|
+
import { getExpandedSize } from "../../utils/collapse.js";
|
|
4
|
+
import { getContainerFitGeometry, getContainerPlacement, getContainerSafeArea, getNodeDimensions, isContainerNodeManifest, placeContainerNode } from "../../utils/container.js";
|
|
5
|
+
function getOriginalEdge(previewNode) {
|
|
6
|
+
return previewNode?.data?.originalEdge ?? null;
|
|
7
|
+
}
|
|
8
|
+
function getManifestForNode(registry, node) {
|
|
9
|
+
return node.type ? registry?.getManifest(node.type) : void 0;
|
|
10
|
+
}
|
|
11
|
+
function getManifestAwareNodeDimensions(registry, node) {
|
|
12
|
+
const manifest = getManifestForNode(registry, node);
|
|
13
|
+
return getNodeDimensions(node, getExpandedSize(manifest?.display.shape));
|
|
14
|
+
}
|
|
15
|
+
function getPrimaryPreviewHandlePosition(previewNode, previewConnections) {
|
|
16
|
+
const primaryConnection = previewConnections.find((connection)=>!connection.addNewNodeAsSource) ?? previewConnections[0];
|
|
17
|
+
const handlePosition = primaryConnection?.addNewNodeAsSource ? previewNode.data?.outputHandlePosition : previewNode.data?.inputHandlePosition;
|
|
18
|
+
return handlePosition;
|
|
19
|
+
}
|
|
20
|
+
function alignNodeToPreview(node, previewNode, previewConnections, nodeManifest) {
|
|
21
|
+
const previewSize = getNodeDimensions(previewNode);
|
|
22
|
+
const nodeSize = getNodeDimensions(node, getExpandedSize(nodeManifest?.display.shape));
|
|
23
|
+
if (previewSize.width === nodeSize.width && previewSize.height === nodeSize.height) return node;
|
|
24
|
+
const previewHandlePosition = getPrimaryPreviewHandlePosition(previewNode, previewConnections);
|
|
25
|
+
const previewCenterX = previewNode.position.x + previewSize.width / 2;
|
|
26
|
+
const previewCenterY = previewNode.position.y + previewSize.height / 2;
|
|
27
|
+
if (previewHandlePosition === Position.Left) return {
|
|
28
|
+
...node,
|
|
29
|
+
position: {
|
|
30
|
+
x: previewNode.position.x,
|
|
31
|
+
y: previewCenterY - nodeSize.height / 2
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
if (previewHandlePosition === Position.Right) return {
|
|
35
|
+
...node,
|
|
36
|
+
position: {
|
|
37
|
+
x: previewNode.position.x + previewSize.width - nodeSize.width,
|
|
38
|
+
y: previewCenterY - nodeSize.height / 2
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
if (previewHandlePosition === Position.Top) return {
|
|
42
|
+
...node,
|
|
43
|
+
position: {
|
|
44
|
+
x: previewCenterX - nodeSize.width / 2,
|
|
45
|
+
y: previewNode.position.y
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
if (previewHandlePosition === Position.Bottom) return {
|
|
49
|
+
...node,
|
|
50
|
+
position: {
|
|
51
|
+
x: previewCenterX - nodeSize.width / 2,
|
|
52
|
+
y: previewNode.position.y + previewSize.height - nodeSize.height
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
return {
|
|
56
|
+
...node,
|
|
57
|
+
position: {
|
|
58
|
+
x: previewCenterX - nodeSize.width / 2,
|
|
59
|
+
y: previewCenterY - nodeSize.height / 2
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
function resolveScopedCollisions(nodes, insertedNode, options) {
|
|
64
|
+
const siblingNodes = nodes.filter((node)=>node.parentId === insertedNode.parentId);
|
|
65
|
+
const resolvedSiblings = resolveCollisions(siblingNodes, {
|
|
66
|
+
ignoredNodeTypes: options.ignoredNodeTypes,
|
|
67
|
+
getNodeSize: options.getNodeSize
|
|
68
|
+
});
|
|
69
|
+
const resolvedSiblingById = new Map(resolvedSiblings.map((node)=>[
|
|
70
|
+
node.id,
|
|
71
|
+
node
|
|
72
|
+
]));
|
|
73
|
+
const resolvedNodes = nodes.map((node)=>resolvedSiblingById.get(node.id) ?? node);
|
|
74
|
+
return {
|
|
75
|
+
nodes: resolvedNodes,
|
|
76
|
+
insertedNode: resolvedSiblingById.get(insertedNode.id)
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
function placeAddedNode({ nodes, edges, previewNode, insertedNode, registry, ignoredNodeTypes }) {
|
|
80
|
+
const getDimensions = (node)=>getManifestAwareNodeDimensions(registry, node);
|
|
81
|
+
const placement = getContainerPlacement({
|
|
82
|
+
previewNode
|
|
83
|
+
});
|
|
84
|
+
if (placement) {
|
|
85
|
+
const containerNode = nodes.find((node)=>node.id === placement.containerId);
|
|
86
|
+
const containerManifest = getManifestForNode(registry, containerNode);
|
|
87
|
+
if (!isContainerNodeManifest(containerManifest)) return resolveScopedCollisions(nodes, insertedNode, {
|
|
88
|
+
ignoredNodeTypes,
|
|
89
|
+
getNodeSize: getDimensions
|
|
90
|
+
});
|
|
91
|
+
const resolvedNodes = placeContainerNode({
|
|
92
|
+
nodes,
|
|
93
|
+
insertedNode,
|
|
94
|
+
placement,
|
|
95
|
+
edges,
|
|
96
|
+
getNodeDimensions: getDimensions,
|
|
97
|
+
safeArea: getContainerSafeArea(containerNode),
|
|
98
|
+
getContainerFitGeometry: (node)=>isContainerNodeManifest(getManifestForNode(registry, node)) ? getContainerFitGeometry() : null
|
|
99
|
+
});
|
|
100
|
+
return {
|
|
101
|
+
nodes: resolvedNodes,
|
|
102
|
+
insertedNode: resolvedNodes.find((node)=>node.id === insertedNode.id)
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
return resolveScopedCollisions(nodes, insertedNode, {
|
|
106
|
+
ignoredNodeTypes,
|
|
107
|
+
getNodeSize: getDimensions
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
export { alignNodeToPreview, getOriginalEdge, placeAddedNode };
|
|
@@ -4,8 +4,9 @@ import { useCallback, useEffect, useRef } from "react";
|
|
|
4
4
|
import { FLOATING_CANVAS_PANEL_OFFSET, PREVIEW_NODE_ID } from "../../constants.js";
|
|
5
5
|
import { useOptionalNodeTypeRegistry } from "../../core/index.js";
|
|
6
6
|
import { usePreviewNode } from "../../hooks/usePreviewNode.js";
|
|
7
|
-
import {
|
|
7
|
+
import { isPreviewEdge } from "../../utils/createPreviewNode.js";
|
|
8
8
|
import { FloatingCanvasPanel } from "../FloatingCanvasPanel/index.js";
|
|
9
|
+
import { alignNodeToPreview, getOriginalEdge, placeAddedNode } from "./AddNodeManager.helpers.js";
|
|
9
10
|
import { AddNodePanel } from "./AddNodePanel.js";
|
|
10
11
|
const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData, onBeforeNodeAdded, onNodeAdded, ignoredNodeTypes })=>{
|
|
11
12
|
const reactFlowInstance = useReactFlow();
|
|
@@ -17,15 +18,20 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
|
|
|
17
18
|
if (!previewNode && lastPreviewNodeRef.current) {
|
|
18
19
|
reactFlowInstance.setNodes((nodes)=>nodes.filter((n)=>n.id !== PREVIEW_NODE_ID));
|
|
19
20
|
reactFlowInstance.setEdges((edges)=>{
|
|
20
|
-
const filteredEdges = edges.filter((
|
|
21
|
-
|
|
21
|
+
const filteredEdges = edges.filter((edge)=>!isPreviewEdge(edge));
|
|
22
|
+
const restoredEdges = restoreEdgesRef.current ? [
|
|
22
23
|
...filteredEdges,
|
|
23
24
|
...restoreEdgesRef.current
|
|
24
25
|
] : filteredEdges;
|
|
26
|
+
restoreEdgesRef.current = null;
|
|
27
|
+
return restoredEdges;
|
|
25
28
|
});
|
|
26
|
-
} else if (previewNode && !restoreEdgesRef.current)
|
|
27
|
-
previewNode
|
|
28
|
-
|
|
29
|
+
} else if (previewNode && !restoreEdgesRef.current) {
|
|
30
|
+
const originalEdge = getOriginalEdge(previewNode);
|
|
31
|
+
restoreEdgesRef.current = originalEdge ? [
|
|
32
|
+
originalEdge
|
|
33
|
+
] : null;
|
|
34
|
+
}
|
|
29
35
|
lastPreviewNodeRef.current = previewNode || null;
|
|
30
36
|
}, [
|
|
31
37
|
previewNode,
|
|
@@ -55,17 +61,17 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
|
|
|
55
61
|
parentId: currentPreviewNode.parentId,
|
|
56
62
|
extent: currentPreviewNode.extent
|
|
57
63
|
} : {};
|
|
58
|
-
const
|
|
64
|
+
const newNodeManifest = registry?.getManifest(nodeItem.data.type);
|
|
65
|
+
const newNode = alignNodeToPreview({
|
|
59
66
|
id: newNodeId,
|
|
60
67
|
type: nodeItem.data.type,
|
|
61
68
|
position: currentPreviewNode.position,
|
|
62
69
|
selected: true,
|
|
63
70
|
data: nodeData,
|
|
64
71
|
...previewNodeScope
|
|
65
|
-
};
|
|
66
|
-
const newNodeManifest = registry?.getManifest(nodeItem.data.type);
|
|
72
|
+
}, currentPreviewNode, previewNodeConnectionInfo, newNodeManifest);
|
|
67
73
|
const newEdges = [];
|
|
68
|
-
const previewEdgeIds =
|
|
74
|
+
const previewEdgeIds = new Set();
|
|
69
75
|
for (const connectionInfoItem of previewNodeConnectionInfo){
|
|
70
76
|
const newNodeHandleType = connectionInfoItem.addNewNodeAsSource ? 'source' : 'target';
|
|
71
77
|
const newNodeDefaultHandle = newNodeManifest ? registry?.getDefaultHandle(newNodeManifest.nodeType, newNodeHandleType) : void 0;
|
|
@@ -87,12 +93,14 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
|
|
|
87
93
|
...edgeSourceTargetData,
|
|
88
94
|
type: 'default'
|
|
89
95
|
});
|
|
90
|
-
previewEdgeIds.
|
|
96
|
+
previewEdgeIds.add(connectionInfoItem.previewEdgeId);
|
|
91
97
|
}
|
|
92
98
|
const { newNode: finalNode, newEdges: finalEdges } = onBeforeNodeAdded?.(newNode, newEdges) ?? {
|
|
93
99
|
newNode,
|
|
94
100
|
newEdges
|
|
95
101
|
};
|
|
102
|
+
const placementEdges = reactFlowInstance.getEdges();
|
|
103
|
+
let placedNode = finalNode;
|
|
96
104
|
reactFlowInstance.setNodes((nodes)=>{
|
|
97
105
|
const newNodes = [
|
|
98
106
|
...nodes.filter((n)=>n.id !== PREVIEW_NODE_ID).map((n)=>({
|
|
@@ -101,28 +109,35 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
|
|
|
101
109
|
})),
|
|
102
110
|
finalNode
|
|
103
111
|
];
|
|
104
|
-
|
|
112
|
+
const placement = placeAddedNode({
|
|
113
|
+
nodes: newNodes,
|
|
114
|
+
edges: placementEdges,
|
|
115
|
+
previewNode: currentPreviewNode,
|
|
116
|
+
insertedNode: finalNode,
|
|
117
|
+
registry,
|
|
105
118
|
ignoredNodeTypes
|
|
106
119
|
});
|
|
120
|
+
placedNode = placement.insertedNode;
|
|
121
|
+
return placement.nodes;
|
|
107
122
|
});
|
|
108
123
|
reactFlowInstance.setEdges((edges)=>[
|
|
109
|
-
...edges.filter((
|
|
124
|
+
...edges.filter((edge)=>!previewEdgeIds.has(edge.id) && !isPreviewEdge(edge)),
|
|
110
125
|
...finalEdges
|
|
111
126
|
]);
|
|
127
|
+
restoreEdgesRef.current = null;
|
|
112
128
|
const [firstConnection] = previewNodeConnectionInfo;
|
|
113
129
|
if (firstConnection) {
|
|
114
|
-
const
|
|
130
|
+
const firstMaterializedEdge = finalEdges.find((edge)=>edge.source === placedNode.id || edge.target === placedNode.id);
|
|
115
131
|
const firstEdgeData = firstConnection.addNewNodeAsSource ? {
|
|
116
|
-
source:
|
|
117
|
-
sourceHandle:
|
|
132
|
+
source: placedNode.id,
|
|
133
|
+
sourceHandle: firstMaterializedEdge?.sourceHandle ?? 'output'
|
|
118
134
|
} : {
|
|
119
135
|
source: firstConnection.existingNodeId,
|
|
120
136
|
sourceHandle: firstConnection.existingHandleId
|
|
121
137
|
};
|
|
122
|
-
onNodeAdded?.(firstEdgeData.source, firstEdgeData.sourceHandle,
|
|
138
|
+
onNodeAdded?.(firstEdgeData.source, firstEdgeData.sourceHandle, placedNode);
|
|
123
139
|
}
|
|
124
|
-
|
|
125
|
-
handleClose();
|
|
140
|
+
lastPreviewNodeRef.current = null;
|
|
126
141
|
}, [
|
|
127
142
|
previewNodeConnectionInfo,
|
|
128
143
|
reactFlowInstance,
|
|
@@ -130,8 +145,7 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
|
|
|
130
145
|
createNodeData,
|
|
131
146
|
onBeforeNodeAdded,
|
|
132
147
|
onNodeAdded,
|
|
133
|
-
ignoredNodeTypes
|
|
134
|
-
handleClose
|
|
148
|
+
ignoredNodeTypes
|
|
135
149
|
]);
|
|
136
150
|
if (!previewNode || !previewNodeConnectionInfo || 0 === previewNodeConnectionInfo.length) return null;
|
|
137
151
|
return /*#__PURE__*/ jsx(FloatingCanvasPanel, {
|
|
@@ -28,14 +28,25 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
28
28
|
});
|
|
29
29
|
const react_cjs_namespaceObject = require("../../xyflow/react.cjs");
|
|
30
30
|
const createPreviewGraph_cjs_namespaceObject = require("../../utils/createPreviewGraph.cjs");
|
|
31
|
-
|
|
31
|
+
const LoopNode_helpers_cjs_namespaceObject = require("../LoopNode/LoopNode.helpers.cjs");
|
|
32
|
+
function createAddNodePreview(sourceNodeId, sourceHandleId, reactFlowInstance, handlePosition = react_cjs_namespaceObject.Position.Right, sourceHandleType = 'source', ignoredNodeTypes = [], options = {}) {
|
|
33
|
+
const source = {
|
|
34
|
+
nodeId: sourceNodeId,
|
|
35
|
+
handleId: sourceHandleId
|
|
36
|
+
};
|
|
37
|
+
const overrides = options.getManifestForNode ? (0, LoopNode_helpers_cjs_namespaceObject.resolveContainerAddNodePreview)({
|
|
38
|
+
source,
|
|
39
|
+
sourceHandleType,
|
|
40
|
+
reactFlowInstance,
|
|
41
|
+
getManifestForNode: options.getManifestForNode
|
|
42
|
+
}) : null;
|
|
32
43
|
(0, createPreviewGraph_cjs_namespaceObject.showPreviewGraph)({
|
|
33
|
-
|
|
34
|
-
sourceHandleId,
|
|
44
|
+
source,
|
|
35
45
|
reactFlowInstance,
|
|
36
46
|
sourceHandleType,
|
|
37
47
|
handlePosition,
|
|
38
|
-
ignoredNodeTypes
|
|
48
|
+
ignoredNodeTypes,
|
|
49
|
+
...overrides ?? {}
|
|
39
50
|
});
|
|
40
51
|
}
|
|
41
52
|
exports.createAddNodePreview = __webpack_exports__.createAddNodePreview;
|
|
@@ -1,3 +1,7 @@
|
|
|
1
1
|
import { Position, type ReactFlowInstance } from '../../xyflow/react.ts';
|
|
2
|
-
|
|
2
|
+
import { type ContainerPreviewManifestResolver } from '../LoopNode/LoopNode.helpers';
|
|
3
|
+
export interface AddNodePreviewOptions {
|
|
4
|
+
getManifestForNode?: ContainerPreviewManifestResolver;
|
|
5
|
+
}
|
|
6
|
+
export declare function createAddNodePreview(sourceNodeId: string, sourceHandleId: string, reactFlowInstance: ReactFlowInstance, handlePosition?: Position, sourceHandleType?: 'source' | 'target', ignoredNodeTypes?: string[], options?: AddNodePreviewOptions): void;
|
|
3
7
|
//# sourceMappingURL=createAddNodePreview.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createAddNodePreview.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/AddNodePanel/createAddNodePreview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"createAddNodePreview.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/AddNodePanel/createAddNodePreview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAE5F,OAAO,EACL,KAAK,gCAAgC,EAEtC,MAAM,8BAA8B,CAAC;AAEtC,MAAM,WAAW,qBAAqB;IACpC,kBAAkB,CAAC,EAAE,gCAAgC,CAAC;CACvD;AAcD,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,EACtB,iBAAiB,EAAE,iBAAiB,EACpC,cAAc,GAAE,QAAyB,EACzC,gBAAgB,GAAE,QAAQ,GAAG,QAAmB,EAChD,gBAAgB,GAAE,MAAM,EAAO,EAC/B,OAAO,GAAE,qBAA0B,GAClC,IAAI,CAsBN"}
|
|
@@ -1,13 +1,24 @@
|
|
|
1
1
|
import { Position } from "../../xyflow/react.js";
|
|
2
2
|
import { showPreviewGraph } from "../../utils/createPreviewGraph.js";
|
|
3
|
-
|
|
3
|
+
import { resolveContainerAddNodePreview } from "../LoopNode/LoopNode.helpers.js";
|
|
4
|
+
function createAddNodePreview(sourceNodeId, sourceHandleId, reactFlowInstance, handlePosition = Position.Right, sourceHandleType = 'source', ignoredNodeTypes = [], options = {}) {
|
|
5
|
+
const source = {
|
|
6
|
+
nodeId: sourceNodeId,
|
|
7
|
+
handleId: sourceHandleId
|
|
8
|
+
};
|
|
9
|
+
const overrides = options.getManifestForNode ? resolveContainerAddNodePreview({
|
|
10
|
+
source,
|
|
11
|
+
sourceHandleType,
|
|
12
|
+
reactFlowInstance,
|
|
13
|
+
getManifestForNode: options.getManifestForNode
|
|
14
|
+
}) : null;
|
|
4
15
|
showPreviewGraph({
|
|
5
|
-
|
|
6
|
-
sourceHandleId,
|
|
16
|
+
source,
|
|
7
17
|
reactFlowInstance,
|
|
8
18
|
sourceHandleType,
|
|
9
19
|
handlePosition,
|
|
10
|
-
ignoredNodeTypes
|
|
20
|
+
ignoredNodeTypes,
|
|
21
|
+
...overrides ?? {}
|
|
11
22
|
});
|
|
12
23
|
}
|
|
13
24
|
export { createAddNodePreview };
|
|
@@ -3,5 +3,5 @@ export { AddNodeManager } from './AddNodeManager';
|
|
|
3
3
|
export { AddNodePanel } from './AddNodePanel';
|
|
4
4
|
export type { AddNodePanelProps, NodeItemData } from './AddNodePanel.types';
|
|
5
5
|
export { AddNodePreview, type AddNodePreviewData } from './AddNodePreview';
|
|
6
|
-
export { createAddNodePreview } from './createAddNodePreview';
|
|
6
|
+
export { type AddNodePreviewOptions, createAddNodePreview } from './createAddNodePreview';
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/AddNodePanel/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/AddNodePanel/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,KAAK,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC"}
|