Sha256: c22fb8ce96056e733e7626d4a390bce23360b48deb585b9df5b62de17508ea89
Contents?: true
Size: 1.88 KB
Versions: 3
Compression:
Stored size: 1.88 KB
Contents
module KirguduBase class DynamicPages::FormBuilder < ::KirguduBase::DynamicPages::PageElementBuilder def initialize(name, &block) self.builder_options.merge!({ url: nil, http_method: nil, allow_client_validations: nil, is_ajax: nil, properties: nil, elements: nil, parent: nil }) super(name, &block) end def url(value) self.builder_options[:url] = value end def url_path(controller, action, params = {}) self.builder_options[:url_path] = { controller: controller, action: action, params: params } end def http_method(value) self.builder_options[:http_method] = value end def allow_client_validations(value) self.builder_options[:allow_client_validations] = value end def is_ajax(value) self.builder_options[:is_ajax] = value end def properties(&block) elements = ::KirguduBase::DynamicPages::FormPropertiesBlockBuilder.new(&block).to_elements elements.each do |element| self.builder_options[:properties] = {} unless self.builder_options[:properties] self.builder_options[:properties][element.name] = element end end def elements elements = ::KirguduBase::DynamicPages::FormElementsBlockBuilder.new(&block).to_elements elements.each do |element| self.builder_options[:elements] = [] unless self.builder_options[:elements] self.builder_options[:elements] << element end end def parent(value) self.validate_empty_parameter('parent', value) self.builder_options[:parent] = value end def to_element element = ::KirguduBase::DynamicPages::Form.new self.build_element(element) self.validate_generated_element(element) element end end end
Version data entries
3 entries across 3 versions & 1 rubygems