Compare commits
1 commit
e5d4e84bd2
...
3da0ebcb3f
| Author | SHA1 | Date | |
|---|---|---|---|
| 3da0ebcb3f |
1 changed files with 13 additions and 13 deletions
|
|
@ -404,19 +404,7 @@ defmodule MvWeb.UserLive.Form do
|
|||
|
||||
def handle_event("member_dropdown_keydown", %{"key" => "Enter"}, socket) do
|
||||
return_if_dropdown_closed(socket, fn ->
|
||||
case socket.assigns.focused_member_index do
|
||||
nil ->
|
||||
{:noreply, socket}
|
||||
|
||||
index ->
|
||||
member = Enum.at(socket.assigns.available_members, index)
|
||||
|
||||
if member do
|
||||
handle_event("select_member", %{"id" => member.id}, socket)
|
||||
else
|
||||
{:noreply, socket}
|
||||
end
|
||||
end
|
||||
select_focused_member(socket)
|
||||
end)
|
||||
end
|
||||
|
||||
|
|
@ -493,6 +481,18 @@ defmodule MvWeb.UserLive.Form do
|
|||
end
|
||||
end
|
||||
|
||||
# Select the currently focused member from the dropdown
|
||||
@spec select_focused_member(Phoenix.LiveView.Socket.t()) ::
|
||||
{:noreply, Phoenix.LiveView.Socket.t()}
|
||||
defp select_focused_member(socket) do
|
||||
with index when not is_nil(index) <- socket.assigns.focused_member_index,
|
||||
member when not is_nil(member) <- Enum.at(socket.assigns.available_members, index) do
|
||||
handle_event("select_member", %{"id" => member.id}, socket)
|
||||
else
|
||||
_ -> {:noreply, socket}
|
||||
end
|
||||
end
|
||||
|
||||
@spec assign_form(Phoenix.LiveView.Socket.t()) :: Phoenix.LiveView.Socket.t()
|
||||
defp assign_form(%{assigns: %{user: user, show_password_fields: show_password_fields}} = socket) do
|
||||
form =
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue