This commit is contained in:
parent
3b3ef796a4
commit
5a17a9e929
1 changed files with 19 additions and 28 deletions
|
|
@ -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
|
||||
# -----------------------------------------------------------------
|
||||
|
|
@ -131,6 +104,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
|
||||
# -----------------------------------------------------------------
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue