Sha256: cd7a8e5ee39075223b5c7150406dd07e797ec2dfc1fb6bf1e155e171da6c3c80

Contents?: true

Size: 1.4 KB

Versions: 1

Compression:

Stored size: 1.4 KB

Contents

class KirguduBase::DynamicPages::FormBuilder
	#def initialize(&block)
	#	@name = nil
	#	@http_method = :get
	#	@url = nil
	#	@draw_form_element = false
	#	@allow_client_validations = false
	#	@is_jquery = false
	#	@columns = []
	#
	#	instance_eval(&block) if block_given?
	#end


	#def name(name)
	#	@name = name
	#end


	def initialize(name, html_options = {}, &block)

		html_options ||={}

		@name = name.to_sym
		@http_method = :get
		@url = nil
		@draw_form_element = true
		@allow_client_validations = false
		@is_ajax = false
		@properties = []
		@html_options = html_options


		instance_eval(&block) if block_given?
	end

	def url(value)
		@url = value
	end


	def http_method(value)
		@http_method = value
	end


	def draw_form_element(value)
		@draw_form_element = value ? true : false
	end

	def allow_client_validations(value)
		@allow_client_validations = value
	end

	def is_ajax(value)
		@is_ajax = value
	end


	def property(name, &block)
		@properties << ::KirguduBase::DynamicPages::PropertyBuilder.new(name, &block).to_property
	end


	def html_options(value = {})
		@html_options.merge!(value)
	end


	def to_form
		form = ::KirguduBase::DynamicPages::Form.new(
			name: @name,
			url: @url,
			http_method: @http_method,
			allow_client_validations: @allow_client_validations,
			is_ajax: @is_ajax,

		)
		form.html_option(@html_options)
		@properties.each do |value|
			form.property(value)
		end
		form
	end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
kirgudu_base-0.0.1 app/models/kirgudu_base/dynamic_pages/form_builder.rb