Sha256: 89d4457262f92fd224fd4c649d6a40973efd8829810814bed44f09ca46c37c73
Contents?: true
Size: 1.1 KB
Versions: 2
Compression:
Stored size: 1.1 KB
Contents
# frozen_string_literal: true require 'sunrise/config/field' module Sunrise module Config class NestedField < Field # Array for store all defined fields def fields @fields ||= [] end # Defines a configuration for a field. def field(name = :custom, options = {}, &block) options = { name: name.to_sym }.merge(options) fields << Field.new(abstract_model, self, options, &block) end def nested? true end def multiply? @config_options[:multiply] != false end def sort? @config_options[:sort] != false end def sort_hidden_field? sort? && sort_options[:hidden_field] end def sort_column sort_options[:column] end def sort_options @sort_options ||= build_sort_options end protected def build_sort_options options = (@config_options[:sort].is_a?(Hash) ? @config_options[:sort] : {}).symbolize_keys { column: :sort_order, hidden_field: true }.merge(options) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
sunrise-cms-1.1.1 | lib/sunrise/config/nested_field.rb |
sunrise-cms-1.1.0 | lib/sunrise/config/nested_field.rb |