Sha256: a2a8393870d25955ba655026e95240e87f075657f81174ddf58d17c3d1d265e2

Contents?: true

Size: 1.78 KB

Versions: 17

Compression:

Stored size: 1.78 KB

Contents

module KirguduBase
	module DynamicPages
		class 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 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
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
kirgudu_base-0.0.21 app/models/kirgudu_base/dynamic_pages/form_builder.rb
kirgudu_base-0.0.19 app/models/kirgudu_base/dynamic_pages/form_builder.rb
kirgudu_base-0.0.18 app/models/kirgudu_base/dynamic_pages/form_builder.rb
kirgudu_base-0.0.17 app/models/kirgudu_base/dynamic_pages/form_builder.rb
kirgudu_base-0.0.16 app/models/kirgudu_base/dynamic_pages/form_builder.rb
kirgudu_base-0.0.15 app/models/kirgudu_base/dynamic_pages/form_builder.rb
kirgudu_base-0.0.14 app/models/kirgudu_base/dynamic_pages/form_builder.rb
kirgudu_base-0.0.13 app/models/kirgudu_base/dynamic_pages/form_builder.rb
kirgudu_base-0.0.12 app/models/kirgudu_base/dynamic_pages/form_builder.rb
kirgudu_base-0.0.11 app/models/kirgudu_base/dynamic_pages/form_builder.rb
kirgudu_base-0.0.10 app/models/kirgudu_base/dynamic_pages/form_builder.rb
kirgudu_base-0.0.9 app/models/kirgudu_base/dynamic_pages/form_builder.rb
kirgudu_base-0.0.8 app/models/kirgudu_base/dynamic_pages/form_builder.rb
kirgudu_base-0.0.7 app/models/kirgudu_base/dynamic_pages/form_builder.rb
kirgudu_base-0.0.6 app/models/kirgudu_base/dynamic_pages/form_builder.rb
kirgudu_base-0.0.5 app/models/kirgudu_base/dynamic_pages/form_builder.rb
kirgudu_base-0.0.4 app/models/kirgudu_base/dynamic_pages/form_builder.rb