Skip to main content

Crate teksilo_data

Crate teksilo_data 

Source
Expand description

Data model abstractions for Teksilo.

Provides reactive collection types (ListModel<T>, TreeModel<T>) and change notification enums (DataChange, TreeChange) for data-driven widgets like ListView, TreeView, and Repeater.

The two source traits — ListDataSource (flat) and TreeDataSource (hierarchical) — are the read-and-command interfaces every data view talks to. ListModel / TreeModel are built-in implementations; an external source of truth (e.g. a Qleany entity store) implements a source trait directly and so never mirrors itself into a built-in model. Each trait carries a capability protocol — identity (key_at/index_of), DnD validation (drag/can_accept/accept_drop/on_drag_out), and lazy loading (row_state/request_window/can_fetch_more/fetch_more) — as defaulted methods (see dnd_types).

Chart data follows the same shape: ChartModel<T> is the reactive, multi-series primary model (mirroring ListModel/TreeModel), with ChartWindow<T> / ChartAggregate<T> streaming/rollup projections and ChartSelection for point-level selection.

Re-exports§

pub use chart_aggregate::ChartAggregate;
pub use chart_aggregate::ChartAggregateFn;
pub use chart_change::ChartChange;
pub use chart_change::SeriesId;
pub use chart_model::ChartDatum;
pub use chart_model::ChartModel;
pub use chart_model::ChartSeries;
pub use chart_model::SeriesView;
pub use chart_selection::ChartSelection;
pub use chart_window::ChartWindow;
pub use check_state::CheckState;
pub use checked_model::CheckedModel;
pub use data_change::DataChange;
pub use data_change::map_index_after_move;
pub use dnd_types::DragEligibility;
pub use dnd_types::DragSource;
pub use dnd_types::DropCommit;
pub use dnd_types::DropPosition;
pub use dnd_types::DropQuery;
pub use dnd_types::DropResponse;
pub use dnd_types::ItemKey;
pub use dnd_types::RowState;
pub use keyed_selection_model::KeyedSelectionModel;
pub use keyed_tree_checked_model::KeyedTreeCheckedModel;
pub use list_data_source::ListDataSource;
pub use list_model::ListModel;
pub use selection_model::SelectionMode;
pub use selection_model::SelectionModel;
pub use series_pattern::SeriesHatch;
pub use series_pattern::SeriesMarker;
pub use series_pattern::SeriesPattern;
pub use sort_filter_list_model::SortDirection;
pub use sort_filter_list_model::SortFilterListModel;
pub use sort_filter_tree_model::SortFilterTreeModel;
pub use sort_filter_tree_model::TreeFilterMode;
pub use tree_change::NodeId;
pub use tree_change::TreeChange;
pub use tree_checked_model::AggregateMode;
pub use tree_checked_model::TreeCheckedModel;
pub use tree_data_slice::TreeDataSlice;
pub use tree_data_slice::TreeRow;
pub use tree_data_source::FlatEntry;
pub use tree_data_source::TreeDataSource;
pub use tree_model::TreeModel;
pub use tree_row_filter::TreeRowFilter;
pub use tree_slice::TreeSlice;
pub use tree_slice::TreeSliceHandle;

Modules§

chart_aggregate
ChartAggregate<T> — a bucket/rollup projection over a crate::ChartModel.
chart_change
ChartChange — change notifications and stable series identifiers for chart collections.
chart_model
ChartModel<T> — concrete reactive multi-series chart data model.
chart_selection
ChartSelection — point-level selection state for chart widgets.
chart_window
ChartWindow<T> — a “last N points per series” streaming projection over a crate::ChartModel.
check_state
CheckState — tri-state checkbox value shared by the data layer and widgets.
checked_model
CheckedModel — per-row checkbox state for flat collection widgets.
data_change
DataChange — change notifications for flat collections.
debug_registry
debug_registry — opt-in registry of named data models for the Teksilo inspector.
dnd_types
Shared capability types for the data-source drag-and-drop + lazy protocol.
keyed_selection_model
KeyedSelectionModel<K> — identity-based selection for collection widgets.
keyed_tree_checked_model
KeyedTreeCheckedModel<K> — per-node checkbox state for a tree keyed by a stable domain id, with optional descendant→ancestor tristate aggregation.
list_data_source
ListDataSource — read-and-command interface for a flat collection behind a ListView / TableView.
list_model
ListModel<T> — concrete reactive list backed by a Vec<T>.
selection_model
SelectionModel — index-based selection state for collection widgets.
series_pattern
SeriesPattern — the non-colour channel that identifies a chart series.
sort_filter_list_model
Composable sort + filter projection over a flat list source.
sort_filter_tree_model
Composable sort + filter projection over a hierarchical tree.
tree_change
TreeChange — change notifications and stable node identifiers for tree collections.
tree_checked_model
TreeCheckedModel — per-node checkbox state for a tree, with optional descendant→ancestor tristate aggregation.
tree_data_slice
TreeDataSlice — the reusable TreeDataSource engine for an external, indent-ordered tree (a Qleany entity store, a database, a virtual filesystem) that is NOT mirrored into a TreeModel.
tree_data_source
TreeDataSource — read-and-command interface for hierarchical data behind a TreeView / TreeTableView.
tree_model
TreeModel — concrete reactive tree with shared, cloneable handles.
tree_row_filter
TreeRowFilter — sort + tree-aware filter over a TreeRow stream.
tree_slice
TreeSlice — per-view flattened projection of a TreeModel.