Packages
ash_phoenix
2.0.0-rc.6
2.3.24
2.3.23
2.3.22
2.3.21
2.3.20
2.3.19
2.3.18
2.3.17
2.3.16
2.3.15
2.3.14
2.3.13
2.3.12
2.3.11
2.3.10
2.3.9
2.3.8
2.3.7
2.3.6
2.3.5
2.3.4
2.3.3
2.3.2
2.3.1
2.3.0
2.2.0
2.1.26
2.1.25
2.1.24
2.1.23
2.1.22
2.1.21
2.1.20
2.1.19
2.1.18
2.1.17
2.1.16
2.1.15
2.1.14
2.1.13
2.1.12
2.1.11
2.1.10
2.1.9
2.1.8
2.1.7
2.1.6
2.1.5
2.1.4
2.1.3
2.1.2
2.1.1
2.1.0
2.0.4
2.0.3
2.0.2
2.0.1
2.0.0
2.0.0-rc.8
2.0.0-rc.7
2.0.0-rc.6
2.0.0-rc.5
2.0.0-rc.4
2.0.0-rc.3
2.0.0-rc.2
2.0.0-rc.1
2.0.0-rc.0
1.3.7
1.3.6
1.3.5
1.3.4
1.3.3
1.3.2
1.3.1
1.3.0
1.2.26
1.2.25
1.2.24
1.2.23
1.2.22
1.2.21
1.2.20
1.2.19
1.2.18
1.2.17
1.2.16
1.2.15
1.2.14
1.2.13
1.2.12
1.2.11
1.2.10
1.2.9
1.2.8
1.2.7
1.2.6
1.2.5
1.2.4
1.2.3
1.2.2
1.2.1
1.2.0
1.1.2
1.1.1
1.1.0
1.1.0-rc.3
1.1.0-rc.2
1.1.0-rc.1
1.1.0-rc.0
1.0.0-rc.1
1.0.0-rc.0
1.0.0-pre.2
1.0.0-pre.1
1.0.0-pre.0
0.7.7
0.7.6-rc.0
0.7.5
0.7.4
0.7.3
0.7.2-rc.2
0.7.2-rc.1
0.7.2-rc.0
0.7.1
0.7.0
0.6.0-rc.7
0.6.0-rc.6
0.6.0-rc.5
0.6.0-rc.4
0.6.0-rc.3
0.6.0-rc.2
0.6.0-rc.1
0.6.0-rc.0
0.5.19-rc.2
0.5.19-rc.1
0.5.19-rc.0
0.5.18
0.5.17
0.5.16
0.5.15
0.5.14
0.5.13
0.5.12
0.5.11
0.5.10
0.5.9
0.5.8
0.5.7
0.5.6
0.5.5
0.5.4
0.5.3
0.5.2
0.5.1
0.5.0
0.4.24
0.4.23
0.4.23-rc.1
0.4.23-rc.0
0.4.22-rc2
0.4.22-rc1
0.4.21
0.4.20
0.4.19
0.4.18
0.4.17
0.4.16
0.4.15
0.4.14
0.4.13
0.4.12
0.4.11
0.4.10
0.4.9
0.4.8
0.4.7
0.4.6
0.4.5
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.3.2
0.3.1
0.3.0
0.2.3
0.2.2
0.2.1
0.2.0
0.1.2
0.1.1
0.1.0
Utilities for integrating Ash and Phoenix
Current section
Files
Jump to
Current section
Files
priv/templates/ash_phoenix.gen.live/show.ex.eex
defmodule <%= inspect Module.concat(@web_module, @resource_alias) %>Live.Show do
use <%= @web_module %>, :live_view
@impl true
def render(assigns) do
~H"""
<.header>
<%= @resource_human_singular %> <%%= @<%= @resource_singular %>.id %>
<:subtitle>This is a <%= @resource_singular %> record from your database.</:subtitle>
<%= if @update_action do %>
<:actions>
<.link patch={~p"<%= @route_prefix %>/#{@<%= @resource_singular %>}/show/edit"} phx-click={JS.push_focus()}>
<.button>Edit <%= @resource_singular %></.button>
</.link>
</:actions>
<% end %>
</.header>
<.list>
<%= for attribute <- @attrs do %>
<:item title="<%= Phoenix.Naming.humanize(attribute.name) %>"><%%= @<%= @resource_singular %>.<%= attribute.name %> %></:item>
<% end %>
</.list>
<.back navigate={~p"<%= @route_prefix %>"}>Back to <%= @resource_plural %></.back>
<%= if @update_action do %>
<.modal :if={@live_action == :edit} id="<%= @resource_singular %>-modal" show on_cancel={JS.patch(~p"<%= @route_prefix %>/#{@<%= @resource_singular %>}")}>
<.live_component
module={<%= inspect Module.concat(@web_module, @resource_alias) %>Live.FormComponent}
id={@<%= @resource_singular %>.id}
title={@page_title}
action={@live_action}
<%= if @actor do %>
<%= @actor %>={@<%= @actor %>}
<% end %>
<%= @resource_singular %>={@<%= @resource_singular %>}
patch={~p"<%= @route_prefix %>/#{@<%= @resource_singular %>}"}
/>
</.modal>
<% end %>
"""
end
@impl true
def mount(_params, _session, socket) do
{:ok, socket}
end
@impl true
def handle_params(%{"<%= @pkey %>" => <%= @pkey %>}, _, socket) do
{:noreply,
socket
|> assign(:page_title, page_title(socket.assigns.live_action))
|> assign(:<%= @resource_singular %>, <%= @get_by_pkey %>)}
end
defp page_title(:show), do: "Show <%= @resource_human_singular %>"
defp page_title(:edit), do: "Edit <%= @resource_human_singular %>"
end