Backpex.Filters.Select behaviour (Backpex v0.15.2)
View SourceThe select filter renders a select box for the implemented options/1 and prompt/0 callbacks. The prompt/0 callback defines the key for the nil value added as first option.
See the following example for an implementation of an event status filter.
defmodule MyAppWeb.Filters.EventStatusSelect do
use Backpex.Filters.Select
@impl Backpex.Filter
def label, do: "Event status"
@impl Backpex.Filters.Select
def prompt, do: "Select an option..."
@impl Backpex.Filters.Select
def options(_assigns), do: [
{"Open", :open},
{"Close", :close},
]
@impl Backpex.Filter
def query(query, attribute, value) do
where(query, [x], field(x, ^attribute) == ^value)
end
enduse Backpex.Filters.Select
When you use Backpex.Filters.Select, the Backpex.Filters.Select module will set @behavior Backpex.Filters.Select.
In addition it will add a render and render_form function in order to display the corresponding filter.