MishkaGervaz.Domain.Info.Table (MishkaGervaz v0.0.1-alpha.3)

Copy Markdown View Source

Table-specific introspection for domains using MishkaGervaz.Domain.

Usage

# Get the inherited table defaults
defaults = MishkaGervaz.Domain.Info.Table.defaults(MyDomain)

# Get default pagination
pagination = MishkaGervaz.Domain.Info.Table.pagination(MyDomain)

# Get navigation (domain-wide, not table-specific) — see Domain.Info.menu_groups/1

Summary

Functions

Get the actions config.

Get the actor key.

Get the full domain table configuration.

Get the inherited table defaults for a domain.

Get the master_check function.

Get the default max page size.

mishka_gervaz.form DSL entities

Default create action. Atom (used for both master and tenant) or tuple {master_action, tenant_action}. Inherited by all form resources in the domain.

Default create action. Atom (used for both master and tenant) or tuple {master_action, tenant_action}. Inherited by all form resources in the domain.

mishka_gervaz.form.actions DSL options

Default read/get action. Atom or tuple {master_action, tenant_action}. Inherited by all form resources in the domain.

Default read/get action. Atom or tuple {master_action, tenant_action}. Inherited by all form resources in the domain.

Default update action. Atom or tuple {master_action, tenant_action}. Inherited by all form resources in the domain.

Default update action. Atom or tuple {master_action, tenant_action}. Inherited by all form resources in the domain.

Default assign key for current user.

Default assign key for current user.

Default features to enable for forms.

Default features to enable for forms.

Default number of form columns.

Default number of form columns.

mishka_gervaz.form.layout DSL options

Default responsive layout behaviour.

Default responsive layout behaviour.

Default function to check if user is master. fn user -> boolean.

Default function to check if user is master. fn user -> boolean.

mishka_gervaz.form DSL options

Default template module for form layout.

Default template module for form layout.

Default error message CSS classes.

Default error message CSS classes.

mishka_gervaz.form.theme DSL options

Default form UI adapter module.

Default form UI adapter module.

Default form UI adapter options.

Default form UI adapter options.

mishka_gervaz.navigation DSL entities

mishka_gervaz.table DSL entities

Default destroy action. Atom or tuple {master_action, tenant_action}. Inherited by all resources in the domain.

Default destroy action. Atom or tuple {master_action, tenant_action}. Inherited by all resources in the domain.

Default get action. Atom or tuple {master_action, tenant_action}. Inherited by all resources in the domain.

Default get action. Atom or tuple {master_action, tenant_action}. Inherited by all resources in the domain.

mishka_gervaz.table.actions DSL options

Default read action. Atom (used for both master and tenant) or tuple {master_action, tenant_action}. Inherited by all resources in the domain.

Default read action. Atom (used for both master and tenant) or tuple {master_action, tenant_action}. Inherited by all resources in the domain.

Default assign key for current user.

Default assign key for current user.

Default for whether archive support is enabled at the domain level. Resources still need AshArchival.Resource in their extensions for archive to apply.

Default for whether archive support is enabled at the domain level. Resources still need AshArchival.Resource in their extensions for archive to apply.

mishka_gervaz.table.archive DSL options

Default read archived action. Single atom or tuple {master_action, tenant_action}.

Default read archived action. Single atom or tuple {master_action, tenant_action}.

Default for restricting archive UI to master users only.

Default for restricting archive UI to master users only.

Default archive toggle visibility. Boolean or fn state -> boolean end.

Default archive toggle visibility. Boolean or fn state -> boolean end.

Default function to check if user is master. fn user -> boolean.

Default function to check if user is master. fn user -> boolean.

mishka_gervaz.table DSL options

Default realtime enabled. When realtime section is defined, enabled is true by default.

Default realtime enabled. When realtime section is defined, enabled is true by default.

mishka_gervaz.table.realtime DSL options

Enable auto-refresh. When refresh section is defined, enabled is true by default.

Enable auto-refresh. When refresh section is defined, enabled is true by default.

Refresh interval in milliseconds. Default: 30 seconds.

Refresh interval in milliseconds. Default: 30 seconds.

mishka_gervaz.table.refresh DSL options

Pause auto-refresh when browser tab/window loses focus.

Pause auto-refresh when browser tab/window loses focus.

Pause auto-refresh when user is interacting (filtering, selecting, etc.).

Pause auto-refresh when user is interacting (filtering, selecting, etc.).

Show a visual indicator when auto-refresh is active.

Show a visual indicator when auto-refresh is active.

mishka_gervaz.table.theme DSL options

Enable URL state synchronization. When url_sync section is defined, enabled is true by default.

Enable URL state synchronization. When url_sync section is defined, enabled is true by default.

mishka_gervaz.table.url_sync DSL options

Which state to sync to URL params.

Which state to sync to URL params.

Prefix for URL params to avoid conflicts.

Prefix for URL params to avoid conflicts.

Get the default page size.

Get the default page size options.

Get the pagination config.

Get the realtime config.

Get the refresh config.

Get the theme config.

Get the UI adapter.

Get the UI adapter options.

Get the URL sync config.

Functions

actions(domain)

@spec actions(module()) :: map() | nil

Get the actions config.

actor_key(domain)

@spec actor_key(module()) :: atom()

Get the actor key.

config(domain)

@spec config(module()) :: map() | nil

Get the full domain table configuration.

defaults(domain)

@spec defaults(module()) :: map()

Get the inherited table defaults for a domain.

These settings are inherited by all resources in the domain.

master_check(domain)

@spec master_check(module()) :: (any() -> boolean()) | nil

Get the master_check function.

max_page_size(domain)

@spec max_page_size(module()) :: pos_integer() | nil

Get the default max page size.

mishka_gervaz_form(dsl_or_extended)

@spec mishka_gervaz_form(dsl_or_extended :: module() | map()) :: [struct()]

mishka_gervaz.form DSL entities

mishka_gervaz_form_actions_create(dsl_or_extended)

@spec mishka_gervaz_form_actions_create(dsl_or_extended :: module() | map()) ::
  {:ok, atom() | {atom(), atom()}} | :error

Default create action. Atom (used for both master and tenant) or tuple {master_action, tenant_action}. Inherited by all form resources in the domain.

mishka_gervaz_form_actions_create!(dsl_or_extended)

@spec mishka_gervaz_form_actions_create!(dsl_or_extended :: module() | map()) ::
  (atom() | {atom(), atom()}) | no_return()

Default create action. Atom (used for both master and tenant) or tuple {master_action, tenant_action}. Inherited by all form resources in the domain.

mishka_gervaz_form_actions_options(dsl_or_extended)

@spec mishka_gervaz_form_actions_options(dsl_or_extended :: module() | map()) :: %{
  required(atom()) => any()
}

mishka_gervaz.form.actions DSL options

Returns a map containing the and any configured or default values.

mishka_gervaz_form_actions_read(dsl_or_extended)

@spec mishka_gervaz_form_actions_read(dsl_or_extended :: module() | map()) ::
  {:ok, atom() | {atom(), atom()}} | :error

Default read/get action. Atom or tuple {master_action, tenant_action}. Inherited by all form resources in the domain.

mishka_gervaz_form_actions_read!(dsl_or_extended)

@spec mishka_gervaz_form_actions_read!(dsl_or_extended :: module() | map()) ::
  (atom() | {atom(), atom()}) | no_return()

Default read/get action. Atom or tuple {master_action, tenant_action}. Inherited by all form resources in the domain.

mishka_gervaz_form_actions_update(dsl_or_extended)

@spec mishka_gervaz_form_actions_update(dsl_or_extended :: module() | map()) ::
  {:ok, atom() | {atom(), atom()}} | :error

Default update action. Atom or tuple {master_action, tenant_action}. Inherited by all form resources in the domain.

mishka_gervaz_form_actions_update!(dsl_or_extended)

@spec mishka_gervaz_form_actions_update!(dsl_or_extended :: module() | map()) ::
  (atom() | {atom(), atom()}) | no_return()

Default update action. Atom or tuple {master_action, tenant_action}. Inherited by all form resources in the domain.

mishka_gervaz_form_actor_key(dsl_or_extended)

@spec mishka_gervaz_form_actor_key(dsl_or_extended :: module() | map()) ::
  {:ok, atom()} | :error

Default assign key for current user.

mishka_gervaz_form_actor_key!(dsl_or_extended)

@spec mishka_gervaz_form_actor_key!(dsl_or_extended :: module() | map()) ::
  atom() | no_return()

Default assign key for current user.

mishka_gervaz_form_features(dsl_or_extended)

@spec mishka_gervaz_form_features(dsl_or_extended :: module() | map()) ::
  {:ok,
   :all
   | [:inline_errors | :autosave | :wizard | :groups | :uploads | :validation]}
  | :error

Default features to enable for forms.

mishka_gervaz_form_features!(dsl_or_extended)

@spec mishka_gervaz_form_features!(dsl_or_extended :: module() | map()) ::
  (:all
   | [:inline_errors | :autosave | :wizard | :groups | :uploads | :validation])
  | no_return()

Default features to enable for forms.

mishka_gervaz_form_layout_columns(dsl_or_extended)

@spec mishka_gervaz_form_layout_columns(dsl_or_extended :: module() | map()) ::
  {:ok, pos_integer()} | :error

Default number of form columns.

mishka_gervaz_form_layout_columns!(dsl_or_extended)

@spec mishka_gervaz_form_layout_columns!(dsl_or_extended :: module() | map()) ::
  pos_integer() | no_return()

Default number of form columns.

mishka_gervaz_form_layout_navigation(dsl_or_extended)

@spec mishka_gervaz_form_layout_navigation(dsl_or_extended :: module() | map()) ::
  {:ok, :free | :sequential} | :error

Default wizard navigation mode.

mishka_gervaz_form_layout_navigation!(dsl_or_extended)

@spec mishka_gervaz_form_layout_navigation!(dsl_or_extended :: module() | map()) ::
  (:free | :sequential) | no_return()

Default wizard navigation mode.

mishka_gervaz_form_layout_options(dsl_or_extended)

@spec mishka_gervaz_form_layout_options(dsl_or_extended :: module() | map()) :: %{
  required(atom()) => any()
}

mishka_gervaz.form.layout DSL options

Returns a map containing the and any configured or default values.

mishka_gervaz_form_layout_persistence(dsl_or_extended)

@spec mishka_gervaz_form_layout_persistence(dsl_or_extended :: module() | map()) ::
  {:ok, :client_token | :ets | :none} | :error

Default wizard step persistence.

mishka_gervaz_form_layout_persistence!(dsl_or_extended)

@spec mishka_gervaz_form_layout_persistence!(dsl_or_extended :: module() | map()) ::
  (:client_token | :ets | :none) | no_return()

Default wizard step persistence.

mishka_gervaz_form_layout_responsive(dsl_or_extended)

@spec mishka_gervaz_form_layout_responsive(dsl_or_extended :: module() | map()) ::
  {:ok, boolean()} | :error

Default responsive layout behaviour.

mishka_gervaz_form_layout_responsive!(dsl_or_extended)

@spec mishka_gervaz_form_layout_responsive!(dsl_or_extended :: module() | map()) ::
  boolean() | no_return()

Default responsive layout behaviour.

mishka_gervaz_form_master_check(dsl_or_extended)

@spec mishka_gervaz_form_master_check(dsl_or_extended :: module() | map()) ::
  {:ok, (any() -> any())} | :error

Default function to check if user is master. fn user -> boolean.

mishka_gervaz_form_master_check!(dsl_or_extended)

@spec mishka_gervaz_form_master_check!(dsl_or_extended :: module() | map()) ::
  (any() -> any()) | no_return()

Default function to check if user is master. fn user -> boolean.

mishka_gervaz_form_options(dsl_or_extended)

@spec mishka_gervaz_form_options(dsl_or_extended :: module() | map()) :: %{
  required(atom()) => any()
}

mishka_gervaz.form DSL options

Returns a map containing the and any configured or default values.

mishka_gervaz_form_template(dsl_or_extended)

@spec mishka_gervaz_form_template(dsl_or_extended :: module() | map()) ::
  {:ok, atom()} | :error

Default template module for form layout.

mishka_gervaz_form_template!(dsl_or_extended)

@spec mishka_gervaz_form_template!(dsl_or_extended :: module() | map()) ::
  atom() | no_return()

Default template module for form layout.

mishka_gervaz_form_theme_error_class(dsl_or_extended)

@spec mishka_gervaz_form_theme_error_class(dsl_or_extended :: module() | map()) ::
  {:ok, String.t()} | :error

Default error message CSS classes.

mishka_gervaz_form_theme_error_class!(dsl_or_extended)

@spec mishka_gervaz_form_theme_error_class!(dsl_or_extended :: module() | map()) ::
  String.t() | no_return()

Default error message CSS classes.

mishka_gervaz_form_theme_extra(dsl_or_extended)

@spec mishka_gervaz_form_theme_extra(dsl_or_extended :: module() | map()) ::
  {:ok, map()} | :error

Default extra theme options.

mishka_gervaz_form_theme_extra!(dsl_or_extended)

@spec mishka_gervaz_form_theme_extra!(dsl_or_extended :: module() | map()) ::
  map() | no_return()

Default extra theme options.

mishka_gervaz_form_theme_field_class(dsl_or_extended)

@spec mishka_gervaz_form_theme_field_class(dsl_or_extended :: module() | map()) ::
  {:ok, String.t()} | :error

Default field CSS classes.

mishka_gervaz_form_theme_field_class!(dsl_or_extended)

@spec mishka_gervaz_form_theme_field_class!(dsl_or_extended :: module() | map()) ::
  String.t() | no_return()

Default field CSS classes.

mishka_gervaz_form_theme_form_class(dsl_or_extended)

@spec mishka_gervaz_form_theme_form_class(dsl_or_extended :: module() | map()) ::
  {:ok, String.t()} | :error

Default form CSS classes.

mishka_gervaz_form_theme_form_class!(dsl_or_extended)

@spec mishka_gervaz_form_theme_form_class!(dsl_or_extended :: module() | map()) ::
  String.t() | no_return()

Default form CSS classes.

mishka_gervaz_form_theme_label_class(dsl_or_extended)

@spec mishka_gervaz_form_theme_label_class(dsl_or_extended :: module() | map()) ::
  {:ok, String.t()} | :error

Default label CSS classes.

mishka_gervaz_form_theme_label_class!(dsl_or_extended)

@spec mishka_gervaz_form_theme_label_class!(dsl_or_extended :: module() | map()) ::
  String.t() | no_return()

Default label CSS classes.

mishka_gervaz_form_theme_options(dsl_or_extended)

@spec mishka_gervaz_form_theme_options(dsl_or_extended :: module() | map()) :: %{
  required(atom()) => any()
}

mishka_gervaz.form.theme DSL options

Returns a map containing the and any configured or default values.

mishka_gervaz_form_ui_adapter(dsl_or_extended)

@spec mishka_gervaz_form_ui_adapter(dsl_or_extended :: module() | map()) ::
  {:ok, atom()} | :error

Default form UI adapter module.

mishka_gervaz_form_ui_adapter!(dsl_or_extended)

@spec mishka_gervaz_form_ui_adapter!(dsl_or_extended :: module() | map()) ::
  atom() | no_return()

Default form UI adapter module.

mishka_gervaz_form_ui_adapter_opts(dsl_or_extended)

@spec mishka_gervaz_form_ui_adapter_opts(dsl_or_extended :: module() | map()) ::
  {:ok, keyword()} | :error

Default form UI adapter options.

mishka_gervaz_form_ui_adapter_opts!(dsl_or_extended)

@spec mishka_gervaz_form_ui_adapter_opts!(dsl_or_extended :: module() | map()) ::
  keyword() | no_return()

Default form UI adapter options.

mishka_gervaz_navigation(dsl_or_extended)

@spec mishka_gervaz_navigation(dsl_or_extended :: module() | map()) :: [struct()]

mishka_gervaz.navigation DSL entities

mishka_gervaz_table(dsl_or_extended)

@spec mishka_gervaz_table(dsl_or_extended :: module() | map()) :: [struct()]

mishka_gervaz.table DSL entities

mishka_gervaz_table_actions_destroy(dsl_or_extended)

@spec mishka_gervaz_table_actions_destroy(dsl_or_extended :: module() | map()) ::
  {:ok, atom() | {atom(), atom()}} | :error

Default destroy action. Atom or tuple {master_action, tenant_action}. Inherited by all resources in the domain.

mishka_gervaz_table_actions_destroy!(dsl_or_extended)

@spec mishka_gervaz_table_actions_destroy!(dsl_or_extended :: module() | map()) ::
  (atom() | {atom(), atom()}) | no_return()

Default destroy action. Atom or tuple {master_action, tenant_action}. Inherited by all resources in the domain.

mishka_gervaz_table_actions_get(dsl_or_extended)

@spec mishka_gervaz_table_actions_get(dsl_or_extended :: module() | map()) ::
  {:ok, atom() | {atom(), atom()}} | :error

Default get action. Atom or tuple {master_action, tenant_action}. Inherited by all resources in the domain.

mishka_gervaz_table_actions_get!(dsl_or_extended)

@spec mishka_gervaz_table_actions_get!(dsl_or_extended :: module() | map()) ::
  (atom() | {atom(), atom()}) | no_return()

Default get action. Atom or tuple {master_action, tenant_action}. Inherited by all resources in the domain.

mishka_gervaz_table_actions_options(dsl_or_extended)

@spec mishka_gervaz_table_actions_options(dsl_or_extended :: module() | map()) :: %{
  required(atom()) => any()
}

mishka_gervaz.table.actions DSL options

Returns a map containing the and any configured or default values.

mishka_gervaz_table_actions_read(dsl_or_extended)

@spec mishka_gervaz_table_actions_read(dsl_or_extended :: module() | map()) ::
  {:ok, atom() | {atom(), atom()}} | :error

Default read action. Atom (used for both master and tenant) or tuple {master_action, tenant_action}. Inherited by all resources in the domain.

mishka_gervaz_table_actions_read!(dsl_or_extended)

@spec mishka_gervaz_table_actions_read!(dsl_or_extended :: module() | map()) ::
  (atom() | {atom(), atom()}) | no_return()

Default read action. Atom (used for both master and tenant) or tuple {master_action, tenant_action}. Inherited by all resources in the domain.

mishka_gervaz_table_actor_key(dsl_or_extended)

@spec mishka_gervaz_table_actor_key(dsl_or_extended :: module() | map()) ::
  {:ok, atom()} | :error

Default assign key for current user.

mishka_gervaz_table_actor_key!(dsl_or_extended)

@spec mishka_gervaz_table_actor_key!(dsl_or_extended :: module() | map()) ::
  atom() | no_return()

Default assign key for current user.

mishka_gervaz_table_archive_destroy_action(dsl_or_extended)

@spec mishka_gervaz_table_archive_destroy_action(dsl_or_extended :: module() | map()) ::
  {:ok, atom() | {atom(), atom()}} | :error

Default permanent destroy action.

mishka_gervaz_table_archive_destroy_action!(dsl_or_extended)

@spec mishka_gervaz_table_archive_destroy_action!(dsl_or_extended :: module() | map()) ::
  (atom() | {atom(), atom()}) | no_return()

Default permanent destroy action.

mishka_gervaz_table_archive_enabled(dsl_or_extended)

@spec mishka_gervaz_table_archive_enabled(dsl_or_extended :: module() | map()) ::
  {:ok, boolean()} | :error

Default for whether archive support is enabled at the domain level. Resources still need AshArchival.Resource in their extensions for archive to apply.

mishka_gervaz_table_archive_enabled!(dsl_or_extended)

@spec mishka_gervaz_table_archive_enabled!(dsl_or_extended :: module() | map()) ::
  boolean() | no_return()

Default for whether archive support is enabled at the domain level. Resources still need AshArchival.Resource in their extensions for archive to apply.

mishka_gervaz_table_archive_get_action(dsl_or_extended)

@spec mishka_gervaz_table_archive_get_action(dsl_or_extended :: module() | map()) ::
  {:ok, atom() | {atom(), atom()}} | :error

Default get archived action.

mishka_gervaz_table_archive_get_action!(dsl_or_extended)

@spec mishka_gervaz_table_archive_get_action!(dsl_or_extended :: module() | map()) ::
  (atom() | {atom(), atom()}) | no_return()

Default get archived action.

mishka_gervaz_table_archive_options(dsl_or_extended)

@spec mishka_gervaz_table_archive_options(dsl_or_extended :: module() | map()) :: %{
  required(atom()) => any()
}

mishka_gervaz.table.archive DSL options

Returns a map containing the and any configured or default values.

mishka_gervaz_table_archive_read_action(dsl_or_extended)

@spec mishka_gervaz_table_archive_read_action(dsl_or_extended :: module() | map()) ::
  {:ok, atom() | {atom(), atom()}} | :error

Default read archived action. Single atom or tuple {master_action, tenant_action}.

mishka_gervaz_table_archive_read_action!(dsl_or_extended)

@spec mishka_gervaz_table_archive_read_action!(dsl_or_extended :: module() | map()) ::
  (atom() | {atom(), atom()}) | no_return()

Default read archived action. Single atom or tuple {master_action, tenant_action}.

mishka_gervaz_table_archive_restore_action(dsl_or_extended)

@spec mishka_gervaz_table_archive_restore_action(dsl_or_extended :: module() | map()) ::
  {:ok, atom() | {atom(), atom()}} | :error

Default restore action.

mishka_gervaz_table_archive_restore_action!(dsl_or_extended)

@spec mishka_gervaz_table_archive_restore_action!(dsl_or_extended :: module() | map()) ::
  (atom() | {atom(), atom()}) | no_return()

Default restore action.

mishka_gervaz_table_archive_restricted(dsl_or_extended)

@spec mishka_gervaz_table_archive_restricted(dsl_or_extended :: module() | map()) ::
  {:ok, boolean()} | :error

Default for restricting archive UI to master users only.

mishka_gervaz_table_archive_restricted!(dsl_or_extended)

@spec mishka_gervaz_table_archive_restricted!(dsl_or_extended :: module() | map()) ::
  boolean() | no_return()

Default for restricting archive UI to master users only.

mishka_gervaz_table_archive_visible(dsl_or_extended)

@spec mishka_gervaz_table_archive_visible(dsl_or_extended :: module() | map()) ::
  {:ok, boolean() | tuple()} | :error

Default archive toggle visibility. Boolean or fn state -> boolean end.

mishka_gervaz_table_archive_visible!(dsl_or_extended)

@spec mishka_gervaz_table_archive_visible!(dsl_or_extended :: module() | map()) ::
  (boolean() | tuple()) | no_return()

Default archive toggle visibility. Boolean or fn state -> boolean end.

mishka_gervaz_table_master_check(dsl_or_extended)

@spec mishka_gervaz_table_master_check(dsl_or_extended :: module() | map()) ::
  {:ok, (any() -> any())} | :error

Default function to check if user is master. fn user -> boolean.

mishka_gervaz_table_master_check!(dsl_or_extended)

@spec mishka_gervaz_table_master_check!(dsl_or_extended :: module() | map()) ::
  (any() -> any()) | no_return()

Default function to check if user is master. fn user -> boolean.

mishka_gervaz_table_options(dsl_or_extended)

@spec mishka_gervaz_table_options(dsl_or_extended :: module() | map()) :: %{
  required(atom()) => any()
}

mishka_gervaz.table DSL options

Returns a map containing the and any configured or default values.

mishka_gervaz_table_realtime_enabled(dsl_or_extended)

@spec mishka_gervaz_table_realtime_enabled(dsl_or_extended :: module() | map()) ::
  {:ok, boolean()} | :error

Default realtime enabled. When realtime section is defined, enabled is true by default.

mishka_gervaz_table_realtime_enabled!(dsl_or_extended)

@spec mishka_gervaz_table_realtime_enabled!(dsl_or_extended :: module() | map()) ::
  boolean() | no_return()

Default realtime enabled. When realtime section is defined, enabled is true by default.

mishka_gervaz_table_realtime_options(dsl_or_extended)

@spec mishka_gervaz_table_realtime_options(dsl_or_extended :: module() | map()) :: %{
  required(atom()) => any()
}

mishka_gervaz.table.realtime DSL options

Returns a map containing the and any configured or default values.

mishka_gervaz_table_realtime_pubsub(dsl_or_extended)

@spec mishka_gervaz_table_realtime_pubsub(dsl_or_extended :: module() | map()) ::
  {:ok, atom()} | :error

Default PubSub module.

mishka_gervaz_table_realtime_pubsub!(dsl_or_extended)

@spec mishka_gervaz_table_realtime_pubsub!(dsl_or_extended :: module() | map()) ::
  atom() | no_return()

Default PubSub module.

mishka_gervaz_table_refresh_enabled(dsl_or_extended)

@spec mishka_gervaz_table_refresh_enabled(dsl_or_extended :: module() | map()) ::
  {:ok, boolean()} | :error

Enable auto-refresh. When refresh section is defined, enabled is true by default.

mishka_gervaz_table_refresh_enabled!(dsl_or_extended)

@spec mishka_gervaz_table_refresh_enabled!(dsl_or_extended :: module() | map()) ::
  boolean() | no_return()

Enable auto-refresh. When refresh section is defined, enabled is true by default.

mishka_gervaz_table_refresh_interval(dsl_or_extended)

@spec mishka_gervaz_table_refresh_interval(dsl_or_extended :: module() | map()) ::
  {:ok, pos_integer()} | :error

Refresh interval in milliseconds. Default: 30 seconds.

mishka_gervaz_table_refresh_interval!(dsl_or_extended)

@spec mishka_gervaz_table_refresh_interval!(dsl_or_extended :: module() | map()) ::
  pos_integer() | no_return()

Refresh interval in milliseconds. Default: 30 seconds.

mishka_gervaz_table_refresh_options(dsl_or_extended)

@spec mishka_gervaz_table_refresh_options(dsl_or_extended :: module() | map()) :: %{
  required(atom()) => any()
}

mishka_gervaz.table.refresh DSL options

Returns a map containing the and any configured or default values.

mishka_gervaz_table_refresh_pause_on_blur(dsl_or_extended)

@spec mishka_gervaz_table_refresh_pause_on_blur(dsl_or_extended :: module() | map()) ::
  {:ok, boolean()} | :error

Pause auto-refresh when browser tab/window loses focus.

mishka_gervaz_table_refresh_pause_on_blur!(dsl_or_extended)

@spec mishka_gervaz_table_refresh_pause_on_blur!(dsl_or_extended :: module() | map()) ::
  boolean() | no_return()

Pause auto-refresh when browser tab/window loses focus.

mishka_gervaz_table_refresh_pause_on_interaction(dsl_or_extended)

@spec mishka_gervaz_table_refresh_pause_on_interaction(
  dsl_or_extended :: module() | map()
) ::
  {:ok, boolean()} | :error

Pause auto-refresh when user is interacting (filtering, selecting, etc.).

mishka_gervaz_table_refresh_pause_on_interaction!(dsl_or_extended)

@spec mishka_gervaz_table_refresh_pause_on_interaction!(
  dsl_or_extended :: module() | map()
) ::
  boolean() | no_return()

Pause auto-refresh when user is interacting (filtering, selecting, etc.).

mishka_gervaz_table_refresh_show_indicator(dsl_or_extended)

@spec mishka_gervaz_table_refresh_show_indicator(dsl_or_extended :: module() | map()) ::
  {:ok, boolean()} | :error

Show a visual indicator when auto-refresh is active.

mishka_gervaz_table_refresh_show_indicator!(dsl_or_extended)

@spec mishka_gervaz_table_refresh_show_indicator!(dsl_or_extended :: module() | map()) ::
  boolean() | no_return()

Show a visual indicator when auto-refresh is active.

mishka_gervaz_table_theme_border_class(dsl_or_extended)

@spec mishka_gervaz_table_theme_border_class(dsl_or_extended :: module() | map()) ::
  {:ok, String.t()} | :error

Default border CSS classes.

mishka_gervaz_table_theme_border_class!(dsl_or_extended)

@spec mishka_gervaz_table_theme_border_class!(dsl_or_extended :: module() | map()) ::
  String.t() | no_return()

Default border CSS classes.

mishka_gervaz_table_theme_extra(dsl_or_extended)

@spec mishka_gervaz_table_theme_extra(dsl_or_extended :: module() | map()) ::
  {:ok, map()} | :error

Default extra theme options.

mishka_gervaz_table_theme_extra!(dsl_or_extended)

@spec mishka_gervaz_table_theme_extra!(dsl_or_extended :: module() | map()) ::
  map() | no_return()

Default extra theme options.

mishka_gervaz_table_theme_header_class(dsl_or_extended)

@spec mishka_gervaz_table_theme_header_class(dsl_or_extended :: module() | map()) ::
  {:ok, String.t()} | :error

Default header CSS classes.

mishka_gervaz_table_theme_header_class!(dsl_or_extended)

@spec mishka_gervaz_table_theme_header_class!(dsl_or_extended :: module() | map()) ::
  String.t() | no_return()

Default header CSS classes.

mishka_gervaz_table_theme_options(dsl_or_extended)

@spec mishka_gervaz_table_theme_options(dsl_or_extended :: module() | map()) :: %{
  required(atom()) => any()
}

mishka_gervaz.table.theme DSL options

Returns a map containing the and any configured or default values.

mishka_gervaz_table_theme_row_class(dsl_or_extended)

@spec mishka_gervaz_table_theme_row_class(dsl_or_extended :: module() | map()) ::
  {:ok, String.t()} | :error

Default row CSS classes.

mishka_gervaz_table_theme_row_class!(dsl_or_extended)

@spec mishka_gervaz_table_theme_row_class!(dsl_or_extended :: module() | map()) ::
  String.t() | no_return()

Default row CSS classes.

mishka_gervaz_table_ui_adapter(dsl_or_extended)

@spec mishka_gervaz_table_ui_adapter(dsl_or_extended :: module() | map()) ::
  {:ok, atom()} | :error

Default UI adapter module.

mishka_gervaz_table_ui_adapter!(dsl_or_extended)

@spec mishka_gervaz_table_ui_adapter!(dsl_or_extended :: module() | map()) ::
  atom() | no_return()

Default UI adapter module.

mishka_gervaz_table_ui_adapter_opts(dsl_or_extended)

@spec mishka_gervaz_table_ui_adapter_opts(dsl_or_extended :: module() | map()) ::
  {:ok, keyword()} | :error

Default UI adapter options.

mishka_gervaz_table_ui_adapter_opts!(dsl_or_extended)

@spec mishka_gervaz_table_ui_adapter_opts!(dsl_or_extended :: module() | map()) ::
  keyword() | no_return()

Default UI adapter options.

mishka_gervaz_table_url_sync_enabled(dsl_or_extended)

@spec mishka_gervaz_table_url_sync_enabled(dsl_or_extended :: module() | map()) ::
  {:ok, boolean()} | :error

Enable URL state synchronization. When url_sync section is defined, enabled is true by default.

mishka_gervaz_table_url_sync_enabled!(dsl_or_extended)

@spec mishka_gervaz_table_url_sync_enabled!(dsl_or_extended :: module() | map()) ::
  boolean() | no_return()

Enable URL state synchronization. When url_sync section is defined, enabled is true by default.

mishka_gervaz_table_url_sync_mode(dsl_or_extended)

@spec mishka_gervaz_table_url_sync_mode(dsl_or_extended :: module() | map()) ::
  {:ok, :bidirectional | :read_only} | :error

URL sync mode:

  • :read_only - Only read from URL on initial load (default)
  • :bidirectional - Sync URL when filters/sort/page change

mishka_gervaz_table_url_sync_mode!(dsl_or_extended)

@spec mishka_gervaz_table_url_sync_mode!(dsl_or_extended :: module() | map()) ::
  (:bidirectional | :read_only) | no_return()

URL sync mode:

  • :read_only - Only read from URL on initial load (default)
  • :bidirectional - Sync URL when filters/sort/page change

mishka_gervaz_table_url_sync_options(dsl_or_extended)

@spec mishka_gervaz_table_url_sync_options(dsl_or_extended :: module() | map()) :: %{
  required(atom()) => any()
}

mishka_gervaz.table.url_sync DSL options

Returns a map containing the and any configured or default values.

mishka_gervaz_table_url_sync_params(dsl_or_extended)

@spec mishka_gervaz_table_url_sync_params(dsl_or_extended :: module() | map()) ::
  {:ok, [:template | :search | :page_size | :page | :sort | :filters]} | :error

Which state to sync to URL params.

mishka_gervaz_table_url_sync_params!(dsl_or_extended)

@spec mishka_gervaz_table_url_sync_params!(dsl_or_extended :: module() | map()) ::
  [:template | :search | :page_size | :page | :sort | :filters] | no_return()

Which state to sync to URL params.

mishka_gervaz_table_url_sync_prefix(dsl_or_extended)

@spec mishka_gervaz_table_url_sync_prefix(dsl_or_extended :: module() | map()) ::
  {:ok, String.t()} | :error

Prefix for URL params to avoid conflicts.

mishka_gervaz_table_url_sync_prefix!(dsl_or_extended)

@spec mishka_gervaz_table_url_sync_prefix!(dsl_or_extended :: module() | map()) ::
  String.t() | no_return()

Prefix for URL params to avoid conflicts.

page_size(domain)

@spec page_size(module()) :: pos_integer() | nil

Get the default page size.

page_size_options(domain)

@spec page_size_options(module()) :: [pos_integer()] | nil

Get the default page size options.

pagination(domain)

@spec pagination(module()) :: map() | nil

Get the pagination config.

realtime(domain)

@spec realtime(module()) :: map() | nil

Get the realtime config.

refresh(domain)

@spec refresh(module()) :: map() | nil

Get the refresh config.

theme(domain)

@spec theme(module()) :: map() | nil

Get the theme config.

ui_adapter(domain)

@spec ui_adapter(module()) :: module()

Get the UI adapter.

ui_adapter_opts(domain)

@spec ui_adapter_opts(module()) :: keyword()

Get the UI adapter options.

url_sync(domain)

@spec url_sync(module()) :: map() | nil

Get the URL sync config.