Skip to main content

Crate leptos_column_browser

Crate leptos_column_browser 

Source
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;ui
pub 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;ui
pub use ui::icons::DEFAULT_CONTAINER_ICON;ui
pub use ui::icons::DEFAULT_LEAF_ICON;ui
pub use ui::icons::IconRenderer;ui
pub use ui::icons::container_leaf_icon_renderer;ui
pub use ui::icons::default_icon_renderer;ui
pub use ui::BrowserView;ui
pub use ui::DrillPath;ui

Modules§

componentsui
High-level stateful components. High-level browser components.
topology
Domain types and traits for hierarchical navigation. Domain types and traits for hierarchical navigation.
uiui
Leptos UI components for column rendering. Leptos UI components for the column browser.