Class: KirguduBase::DynamicPages::FormPropertyBuilder

Inherits:
PropertyBuilder show all
Defined in:
app/models/kirgudu_base/dynamic_pages/form_property_builder.rb

Instance Method Summary collapse

Methods inherited from PropertyBuilder

#data_source, #description, #format, #help, #label, #parent, #placeholder, #text_value_property, #tooltip, #use_i18n

Methods inherited from PageElementBuilder

#css_class, #enabled, #html_options, #id, #visible

Constructor Details

#initialize(name, &block) ⇒ FormPropertyBuilder

Returns a new instance of FormPropertyBuilder.



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

def initialize(name, &block)
  self.builder_options.merge!(
    {
      input_type: :text_edit,
      max_length: 0,
      read_only: :false,
      events: nil
    }
  )
  super(name, &block)
end

Instance Method Details

#events(&block) ⇒ Object



17
18
19
20
21
22
23
24
# File 'app/models/kirgudu_base/dynamic_pages/form_property_builder.rb', line 17

def events(&block)
  elements = ::KirguduBase::DynamicPages::PropertyEventsBlockBuilder.new(&block).to_elements

  elements.each do |element|
    self.builder_options[:events] = [] unless self.builder_options[:events]
    self.builder_options[:events] << element
  end
end

#input_type(value) ⇒ Object



27
28
29
# File 'app/models/kirgudu_base/dynamic_pages/form_property_builder.rb', line 27

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

#max_length(value) ⇒ Object



31
32
33
# File 'app/models/kirgudu_base/dynamic_pages/form_property_builder.rb', line 31

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

#read_only(value) ⇒ Object



35
36
37
# File 'app/models/kirgudu_base/dynamic_pages/form_property_builder.rb', line 35

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

#to_elementObject



40
41
42
43
44
45
# File 'app/models/kirgudu_base/dynamic_pages/form_property_builder.rb', line 40

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