Current section
Files
Jump to
Current section
Files
lib/railway_ui_web/live/message_live/search_component.ex
defmodule RailwayUiWeb.MessageLive.SearchComponent do
use Phoenix.LiveComponent
alias RailwayUiWeb.MessageLive.Index.Search
def render(assigns) do
Phoenix.View.render(RailwayUiWeb.MessageView, "search_component.html", assigns)
end
def handle_event("search", params, socket) do
send self(), {:search, params}
{:noreply, socket}
end
def handle_event("clear", _value, socket) do
send self(), :clear
{:noreply, assign(socket, :search, %Search{})}
end
def handle_event(
"search_form_change",
%{"_target" => ["search", "value"], "search" => %{"value" => value}},
%{assigns: %{search: search}} = socket
) do
{:noreply, assign(socket, :search, %Search{query: search.query, value: value})}
end
def handle_event(
"search_form_change",
%{"_target" => ["search", "query"], "search" => %{"query" => query}},
%{assigns: %{search: search}} = socket
) do
{:noreply, assign(socket, :search, %Search{query: query, value: search.value})}
end
end