Current section

Files

Jump to
corex priv templates corex.gen.html index.html.heex
Raw

priv/templates/corex.gen.html/index.html.heex

<%= if layout_mode || layout_theme || layout_locale || scope do %><Layouts.app
flash={@flash}<%= if layout_mode do %>
mode={@mode}<% end %><%= if layout_theme do %>
theme={@theme}<% end %><%= if layout_locale do %>
locale={@locale}
current_path={@current_path}<% end %><%= if scope do %>
<%= scope.assign_key %>={@<%= scope.assign_key %>}<% end %>
>
<% else %><Layouts.app flash={@flash}><% end %>
<article class="layout__article">
<.layout_heading class="layout-heading">
<:title>Listing <%= schema.human_plural %></:title>
<:subtitle>Add and manage <%= schema.singular %> records</:subtitle>
<:actions>
<.navigate
to={~p"<%= if layout_locale do %>/#{@locale}<% end %><%= scope_assign_route_prefix %><%= schema.route_prefix %>/new"}
type="href"
class="button button--accent"
>
<.heroicon name="hero-plus" /> New <%= schema.human_singular %>
</.navigate>
</:actions>
</.layout_heading>
<.data_table
id="<%= schema.plural %>"
class="data-table max-w-none"
rows={@<%= schema.collection %>}
row_click={&JS.navigate(~p"<%= if layout_locale do %>/#{@locale}<% end %><%= scope_assign_route_prefix %><%= schema.route_prefix %>/#{&1}")}
>
<:empty>No <%= schema.human_plural %> yet.</:empty><%= for {k, type} <- schema.attrs do %>
<:col :let={<%= schema.singular %>} label="<%= Phoenix.Naming.humanize(Atom.to_string(k)) %>">{<%= Mix.Corex.Gen.Inputs.display_expr(schema.singular, k, type, schema) %>}</:col><% end %>
<:action :let={<%= schema.singular %>}>
<div class="sr-only">
<.link href={~p"<%= if layout_locale do %>/#{@locale}<% end %><%= scope_assign_route_prefix %><%= schema.route_prefix %>/#{<%= schema.singular %>}"} class="link">Show</.link>
</div>
<.link
href={~p"<%= if layout_locale do %>/#{@locale}<% end %><%= scope_assign_route_prefix %><%= schema.route_prefix %>/#{<%= schema.singular %>}/edit"}
class="button button--sm"
aria-label={"Edit #{<%= schema.singular %>.<%= schema.attrs |> Keyword.keys() |> List.first() %>}"}
>
<.heroicon name="hero-pencil-square" />
</.link>
</:action>
<:action :let={<%= schema.singular %>}>
<.dialog
id={"<%= schema.singular %>-delete-#{<%= schema.singular %>.<%= primary_key %>}"}
class="dialog"
role="alertdialog"
modal
close_on_interact_outside={false}
initial_focus={"<%= schema.singular %>-delete-#{<%= schema.singular %>.<%= primary_key %>}-cancel"}
final_focus={"dialog:<%= schema.singular %>-delete-#{<%= schema.singular %>.<%= primary_key %>}:trigger"}
>
<:trigger
class="button button--sm button--alert button--square"
aria_label={"Delete #{<%= schema.singular %>.<%= schema.attrs |> Keyword.keys() |> List.first() %>}"}
>
<.heroicon name="hero-trash" />
</:trigger>
<:title>Delete <%= schema.singular %>?</:title>
<:description>This action cannot be undone.</:description>
<:content>
<div class="flex flex-wrap justify-end gap-2 mt-4">
<.action
id={"<%= schema.singular %>-delete-#{<%= schema.singular %>.<%= primary_key %>}-cancel"}
phx-click={Corex.Dialog.set_open("<%= schema.singular %>-delete-#{<%= schema.singular %>.<%= primary_key %>}", false)}
class="button button--sm button--ghost"
>
Cancel
</.action>
<.navigate
id={"<%= schema.singular %>-delete-#{<%= schema.singular %>.<%= primary_key %>}-confirm"}
to={~p"<%= if layout_locale do %>/#{@locale}<% end %><%= scope_assign_route_prefix %><%= schema.route_prefix %>/#{<%= schema.singular %>}"}
method="delete"
class="button button--sm button--alert"
>
Delete
</.navigate>
</div>
</:content>
</.dialog>
</:action>
</.data_table>
</article>
</Layouts.app>