@mhamz.01/easyflow-whiteboard 2.150.0 → 2.151.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;;AAaD,
|
|
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;;AAaD,wBA2qBG"}
|
|
@@ -18,6 +18,7 @@ export default React.memo(function CanvasOverlayLayer({ tasks, documents, onTask
|
|
|
18
18
|
const localDocumentsRef = useRef(localDocuments);
|
|
19
19
|
const selectedIdsRef = useRef(selectedIds);
|
|
20
20
|
const isHtmlSelectingRef = useRef(false);
|
|
21
|
+
const isSelectionBoxActiveRef = useRef(false);
|
|
21
22
|
localTasksRef.current = localTasks;
|
|
22
23
|
localDocumentsRef.current = localDocuments;
|
|
23
24
|
selectedIdsRef.current = selectedIds;
|
|
@@ -154,6 +155,8 @@ export default React.memo(function CanvasOverlayLayer({ tasks, documents, onTask
|
|
|
154
155
|
activeObjects.includes(target); // ← target must be IN the selection, not just any click
|
|
155
156
|
if (isClickingIntoActiveSelection)
|
|
156
157
|
return;
|
|
158
|
+
if (isSelectionBoxActiveRef.current)
|
|
159
|
+
return;
|
|
157
160
|
setSelectedIds(new Set());
|
|
158
161
|
};
|
|
159
162
|
// const handleSelectionCleared = () => {
|
|
@@ -162,11 +165,15 @@ export default React.memo(function CanvasOverlayLayer({ tasks, documents, onTask
|
|
|
162
165
|
const handleFabricSelectionCreated = () => {
|
|
163
166
|
if (isHtmlSelectingRef.current)
|
|
164
167
|
return; // ← skip if HTML node initiated this
|
|
168
|
+
if (isSelectionBoxActiveRef.current)
|
|
169
|
+
return; // ← add this
|
|
165
170
|
setSelectedIds(new Set());
|
|
166
171
|
};
|
|
167
172
|
const handleFabricSelectionUpdated = () => {
|
|
168
173
|
if (isHtmlSelectingRef.current)
|
|
169
174
|
return; // ← skip if HTML node initiated this
|
|
175
|
+
if (isSelectionBoxActiveRef.current)
|
|
176
|
+
return; // ← add this
|
|
170
177
|
setSelectedIds(new Set());
|
|
171
178
|
};
|
|
172
179
|
canvas.on("object:moving", handleObjectMoving);
|
|
@@ -208,8 +215,11 @@ export default React.memo(function CanvasOverlayLayer({ tasks, documents, onTask
|
|
|
208
215
|
};
|
|
209
216
|
// ── Selection box detection ──────────────────────────────────────────────────
|
|
210
217
|
useEffect(() => {
|
|
211
|
-
if (!selectionBox)
|
|
218
|
+
if (!selectionBox) {
|
|
219
|
+
isSelectionBoxActiveRef.current = false;
|
|
212
220
|
return;
|
|
221
|
+
}
|
|
222
|
+
isSelectionBoxActiveRef.current = true;
|
|
213
223
|
// ── O(n) single pass — no sort, no join, no extra allocations ──
|
|
214
224
|
const newSelected = new Set();
|
|
215
225
|
for (const task of localTasksRef.current) {
|