@uipath/apollo-react 3.63.0 → 3.64.0-pr431.76f87cc
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/CanvasPerformance.stories.cjs +361 -0
- package/dist/canvas/components/CanvasPerformance.stories.d.ts +6 -0
- package/dist/canvas/components/CanvasPerformance.stories.d.ts.map +1 -0
- package/dist/canvas/components/CanvasPerformance.stories.js +324 -0
- package/dist/canvas/components/NodePropertiesPanel/hooks/index.cjs +4 -1
- package/dist/canvas/components/NodePropertiesPanel/hooks/index.d.ts +1 -1
- package/dist/canvas/components/NodePropertiesPanel/hooks/index.d.ts.map +1 -1
- package/dist/canvas/components/NodePropertiesPanel/hooks/index.js +2 -2
- package/dist/canvas/components/NodePropertiesPanel/hooks/useNodeSelection.cjs +27 -6
- package/dist/canvas/components/NodePropertiesPanel/hooks/useNodeSelection.d.ts +3 -0
- package/dist/canvas/components/NodePropertiesPanel/hooks/useNodeSelection.d.ts.map +1 -1
- package/dist/canvas/components/NodePropertiesPanel/hooks/useNodeSelection.js +23 -5
- package/dist/canvas/components/StageNode/DraggableTask.cjs +14 -5
- package/dist/canvas/components/StageNode/DraggableTask.d.ts +1 -1
- package/dist/canvas/components/StageNode/DraggableTask.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/DraggableTask.js +14 -5
- package/dist/canvas/components/StageNode/DraggableTask.types.d.ts +3 -3
- package/dist/canvas/components/StageNode/DraggableTask.types.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/StageEdge.cjs +34 -11
- package/dist/canvas/components/StageNode/StageEdge.d.ts +2 -1
- package/dist/canvas/components/StageNode/StageEdge.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/StageEdge.js +35 -12
- package/dist/canvas/components/StageNode/StageNode.cjs +125 -45
- package/dist/canvas/components/StageNode/StageNode.d.ts +1 -1
- package/dist/canvas/components/StageNode/StageNode.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/StageNode.js +129 -49
- package/dist/canvas/components/StageNode/StageNode.stories.cjs +321 -158
- package/dist/canvas/components/StageNode/StageNode.stories.d.ts +1 -0
- package/dist/canvas/components/StageNode/StageNode.stories.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/StageNode.stories.js +314 -154
- package/dist/canvas/components/StageNode/StageNode.stories.utils.cjs +42 -0
- package/dist/canvas/components/StageNode/StageNode.stories.utils.d.ts +3 -0
- package/dist/canvas/components/StageNode/StageNode.stories.utils.d.ts.map +1 -0
- package/dist/canvas/components/StageNode/StageNode.stories.utils.js +8 -0
- package/dist/canvas/components/StageNode/StageNode.styles.cjs +35 -2
- package/dist/canvas/components/StageNode/StageNode.styles.d.ts +8 -0
- package/dist/canvas/components/StageNode/StageNode.styles.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/StageNode.styles.js +28 -1
- package/dist/canvas/components/StageNode/StageNode.types.cjs +26 -1
- package/dist/canvas/components/StageNode/StageNode.types.d.ts +23 -1
- package/dist/canvas/components/StageNode/StageNode.types.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/StageNode.types.js +9 -0
- package/dist/canvas/components/StageNode/TaskMenu.cjs +13 -17
- package/dist/canvas/components/StageNode/TaskMenu.d.ts +1 -2
- package/dist/canvas/components/StageNode/TaskMenu.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/TaskMenu.js +14 -18
- package/dist/canvas/components/Toolbox/Toolbox.cjs +3 -3
- package/dist/canvas/components/Toolbox/Toolbox.d.ts +3 -1
- package/dist/canvas/components/Toolbox/Toolbox.d.ts.map +1 -1
- package/dist/canvas/components/Toolbox/Toolbox.js +3 -3
- package/dist/canvas/icons/ExitConditionIcon.cjs +49 -0
- package/dist/canvas/icons/ExitConditionIcon.d.ts +5 -0
- package/dist/canvas/icons/ExitConditionIcon.d.ts.map +1 -0
- package/dist/canvas/icons/ExitConditionIcon.js +15 -0
- package/dist/canvas/icons/ReturnToOriginIcon.cjs +50 -0
- package/dist/canvas/icons/ReturnToOriginIcon.d.ts +5 -0
- package/dist/canvas/icons/ReturnToOriginIcon.d.ts.map +1 -0
- package/dist/canvas/icons/ReturnToOriginIcon.js +16 -0
- package/dist/canvas/icons/index.cjs +8 -0
- package/dist/canvas/icons/index.d.ts +2 -0
- package/dist/canvas/icons/index.d.ts.map +1 -1
- package/dist/canvas/icons/index.js +3 -1
- package/package.json +3 -3
|
@@ -40,6 +40,7 @@ const jsx_runtime_namespaceObject = require("react/jsx-runtime");
|
|
|
40
40
|
const styled_namespaceObject = require("@emotion/styled");
|
|
41
41
|
var styled_default = /*#__PURE__*/ __webpack_require__.n(styled_namespaceObject);
|
|
42
42
|
const react_cjs_namespaceObject = require("../../xyflow/react.cjs");
|
|
43
|
+
const external_react_namespaceObject = require("react");
|
|
43
44
|
const StageEdgeLabel = styled_default().div`
|
|
44
45
|
position: absolute;
|
|
45
46
|
color: var(--uix-canvas-foreground);
|
|
@@ -57,6 +58,9 @@ const StageEdgeLabel = styled_default().div`
|
|
|
57
58
|
border-color: var(--uix-canvas-border-hover);
|
|
58
59
|
}
|
|
59
60
|
`;
|
|
61
|
+
function stageEdgeGeometryEquality(previous, next) {
|
|
62
|
+
return previous.sourceX === next.sourceX && previous.sourceY === next.sourceY && previous.targetX === next.targetX && previous.targetY === next.targetY;
|
|
63
|
+
}
|
|
60
64
|
function getArrowFromBezier(path, arrowSize) {
|
|
61
65
|
const pathEl = document.createElementNS('http://www.w3.org/2000/svg', 'path');
|
|
62
66
|
pathEl.setAttribute('d', path);
|
|
@@ -70,19 +74,13 @@ function getArrowFromBezier(path, arrowSize) {
|
|
|
70
74
|
angle
|
|
71
75
|
};
|
|
72
76
|
}
|
|
73
|
-
function
|
|
74
|
-
const sourceNode = (0, react_cjs_namespaceObject.useInternalNode)(rest.source);
|
|
75
|
-
const targetNode = (0, react_cjs_namespaceObject.useInternalNode)(rest.target);
|
|
76
|
-
const sourceNodeX = sourceNode ? sourceNode.position.x + (sourceNode.measured?.width ?? 0) : sourceX;
|
|
77
|
-
const sourceNodeY = sourceNode?.position.y ? sourceNode.position.y + 32 : sourceY;
|
|
78
|
-
const targetNodeX = targetNode?.position.x ?? targetX;
|
|
79
|
-
const targetNodeY = targetNode?.position.y ? targetNode.position.y + 32 : targetY;
|
|
77
|
+
function StageEdgeInner({ geometry, sourcePosition, targetPosition, selected, style, stroke = 'var(--uix-canvas-foreground-emp)', strokeWidth = 2, arrowSize = 8, ...rest }) {
|
|
80
78
|
const [pathData, labelX, labelY, _ex, _ey] = (0, react_cjs_namespaceObject.getSmoothStepPath)({
|
|
81
|
-
sourceX:
|
|
82
|
-
sourceY:
|
|
79
|
+
sourceX: geometry.sourceX,
|
|
80
|
+
sourceY: geometry.sourceY,
|
|
83
81
|
sourcePosition,
|
|
84
|
-
targetX:
|
|
85
|
-
targetY:
|
|
82
|
+
targetX: geometry.targetX - 1,
|
|
83
|
+
targetY: geometry.targetY,
|
|
86
84
|
targetPosition,
|
|
87
85
|
borderRadius: 40
|
|
88
86
|
});
|
|
@@ -141,6 +139,31 @@ function StageEdge({ sourceX, sourceY, targetX, targetY, sourcePosition, targetP
|
|
|
141
139
|
]
|
|
142
140
|
});
|
|
143
141
|
}
|
|
142
|
+
const StageEdgeInnerMemo = /*#__PURE__*/ (0, external_react_namespaceObject.memo)(StageEdgeInner);
|
|
143
|
+
function StageEdgeComponent({ sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, selected, style, stroke, strokeWidth, arrowSize, ...rest }) {
|
|
144
|
+
const geometry = (0, react_cjs_namespaceObject.useStore)((state)=>{
|
|
145
|
+
const sourceNode = state.nodeLookup.get(rest.source);
|
|
146
|
+
const targetNode = state.nodeLookup.get(rest.target);
|
|
147
|
+
return {
|
|
148
|
+
sourceX: sourceNode ? sourceNode.position.x + (sourceNode.measured?.width ?? 0) : sourceX,
|
|
149
|
+
sourceY: sourceNode ? sourceNode.position.y + 32 : sourceY,
|
|
150
|
+
targetX: targetNode?.position.x ?? targetX,
|
|
151
|
+
targetY: targetNode ? targetNode.position.y + 32 : targetY
|
|
152
|
+
};
|
|
153
|
+
}, stageEdgeGeometryEquality);
|
|
154
|
+
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(StageEdgeInnerMemo, {
|
|
155
|
+
geometry: geometry,
|
|
156
|
+
sourcePosition: sourcePosition,
|
|
157
|
+
targetPosition: targetPosition,
|
|
158
|
+
selected: selected,
|
|
159
|
+
style: style,
|
|
160
|
+
stroke: stroke,
|
|
161
|
+
strokeWidth: strokeWidth,
|
|
162
|
+
arrowSize: arrowSize,
|
|
163
|
+
...rest
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
const StageEdge = /*#__PURE__*/ (0, external_react_namespaceObject.memo)(StageEdgeComponent);
|
|
144
167
|
exports.StageEdge = __webpack_exports__.StageEdge;
|
|
145
168
|
exports.StageEdgeLabel = __webpack_exports__.StageEdgeLabel;
|
|
146
169
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
@@ -8,6 +8,7 @@ type Props = EdgeProps & {
|
|
|
8
8
|
strokeWidth?: number;
|
|
9
9
|
arrowSize?: number;
|
|
10
10
|
};
|
|
11
|
-
|
|
11
|
+
declare function StageEdgeComponent({ sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, selected, style, stroke, strokeWidth, arrowSize, ...rest }: Props): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export declare const StageEdge: import("react").MemoExoticComponent<typeof StageEdgeComponent>;
|
|
12
13
|
export {};
|
|
13
14
|
//# sourceMappingURL=StageEdge.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StageEdge.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/StageNode/StageEdge.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"StageEdge.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/StageNode/StageEdge.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAkB,MAAM,0CAA0C,CAAC;AAQ1F,eAAO,MAAM,cAAc;;;yGAgB1B,CAAC;AAEF,KAAK,KAAK,GAAG,SAAS,GAAG;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AA4HF,iBAAS,kBAAkB,CAAC,EAC1B,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,cAAc,EACd,cAAc,EACd,QAAQ,EACR,KAAK,EACL,MAAM,EACN,WAAW,EACX,SAAS,EACT,GAAG,IAAI,EACR,EAAE,KAAK,2CA0BP;AAED,eAAO,MAAM,SAAS,gEAA2B,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
2
2
|
import styled from "@emotion/styled";
|
|
3
|
-
import { EdgeLabelRenderer, getSmoothStepPath,
|
|
3
|
+
import { EdgeLabelRenderer, getSmoothStepPath, useStore } from "../../xyflow/react.js";
|
|
4
|
+
import { memo } from "react";
|
|
4
5
|
const StageEdgeLabel = styled.div`
|
|
5
6
|
position: absolute;
|
|
6
7
|
color: var(--uix-canvas-foreground);
|
|
@@ -18,6 +19,9 @@ const StageEdgeLabel = styled.div`
|
|
|
18
19
|
border-color: var(--uix-canvas-border-hover);
|
|
19
20
|
}
|
|
20
21
|
`;
|
|
22
|
+
function stageEdgeGeometryEquality(previous, next) {
|
|
23
|
+
return previous.sourceX === next.sourceX && previous.sourceY === next.sourceY && previous.targetX === next.targetX && previous.targetY === next.targetY;
|
|
24
|
+
}
|
|
21
25
|
function getArrowFromBezier(path, arrowSize) {
|
|
22
26
|
const pathEl = document.createElementNS('http://www.w3.org/2000/svg', 'path');
|
|
23
27
|
pathEl.setAttribute('d', path);
|
|
@@ -31,19 +35,13 @@ function getArrowFromBezier(path, arrowSize) {
|
|
|
31
35
|
angle
|
|
32
36
|
};
|
|
33
37
|
}
|
|
34
|
-
function
|
|
35
|
-
const sourceNode = useInternalNode(rest.source);
|
|
36
|
-
const targetNode = useInternalNode(rest.target);
|
|
37
|
-
const sourceNodeX = sourceNode ? sourceNode.position.x + (sourceNode.measured?.width ?? 0) : sourceX;
|
|
38
|
-
const sourceNodeY = sourceNode?.position.y ? sourceNode.position.y + 32 : sourceY;
|
|
39
|
-
const targetNodeX = targetNode?.position.x ?? targetX;
|
|
40
|
-
const targetNodeY = targetNode?.position.y ? targetNode.position.y + 32 : targetY;
|
|
38
|
+
function StageEdgeInner({ geometry, sourcePosition, targetPosition, selected, style, stroke = 'var(--uix-canvas-foreground-emp)', strokeWidth = 2, arrowSize = 8, ...rest }) {
|
|
41
39
|
const [pathData, labelX, labelY, _ex, _ey] = getSmoothStepPath({
|
|
42
|
-
sourceX:
|
|
43
|
-
sourceY:
|
|
40
|
+
sourceX: geometry.sourceX,
|
|
41
|
+
sourceY: geometry.sourceY,
|
|
44
42
|
sourcePosition,
|
|
45
|
-
targetX:
|
|
46
|
-
targetY:
|
|
43
|
+
targetX: geometry.targetX - 1,
|
|
44
|
+
targetY: geometry.targetY,
|
|
47
45
|
targetPosition,
|
|
48
46
|
borderRadius: 40
|
|
49
47
|
});
|
|
@@ -102,4 +100,29 @@ function StageEdge({ sourceX, sourceY, targetX, targetY, sourcePosition, targetP
|
|
|
102
100
|
]
|
|
103
101
|
});
|
|
104
102
|
}
|
|
103
|
+
const StageEdgeInnerMemo = /*#__PURE__*/ memo(StageEdgeInner);
|
|
104
|
+
function StageEdgeComponent({ sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, selected, style, stroke, strokeWidth, arrowSize, ...rest }) {
|
|
105
|
+
const geometry = useStore((state)=>{
|
|
106
|
+
const sourceNode = state.nodeLookup.get(rest.source);
|
|
107
|
+
const targetNode = state.nodeLookup.get(rest.target);
|
|
108
|
+
return {
|
|
109
|
+
sourceX: sourceNode ? sourceNode.position.x + (sourceNode.measured?.width ?? 0) : sourceX,
|
|
110
|
+
sourceY: sourceNode ? sourceNode.position.y + 32 : sourceY,
|
|
111
|
+
targetX: targetNode?.position.x ?? targetX,
|
|
112
|
+
targetY: targetNode ? targetNode.position.y + 32 : targetY
|
|
113
|
+
};
|
|
114
|
+
}, stageEdgeGeometryEquality);
|
|
115
|
+
return /*#__PURE__*/ jsx(StageEdgeInnerMemo, {
|
|
116
|
+
geometry: geometry,
|
|
117
|
+
sourcePosition: sourcePosition,
|
|
118
|
+
targetPosition: targetPosition,
|
|
119
|
+
selected: selected,
|
|
120
|
+
style: style,
|
|
121
|
+
stroke: stroke,
|
|
122
|
+
strokeWidth: strokeWidth,
|
|
123
|
+
arrowSize: arrowSize,
|
|
124
|
+
...rest
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
const StageEdge = /*#__PURE__*/ memo(StageEdgeComponent);
|
|
105
128
|
export { StageEdge, StageEdgeLabel };
|
|
@@ -35,6 +35,7 @@ const react_cjs_namespaceObject = require("../../xyflow/react.cjs");
|
|
|
35
35
|
const external_material_index_cjs_namespaceObject = require("../../../material/index.cjs");
|
|
36
36
|
const external_react_namespaceObject = require("react");
|
|
37
37
|
const external_react_dom_namespaceObject = require("react-dom");
|
|
38
|
+
const external_icons_index_cjs_namespaceObject = require("../../icons/index.cjs");
|
|
38
39
|
const ConnectedHandlesContext_cjs_namespaceObject = require("../BaseCanvas/ConnectedHandlesContext.cjs");
|
|
39
40
|
const useButtonHandles_cjs_namespaceObject = require("../ButtonHandle/useButtonHandles.cjs");
|
|
40
41
|
const external_ExecutionStatusIcon_index_cjs_namespaceObject = require("../ExecutionStatusIcon/index.cjs");
|
|
@@ -44,9 +45,58 @@ const hooks_index_cjs_namespaceObject = require("../NodePropertiesPanel/hooks/in
|
|
|
44
45
|
const external_Toolbox_index_cjs_namespaceObject = require("../Toolbox/index.cjs");
|
|
45
46
|
const external_DraggableTask_cjs_namespaceObject = require("./DraggableTask.cjs");
|
|
46
47
|
const external_StageNode_styles_cjs_namespaceObject = require("./StageNode.styles.cjs");
|
|
48
|
+
const external_StageNode_types_cjs_namespaceObject = require("./StageNode.types.cjs");
|
|
47
49
|
const external_StageNode_utils_cjs_namespaceObject = require("./StageNode.utils.cjs");
|
|
48
50
|
const external_StageNodeTaskUtilities_cjs_namespaceObject = require("./StageNodeTaskUtilities.cjs");
|
|
49
|
-
const
|
|
51
|
+
const CHIP_ICONS = {
|
|
52
|
+
[external_StageNode_types_cjs_namespaceObject.StageHeaderChipType.Entry]: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_icons_index_cjs_namespaceObject.EntryConditionIcon, {
|
|
53
|
+
w: apollo_core_namespaceObject.Icon.IconXs,
|
|
54
|
+
h: apollo_core_namespaceObject.Icon.IconXs
|
|
55
|
+
}),
|
|
56
|
+
[external_StageNode_types_cjs_namespaceObject.StageHeaderChipType.Exit]: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_icons_index_cjs_namespaceObject.ExitConditionIcon, {
|
|
57
|
+
w: apollo_core_namespaceObject.Icon.IconXs,
|
|
58
|
+
h: apollo_core_namespaceObject.Icon.IconXs
|
|
59
|
+
}),
|
|
60
|
+
[external_StageNode_types_cjs_namespaceObject.StageHeaderChipType.ReturnToOrigin]: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_icons_index_cjs_namespaceObject.ReturnToOriginIcon, {
|
|
61
|
+
w: apollo_core_namespaceObject.Icon.IconXs,
|
|
62
|
+
h: apollo_core_namespaceObject.Icon.IconXs
|
|
63
|
+
}),
|
|
64
|
+
[external_StageNode_types_cjs_namespaceObject.StageHeaderChipType.CaseExit]: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_material_index_cjs_namespaceObject.ApIcon, {
|
|
65
|
+
name: "close",
|
|
66
|
+
size: apollo_core_namespaceObject.Icon.IconXs
|
|
67
|
+
}),
|
|
68
|
+
[external_StageNode_types_cjs_namespaceObject.StageHeaderChipType.CaseCompletion]: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_material_index_cjs_namespaceObject.ApIcon, {
|
|
69
|
+
name: "check-mark",
|
|
70
|
+
size: apollo_core_namespaceObject.Icon.IconXs
|
|
71
|
+
})
|
|
72
|
+
};
|
|
73
|
+
const StageNode_StageTaskDragOverlay = /*#__PURE__*/ (0, external_react_namespaceObject.memo)(function({ activeTask, isActiveTaskParallel, taskWidthStyle }) {
|
|
74
|
+
const { zoom } = (0, react_cjs_namespaceObject.useViewport)();
|
|
75
|
+
const dragOverlayStyle = (0, external_react_namespaceObject.useMemo)(()=>({
|
|
76
|
+
transform: `scale(${zoom})`,
|
|
77
|
+
transformOrigin: 'top left'
|
|
78
|
+
}), [
|
|
79
|
+
zoom
|
|
80
|
+
]);
|
|
81
|
+
return /*#__PURE__*/ (0, external_react_dom_namespaceObject.createPortal)(/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(core_namespaceObject.DragOverlay, {
|
|
82
|
+
children: activeTask ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
|
|
83
|
+
style: dragOverlayStyle,
|
|
84
|
+
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_StageNode_styles_cjs_namespaceObject.StageTask, {
|
|
85
|
+
selected: true,
|
|
86
|
+
isParallel: isActiveTaskParallel,
|
|
87
|
+
style: {
|
|
88
|
+
cursor: 'grabbing',
|
|
89
|
+
...taskWidthStyle
|
|
90
|
+
},
|
|
91
|
+
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_DraggableTask_cjs_namespaceObject.TaskContent, {
|
|
92
|
+
task: activeTask,
|
|
93
|
+
isDragging: true
|
|
94
|
+
})
|
|
95
|
+
})
|
|
96
|
+
}) : null
|
|
97
|
+
}), document.body);
|
|
98
|
+
});
|
|
99
|
+
const StageNodeInner = (props)=>{
|
|
50
100
|
const { dragging, selected, id, width, execution, stageDetails, addTaskLabel = 'Add task', addTaskLoading = false, replaceTaskLabel = 'Replace task', taskOptions = [], menuItems, pendingReplaceTask, onStageClick, onTaskAdd, onAddTaskFromToolbox, onTaskToolboxSearch, onTaskClick, onTaskGroupModification, onStageTitleChange, onTaskReorder, onReplaceTaskFromToolbox, onTaskPlay } = props;
|
|
51
101
|
const taskWidth = width ? width - external_StageNode_styles_cjs_namespaceObject.STAGE_CONTENT_INSET : void 0;
|
|
52
102
|
const tasks = (0, external_react_namespaceObject.useMemo)(()=>stageDetails?.tasks || [], [
|
|
@@ -66,9 +116,6 @@ const StageNodeComponent = (props)=>{
|
|
|
66
116
|
const status = execution?.stageStatus?.status;
|
|
67
117
|
const statusLabel = execution?.stageStatus?.label;
|
|
68
118
|
const stageDuration = execution?.stageStatus?.duration;
|
|
69
|
-
const reGroupTaskFunction = (0, external_react_namespaceObject.useMemo)(()=>onTaskGroupModification || (()=>{}), [
|
|
70
|
-
onTaskGroupModification
|
|
71
|
-
]);
|
|
72
119
|
const isStageTitleEditable = !!onStageTitleChange && !isReadOnly;
|
|
73
120
|
const [isHovered, setIsHovered] = (0, external_react_namespaceObject.useState)(false);
|
|
74
121
|
const [label, setLabel] = (0, external_react_namespaceObject.useState)(props.stageDetails.label);
|
|
@@ -85,6 +132,7 @@ const StageNodeComponent = (props)=>{
|
|
|
85
132
|
taskIndex: -1
|
|
86
133
|
});
|
|
87
134
|
const isConnecting = (0, react_cjs_namespaceObject.useStore)((state)=>!!state.connectionClickStartHandle);
|
|
135
|
+
const storeApi = (0, react_cjs_namespaceObject.useStoreApi)();
|
|
88
136
|
const connectedHandleIds = (0, ConnectedHandlesContext_cjs_namespaceObject.useConnectedHandles)(id);
|
|
89
137
|
const [isAddingTask, setIsAddingTask] = (0, external_react_namespaceObject.useState)(false);
|
|
90
138
|
const [isReplacingTask, setIsReplacingTask] = (0, external_react_namespaceObject.useState)(false);
|
|
@@ -124,7 +172,6 @@ const StageNodeComponent = (props)=>{
|
|
|
124
172
|
tasks,
|
|
125
173
|
activeDragId
|
|
126
174
|
]);
|
|
127
|
-
const { zoom } = (0, react_cjs_namespaceObject.useViewport)();
|
|
128
175
|
const projected = (0, external_react_namespaceObject.useMemo)(()=>{
|
|
129
176
|
if (!activeDragId || !overId) return null;
|
|
130
177
|
return (0, external_StageNode_utils_cjs_namespaceObject.getProjection)(tasks, activeDragId, overId, offsetLeft);
|
|
@@ -207,18 +254,26 @@ const StageNodeComponent = (props)=>{
|
|
|
207
254
|
handleStageTitleClickToSave,
|
|
208
255
|
isStageTitleEditing
|
|
209
256
|
]);
|
|
210
|
-
const
|
|
257
|
+
const hasContextMenu = !!(onReplaceTaskFromToolbox || onTaskGroupModification);
|
|
258
|
+
const buildContextMenuItems = (0, external_react_namespaceObject.useCallback)((groupIndex, taskIndex)=>{
|
|
259
|
+
const taskGroup = tasks[groupIndex] ?? [];
|
|
260
|
+
const isParallel = taskGroup.length > 1;
|
|
211
261
|
const items = [];
|
|
212
262
|
if (onReplaceTaskFromToolbox) {
|
|
213
263
|
items.push((0, external_StageNodeTaskUtilities_cjs_namespaceObject.getMenuItem)('replace-task', 'Replace task', ()=>{
|
|
214
|
-
|
|
264
|
+
taskStateReference.current = {
|
|
265
|
+
isParallel,
|
|
266
|
+
groupIndex,
|
|
267
|
+
taskIndex
|
|
268
|
+
};
|
|
269
|
+
const taskId = taskGroup[taskIndex]?.id;
|
|
215
270
|
if (taskId) onTaskClick?.(taskId);
|
|
216
271
|
setIsReplacingTask(true);
|
|
217
272
|
}));
|
|
218
273
|
items.push((0, external_StageNodeTaskUtilities_cjs_namespaceObject.getDivider)());
|
|
219
274
|
}
|
|
220
275
|
if (onTaskGroupModification) {
|
|
221
|
-
const reGroupOptions = (0, external_StageNodeTaskUtilities_cjs_namespaceObject.getContextMenuItems)(isParallel, groupIndex,
|
|
276
|
+
const reGroupOptions = (0, external_StageNodeTaskUtilities_cjs_namespaceObject.getContextMenuItems)(isParallel, groupIndex, tasks.length, taskIndex, taskGroup.length, (tasks[groupIndex - 1]?.length ?? 0) > 1, (tasks[groupIndex + 1]?.length ?? 0) > 1, onTaskGroupModification);
|
|
222
277
|
return [
|
|
223
278
|
...items,
|
|
224
279
|
...reGroupOptions
|
|
@@ -229,10 +284,9 @@ const StageNodeComponent = (props)=>{
|
|
|
229
284
|
onReplaceTaskFromToolbox,
|
|
230
285
|
onTaskClick,
|
|
231
286
|
onTaskGroupModification,
|
|
232
|
-
reGroupTaskFunction,
|
|
233
287
|
tasks
|
|
234
288
|
]);
|
|
235
|
-
const { setSelectedNodeId } = (0, hooks_index_cjs_namespaceObject.
|
|
289
|
+
const { setSelectedNodeId } = (0, hooks_index_cjs_namespaceObject.useSetNodeSelection)();
|
|
236
290
|
const handleStageClick = (0, external_react_namespaceObject.useCallback)(()=>{
|
|
237
291
|
onStageClick?.();
|
|
238
292
|
}, [
|
|
@@ -355,9 +409,9 @@ const StageNodeComponent = (props)=>{
|
|
|
355
409
|
setActiveDragId(event.active.id);
|
|
356
410
|
}, []);
|
|
357
411
|
const handleDragMove = (0, external_react_namespaceObject.useCallback)((event)=>{
|
|
358
|
-
setOffsetLeft(event.delta.x /
|
|
412
|
+
setOffsetLeft(event.delta.x / storeApi.getState().transform[2]);
|
|
359
413
|
}, [
|
|
360
|
-
|
|
414
|
+
storeApi
|
|
361
415
|
]);
|
|
362
416
|
const handleDragOver = (0, external_react_namespaceObject.useCallback)((event)=>{
|
|
363
417
|
setOverId(event.over?.id ?? null);
|
|
@@ -393,12 +447,6 @@ const StageNodeComponent = (props)=>{
|
|
|
393
447
|
} : void 0, [
|
|
394
448
|
taskWidth
|
|
395
449
|
]);
|
|
396
|
-
const dragOverlayStyle = (0, external_react_namespaceObject.useMemo)(()=>({
|
|
397
|
-
transform: `scale(${zoom})`,
|
|
398
|
-
transformOrigin: 'top left'
|
|
399
|
-
}), [
|
|
400
|
-
zoom
|
|
401
|
-
]);
|
|
402
450
|
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
|
|
403
451
|
"data-testid": `stage-${id}`,
|
|
404
452
|
style: {
|
|
@@ -459,6 +507,31 @@ const StageNodeComponent = (props)=>{
|
|
|
459
507
|
variant: apollo_core_namespaceObject.FontVariantToken.fontSizeS,
|
|
460
508
|
color: "var(--uix-canvas-foreground-de-emp)",
|
|
461
509
|
children: stageDuration
|
|
510
|
+
}),
|
|
511
|
+
stageDetails.headerChips && stageDetails.headerChips.length > 0 && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_StageNode_styles_cjs_namespaceObject.StageHeaderChipsRow, {
|
|
512
|
+
children: stageDetails.headerChips.map((chip)=>{
|
|
513
|
+
const button = /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(external_StageNode_styles_cjs_namespaceObject.StageChip, {
|
|
514
|
+
type: "button",
|
|
515
|
+
"aria-label": 'string' == typeof chip.tooltip ? chip.tooltip : chip.type,
|
|
516
|
+
onClick: (e)=>{
|
|
517
|
+
e.stopPropagation();
|
|
518
|
+
chip.onClick?.();
|
|
519
|
+
},
|
|
520
|
+
children: [
|
|
521
|
+
CHIP_ICONS[chip.type],
|
|
522
|
+
void 0 !== chip.count && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_material_index_cjs_namespaceObject.ApTypography, {
|
|
523
|
+
variant: apollo_core_namespaceObject.FontVariantToken.fontSizeS,
|
|
524
|
+
children: chip.count
|
|
525
|
+
})
|
|
526
|
+
]
|
|
527
|
+
}, chip.type);
|
|
528
|
+
if (chip.tooltip) return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_material_index_cjs_namespaceObject.ApTooltip, {
|
|
529
|
+
placement: "bottom",
|
|
530
|
+
content: chip.tooltip,
|
|
531
|
+
children: button
|
|
532
|
+
}, chip.type);
|
|
533
|
+
return button;
|
|
534
|
+
})
|
|
462
535
|
})
|
|
463
536
|
]
|
|
464
537
|
})
|
|
@@ -538,20 +611,14 @@ const StageNodeComponent = (props)=>{
|
|
|
538
611
|
taskExecution: taskExecution,
|
|
539
612
|
isSelected: selectedTaskId === task.id,
|
|
540
613
|
isParallel: isParallel,
|
|
541
|
-
|
|
614
|
+
groupIndex: groupIndex,
|
|
615
|
+
taskIndex: taskIndex,
|
|
542
616
|
onTaskClick: handleTaskClick,
|
|
543
617
|
projectedDepth: task.id === activeDragId && projected ? projected.depth : void 0,
|
|
544
618
|
onTaskPlay: onTaskPlay,
|
|
545
619
|
isDragDisabled: !onTaskReorder,
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
onMenuOpen: ()=>{
|
|
549
|
-
taskStateReference.current = {
|
|
550
|
-
isParallel,
|
|
551
|
-
groupIndex,
|
|
552
|
-
taskIndex
|
|
553
|
-
};
|
|
554
|
-
}
|
|
620
|
+
...hasContextMenu && {
|
|
621
|
+
getContextMenuItems: buildContextMenuItems
|
|
555
622
|
}
|
|
556
623
|
}, task.id);
|
|
557
624
|
})
|
|
@@ -562,23 +629,11 @@ const StageNodeComponent = (props)=>{
|
|
|
562
629
|
})
|
|
563
630
|
})
|
|
564
631
|
}),
|
|
565
|
-
/*#__PURE__*/ (0,
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
isParallel: isActiveTaskParallel,
|
|
571
|
-
style: {
|
|
572
|
-
cursor: 'grabbing',
|
|
573
|
-
...taskWidthStyle
|
|
574
|
-
},
|
|
575
|
-
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_DraggableTask_cjs_namespaceObject.TaskContent, {
|
|
576
|
-
task: activeTask,
|
|
577
|
-
isDragging: true
|
|
578
|
-
})
|
|
579
|
-
})
|
|
580
|
-
}) : null
|
|
581
|
-
}), document.body)
|
|
632
|
+
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(StageNode_StageTaskDragOverlay, {
|
|
633
|
+
activeTask: activeTask,
|
|
634
|
+
isActiveTaskParallel: isActiveTaskParallel,
|
|
635
|
+
taskWidthStyle: taskWidthStyle
|
|
636
|
+
})
|
|
582
637
|
]
|
|
583
638
|
}) : /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.Column, {
|
|
584
639
|
py: 2,
|
|
@@ -632,6 +687,31 @@ const StageNodeComponent = (props)=>{
|
|
|
632
687
|
]
|
|
633
688
|
});
|
|
634
689
|
};
|
|
690
|
+
const StageNodeInnerMemo = /*#__PURE__*/ (0, external_react_namespaceObject.memo)(StageNodeInner);
|
|
691
|
+
const StageNodeComponent = ({ dragging, selected, id, width, execution, stageDetails, addTaskLabel, addTaskLoading, replaceTaskLabel, taskOptions, menuItems, pendingReplaceTask, onStageClick, onTaskAdd, onAddTaskFromToolbox, onTaskToolboxSearch, onTaskClick, onTaskGroupModification, onStageTitleChange, onTaskReorder, onReplaceTaskFromToolbox, onTaskPlay })=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(StageNodeInnerMemo, {
|
|
692
|
+
dragging: dragging,
|
|
693
|
+
selected: selected,
|
|
694
|
+
id: id,
|
|
695
|
+
width: width,
|
|
696
|
+
execution: execution,
|
|
697
|
+
stageDetails: stageDetails,
|
|
698
|
+
addTaskLabel: addTaskLabel,
|
|
699
|
+
addTaskLoading: addTaskLoading,
|
|
700
|
+
replaceTaskLabel: replaceTaskLabel,
|
|
701
|
+
taskOptions: taskOptions,
|
|
702
|
+
menuItems: menuItems,
|
|
703
|
+
pendingReplaceTask: pendingReplaceTask,
|
|
704
|
+
onStageClick: onStageClick,
|
|
705
|
+
onTaskAdd: onTaskAdd,
|
|
706
|
+
onAddTaskFromToolbox: onAddTaskFromToolbox,
|
|
707
|
+
onTaskToolboxSearch: onTaskToolboxSearch,
|
|
708
|
+
onTaskClick: onTaskClick,
|
|
709
|
+
onTaskGroupModification: onTaskGroupModification,
|
|
710
|
+
onStageTitleChange: onStageTitleChange,
|
|
711
|
+
onTaskReorder: onTaskReorder,
|
|
712
|
+
onReplaceTaskFromToolbox: onReplaceTaskFromToolbox,
|
|
713
|
+
onTaskPlay: onTaskPlay
|
|
714
|
+
});
|
|
635
715
|
const StageNode = /*#__PURE__*/ (0, external_react_namespaceObject.memo)(StageNodeComponent);
|
|
636
716
|
exports.StageNode = __webpack_exports__.StageNode;
|
|
637
717
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { StageNodeProps } from './StageNode.types';
|
|
2
|
-
export declare const StageNode: import("react").MemoExoticComponent<(
|
|
2
|
+
export declare const StageNode: import("react").MemoExoticComponent<({ dragging, selected, id, width, execution, stageDetails, addTaskLabel, addTaskLoading, replaceTaskLabel, taskOptions, menuItems, pendingReplaceTask, onStageClick, onTaskAdd, onAddTaskFromToolbox, onTaskToolboxSearch, onTaskClick, onTaskGroupModification, onStageTitleChange, onTaskReorder, onReplaceTaskFromToolbox, onTaskPlay, }: StageNodeProps) => import("react/jsx-runtime").JSX.Element>;
|
|
3
3
|
//# sourceMappingURL=StageNode.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StageNode.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/StageNode/StageNode.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"StageNode.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/StageNode/StageNode.tsx"],"names":[],"mappings":"AA6DA,OAAO,KAAK,EAEV,cAAc,EAEf,MAAM,mBAAmB,CAAC;AA4vB3B,eAAO,MAAM,SAAS,mXA7BnB,cAAc,6CA6BgC,CAAC"}
|