defmodule MoonWeb.Examples.Parts.ModalExample.Wizard do
@moduledoc false
use Moon.StatefulComponent
use MoonWeb, :example
alias Moon.Parts.{Wizard, Modal}
alias Moon.Design.{Tabs, Button}
import MoonWeb.Helpers.Lorem
data(selected, :integer, default: 0)
data(steps, :list,
default: [
%{
title: "General",
text:
"In order to make you available and match you with the right opportunities we need some additional information."
},
%{
title: "Configuration",
text:
"In order to make you available and match you with the right opportunities we need some additional information."
},
%{
title: "Permissions",
text:
"In order to make you available and match you with the right opportunities we need some additional information."
}
]
)
def render(assigns) do
~F"""
<:description>
Create new flow
In order to make you available and match you with the right opportunities we need some additional information first.
{lorem()}{ipsum()}{dolor()}
"""
end
def handle_event("set_open", _, socket) do
Modal.open("modal_wizard")
{:noreply, socket}
end
def handle_event("set_close", _, socket) do
Modal.close("modal_wizard")
{:noreply, socket}
end
def code() do
"""
alias Moon.Parts.{Wizard, Modal}
alias Moon.Design.{Tabs, Button}
import MoonWeb.Helpers.Lorem
data(selected, :integer, default: 0)
data(done, :boolean, default: false)
data(steps, :list,
default: [
%{
title: "General",
text:
"In order to make you available and match you with the right opportunities we need some additional information."
},
%{
title: "Configuration",
text:
"In order to make you available and match you with the right opportunities we need some additional information."
},
%{
title: "Permissions",
text:
"In order to make you available and match you with the right opportunities we need some additional information."
}
]
)
def render(assigns) do
~F\"""
<:description>
Create new flow
In order to make you available and match you with the right opportunities we need some additional information first.
{lorem()}{ipsum()}{dolor()}
\"""
end
def handle_event("set_open", _, socket) do
Moon.Parts.Modal.open("modal_wizard")
{:noreply, socket}
end
def handle_event("set_close", _, socket) do
Moon.Parts.Modal.close("modal_wizard")
{:noreply, socket}
end
"""
end
end