@uipath/apollo-react 3.44.0 → 3.44.2-pr255.af80ea0
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/StageNode/CrossStageTaskDrag.stories.cjs +581 -0
- package/dist/canvas/components/StageNode/CrossStageTaskDrag.stories.d.ts +6 -0
- package/dist/canvas/components/StageNode/CrossStageTaskDrag.stories.d.ts.map +1 -0
- package/dist/canvas/components/StageNode/CrossStageTaskDrag.stories.js +544 -0
- package/dist/canvas/components/StageNode/DropPlaceholder.cjs +106 -0
- package/dist/canvas/components/StageNode/DropPlaceholder.d.ts +10 -0
- package/dist/canvas/components/StageNode/DropPlaceholder.d.ts.map +1 -0
- package/dist/canvas/components/StageNode/DropPlaceholder.js +72 -0
- package/dist/canvas/components/StageNode/StageNode.cjs +334 -389
- package/dist/canvas/components/StageNode/StageNode.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/StageNode.js +336 -391
- package/dist/canvas/components/StageNode/StageNode.stories.cjs +1910 -1416
- package/dist/canvas/components/StageNode/StageNode.stories.d.ts +1 -1
- package/dist/canvas/components/StageNode/StageNode.stories.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/StageNode.stories.js +1906 -1412
- package/dist/canvas/components/StageNode/StageNode.styles.cjs +1 -1
- package/dist/canvas/components/StageNode/StageNode.styles.js +1 -1
- package/dist/canvas/components/StageNode/StageNode.types.d.ts +26 -10
- package/dist/canvas/components/StageNode/StageNode.types.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/StageNodeTaskUtilities.cjs +10 -5
- package/dist/canvas/components/StageNode/StageNodeTaskUtilities.d.ts +2 -1
- package/dist/canvas/components/StageNode/StageNodeTaskUtilities.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/StageNodeTaskUtilities.js +6 -4
- package/dist/canvas/components/StageNode/TaskMenu.cjs +11 -43
- package/dist/canvas/components/StageNode/TaskMenu.d.ts +1 -6
- package/dist/canvas/components/StageNode/TaskMenu.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/TaskMenu.js +13 -35
- package/dist/canvas/components/StageNode/index.cjs +17 -3
- package/dist/canvas/components/StageNode/index.d.ts +4 -1
- package/dist/canvas/components/StageNode/index.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/index.js +3 -1
- package/dist/canvas/components/TaskNode/PlaceholderTaskNode.cjs +51 -0
- package/dist/canvas/components/TaskNode/PlaceholderTaskNode.d.ts +8 -0
- package/dist/canvas/components/TaskNode/PlaceholderTaskNode.d.ts.map +1 -0
- package/dist/canvas/components/TaskNode/PlaceholderTaskNode.js +17 -0
- package/dist/canvas/components/TaskNode/TaskNode.cjs +235 -0
- package/dist/canvas/components/TaskNode/TaskNode.d.ts +11 -0
- package/dist/canvas/components/TaskNode/TaskNode.d.ts.map +1 -0
- package/dist/canvas/components/TaskNode/TaskNode.js +198 -0
- package/dist/canvas/components/TaskNode/TaskNode.stories.cjs +558 -0
- package/dist/canvas/components/TaskNode/TaskNode.stories.d.ts +8 -0
- package/dist/canvas/components/TaskNode/TaskNode.stories.d.ts.map +1 -0
- package/dist/canvas/components/TaskNode/TaskNode.stories.js +515 -0
- package/dist/canvas/components/TaskNode/TaskNode.types.d.ts +40 -0
- package/dist/canvas/components/TaskNode/TaskNode.types.d.ts.map +1 -0
- package/dist/canvas/components/TaskNode/TaskNodeContext.cjs +86 -0
- package/dist/canvas/components/TaskNode/TaskNodeContext.d.ts +24 -0
- package/dist/canvas/components/TaskNode/TaskNodeContext.d.ts.map +1 -0
- package/dist/canvas/components/TaskNode/TaskNodeContext.js +40 -0
- package/dist/canvas/components/TaskNode/index.cjs +82 -0
- package/dist/canvas/components/TaskNode/index.d.ts +8 -0
- package/dist/canvas/components/TaskNode/index.d.ts.map +1 -0
- package/dist/canvas/components/TaskNode/index.js +6 -0
- package/dist/canvas/components/TaskNode/taskReorderUtils.cjs +206 -0
- package/dist/canvas/components/TaskNode/taskReorderUtils.d.ts +23 -0
- package/dist/canvas/components/TaskNode/taskReorderUtils.d.ts.map +1 -0
- package/dist/canvas/components/TaskNode/taskReorderUtils.js +154 -0
- package/dist/canvas/components/TaskNode/useTaskPositions.cjs +153 -0
- package/dist/canvas/components/TaskNode/useTaskPositions.d.ts +29 -0
- package/dist/canvas/components/TaskNode/useTaskPositions.d.ts.map +1 -0
- package/dist/canvas/components/TaskNode/useTaskPositions.js +110 -0
- package/dist/canvas/core/TaskTypeRegistry.cjs +132 -0
- package/dist/canvas/core/TaskTypeRegistry.d.ts +18 -0
- package/dist/canvas/core/TaskTypeRegistry.d.ts.map +1 -0
- package/dist/canvas/core/TaskTypeRegistry.js +98 -0
- package/dist/canvas/core/index.cjs +21 -3
- package/dist/canvas/core/index.d.ts +2 -0
- package/dist/canvas/core/index.d.ts.map +1 -1
- package/dist/canvas/core/index.js +2 -0
- package/dist/canvas/core/useTaskTypeRegistry.cjs +82 -0
- package/dist/canvas/core/useTaskTypeRegistry.d.ts +13 -0
- package/dist/canvas/core/useTaskTypeRegistry.d.ts.map +1 -0
- package/dist/canvas/core/useTaskTypeRegistry.js +33 -0
- package/dist/canvas/hooks/CrossStageDragContext.cjs +45 -0
- package/dist/canvas/hooks/CrossStageDragContext.d.ts +8 -0
- package/dist/canvas/hooks/CrossStageDragContext.d.ts.map +1 -0
- package/dist/canvas/hooks/CrossStageDragContext.js +8 -0
- package/dist/canvas/hooks/calculateTaskDropPosition.cjs +253 -0
- package/dist/canvas/hooks/calculateTaskDropPosition.d.ts +11 -0
- package/dist/canvas/hooks/calculateTaskDropPosition.d.ts.map +1 -0
- package/dist/canvas/hooks/calculateTaskDropPosition.js +216 -0
- package/dist/canvas/hooks/index.cjs +57 -30
- package/dist/canvas/hooks/index.d.ts +3 -0
- package/dist/canvas/hooks/index.d.ts.map +1 -1
- package/dist/canvas/hooks/index.js +3 -0
- package/dist/canvas/hooks/useCrossStageTaskDrag.cjs +346 -0
- package/dist/canvas/hooks/useCrossStageTaskDrag.d.ts +44 -0
- package/dist/canvas/hooks/useCrossStageTaskDrag.d.ts.map +1 -0
- package/dist/canvas/hooks/useCrossStageTaskDrag.js +312 -0
- package/dist/canvas/hooks/useTaskCopyPaste.cjs +155 -0
- package/dist/canvas/hooks/useTaskCopyPaste.d.ts +34 -0
- package/dist/canvas/hooks/useTaskCopyPaste.d.ts.map +1 -0
- package/dist/canvas/hooks/useTaskCopyPaste.js +121 -0
- package/dist/canvas/schema/index.cjs +12 -3
- package/dist/canvas/schema/index.d.ts +1 -0
- package/dist/canvas/schema/index.d.ts.map +1 -1
- package/dist/canvas/schema/index.js +1 -0
- package/dist/canvas/schema/task-definition/index.cjs +60 -0
- package/dist/canvas/schema/task-definition/index.d.ts +2 -0
- package/dist/canvas/schema/task-definition/index.d.ts.map +1 -0
- package/dist/canvas/schema/task-definition/index.js +1 -0
- package/dist/canvas/schema/task-definition/task-manifest.cjs +78 -0
- package/dist/canvas/schema/task-definition/task-manifest.d.ts +43 -0
- package/dist/canvas/schema/task-definition/task-manifest.d.ts.map +1 -0
- package/dist/canvas/schema/task-definition/task-manifest.js +29 -0
- package/dist/material/components/ap-sankey-diagram/ApSankeyDiagram.cjs +44 -21
- package/dist/material/components/ap-sankey-diagram/ApSankeyDiagram.d.ts.map +1 -1
- package/dist/material/components/ap-sankey-diagram/ApSankeyDiagram.js +44 -21
- package/package.json +3 -3
- package/dist/canvas/components/StageNode/DraggableTask.cjs +0 -271
- package/dist/canvas/components/StageNode/DraggableTask.d.ts +0 -4
- package/dist/canvas/components/StageNode/DraggableTask.d.ts.map +0 -1
- package/dist/canvas/components/StageNode/DraggableTask.js +0 -234
- package/dist/canvas/components/StageNode/DraggableTask.types.d.ts +0 -20
- package/dist/canvas/components/StageNode/DraggableTask.types.d.ts.map +0 -1
- package/dist/canvas/components/StageNode/StageNode.utils.cjs +0 -164
- package/dist/canvas/components/StageNode/StageNode.utils.d.ts +0 -19
- package/dist/canvas/components/StageNode/StageNode.utils.d.ts.map +0 -1
- package/dist/canvas/components/StageNode/StageNode.utils.js +0 -121
- /package/dist/canvas/components/{StageNode/DraggableTask.types.cjs → TaskNode/TaskNode.types.cjs} +0 -0
- /package/dist/canvas/components/{StageNode/DraggableTask.types.js → TaskNode/TaskNode.types.js} +0 -0
|
@@ -0,0 +1,312 @@
|
|
|
1
|
+
import { useReactFlow } from "@xyflow/react";
|
|
2
|
+
import { useCallback, useEffect, useRef, useState } from "react";
|
|
3
|
+
import { insertTaskAtPosition, removeTaskFromTaskIds } from "../components/TaskNode/taskReorderUtils.js";
|
|
4
|
+
import { DEFAULT_TASK_POSITION_CONFIG, calculateTaskPositions } from "../components/TaskNode/useTaskPositions.js";
|
|
5
|
+
import { calculateDropPosition, convertToGroupPosition } from "./calculateTaskDropPosition.js";
|
|
6
|
+
function isPointInStage(x, y, stageX, stageY, stageWidth, stageHeight) {
|
|
7
|
+
return x >= stageX && x <= stageX + stageWidth && y >= stageY && y <= stageY + stageHeight;
|
|
8
|
+
}
|
|
9
|
+
function useCrossStageTaskDrag(callbacks = {}) {
|
|
10
|
+
const { setNodes, getNodes } = useReactFlow();
|
|
11
|
+
const { onTaskMove, onTaskCopy, onTaskReorder } = callbacks;
|
|
12
|
+
const [dragState, setDragState] = useState({
|
|
13
|
+
isDragging: false,
|
|
14
|
+
taskId: null,
|
|
15
|
+
sourceStageId: null,
|
|
16
|
+
targetStageId: null,
|
|
17
|
+
isCopyMode: false,
|
|
18
|
+
dropPosition: null
|
|
19
|
+
});
|
|
20
|
+
const isCopyModeRef = useRef(false);
|
|
21
|
+
const isDraggingRef = useRef(false);
|
|
22
|
+
const draggedTaskIdRef = useRef(null);
|
|
23
|
+
const sourceStageIdRef = useRef(null);
|
|
24
|
+
const currentDropPositionRef = useRef(null);
|
|
25
|
+
const currentTargetStageRef = useRef(null);
|
|
26
|
+
const lastDropPositionRef = useRef(null);
|
|
27
|
+
useEffect(()=>{
|
|
28
|
+
if (!dragState.isDragging || !dragState.dropPosition || !dragState.taskId || !dragState.targetStageId) {
|
|
29
|
+
lastDropPositionRef.current = null;
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
const { groupIndex, taskIndex, isParallel } = dragState.dropPosition;
|
|
33
|
+
const lastPos = lastDropPositionRef.current;
|
|
34
|
+
if (lastPos && lastPos.groupIndex === groupIndex && lastPos.taskIndex === taskIndex && lastPos.isParallel === isParallel && lastPos.targetStageId === dragState.targetStageId) return;
|
|
35
|
+
lastDropPositionRef.current = {
|
|
36
|
+
groupIndex,
|
|
37
|
+
taskIndex,
|
|
38
|
+
isParallel,
|
|
39
|
+
targetStageId: dragState.targetStageId
|
|
40
|
+
};
|
|
41
|
+
const allNodes = getNodes();
|
|
42
|
+
const targetStage = allNodes.find((n)=>n.id === dragState.targetStageId);
|
|
43
|
+
if (!targetStage) return;
|
|
44
|
+
const targetStageData = targetStage.data;
|
|
45
|
+
const stageDetails = targetStageData?.stageDetails;
|
|
46
|
+
const taskIds = stageDetails?.taskIds || [];
|
|
47
|
+
const filteredTaskIds = removeTaskFromTaskIds(taskIds, dragState.taskId);
|
|
48
|
+
const placeholderId = '__placeholder__';
|
|
49
|
+
const taskIdsWithPlaceholder = insertTaskAtPosition(filteredTaskIds, placeholderId, {
|
|
50
|
+
groupIndex,
|
|
51
|
+
taskIndex,
|
|
52
|
+
isParallel
|
|
53
|
+
});
|
|
54
|
+
const stageWidth = targetStage.style?.width || 304;
|
|
55
|
+
setNodes((currentNodes)=>{
|
|
56
|
+
const positions = calculateTaskPositions(taskIdsWithPlaceholder, stageWidth, currentNodes);
|
|
57
|
+
const getOriginalPositions = (stageId)=>{
|
|
58
|
+
const stage = currentNodes.find((s)=>s.id === stageId);
|
|
59
|
+
if (!stage) return null;
|
|
60
|
+
const stageData = stage.data;
|
|
61
|
+
const details = stageData?.stageDetails;
|
|
62
|
+
const stageTaskIds = details?.taskIds || [];
|
|
63
|
+
const filteredIds = dragState.taskId ? removeTaskFromTaskIds(stageTaskIds, dragState.taskId) : stageTaskIds;
|
|
64
|
+
const width = stage.style?.width || 304;
|
|
65
|
+
return calculateTaskPositions(filteredIds, width, currentNodes);
|
|
66
|
+
};
|
|
67
|
+
let updatedNodes = currentNodes.map((n)=>{
|
|
68
|
+
if ('task' === n.type && n.id !== dragState.taskId && n.parentId === dragState.targetStageId) {
|
|
69
|
+
const pos = positions.get(n.id);
|
|
70
|
+
if (pos) return {
|
|
71
|
+
...n,
|
|
72
|
+
position: {
|
|
73
|
+
x: pos.x,
|
|
74
|
+
y: pos.y
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
if ('task' === n.type && n.id !== dragState.taskId && dragState.sourceStageId && dragState.sourceStageId !== dragState.targetStageId && n.parentId === dragState.sourceStageId) {
|
|
79
|
+
const sourcePositions = getOriginalPositions(dragState.sourceStageId);
|
|
80
|
+
if (sourcePositions) {
|
|
81
|
+
const pos = sourcePositions.get(n.id);
|
|
82
|
+
if (pos) return {
|
|
83
|
+
...n,
|
|
84
|
+
position: {
|
|
85
|
+
x: pos.x,
|
|
86
|
+
y: pos.y
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
if ('task' === n.type && n.id !== dragState.taskId && n.parentId !== dragState.targetStageId && n.parentId !== dragState.sourceStageId) {
|
|
92
|
+
const otherPositions = getOriginalPositions(n.parentId);
|
|
93
|
+
if (otherPositions) {
|
|
94
|
+
const pos = otherPositions.get(n.id);
|
|
95
|
+
if (pos) return {
|
|
96
|
+
...n,
|
|
97
|
+
position: {
|
|
98
|
+
x: pos.x,
|
|
99
|
+
y: pos.y
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return n;
|
|
105
|
+
});
|
|
106
|
+
updatedNodes = updatedNodes.filter((n)=>'__placeholder__' !== n.id);
|
|
107
|
+
const placeholderPos = positions.get(placeholderId);
|
|
108
|
+
if (placeholderPos && dragState.targetStageId) updatedNodes.push({
|
|
109
|
+
id: '__placeholder__',
|
|
110
|
+
type: 'placeholder',
|
|
111
|
+
parentId: dragState.targetStageId,
|
|
112
|
+
extent: 'parent',
|
|
113
|
+
position: {
|
|
114
|
+
x: placeholderPos.x,
|
|
115
|
+
y: placeholderPos.y
|
|
116
|
+
},
|
|
117
|
+
width: placeholderPos.width,
|
|
118
|
+
data: {
|
|
119
|
+
isParallel
|
|
120
|
+
},
|
|
121
|
+
draggable: false,
|
|
122
|
+
selectable: false,
|
|
123
|
+
focusable: false
|
|
124
|
+
});
|
|
125
|
+
return updatedNodes;
|
|
126
|
+
});
|
|
127
|
+
}, [
|
|
128
|
+
dragState,
|
|
129
|
+
setNodes,
|
|
130
|
+
getNodes
|
|
131
|
+
]);
|
|
132
|
+
const handleKeyDown = useCallback((e)=>{
|
|
133
|
+
if (e.altKey || e.metaKey) {
|
|
134
|
+
isCopyModeRef.current = true;
|
|
135
|
+
setDragState((prev)=>({
|
|
136
|
+
...prev,
|
|
137
|
+
isCopyMode: true
|
|
138
|
+
}));
|
|
139
|
+
}
|
|
140
|
+
}, []);
|
|
141
|
+
const handleKeyUp = useCallback((e)=>{
|
|
142
|
+
if (!e.altKey && !e.metaKey) {
|
|
143
|
+
isCopyModeRef.current = false;
|
|
144
|
+
setDragState((prev)=>({
|
|
145
|
+
...prev,
|
|
146
|
+
isCopyMode: false
|
|
147
|
+
}));
|
|
148
|
+
}
|
|
149
|
+
}, []);
|
|
150
|
+
const onNodeDragStart = useCallback((_event, node, _nodes)=>{
|
|
151
|
+
if ('task' !== node.type) return;
|
|
152
|
+
const sourceStageId = node.parentId;
|
|
153
|
+
if (!sourceStageId) return;
|
|
154
|
+
isDraggingRef.current = true;
|
|
155
|
+
draggedTaskIdRef.current = node.id;
|
|
156
|
+
sourceStageIdRef.current = sourceStageId;
|
|
157
|
+
currentTargetStageRef.current = sourceStageId;
|
|
158
|
+
setDragState({
|
|
159
|
+
isDragging: true,
|
|
160
|
+
taskId: node.id,
|
|
161
|
+
sourceStageId,
|
|
162
|
+
targetStageId: sourceStageId,
|
|
163
|
+
isCopyMode: isCopyModeRef.current,
|
|
164
|
+
dropPosition: null
|
|
165
|
+
});
|
|
166
|
+
window.addEventListener('keydown', handleKeyDown);
|
|
167
|
+
window.addEventListener('keyup', handleKeyUp);
|
|
168
|
+
}, [
|
|
169
|
+
handleKeyDown,
|
|
170
|
+
handleKeyUp
|
|
171
|
+
]);
|
|
172
|
+
const onNodeDrag = useCallback((_event, node, _nodes)=>{
|
|
173
|
+
if ('task' !== node.type || !dragState.isDragging) return;
|
|
174
|
+
const allNodes = getNodes();
|
|
175
|
+
const nodeWidth = node.width || DEFAULT_TASK_POSITION_CONFIG.taskHeight;
|
|
176
|
+
const nodeHeight = node.measured?.height || DEFAULT_TASK_POSITION_CONFIG.taskHeight;
|
|
177
|
+
const parentStage = allNodes.find((n)=>n.id === node.parentId);
|
|
178
|
+
const absoluteX = (parentStage?.position.x || 0) + node.position.x;
|
|
179
|
+
const absoluteY = (parentStage?.position.y || 0) + node.position.y;
|
|
180
|
+
const nodeCenterX = absoluteX + nodeWidth / 2;
|
|
181
|
+
const nodeCenterY = absoluteY + nodeHeight / 2;
|
|
182
|
+
const stageNodes = allNodes.filter((n)=>{
|
|
183
|
+
const nodeType = n.data?.nodeType;
|
|
184
|
+
return 'stage' === n.type || 'stageV2' === n.type || 'string' == typeof nodeType && nodeType.includes('Stage');
|
|
185
|
+
});
|
|
186
|
+
let targetStage;
|
|
187
|
+
for (const stage of stageNodes){
|
|
188
|
+
const stageWidth = stage.style?.width || stage.width || 304;
|
|
189
|
+
const stageHeight = stage.style?.height || stage.measured?.height || 200;
|
|
190
|
+
if (isPointInStage(nodeCenterX, nodeCenterY, stage.position.x, stage.position.y, stageWidth, stageHeight)) {
|
|
191
|
+
targetStage = stage;
|
|
192
|
+
break;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
if (targetStage) {
|
|
196
|
+
const targetStageData = targetStage.data;
|
|
197
|
+
const stageDetails = targetStageData?.stageDetails;
|
|
198
|
+
const taskIds = stageDetails?.taskIds || [];
|
|
199
|
+
const stageWidth = targetStage.style?.width || 304;
|
|
200
|
+
const relativeX = absoluteX - targetStage.position.x;
|
|
201
|
+
const relativeY = absoluteY - targetStage.position.y;
|
|
202
|
+
const dropPos = calculateDropPosition(relativeY, nodeHeight, relativeX, nodeWidth, stageWidth, taskIds, node.id);
|
|
203
|
+
const filteredTaskIds = taskIds.map((g)=>g.filter((id)=>id !== node.id)).filter((g)=>g.length > 0);
|
|
204
|
+
const { groupIndex, taskIndex } = convertToGroupPosition(dropPos.index, dropPos.isParallel, filteredTaskIds, dropPos.draggedYCenter, taskIds);
|
|
205
|
+
currentDropPositionRef.current = {
|
|
206
|
+
groupIndex,
|
|
207
|
+
taskIndex,
|
|
208
|
+
isParallel: dropPos.isParallel
|
|
209
|
+
};
|
|
210
|
+
currentTargetStageRef.current = targetStage.id;
|
|
211
|
+
setDragState((prev)=>({
|
|
212
|
+
...prev,
|
|
213
|
+
targetStageId: targetStage.id,
|
|
214
|
+
dropPosition: {
|
|
215
|
+
groupIndex,
|
|
216
|
+
taskIndex,
|
|
217
|
+
isParallel: dropPos.isParallel
|
|
218
|
+
}
|
|
219
|
+
}));
|
|
220
|
+
}
|
|
221
|
+
}, [
|
|
222
|
+
dragState.isDragging,
|
|
223
|
+
getNodes
|
|
224
|
+
]);
|
|
225
|
+
const onNodeDragStop = useCallback((_event, node, _nodes)=>{
|
|
226
|
+
if ('task' !== node.type || !isDraggingRef.current) return;
|
|
227
|
+
window.removeEventListener('keydown', handleKeyDown);
|
|
228
|
+
window.removeEventListener('keyup', handleKeyUp);
|
|
229
|
+
const taskId = draggedTaskIdRef.current;
|
|
230
|
+
const sourceStageId = sourceStageIdRef.current;
|
|
231
|
+
const isCopyMode = isCopyModeRef.current;
|
|
232
|
+
const dropPosition = currentDropPositionRef.current;
|
|
233
|
+
const targetStageId = currentTargetStageRef.current;
|
|
234
|
+
if (taskId && sourceStageId && targetStageId && dropPosition) {
|
|
235
|
+
const isCrossStage = sourceStageId !== targetStageId;
|
|
236
|
+
if (isCrossStage) if (isCopyMode) {
|
|
237
|
+
const newTaskId = `task-${crypto.randomUUID()}`;
|
|
238
|
+
onTaskCopy?.({
|
|
239
|
+
taskId,
|
|
240
|
+
newTaskId,
|
|
241
|
+
sourceStageId,
|
|
242
|
+
targetStageId,
|
|
243
|
+
position: dropPosition
|
|
244
|
+
});
|
|
245
|
+
} else onTaskMove?.({
|
|
246
|
+
taskId,
|
|
247
|
+
sourceStageId,
|
|
248
|
+
targetStageId,
|
|
249
|
+
position: dropPosition
|
|
250
|
+
});
|
|
251
|
+
else onTaskReorder?.({
|
|
252
|
+
taskId,
|
|
253
|
+
stageId: sourceStageId,
|
|
254
|
+
position: dropPosition
|
|
255
|
+
});
|
|
256
|
+
}
|
|
257
|
+
isDraggingRef.current = false;
|
|
258
|
+
draggedTaskIdRef.current = null;
|
|
259
|
+
sourceStageIdRef.current = null;
|
|
260
|
+
currentDropPositionRef.current = null;
|
|
261
|
+
currentTargetStageRef.current = null;
|
|
262
|
+
setNodes((nodes)=>{
|
|
263
|
+
const filteredNodes = nodes.filter((n)=>'__placeholder__' !== n.id);
|
|
264
|
+
const draggedNode = filteredNodes.find((n)=>n.id === taskId);
|
|
265
|
+
if (!draggedNode || !draggedNode.parentId) return filteredNodes;
|
|
266
|
+
const parentStage = filteredNodes.find((n)=>n.id === draggedNode.parentId);
|
|
267
|
+
if (!parentStage) return filteredNodes;
|
|
268
|
+
const stageData = parentStage.data;
|
|
269
|
+
const stageDetails = stageData?.stageDetails;
|
|
270
|
+
const stageTaskIds = stageDetails?.taskIds || [];
|
|
271
|
+
const stageWidth = parentStage.style?.width || 304;
|
|
272
|
+
const positions = calculateTaskPositions(stageTaskIds, stageWidth, filteredNodes);
|
|
273
|
+
return filteredNodes.map((n)=>{
|
|
274
|
+
if ('task' === n.type && n.parentId === draggedNode.parentId) {
|
|
275
|
+
const pos = positions.get(n.id);
|
|
276
|
+
if (pos) return {
|
|
277
|
+
...n,
|
|
278
|
+
position: {
|
|
279
|
+
x: pos.x,
|
|
280
|
+
y: pos.y
|
|
281
|
+
}
|
|
282
|
+
};
|
|
283
|
+
}
|
|
284
|
+
return n;
|
|
285
|
+
});
|
|
286
|
+
});
|
|
287
|
+
setDragState({
|
|
288
|
+
isDragging: false,
|
|
289
|
+
taskId: null,
|
|
290
|
+
sourceStageId: null,
|
|
291
|
+
targetStageId: null,
|
|
292
|
+
isCopyMode: false,
|
|
293
|
+
dropPosition: null
|
|
294
|
+
});
|
|
295
|
+
}, [
|
|
296
|
+
handleKeyDown,
|
|
297
|
+
handleKeyUp,
|
|
298
|
+
onTaskCopy,
|
|
299
|
+
onTaskMove,
|
|
300
|
+
onTaskReorder,
|
|
301
|
+
setNodes
|
|
302
|
+
]);
|
|
303
|
+
return {
|
|
304
|
+
dragState,
|
|
305
|
+
handlers: {
|
|
306
|
+
onNodeDragStart,
|
|
307
|
+
onNodeDrag,
|
|
308
|
+
onNodeDragStop
|
|
309
|
+
}
|
|
310
|
+
};
|
|
311
|
+
}
|
|
312
|
+
export { useCrossStageTaskDrag };
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
5
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: definition[key]
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
})();
|
|
11
|
+
(()=>{
|
|
12
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
13
|
+
})();
|
|
14
|
+
(()=>{
|
|
15
|
+
__webpack_require__.r = (exports1)=>{
|
|
16
|
+
if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
|
+
value: 'Module'
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
20
|
+
value: true
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
})();
|
|
24
|
+
var __webpack_exports__ = {};
|
|
25
|
+
__webpack_require__.r(__webpack_exports__);
|
|
26
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
+
useTaskCopyPaste: ()=>useTaskCopyPaste
|
|
28
|
+
});
|
|
29
|
+
const react_namespaceObject = require("@xyflow/react");
|
|
30
|
+
const external_react_namespaceObject = require("react");
|
|
31
|
+
function useTaskCopyPaste(callbacks = {}, options = {}) {
|
|
32
|
+
const { getNode } = (0, react_namespaceObject.useReactFlow)();
|
|
33
|
+
const { onTaskPaste, onTaskCopy } = callbacks;
|
|
34
|
+
const { selectedTaskId = null, targetStageId = null, targetTaskIds = [], enabled = true } = options;
|
|
35
|
+
const [clipboard, setClipboard] = (0, external_react_namespaceObject.useState)(null);
|
|
36
|
+
const selectedTaskIdRef = (0, external_react_namespaceObject.useRef)(selectedTaskId);
|
|
37
|
+
const targetStageIdRef = (0, external_react_namespaceObject.useRef)(targetStageId);
|
|
38
|
+
const targetTaskIdsRef = (0, external_react_namespaceObject.useRef)(targetTaskIds);
|
|
39
|
+
(0, external_react_namespaceObject.useEffect)(()=>{
|
|
40
|
+
selectedTaskIdRef.current = selectedTaskId;
|
|
41
|
+
targetStageIdRef.current = targetStageId;
|
|
42
|
+
targetTaskIdsRef.current = targetTaskIds;
|
|
43
|
+
}, [
|
|
44
|
+
selectedTaskId,
|
|
45
|
+
targetStageId,
|
|
46
|
+
targetTaskIds
|
|
47
|
+
]);
|
|
48
|
+
const copyTask = (0, external_react_namespaceObject.useCallback)(()=>{
|
|
49
|
+
const taskId = selectedTaskIdRef.current;
|
|
50
|
+
if (!taskId) return false;
|
|
51
|
+
const taskNode = getNode(taskId);
|
|
52
|
+
if (!taskNode || 'task' !== taskNode.type) return false;
|
|
53
|
+
const taskData = taskNode.data;
|
|
54
|
+
const sourceStageId = taskNode.parentId;
|
|
55
|
+
if (!sourceStageId) return false;
|
|
56
|
+
const clipboardTask = {
|
|
57
|
+
originalId: taskId,
|
|
58
|
+
sourceStageId,
|
|
59
|
+
data: {
|
|
60
|
+
taskType: taskData.taskType,
|
|
61
|
+
label: taskData.label,
|
|
62
|
+
icon: taskData.icon,
|
|
63
|
+
iconElement: taskData.iconElement,
|
|
64
|
+
execution: taskData.execution
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
setClipboard(clipboardTask);
|
|
68
|
+
onTaskCopy?.(clipboardTask);
|
|
69
|
+
return true;
|
|
70
|
+
}, [
|
|
71
|
+
getNode,
|
|
72
|
+
onTaskCopy
|
|
73
|
+
]);
|
|
74
|
+
const pasteTask = (0, external_react_namespaceObject.useCallback)(()=>{
|
|
75
|
+
if (!clipboard) return false;
|
|
76
|
+
const targetId = targetStageIdRef.current;
|
|
77
|
+
if (!targetId) return false;
|
|
78
|
+
const targetNode = getNode(targetId);
|
|
79
|
+
if (!targetNode) return false;
|
|
80
|
+
const nodeType = targetNode.type;
|
|
81
|
+
const nodeData = targetNode.data;
|
|
82
|
+
const dataNodeType = nodeData?.nodeType;
|
|
83
|
+
const isStage = 'stage' === nodeType || 'stageV2' === nodeType || 'string' == typeof dataNodeType && dataNodeType.includes('Stage');
|
|
84
|
+
if (!isStage) return false;
|
|
85
|
+
const newTaskId = `task-${crypto.randomUUID()}`;
|
|
86
|
+
const currentTaskIds = targetTaskIdsRef.current;
|
|
87
|
+
const position = {
|
|
88
|
+
groupIndex: currentTaskIds.length,
|
|
89
|
+
taskIndex: 0
|
|
90
|
+
};
|
|
91
|
+
onTaskPaste?.({
|
|
92
|
+
newTaskId,
|
|
93
|
+
originalData: clipboard.data,
|
|
94
|
+
sourceStageId: clipboard.sourceStageId,
|
|
95
|
+
targetStageId: targetId,
|
|
96
|
+
position
|
|
97
|
+
});
|
|
98
|
+
return true;
|
|
99
|
+
}, [
|
|
100
|
+
clipboard,
|
|
101
|
+
getNode,
|
|
102
|
+
onTaskPaste
|
|
103
|
+
]);
|
|
104
|
+
const hasClipboardContent = null !== clipboard;
|
|
105
|
+
const clearClipboard = (0, external_react_namespaceObject.useCallback)(()=>{
|
|
106
|
+
setClipboard(null);
|
|
107
|
+
}, []);
|
|
108
|
+
const handleKeyDown = (0, external_react_namespaceObject.useCallback)((event)=>{
|
|
109
|
+
if (!enabled) return;
|
|
110
|
+
const isModifierPressed = event.ctrlKey || event.metaKey;
|
|
111
|
+
if (!isModifierPressed) return;
|
|
112
|
+
const target = event.target;
|
|
113
|
+
if ('INPUT' === target.tagName || 'TEXTAREA' === target.tagName || target.isContentEditable) return;
|
|
114
|
+
switch(event.key.toLowerCase()){
|
|
115
|
+
case 'c':
|
|
116
|
+
if (copyTask()) event.preventDefault();
|
|
117
|
+
break;
|
|
118
|
+
case 'v':
|
|
119
|
+
if (pasteTask()) event.preventDefault();
|
|
120
|
+
break;
|
|
121
|
+
}
|
|
122
|
+
}, [
|
|
123
|
+
enabled,
|
|
124
|
+
copyTask,
|
|
125
|
+
pasteTask
|
|
126
|
+
]);
|
|
127
|
+
(0, external_react_namespaceObject.useEffect)(()=>{
|
|
128
|
+
if (!enabled) return;
|
|
129
|
+
window.addEventListener('keydown', handleKeyDown, {
|
|
130
|
+
capture: true
|
|
131
|
+
});
|
|
132
|
+
return ()=>{
|
|
133
|
+
window.removeEventListener('keydown', handleKeyDown, {
|
|
134
|
+
capture: true
|
|
135
|
+
});
|
|
136
|
+
};
|
|
137
|
+
}, [
|
|
138
|
+
enabled,
|
|
139
|
+
handleKeyDown
|
|
140
|
+
]);
|
|
141
|
+
return {
|
|
142
|
+
clipboard,
|
|
143
|
+
hasClipboardContent,
|
|
144
|
+
copyTask,
|
|
145
|
+
pasteTask,
|
|
146
|
+
clearClipboard
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
exports.useTaskCopyPaste = __webpack_exports__.useTaskCopyPaste;
|
|
150
|
+
for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
151
|
+
"useTaskCopyPaste"
|
|
152
|
+
].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
|
|
153
|
+
Object.defineProperty(exports, '__esModule', {
|
|
154
|
+
value: true
|
|
155
|
+
});
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { TaskNodeData } from '../components/TaskNode/TaskNode.types';
|
|
2
|
+
export interface ClipboardTask {
|
|
3
|
+
originalId: string;
|
|
4
|
+
sourceStageId: string;
|
|
5
|
+
data: Omit<TaskNodeData, 'groupIndex' | 'taskIndex'>;
|
|
6
|
+
}
|
|
7
|
+
export interface TaskPasteParams {
|
|
8
|
+
newTaskId: string;
|
|
9
|
+
originalData: Omit<TaskNodeData, 'groupIndex' | 'taskIndex'>;
|
|
10
|
+
sourceStageId: string;
|
|
11
|
+
targetStageId: string;
|
|
12
|
+
position: {
|
|
13
|
+
groupIndex: number;
|
|
14
|
+
taskIndex: number;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
export interface TaskCopyPasteCallbacks {
|
|
18
|
+
onTaskPaste?: (params: TaskPasteParams) => void;
|
|
19
|
+
onTaskCopy?: (task: ClipboardTask) => void;
|
|
20
|
+
}
|
|
21
|
+
export interface UseTaskCopyPasteOptions {
|
|
22
|
+
selectedTaskId?: string | null;
|
|
23
|
+
targetStageId?: string | null;
|
|
24
|
+
targetTaskIds?: string[][];
|
|
25
|
+
enabled?: boolean;
|
|
26
|
+
}
|
|
27
|
+
export declare function useTaskCopyPaste(callbacks?: TaskCopyPasteCallbacks, options?: UseTaskCopyPasteOptions): {
|
|
28
|
+
clipboard: ClipboardTask | null;
|
|
29
|
+
hasClipboardContent: boolean;
|
|
30
|
+
copyTask: () => boolean;
|
|
31
|
+
pasteTask: () => boolean;
|
|
32
|
+
clearClipboard: () => void;
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=useTaskCopyPaste.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTaskCopyPaste.d.ts","sourceRoot":"","sources":["../../../src/canvas/hooks/useTaskCopyPaste.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAK1E,MAAM,WAAW,aAAa;IAE5B,UAAU,EAAE,MAAM,CAAC;IAEnB,aAAa,EAAE,MAAM,CAAC;IAEtB,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,YAAY,GAAG,WAAW,CAAC,CAAC;CACtD;AAKD,MAAM,WAAW,eAAe;IAE9B,SAAS,EAAE,MAAM,CAAC;IAElB,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,YAAY,GAAG,WAAW,CAAC,CAAC;IAE7D,aAAa,EAAE,MAAM,CAAC;IAEtB,aAAa,EAAE,MAAM,CAAC;IAEtB,QAAQ,EAAE;QACR,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAKD,MAAM,WAAW,sBAAsB;IAErC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IAEhD,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;CAC5C;AAKD,MAAM,WAAW,uBAAuB;IAEtC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE/B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B,aAAa,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IAE3B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAKD,wBAAgB,gBAAgB,CAC9B,SAAS,GAAE,sBAA2B,EACtC,OAAO,GAAE,uBAA4B;;;;;;EA2KtC"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { useReactFlow } from "@xyflow/react";
|
|
2
|
+
import { useCallback, useEffect, useRef, useState } from "react";
|
|
3
|
+
function useTaskCopyPaste(callbacks = {}, options = {}) {
|
|
4
|
+
const { getNode } = useReactFlow();
|
|
5
|
+
const { onTaskPaste, onTaskCopy } = callbacks;
|
|
6
|
+
const { selectedTaskId = null, targetStageId = null, targetTaskIds = [], enabled = true } = options;
|
|
7
|
+
const [clipboard, setClipboard] = useState(null);
|
|
8
|
+
const selectedTaskIdRef = useRef(selectedTaskId);
|
|
9
|
+
const targetStageIdRef = useRef(targetStageId);
|
|
10
|
+
const targetTaskIdsRef = useRef(targetTaskIds);
|
|
11
|
+
useEffect(()=>{
|
|
12
|
+
selectedTaskIdRef.current = selectedTaskId;
|
|
13
|
+
targetStageIdRef.current = targetStageId;
|
|
14
|
+
targetTaskIdsRef.current = targetTaskIds;
|
|
15
|
+
}, [
|
|
16
|
+
selectedTaskId,
|
|
17
|
+
targetStageId,
|
|
18
|
+
targetTaskIds
|
|
19
|
+
]);
|
|
20
|
+
const copyTask = useCallback(()=>{
|
|
21
|
+
const taskId = selectedTaskIdRef.current;
|
|
22
|
+
if (!taskId) return false;
|
|
23
|
+
const taskNode = getNode(taskId);
|
|
24
|
+
if (!taskNode || 'task' !== taskNode.type) return false;
|
|
25
|
+
const taskData = taskNode.data;
|
|
26
|
+
const sourceStageId = taskNode.parentId;
|
|
27
|
+
if (!sourceStageId) return false;
|
|
28
|
+
const clipboardTask = {
|
|
29
|
+
originalId: taskId,
|
|
30
|
+
sourceStageId,
|
|
31
|
+
data: {
|
|
32
|
+
taskType: taskData.taskType,
|
|
33
|
+
label: taskData.label,
|
|
34
|
+
icon: taskData.icon,
|
|
35
|
+
iconElement: taskData.iconElement,
|
|
36
|
+
execution: taskData.execution
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
setClipboard(clipboardTask);
|
|
40
|
+
onTaskCopy?.(clipboardTask);
|
|
41
|
+
return true;
|
|
42
|
+
}, [
|
|
43
|
+
getNode,
|
|
44
|
+
onTaskCopy
|
|
45
|
+
]);
|
|
46
|
+
const pasteTask = useCallback(()=>{
|
|
47
|
+
if (!clipboard) return false;
|
|
48
|
+
const targetId = targetStageIdRef.current;
|
|
49
|
+
if (!targetId) return false;
|
|
50
|
+
const targetNode = getNode(targetId);
|
|
51
|
+
if (!targetNode) return false;
|
|
52
|
+
const nodeType = targetNode.type;
|
|
53
|
+
const nodeData = targetNode.data;
|
|
54
|
+
const dataNodeType = nodeData?.nodeType;
|
|
55
|
+
const isStage = 'stage' === nodeType || 'stageV2' === nodeType || 'string' == typeof dataNodeType && dataNodeType.includes('Stage');
|
|
56
|
+
if (!isStage) return false;
|
|
57
|
+
const newTaskId = `task-${crypto.randomUUID()}`;
|
|
58
|
+
const currentTaskIds = targetTaskIdsRef.current;
|
|
59
|
+
const position = {
|
|
60
|
+
groupIndex: currentTaskIds.length,
|
|
61
|
+
taskIndex: 0
|
|
62
|
+
};
|
|
63
|
+
onTaskPaste?.({
|
|
64
|
+
newTaskId,
|
|
65
|
+
originalData: clipboard.data,
|
|
66
|
+
sourceStageId: clipboard.sourceStageId,
|
|
67
|
+
targetStageId: targetId,
|
|
68
|
+
position
|
|
69
|
+
});
|
|
70
|
+
return true;
|
|
71
|
+
}, [
|
|
72
|
+
clipboard,
|
|
73
|
+
getNode,
|
|
74
|
+
onTaskPaste
|
|
75
|
+
]);
|
|
76
|
+
const hasClipboardContent = null !== clipboard;
|
|
77
|
+
const clearClipboard = useCallback(()=>{
|
|
78
|
+
setClipboard(null);
|
|
79
|
+
}, []);
|
|
80
|
+
const handleKeyDown = useCallback((event)=>{
|
|
81
|
+
if (!enabled) return;
|
|
82
|
+
const isModifierPressed = event.ctrlKey || event.metaKey;
|
|
83
|
+
if (!isModifierPressed) return;
|
|
84
|
+
const target = event.target;
|
|
85
|
+
if ('INPUT' === target.tagName || 'TEXTAREA' === target.tagName || target.isContentEditable) return;
|
|
86
|
+
switch(event.key.toLowerCase()){
|
|
87
|
+
case 'c':
|
|
88
|
+
if (copyTask()) event.preventDefault();
|
|
89
|
+
break;
|
|
90
|
+
case 'v':
|
|
91
|
+
if (pasteTask()) event.preventDefault();
|
|
92
|
+
break;
|
|
93
|
+
}
|
|
94
|
+
}, [
|
|
95
|
+
enabled,
|
|
96
|
+
copyTask,
|
|
97
|
+
pasteTask
|
|
98
|
+
]);
|
|
99
|
+
useEffect(()=>{
|
|
100
|
+
if (!enabled) return;
|
|
101
|
+
window.addEventListener('keydown', handleKeyDown, {
|
|
102
|
+
capture: true
|
|
103
|
+
});
|
|
104
|
+
return ()=>{
|
|
105
|
+
window.removeEventListener('keydown', handleKeyDown, {
|
|
106
|
+
capture: true
|
|
107
|
+
});
|
|
108
|
+
};
|
|
109
|
+
}, [
|
|
110
|
+
enabled,
|
|
111
|
+
handleKeyDown
|
|
112
|
+
]);
|
|
113
|
+
return {
|
|
114
|
+
clipboard,
|
|
115
|
+
hasClipboardContent,
|
|
116
|
+
copyTask,
|
|
117
|
+
pasteTask,
|
|
118
|
+
clearClipboard
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
export { useTaskCopyPaste };
|
|
@@ -6,6 +6,9 @@ var __webpack_modules__ = {
|
|
|
6
6
|
"./node-instance": function(module) {
|
|
7
7
|
module.exports = require("./node-instance/index.cjs");
|
|
8
8
|
},
|
|
9
|
+
"./task-definition": function(module) {
|
|
10
|
+
module.exports = require("./task-definition/index.cjs");
|
|
11
|
+
},
|
|
9
12
|
"./toolbar": function(module) {
|
|
10
13
|
module.exports = require("./toolbar.cjs");
|
|
11
14
|
}
|
|
@@ -65,10 +68,16 @@ var __webpack_exports__ = {};
|
|
|
65
68
|
return _node_instance__WEBPACK_IMPORTED_MODULE_1__[key];
|
|
66
69
|
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
67
70
|
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
68
|
-
var
|
|
71
|
+
var _task_definition__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("./task-definition");
|
|
72
|
+
var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
73
|
+
for(var __WEBPACK_IMPORT_KEY__ in _task_definition__WEBPACK_IMPORTED_MODULE_2__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
|
|
74
|
+
return _task_definition__WEBPACK_IMPORTED_MODULE_2__[key];
|
|
75
|
+
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
76
|
+
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
77
|
+
var _toolbar__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("./toolbar");
|
|
69
78
|
var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
70
|
-
for(var __WEBPACK_IMPORT_KEY__ in
|
|
71
|
-
return
|
|
79
|
+
for(var __WEBPACK_IMPORT_KEY__ in _toolbar__WEBPACK_IMPORTED_MODULE_3__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
|
|
80
|
+
return _toolbar__WEBPACK_IMPORTED_MODULE_3__[key];
|
|
72
81
|
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
73
82
|
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
74
83
|
})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/canvas/schema/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/canvas/schema/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC"}
|