lib/cm_admin/models/row.rb in cm-admin-1.5.35 vs lib/cm_admin/models/row.rb in cm-admin-1.5.36

- old
+ new

@@ -1,48 +1,48 @@ module CmAdmin module Models class Row - # Description # A row is like a container which holds a list of form_field or section. # These list of fields or section are iterated and displayed on new/edit page. # A row is like a wrapper on the HTML, which adds a div element 'row' class from bootstrap. - attr_accessor :sections, :display_if, :row_fields + attr_accessor :sections, :display_if, :row_fields, :html_attrs - def initialize(current_action, cm_model, display_if, &block) + def initialize(current_action, cm_model, display_if, html_attrs, &block) @sections = [] @row_fields = [] - @display_if = display_if || lambda { |arg| return true } + @display_if = display_if || ->(arg) { true } + @html_attrs = html_attrs || {} @current_action = current_action @cm_model = cm_model instance_eval(&block) end - def form_field(field_name, options={}, arg=nil) + def form_field(field_name, options = {}, arg = nil) if @current_action.is_nested_field @nested_table_fields[@current_action.nested_table_name] ||= [] @nested_table_fields[@current_action.nested_table_name] << CmAdmin::Models::FormField.new(field_name, options[:input_type], options) else @row_fields << CmAdmin::Models::FormField.new(field_name, options[:input_type], options) end end - def field(field_name, options={}) + def field(field_name, options = {}) if @current_nested_field @current_nested_field.fields << CmAdmin::Models::Field.new(field_name, options) else @row_fields << CmAdmin::Models::Field.new(field_name, options) end end - def cm_section(section_name, col_size: nil, display_if: nil, &block) - @sections << CmAdmin::Models::Section.new(section_name, @current_action, @model, display_if, col_size, &block) + def cm_section(section_name, col_size: nil, display_if: nil, html_attrs: nil, &block) + @sections << CmAdmin::Models::Section.new(section_name, @current_action, @model, display_if, html_attrs, col_size, &block) end # This method is deprecated. Use cm_section instead. - def cm_show_section(section_name, col_size: nil, display_if: nil, &block) - cm_section(section_name, col_size: col_size, display_if: display_if, &block) + def cm_show_section(section_name, col_size: nil, display_if: nil, html_attrs: nil, &block) + cm_section(section_name, col_size: col_size, display_if: display_if, html_attrs: html_attrs, &block) end end end end