@mapples/dnd 1.1.2 → 1.2.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.
- package/dist/components/DnDRootView.d.ts +1 -1
- package/dist/components/DnDRootView.d.ts.map +1 -1
- package/dist/components/DnDRootView.js +76 -6
- package/dist/components/DnDRootView.js.map +1 -1
- package/dist/context/DropContext.d.ts +8 -0
- package/dist/context/DropContext.d.ts.map +1 -1
- package/dist/context/DropContext.js +8 -0
- package/dist/context/DropContext.js.map +1 -1
- package/dist/context/FrameSpaceContext.d.ts +27 -0
- package/dist/context/FrameSpaceContext.d.ts.map +1 -0
- package/dist/context/FrameSpaceContext.js +15 -0
- package/dist/context/FrameSpaceContext.js.map +1 -0
- package/dist/context/index.d.ts +2 -0
- package/dist/context/index.d.ts.map +1 -1
- package/dist/context/index.js +2 -0
- package/dist/context/index.js.map +1 -1
- package/dist/hooks/useDrop.d.ts.map +1 -1
- package/dist/hooks/useDrop.js +52 -8
- package/dist/hooks/useDrop.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/monitor/Monitor.d.ts +95 -8
- package/dist/monitor/Monitor.d.ts.map +1 -1
- package/dist/monitor/Monitor.js +326 -46
- package/dist/monitor/Monitor.js.map +1 -1
- package/dist/types/index.d.ts +86 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/package.json +1 -1
package/dist/monitor/Monitor.js
CHANGED
|
@@ -22,8 +22,15 @@ export class Monitor {
|
|
|
22
22
|
dragElements = new Map();
|
|
23
23
|
/** Tree structure of registered drop elements */
|
|
24
24
|
dropElementsTree = new Map();
|
|
25
|
+
/** Registered frame coordinate spaces by key */
|
|
26
|
+
frames = new Map();
|
|
25
27
|
/** ID of the currently active drag target */
|
|
26
28
|
dragTargetId = null;
|
|
29
|
+
/** Active move-drag source (an existing canvas element being moved) */
|
|
30
|
+
moveSource = null;
|
|
31
|
+
/** Pointer coords at drag start / most recent drag tick (drop space) */
|
|
32
|
+
dragStartCoords = null;
|
|
33
|
+
lastDragCoords = null;
|
|
27
34
|
/** Currently active drop target */
|
|
28
35
|
dropTarget = null;
|
|
29
36
|
/** Index position within the current drop target */
|
|
@@ -40,6 +47,42 @@ export class Monitor {
|
|
|
40
47
|
this.trackOutside = true;
|
|
41
48
|
}
|
|
42
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* Registers (or replaces) a frame coordinate space. Drop elements whose
|
|
52
|
+
* config carries the same `frameKey` are stored and hit-tested in
|
|
53
|
+
* coordinates relative to this frame's origin.
|
|
54
|
+
*/
|
|
55
|
+
registerFrame(frameKey, entry) {
|
|
56
|
+
this.frames.set(frameKey, entry);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Moves a frame's world origin. O(1): no element re-measures needed since
|
|
60
|
+
* frame content layouts are origin-relative.
|
|
61
|
+
*/
|
|
62
|
+
updateFrameOrigin(frameKey, origin) {
|
|
63
|
+
const frame = this.frames.get(frameKey);
|
|
64
|
+
if (!frame)
|
|
65
|
+
return;
|
|
66
|
+
this.frames.set(frameKey, { ...frame, origin });
|
|
67
|
+
}
|
|
68
|
+
/** Removes a frame coordinate space. */
|
|
69
|
+
unregisterFrame(frameKey) {
|
|
70
|
+
this.frames.delete(frameKey);
|
|
71
|
+
}
|
|
72
|
+
/** Gets a registered frame space by key. */
|
|
73
|
+
getFrame(frameKey) {
|
|
74
|
+
return this.frames.get(frameKey);
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Converts world coordinates into a frame's local space.
|
|
78
|
+
* Falls through unchanged when the frame isn't registered.
|
|
79
|
+
*/
|
|
80
|
+
toFrameLocal(coords, frameKey) {
|
|
81
|
+
const frame = this.frames.get(frameKey);
|
|
82
|
+
if (!frame)
|
|
83
|
+
return coords;
|
|
84
|
+
return { x: coords.x - frame.origin.x, y: coords.y - frame.origin.y };
|
|
85
|
+
}
|
|
43
86
|
/**
|
|
44
87
|
* Gets the ID of the currently active drag target.
|
|
45
88
|
* @returns The drag target ID or null if no drag is active
|
|
@@ -144,18 +187,63 @@ export class Monitor {
|
|
|
144
187
|
}
|
|
145
188
|
/**
|
|
146
189
|
* Handles the start of a drag operation.
|
|
147
|
-
* @param dragCoords -
|
|
190
|
+
* @param dragCoords - Coordinates in drop-target space (world space when a
|
|
191
|
+
* pointer transform is installed), or `null` when the press began outside
|
|
192
|
+
* that space entirely. A palette press is exactly that case — the palette
|
|
193
|
+
* lives beside the canvas, not on it — so a null here must never abort the
|
|
194
|
+
* drag; it only rules out grabbing an existing element to move.
|
|
195
|
+
* @param windowCoords - Raw window coordinates for drag-*source* hit
|
|
196
|
+
* testing (palette items live outside any frame); defaults to `dragCoords`
|
|
148
197
|
*/
|
|
149
|
-
onDragStart(dragCoords) {
|
|
150
|
-
|
|
151
|
-
|
|
198
|
+
onDragStart(dragCoords, windowCoords) {
|
|
199
|
+
this.dragStartCoords = dragCoords;
|
|
200
|
+
this.lastDragCoords = dragCoords;
|
|
201
|
+
const sourceCoords = windowCoords ?? dragCoords;
|
|
202
|
+
if (!sourceCoords)
|
|
203
|
+
return;
|
|
204
|
+
const dragTargetId = this.getDragTarget(sourceCoords);
|
|
205
|
+
if (dragTargetId) {
|
|
206
|
+
const dragTarget = this.dragElements.get(dragTargetId);
|
|
207
|
+
this.setDragTargetId(dragTargetId);
|
|
208
|
+
this.events.next({
|
|
209
|
+
type: DnDEventType.DragStart,
|
|
210
|
+
target: this.getDragTargetId(),
|
|
211
|
+
data: dragTarget?.item.data,
|
|
212
|
+
kind: 'palette',
|
|
213
|
+
});
|
|
214
|
+
return;
|
|
215
|
+
}
|
|
216
|
+
// No palette source under the pointer — a drag that starts on an
|
|
217
|
+
// existing canvas element moves it (Figma-style direct manipulation).
|
|
218
|
+
// A press outside the drop space can't be on such an element.
|
|
219
|
+
if (!dragCoords)
|
|
220
|
+
return;
|
|
221
|
+
const dropTargets = this.getDropTargets(dragCoords, this.dropElementsTree);
|
|
222
|
+
const shallowTarget = this.getShallowTarget(dropTargets, dragCoords);
|
|
223
|
+
const componentId = shallowTarget?.data
|
|
224
|
+
?.id;
|
|
225
|
+
if (!shallowTarget || !componentId)
|
|
226
|
+
return;
|
|
227
|
+
// Root-level elements (page roots) are not movable.
|
|
228
|
+
if (this.dropElementsTree.has(shallowTarget.id))
|
|
152
229
|
return;
|
|
153
|
-
const
|
|
154
|
-
this.
|
|
230
|
+
const hit = shallowTarget.hitCoords ?? dragCoords;
|
|
231
|
+
this.moveSource = {
|
|
232
|
+
dropId: shallowTarget.id,
|
|
233
|
+
componentId,
|
|
234
|
+
frameKey: shallowTarget.frameKey ?? null,
|
|
235
|
+
grabOffset: {
|
|
236
|
+
x: hit.x - shallowTarget.layout.x,
|
|
237
|
+
y: hit.y - shallowTarget.layout.y,
|
|
238
|
+
},
|
|
239
|
+
};
|
|
155
240
|
this.events.next({
|
|
156
241
|
type: DnDEventType.DragStart,
|
|
157
|
-
|
|
158
|
-
data:
|
|
242
|
+
dropTarget: shallowTarget,
|
|
243
|
+
data: shallowTarget.data,
|
|
244
|
+
kind: 'move',
|
|
245
|
+
moveSource: this.moveSource,
|
|
246
|
+
frameKey: shallowTarget.frameKey ?? null,
|
|
159
247
|
});
|
|
160
248
|
}
|
|
161
249
|
/**
|
|
@@ -164,21 +252,124 @@ export class Monitor {
|
|
|
164
252
|
*/
|
|
165
253
|
onDrag(dragCoords) {
|
|
166
254
|
const dragTargetId = this.getDragTargetId();
|
|
167
|
-
if (!dragTargetId)
|
|
255
|
+
if (!dragTargetId && !this.moveSource)
|
|
168
256
|
return;
|
|
169
|
-
|
|
257
|
+
this.lastDragCoords = dragCoords;
|
|
258
|
+
// While moving an element, its own subtree is not a valid drop target.
|
|
259
|
+
const dropTargets = this.getDropTargets(dragCoords, this.dropElementsTree, null, this.moveSource?.dropId ?? null);
|
|
170
260
|
const shallowTarget = this.getShallowTarget(dropTargets, dragCoords);
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
261
|
+
// Leaving every droppable area clears the pending drop rather than
|
|
262
|
+
// keeping the last one: the pointer is the only thing that decides where
|
|
263
|
+
// a drop lands, so hovering out must be indistinguishable from never
|
|
264
|
+
// having hovered in. The Drag event still fires (with a null target) so
|
|
265
|
+
// overlays drop their highlight instead of stranding it on the element
|
|
266
|
+
// the pointer last passed over.
|
|
267
|
+
const target = shallowTarget?.canDrop ? shallowTarget : null;
|
|
268
|
+
this.setDropTarget(target);
|
|
269
|
+
this.setDropTargetIndex(target
|
|
270
|
+
? this.getDropTargetIndexData(target.hitCoords ?? dragCoords, target)
|
|
271
|
+
: null);
|
|
176
272
|
this.events.next({
|
|
177
273
|
type: DnDEventType.Drag,
|
|
178
274
|
target: dragTargetId,
|
|
179
275
|
dropTarget: this.getDropTarget(),
|
|
180
276
|
dropTargetIndex: this.getDropTargetIndex(),
|
|
181
277
|
dragCoords: dragCoords,
|
|
278
|
+
frameKey: target?.frameKey ?? null,
|
|
279
|
+
kind: this.moveSource ? 'move' : 'palette',
|
|
280
|
+
moveSource: this.moveSource,
|
|
281
|
+
});
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* The pointer left the drop coordinate space entirely — reported by the
|
|
285
|
+
* host when its `pointerTransform` cannot place the pointer (e.g. it moved
|
|
286
|
+
* off the canvas viewport onto surrounding chrome). Equivalent to hovering
|
|
287
|
+
* empty space: the pending drop clears, so a release here cancels.
|
|
288
|
+
*/
|
|
289
|
+
onDragOutside() {
|
|
290
|
+
const dragTargetId = this.getDragTargetId();
|
|
291
|
+
if (!dragTargetId && !this.moveSource)
|
|
292
|
+
return;
|
|
293
|
+
// Already cleared — don't republish on every pointer move outside.
|
|
294
|
+
if (!this.getDropTarget() && this.getDropTargetIndex() === null)
|
|
295
|
+
return;
|
|
296
|
+
this.setDropTarget(null);
|
|
297
|
+
this.setDropTargetIndex(null);
|
|
298
|
+
this.events.next({
|
|
299
|
+
type: DnDEventType.Drag,
|
|
300
|
+
target: dragTargetId,
|
|
301
|
+
dropTarget: null,
|
|
302
|
+
dropTargetIndex: null,
|
|
303
|
+
dragCoords: this.lastDragCoords,
|
|
304
|
+
frameKey: null,
|
|
305
|
+
kind: this.moveSource ? 'move' : 'palette',
|
|
306
|
+
moveSource: this.moveSource,
|
|
307
|
+
});
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
* Hit-tests a point in drop space with no drag registered. Drags that start
|
|
311
|
+
* outside the app — files dragged in from the OS — never register a drag
|
|
312
|
+
* element, so they cannot go through {@link onDrag}; this gives them the
|
|
313
|
+
* same target and insert-index resolution the in-app drag path uses.
|
|
314
|
+
* @param dropCoords - The coordinates to hit-test, in drop space
|
|
315
|
+
*/
|
|
316
|
+
hitTest(dropCoords) {
|
|
317
|
+
const dropTargets = this.getDropTargets(dropCoords, this.dropElementsTree);
|
|
318
|
+
const shallowTarget = this.getShallowTarget(dropTargets, dropCoords);
|
|
319
|
+
const dropTarget = shallowTarget?.canDrop ? shallowTarget : null;
|
|
320
|
+
return {
|
|
321
|
+
dropTarget,
|
|
322
|
+
dropTargetIndex: dropTarget
|
|
323
|
+
? this.getDropTargetIndexData(dropTarget.hitCoords ?? dropCoords, dropTarget)
|
|
324
|
+
: null,
|
|
325
|
+
};
|
|
326
|
+
}
|
|
327
|
+
/**
|
|
328
|
+
* Publishes an external drag's current position, so the drop chrome
|
|
329
|
+
* (hover highlight, insert line) tracks a file dragged in from the OS
|
|
330
|
+
* exactly as it tracks an in-app drag. Pass `null` coordinates while the
|
|
331
|
+
* pointer sits outside the drop space — that clears the pending drop the
|
|
332
|
+
* same way hovering off a droppable area does mid-drag.
|
|
333
|
+
* @param dropCoords - The pointer position in drop space, or null
|
|
334
|
+
*/
|
|
335
|
+
onExternalDrag(dropCoords) {
|
|
336
|
+
const { dropTarget, dropTargetIndex } = dropCoords
|
|
337
|
+
? this.hitTest(dropCoords)
|
|
338
|
+
: { dropTarget: null, dropTargetIndex: null };
|
|
339
|
+
// Nothing to say when the drag is still over empty space it was already
|
|
340
|
+
// over — pointer moves arrive at input rate.
|
|
341
|
+
if (!dropTarget && !this.getDropTarget())
|
|
342
|
+
return;
|
|
343
|
+
this.lastDragCoords = dropCoords;
|
|
344
|
+
this.setDropTarget(dropTarget);
|
|
345
|
+
this.setDropTargetIndex(dropTargetIndex);
|
|
346
|
+
this.events.next({
|
|
347
|
+
type: DnDEventType.Drag,
|
|
348
|
+
target: null,
|
|
349
|
+
dropTarget,
|
|
350
|
+
dropTargetIndex,
|
|
351
|
+
dragCoords: dropCoords,
|
|
352
|
+
frameKey: dropTarget?.frameKey ?? null,
|
|
353
|
+
kind: 'external',
|
|
354
|
+
});
|
|
355
|
+
}
|
|
356
|
+
/**
|
|
357
|
+
* Ends an external drag — the files were dropped, or the drag left the
|
|
358
|
+
* window. Always `cancelled`: whatever the drop produces is inserted by
|
|
359
|
+
* the host once its uploads finish, never by the DnD path.
|
|
360
|
+
*/
|
|
361
|
+
onExternalDragEnd() {
|
|
362
|
+
this.lastDragCoords = null;
|
|
363
|
+
this.setDropTarget(null);
|
|
364
|
+
this.setDropTargetIndex(null);
|
|
365
|
+
this.events.next({
|
|
366
|
+
type: DnDEventType.DragEnd,
|
|
367
|
+
target: null,
|
|
368
|
+
dropTarget: null,
|
|
369
|
+
dropTargetIndex: null,
|
|
370
|
+
frameKey: null,
|
|
371
|
+
kind: 'external',
|
|
372
|
+
cancelled: true,
|
|
182
373
|
});
|
|
183
374
|
}
|
|
184
375
|
/**
|
|
@@ -186,30 +377,45 @@ export class Monitor {
|
|
|
186
377
|
* @param dragCoords - The coordinates where the selection occurred
|
|
187
378
|
*/
|
|
188
379
|
onSelect(dragCoords) {
|
|
189
|
-
if (!this.
|
|
380
|
+
if (!this.isInsideAnyRootElement(dragCoords) && !this.trackOutside)
|
|
190
381
|
return;
|
|
191
382
|
const dropTargets = this.getDropTargets(dragCoords, this.dropElementsTree);
|
|
192
383
|
const shallowTarget = this.getShallowTarget(dropTargets, dragCoords);
|
|
193
384
|
this.events.next({
|
|
194
385
|
type: DnDEventType.Select,
|
|
195
386
|
dropTarget: shallowTarget,
|
|
387
|
+
frameKey: shallowTarget?.frameKey ?? null,
|
|
196
388
|
});
|
|
197
389
|
}
|
|
198
390
|
/**
|
|
199
|
-
* Checks if the given coordinates are inside
|
|
200
|
-
*
|
|
201
|
-
* @returns True if inside the first root element
|
|
391
|
+
* Checks if the given coordinates are inside any root drop element,
|
|
392
|
+
* converting into frame-local space for frame-rooted elements.
|
|
202
393
|
* @private
|
|
203
394
|
*/
|
|
204
|
-
|
|
205
|
-
const
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
395
|
+
isInsideAnyRootElement(dragCoords) {
|
|
396
|
+
for (const [, target] of this.dropElementsTree) {
|
|
397
|
+
const coords = target.frameKey
|
|
398
|
+
? this.toFrameLocal(dragCoords, target.frameKey)
|
|
399
|
+
: dragCoords;
|
|
400
|
+
if (target.layout.x <= coords.x &&
|
|
401
|
+
target.layout.y <= coords.y &&
|
|
402
|
+
target.layout.x + target.layout.width >= coords.x &&
|
|
403
|
+
target.layout.y + target.layout.height >= coords.y) {
|
|
404
|
+
return true;
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
return false;
|
|
408
|
+
}
|
|
409
|
+
/**
|
|
410
|
+
* Looks up a registered drop target (with its current layout and frame
|
|
411
|
+
* key) by matching data properties — e.g. `{ id: componentId }`.
|
|
412
|
+
*
|
|
413
|
+
* @param frameKey - Restrict the search to one frame's subtree. Required
|
|
414
|
+
* whenever ids are only unique per frame (every page root shares the id
|
|
415
|
+
* `root`, so an unscoped lookup can return another frame's element).
|
|
416
|
+
*/
|
|
417
|
+
getDropTargetByData(dataQuery, frameKey) {
|
|
418
|
+
return this.findDropTargetByData(dataQuery, this.dropElementsTree, null, frameKey ?? null);
|
|
213
419
|
}
|
|
214
420
|
/**
|
|
215
421
|
* Handles external selection by data query.
|
|
@@ -220,21 +426,47 @@ export class Monitor {
|
|
|
220
426
|
this.events.next({
|
|
221
427
|
type: DnDEventType.Select,
|
|
222
428
|
dropTarget: dropTarget,
|
|
429
|
+
frameKey: dropTarget?.frameKey ?? null,
|
|
223
430
|
});
|
|
224
431
|
}
|
|
225
432
|
/**
|
|
226
|
-
* Handles the end of a drag operation.
|
|
433
|
+
* Handles the end of a drag operation. Releasing the pointer outside every
|
|
434
|
+
* droppable area cancels the drag: `DragEnd` still fires — overlays, the
|
|
435
|
+
* drag ghost and `isDragging` all reset on it — but carries a null
|
|
436
|
+
* `dropTarget` and `cancelled: true`, so nothing is inserted or moved.
|
|
227
437
|
*/
|
|
228
438
|
onDragEnd() {
|
|
439
|
+
const dragTargetId = this.getDragTargetId();
|
|
440
|
+
const moveSource = this.moveSource;
|
|
229
441
|
const dropTarget = this.getDropTarget();
|
|
230
|
-
|
|
442
|
+
// Idempotent: a pan that never became a drag (canvas panning, or a
|
|
443
|
+
// gesture cancelled before activation) must not emit a phantom DragEnd.
|
|
444
|
+
if (!dragTargetId && !moveSource) {
|
|
445
|
+
this.resetDragState();
|
|
231
446
|
return;
|
|
447
|
+
}
|
|
232
448
|
this.events.next({
|
|
233
449
|
type: DnDEventType.DragEnd,
|
|
234
|
-
target:
|
|
450
|
+
target: dragTargetId,
|
|
235
451
|
dropTarget: dropTarget,
|
|
236
|
-
dropTargetIndex: this.getDropTargetIndex(),
|
|
452
|
+
dropTargetIndex: dropTarget ? this.getDropTargetIndex() : null,
|
|
453
|
+
frameKey: dropTarget?.frameKey ?? null,
|
|
454
|
+
kind: moveSource ? 'move' : 'palette',
|
|
455
|
+
moveSource,
|
|
456
|
+
dragCoords: this.lastDragCoords,
|
|
457
|
+
dragStartCoords: this.dragStartCoords,
|
|
458
|
+
cancelled: !dropTarget,
|
|
237
459
|
});
|
|
460
|
+
this.resetDragState();
|
|
461
|
+
}
|
|
462
|
+
/**
|
|
463
|
+
* Clears every piece of per-drag state.
|
|
464
|
+
* @private
|
|
465
|
+
*/
|
|
466
|
+
resetDragState() {
|
|
467
|
+
this.moveSource = null;
|
|
468
|
+
this.dragStartCoords = null;
|
|
469
|
+
this.lastDragCoords = null;
|
|
238
470
|
this.setDragTargetId(null);
|
|
239
471
|
this.setDropTarget(null);
|
|
240
472
|
this.setDropTargetIndex(null);
|
|
@@ -259,6 +491,7 @@ export class Monitor {
|
|
|
259
491
|
},
|
|
260
492
|
canDrop: config?.canDrop,
|
|
261
493
|
data,
|
|
494
|
+
frameKey: config?.frameKey,
|
|
262
495
|
});
|
|
263
496
|
}
|
|
264
497
|
else {
|
|
@@ -322,6 +555,7 @@ export class Monitor {
|
|
|
322
555
|
parent.children?.set(id, target);
|
|
323
556
|
}
|
|
324
557
|
}
|
|
558
|
+
const frameKey = this.findFrameKeyFor(id, this.dropElementsTree, null);
|
|
325
559
|
this.events.next({
|
|
326
560
|
type: DnDEventType.Layout,
|
|
327
561
|
target: id,
|
|
@@ -331,10 +565,31 @@ export class Monitor {
|
|
|
331
565
|
layout: target.layout,
|
|
332
566
|
canDrop: target.canDrop,
|
|
333
567
|
data: target.data,
|
|
568
|
+
frameKey,
|
|
334
569
|
},
|
|
570
|
+
frameKey,
|
|
335
571
|
});
|
|
336
572
|
}
|
|
337
573
|
}
|
|
574
|
+
/**
|
|
575
|
+
* Resolves the frame space an element (or any of its ancestors) belongs to.
|
|
576
|
+
* @private
|
|
577
|
+
*/
|
|
578
|
+
findFrameKeyFor(id, tree, inherited) {
|
|
579
|
+
if (!tree)
|
|
580
|
+
return null;
|
|
581
|
+
for (const [key, value] of tree) {
|
|
582
|
+
const frameKey = value.frameKey ?? inherited;
|
|
583
|
+
if (key === id) {
|
|
584
|
+
return frameKey;
|
|
585
|
+
}
|
|
586
|
+
const childResult = this.findFrameKeyFor(id, value.children, frameKey);
|
|
587
|
+
if (childResult !== null) {
|
|
588
|
+
return childResult;
|
|
589
|
+
}
|
|
590
|
+
}
|
|
591
|
+
return null;
|
|
592
|
+
}
|
|
338
593
|
/**
|
|
339
594
|
* Finds a drop target by ID in the tree structure.
|
|
340
595
|
* @param id - The ID to search for
|
|
@@ -366,14 +621,23 @@ export class Monitor {
|
|
|
366
621
|
* @returns The drop target or null if not found
|
|
367
622
|
* @private
|
|
368
623
|
*/
|
|
369
|
-
findDropTargetByData(dataQuery, tree) {
|
|
624
|
+
findDropTargetByData(dataQuery, tree, frameKey, requiredFrameKey) {
|
|
370
625
|
if (!tree) {
|
|
371
626
|
return null;
|
|
372
627
|
}
|
|
373
628
|
let index = 0;
|
|
374
629
|
for (const [id, target] of tree) {
|
|
375
630
|
index++;
|
|
376
|
-
|
|
631
|
+
const targetFrameKey = target.frameKey ?? frameKey ?? null;
|
|
632
|
+
// Prune subtrees belonging to other frames when a frame is required.
|
|
633
|
+
if (requiredFrameKey &&
|
|
634
|
+
targetFrameKey &&
|
|
635
|
+
targetFrameKey !== requiredFrameKey) {
|
|
636
|
+
continue;
|
|
637
|
+
}
|
|
638
|
+
if (target.data &&
|
|
639
|
+
this.partialMatch(target.data, dataQuery) &&
|
|
640
|
+
(!requiredFrameKey || targetFrameKey === requiredFrameKey)) {
|
|
377
641
|
return {
|
|
378
642
|
id,
|
|
379
643
|
layout: target.layout,
|
|
@@ -381,10 +645,11 @@ export class Monitor {
|
|
|
381
645
|
canDrop: target.canDrop,
|
|
382
646
|
children: target.children,
|
|
383
647
|
data: target.data,
|
|
648
|
+
frameKey: targetFrameKey,
|
|
384
649
|
};
|
|
385
650
|
}
|
|
386
651
|
if (target.children) {
|
|
387
|
-
const childResult = this.findDropTargetByData(dataQuery, target.children);
|
|
652
|
+
const childResult = this.findDropTargetByData(dataQuery, target.children, targetFrameKey, requiredFrameKey);
|
|
388
653
|
if (childResult) {
|
|
389
654
|
return childResult;
|
|
390
655
|
}
|
|
@@ -458,7 +723,7 @@ export class Monitor {
|
|
|
458
723
|
* @returns Array of drop targets or null if none found
|
|
459
724
|
* @private
|
|
460
725
|
*/
|
|
461
|
-
getDropTargets(dropCoords, tree) {
|
|
726
|
+
getDropTargets(dropCoords, tree, frameKey, excludeId) {
|
|
462
727
|
const targets = [];
|
|
463
728
|
if (!tree) {
|
|
464
729
|
return null;
|
|
@@ -466,10 +731,21 @@ export class Monitor {
|
|
|
466
731
|
let index = 0;
|
|
467
732
|
for (const [id, target] of tree) {
|
|
468
733
|
index++;
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
734
|
+
// Skip the excluded subtree entirely (a moved element can't be its
|
|
735
|
+
// own drop target, nor can any of its descendants).
|
|
736
|
+
if (excludeId != null && id === excludeId) {
|
|
737
|
+
continue;
|
|
738
|
+
}
|
|
739
|
+
// Entering a frame-rooted subtree: convert the pointer into that
|
|
740
|
+
// frame's local space once; all descendant layouts share it.
|
|
741
|
+
const targetFrameKey = target.frameKey ?? frameKey ?? null;
|
|
742
|
+
const coords = target.frameKey
|
|
743
|
+
? this.toFrameLocal(dropCoords, target.frameKey)
|
|
744
|
+
: dropCoords;
|
|
745
|
+
if (target.layout.x <= coords.x &&
|
|
746
|
+
target.layout.y <= coords.y &&
|
|
747
|
+
target.layout.x + target.layout.width >= coords.x &&
|
|
748
|
+
target.layout.y + target.layout.height >= coords.y) {
|
|
473
749
|
targets.push({
|
|
474
750
|
id,
|
|
475
751
|
layout: target.layout,
|
|
@@ -477,9 +753,11 @@ export class Monitor {
|
|
|
477
753
|
canDrop: target.canDrop,
|
|
478
754
|
children: target.children,
|
|
479
755
|
data: target.data,
|
|
756
|
+
frameKey: targetFrameKey,
|
|
757
|
+
hitCoords: coords,
|
|
480
758
|
});
|
|
481
759
|
}
|
|
482
|
-
const childTargets = this.getDropTargets(
|
|
760
|
+
const childTargets = this.getDropTargets(coords, target.children, targetFrameKey, excludeId);
|
|
483
761
|
if (childTargets) {
|
|
484
762
|
targets.push(...childTargets);
|
|
485
763
|
}
|
|
@@ -502,12 +780,14 @@ export class Monitor {
|
|
|
502
780
|
if (!lastTarget) {
|
|
503
781
|
return null;
|
|
504
782
|
}
|
|
505
|
-
|
|
783
|
+
// Compare in the target's own coordinate space (frame-local inside
|
|
784
|
+
// frames); `hitCoords` was attached during hit testing.
|
|
785
|
+
const coords = lastTarget.hitCoords ?? dragCoords;
|
|
786
|
+
if (lastTarget.layout.y + this.padding > coords.y ||
|
|
506
787
|
lastTarget.layout.y + lastTarget.layout.height - this.padding <
|
|
507
|
-
|
|
508
|
-
lastTarget.layout.x + this.padding >
|
|
509
|
-
lastTarget.layout.x + lastTarget.layout.width - this.padding <
|
|
510
|
-
dragCoords.x) {
|
|
788
|
+
coords.y ||
|
|
789
|
+
lastTarget.layout.x + this.padding > coords.x ||
|
|
790
|
+
lastTarget.layout.x + lastTarget.layout.width - this.padding < coords.x) {
|
|
511
791
|
return sortedTargets[sortedTargets.length - 2] || lastTarget;
|
|
512
792
|
}
|
|
513
793
|
return lastTarget;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Monitor.js","sourceRoot":"","sources":["../../src/monitor/Monitor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Monitor.js","sourceRoot":"","sources":["../../src/monitor/Monitor.ts"],"names":[],"mappings":"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"}
|