pub enum PerspectiveViewerMsg {
Show 39 variants
ColumnSettingsPanelSizeUpdate(Option<i32>),
ColumnSettingsTabChanged(ColumnSettingsTab),
OpenColumnSettings {
locator: Option<ColumnLocator>,
sender: Option<Sender<()>>,
toggle: bool,
},
PreloadFontsUpdate,
Reset(bool, Option<Completion>),
ResetPanel(Option<String>, bool, Option<Completion>),
Resize,
LayoutChanged,
SetActivePanel(String, Option<Completion>),
ClosePanel(String, Option<Completion>),
CommitWorkspaceRestore(String),
DuplicatePanel(String),
NewPanel(String),
NewPanelFrom {
client: String,
table: String,
},
ToggleMaster(String),
MasterContribution(String, Option<MasterSelection>),
RemoveGlobalFilter(usize),
ClearGlobalFilters,
TitlesChanged,
SettingsPanelSizeUpdate(Option<i32>),
SettingsDividerMove(i32),
SettingsDividerPump,
SettingsDividerCommit(i32),
SettingsDividerFinish,
SettingsPanelTabChanged(SelectedTab),
SettingsPanelAutoWidth(f64),
ToggleDebug,
ToggleSettingsComplete(SettingsUpdate, Sender<()>),
ToggleSettingsInit(Option<SettingsUpdate>, Option<Sender<ApiResult<JsValue>>>),
UpdateSession(Box<SessionProps>),
UpdateRenderer(Box<RendererProps>),
UpdatePresentation(Box<PresentationProps>),
UpdateSettingsOpen(bool),
UpdateIsWorkspace(bool),
UpdateColumnSettings(Box<OpenColumnSettings>),
UpdateDragDrop(Box<DragDropProps>),
UpdateSessionStats(Option<ViewStats>, Option<TableLoadState>),
UpdateGlobalFilters,
UpdateInFlight(u32),
}Variants§
ColumnSettingsPanelSizeUpdate(Option<i32>)
ColumnSettingsTabChanged(ColumnSettingsTab)
OpenColumnSettings
PreloadFontsUpdate
Reset(bool, Option<Completion>)
Element-level reset (the public reset() API): reset EVERY panel and
clear the cross-filter overlay, symmetric with whole-element
save/restore. The bool also clears expressions/column settings.
ResetPanel(Option<String>, bool, Option<Completion>)
Reset ONLY the named panel — or the active panel when None — to its
default ViewerConfig (the toolbar Reset button, the context menu’s
“Reset” command, and the public resetPanel() API). The bool is
Reset’s expressions flag (toolbar shift-click); the Completion
resolves the resetPanel() promise after the reset’s run completes
(invariant I6).
Resize
LayoutChanged
The set of layout panels changed (added/removed); re-render so the
layout host reconciles its <regular-layout> cells.
SetActivePanel(String, Option<Completion>)
Make the named panel active: re-target the settings panel + status bar
(and the root’s session/renderer subscriptions) to its engines. The
Completion resolves setActivePanel() after the activation-chrome
nudge runs complete (invariant I6).
ClosePanel(String, Option<Completion>)
The named panel’s frame was closed (removed from the layout); remove it
from the workspace and dispose its engines. The Completion resolves
removePanel() after the eject’s teardown run completes (invariant
I6) — carrying any teardown error, which was previously dropped.
CommitWorkspaceRestore(String)
Whole-element restore finished replacing the panel set in the
Workspace (new models inserted, old panels ejected, layout staged):
activate the named panel, re-subscribe the per-panel wiring, and
re-render — the SINGLE visible commit of the whole restore.
DuplicatePanel(String)
Duplicate the named panel: snapshot its config into a new independent panel appended to the layout.
NewPanel(String)
New panel: a fresh (default-config) panel bound to the named panel’s table (from the default client).
NewPanelFrom
New panel bound to the named Table on the named Client (the
context menu’s “New” sub-menu). The Client is resolved by name from
the Workspace loaded-clients registry.
ToggleMaster(String)
Toggle the named panel’s master/detail (filter-source) role.
MasterContribution(String, Option<MasterSelection>)
A master panel’s selection state, from EITHER host listener
(perspective-global-filter select/deselect or perspective-click):
Some REPLACES that panel’s global-filter contribution, None
(deselect) clears it. Non-master sources are ignored by the handler.
RemoveGlobalFilter(usize)
Remove the global filter at this index (GlobalFilterBar chip ×).
ClearGlobalFilters
Clear all global filters (GlobalFilterBar “Clear”).
TitlesChanged
Some panel’s title changed (any panel, via _title_subscriptions);
re-render so the tab titles refresh.
SettingsPanelSizeUpdate(Option<i32>)
SettingsDividerMove(i32)
The settings-pane divider proposed a new pane width (per pointermove,
from the deferred SplitPanel — it has NOT been applied). Feeds the
latest-wins presize pump (PRESIZE_EVERYWHERE_PLAN.md P1): geometry
commits only after every visible panel has rendered at its target.
SettingsDividerPump
Run one pump iteration: presize all visible panels at the newest proposed pane width, then commit it.
SettingsDividerCommit(i32)
Presize for this pane width completed — commit it (the deferred
SplitPanel’s controlled size), then pump again if a newer target
arrived meanwhile.
SettingsDividerFinish
Divider drag ended: reactively finalize every visible panel at its exact settled cell (debounced no-op when the presizes were exact).
SettingsPanelTabChanged(SelectedTab)
SettingsPanelAutoWidth(f64)
ToggleDebug
ToggleSettingsComplete(SettingsUpdate, Sender<()>)
ToggleSettingsInit(Option<SettingsUpdate>, Option<Sender<ApiResult<JsValue>>>)
UpdateSession(Box<SessionProps>)
UpdateRenderer(Box<RendererProps>)
UpdatePresentation(Box<PresentationProps>)
UpdateSettingsOpen(bool)
Update only is_settings_open in the presentation snapshot without
touching available_themes (which requires async data).
UpdateIsWorkspace(bool)
UpdateColumnSettings(Box<OpenColumnSettings>)
Update only open_column_settings in the presentation snapshot.
UpdateDragDrop(Box<DragDropProps>)
UpdateSessionStats(Option<ViewStats>, Option<TableLoadState>)
Update only stats-related fields of session_props without touching
config. This prevents stats_changed events (e.g. from reset())
from propagating a freshly-cleared config to the column selector.
UpdateGlobalFilters
Refresh the root’s render snapshot of the Workspace-owned global
filter set (dispatched by its filters_changed PubSub).
UpdateInFlight(u32)
The active panel’s in-flight config-run count changed. LEVEL-
triggered: the payload is the ABSOLUTE count (RAII-settled — see
Session::begin_config_run), which the handler ASSIGNS to
update_count; there is no delta arithmetic to drift. Threaded to
StatusIndicator as the “updating” spinner.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for PerspectiveViewerMsg
impl !Send for PerspectiveViewerMsg
impl !Sync for PerspectiveViewerMsg
impl !UnwindSafe for PerspectiveViewerMsg
impl Freeze for PerspectiveViewerMsg
impl Unpin for PerspectiveViewerMsg
impl UnsafeUnpin for PerspectiveViewerMsg
Blanket Implementations§
impl<Token, Builder, How> AllPropsFor<Builder, How> for Tokenwhere
Builder: Buildable<Token>,
<Builder as Buildable<Token>>::WrappedToken: HasAllProps<<Builder as Buildable<Token>>::Output, How>,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<T> HasAllProps<(), T> for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoPropValue<Option<T>> for T
impl<T> IntoPropValue<Option<T>> for T
Source§fn into_prop_value(self) -> Option<T>
fn into_prop_value(self) -> Option<T>
self to a value of a Properties struct.Source§impl<T> IntoPropValue<T> for T
impl<T> IntoPropValue<T> for T
Source§fn into_prop_value(self) -> T
fn into_prop_value(self) -> T
self to a value of a Properties struct.