defmodule MoonWeb.Examples.Design.AlertExample.HandleClose do @moduledoc false use Moon.StatefulComponent use MoonWeb, :example alias Moon.Design.Button alias Moon.Design.Alert prop(is_open, :boolean, default: true) def render(assigns) do ~F"""
{#if @is_open == true} Click the Close button to hide the Alert {#else} {/if}
""" end def handle_event("open_alert", _params, socket) do socket = assign(socket, is_open: true) {:noreply, socket} end def handle_event("close_alert", _params, socket) do socket = assign(socket, is_open: false) {:noreply, socket} end def code() do """ alias Moon.Design.Button alias Moon.Design.Alert prop(is_open, :boolean, default: true) ...
{#if @is_open == true} Click the Close button to hide the Alert {#else} {/if}
... def handle_event("open_alert", _params, socket) do socket = assign(socket, is_open: true) {:noreply, socket} end def handle_event("close_alert", _params, socket) do socket = assign(socket, is_open: false) {:noreply, socket} end """ end end