formating

This commit is contained in:
carla 2025-10-24 10:55:38 +02:00 committed by moritz
parent 41e3a52482
commit bb362e1636
3 changed files with 78 additions and 28 deletions

View file

@ -207,46 +207,70 @@ defmodule MvWeb.MemberLive.Index do
# Function to sort the column if needed
defp maybe_sort(query, nil, _), do: query
defp maybe_sort(query, field, :asc) when not is_nil(field), do: Ash.Query.sort(query, [{field, :asc}])
defp maybe_sort(query, field, :desc) when not is_nil(field), do: Ash.Query.sort(query, [{field, :desc}])
defp maybe_sort(query, field, :asc) when not is_nil(field),
do: Ash.Query.sort(query, [{field, :asc}])
defp maybe_sort(query, field, :desc) when not is_nil(field),
do: Ash.Query.sort(query, [{field, :desc}])
defp maybe_sort(query, _, _), do: query
# Validate that a field is sortable
defp valid_sort_field?(field) when is_atom(field) do
valid_fields = [
:first_name, :last_name, :email, :street, :house_number,
:postal_code, :city, :phone_number, :join_date
:first_name,
:last_name,
:email,
:street,
:house_number,
:postal_code,
:city,
:phone_number,
:join_date
]
field in valid_fields
end
defp valid_sort_field?(_), do: false
# Function to maybe update the sort
defp maybe_update_sort(socket, %{"sort_field" => sf, "sort_order" => so}) do
# Handle empty strings and nil values
field = case sf do
"" -> socket.assigns.sort_field
nil -> socket.assigns.sort_field
sf when is_binary(sf) ->
try do
String.to_existing_atom(sf)
rescue
ArgumentError -> socket.assigns.sort_field
end
sf when is_atom(sf) -> sf
_ -> socket.assigns.sort_field
end
field =
case sf do
"" ->
socket.assigns.sort_field
nil ->
socket.assigns.sort_field
sf when is_binary(sf) ->
try do
String.to_existing_atom(sf)
rescue
ArgumentError -> socket.assigns.sort_field
end
sf when is_atom(sf) ->
sf
_ ->
socket.assigns.sort_field
end
# Validate that the field is actually sortable
field = if valid_sort_field?(field), do: field, else: socket.assigns.sort_field
# Handle empty strings and nil values for sort order
order = case so do
"" -> socket.assigns.sort_order
nil -> socket.assigns.sort_order
so when so in ["asc", "desc"] -> String.to_atom(so)
_ -> socket.assigns.sort_order
end
order =
case so do
"" -> socket.assigns.sort_order
nil -> socket.assigns.sort_order
so when so in ["asc", "desc"] -> String.to_atom(so)
_ -> socket.assigns.sort_order
end
socket
|> assign(:sort_field, field)