From 6bc7391e6c97b26b16d11b1c2ffc9140ca9b8450 Mon Sep 17 00:00:00 2001
From: Max Marcon <maxmarcon@gmx.net>
Date: Sun, 3 Dec 2023 18:50:31 +0100
Subject: [PATCH] clear selection when switching mode

---
 lib/support/live_select_web/live/showcase_live.ex | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/lib/support/live_select_web/live/showcase_live.ex b/lib/support/live_select_web/live/showcase_live.ex
index 4ba9db2..37b9df6 100644
--- a/lib/support/live_select_web/live/showcase_live.ex
+++ b/lib/support/live_select_web/live/showcase_live.ex
@@ -285,7 +285,7 @@ defmodule LiveSelectWeb.ShowcaseLive do
   @impl true
   def handle_event(
         "update-settings",
-        %{"settings" => params},
+        %{"settings" => params, "_target" => target},
         socket
       ) do
     params =
@@ -295,6 +295,13 @@ defmodule LiveSelectWeb.ShowcaseLive do
 
     socket =
       socket
+      |> update(:live_select_form, fn form ->
+        if target == ["settings", "mode"] do
+          to_form(%{}, as: :my_form)
+        else
+          form
+        end
+      end)
       |> push_patch(to: ~p(/?#{params}))
 
     {:noreply, socket}