Sha256: d4412f13988587138c9f1b4ba1425b80fd5a3ec3d01c37e97c220b947c32bcd5
Contents?: true
Size: 1.26 KB
Versions: 8
Compression:
Stored size: 1.26 KB
Contents
require "formalist/element" require "formalist/types" module Formalist class Elements class CompoundField < Element def fill(input: {}, errors: {}) children = self.children.map { |child| child.fill(input: input, errors: errors) } super(input: input, errors: errors, children: children) end # Converts the compound field into an abstract syntax tree. # # It takes the following format: # # ``` # [:compound_field, [params]] # ``` # # With the following parameters: # # 1. Custom element type (or `:compound_field` otherwise) # 2. Form element attributes # 3. Child form elements # # @see Formalist::Element::Attributes#to_ast "Form element attributes" structure # # @example # compound_field.to_ast # # => [:compound_field, [ # :content, # :compound_field, # [:object, []], # [...child elements...], # ]] # # @return [Array] the compound field as an abstract syntax tree. def to_ast [:compound_field, [ type, Element::Attributes.new(attributes).to_ast, children.map(&:to_ast), ]] end end end end
Version data entries
8 entries across 8 versions & 1 rubygems