@mhamz.01/easyflow-whiteboard 2.165.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,9 @@ 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);
|
|
26
|
+
const fabricActiveObjRef = useRef(null);
|
|
24
27
|
localTasksRef.current = localTasks;
|
|
25
28
|
localDocumentsRef.current = localDocuments;
|
|
26
29
|
selectedIdsRef.current = selectedIds;
|
|
@@ -192,9 +195,21 @@ export default React.memo(function CanvasOverlayLayer({ tasks, documents, onTask
|
|
|
192
195
|
};
|
|
193
196
|
canvas.on("object:moving", handleObjectMoving);
|
|
194
197
|
canvas.on("mouse:down", handleMouseDown);
|
|
195
|
-
canvas.on("selection:created",
|
|
196
|
-
|
|
197
|
-
|
|
198
|
+
canvas.on("selection:created", (e) => {
|
|
199
|
+
const activeObj = canvas.getActiveObject();
|
|
200
|
+
fabricHasActiveSelectionRef.current = activeObj?.type === "activeSelection";
|
|
201
|
+
fabricActiveObjRef.current = activeObj ?? null;
|
|
202
|
+
handleFabricSelectionCreated();
|
|
203
|
+
}); // ← add
|
|
204
|
+
canvas.on("selection:updated", (e) => {
|
|
205
|
+
fabricHasActiveSelectionRef.current = false;
|
|
206
|
+
fabricActiveObjRef.current = null;
|
|
207
|
+
}); // ← add
|
|
208
|
+
canvas.on("selection:cleared", () => {
|
|
209
|
+
if (!isSelectionBoxActiveRef.current) {
|
|
210
|
+
fabricActiveObjRef.current = null;
|
|
211
|
+
}
|
|
212
|
+
});
|
|
198
213
|
return () => {
|
|
199
214
|
canvas.off("object:moving", handleObjectMoving);
|
|
200
215
|
canvas.off("mouse:down", handleMouseDown);
|
|
@@ -271,7 +286,10 @@ export default React.memo(function CanvasOverlayLayer({ tasks, documents, onTask
|
|
|
271
286
|
const canvas = fabricCanvas?.current;
|
|
272
287
|
if (!canvas)
|
|
273
288
|
return;
|
|
274
|
-
|
|
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;
|
|
275
293
|
const liveActiveObjects = canvas.getActiveObjects();
|
|
276
294
|
// 2. Normalize the event (Touch vs Mouse)
|
|
277
295
|
if (e.cancelable)
|
|
@@ -321,7 +339,6 @@ export default React.memo(function CanvasOverlayLayer({ tasks, documents, onTask
|
|
|
321
339
|
? {
|
|
322
340
|
left: groupObj.left || 0,
|
|
323
341
|
top: groupObj.top || 0,
|
|
324
|
-
// How far is the group's left/top from the HTML anchor node at drag start
|
|
325
342
|
deltaFromAnchor: {
|
|
326
343
|
x: (groupObj.left || 0) - clickedPos.x,
|
|
327
344
|
y: (groupObj.top || 0) - clickedPos.y,
|