feat: adds field visibility dropdown live component

This commit is contained in:
carla 2025-12-02 15:00:09 +01:00
parent f709edcf6f
commit 8b445cec48
6 changed files with 967 additions and 53 deletions

View file

@ -2,6 +2,13 @@
<.header>
{gettext("Members")}
<:actions>
<.live_component
module={MvWeb.Components.FieldVisibilityDropdownComponent}
id="field-visibility-dropdown"
all_fields={@all_available_fields}
custom_fields={@all_custom_fields}
selected_fields={@user_field_selection}
/>
<.button
:if={Enum.any?(@members, &MapSet.member?(@selected_members, &1.id))}
id="copy-emails-btn"
@ -80,6 +87,7 @@
</:col>
<:col
:let={member}
:if={:first_name in @member_fields_visible}
label={
~H"""
<.live_component
@ -93,7 +101,25 @@
"""
}
>
{member.first_name} {member.last_name}
{member.first_name}
</:col>
<:col
:let={member}
:if={:last_name in @member_fields_visible}
label={
~H"""
<.live_component
module={MvWeb.Components.SortHeaderComponent}
id={:sort_last_name}
field={:last_name}
label={gettext("Last name")}
sort_field={@sort_field}
sort_order={@sort_order}
/>
"""
}
>
{member.last_name}
</:col>
<:col
:let={member}