diff --git a/lib/mv_web/live/member_live/index.ex b/lib/mv_web/live/member_live/index.ex index 52b16ae..7a0de39 100644 --- a/lib/mv_web/live/member_live/index.ex +++ b/lib/mv_web/live/member_live/index.ex @@ -2,14 +2,13 @@ defmodule MvWeb.MemberLive.Index do use MvWeb, :live_view import Ash.Expr import Ash.Query - import MvWeb.TableComponents @impl true def mount(params, _session, socket) do socket = socket |> assign(:page_title, gettext("Members")) - |> assign(:query, "") + |> assign(:query, "") |> assign_new(:sort_field, fn -> :first_name end) |> assign_new(:sort_order, fn -> :asc end) |> assign(:selected_members, []) @@ -19,32 +18,6 @@ defmodule MvWeb.MemberLive.Index do {:ok, socket} end - # ----------------------------------------------------------------- - # Receive messages from any toolbar component - # ----------------------------------------------------------------- - - # Function to handle search - @impl true - def handle_info({:search_changed, q}, socket) do - members = - if String.trim(q) == "" do - Ash.read!(Mv.Membership.Member) - else - Mv.Membership.Member - |> filter(expr(fragment("search_vector @@ plainto_tsquery('simple', ?)", ^q))) - |> Ash.read!() - end - - {:noreply, - socket - |> assign(:query, q) - |> assign(:members, members)} - end - - # ----------------------------------------------------------------- - # Handle Events - # ----------------------------------------------------------------- - # ----------------------------------------------------------------- # Handle Events # ----------------------------------------------------------------- @@ -132,6 +105,24 @@ defmodule MvWeb.MemberLive.Index do )} end + # Function to handle search + @impl true + def handle_info({:search_changed, q}, socket) do + members = + if String.trim(q) == "" do + Ash.read!(Mv.Membership.Member) + else + Mv.Membership.Member + |> filter(expr(fragment("search_vector @@ plainto_tsquery('simple', ?)", ^q))) + |> Ash.read!() + end + + {:noreply, + socket + |> assign(:query, q) + |> assign(:members, members)} + end + # ----------------------------------------------------------------- # Handle Params from the URL # -----------------------------------------------------------------