defmodule MoonWeb.Pages.Components.InputGroupPage do
@moduledoc false
use MoonWeb, :live_view
alias MoonWeb.Components.ExampleAndCode
alias MoonWeb.Components.Page
alias Moon.Autolayouts.LeftToRight
alias Moon.Components.InputGroup
alias Moon.Components.TextInput
alias MoonWeb.Components.ComponentPageDescription
alias MoonWeb.Pages.Tutorials.AddDataUsingForm.User
alias Moon.Components.Form
alias MoonWeb.Components.PropsTable
alias Moon.Autolayouts.TopToDown
alias Moon.Components.Button
alias MoonWeb.Components.Facing.DeprecationWarning
data(breadcrumbs, :any,
default: [
%{
to: "#",
name: "Components v1"
},
%{
to: "/components/input-group",
name: "Input Group"
}
]
)
data(props_info_array, :list,
default: [
%{
:name => ~c"orientation",
:type => ~c"vertical | horizontal",
:required => ~c"No",
:default => ~c"horizontal",
:description => ~c""
},
%{
:name => ~c"slot",
:type => ~c"slot",
:required => ~c"Yes",
:default => ~c"-",
:description => ~c"Default slot"
}
]
)
def mount(_params, _session, socket) do
user = %User{}
user_changeset = User.changeset(user, %{})
{:ok,
assign(socket,
user: user,
user_changeset: user_changeset
)}
end
def handle_params(_params, uri, socket) do
{:noreply, assign(socket, uri: uri)}
end
def handle_event("register_form_update", params, socket) do
user_changeset = User.changeset(socket.assigns.user, params["user"])
{:noreply, assign(socket, user_changeset: user_changeset)}
end
def handle_event("register_form_submit", params, socket) do
user_changeset =
User.changeset(socket.assigns.user, params["user"]) |> Map.merge(%{action: :insert})
{:noreply, assign(socket, user_changeset: user_changeset)}
end
def input_group_1000_state(assigns) do
~F"""
{inspect(@user_changeset.changes, pretty: true)}
"""
end
def render(assigns) do
~F"""
<:example>
<:code>{input_group_1_code()}
<:state>{input_group_1000_state(assigns)}
<:example>
<:code>{input_group_10_code()}
<:state>{input_group_1000_state(assigns)}
<:example>
<:code>{input_group_100_code()}
<:state>{input_group_1000_state(assigns)}
<:example>
<:code>{input_group_120_code()}
<:state>{input_group_1000_state(assigns)}
"""
end
defp input_group_1_code() do
"""
"""
end
defp input_group_10_code() do
"""
"""
end
defp input_group_100_code() do
"""
"""
end
defp input_group_120_code() do
"""
"""
end
end