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

#appended_input_wrapping(&block) ⇒ Object

Bootstrap append feature



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

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

#bootstrap_wrapping(&block) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/formtastic-bootstrap/inputs/base/wrapping.rb', line 8

def bootstrap_wrapping(&block)
  control_group_wrapping do
    control_label_html <<
    controls_wrapping do
      if options[:prepend] || options[:append]
        if options[:prepend] && options[:append]
          prepended_and_appended_input_wrapping do
            [template.(:span, options[:prepend], :class => 'add-on'), yield, template.(:span, options[:append], :class => 'add-on'), hint_html].join("\n").html_safe
          end
        elsif options[:prepend]
          prepended_input_wrapping do
            [template.(:span, options[:prepend], :class => 'add-on'), yield, hint_html].join("\n").html_safe
          end
        elsif options[:append]
          appended_input_wrapping do
            [yield, template.(:span, options[:append], :class => 'add-on'), hint_html].join("\n").html_safe
          end
        end
      else
        [yield, hint_html].join("\n").html_safe
      end
    end
  end
end

#control_group_wrapping(&block) ⇒ Object



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

def control_group_wrapping(&block)
  template.(:div, 
    template.capture(&block).html_safe, 
    wrapper_html_options
  )
end

#controls_wrapper_html_optionsObject



47
48
49
50
51
# File 'lib/formtastic-bootstrap/inputs/base/wrapping.rb', line 47

def controls_wrapper_html_options
  {
    :class => "controls"
  }
end

#controls_wrapping(&block) ⇒ Object



40
41
42
43
44
45
# File 'lib/formtastic-bootstrap/inputs/base/wrapping.rb', line 40

def controls_wrapping(&block)
  template.(:div,
    [template.capture(&block), error_html].join("\n").html_safe,
    controls_wrapper_html_options
  )
end

#prepended_and_appended_input_wrapping(&block) ⇒ Object

Bootstrap prepend and append feature



74
75
76
77
78
# File 'lib/formtastic-bootstrap/inputs/base/wrapping.rb', line 74

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

#prepended_input_wrapping(&block) ⇒ Object

Bootstrap prepend feature



60
61
62
63
64
# File 'lib/formtastic-bootstrap/inputs/base/wrapping.rb', line 60

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

#wrapper_html_optionsObject



53
54
55
56
57
# File 'lib/formtastic-bootstrap/inputs/base/wrapping.rb', line 53

def wrapper_html_options
  super.tap do |options|
    options[:class] << " control-group"
  end
end