@uipath/apollo-react 4.24.4 → 4.25.1
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/BaseCanvas/BaseCanvas.cjs +2 -1
- package/dist/canvas/components/BaseCanvas/BaseCanvas.d.ts.map +1 -1
- package/dist/canvas/components/BaseCanvas/BaseCanvas.js +2 -1
- package/dist/canvas/components/BaseCanvas/BaseCanvas.types.d.ts +2 -0
- package/dist/canvas/components/BaseCanvas/BaseCanvas.types.d.ts.map +1 -1
- package/dist/canvas/components/BaseCanvas/CanvasProviders.cjs +19 -14
- package/dist/canvas/components/BaseCanvas/CanvasProviders.d.ts +2 -1
- package/dist/canvas/components/BaseCanvas/CanvasProviders.d.ts.map +1 -1
- package/dist/canvas/components/BaseCanvas/CanvasProviders.js +19 -14
- package/dist/canvas/components/BaseNode/BaseNodeContainer.cjs +5 -1
- package/dist/canvas/components/BaseNode/BaseNodeContainer.d.ts.map +1 -1
- package/dist/canvas/components/BaseNode/BaseNodeContainer.js +5 -1
- package/dist/canvas/components/ButtonHandle/ButtonHandle.cjs +1 -1
- package/dist/canvas/components/ButtonHandle/ButtonHandle.js +1 -1
- package/dist/canvas/components/CanvasTooltip.cjs +2 -3
- package/dist/canvas/components/CanvasTooltip.d.ts +2 -2
- package/dist/canvas/components/CanvasTooltip.d.ts.map +1 -1
- package/dist/canvas/components/CanvasTooltip.js +2 -3
- package/dist/canvas/components/ExecutionStatusIcon/ExecutionStatusIcon.cjs +1 -0
- package/dist/canvas/components/ExecutionStatusIcon/ExecutionStatusIcon.d.ts +1 -1
- package/dist/canvas/components/ExecutionStatusIcon/ExecutionStatusIcon.d.ts.map +1 -1
- package/dist/canvas/components/ExecutionStatusIcon/ExecutionStatusIcon.js +1 -0
- package/dist/canvas/components/LoopNode/IterationNavigator.cjs +143 -0
- package/dist/canvas/components/LoopNode/IterationNavigator.d.ts +7 -0
- package/dist/canvas/components/LoopNode/IterationNavigator.d.ts.map +1 -0
- package/dist/canvas/components/LoopNode/IterationNavigator.js +109 -0
- package/dist/canvas/components/LoopNode/LoopNode.cjs +45 -18
- package/dist/canvas/components/LoopNode/LoopNode.d.ts.map +1 -1
- package/dist/canvas/components/LoopNode/LoopNode.js +45 -18
- package/dist/canvas/components/LoopNode/LoopNode.types.d.ts +8 -0
- package/dist/canvas/components/LoopNode/LoopNode.types.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/AdhocTask.cjs +1 -0
- package/dist/canvas/components/StageNode/AdhocTask.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/AdhocTask.js +1 -0
- package/dist/canvas/components/StageNode/DraggableTask.cjs +1 -0
- package/dist/canvas/components/StageNode/DraggableTask.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/DraggableTask.js +1 -0
- package/dist/canvas/components/StageNode/EventDrivenTask.cjs +1 -0
- package/dist/canvas/components/StageNode/EventDrivenTask.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/EventDrivenTask.js +1 -0
- package/dist/canvas/components/StageNode/StageNode.cjs +5 -3
- package/dist/canvas/components/StageNode/StageNode.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/StageNode.js +5 -3
- package/dist/canvas/components/StageNode/StageNode.styles.cjs +4 -39
- package/dist/canvas/components/StageNode/StageNode.styles.d.ts +1 -14
- package/dist/canvas/components/StageNode/StageNode.styles.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/StageNode.styles.js +4 -33
- package/dist/canvas/components/StageNode/StageNode.types.d.ts +4 -2
- package/dist/canvas/components/StageNode/StageNode.types.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/StageNodeAdhocTaskGroups.cjs +3 -1
- package/dist/canvas/components/StageNode/StageNodeAdhocTaskGroups.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/StageNodeAdhocTaskGroups.js +3 -1
- package/dist/canvas/components/StageNode/StageNodeAllTaskGroups.cjs +9 -5
- package/dist/canvas/components/StageNode/StageNodeAllTaskGroups.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/StageNodeAllTaskGroups.js +9 -5
- package/dist/canvas/components/StageNode/StageNodeEventDrivenTaskGroups.cjs +3 -1
- package/dist/canvas/components/StageNode/StageNodeEventDrivenTaskGroups.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/StageNodeEventDrivenTaskGroups.js +3 -1
- package/dist/canvas/components/StageNode/StageNodeHeader.cjs +107 -151
- package/dist/canvas/components/StageNode/StageNodeHeader.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/StageNodeHeader.js +111 -155
- package/dist/canvas/components/StageNode/StageNodeSequentialTaskGroups.cjs +7 -3
- package/dist/canvas/components/StageNode/StageNodeSequentialTaskGroups.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/StageNodeSequentialTaskGroups.js +7 -3
- package/dist/canvas/components/StageNode/StageNodeTaskUtilities.cjs +11 -11
- package/dist/canvas/components/StageNode/StageNodeTaskUtilities.d.ts +14 -1
- package/dist/canvas/components/StageNode/StageNodeTaskUtilities.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/StageNodeTaskUtilities.js +11 -11
- package/dist/canvas/components/StageNode/StageTitleInput.cjs +122 -0
- package/dist/canvas/components/StageNode/StageTitleInput.d.ts +9 -0
- package/dist/canvas/components/StageNode/StageTitleInput.d.ts.map +1 -0
- package/dist/canvas/components/StageNode/StageTitleInput.js +88 -0
- package/dist/canvas/components/StageNode/useStageNodeLabels.cjs +122 -0
- package/dist/canvas/components/StageNode/useStageNodeLabels.d.ts +15 -0
- package/dist/canvas/components/StageNode/useStageNodeLabels.d.ts.map +1 -0
- package/dist/canvas/components/StageNode/useStageNodeLabels.js +88 -0
- package/dist/canvas/components/StickyNoteNode/StickyNoteNode.cjs +51 -38
- package/dist/canvas/components/StickyNoteNode/StickyNoteNode.d.ts.map +1 -1
- package/dist/canvas/components/StickyNoteNode/StickyNoteNode.js +49 -36
- package/dist/canvas/components/StickyNoteNode/StickyNoteNode.styles.cjs +2 -5
- package/dist/canvas/components/StickyNoteNode/StickyNoteNode.styles.d.ts.map +1 -1
- package/dist/canvas/components/StickyNoteNode/StickyNoteNode.styles.js +2 -5
- package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.cjs +5 -5
- package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.js +5 -5
- package/dist/canvas/components/Toolbox/Toolbox.cjs +7 -1
- package/dist/canvas/components/Toolbox/Toolbox.d.ts.map +1 -1
- package/dist/canvas/components/Toolbox/Toolbox.js +7 -1
- package/dist/canvas/index.cjs +65 -47
- package/dist/canvas/index.d.ts +2 -0
- package/dist/canvas/index.d.ts.map +1 -1
- package/dist/canvas/index.js +2 -1
- package/dist/canvas/locales/en.cjs +1 -1
- package/dist/canvas/locales/en.d.ts.map +1 -1
- package/dist/canvas/locales/en.js +1 -1
- package/dist/canvas/storybook-utils/decorators.d.ts.map +1 -1
- package/dist/canvas/styles/reactflow-reset.css +5 -1
- package/dist/canvas/styles/tailwind.canvas.css +1 -1
- package/dist/canvas/utils/adornment-resolver.cjs +4 -8
- package/dist/canvas/utils/adornment-resolver.d.ts +4 -1
- package/dist/canvas/utils/adornment-resolver.d.ts.map +1 -1
- package/dist/canvas/utils/adornment-resolver.js +4 -8
- package/dist/canvas/utils/testing.cjs +10 -1
- package/dist/canvas/utils/testing.d.ts +1 -1
- package/dist/canvas/utils/testing.d.ts.map +1 -1
- package/dist/canvas/utils/testing.js +10 -1
- package/dist/i18n/ApI18nProvider.cjs +3 -1
- package/dist/i18n/ApI18nProvider.d.ts.map +1 -1
- package/dist/i18n/ApI18nProvider.js +3 -1
- package/package.json +5 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StageNodeHeader.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/StageNode/StageNodeHeader.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"StageNodeHeader.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/StageNode/StageNodeHeader.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAgB,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAsJnF,eAAO,MAAM,eAAe,wGAxHzB;IACD,KAAK,EAAE,cAAc,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,kBAAkB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;CACvD,6CAkHwD,CAAC"}
|
|
@@ -1,15 +1,27 @@
|
|
|
1
1
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Icon, Padding, Spacing } from "@uipath/apollo-core";
|
|
3
|
-
import {
|
|
4
|
-
import { Button
|
|
5
|
-
import { memo
|
|
3
|
+
import { Row } from "../../layouts/index.js";
|
|
4
|
+
import { Button } from "@uipath/apollo-wind";
|
|
5
|
+
import { memo } from "react";
|
|
6
6
|
import { EntryConditionIcon, ExitConditionIcon, ReturnToOriginIcon } from "../../icons/index.js";
|
|
7
7
|
import { CanvasIcon } from "../../utils/icon-registry.js";
|
|
8
8
|
import { CanvasTooltip } from "../CanvasTooltip.js";
|
|
9
9
|
import { ExecutionStatusIcon } from "../ExecutionStatusIcon/index.js";
|
|
10
10
|
import { getExecutionStatusColor } from "../ExecutionStatusIcon/ExecutionStatusIcon.js";
|
|
11
|
-
import { StageChip, StageHeader
|
|
11
|
+
import { StageChip, StageHeader } from "./StageNode.styles.js";
|
|
12
12
|
import { StageHeaderChipType } from "./StageNode.types.js";
|
|
13
|
+
import { StageTitleInput } from "./StageTitleInput.js";
|
|
14
|
+
import { useStageNodeLabels } from "./useStageNodeLabels.js";
|
|
15
|
+
const SLA_ICON_CONFIG = {
|
|
16
|
+
warning: {
|
|
17
|
+
icon: 'triangle-alert',
|
|
18
|
+
iconColor: 'var(--canvas-warning-icon)'
|
|
19
|
+
},
|
|
20
|
+
error: {
|
|
21
|
+
icon: 'circle-alert',
|
|
22
|
+
iconColor: 'var(--canvas-error-icon)'
|
|
23
|
+
}
|
|
24
|
+
};
|
|
13
25
|
const CHIP_ICONS = {
|
|
14
26
|
[StageHeaderChipType.Entry]: /*#__PURE__*/ jsx(EntryConditionIcon, {
|
|
15
27
|
w: Icon.IconXs,
|
|
@@ -33,183 +45,127 @@ const CHIP_ICONS = {
|
|
|
33
45
|
})
|
|
34
46
|
};
|
|
35
47
|
const StageNodeHeaderInner = ({ props, isReadOnly, isException, status, handleTaskAddClick })=>{
|
|
36
|
-
const
|
|
48
|
+
const labels = useStageNodeLabels();
|
|
49
|
+
const { id, stageDetails, execution, onTaskAdd, onAddTaskFromToolbox, onStageTitleChange, loadingTaskIds } = props;
|
|
37
50
|
const isAddTaskDisabled = (loadingTaskIds?.size ?? 0) > 0;
|
|
38
51
|
const icon = stageDetails?.icon;
|
|
39
52
|
const statusLabel = execution?.stageStatus?.label;
|
|
40
53
|
const stageDuration = execution?.stageStatus?.duration;
|
|
41
|
-
const
|
|
42
|
-
const
|
|
43
|
-
const
|
|
44
|
-
const [label, setLabel] = useState(props.stageDetails.label);
|
|
45
|
-
useEffect(()=>{
|
|
46
|
-
setLabel(props.stageDetails.label);
|
|
47
|
-
}, [
|
|
48
|
-
props.stageDetails.label
|
|
49
|
-
]);
|
|
50
|
-
const handleStageTitleChange = useCallback((e)=>{
|
|
51
|
-
setIsStageTitleEditing(true);
|
|
52
|
-
setLabel(e.target.value);
|
|
53
|
-
}, []);
|
|
54
|
-
const handleStageTitleClickToSave = useCallback((e)=>{
|
|
55
|
-
if (isStageTitleEditing && !stageTitleRef.current?.contains(e.target)) {
|
|
56
|
-
setIsStageTitleEditing(false);
|
|
57
|
-
if (onStageTitleChange) {
|
|
58
|
-
if ('' === label.trim()) setLabel('Untitled Stage');
|
|
59
|
-
onStageTitleChange(label);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
}, [
|
|
63
|
-
isStageTitleEditing,
|
|
64
|
-
onStageTitleChange,
|
|
65
|
-
label
|
|
66
|
-
]);
|
|
67
|
-
useEffect(()=>{
|
|
68
|
-
if (isStageTitleEditing) document.addEventListener('click', handleStageTitleClickToSave);
|
|
69
|
-
return ()=>{
|
|
70
|
-
document.removeEventListener('click', handleStageTitleClickToSave);
|
|
71
|
-
};
|
|
72
|
-
}, [
|
|
73
|
-
handleStageTitleClickToSave,
|
|
74
|
-
isStageTitleEditing
|
|
75
|
-
]);
|
|
76
|
-
const handleStageTitleBlurToSave = useCallback(()=>{
|
|
77
|
-
if (isStageTitleEditing) {
|
|
78
|
-
setIsStageTitleEditing(false);
|
|
79
|
-
if (onStageTitleChange) {
|
|
80
|
-
if ('' === label.trim()) setLabel('Untitled Stage');
|
|
81
|
-
onStageTitleChange(label);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}, [
|
|
85
|
-
isStageTitleEditing,
|
|
86
|
-
onStageTitleChange,
|
|
87
|
-
label
|
|
88
|
-
]);
|
|
89
|
-
const handleStageTitleKeyDown = useCallback((e)=>{
|
|
90
|
-
if ('Enter' === e.key) {
|
|
91
|
-
setIsStageTitleEditing(false);
|
|
92
|
-
if (onStageTitleChange) onStageTitleChange(label);
|
|
93
|
-
}
|
|
94
|
-
if ('Escape' !== e.key) e.stopPropagation();
|
|
95
|
-
}, [
|
|
96
|
-
onStageTitleChange,
|
|
97
|
-
label
|
|
98
|
-
]);
|
|
54
|
+
const slaText = execution?.stageStatus?.slaText;
|
|
55
|
+
const slaIcon = execution?.stageStatus?.slaIcon;
|
|
56
|
+
const slaIndicator = slaIcon ? SLA_ICON_CONFIG[slaIcon] : void 0;
|
|
99
57
|
return /*#__PURE__*/ jsxs(StageHeader, {
|
|
100
58
|
isException: isException,
|
|
101
59
|
"data-testid": `stage-header-${id}`,
|
|
102
60
|
children: [
|
|
103
|
-
/*#__PURE__*/ jsxs(
|
|
104
|
-
|
|
105
|
-
align: "center",
|
|
106
|
-
flex: 1,
|
|
107
|
-
minW: 0,
|
|
61
|
+
/*#__PURE__*/ jsxs("div", {
|
|
62
|
+
className: "flex items-start justify-between gap-1",
|
|
108
63
|
children: [
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
64
|
+
/*#__PURE__*/ jsxs(Row, {
|
|
65
|
+
gap: Spacing.SpacingMicro,
|
|
66
|
+
align: "center",
|
|
112
67
|
flex: 1,
|
|
113
68
|
minW: 0,
|
|
114
69
|
children: [
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
70
|
+
icon,
|
|
71
|
+
/*#__PURE__*/ jsx(StageTitleInput, {
|
|
72
|
+
stageId: id,
|
|
73
|
+
label: stageDetails.label,
|
|
74
|
+
onChange: isReadOnly ? void 0 : onStageTitleChange,
|
|
75
|
+
className: "flex-1 min-w-0"
|
|
76
|
+
})
|
|
77
|
+
]
|
|
78
|
+
}),
|
|
79
|
+
/*#__PURE__*/ jsxs(Row, {
|
|
80
|
+
gap: Spacing.SpacingMicro,
|
|
81
|
+
align: "start",
|
|
82
|
+
py: Padding.PadS,
|
|
83
|
+
children: [
|
|
84
|
+
status && /*#__PURE__*/ jsx(CanvasTooltip, {
|
|
85
|
+
content: statusLabel,
|
|
86
|
+
placement: "top",
|
|
87
|
+
children: /*#__PURE__*/ jsx(Button, {
|
|
88
|
+
variant: "ghost",
|
|
89
|
+
size: "icon",
|
|
90
|
+
className: "h-6 w-6",
|
|
91
|
+
"aria-label": statusLabel,
|
|
92
|
+
children: 'NotExecuted' === status ? /*#__PURE__*/ jsx(CanvasIcon, {
|
|
93
|
+
icon: "hourglass",
|
|
94
|
+
size: 20,
|
|
95
|
+
color: getExecutionStatusColor('NotExecuted')
|
|
96
|
+
}) : /*#__PURE__*/ jsx(ExecutionStatusIcon, {
|
|
97
|
+
status: status,
|
|
98
|
+
size: 20
|
|
137
99
|
})
|
|
138
100
|
})
|
|
139
101
|
}),
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
CHIP_ICONS[chip.type],
|
|
155
|
-
void 0 !== chip.count && /*#__PURE__*/ jsx("span", {
|
|
156
|
-
className: "text-xs",
|
|
157
|
-
children: chip.count
|
|
158
|
-
})
|
|
159
|
-
]
|
|
160
|
-
}, chip.type);
|
|
161
|
-
if (chip.tooltip) return /*#__PURE__*/ jsx(CanvasTooltip, {
|
|
162
|
-
placement: "bottom",
|
|
163
|
-
content: chip.tooltip,
|
|
164
|
-
children: button
|
|
165
|
-
}, chip.type);
|
|
166
|
-
return button;
|
|
102
|
+
(onTaskAdd || onAddTaskFromToolbox) && !isReadOnly && /*#__PURE__*/ jsx(CanvasTooltip, {
|
|
103
|
+
content: labels.addTask,
|
|
104
|
+
placement: "top",
|
|
105
|
+
children: /*#__PURE__*/ jsx(Button, {
|
|
106
|
+
variant: "ghost",
|
|
107
|
+
size: "icon",
|
|
108
|
+
className: "h-6 w-6",
|
|
109
|
+
onClick: handleTaskAddClick,
|
|
110
|
+
"aria-label": labels.addTask,
|
|
111
|
+
disabled: isAddTaskDisabled,
|
|
112
|
+
children: /*#__PURE__*/ jsx(CanvasIcon, {
|
|
113
|
+
icon: "plus",
|
|
114
|
+
size: 20
|
|
115
|
+
})
|
|
167
116
|
})
|
|
168
117
|
})
|
|
169
118
|
]
|
|
170
119
|
})
|
|
171
120
|
]
|
|
172
121
|
}),
|
|
173
|
-
/*#__PURE__*/ jsxs(
|
|
174
|
-
|
|
175
|
-
align: "start",
|
|
176
|
-
py: Padding.PadS,
|
|
122
|
+
(slaText || stageDetails.headerChips && stageDetails.headerChips.length > 0) && /*#__PURE__*/ jsxs("div", {
|
|
123
|
+
className: "mt-1 flex flex-wrap items-center justify-between gap-2",
|
|
177
124
|
children: [
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
}) : /*#__PURE__*/ jsx(ExecutionStatusIcon, {
|
|
191
|
-
status: status,
|
|
192
|
-
size: 20
|
|
193
|
-
})
|
|
194
|
-
})
|
|
125
|
+
slaText && /*#__PURE__*/ jsxs("span", {
|
|
126
|
+
className: "inline-flex items-center gap-1 text-xs text-foreground-muted",
|
|
127
|
+
"data-testid": `stage-sla-${id}`,
|
|
128
|
+
"data-sla-icon": slaIcon,
|
|
129
|
+
children: [
|
|
130
|
+
slaIndicator && /*#__PURE__*/ jsx(CanvasIcon, {
|
|
131
|
+
icon: slaIndicator.icon,
|
|
132
|
+
size: 16,
|
|
133
|
+
color: slaIndicator.iconColor
|
|
134
|
+
}),
|
|
135
|
+
slaText
|
|
136
|
+
]
|
|
195
137
|
}),
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
138
|
+
stageDetails.headerChips && stageDetails.headerChips.length > 0 && /*#__PURE__*/ jsx("div", {
|
|
139
|
+
className: "flex flex-wrap items-center gap-1",
|
|
140
|
+
children: stageDetails.headerChips.map((chip)=>{
|
|
141
|
+
const button = /*#__PURE__*/ jsxs(StageChip, {
|
|
142
|
+
type: "button",
|
|
143
|
+
"aria-label": 'string' == typeof chip.tooltip ? chip.tooltip : chip.type,
|
|
144
|
+
onClick: (e)=>{
|
|
145
|
+
e.stopPropagation();
|
|
146
|
+
chip.onClick?.();
|
|
147
|
+
},
|
|
148
|
+
children: [
|
|
149
|
+
CHIP_ICONS[chip.type],
|
|
150
|
+
void 0 !== chip.count && /*#__PURE__*/ jsx("span", {
|
|
151
|
+
className: "text-xs",
|
|
152
|
+
children: chip.count
|
|
153
|
+
})
|
|
154
|
+
]
|
|
155
|
+
}, chip.type);
|
|
156
|
+
if (chip.tooltip) return /*#__PURE__*/ jsx(CanvasTooltip, {
|
|
157
|
+
placement: "bottom",
|
|
158
|
+
content: chip.tooltip,
|
|
159
|
+
children: button
|
|
160
|
+
}, chip.type);
|
|
161
|
+
return button;
|
|
210
162
|
})
|
|
211
163
|
})
|
|
212
164
|
]
|
|
165
|
+
}),
|
|
166
|
+
stageDuration && /*#__PURE__*/ jsx("span", {
|
|
167
|
+
className: "mt-1 text-xs text-foreground-muted",
|
|
168
|
+
children: stageDuration
|
|
213
169
|
})
|
|
214
170
|
]
|
|
215
171
|
});
|
|
@@ -38,8 +38,10 @@ const useStageTaskDragHandler_cjs_namespaceObject = require("./hooks/useStageTas
|
|
|
38
38
|
const external_StageNode_styles_cjs_namespaceObject = require("./StageNode.styles.cjs");
|
|
39
39
|
const external_StageNodeTaskUtilities_cjs_namespaceObject = require("./StageNodeTaskUtilities.cjs");
|
|
40
40
|
const external_StageTaskDragOverlay_cjs_namespaceObject = require("./StageTaskDragOverlay.cjs");
|
|
41
|
+
const external_useStageNodeLabels_cjs_namespaceObject = require("./useStageNodeLabels.cjs");
|
|
41
42
|
const StageNodeSequentialTaskGroups = ({ props, sequentialTaskGroups, sequentialTasks, allTasks, isReadOnly, selectedTaskId, taskWidthStyle, hasContextMenu, handleTaskClick, handleReorderSequentialTasks, generateReplaceTaskMenuItemForTask })=>{
|
|
42
43
|
const { execution, onTaskGroupModification, onTaskReorder, hideParallelOptions, loadingTaskIds } = props;
|
|
44
|
+
const labels = (0, external_useStageNodeLabels_cjs_namespaceObject.useStageNodeLabels)();
|
|
43
45
|
const sequentialTaskIds = (0, external_react_namespaceObject.useMemo)(()=>sequentialTasks.map(({ task })=>task.id), [
|
|
44
46
|
sequentialTasks
|
|
45
47
|
]);
|
|
@@ -88,7 +90,8 @@ const StageNodeSequentialTaskGroups = ({ props, sequentialTaskGroups, sequential
|
|
|
88
90
|
isAboveParallel: (sequentialTaskGroups[groupIndex - 1]?.length ?? 0) > 1,
|
|
89
91
|
isBelowParallel: (sequentialTaskGroups[groupIndex + 1]?.length ?? 0) > 1,
|
|
90
92
|
reGroupTaskFunction: handleTaskRegroup,
|
|
91
|
-
hideParallelOptions
|
|
93
|
+
hideParallelOptions,
|
|
94
|
+
labels: labels.contextMenu
|
|
92
95
|
});
|
|
93
96
|
return [
|
|
94
97
|
...items,
|
|
@@ -102,7 +105,8 @@ const StageNodeSequentialTaskGroups = ({ props, sequentialTaskGroups, sequential
|
|
|
102
105
|
hideParallelOptions,
|
|
103
106
|
handleTaskRegroup,
|
|
104
107
|
generateReplaceTaskMenuItemForTask,
|
|
105
|
-
allTasks
|
|
108
|
+
allTasks,
|
|
109
|
+
labels.contextMenu
|
|
106
110
|
]);
|
|
107
111
|
const sensors = (0, core_namespaceObject.useSensors)((0, core_namespaceObject.useSensor)(core_namespaceObject.PointerSensor, {
|
|
108
112
|
activationConstraint: {
|
|
@@ -138,7 +142,7 @@ const StageNodeSequentialTaskGroups = ({ props, sequentialTaskGroups, sequential
|
|
|
138
142
|
isParallel && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_StageNode_styles_cjs_namespaceObject.StageParallelLabel, {
|
|
139
143
|
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
|
|
140
144
|
className: "text-xs",
|
|
141
|
-
children:
|
|
145
|
+
children: labels.parallel
|
|
142
146
|
})
|
|
143
147
|
}),
|
|
144
148
|
taskGroup.map((task, taskIndex)=>{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StageNodeSequentialTaskGroups.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/StageNode/StageNodeSequentialTaskGroups.tsx"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,aAAa,EAAwB,MAAM,OAAO,CAAC;AAMjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AASvD,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"StageNodeSequentialTaskGroups.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/StageNode/StageNodeSequentialTaskGroups.tsx"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,aAAa,EAAwB,MAAM,OAAO,CAAC;AAMjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AASvD,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAKvF,eAAO,MAAM,6BAA6B,GAAI,4MAY3C;IACD,KAAK,EAAE,cAAc,CAAC;IACtB,oBAAoB,EAAE,aAAa,EAAE,EAAE,CAAC;IACxC,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,QAAQ,EAAE,aAAa,EAAE,EAAE,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,EAAE,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IACtE,4BAA4B,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,KAAK,IAAI,CAAC;IACpE,kCAAkC,EAAE,CAClC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,OAAO,KAChB,YAAY,GAAG,SAAS,CAAC;CAC/B,mDAoLA,CAAC"}
|
|
@@ -10,8 +10,10 @@ import { useStageTaskDragHandler } from "./hooks/useStageTaskDragHandler.js";
|
|
|
10
10
|
import { StageParallelBracket, StageParallelLabel, StageTaskGroupContainer, StageTaskList } from "./StageNode.styles.js";
|
|
11
11
|
import { getContextMenuItems, getDivider } from "./StageNodeTaskUtilities.js";
|
|
12
12
|
import { StageTaskDragOverlay } from "./StageTaskDragOverlay.js";
|
|
13
|
+
import { useStageNodeLabels } from "./useStageNodeLabels.js";
|
|
13
14
|
const StageNodeSequentialTaskGroups = ({ props, sequentialTaskGroups, sequentialTasks, allTasks, isReadOnly, selectedTaskId, taskWidthStyle, hasContextMenu, handleTaskClick, handleReorderSequentialTasks, generateReplaceTaskMenuItemForTask })=>{
|
|
14
15
|
const { execution, onTaskGroupModification, onTaskReorder, hideParallelOptions, loadingTaskIds } = props;
|
|
16
|
+
const labels = useStageNodeLabels();
|
|
15
17
|
const sequentialTaskIds = useMemo(()=>sequentialTasks.map(({ task })=>task.id), [
|
|
16
18
|
sequentialTasks
|
|
17
19
|
]);
|
|
@@ -60,7 +62,8 @@ const StageNodeSequentialTaskGroups = ({ props, sequentialTaskGroups, sequential
|
|
|
60
62
|
isAboveParallel: (sequentialTaskGroups[groupIndex - 1]?.length ?? 0) > 1,
|
|
61
63
|
isBelowParallel: (sequentialTaskGroups[groupIndex + 1]?.length ?? 0) > 1,
|
|
62
64
|
reGroupTaskFunction: handleTaskRegroup,
|
|
63
|
-
hideParallelOptions
|
|
65
|
+
hideParallelOptions,
|
|
66
|
+
labels: labels.contextMenu
|
|
64
67
|
});
|
|
65
68
|
return [
|
|
66
69
|
...items,
|
|
@@ -74,7 +77,8 @@ const StageNodeSequentialTaskGroups = ({ props, sequentialTaskGroups, sequential
|
|
|
74
77
|
hideParallelOptions,
|
|
75
78
|
handleTaskRegroup,
|
|
76
79
|
generateReplaceTaskMenuItemForTask,
|
|
77
|
-
allTasks
|
|
80
|
+
allTasks,
|
|
81
|
+
labels.contextMenu
|
|
78
82
|
]);
|
|
79
83
|
const sensors = useSensors(useSensor(PointerSensor, {
|
|
80
84
|
activationConstraint: {
|
|
@@ -110,7 +114,7 @@ const StageNodeSequentialTaskGroups = ({ props, sequentialTaskGroups, sequential
|
|
|
110
114
|
isParallel && /*#__PURE__*/ jsx(StageParallelLabel, {
|
|
111
115
|
children: /*#__PURE__*/ jsx("span", {
|
|
112
116
|
className: "text-xs",
|
|
113
|
-
children:
|
|
117
|
+
children: labels.parallel
|
|
114
118
|
})
|
|
115
119
|
}),
|
|
116
120
|
taskGroup.map((task, taskIndex)=>{
|
|
@@ -30,18 +30,18 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
30
30
|
getContextMenuItems: ()=>getContextMenuItems
|
|
31
31
|
});
|
|
32
32
|
const GroupModificationUtils_cjs_namespaceObject = require("../../utils/GroupModificationUtils.cjs");
|
|
33
|
-
const getContextMenuItems = ({ isParallelGroup, groupIndex, tasksLength, groupIndexInAllTasks, taskIndexInAllTasks, isAboveParallel, isBelowParallel, reGroupTaskFunction, hideParallelOptions = false })=>{
|
|
33
|
+
const getContextMenuItems = ({ isParallelGroup, groupIndex, tasksLength, groupIndexInAllTasks, taskIndexInAllTasks, isAboveParallel, isBelowParallel, reGroupTaskFunction, hideParallelOptions = false, labels })=>{
|
|
34
34
|
const CONTEXT_MENU_ITEMS = {
|
|
35
|
-
MOVE_UP: getMenuItem('move-up',
|
|
36
|
-
MOVE_DOWN: getMenuItem('move-down',
|
|
37
|
-
UNGROUP_ALL: getMenuItem('ungroup',
|
|
38
|
-
SPLIT_TASK: getMenuItem('split',
|
|
39
|
-
REMOVE_GROUP: getMenuItem('remove-group',
|
|
40
|
-
REMOVE_TASK: getMenuItem('remove-task',
|
|
41
|
-
CREATE_PARALLEL_GROUP_ABOVE: getMenuItem('group-with-up',
|
|
42
|
-
CREATE_PARALLEL_GROUP_BELOW: getMenuItem('group-with-down',
|
|
43
|
-
ADD_TO_PARALLEL_GROUP_ABOVE: getMenuItem('add-to-group-with-up',
|
|
44
|
-
ADD_TO_PARALLEL_GROUP_BELOW: getMenuItem('add-to-group-with-down',
|
|
35
|
+
MOVE_UP: getMenuItem('move-up', labels.moveUp, ()=>reGroupTaskFunction(GroupModificationUtils_cjs_namespaceObject.GroupModificationType.TASK_GROUP_UP, groupIndexInAllTasks, taskIndexInAllTasks)),
|
|
36
|
+
MOVE_DOWN: getMenuItem('move-down', labels.moveDown, ()=>reGroupTaskFunction(GroupModificationUtils_cjs_namespaceObject.GroupModificationType.TASK_GROUP_DOWN, groupIndexInAllTasks, taskIndexInAllTasks)),
|
|
37
|
+
UNGROUP_ALL: getMenuItem('ungroup', labels.ungroupParallelTasks, ()=>reGroupTaskFunction(GroupModificationUtils_cjs_namespaceObject.GroupModificationType.UNGROUP_ALL_TASKS, groupIndexInAllTasks, taskIndexInAllTasks)),
|
|
38
|
+
SPLIT_TASK: getMenuItem('split', labels.removeFromParallelGroup, ()=>reGroupTaskFunction(GroupModificationUtils_cjs_namespaceObject.GroupModificationType.SPLIT_GROUP, groupIndexInAllTasks, taskIndexInAllTasks)),
|
|
39
|
+
REMOVE_GROUP: getMenuItem('remove-group', labels.removeGroupFromStage, ()=>reGroupTaskFunction(GroupModificationUtils_cjs_namespaceObject.GroupModificationType.REMOVE_GROUP, groupIndexInAllTasks, taskIndexInAllTasks)),
|
|
40
|
+
REMOVE_TASK: getMenuItem('remove-task', labels.deleteTask, ()=>reGroupTaskFunction(GroupModificationUtils_cjs_namespaceObject.GroupModificationType.REMOVE_TASK, groupIndexInAllTasks, taskIndexInAllTasks)),
|
|
41
|
+
CREATE_PARALLEL_GROUP_ABOVE: getMenuItem('group-with-up', labels.createParallelGroupWithTaskAbove, ()=>reGroupTaskFunction(GroupModificationUtils_cjs_namespaceObject.GroupModificationType.MERGE_GROUP_UP, groupIndexInAllTasks, taskIndexInAllTasks)),
|
|
42
|
+
CREATE_PARALLEL_GROUP_BELOW: getMenuItem('group-with-down', labels.createParallelGroupWithTaskBelow, ()=>reGroupTaskFunction(GroupModificationUtils_cjs_namespaceObject.GroupModificationType.MERGE_GROUP_DOWN, groupIndexInAllTasks, taskIndexInAllTasks)),
|
|
43
|
+
ADD_TO_PARALLEL_GROUP_ABOVE: getMenuItem('add-to-group-with-up', labels.addTaskToParallelGroupAbove, ()=>reGroupTaskFunction(GroupModificationUtils_cjs_namespaceObject.GroupModificationType.MERGE_GROUP_UP, groupIndexInAllTasks, taskIndexInAllTasks)),
|
|
44
|
+
ADD_TO_PARALLEL_GROUP_BELOW: getMenuItem('add-to-group-with-down', labels.addTaskToParallelGroupBelow, ()=>reGroupTaskFunction(GroupModificationUtils_cjs_namespaceObject.GroupModificationType.MERGE_GROUP_DOWN, groupIndexInAllTasks, taskIndexInAllTasks)),
|
|
45
45
|
DIVIDER: getDivider()
|
|
46
46
|
};
|
|
47
47
|
const items = [];
|
|
@@ -1,7 +1,19 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
2
|
import { GroupModificationType } from '../../utils/GroupModificationUtils';
|
|
3
3
|
import type { NodeMenuAction, NodeMenuItem } from '../NodeContextMenu';
|
|
4
|
-
export
|
|
4
|
+
export interface StageContextMenuLabels {
|
|
5
|
+
moveUp: string;
|
|
6
|
+
moveDown: string;
|
|
7
|
+
ungroupParallelTasks: string;
|
|
8
|
+
removeFromParallelGroup: string;
|
|
9
|
+
removeGroupFromStage: string;
|
|
10
|
+
deleteTask: string;
|
|
11
|
+
createParallelGroupWithTaskAbove: string;
|
|
12
|
+
createParallelGroupWithTaskBelow: string;
|
|
13
|
+
addTaskToParallelGroupAbove: string;
|
|
14
|
+
addTaskToParallelGroupBelow: string;
|
|
15
|
+
}
|
|
16
|
+
export declare const getContextMenuItems: ({ isParallelGroup, groupIndex, tasksLength, groupIndexInAllTasks, taskIndexInAllTasks, isAboveParallel, isBelowParallel, reGroupTaskFunction, hideParallelOptions, labels, }: {
|
|
5
17
|
isParallelGroup: boolean;
|
|
6
18
|
groupIndex: number;
|
|
7
19
|
tasksLength: number;
|
|
@@ -11,6 +23,7 @@ export declare const getContextMenuItems: ({ isParallelGroup, groupIndex, tasksL
|
|
|
11
23
|
isBelowParallel: boolean;
|
|
12
24
|
reGroupTaskFunction: (groupModificationType: GroupModificationType, groupIndex: number, taskIndex: number) => void;
|
|
13
25
|
hideParallelOptions?: boolean;
|
|
26
|
+
labels: StageContextMenuLabels;
|
|
14
27
|
}) => NodeMenuItem[];
|
|
15
28
|
export declare function getMenuItem(id: string | undefined, label: string | undefined, onClick: () => void, isDisabled?: boolean): NodeMenuItem;
|
|
16
29
|
export declare const getDivider: () => NodeMenuItem;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StageNodeTaskUtilities.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/StageNode/StageNodeTaskUtilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"StageNodeTaskUtilities.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/StageNode/StageNodeTaskUtilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvE,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,uBAAuB,EAAE,MAAM,CAAC;IAChC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,gCAAgC,EAAE,MAAM,CAAC;IACzC,gCAAgC,EAAE,MAAM,CAAC;IACzC,2BAA2B,EAAE,MAAM,CAAC;IACpC,2BAA2B,EAAE,MAAM,CAAC;CACrC;AAED,eAAO,MAAM,mBAAmB,GAAI,8KAWjC;IACD,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,mBAAmB,EAAE,CACnB,qBAAqB,EAAE,qBAAqB,EAC5C,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,KACd,IAAI,CAAC;IACV,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,MAAM,EAAE,sBAAsB,CAAC;CAChC,KAAG,YAAY,EA+Hf,CAAC;AAEF,wBAAgB,WAAW,CACzB,EAAE,EAAE,MAAM,YAAO,EACjB,KAAK,EAAE,MAAM,YAAU,EACvB,OAAO,EAAE,MAAM,IAAI,EACnB,UAAU,UAAQ,GACjB,YAAY,CAEd;AAED,eAAO,MAAM,UAAU,QAAO,YAI7B,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,WAAW,CAAC;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAMD,eAAO,MAAM,kBAAkB,GAC7B,WAAW,YAAY,EAAE,GAAG,SAAS,EACrC,aAAa,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,KAC1C,mBAAmB,EAwBrB,CAAC"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { GroupModificationType } from "../../utils/GroupModificationUtils.js";
|
|
2
|
-
const getContextMenuItems = ({ isParallelGroup, groupIndex, tasksLength, groupIndexInAllTasks, taskIndexInAllTasks, isAboveParallel, isBelowParallel, reGroupTaskFunction, hideParallelOptions = false })=>{
|
|
2
|
+
const getContextMenuItems = ({ isParallelGroup, groupIndex, tasksLength, groupIndexInAllTasks, taskIndexInAllTasks, isAboveParallel, isBelowParallel, reGroupTaskFunction, hideParallelOptions = false, labels })=>{
|
|
3
3
|
const CONTEXT_MENU_ITEMS = {
|
|
4
|
-
MOVE_UP: getMenuItem('move-up',
|
|
5
|
-
MOVE_DOWN: getMenuItem('move-down',
|
|
6
|
-
UNGROUP_ALL: getMenuItem('ungroup',
|
|
7
|
-
SPLIT_TASK: getMenuItem('split',
|
|
8
|
-
REMOVE_GROUP: getMenuItem('remove-group',
|
|
9
|
-
REMOVE_TASK: getMenuItem('remove-task',
|
|
10
|
-
CREATE_PARALLEL_GROUP_ABOVE: getMenuItem('group-with-up',
|
|
11
|
-
CREATE_PARALLEL_GROUP_BELOW: getMenuItem('group-with-down',
|
|
12
|
-
ADD_TO_PARALLEL_GROUP_ABOVE: getMenuItem('add-to-group-with-up',
|
|
13
|
-
ADD_TO_PARALLEL_GROUP_BELOW: getMenuItem('add-to-group-with-down',
|
|
4
|
+
MOVE_UP: getMenuItem('move-up', labels.moveUp, ()=>reGroupTaskFunction(GroupModificationType.TASK_GROUP_UP, groupIndexInAllTasks, taskIndexInAllTasks)),
|
|
5
|
+
MOVE_DOWN: getMenuItem('move-down', labels.moveDown, ()=>reGroupTaskFunction(GroupModificationType.TASK_GROUP_DOWN, groupIndexInAllTasks, taskIndexInAllTasks)),
|
|
6
|
+
UNGROUP_ALL: getMenuItem('ungroup', labels.ungroupParallelTasks, ()=>reGroupTaskFunction(GroupModificationType.UNGROUP_ALL_TASKS, groupIndexInAllTasks, taskIndexInAllTasks)),
|
|
7
|
+
SPLIT_TASK: getMenuItem('split', labels.removeFromParallelGroup, ()=>reGroupTaskFunction(GroupModificationType.SPLIT_GROUP, groupIndexInAllTasks, taskIndexInAllTasks)),
|
|
8
|
+
REMOVE_GROUP: getMenuItem('remove-group', labels.removeGroupFromStage, ()=>reGroupTaskFunction(GroupModificationType.REMOVE_GROUP, groupIndexInAllTasks, taskIndexInAllTasks)),
|
|
9
|
+
REMOVE_TASK: getMenuItem('remove-task', labels.deleteTask, ()=>reGroupTaskFunction(GroupModificationType.REMOVE_TASK, groupIndexInAllTasks, taskIndexInAllTasks)),
|
|
10
|
+
CREATE_PARALLEL_GROUP_ABOVE: getMenuItem('group-with-up', labels.createParallelGroupWithTaskAbove, ()=>reGroupTaskFunction(GroupModificationType.MERGE_GROUP_UP, groupIndexInAllTasks, taskIndexInAllTasks)),
|
|
11
|
+
CREATE_PARALLEL_GROUP_BELOW: getMenuItem('group-with-down', labels.createParallelGroupWithTaskBelow, ()=>reGroupTaskFunction(GroupModificationType.MERGE_GROUP_DOWN, groupIndexInAllTasks, taskIndexInAllTasks)),
|
|
12
|
+
ADD_TO_PARALLEL_GROUP_ABOVE: getMenuItem('add-to-group-with-up', labels.addTaskToParallelGroupAbove, ()=>reGroupTaskFunction(GroupModificationType.MERGE_GROUP_UP, groupIndexInAllTasks, taskIndexInAllTasks)),
|
|
13
|
+
ADD_TO_PARALLEL_GROUP_BELOW: getMenuItem('add-to-group-with-down', labels.addTaskToParallelGroupBelow, ()=>reGroupTaskFunction(GroupModificationType.MERGE_GROUP_DOWN, groupIndexInAllTasks, taskIndexInAllTasks)),
|
|
14
14
|
DIVIDER: getDivider()
|
|
15
15
|
};
|
|
16
16
|
const items = [];
|