class RailsAdmin::Config::Fields::Group
A container for groups of fields in edit views
Attributes
abstract_model[R]
name[R]
parent[R]
root[R]
section[RW]
Public Class Methods
new(parent, name)
click to toggle source
# File lib/rails_admin/config/fields/group.rb, line 19 def initialize(parent, name) @parent = parent @root = parent.root @abstract_model = parent.abstract_model @section = parent @name = name.to_s.tr(' ', '_').downcase.to_sym end
Public Instance Methods
field(name, type = nil, &block)
click to toggle source
Defines a configuration for a field by proxying parent’s field method and setting the field’s group as self
@see RailsAdmin::Config::Fields.field
# File lib/rails_admin/config/fields/group.rb, line 32 def field(name, type = nil, &block) field = section.field(name, type, &block) # Directly manipulate the variable instead of using the accessor # as group probably is not yet registered to the parent object. field.instance_variable_set("@group", self) field end
fields()
click to toggle source
Reader for fields attached to this group
# File lib/rails_admin/config/fields/group.rb, line 41 def fields section.fields.select {|f| self == f.group } end
fields_of_type(type, &block)
click to toggle source
Defines configuration for fields by their type
@see RailsAdmin::Config::Fields.fields_of_type
# File lib/rails_admin/config/fields/group.rb, line 48 def fields_of_type(type, &block) selected = section.fields.select {|f| type == f.type } if block selected.each {|f| f.instance_eval &block } end selected end
visible_fields()
click to toggle source
Reader for fields that are marked as visible
# File lib/rails_admin/config/fields/group.rb, line 57 def visible_fields section.with(bindings).visible_fields.select {|f| self == f.group } end