Class: KirguduBase::DynamicPages::FormBuilder

Inherits:
PageElementBuilder show all
Defined in:
app/models/kirgudu_base/dynamic_pages/form_builder.rb

Instance Method Summary collapse

Methods inherited from PageElementBuilder

#enabled, #html_options, #id, #visible

Methods inherited from Builder

#build_element, #builder_options, #valiadte_interger_parameter, #valiadte_interger_positive_parameter, #validate_empty_parameter, #validate_generated_element, #validate_string_or_symbol_parameter, #validate_string_parameter, #validate_symbol_parameter

Constructor Details

#initialize(name, &block) ⇒ FormBuilder

Returns a new instance of FormBuilder.



5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'app/models/kirgudu_base/dynamic_pages/form_builder.rb', line 5

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

Instance Method Details

#allow_client_validations(value) ⇒ Object



28
29
30
# File 'app/models/kirgudu_base/dynamic_pages/form_builder.rb', line 28

def allow_client_validations(value)
	self.builder_options[:allow_client_validations] = value
end

#elementsObject



44
45
46
47
48
49
50
# File 'app/models/kirgudu_base/dynamic_pages/form_builder.rb', line 44

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

#http_method(value) ⇒ Object



24
25
26
# File 'app/models/kirgudu_base/dynamic_pages/form_builder.rb', line 24

def http_method(value)
	self.builder_options[:http_method] = value
end

#is_ajax(value) ⇒ Object



32
33
34
# File 'app/models/kirgudu_base/dynamic_pages/form_builder.rb', line 32

def is_ajax(value)
	self.builder_options[:is_ajax] = value
end

#parent(value) ⇒ Object



52
53
54
55
# File 'app/models/kirgudu_base/dynamic_pages/form_builder.rb', line 52

def parent(value)
	self.validate_empty_parameter('parent', value)
	self.builder_options[:parent] = value
end

#properties(&block) ⇒ Object



36
37
38
39
40
41
42
# File 'app/models/kirgudu_base/dynamic_pages/form_builder.rb', line 36

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

#to_elementObject



57
58
59
60
61
62
# File 'app/models/kirgudu_base/dynamic_pages/form_builder.rb', line 57

def to_element
	element = ::KirguduBase::DynamicPages::Form.new
	self.build_element(element)
	self.validate_generated_element(element)
	element
end

#url(value) ⇒ Object



20
21
22
# File 'app/models/kirgudu_base/dynamic_pages/form_builder.rb', line 20

def url(value)
	self.builder_options[:url] = value
end