Class: ProMotion::FormScreen

Inherits:
PM::FormViewController
  • Object
show all
Includes:
ScreenModule
Defined in:
lib/ProMotion/form/form_screen.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#form_objectObject (readonly)

Returns the value of attribute form_object.



5
6
7
# File 'lib/ProMotion/form/form_screen.rb', line 5

def form_object
  @form_object
end

Instance Method Details

#dismiss_keyboardObject



24
25
26
# File 'lib/ProMotion/form/form_screen.rb', line 24

def dismiss_keyboard
  self.view.endEditing true
end

#form_dataObject



12
13
14
15
# File 'lib/ProMotion/form/form_screen.rb', line 12

def form_data
  PM.logger.info "You need to implement a `form_data` method in #{self.class.to_s}."
  []
end

#render_formObject



28
29
30
# File 'lib/ProMotion/form/form_screen.rb', line 28

def render_form
  Hash[form_object.each_pair.to_a].tap{|h| h.delete(:fields) }
end

#update_form_dataObject



17
18
19
20
21
22
# File 'lib/ProMotion/form/form_screen.rb', line 17

def update_form_data
  @form_object = PM::Form.new(self.form_data).build
  self.formController.form = @form_object
  self.formController.delegate = self
  self.view.reloadData
end

#viewDidLoadObject



7
8
9
10
# File 'lib/ProMotion/form/form_screen.rb', line 7

def viewDidLoad
  super
  update_form_data
end