class ProMotion::XLSubFormScreen

Attributes

rowDescriptor[RW]

Public Instance Methods

formRowDescriptorValueHasChanged(row, oldValue: old_value, newValue: new_value) click to toggle source

XLFormDescriptorDelegate

# File lib/ProMotion/XLForm/xl_sub_form_screen.rb, line 38
def formRowDescriptorValueHasChanged(row, oldValue: old_value, newValue: new_value)
  super
  rowDescriptor.value = values
end
form_data() click to toggle source
# File lib/ProMotion/XLForm/xl_sub_form_screen.rb, line 5
def form_data
  [
    {
      title: rowDescriptor.title,
      cells: rowDescriptor.action.cells.map do |cell|
        tag = cell[:name]
        if tag.respond_to? :to_s
          tag = tag.to_s
        end
        if rowDescriptor && rowDescriptor.value && rowDescriptor.value[tag]
          cell.merge({ value: rowDescriptor.value[tag] })
        else
          cell
        end
      end
    }
  ]
end
update_form_data() click to toggle source
# File lib/ProMotion/XLForm/xl_sub_form_screen.rb, line 24
def update_form_data
  title = rowDescriptor.title
  required = rowDescriptor.action.required

  @form_builder = PM::XLForm.new(self.form_data,
                                 {
                                   title: title,
                                   required: required
                                 })
  @form_object = @form_builder.build
  self.form = @form_object
end