pub struct FacetCaps {
pub scalable: bool,
pub copyable: bool,
pub pasteable: bool,
pub cuttable: bool,
pub selectable: bool,
pub themeable: bool,
pub resizable: bool,
pub searchable: bool,
pub editable: bool,
pub navigable: bool,
pub draggable: bool,
pub time_scrollable: bool,
}Expand description
What a Facet can do, so hosts treat every component uniformly. All-false by default: a facet opts in to each capability it actually honors.
Fields§
§scalable: boolHonors a uniform scale: f32 (Ctrl-+/Ctrl– and a toolbar zoom).
copyable: boolHas a current selection that can be copied (drives Ctrl-C/Ctrl-X gating).
pasteable: boolAccepts pasted content (drives Ctrl-V gating).
cuttable: boolSupports cut (remove-on-copy). Implies copyable.
selectable: boolHas a user selection model (rows, nodes, points…).
themeable: boolReads the facett Theme from the context (vs. fixed colours).
resizable: boolIts content area can be resized by the host without breaking.
searchable: boolExposes a text search/filter over its content.
editable: boolSupports inline cell editing (Enter/double-click to enter edit mode, Enter/Tab to commit, Escape to cancel). Emits change events via GridResponse.
Drives the shared Navigable pan/zoom/fit model
(wheel zoom-to-cursor, drag-pan, keyboard pan/zoom, fit-to-view). A host
can offer navigation help / a fit affordance when this is set.
draggable: boolIts items can be dragged and dropped onto zones (cards→columns,
bars→lanes) via the shared dragdrop primitive. A host
can offer drag affordances / a “moves pending” indicator when set.
time_scrollable: boolLays its content on a shared time axis (time_axis)
that can be panned/zoomed in time (gantt, CFD, calendar, timeline). A host
can link several such facets to one axis and offer a time-scrubber.
Implementations§
Source§impl FacetCaps
impl FacetCaps
pub const fn scalable(self) -> FacetCaps
pub const fn copyable(self) -> FacetCaps
pub const fn pasteable(self) -> FacetCaps
pub const fn selectable(self) -> FacetCaps
pub const fn themeable(self) -> FacetCaps
pub const fn resizable(self) -> FacetCaps
pub const fn searchable(self) -> FacetCaps
pub const fn editable(self) -> FacetCaps
Sourcepub const fn draggable(self) -> FacetCaps
pub const fn draggable(self) -> FacetCaps
Its items can be dragged onto zones via crate::dragdrop.
Sourcepub const fn time_scrollable(self) -> FacetCaps
pub const fn time_scrollable(self) -> FacetCaps
Its content lays on a shared crate::time_axis (pan/zoom-in-time).