pub struct PanelViewerConfig<V: TS = String> {
pub version: V,
pub columns_config: HashMap<String, Map<String, Value>>,
pub plugin: String,
pub plugin_config: Map<String, Value>,
pub table: String,
pub theme: Option<String>,
pub title: Option<String>,
pub view_config: ViewConfig,
}Expand description
The per-panel state of a ViewerConfig — everything except the
element-level settings flag. This is the panels entry type of the
whole-element config format.
Fields§
§version: VThe @perspective-dev/viewer version that wrote this config,
stamped on save and used to migrate older tokens. Callers do not
set it.
columns_config: HashMap<String, Map<String, Value>>Per-column styling, keyed by column name. The viewer treats the
values as opaque — their shape is defined by the ACTIVE plugin,
so a config written for one plugin may carry keys another
ignores. Query the live shape with the get_style_schema agent
tool, or the plugin’s column_config_schema().
plugin: StringName of the visualization plugin, from the set registered on the
page (the list_plugins agent tool, or the plugin picker). This
also decides what the view fields MEAN visually: columns is
positional and each plugin reads the positions differently, and
group_by/split_by draw different things per plugin.
plugin_config: Map<String, Value>Plugin-wide settings (as opposed to the per-column
Self::columns_config). Opaque to the viewer and defined by
the active plugin; see get_style_schema.
table: StringName of the Table this panel renders, as hosted on the panel’s
Client. Every placed panel has a table binding (creation
requires one by type — ViewerConfigInitial), so the saved
config carries it unconditionally.
theme: Option<String>Selected theme NAME (e.g. "Pro Dark") — not a CSS value. Valid
names are the Perspective themes loaded on the page, which
resetThemes() re-scans. None selects the first available.
title: Option<String>Panel title, shown in its tab. None renders the default title.
view_config: ViewConfigTrait Implementations§
Source§impl<V: Default + TS> Default for PanelViewerConfig<V>
impl<V: Default + TS> Default for PanelViewerConfig<V>
Source§fn default() -> PanelViewerConfig<V>
fn default() -> PanelViewerConfig<V>
Source§impl<V> Serialize for PanelViewerConfig<V>
impl<V> Serialize for PanelViewerConfig<V>
impl<V: PartialEq + TS> StructuralPartialEq for PanelViewerConfig<V>
Source§impl<V> TS for PanelViewerConfig<V>
impl<V> TS for PanelViewerConfig<V>
Source§type WithoutGenerics = PanelViewerConfig<Dummy>
type WithoutGenerics = PanelViewerConfig<Dummy>
WithoutGenerics should just be Self.
If the type does have generic parameters, then all generic parameters must be replaced with
a dummy type, e.g ts_rs::Dummy or ().
The only requirement for these dummy types is that EXPORT_TO must be None. Read moreSource§type OptionInnerType = PanelViewerConfig<V>
type OptionInnerType = PanelViewerConfig<V>
std::option::Option<T>, then this associated type is set to T.
All other implementations of TS should set this type to Self instead.Source§fn docs() -> Option<String>
fn docs() -> Option<String>
TS is derived, docs are
automatically read from your doc comments or #[doc = ".."] attributesSource§fn decl_concrete() -> String
fn decl_concrete() -> String
TS::decl().
If this type is not generic, then this function is equivalent to TS::decl().Source§fn decl() -> String
fn decl() -> String
type User = { user_id: number, ... }.
This function will panic if the type has no declaration. Read moreSource§fn inline() -> String
fn inline() -> String
{ user_id: number }.
This function will panic if the type cannot be inlined.Source§fn inline_flattened() -> String
fn inline_flattened() -> String
This function will panic if the type cannot be flattened.
Source§fn visit_generics(v: &mut impl TypeVisitor)where
Self: 'static,
fn visit_generics(v: &mut impl TypeVisitor)where
Self: 'static,
Source§fn output_path() -> Option<PathBuf>
fn output_path() -> Option<PathBuf>
T should be exported.The returned path does not include the base directory from
TS_RS_EXPORT_DIR. Read moreSource§fn visit_dependencies(v: &mut impl TypeVisitor)where
Self: 'static,
fn visit_dependencies(v: &mut impl TypeVisitor)where
Self: 'static,
Source§fn dependencies() -> Vec<Dependency>where
Self: 'static,
fn dependencies() -> Vec<Dependency>where
Self: 'static,
Source§fn export() -> Result<(), ExportError>where
Self: 'static,
fn export() -> Result<(), ExportError>where
Self: 'static,
TS::export_all. Read moreSource§fn export_all() -> Result<(), ExportError>where
Self: 'static,
fn export_all() -> Result<(), ExportError>where
Self: 'static,
To export only this type, without its dependencies, use
TS::export. Read moreSource§fn export_all_to(out_dir: impl AsRef<Path>) -> Result<(), ExportError>where
Self: 'static,
fn export_all_to(out_dir: impl AsRef<Path>) -> Result<(), ExportError>where
Self: 'static,
To export only this type, without its dependencies, use
TS::export. Read moreSource§fn export_to_string() -> Result<String, ExportError>where
Self: 'static,
fn export_to_string() -> Result<String, ExportError>where
Self: 'static,
Auto Trait Implementations§
impl<V> Freeze for PanelViewerConfig<V>where
V: Freeze,
impl<V> RefUnwindSafe for PanelViewerConfig<V>where
V: RefUnwindSafe,
impl<V> Send for PanelViewerConfig<V>where
V: Send,
impl<V> Sync for PanelViewerConfig<V>where
V: Sync,
impl<V> Unpin for PanelViewerConfig<V>where
V: Unpin,
impl<V> UnsafeUnpin for PanelViewerConfig<V>where
V: UnsafeUnpin,
impl<V> UnwindSafe for PanelViewerConfig<V>where
V: UnwindSafe,
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>,
impl<T> Allocation for T
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.