Skip to content

FilterTreeDragStateService

Central coordinator for drag state and drop-zone resolution in the filter tree UI.

new FilterTreeDragStateService(): FilterTreeDragStateService

FilterTreeDragStateService

readonly activeDropZone: WritableSignal<ActiveDropZone | null>


readonly currentDragId: WritableSignal<string | null>


readonly isDragging: WritableSignal<boolean>

endDrag(): void

Called at cdkDragEnded — which fires BEFORE cdkDropListDropped. Snapshots activeDropZone before clearing so resolveDropPosition() has the correct zone at the moment of release.

void


resolveDropPosition(_dropX, _dropY, dragId, root): DropPosition | null

Called from onDrop() (cdkDropListDropped) to determine the DropPosition. Reads the zone snapshotted by endDrag() — the DOM has already reverted to resting layout by this point so re-walking it gives the wrong answer.

number

number

string

FilterNode

DropPosition | null


startDrag(dragId): void

string

void


updatePointer(x, y): void

Called on every cdkDragMoved — updates the highlighted zone.

number

number

void