feat(member-live): wire date filters into LiveView lifecycle

This commit is contained in:
Moritz 2026-05-20 16:28:17 +02:00
parent ddd4a9a878
commit e3295ab4b5
10 changed files with 1037 additions and 140 deletions

View file

@ -438,10 +438,18 @@ defmodule MvWeb.Components.MemberFilterComponent do
payment_filter = parse_payment_filter(params)
group_filters_parsed =
parse_prefix_filters(params, @group_filter_prefix, &FilterParams.parse_in_not_in_value/1)
FilterParams.parse_prefix_filters(
params,
@group_filter_prefix,
&FilterParams.parse_in_not_in_value/1
)
fee_type_filters_parsed =
parse_prefix_filters(params, @fee_type_filter_prefix, &FilterParams.parse_in_not_in_value/1)
FilterParams.parse_prefix_filters(
params,
@fee_type_filter_prefix,
&FilterParams.parse_in_not_in_value/1
)
custom_boolean_filters_parsed = parse_custom_boolean_filters(params)
@ -486,17 +494,6 @@ defmodule MvWeb.Components.MemberFilterComponent do
end
end
defp parse_prefix_filters(params, prefix, parse_value_fn) do
prefix_len = String.length(prefix)
params
|> Enum.filter(fn {key, _} -> String.starts_with?(key, prefix) end)
|> Enum.reduce(%{}, fn {key, value_str}, acc ->
id_str = String.slice(key, prefix_len, String.length(key) - prefix_len)
Map.put(acc, id_str, parse_value_fn.(value_str))
end)
end
defp parse_custom_boolean_filters(params) do
params
|> Map.get("custom_boolean", %{})