MishkaGervaz.Table.Web.State.Static (MishkaGervaz v0.0.1-alpha.2)

Copy Markdown View Source

Static table configuration that never changes after initialization.

Stored as a separate struct so LiveView can skip re-rendering when only dynamic state changes. The reference to this struct stays the same across all state updates, enabling O(1) equality comparison.

Summary

Types

t()

@type t() :: %MishkaGervaz.Table.Web.State.Static{
  bulk_actions: [map()],
  columns: [map()],
  config: map(),
  features: [atom()],
  filter_groups: [map()],
  filter_mode: atom(),
  filters: [map()],
  footer: map() | nil,
  header: map() | nil,
  hooks: map(),
  id: String.t(),
  max_page_size: pos_integer() | nil,
  notices: [map()],
  page_size: pos_integer() | nil,
  page_size_options: [pos_integer()] | nil,
  pagination_ui: struct(),
  resource: module(),
  row_action_dropdowns: [map()],
  row_actions: [map()],
  row_actions_layout: map() | nil,
  sort_field_map: %{required(atom()) => [atom()]},
  sortable_columns: [atom()],
  stream_name: atom(),
  switchable_templates: [module()],
  template_options: keyword(),
  theme: map() | nil,
  ui_adapter: module(),
  ui_adapter_opts: keyword(),
  url_sync_config: map() | nil
}