Packages
formex
0.3.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/templates/bootstrap_horizontal.ex
defmodule Formex.Template.BootstrapHorizontal do
use Formex.Template, :main
import Formex.Template.Bootstrap
@moduledoc """
The Bootstrap 3 [horizontal](http://getbootstrap.com/css/#forms-horizontal) template
## Options
* `left_column` - left column class, defaults to `col-sm-2`
* `right_column` - left column class, defaults to `col-sm-10`
"""
def generate_row(form, item, options \\ [])
def generate_row(form, field = %Field{}, options) do
{left_column, right_column} = get_columns(options)
input = generate_input(form, field)
label = generate_label(form, field, left_column)
input = attach_addon(input, field)
tags = [input]
|> attach_error(form, field)
wrapper_class = ["form-group"]
|> attach_error_class(form, field)
|> attach_required_class(field)
column = content_tag(:div, tags, class: right_column)
content_tag(:div, [label, column], class: Enum.join(wrapper_class, " "))
end
def generate_row(form, button = %Button{}, options) do
{left_column, right_column} = get_columns(options)
offset = String.replace(left_column, ~r/([0-9]+)$/, "offset-\\1")
right_column = right_column<>" "<>offset
input = generate_input(form, button)
input_column = content_tag(:div, input, class: right_column)
content_tag(:div, input_column, class: "form-group")
end
defp get_columns(options) do
{
Keyword.get(options, :left_column, "col-sm-2"),
Keyword.get(options, :right_column, "col-sm-10")
}
end
end