module AdminIt::FieldsHolder
Public Instance Methods
field(name)
click to toggle source
# File lib/admin_it/field/field.rb, line 313 def field(name) @fields[name.ensure_symbol] end
fields(scope: :visible)
click to toggle source
# File lib/admin_it/field/field.rb, line 292 def fields(scope: :visible) values = @fields.values if scope.is_a?(Hash) if scope.key?(:editor) return values.select { |f| f.editor == scope[:editor] } end end case scope when nil, :all then values when :visible then values.select { |f| f.visible? } when :hidden then values.select { |f| !f.visible? } when :readable then values.select { |f| f.readable? } when :writable then values.select { |f| f.writable? } when :sortable then values.select { |f| f.sortable? } when :with_labels then values.select { |f| f.show_label? } when :without_labels then values.select { |f| !f.show_label? } when *Field::TYPES then values.select { |f| f.type == scope } else values end end
hide_fields(*names)
click to toggle source
# File lib/admin_it/field/field.rb, line 279 def hide_fields(*names) hash = dsl_get(:fields, {}) names = names.ensure_array(:flatten, :ensure_symbol, :compact, :uniq) names.each { |name| hash[name].hide if hash.key?(name) } end
show_fields(*names)
click to toggle source
# File lib/admin_it/field/field.rb, line 285 def show_fields(*names) hash = dsl_get(:fields, {}) names = names.ensure_array(:flatten, :ensure_symbol, :compact, :uniq) names.each { |name| hash[name].show if hash.key?(name) } end