(accepts-panel? el panel)True when this zone would accept panel.
A panel already living in this zone is excluded from the capacity count — otherwise a full zone would refuse to let its own panels be reordered.
True when this zone would accept `panel`. A panel already living in this zone is excluded from the capacity count — otherwise a full zone would refuse to let its own panels be reordered.
(announce-candidate! el panel)Narrate this zone becoming the keyboard candidate.
Narrate this zone becoming the keyboard candidate.
(commit-drop! el panel from-zone x y)Announce an accepted pointer drop. The zone never moves the panel — the app owns the landing — so this is purely the report plus caret teardown.
Announce an accepted pointer drop. The zone never moves the panel — the app owns the landing — so this is purely the report plus caret teardown.
(commit-keyboard-drop! el panel from-zone)Announce an accepted keyboard drop. A keyboard drop appends: there is no pointer position to derive an insertion point from, and cycling positions as well as zones would double the key vocabulary.
Announce an accepted keyboard drop. A keyboard drop appends: there is no pointer position to derive an insertion point from, and cycling positions as well as zones would double the key vocabulary.
(hover! el panel)Called by a dragged panel entering this zone. Fires x-drop-zone-enter once, for accepted and rejected panels alike, so an app can tell hovered but refused from never hovered.
Called by a dragged panel entering this zone. Fires x-drop-zone-enter once, for accepted and rejected panels alike, so an app can tell *hovered but refused* from *never hovered*.
(index-at el panel x y)Insertion index for a pointer at viewport (x, y), with panel excluded
from the measurement when it already lives here.
Insertion index for a pointer at viewport `(x, y)`, with `panel` excluded from the measurement when it already lives here.
(preview! el panel x y)Per-frame update of the caret while a panel hovers. Cheap when nothing moved: the index is recomputed but the caret is only repositioned through the same single code path as every other caret update.
Per-frame update of the caret while a panel hovers. Cheap when nothing moved: the index is recomputed but the caret is only repositioned through the same single code path as every other caret update.
(release! el)Clear the reservation made by reserve!.
Idempotent, and harmless when the reserved panel was destroyed by a
confirmation re-render — the replacement never carried pending to begin
with, so there is nothing stale to clear.
Clear the reservation made by `reserve!`. Idempotent, and harmless when the reserved panel was destroyed by a confirmation re-render — the replacement never carried `pending` to begin with, so there is nothing stale to clear.
(reserve! el panel index)Mark an in-flight move of panel into this zone at index: the panel
renders its footprint, the zone renders the reserved caret and busy tint.
Replacing a live reservation clears the previous panel first, so a second drop
cannot strand the first panel in a permanent pending state. Omitting index
gives busy-only, the right rendering for an unordered bucket.
Mark an in-flight move of `panel` into this zone at `index`: the panel renders its footprint, the zone renders the reserved caret and busy tint. Replacing a live reservation clears the previous panel first, so a second drop cannot strand the first panel in a permanent pending state. Omitting `index` gives busy-only, the right rendering for an unordered bucket.
(unhover! el panel)Called by a dragged panel leaving this zone, including when it is dropped elsewhere.
Called by a dragged panel leaving this zone, including when it is dropped elsewhere.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |