Entity struct for table filter configuration.
See MishkaGervaz.Table.Dsl.Filters,
MishkaGervaz.Table.Entities.Filter.Ui,
MishkaGervaz.Table.Entities.Filter.Preload,
MishkaGervaz.Table.Entities.FilterGroup,
MishkaGervaz.Table.Types.Filter (type registry), and
MishkaGervaz.Table.Web.State.FilterBuilder.
Summary
Functions
Transform the filter after DSL compilation.
Types
@type filter_type() ::
:text | :select | :boolean | :number | :date | :date_range | :relation
@type relation_mode() :: :static | :search | :search_multi
@type t() :: %MishkaGervaz.Table.Entities.Filter{ __identifier__: term(), __spark_metadata__: map() | nil, apply: (Ash.Query.t(), any(), map() -> Ash.Query.t()) | nil, default: any() | nil, depends_on: atom() | nil, display_field: atom() | (struct() -> String.t()) | (struct(), map() -> String.t()) | nil, fields: [atom()] | nil, include_nil: boolean() | String.t(), load: (Ash.Query.t(), map() -> list()) | nil, load_action: atom(), max: integer() | nil, min: integer() | nil, min_chars: integer(), mode: relation_mode(), name: atom(), options: list() | (-> list()) | nil, page_size: pos_integer(), preload: MishkaGervaz.Table.Entities.Filter.Preload.t() | nil, presets: list() | nil, resource: module() | nil, restricted: boolean() | (map() -> boolean()), search_field: atom() | nil, source: atom() | nil, type: filter_type(), type_module: module() | nil, ui: MishkaGervaz.Table.Entities.Filter.Ui.t() | nil, virtual: boolean(), visible: boolean() | (map() -> boolean()) }