From 2781748626520527bb8804683ae123ed446ecfdf Mon Sep 17 00:00:00 2001 From: Harshad Sharma Date: Sun, 19 May 2024 07:29:33 +0530 Subject: [PATCH] Save and use previous query when filtering items --- lib/freedive_web/live/liliform_live.ex | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/freedive_web/live/liliform_live.ex b/lib/freedive_web/live/liliform_live.ex index 2b0280f..d62b0e1 100644 --- a/lib/freedive_web/live/liliform_live.ex +++ b/lib/freedive_web/live/liliform_live.ex @@ -54,7 +54,7 @@ defmodule FreediveWeb.LiliformLive do ) searched_items = search(filtered_items, query) - socket = assign(socket, :items, searched_items) + socket = assign(socket, %{items: searched_items, query: query}) socket = case Kernel.length(Map.keys(searched_items)) == 1 do @@ -73,8 +73,9 @@ defmodule FreediveWeb.LiliformLive do def(handle_event("filter", %{"key" => key}, socket)) do key = String.to_existing_atom(key) - items = FreediveWeb.LiliformLive.filter(socket.assigns.items_all, key) - socket = assign(socket, :items, items) + filtered_items = FreediveWeb.LiliformLive.filter(socket.assigns.items_all, key) + searched_items = search(filtered_items, socket.assigns.query) + socket = assign(socket, :items, searched_items) socket = assign(