From 2e175ac151f3907dc61256ace1bd754842c9c52f Mon Sep 17 00:00:00 2001 From: Tsutomu Kuroda Date: Fri, 15 Mar 2024 09:03:45 +0900 Subject: [PATCH] Impl. select_date event handler --- lib/daimon_date_picker_web/live/home_live.ex | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/lib/daimon_date_picker_web/live/home_live.ex b/lib/daimon_date_picker_web/live/home_live.ex index b4bb37d..203c980 100644 --- a/lib/daimon_date_picker_web/live/home_live.ex +++ b/lib/daimon_date_picker_web/live/home_live.ex @@ -35,6 +35,23 @@ defmodule DaimonDatePickerWeb.HomeLive do {:noreply, socket} end + def handle_event("select_date", %{"day" => day} = _params, socket) do + eom = Date.end_of_month(socket.assigns.current_month) + + selected_date = + case Integer.parse(day) do + {d, ""} when d in 1..eom.day -> %{socket.assigns.current_month | day: d} + _ -> socket.assigns.current_month + end + + socket = + socket + |> assign(:selected_date, selected_date) + |> assign(:activated, false) + + {:noreply, socket} + end + defp date_picker(assigns) do ~H"""
@@ -51,6 +68,8 @@ defmodule DaimonDatePickerWeb.HomeLive do