legendary-doc-site/apps/app/priv/templates/phx.gen.live/modal_component.ex
2020-07-29 12:07:36 -05:00

26 lines
706 B
Elixir

defmodule <%= inspect context.web_module %>.ModalComponent do
use <%= inspect context.web_module %>, :live_component
@impl true
def render(assigns) do
~L"""
<div id="<%%= @id %>" class="phx-modal"
phx-capture-click="close"
phx-window-keydown="close"
phx-key="escape"
phx-target="#<%%= @id %>"
phx-page-loading>
<div class="phx-modal-content">
<%%= live_patch raw("&times;"), to: @return_to, class: "phx-modal-close" %>
<%%= live_component @socket, @component, @opts %>
</div>
</div>
"""
end
@impl true
def handle_event("close", _, socket) do
{:noreply, push_patch(socket, to: socket.assigns.return_to)}
end
end