Packages
legendary_core
8.3.2
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
@moduledoc """
Parent module for all Legendary framework mix tasks. Provides some helpers
used by tasks and generators.
"""
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