@uipath/apollo-react 4.14.1-pr556.aa710a0 → 4.15.0-pr605.6ea14a7
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 +101 -10
- package/dist/canvas/components/AddNodePanel/AddNodeManager.d.ts.map +1 -1
- package/dist/canvas/components/AddNodePanel/AddNodeManager.js +101 -10
- package/dist/canvas/components/AddNodePanel/createAddNodePreview.cjs +18 -0
- package/dist/canvas/components/AddNodePanel/createAddNodePreview.d.ts.map +1 -1
- package/dist/canvas/components/AddNodePanel/createAddNodePreview.js +18 -0
- package/dist/canvas/components/Edges/SequenceEdge.cjs +10 -8
- package/dist/canvas/components/Edges/SequenceEdge.d.ts.map +1 -1
- package/dist/canvas/components/Edges/SequenceEdge.js +10 -8
- package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvasWithControls.cjs +4 -1
- package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvasWithControls.d.ts.map +1 -1
- package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvasWithControls.js +4 -1
- package/dist/canvas/components/LoopNode/LoopNode.constants.cjs +17 -5
- package/dist/canvas/components/LoopNode/LoopNode.constants.d.ts +3 -0
- package/dist/canvas/components/LoopNode/LoopNode.constants.d.ts.map +1 -1
- package/dist/canvas/components/LoopNode/LoopNode.constants.js +4 -1
- package/dist/canvas/components/LoopNode/LoopNode.helpers.cjs +65 -24
- package/dist/canvas/components/LoopNode/LoopNode.helpers.d.ts +29 -0
- package/dist/canvas/components/LoopNode/LoopNode.helpers.d.ts.map +1 -1
- package/dist/canvas/components/LoopNode/LoopNode.helpers.js +48 -22
- package/dist/canvas/components/LoopNode/LoopNode.sequence.cjs +386 -0
- package/dist/canvas/components/LoopNode/LoopNode.sequence.d.ts +47 -0
- package/dist/canvas/components/LoopNode/LoopNode.sequence.d.ts.map +1 -0
- package/dist/canvas/components/LoopNode/LoopNode.sequence.js +343 -0
- package/dist/canvas/components/LoopNode/LoopNodePreview.cjs +9 -13
- package/dist/canvas/components/LoopNode/LoopNodePreview.d.ts +1 -1
- package/dist/canvas/components/LoopNode/LoopNodePreview.d.ts.map +1 -1
- package/dist/canvas/components/LoopNode/LoopNodePreview.js +9 -13
- package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.cjs +9 -1
- package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.d.ts.map +1 -1
- package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.js +9 -1
- package/dist/canvas/utils/NodeUtils.cjs +25 -9
- 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/container-sizing.cjs +168 -0
- package/dist/canvas/utils/container-sizing.d.ts +23 -0
- package/dist/canvas/utils/container-sizing.d.ts.map +1 -0
- package/dist/canvas/utils/container-sizing.js +131 -0
- package/dist/canvas/utils/createPreviewGraph.d.ts +1 -0
- package/dist/canvas/utils/createPreviewGraph.d.ts.map +1 -1
- package/dist/canvas/utils/createPreviewNode.cjs +29 -1
- package/dist/canvas/utils/createPreviewNode.d.ts.map +1 -1
- package/dist/canvas/utils/createPreviewNode.js +29 -1
- 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 +1 -1
|
@@ -33,8 +33,87 @@ 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
35
|
const external_utils_index_cjs_namespaceObject = require("../../utils/index.cjs");
|
|
36
|
+
const collapse_cjs_namespaceObject = require("../../utils/collapse.cjs");
|
|
37
|
+
const container_sizing_cjs_namespaceObject = require("../../utils/container-sizing.cjs");
|
|
38
|
+
const manifest_resolver_cjs_namespaceObject = require("../../utils/manifest-resolver.cjs");
|
|
36
39
|
const external_FloatingCanvasPanel_index_cjs_namespaceObject = require("../FloatingCanvasPanel/index.cjs");
|
|
40
|
+
const LoopNode_helpers_cjs_namespaceObject = require("../LoopNode/LoopNode.helpers.cjs");
|
|
41
|
+
const LoopNode_sequence_cjs_namespaceObject = require("../LoopNode/LoopNode.sequence.cjs");
|
|
37
42
|
const external_AddNodePanel_cjs_namespaceObject = require("./AddNodePanel.cjs");
|
|
43
|
+
function getManifestForNode(registry, node) {
|
|
44
|
+
return node.type ? registry?.getManifest(node.type, (0, manifest_resolver_cjs_namespaceObject.getNodeTypeVersion)(node.data)) : void 0;
|
|
45
|
+
}
|
|
46
|
+
function getManifestAwareNodeDimensions(registry, node) {
|
|
47
|
+
const manifest = getManifestForNode(registry, node);
|
|
48
|
+
const expandedShape = (0, collapse_cjs_namespaceObject.getExpandedShape)(manifest?.display.shape);
|
|
49
|
+
const fallbackDimensions = (0, collapse_cjs_namespaceObject.getExpandedSize)(expandedShape, manifest);
|
|
50
|
+
return (0, container_sizing_cjs_namespaceObject.getNodeDimensions)(node, fallbackDimensions);
|
|
51
|
+
}
|
|
52
|
+
function getContainerFitGeometry(registry, node) {
|
|
53
|
+
const manifest = getManifestForNode(registry, node);
|
|
54
|
+
return (0, LoopNode_helpers_cjs_namespaceObject.isLoopContainerManifest)(manifest) ? (0, LoopNode_helpers_cjs_namespaceObject.getLoopContainerFitGeometry)() : null;
|
|
55
|
+
}
|
|
56
|
+
function centerNodeOnPreview(previewNode, nodeDimensions) {
|
|
57
|
+
const previewDimensions = (0, container_sizing_cjs_namespaceObject.getNodeDimensions)(previewNode);
|
|
58
|
+
return {
|
|
59
|
+
x: previewNode.position.x + (previewDimensions.width - nodeDimensions.width) / 2,
|
|
60
|
+
y: previewNode.position.y + (previewDimensions.height - nodeDimensions.height) / 2
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
function centerNodeVerticallyOnPreview(previewNode, nodeDimensions) {
|
|
64
|
+
const previewDimensions = (0, container_sizing_cjs_namespaceObject.getNodeDimensions)(previewNode);
|
|
65
|
+
return {
|
|
66
|
+
x: previewNode.position.x,
|
|
67
|
+
y: previewNode.position.y + (previewDimensions.height - nodeDimensions.height) / 2
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
function resolveSiblingCollisions(nodes, insertedNode, options) {
|
|
71
|
+
const siblingNodes = nodes.filter((node)=>node.parentId === insertedNode.parentId);
|
|
72
|
+
const resolvedSiblings = (0, external_utils_index_cjs_namespaceObject.resolveCollisions)(siblingNodes, options);
|
|
73
|
+
const resolvedSiblingsById = new Map(resolvedSiblings.map((node)=>[
|
|
74
|
+
node.id,
|
|
75
|
+
node
|
|
76
|
+
]));
|
|
77
|
+
return nodes.map((node)=>resolvedSiblingsById.get(node.id) ?? node);
|
|
78
|
+
}
|
|
79
|
+
function resolveNodePlacement(nodes, insertedNode, registry, ignoredNodeTypes, edges, loopSequencePlacement) {
|
|
80
|
+
const getNodeSize = (node)=>getManifestAwareNodeDimensions(registry, node);
|
|
81
|
+
if (!insertedNode.parentId) {
|
|
82
|
+
const resolvedNodes = (0, external_utils_index_cjs_namespaceObject.resolveCollisions)(nodes, {
|
|
83
|
+
ignoredNodeTypes,
|
|
84
|
+
getNodeSize
|
|
85
|
+
});
|
|
86
|
+
return {
|
|
87
|
+
nodes: resolvedNodes,
|
|
88
|
+
insertedNode: resolvedNodes.find((node)=>node.id === insertedNode.id) ?? insertedNode
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
const loopSequenceNodes = loopSequencePlacement ? (0, LoopNode_sequence_cjs_namespaceObject.resolveLoopSequenceMaterializedNodes)({
|
|
92
|
+
nodes,
|
|
93
|
+
edges,
|
|
94
|
+
insertedNode,
|
|
95
|
+
placement: loopSequencePlacement,
|
|
96
|
+
getNodeSize
|
|
97
|
+
}) : null;
|
|
98
|
+
let resolvedNodes = loopSequenceNodes;
|
|
99
|
+
if (!resolvedNodes) resolvedNodes = resolveSiblingCollisions(nodes, insertedNode, {
|
|
100
|
+
ignoredNodeTypes,
|
|
101
|
+
getNodeSize
|
|
102
|
+
});
|
|
103
|
+
const fittedNodes = (0, container_sizing_cjs_namespaceObject.ensureContainersFitChildren)(resolvedNodes, {
|
|
104
|
+
containerIds: [
|
|
105
|
+
insertedNode.parentId
|
|
106
|
+
],
|
|
107
|
+
getContainerFitGeometry: (node)=>getContainerFitGeometry(registry, node),
|
|
108
|
+
getNodeDimensions: getNodeSize,
|
|
109
|
+
ignoredNodeTypes,
|
|
110
|
+
includeAncestors: true
|
|
111
|
+
});
|
|
112
|
+
return {
|
|
113
|
+
nodes: fittedNodes,
|
|
114
|
+
insertedNode: fittedNodes.find((node)=>node.id === insertedNode.id) ?? insertedNode
|
|
115
|
+
};
|
|
116
|
+
}
|
|
38
117
|
const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData, onBeforeNodeAdded, onNodeAdded, ignoredNodeTypes })=>{
|
|
39
118
|
const reactFlowInstance = (0, react_cjs_namespaceObject.useReactFlow)();
|
|
40
119
|
const registry = (0, index_cjs_namespaceObject.useOptionalNodeTypeRegistry)();
|
|
@@ -70,28 +149,39 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
|
|
|
70
149
|
const handleNodeSelect = (0, external_react_namespaceObject.useCallback)((nodeItem)=>{
|
|
71
150
|
const currentPreviewNode = reactFlowInstance.getNode(external_constants_cjs_namespaceObject.PREVIEW_NODE_ID);
|
|
72
151
|
if (!currentPreviewNode || !previewNodeConnectionInfo || 0 === previewNodeConnectionInfo.length) return;
|
|
152
|
+
const loopSequencePlacement = (0, LoopNode_sequence_cjs_namespaceObject.getLoopSequencePlacementFromPreviewGraph)(currentPreviewNode, previewNodeConnectionInfo);
|
|
73
153
|
const newNodeId = `${nodeItem.data.type}-${Date.now()}`;
|
|
74
154
|
const baseNodeData = createNodeData ? createNodeData(nodeItem) : {
|
|
75
155
|
label: nodeItem.name,
|
|
76
156
|
subLabel: nodeItem.description
|
|
77
157
|
};
|
|
78
|
-
const nodeData =
|
|
158
|
+
const nodeData = {
|
|
79
159
|
...baseNodeData,
|
|
80
|
-
|
|
81
|
-
|
|
160
|
+
...nodeItem.data.version ? {
|
|
161
|
+
typeVersion: nodeItem.data.version
|
|
162
|
+
} : {},
|
|
163
|
+
...currentPreviewNode.data?.useSmartHandles ? {
|
|
164
|
+
useSmartHandles: true
|
|
165
|
+
} : {}
|
|
166
|
+
};
|
|
82
167
|
const newNode = {
|
|
83
168
|
id: newNodeId,
|
|
84
169
|
type: nodeItem.data.type,
|
|
85
170
|
position: currentPreviewNode.position,
|
|
171
|
+
parentId: currentPreviewNode.parentId,
|
|
172
|
+
extent: currentPreviewNode.extent,
|
|
86
173
|
selected: true,
|
|
87
174
|
data: nodeData
|
|
88
175
|
};
|
|
89
|
-
const newNodeManifest = registry?.getManifest(nodeItem.data.type);
|
|
176
|
+
const newNodeManifest = registry?.getManifest(nodeItem.data.type, nodeItem.data.version);
|
|
177
|
+
const newNodeDimensions = getManifestAwareNodeDimensions(registry, newNode);
|
|
178
|
+
if (currentPreviewNode.parentId) newNode.position = centerNodeOnPreview(currentPreviewNode, newNodeDimensions);
|
|
179
|
+
else if ((0, LoopNode_helpers_cjs_namespaceObject.isLoopContainerManifest)(newNodeManifest)) newNode.position = centerNodeVerticallyOnPreview(currentPreviewNode, newNodeDimensions);
|
|
90
180
|
const newEdges = [];
|
|
91
181
|
const previewEdgeIds = [];
|
|
92
182
|
for (const connectionInfoItem of previewNodeConnectionInfo){
|
|
93
183
|
const newNodeHandleType = connectionInfoItem.addNewNodeAsSource ? 'source' : 'target';
|
|
94
|
-
const newNodeDefaultHandle = newNodeManifest ? registry?.getDefaultHandle(newNodeManifest.nodeType, newNodeHandleType) : void 0;
|
|
184
|
+
const newNodeDefaultHandle = newNodeManifest ? registry?.getDefaultHandle(newNodeManifest.nodeType, newNodeHandleType, nodeItem.data.version) : void 0;
|
|
95
185
|
const newNodeHandleId = newNodeDefaultHandle?.id;
|
|
96
186
|
const edgeSourceTargetData = connectionInfoItem.addNewNodeAsSource ? {
|
|
97
187
|
source: newNode.id,
|
|
@@ -116,6 +206,7 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
|
|
|
116
206
|
newNode,
|
|
117
207
|
newEdges
|
|
118
208
|
};
|
|
209
|
+
let resolvedFinalNode = finalNode;
|
|
119
210
|
reactFlowInstance.setNodes((nodes)=>{
|
|
120
211
|
const newNodes = [
|
|
121
212
|
...nodes.filter((n)=>n.id !== external_constants_cjs_namespaceObject.PREVIEW_NODE_ID).map((n)=>({
|
|
@@ -124,9 +215,9 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
|
|
|
124
215
|
})),
|
|
125
216
|
finalNode
|
|
126
217
|
];
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
218
|
+
const placement = resolveNodePlacement(newNodes, finalNode, registry, ignoredNodeTypes, reactFlowInstance.getEdges(), loopSequencePlacement);
|
|
219
|
+
resolvedFinalNode = placement.insertedNode;
|
|
220
|
+
return placement.nodes;
|
|
130
221
|
});
|
|
131
222
|
reactFlowInstance.setEdges((edges)=>[
|
|
132
223
|
...edges.filter((e)=>!previewEdgeIds.includes(e.id)),
|
|
@@ -134,7 +225,7 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
|
|
|
134
225
|
]);
|
|
135
226
|
const [firstConnection] = previewNodeConnectionInfo;
|
|
136
227
|
if (firstConnection) {
|
|
137
|
-
const firstEdgeSourceHandle = firstConnection.addNewNodeAsSource ? newNodeManifest && registry?.getDefaultHandle(newNodeManifest.nodeType, 'source')?.id : firstConnection.existingHandleId;
|
|
228
|
+
const firstEdgeSourceHandle = firstConnection.addNewNodeAsSource ? newNodeManifest && registry?.getDefaultHandle(newNodeManifest.nodeType, 'source', nodeItem.data.version)?.id : firstConnection.existingHandleId;
|
|
138
229
|
const firstEdgeData = firstConnection.addNewNodeAsSource ? {
|
|
139
230
|
source: finalNode.id,
|
|
140
231
|
sourceHandle: firstEdgeSourceHandle ?? 'output'
|
|
@@ -142,7 +233,7 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
|
|
|
142
233
|
source: firstConnection.existingNodeId,
|
|
143
234
|
sourceHandle: firstConnection.existingHandleId
|
|
144
235
|
};
|
|
145
|
-
onNodeAdded?.(firstEdgeData.source, firstEdgeData.sourceHandle,
|
|
236
|
+
onNodeAdded?.(firstEdgeData.source, firstEdgeData.sourceHandle, resolvedFinalNode);
|
|
146
237
|
}
|
|
147
238
|
restoreEdgesRef.current = null;
|
|
148
239
|
handleClose();
|
|
@@ -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;
|
|
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;AAS/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAQhD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,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;AAuHD,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAiOxD,CAAC"}
|
|
@@ -5,8 +5,87 @@ import { FLOATING_CANVAS_PANEL_OFFSET, PREVIEW_NODE_ID } from "../../constants.j
|
|
|
5
5
|
import { useOptionalNodeTypeRegistry } from "../../core/index.js";
|
|
6
6
|
import { usePreviewNode } from "../../hooks/usePreviewNode.js";
|
|
7
7
|
import { resolveCollisions } from "../../utils/index.js";
|
|
8
|
+
import { getExpandedShape, getExpandedSize } from "../../utils/collapse.js";
|
|
9
|
+
import { ensureContainersFitChildren, getNodeDimensions } from "../../utils/container-sizing.js";
|
|
10
|
+
import { getNodeTypeVersion } from "../../utils/manifest-resolver.js";
|
|
8
11
|
import { FloatingCanvasPanel } from "../FloatingCanvasPanel/index.js";
|
|
12
|
+
import { getLoopContainerFitGeometry, isLoopContainerManifest } from "../LoopNode/LoopNode.helpers.js";
|
|
13
|
+
import { getLoopSequencePlacementFromPreviewGraph, resolveLoopSequenceMaterializedNodes } from "../LoopNode/LoopNode.sequence.js";
|
|
9
14
|
import { AddNodePanel } from "./AddNodePanel.js";
|
|
15
|
+
function getManifestForNode(registry, node) {
|
|
16
|
+
return node.type ? registry?.getManifest(node.type, getNodeTypeVersion(node.data)) : void 0;
|
|
17
|
+
}
|
|
18
|
+
function getManifestAwareNodeDimensions(registry, node) {
|
|
19
|
+
const manifest = getManifestForNode(registry, node);
|
|
20
|
+
const expandedShape = getExpandedShape(manifest?.display.shape);
|
|
21
|
+
const fallbackDimensions = getExpandedSize(expandedShape, manifest);
|
|
22
|
+
return getNodeDimensions(node, fallbackDimensions);
|
|
23
|
+
}
|
|
24
|
+
function getContainerFitGeometry(registry, node) {
|
|
25
|
+
const manifest = getManifestForNode(registry, node);
|
|
26
|
+
return isLoopContainerManifest(manifest) ? getLoopContainerFitGeometry() : null;
|
|
27
|
+
}
|
|
28
|
+
function centerNodeOnPreview(previewNode, nodeDimensions) {
|
|
29
|
+
const previewDimensions = getNodeDimensions(previewNode);
|
|
30
|
+
return {
|
|
31
|
+
x: previewNode.position.x + (previewDimensions.width - nodeDimensions.width) / 2,
|
|
32
|
+
y: previewNode.position.y + (previewDimensions.height - nodeDimensions.height) / 2
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
function centerNodeVerticallyOnPreview(previewNode, nodeDimensions) {
|
|
36
|
+
const previewDimensions = getNodeDimensions(previewNode);
|
|
37
|
+
return {
|
|
38
|
+
x: previewNode.position.x,
|
|
39
|
+
y: previewNode.position.y + (previewDimensions.height - nodeDimensions.height) / 2
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
function resolveSiblingCollisions(nodes, insertedNode, options) {
|
|
43
|
+
const siblingNodes = nodes.filter((node)=>node.parentId === insertedNode.parentId);
|
|
44
|
+
const resolvedSiblings = resolveCollisions(siblingNodes, options);
|
|
45
|
+
const resolvedSiblingsById = new Map(resolvedSiblings.map((node)=>[
|
|
46
|
+
node.id,
|
|
47
|
+
node
|
|
48
|
+
]));
|
|
49
|
+
return nodes.map((node)=>resolvedSiblingsById.get(node.id) ?? node);
|
|
50
|
+
}
|
|
51
|
+
function resolveNodePlacement(nodes, insertedNode, registry, ignoredNodeTypes, edges, loopSequencePlacement) {
|
|
52
|
+
const getNodeSize = (node)=>getManifestAwareNodeDimensions(registry, node);
|
|
53
|
+
if (!insertedNode.parentId) {
|
|
54
|
+
const resolvedNodes = resolveCollisions(nodes, {
|
|
55
|
+
ignoredNodeTypes,
|
|
56
|
+
getNodeSize
|
|
57
|
+
});
|
|
58
|
+
return {
|
|
59
|
+
nodes: resolvedNodes,
|
|
60
|
+
insertedNode: resolvedNodes.find((node)=>node.id === insertedNode.id) ?? insertedNode
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
const loopSequenceNodes = loopSequencePlacement ? resolveLoopSequenceMaterializedNodes({
|
|
64
|
+
nodes,
|
|
65
|
+
edges,
|
|
66
|
+
insertedNode,
|
|
67
|
+
placement: loopSequencePlacement,
|
|
68
|
+
getNodeSize
|
|
69
|
+
}) : null;
|
|
70
|
+
let resolvedNodes = loopSequenceNodes;
|
|
71
|
+
if (!resolvedNodes) resolvedNodes = resolveSiblingCollisions(nodes, insertedNode, {
|
|
72
|
+
ignoredNodeTypes,
|
|
73
|
+
getNodeSize
|
|
74
|
+
});
|
|
75
|
+
const fittedNodes = ensureContainersFitChildren(resolvedNodes, {
|
|
76
|
+
containerIds: [
|
|
77
|
+
insertedNode.parentId
|
|
78
|
+
],
|
|
79
|
+
getContainerFitGeometry: (node)=>getContainerFitGeometry(registry, node),
|
|
80
|
+
getNodeDimensions: getNodeSize,
|
|
81
|
+
ignoredNodeTypes,
|
|
82
|
+
includeAncestors: true
|
|
83
|
+
});
|
|
84
|
+
return {
|
|
85
|
+
nodes: fittedNodes,
|
|
86
|
+
insertedNode: fittedNodes.find((node)=>node.id === insertedNode.id) ?? insertedNode
|
|
87
|
+
};
|
|
88
|
+
}
|
|
10
89
|
const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData, onBeforeNodeAdded, onNodeAdded, ignoredNodeTypes })=>{
|
|
11
90
|
const reactFlowInstance = useReactFlow();
|
|
12
91
|
const registry = useOptionalNodeTypeRegistry();
|
|
@@ -42,28 +121,39 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
|
|
|
42
121
|
const handleNodeSelect = useCallback((nodeItem)=>{
|
|
43
122
|
const currentPreviewNode = reactFlowInstance.getNode(PREVIEW_NODE_ID);
|
|
44
123
|
if (!currentPreviewNode || !previewNodeConnectionInfo || 0 === previewNodeConnectionInfo.length) return;
|
|
124
|
+
const loopSequencePlacement = getLoopSequencePlacementFromPreviewGraph(currentPreviewNode, previewNodeConnectionInfo);
|
|
45
125
|
const newNodeId = `${nodeItem.data.type}-${Date.now()}`;
|
|
46
126
|
const baseNodeData = createNodeData ? createNodeData(nodeItem) : {
|
|
47
127
|
label: nodeItem.name,
|
|
48
128
|
subLabel: nodeItem.description
|
|
49
129
|
};
|
|
50
|
-
const nodeData =
|
|
130
|
+
const nodeData = {
|
|
51
131
|
...baseNodeData,
|
|
52
|
-
|
|
53
|
-
|
|
132
|
+
...nodeItem.data.version ? {
|
|
133
|
+
typeVersion: nodeItem.data.version
|
|
134
|
+
} : {},
|
|
135
|
+
...currentPreviewNode.data?.useSmartHandles ? {
|
|
136
|
+
useSmartHandles: true
|
|
137
|
+
} : {}
|
|
138
|
+
};
|
|
54
139
|
const newNode = {
|
|
55
140
|
id: newNodeId,
|
|
56
141
|
type: nodeItem.data.type,
|
|
57
142
|
position: currentPreviewNode.position,
|
|
143
|
+
parentId: currentPreviewNode.parentId,
|
|
144
|
+
extent: currentPreviewNode.extent,
|
|
58
145
|
selected: true,
|
|
59
146
|
data: nodeData
|
|
60
147
|
};
|
|
61
|
-
const newNodeManifest = registry?.getManifest(nodeItem.data.type);
|
|
148
|
+
const newNodeManifest = registry?.getManifest(nodeItem.data.type, nodeItem.data.version);
|
|
149
|
+
const newNodeDimensions = getManifestAwareNodeDimensions(registry, newNode);
|
|
150
|
+
if (currentPreviewNode.parentId) newNode.position = centerNodeOnPreview(currentPreviewNode, newNodeDimensions);
|
|
151
|
+
else if (isLoopContainerManifest(newNodeManifest)) newNode.position = centerNodeVerticallyOnPreview(currentPreviewNode, newNodeDimensions);
|
|
62
152
|
const newEdges = [];
|
|
63
153
|
const previewEdgeIds = [];
|
|
64
154
|
for (const connectionInfoItem of previewNodeConnectionInfo){
|
|
65
155
|
const newNodeHandleType = connectionInfoItem.addNewNodeAsSource ? 'source' : 'target';
|
|
66
|
-
const newNodeDefaultHandle = newNodeManifest ? registry?.getDefaultHandle(newNodeManifest.nodeType, newNodeHandleType) : void 0;
|
|
156
|
+
const newNodeDefaultHandle = newNodeManifest ? registry?.getDefaultHandle(newNodeManifest.nodeType, newNodeHandleType, nodeItem.data.version) : void 0;
|
|
67
157
|
const newNodeHandleId = newNodeDefaultHandle?.id;
|
|
68
158
|
const edgeSourceTargetData = connectionInfoItem.addNewNodeAsSource ? {
|
|
69
159
|
source: newNode.id,
|
|
@@ -88,6 +178,7 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
|
|
|
88
178
|
newNode,
|
|
89
179
|
newEdges
|
|
90
180
|
};
|
|
181
|
+
let resolvedFinalNode = finalNode;
|
|
91
182
|
reactFlowInstance.setNodes((nodes)=>{
|
|
92
183
|
const newNodes = [
|
|
93
184
|
...nodes.filter((n)=>n.id !== PREVIEW_NODE_ID).map((n)=>({
|
|
@@ -96,9 +187,9 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
|
|
|
96
187
|
})),
|
|
97
188
|
finalNode
|
|
98
189
|
];
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
190
|
+
const placement = resolveNodePlacement(newNodes, finalNode, registry, ignoredNodeTypes, reactFlowInstance.getEdges(), loopSequencePlacement);
|
|
191
|
+
resolvedFinalNode = placement.insertedNode;
|
|
192
|
+
return placement.nodes;
|
|
102
193
|
});
|
|
103
194
|
reactFlowInstance.setEdges((edges)=>[
|
|
104
195
|
...edges.filter((e)=>!previewEdgeIds.includes(e.id)),
|
|
@@ -106,7 +197,7 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
|
|
|
106
197
|
]);
|
|
107
198
|
const [firstConnection] = previewNodeConnectionInfo;
|
|
108
199
|
if (firstConnection) {
|
|
109
|
-
const firstEdgeSourceHandle = firstConnection.addNewNodeAsSource ? newNodeManifest && registry?.getDefaultHandle(newNodeManifest.nodeType, 'source')?.id : firstConnection.existingHandleId;
|
|
200
|
+
const firstEdgeSourceHandle = firstConnection.addNewNodeAsSource ? newNodeManifest && registry?.getDefaultHandle(newNodeManifest.nodeType, 'source', nodeItem.data.version)?.id : firstConnection.existingHandleId;
|
|
110
201
|
const firstEdgeData = firstConnection.addNewNodeAsSource ? {
|
|
111
202
|
source: finalNode.id,
|
|
112
203
|
sourceHandle: firstEdgeSourceHandle ?? 'output'
|
|
@@ -114,7 +205,7 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
|
|
|
114
205
|
source: firstConnection.existingNodeId,
|
|
115
206
|
sourceHandle: firstConnection.existingHandleId
|
|
116
207
|
};
|
|
117
|
-
onNodeAdded?.(firstEdgeData.source, firstEdgeData.sourceHandle,
|
|
208
|
+
onNodeAdded?.(firstEdgeData.source, firstEdgeData.sourceHandle, resolvedFinalNode);
|
|
118
209
|
}
|
|
119
210
|
restoreEdgesRef.current = null;
|
|
120
211
|
handleClose();
|
|
@@ -28,7 +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
|
+
const LoopNode_sequence_cjs_namespaceObject = require("../LoopNode/LoopNode.sequence.cjs");
|
|
31
32
|
function createAddNodePreview(sourceNodeId, sourceHandleId, reactFlowInstance, handlePosition = react_cjs_namespaceObject.Position.Right, sourceHandleType = 'source', ignoredNodeTypes = []) {
|
|
33
|
+
if ('source' === sourceHandleType) {
|
|
34
|
+
const loopPreview = (0, LoopNode_sequence_cjs_namespaceObject.resolveLoopAddNodePreview)({
|
|
35
|
+
sourceNodeId,
|
|
36
|
+
sourceHandleId,
|
|
37
|
+
reactFlowInstance
|
|
38
|
+
});
|
|
39
|
+
if ('skip' === loopPreview.action) return;
|
|
40
|
+
if ('create-preview' === loopPreview.action) return void (0, createPreviewGraph_cjs_namespaceObject.showPreviewGraph)({
|
|
41
|
+
sourceNodeId,
|
|
42
|
+
sourceHandleId,
|
|
43
|
+
reactFlowInstance,
|
|
44
|
+
sourceHandleType,
|
|
45
|
+
handlePosition,
|
|
46
|
+
ignoredNodeTypes,
|
|
47
|
+
...loopPreview.previewGraphOptions
|
|
48
|
+
});
|
|
49
|
+
}
|
|
32
50
|
(0, createPreviewGraph_cjs_namespaceObject.showPreviewGraph)({
|
|
33
51
|
sourceNodeId,
|
|
34
52
|
sourceHandleId,
|
|
@@ -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;AAc5F,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,GAC9B,IAAI,CAkCN"}
|
|
@@ -1,6 +1,24 @@
|
|
|
1
1
|
import { Position } from "../../xyflow/react.js";
|
|
2
2
|
import { showPreviewGraph } from "../../utils/createPreviewGraph.js";
|
|
3
|
+
import { resolveLoopAddNodePreview } from "../LoopNode/LoopNode.sequence.js";
|
|
3
4
|
function createAddNodePreview(sourceNodeId, sourceHandleId, reactFlowInstance, handlePosition = Position.Right, sourceHandleType = 'source', ignoredNodeTypes = []) {
|
|
5
|
+
if ('source' === sourceHandleType) {
|
|
6
|
+
const loopPreview = resolveLoopAddNodePreview({
|
|
7
|
+
sourceNodeId,
|
|
8
|
+
sourceHandleId,
|
|
9
|
+
reactFlowInstance
|
|
10
|
+
});
|
|
11
|
+
if ('skip' === loopPreview.action) return;
|
|
12
|
+
if ('create-preview' === loopPreview.action) return void showPreviewGraph({
|
|
13
|
+
sourceNodeId,
|
|
14
|
+
sourceHandleId,
|
|
15
|
+
reactFlowInstance,
|
|
16
|
+
sourceHandleType,
|
|
17
|
+
handlePosition,
|
|
18
|
+
ignoredNodeTypes,
|
|
19
|
+
...loopPreview.previewGraphOptions
|
|
20
|
+
});
|
|
21
|
+
}
|
|
4
22
|
showPreviewGraph({
|
|
5
23
|
sourceNodeId,
|
|
6
24
|
sourceHandleId,
|
|
@@ -92,6 +92,8 @@ const SequenceEdge_SequenceEdge = /*#__PURE__*/ (0, external_react_namespaceObje
|
|
|
92
92
|
const status = executionStatus ? executionStatus?.status ?? executionStatus : validationStatus;
|
|
93
93
|
const isDiffAdded = data?.isDiffAdded === true;
|
|
94
94
|
const isDiffRemoved = data?.isDiffRemoved === true;
|
|
95
|
+
const hideArrowHead = data?.hideArrowHead === true;
|
|
96
|
+
const hideToolbar = data?.hideToolbar === true;
|
|
95
97
|
const angle = ANGLE_MAP[targetPosition];
|
|
96
98
|
const { x: offsetX, y: offsetY } = ARROW_OFFSETS[targetPosition];
|
|
97
99
|
const { edgePath, labelX, labelY } = (0, index_cjs_namespaceObject.useEdgePath)({
|
|
@@ -102,8 +104,8 @@ const SequenceEdge_SequenceEdge = /*#__PURE__*/ (0, external_react_namespaceObje
|
|
|
102
104
|
sourceX,
|
|
103
105
|
sourceY,
|
|
104
106
|
sourcePosition,
|
|
105
|
-
targetX,
|
|
106
|
-
targetY,
|
|
107
|
+
targetX: hideArrowHead ? targetX + offsetX : targetX,
|
|
108
|
+
targetY: hideArrowHead ? targetY + offsetY : targetY,
|
|
107
109
|
targetPosition
|
|
108
110
|
});
|
|
109
111
|
const { showToolbar, toolbarPositioning, config: toolbarConfig, handleMouseMoveOnPath } = (0, external_Toolbar_index_cjs_namespaceObject.useEdgeToolbarState)({
|
|
@@ -170,12 +172,12 @@ const SequenceEdge_SequenceEdge = /*#__PURE__*/ (0, external_react_namespaceObje
|
|
|
170
172
|
},
|
|
171
173
|
ref: pathElementRef
|
|
172
174
|
}),
|
|
173
|
-
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("polygon", {
|
|
175
|
+
!hideArrowHead && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("polygon", {
|
|
174
176
|
points: `
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
177
|
+
${targetX},${targetY}
|
|
178
|
+
${targetX - ARROW_SIZE * Math.cos(angle - Math.PI / 6)},${targetY - ARROW_SIZE * Math.sin(angle - Math.PI / 6)}
|
|
179
|
+
${targetX - ARROW_SIZE * Math.cos(angle + Math.PI / 6)},${targetY - ARROW_SIZE * Math.sin(angle + Math.PI / 6)}
|
|
180
|
+
`,
|
|
179
181
|
fill: edgeColor,
|
|
180
182
|
style: {
|
|
181
183
|
pointerEvents: 'none',
|
|
@@ -215,7 +217,7 @@ const SequenceEdge_SequenceEdge = /*#__PURE__*/ (0, external_react_namespaceObje
|
|
|
215
217
|
})
|
|
216
218
|
]
|
|
217
219
|
}),
|
|
218
|
-
showToolbar && toolbarPositioning && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_Toolbar_index_cjs_namespaceObject.EdgeToolbar, {
|
|
220
|
+
!hideToolbar && showToolbar && toolbarPositioning && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_Toolbar_index_cjs_namespaceObject.EdgeToolbar, {
|
|
219
221
|
edgeId: id,
|
|
220
222
|
visible: showToolbar,
|
|
221
223
|
positioning: toolbarPositioning,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SequenceEdge.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/Edges/SequenceEdge.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAY,MAAM,0CAA0C,CAAC;AAoDpF,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"SequenceEdge.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/Edges/SequenceEdge.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAY,MAAM,0CAA0C,CAAC;AAoDpF,eAAO,MAAM,YAAY,iDA+MJ,CAAC"}
|
|
@@ -64,6 +64,8 @@ const SequenceEdge_SequenceEdge = /*#__PURE__*/ memo(function({ id, selected, so
|
|
|
64
64
|
const status = executionStatus ? executionStatus?.status ?? executionStatus : validationStatus;
|
|
65
65
|
const isDiffAdded = data?.isDiffAdded === true;
|
|
66
66
|
const isDiffRemoved = data?.isDiffRemoved === true;
|
|
67
|
+
const hideArrowHead = data?.hideArrowHead === true;
|
|
68
|
+
const hideToolbar = data?.hideToolbar === true;
|
|
67
69
|
const angle = ANGLE_MAP[targetPosition];
|
|
68
70
|
const { x: offsetX, y: offsetY } = ARROW_OFFSETS[targetPosition];
|
|
69
71
|
const { edgePath, labelX, labelY } = useEdgePath({
|
|
@@ -74,8 +76,8 @@ const SequenceEdge_SequenceEdge = /*#__PURE__*/ memo(function({ id, selected, so
|
|
|
74
76
|
sourceX,
|
|
75
77
|
sourceY,
|
|
76
78
|
sourcePosition,
|
|
77
|
-
targetX,
|
|
78
|
-
targetY,
|
|
79
|
+
targetX: hideArrowHead ? targetX + offsetX : targetX,
|
|
80
|
+
targetY: hideArrowHead ? targetY + offsetY : targetY,
|
|
79
81
|
targetPosition
|
|
80
82
|
});
|
|
81
83
|
const { showToolbar, toolbarPositioning, config: toolbarConfig, handleMouseMoveOnPath } = useEdgeToolbarState({
|
|
@@ -142,12 +144,12 @@ const SequenceEdge_SequenceEdge = /*#__PURE__*/ memo(function({ id, selected, so
|
|
|
142
144
|
},
|
|
143
145
|
ref: pathElementRef
|
|
144
146
|
}),
|
|
145
|
-
/*#__PURE__*/ jsx("polygon", {
|
|
147
|
+
!hideArrowHead && /*#__PURE__*/ jsx("polygon", {
|
|
146
148
|
points: `
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
149
|
+
${targetX},${targetY}
|
|
150
|
+
${targetX - ARROW_SIZE * Math.cos(angle - Math.PI / 6)},${targetY - ARROW_SIZE * Math.sin(angle - Math.PI / 6)}
|
|
151
|
+
${targetX - ARROW_SIZE * Math.cos(angle + Math.PI / 6)},${targetY - ARROW_SIZE * Math.sin(angle + Math.PI / 6)}
|
|
152
|
+
`,
|
|
151
153
|
fill: edgeColor,
|
|
152
154
|
style: {
|
|
153
155
|
pointerEvents: 'none',
|
|
@@ -187,7 +189,7 @@ const SequenceEdge_SequenceEdge = /*#__PURE__*/ memo(function({ id, selected, so
|
|
|
187
189
|
})
|
|
188
190
|
]
|
|
189
191
|
}),
|
|
190
|
-
showToolbar && toolbarPositioning && /*#__PURE__*/ jsx(EdgeToolbar, {
|
|
192
|
+
!hideToolbar && showToolbar && toolbarPositioning && /*#__PURE__*/ jsx(EdgeToolbar, {
|
|
191
193
|
edgeId: id,
|
|
192
194
|
visible: showToolbar,
|
|
193
195
|
positioning: toolbarPositioning,
|
|
@@ -333,7 +333,10 @@ const CanvasWithControlsContent = ({ initialCanvases, initialPath, onCanvasesCha
|
|
|
333
333
|
const updateNodes = (0, canvasStore_cjs_namespaceObject.useCanvasStore)(canvasStore_cjs_namespaceObject.selectUpdateNodes);
|
|
334
334
|
(0, external_react_namespaceObject.useEffect)(()=>{
|
|
335
335
|
const handleAction = (event)=>{
|
|
336
|
-
if (reactFlowInstance)
|
|
336
|
+
if (reactFlowInstance) {
|
|
337
|
+
const sourceHandleType = 'input' === event.handleType ? 'target' : 'source';
|
|
338
|
+
(0, createAddNodePreview_cjs_namespaceObject.createAddNodePreview)(event.nodeId, event.handleId, reactFlowInstance, event.position, sourceHandleType);
|
|
339
|
+
}
|
|
337
340
|
};
|
|
338
341
|
CanvasEventBus_cjs_namespaceObject.canvasEventBus.on('handle:action', handleAction);
|
|
339
342
|
return ()=>{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HierarchicalCanvasWithControls.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/HierarchicalCanvas/HierarchicalCanvasWithControls.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"HierarchicalCanvasWithControls.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/HierarchicalCanvas/HierarchicalCanvasWithControls.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAqe/B,eAAO,MAAM,8BAA8B,EAAE,KAAK,CAAC,EA8BlD,CAAC"}
|
|
@@ -305,7 +305,10 @@ const CanvasWithControlsContent = ({ initialCanvases, initialPath, onCanvasesCha
|
|
|
305
305
|
const updateNodes = useCanvasStore(selectUpdateNodes);
|
|
306
306
|
useEffect(()=>{
|
|
307
307
|
const handleAction = (event)=>{
|
|
308
|
-
if (reactFlowInstance)
|
|
308
|
+
if (reactFlowInstance) {
|
|
309
|
+
const sourceHandleType = 'input' === event.handleType ? 'target' : 'source';
|
|
310
|
+
createAddNodePreview(event.nodeId, event.handleId, reactFlowInstance, event.position, sourceHandleType);
|
|
311
|
+
}
|
|
309
312
|
};
|
|
310
313
|
canvasEventBus.on('handle:action', handleAction);
|
|
311
314
|
return ()=>{
|
|
@@ -24,17 +24,20 @@ var __webpack_require__ = {};
|
|
|
24
24
|
var __webpack_exports__ = {};
|
|
25
25
|
__webpack_require__.r(__webpack_exports__);
|
|
26
26
|
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
-
DEFAULT_LOOP_FRAME_BACKGROUND: ()=>DEFAULT_LOOP_FRAME_BACKGROUND,
|
|
28
|
-
DEFAULT_LOOP_ICON: ()=>DEFAULT_LOOP_ICON,
|
|
29
|
-
DEFAULT_LOOP_HEIGHT: ()=>DEFAULT_LOOP_HEIGHT,
|
|
30
27
|
DEFAULT_LOOP_MIN_HEIGHT: ()=>DEFAULT_LOOP_MIN_HEIGHT,
|
|
31
|
-
DEFAULT_LOOP_WIDTH: ()=>DEFAULT_LOOP_WIDTH,
|
|
32
28
|
LOOP_SHELL_RADIUS_PX: ()=>LOOP_SHELL_RADIUS_PX,
|
|
33
29
|
DEFAULT_LOOP_TITLE: ()=>DEFAULT_LOOP_TITLE,
|
|
34
30
|
LOOP_FRAME_INSET_PX: ()=>LOOP_FRAME_INSET_PX,
|
|
31
|
+
LOOP_BODY_PADDING_PX: ()=>LOOP_BODY_PADDING_PX,
|
|
32
|
+
DEFAULT_LOOP_HEADER_HEIGHT_PX: ()=>DEFAULT_LOOP_HEADER_HEIGHT_PX,
|
|
33
|
+
LOOP_INNER_HANDLE_RAIL_WIDTH_PX: ()=>LOOP_INNER_HANDLE_RAIL_WIDTH_PX,
|
|
34
|
+
DEFAULT_LOOP_FRAME_BACKGROUND: ()=>DEFAULT_LOOP_FRAME_BACKGROUND,
|
|
35
|
+
DEFAULT_LOOP_ICON: ()=>DEFAULT_LOOP_ICON,
|
|
36
|
+
DEFAULT_LOOP_HEIGHT: ()=>DEFAULT_LOOP_HEIGHT,
|
|
37
|
+
DEFAULT_LOOP_WIDTH: ()=>DEFAULT_LOOP_WIDTH,
|
|
35
38
|
DEFAULT_LOOP_FRAME_BORDER: ()=>DEFAULT_LOOP_FRAME_BORDER,
|
|
39
|
+
LOOP_CHILD_SAFE_GAP_PX: ()=>LOOP_CHILD_SAFE_GAP_PX,
|
|
36
40
|
DEFAULT_LOOP_MIN_WIDTH: ()=>DEFAULT_LOOP_MIN_WIDTH,
|
|
37
|
-
DEFAULT_LOOP_HEADER_HEIGHT_PX: ()=>DEFAULT_LOOP_HEADER_HEIGHT_PX,
|
|
38
41
|
DEFAULT_LOOP_SHELL_BACKGROUND: ()=>DEFAULT_LOOP_SHELL_BACKGROUND
|
|
39
42
|
});
|
|
40
43
|
const external_constants_cjs_namespaceObject = require("../../constants.cjs");
|
|
@@ -47,6 +50,9 @@ const DEFAULT_LOOP_MIN_WIDTH = 12 * external_constants_cjs_namespaceObject.GRID_
|
|
|
47
50
|
const DEFAULT_LOOP_MIN_HEIGHT = 12 * external_constants_cjs_namespaceObject.GRID_SPACING;
|
|
48
51
|
const LOOP_SHELL_RADIUS_PX = 20;
|
|
49
52
|
const LOOP_FRAME_INSET_PX = 12;
|
|
53
|
+
const LOOP_BODY_PADDING_PX = 2 * external_constants_cjs_namespaceObject.GRID_SPACING;
|
|
54
|
+
const LOOP_INNER_HANDLE_RAIL_WIDTH_PX = 5 * external_constants_cjs_namespaceObject.GRID_SPACING;
|
|
55
|
+
const LOOP_CHILD_SAFE_GAP_PX = external_constants_cjs_namespaceObject.GRID_SPACING;
|
|
50
56
|
const DEFAULT_LOOP_SHELL_BACKGROUND = 'var(--canvas-background)';
|
|
51
57
|
const DEFAULT_LOOP_FRAME_BACKGROUND = 'var(--canvas-background)';
|
|
52
58
|
const DEFAULT_LOOP_FRAME_BORDER = 'var(--canvas-border)';
|
|
@@ -60,7 +66,10 @@ exports.DEFAULT_LOOP_MIN_WIDTH = __webpack_exports__.DEFAULT_LOOP_MIN_WIDTH;
|
|
|
60
66
|
exports.DEFAULT_LOOP_SHELL_BACKGROUND = __webpack_exports__.DEFAULT_LOOP_SHELL_BACKGROUND;
|
|
61
67
|
exports.DEFAULT_LOOP_TITLE = __webpack_exports__.DEFAULT_LOOP_TITLE;
|
|
62
68
|
exports.DEFAULT_LOOP_WIDTH = __webpack_exports__.DEFAULT_LOOP_WIDTH;
|
|
69
|
+
exports.LOOP_BODY_PADDING_PX = __webpack_exports__.LOOP_BODY_PADDING_PX;
|
|
70
|
+
exports.LOOP_CHILD_SAFE_GAP_PX = __webpack_exports__.LOOP_CHILD_SAFE_GAP_PX;
|
|
63
71
|
exports.LOOP_FRAME_INSET_PX = __webpack_exports__.LOOP_FRAME_INSET_PX;
|
|
72
|
+
exports.LOOP_INNER_HANDLE_RAIL_WIDTH_PX = __webpack_exports__.LOOP_INNER_HANDLE_RAIL_WIDTH_PX;
|
|
64
73
|
exports.LOOP_SHELL_RADIUS_PX = __webpack_exports__.LOOP_SHELL_RADIUS_PX;
|
|
65
74
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
66
75
|
"DEFAULT_LOOP_FRAME_BACKGROUND",
|
|
@@ -73,7 +82,10 @@ for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
|
73
82
|
"DEFAULT_LOOP_SHELL_BACKGROUND",
|
|
74
83
|
"DEFAULT_LOOP_TITLE",
|
|
75
84
|
"DEFAULT_LOOP_WIDTH",
|
|
85
|
+
"LOOP_BODY_PADDING_PX",
|
|
86
|
+
"LOOP_CHILD_SAFE_GAP_PX",
|
|
76
87
|
"LOOP_FRAME_INSET_PX",
|
|
88
|
+
"LOOP_INNER_HANDLE_RAIL_WIDTH_PX",
|
|
77
89
|
"LOOP_SHELL_RADIUS_PX"
|
|
78
90
|
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
79
91
|
Object.defineProperty(exports, '__esModule', {
|
|
@@ -7,6 +7,9 @@ export declare const DEFAULT_LOOP_MIN_WIDTH: number;
|
|
|
7
7
|
export declare const DEFAULT_LOOP_MIN_HEIGHT: number;
|
|
8
8
|
export declare const LOOP_SHELL_RADIUS_PX = 20;
|
|
9
9
|
export declare const LOOP_FRAME_INSET_PX = 12;
|
|
10
|
+
export declare const LOOP_BODY_PADDING_PX: number;
|
|
11
|
+
export declare const LOOP_INNER_HANDLE_RAIL_WIDTH_PX: number;
|
|
12
|
+
export declare const LOOP_CHILD_SAFE_GAP_PX = 16;
|
|
10
13
|
export declare const DEFAULT_LOOP_SHELL_BACKGROUND = "var(--canvas-background)";
|
|
11
14
|
export declare const DEFAULT_LOOP_FRAME_BACKGROUND = "var(--canvas-background)";
|
|
12
15
|
export declare const DEFAULT_LOOP_FRAME_BORDER = "var(--canvas-border)";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoopNode.constants.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/LoopNode/LoopNode.constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,WAAW,CAAC;AAC1C,eAAO,MAAM,kBAAkB,SAAS,CAAC;AACzC,eAAO,MAAM,6BAA6B,KAAK,CAAC;AAGhD,eAAO,MAAM,kBAAkB,QAAoB,CAAC;AACpD,eAAO,MAAM,mBAAmB,QAAoB,CAAC;AAErD,eAAO,MAAM,sBAAsB,QAAoB,CAAC;AACxD,eAAO,MAAM,uBAAuB,QAAoB,CAAC;AACzD,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,mBAAmB,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"LoopNode.constants.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/LoopNode/LoopNode.constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,WAAW,CAAC;AAC1C,eAAO,MAAM,kBAAkB,SAAS,CAAC;AACzC,eAAO,MAAM,6BAA6B,KAAK,CAAC;AAGhD,eAAO,MAAM,kBAAkB,QAAoB,CAAC;AACpD,eAAO,MAAM,mBAAmB,QAAoB,CAAC;AAErD,eAAO,MAAM,sBAAsB,QAAoB,CAAC;AACxD,eAAO,MAAM,uBAAuB,QAAoB,CAAC;AACzD,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,mBAAmB,KAAK,CAAC;AACtC,eAAO,MAAM,oBAAoB,QAAmB,CAAC;AACrD,eAAO,MAAM,+BAA+B,QAAmB,CAAC;AAChE,eAAO,MAAM,sBAAsB,KAAe,CAAC;AAEnD,eAAO,MAAM,6BAA6B,6BAA6B,CAAC;AACxE,eAAO,MAAM,6BAA6B,6BAA6B,CAAC;AACxE,eAAO,MAAM,yBAAyB,yBAAyB,CAAC"}
|
|
@@ -8,7 +8,10 @@ const DEFAULT_LOOP_MIN_WIDTH = 12 * GRID_SPACING;
|
|
|
8
8
|
const DEFAULT_LOOP_MIN_HEIGHT = 12 * GRID_SPACING;
|
|
9
9
|
const LOOP_SHELL_RADIUS_PX = 20;
|
|
10
10
|
const LOOP_FRAME_INSET_PX = 12;
|
|
11
|
+
const LOOP_BODY_PADDING_PX = 2 * GRID_SPACING;
|
|
12
|
+
const LOOP_INNER_HANDLE_RAIL_WIDTH_PX = 5 * GRID_SPACING;
|
|
13
|
+
const LOOP_CHILD_SAFE_GAP_PX = GRID_SPACING;
|
|
11
14
|
const DEFAULT_LOOP_SHELL_BACKGROUND = 'var(--canvas-background)';
|
|
12
15
|
const DEFAULT_LOOP_FRAME_BACKGROUND = 'var(--canvas-background)';
|
|
13
16
|
const DEFAULT_LOOP_FRAME_BORDER = 'var(--canvas-border)';
|
|
14
|
-
export { DEFAULT_LOOP_FRAME_BACKGROUND, DEFAULT_LOOP_FRAME_BORDER, DEFAULT_LOOP_HEADER_HEIGHT_PX, DEFAULT_LOOP_HEIGHT, DEFAULT_LOOP_ICON, DEFAULT_LOOP_MIN_HEIGHT, DEFAULT_LOOP_MIN_WIDTH, DEFAULT_LOOP_SHELL_BACKGROUND, DEFAULT_LOOP_TITLE, DEFAULT_LOOP_WIDTH, LOOP_FRAME_INSET_PX, LOOP_SHELL_RADIUS_PX };
|
|
17
|
+
export { DEFAULT_LOOP_FRAME_BACKGROUND, DEFAULT_LOOP_FRAME_BORDER, DEFAULT_LOOP_HEADER_HEIGHT_PX, DEFAULT_LOOP_HEIGHT, DEFAULT_LOOP_ICON, DEFAULT_LOOP_MIN_HEIGHT, DEFAULT_LOOP_MIN_WIDTH, DEFAULT_LOOP_SHELL_BACKGROUND, DEFAULT_LOOP_TITLE, DEFAULT_LOOP_WIDTH, LOOP_BODY_PADDING_PX, LOOP_CHILD_SAFE_GAP_PX, LOOP_FRAME_INSET_PX, LOOP_INNER_HANDLE_RAIL_WIDTH_PX, LOOP_SHELL_RADIUS_PX };
|