Packages
formex
0.1.2
0.6.7
0.6.6
0.6.5
0.6.4
0.6.3
0.6.2
0.6.1
0.6.0
0.5.10
0.5.9
0.5.8
0.5.7
0.5.6
0.5.5
0.5.4
0.5.3
0.5.2
0.5.1
0.5.0
0.4.16
0.4.15
0.4.14
0.4.13
0.4.12
0.4.11
0.4.10
0.4.9
0.4.8
0.4.7
0.4.6
0.4.5
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.3.3
0.3.2
0.3.1
0.3.0
0.2.3
0.2.2
0.2.1
0.2.0
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
Form library for Phoenix with Ecto support
Current section
Files
Jump to
Current section
Files
lib/form.ex
defmodule Formex.Form do
alias __MODULE__
alias Formex.Field
@doc """
Defines the Formex.Form struct.
* `:type` - the module that implements `Formex.Type`, for example: `App.ArticleType`
* `:struct` - the struct that will be used in `Ecto.Changeset.cast`, for example: `%App.Article{}`
* `:model` - `struct.__struct__`, for example: `App.Article`
* `:fields` - list of `Formex.Field` structs
* `:params` - params that will be used in `Ecto.Changeset.cast`
* `:changeset` - `%Ecto.Changeset{}`
* `:phoenix_form` - `%Phoenix.HTML.Form{}`
"""
defstruct type: nil,
struct: nil,
model: nil,
fields: [],
params: %{},
changeset: nil,
phoenix_form: nil
@type t :: %Form{}
@spec put_field(t, Field.t) :: t
def put_field(form, field) do
fields = form.fields ++ [field]
Map.put(form, :fields, fields)
end
end