Packages
legendary_core
2.6.0
8.12.0
8.11.1
8.11.0
8.10.0
8.9.2
8.9.1
8.5.3
8.5.2
8.5.1
8.5.0
8.4.0
8.3.6
8.3.5
8.3.4
8.3.3
8.3.2
8.3.1
8.3.0
8.2.7
8.2.5
8.2.4
8.2.3
8.2.2
8.2.1
8.2.0
8.1.1
8.1.0
8.0.1
8.0.0
7.17.12
7.17.8
7.17.7
7.17.6
7.17.5
7.17.4
7.17.3
7.17.2
7.17.1
7.17.0
7.16.12
7.16.11
4.5.4
4.0.0
2.12.0
2.11.5
2.6.0
2.4.1
2.4.0
2.3.7
2.1.2
A PETAL-stack batteries-included boilerplate for making Phoenix apps without tedium.
Current section
Files
Jump to
Current section
Files
lib/mix/legendary.ex
defmodule Mix.Legendary do
alias Mix.Phoenix.{Schema}
@doc false
def inputs(%Schema{} = schema) do
Enum.map(schema.attrs, fn
{_, {:references, _}} ->
nil
{key, :integer} ->
~s(<%= styled_input f, #{inspect(key)}, input_helper: :number_input %>)
{key, :float} ->
~s(<%= styled_input f, #{inspect(key)}, input_helper: :number_input, step: "any" %>)
{key, :decimal} ->
~s(<%= styled_input f, #{inspect(key)}, input_helper: :number_input, step: "any" %>)
{key, :boolean} ->
~s(<%= styled_input f, #{inspect(key)}, input_helper: :checkbox %>)
{key, :text} ->
~s(<%= styled_input f, #{inspect(key)}, input_helper: :textarea %>)
{key, :date} ->
~s(<%= styled_input f, #{inspect(key)}, input_helper: :date_select %>)
{key, :time} ->
~s(<%= styled_input f, #{inspect(key)}, input_helper: :time_select %>)
{key, :utc_datetime} ->
~s(<%= styled_input f, #{inspect(key)}, input_helper: :datetime_select %>)
{key, :naive_datetime} ->
~s(<%= styled_input f, #{inspect(key)}, input_helper: :datetime_select %>)
{key, {:array, :integer}} ->
~s(<%= styled_input f, #{inspect(key)}, [input_helper: :multiple_select], ["1": 1, "2": 2] %>)
{key, {:array, _}} ->
~s(<%= styled_input f, #{inspect(key)}, [input_helper: :multiple_select], ["Option 1": "option1", "Option 2": "option2"] %>)
{key, _} ->
~s(<%= styled_input f, #{inspect(key)} %>)
end)
end
end