@mhamz.01/easyflow-whiteboard 2.166.0 → 2.167.0
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom-node-overlay-layer.d.ts","sourceRoot":"","sources":["../../../src/components/node/custom-node-overlay-layer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAI9C,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,MAAM,CAAC;IACxC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,UAAU,uBAAuB;IAC/B,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;IACxC,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,YAAY,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACzE,qBAAqB,CAAC,EAAE,YAAY,EAAE,CAAC;IACvC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC9C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,qBAAqB,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,MAAM,IAAI,CAAC,CAAC;CAC5D;;AAkBD,
|
|
1
|
+
{"version":3,"file":"custom-node-overlay-layer.d.ts","sourceRoot":"","sources":["../../../src/components/node/custom-node-overlay-layer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAI9C,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,MAAM,CAAC;IACxC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,UAAU,uBAAuB;IAC/B,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;IACxC,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,YAAY,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACzE,qBAAqB,CAAC,EAAE,YAAY,EAAE,CAAC;IACvC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC9C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,qBAAqB,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,MAAM,IAAI,CAAC,CAAC;CAC5D;;AAkBD,wBA+vBG"}
|
|
@@ -21,6 +21,8 @@ export default React.memo(function CanvasOverlayLayer({ tasks, documents, onTask
|
|
|
21
21
|
const isSelectionBoxActiveRef = useRef(false);
|
|
22
22
|
const htmlNodesSelectedByBoxRef = useRef(false);
|
|
23
23
|
const dragSelectedIdsRef = useRef(new Set());
|
|
24
|
+
// Change the ref to just track whether there's an activeSelection
|
|
25
|
+
const fabricHasActiveSelectionRef = useRef(false);
|
|
24
26
|
const fabricActiveObjRef = useRef(null);
|
|
25
27
|
localTasksRef.current = localTasks;
|
|
26
28
|
localDocumentsRef.current = localDocuments;
|
|
@@ -194,12 +196,14 @@ export default React.memo(function CanvasOverlayLayer({ tasks, documents, onTask
|
|
|
194
196
|
canvas.on("object:moving", handleObjectMoving);
|
|
195
197
|
canvas.on("mouse:down", handleMouseDown);
|
|
196
198
|
canvas.on("selection:created", (e) => {
|
|
197
|
-
|
|
199
|
+
const activeObj = canvas.getActiveObject();
|
|
200
|
+
fabricHasActiveSelectionRef.current = activeObj?.type === "activeSelection";
|
|
201
|
+
fabricActiveObjRef.current = activeObj ?? null;
|
|
198
202
|
handleFabricSelectionCreated();
|
|
199
203
|
}); // ← add
|
|
200
204
|
canvas.on("selection:updated", (e) => {
|
|
201
|
-
|
|
202
|
-
|
|
205
|
+
fabricHasActiveSelectionRef.current = false;
|
|
206
|
+
fabricActiveObjRef.current = null;
|
|
203
207
|
}); // ← add
|
|
204
208
|
canvas.on("selection:cleared", () => {
|
|
205
209
|
if (!isSelectionBoxActiveRef.current) {
|
|
@@ -282,7 +286,10 @@ export default React.memo(function CanvasOverlayLayer({ tasks, documents, onTask
|
|
|
282
286
|
const canvas = fabricCanvas?.current;
|
|
283
287
|
if (!canvas)
|
|
284
288
|
return;
|
|
285
|
-
|
|
289
|
+
// In handleDragStart — always read live position:
|
|
290
|
+
const liveGroupObj = canvas.getActiveObject();
|
|
291
|
+
const hasActiveSelection = fabricHasActiveSelectionRef.current || liveGroupObj?.type === "activeSelection";
|
|
292
|
+
const groupObj = hasActiveSelection ? (liveGroupObj ?? fabricActiveObjRef.current) : null;
|
|
286
293
|
const liveActiveObjects = canvas.getActiveObjects();
|
|
287
294
|
// 2. Normalize the event (Touch vs Mouse)
|
|
288
295
|
if (e.cancelable)
|
|
@@ -332,7 +339,6 @@ export default React.memo(function CanvasOverlayLayer({ tasks, documents, onTask
|
|
|
332
339
|
? {
|
|
333
340
|
left: groupObj.left || 0,
|
|
334
341
|
top: groupObj.top || 0,
|
|
335
|
-
// How far is the group's left/top from the HTML anchor node at drag start
|
|
336
342
|
deltaFromAnchor: {
|
|
337
343
|
x: (groupObj.left || 0) - clickedPos.x,
|
|
338
344
|
y: (groupObj.top || 0) - clickedPos.y,
|