MishkaGervaz.Table.Entities.FilterGroup (MishkaGervaz v0.0.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

    ui do
      label fn -> dgettext("mishka_gervaz", "Advanced Search") end
      icon "hero-funnel"
      columns 3
    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(),
  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.