PhoenixKit.Modules.Shop.Web.Components.FilterHelpers (phoenix_kit v1.7.71)
Copy Markdown View SourceShared helpers for storefront filter state management.
Used by both ShopCatalog and CatalogCategory LiveViews to:
- Load enabled filters and aggregate values
- Parse filter params from URL query string
- Build query opts for product listing
- Build URLs with filter params
Summary
Functions
Counts the number of active filter values (for mobile badge).
Builds a URL path with filter query params.
Converts active filter state into keyword opts for Shop.list_products_with_count/1.
Builds a query string from active filter state (e.g. "?price_min=10&price_max=100" or "").
Returns true if any filters are currently active.
Loads enabled filters and their aggregated values.
Parses URL query params into active filter state.
Toggles a value in a checkbox-type filter. Returns updated active_filters map.
Updates price range filter. Returns updated active_filters map.
Functions
Counts the number of active filter values (for mobile badge).
Builds a URL path with filter query params.
Merges filter state into a clean query string, preserving page param only
when keep_page is true.
Converts active filter state into keyword opts for Shop.list_products_with_count/1.
Builds a query string from active filter state (e.g. "?price_min=10&price_max=100" or "").
Used to append filter params to navigation links so filter state persists across page transitions.
Returns true if any filters are currently active.
Loads enabled filters and their aggregated values.
Returns {filters, filter_values} tuple.
Options:
:category_uuid- Scope aggregation to a category by UUID
Parses URL query params into active filter state.
Returns a map: %{"price" => %{min: Decimal, max: Decimal}, "vendor" => ["V1", "V2"], ...}
Toggles a value in a checkbox-type filter. Returns updated active_filters map.
Updates price range filter. Returns updated active_filters map.