Class: Card::Bootstrap::Component::HorizontalForm

Inherits:
Form show all
Defined in:
lib/card/bootstrap/component/horizontal_form.rb

Instance Method Summary collapse

Methods inherited from Form

#form, #group, #label, #render_content

Methods inherited from Card::Bootstrap::Component

#append, #card, #initialize, #insert, #prepend, #render, #wrap

Methods included from Card::Bootstrap::ComponentKlass

#def_div_method, #def_tag_method, #render

Methods included from Delegate

#method_missing, #respond_to_missing?

Methods included from BasicTags

#html

Constructor Details

This class inherits a constructor from Card::Bootstrap::Component

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Card::Bootstrap::Delegate

Instance Method Details

#checkbox(_text, _extra_args) ⇒ Object



53
54
55
56
57
58
59
60
61
# File 'lib/card/bootstrap/component/horizontal_form.rb', line 53

def checkbox _text, _extra_args
  @html.div class: "col-sm-offset-#{left_col_width} col-sm-#{right_col_width}" do
    @html.div class: "checkbox" do
      label_cllabel do
        inner_input "checkbox"
      end
    end
  end
end

#input(type, label: nil, id: nil) ⇒ Object



31
32
33
34
35
36
37
38
39
# File 'lib/card/bootstrap/component/horizontal_form.rb', line 31

def input type, label: nil, id: nil
  label_col label, id: id
  @html.div class: "col-sm-#{right_col_width}" do
    @html.input type: type, id: id, class: "form-control"
  end
  # block.call class: "col-sm-#{right_col_width}" do
  #   inner_input opts.merge(type: type)
  # end
end

#label_col(label, id: nil) ⇒ Object

def_div_method :input, nil do |opts, extra_args, &block|

type, label = extra_args
prepend { tag(:label, nil, for: opts[:id]) { label } } if label
insert { inner_input opts.merge(type: type) }
{ class: "col-sm-#{right_col_width}" }

end



27
28
29
# File 'lib/card/bootstrap/component/horizontal_form.rb', line 27

def label_col label, id: nil
  @html.label label, for: id, class: "col-sm-#{left_col_width} control-label"
end

#left_col_widthObject



5
6
7
# File 'lib/card/bootstrap/component/horizontal_form.rb', line 5

def left_col_width
  @child_args.last && @child_args.last[0] || 2
end

#right_col_widthObject



9
10
11
# File 'lib/card/bootstrap/component/horizontal_form.rb', line 9

def right_col_width
  @child_args.last && @child_args.last[1] || 10
end