Module: FormtasticBootstrap::Inputs::Base::Wrapping

Includes:
Formtastic::Inputs::Base::Wrapping
Included in:
FormtasticBootstrap::Inputs::Base
Defined in:
lib/formtastic-bootstrap/inputs/base/wrapping.rb

Instance Method Summary collapse

Instance Method Details

#control_group_div_wrapping(&block) ⇒ Object



23
24
25
26
27
# File 'lib/formtastic-bootstrap/inputs/base/wrapping.rb', line 23

def control_group_div_wrapping(&block)
  template.(:div, wrapper_html_options) do
    yield
  end
end

#generic_input_wrapping(&block) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/formtastic-bootstrap/inputs/base/wrapping.rb', line 8

def generic_input_wrapping(&block)
  control_group_div_wrapping do
    label_html <<
    input_div_wrapping do
      if options[:prepend]
        prepended_input_wrapping do
          [template.(:span, options[:prepend], :class => 'add-on'), yield].join("\n").html_safe
        end
      else
        yield
      end
    end
  end
end

#inline_inputs_div_wrapping(&block) ⇒ Object



35
36
37
38
39
# File 'lib/formtastic-bootstrap/inputs/base/wrapping.rb', line 35

def inline_inputs_div_wrapping(&block)
  template.(:div, :class => "inline-inputs") do
    yield
  end
end

#input_div_wrapping(inline_or_block_errors = :inline) ⇒ Object



29
30
31
32
33
# File 'lib/formtastic-bootstrap/inputs/base/wrapping.rb', line 29

def input_div_wrapping(inline_or_block_errors = :inline)
  template.(:div, :class => "controls") do
    [yield, error_html(inline_or_block_errors), hint_html(inline_or_block_errors)].join("\n").html_safe
  end
end

#prepended_input_wrapping(&block) ⇒ Object



66
67
68
69
70
# File 'lib/formtastic-bootstrap/inputs/base/wrapping.rb', line 66

def prepended_input_wrapping(&block)
  template.(:div, :class => 'input-prepend') do
    yield
  end
end

#wrapper_html_optionsObject



41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# File 'lib/formtastic-bootstrap/inputs/base/wrapping.rb', line 41

def wrapper_html_options
  opts = (options[:wrapper_html] || {}).dup
  opts[:class] =
    case opts[:class]
    when Array
      opts[:class].dup
    when nil
      []
    else
      [opts[:class].to_s]
    end
  opts[:class] << "#{as}-wrapper"
  opts[:class] << "control-group"
  # opts[:class] << "input"
  opts[:class] << "error" if errors?
  opts[:class] << "optional" if optional?
  opts[:class] << "required" if required?
  opts[:class] << "autofocus" if autofocus?
  opts[:class] = opts[:class].join(' ')

  opts[:id] ||= wrapper_dom_id

  opts
end