Represents a filter control for a Lotus dashboard.
Dashboard filters are input controls displayed at the top of a dashboard that allow users to filter data across multiple cards. Each filter can be mapped to one or more query variables in the dashboard's cards.
Filter Types
:text- Free-form text input:number- Numeric input:date- Single date selection:date_range- Date range selection (start/end):select- Dropdown selection
Widgets
:input- Standard text/number input field:select- Dropdown select:date_picker- Date picker calendar:date_range_picker- Date range picker with start/end
The config field stores widget-specific configuration like select options,
date formats, or validation rules.
Summary
Types
@type t() :: %Lotus.Storage.DashboardFilter{ __meta__: term(), card_mappings: [Lotus.Storage.DashboardCardFilterMapping.t()] | Ecto.Association.NotLoaded.t(), config: map(), dashboard: Lotus.Storage.Dashboard.t() | Ecto.Association.NotLoaded.t(), dashboard_id: term(), default_value: String.t() | nil, filter_type: :text | :number | :date | :date_range | :select, id: term(), inserted_at: DateTime.t(), label: String.t(), name: String.t(), position: non_neg_integer(), updated_at: DateTime.t(), widget: :input | :select | :date_picker | :date_range_picker }