Expand description
leptos-column-browser — multi-pane hierarchical navigator for Leptos.
Provides both a low-level BrowserView and a high-level
ColumnBrowser component for navigating deeply nested trees via an
async TopologyProvider you implement.
§Quick Start
ⓘ
use leptos::prelude::*;
use leptos_column_browser::{
ColumnBrowser, Node, NodeId, StaticTopologyProvider,
};
#[component]
fn App() -> impl IntoView {
let tree = vec![
Node::container(NodeId::root("docs"), "Documents".into(), "folder")
.with_child(Node::leaf(
NodeId::from_segments(["docs", "readme.md"]),
"readme.md".into(),
"file",
)),
];
view! {
<ColumnBrowser
provider=StaticTopologyProvider { nodes: tree }
root_id=NodeId::root("__root__")
on_open=Callback::new(|id| log::info!("opened {id}"))
/>
}
}Re-exports§
pub use components::column_browser::ColumnBrowser;uipub use topology::BrowserError;pub use topology::Node;pub use topology::NodeFilter;pub use topology::NodeId;pub use topology::NodeKind;pub use topology::NodeView;pub use topology::NoopTopologyProvider;pub use topology::StaticTopologyProvider;pub use topology::TopologyProvider;pub use ui::column::ColumnSizeConfig;uipub use ui::icons::DEFAULT_CONTAINER_ICON;uipub use ui::icons::DEFAULT_LEAF_ICON;uipub use ui::icons::IconRenderer;uipub use ui::icons::container_leaf_icon_renderer;uipub use ui::icons::default_icon_renderer;uipub use ui::BrowserView;uipub use ui::DrillPath;ui
Modules§
- components
ui - High-level stateful components. High-level browser components.
- topology
- Domain types and traits for hierarchical navigation. Domain types and traits for hierarchical navigation.
- ui
ui - Leptos UI components for column rendering. Leptos UI components for the column browser.