Class: RailsAdmin::Hancock::FormBuilder

Inherits:
FormBuilder
  • Object
show all
Defined in:
app/helpers/rails_admin/hancock/form_builder.rb

Instance Method Summary collapse

Instance Method Details

#fieldset_for(fieldset, nested_in) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'app/helpers/rails_admin/hancock/form_builder.rb', line 5

def fieldset_for(fieldset, nested_in)
  fields = fieldset.with(
    form: self,
    object: @object,
    view: @template,
    controller: @template.controller,
  ).visible_fields
  return if fields.empty?

  _default_fieldset = fieldset.name == :default
  @template. :fieldset, class: _default_fieldset ? 'default_fieldset' : '' do
    if fieldset.leftside_hider and !nested_in
      leftside_hider = @template.(:div, class: 'control-group leftside_hider', title: _default_fieldset ? "" : "Свернуть блок") do
        @template.(:div, class: 'scroll_fieldset_block') do
          ret = []
          ret << @template.(:div, class: 'scroll_fieldset_top', title: "Вверх блока") do
            @template.(:i, "", class: 'fa fa-arrow-up')
          end
          ret << @template.(:div, class: 'select_fieldset', title: "Выбрать другой блок") do
            @template.(:i, "", class: 'fa fa-indent')
          end
          ret << @template.(:div, class: 'scroll_fieldset_bottom', title: "Вниз блока") do
            @template.(:i, "", class: 'fa fa-arrow-down')
          end
          ret.join.html_safe
        end
      end
    end

    contents = []
    contents << @template.(:legend, %(<i class="icon-chevron-#{(fieldset.active? ? 'down' : 'right')}"></i> #{fieldset.label}).html_safe, style: fieldset.name == :default ? 'display:none' : '')
    contents << @template.(:p, fieldset.help) if fieldset.help.present?
    contents << leftside_hider if fieldset.leftside_hider and leftside_hider
    contents << fields.collect { |field| field_wrapper_for(field, nested_in) }.join
    contents.join.html_safe
  end
end