MishkaGervaz.Table.Entities.FilterGroup (MishkaGervaz v0.0.1-alpha.2)

Copy Markdown View Source

Entity struct for table filter group configuration.

Groups organize filters into collapsible sections within the filter layout. Follows the same pattern as MishkaGervaz.Form.Entities.Group.

Example

filter_groups do
  group :primary do
    filters [:search]
    collapsible false
  end

  group :advanced do
    filters [:status, :issue_type, :site_id]
    collapsible true
    collapsed true
    columns 3

    ui do
      label fn -> dgettext("mishka_gervaz", "Advanced Search") end
      icon "hero-funnel"
    end
  end
end

See MishkaGervaz.Table.Dsl.FilterGroups, MishkaGervaz.Table.Entities.FilterGroup.Ui, MishkaGervaz.Table.Entities.Filter, and MishkaGervaz.Form.Entities.Group (the form-side counterpart).

Summary

Functions

Transform the group after DSL compilation.

Types

t()

@type t() :: %MishkaGervaz.Table.Entities.FilterGroup{
  __identifier__: term(),
  __spark_metadata__: map() | nil,
  collapsed: boolean(),
  collapsible: boolean(),
  columns: 1 | 2 | 3 | 4 | 5 | 6 | nil,
  filters: [atom()],
  name: atom(),
  position: integer() | :first | :last | nil,
  restricted: boolean() | (map() -> boolean()),
  ui: MishkaGervaz.Table.Entities.FilterGroup.Ui.t() | nil,
  visible: boolean() | (map() -> boolean())
}

Functions

transform(group)

Transform the group after DSL compilation.