dioxus-swdir-tree-core
The framework-free state machine behind
dioxus-swdir-tree: a lazily
loading, searchable, drag-and-drop-aware directory tree over
swdir.
This crate depends only on swdir — no Dioxus, no GUI framework — so it
is testable anywhere and reusable from other frontends. Most applications
should depend on the flagship dioxus-swdir-tree crate instead.
What's inside
DirectoryTree/TreeNode— the tree, the four toggle cases, and the flatvisible_rows()draw model used by every consumer.ScanRequest/LoadPayload/scan::run— side effects as data; the embedding layer decides where blocking scans run.ScanExecutor/ThreadExecutor— pluggable async scan dispatch.DisplayFilter/TreeCache— zero-I/O filter switching with a raw-entry cache.SelectionMode/on_selected— insertion-ordered multi-selection with Replace, Toggle, and ExtendRange modes.handle_key/TreeKey/Modifiers— read-only keyboard navigation overvisible_rows().DragMsg/DragOutcome/on_drag_msg— press → hover → release drag protocol; emitsDragCompleted { sources, destination }.- Prefetch —
with_prefetch_limit,DEFAULT_PREFETCH_SKIP, parallel speculative pre-expansion. set_search_query/SearchState— incremental basename substring search that sees through collapsed subtrees, zero I/O.IconTheme/IconRole/UnicodeTheme— pluggable icon rendering;LucideThemeavailable behind theiconsfeature.
License: Apache-2.0.