class HDBComboBox

Attributes

editButton[RW]
newButton[RW]
selectTag[RW]

Public Class Methods

new(moduleName, odb, fieldName, showedFieldName, label, selectedValue, oid, dialogLevel) click to toggle source

fieldName: products_id showField: name

Calls superclass method HDivTag::new
# File lib/hwidgets/hdbcombobox.rb, line 13
def initialize(moduleName, odb, fieldName, showedFieldName, label, selectedValue, oid, dialogLevel)
  @odb = odb
  @fieldName = fieldName
  @showedFieldName = showedFieldName
  @label = label
  @selectedValue = selectedValue
  @oid = oid
  @dialogLevel = dialogLevel

  @sourceModelName = odb.source.modelName
  @moduleName = moduleName
  @modelName = odb.modelName
  super(id: oid)
  
  @selectTag = HSelectTag.new("id", "#{@sourceModelName}[#{fieldName}]", label)
  @selectTag.setCarriageReturn()
  @selectTag.set(id: "#{@modelName}-combobox", overwrite: true)

  self << @selectTag
  self << @newButton = HInputTag.init(name: "new", type: "button")
  @newButton.connect(:onclick, self, "newRecord", getElem: "body", mode: "add", id: @oid);
  self << @editButton = HInputTag.init(name: "edit", type: "button")    
  @editButton.connect(:onclick, self, "edit", attributeById: "#{@modelName}-combobox", attributes: ":obj.value", getElem: "body", mode: "add", id: @oid);

end

Public Instance Methods

closeButton() click to toggle source
# File lib/hwidgets/hdbcombobox.rb, line 50
def closeButton()
  puts "closeButton".red
  return nil
end
edit(recordId) click to toggle source
# File lib/hwidgets/hdbcombobox.rb, line 55
def edit(recordId)
  puts "recordId: #{recordId}".red
  dialogView = HDBDialogView.new(recordId, @moduleName, @odb, @oid, @dialogLevel)
  dialogView.closeButton.connect(:onclick, self, "closeButton", before: 'hdialogView.close()', mode: 'none', id: @oid)
  dialogView.connect(:onsubmit, self, "html", submit: true, id: @oid, args:[recordId])
  return dialogView.html(:edit)
end
html(selectedValue = @selectedValue) click to toggle source
Calls superclass method HWidget#html
# File lib/hwidgets/hdbcombobox.rb, line 39
def html(selectedValue = @selectedValue)
  
  puts "#############################################@:#{selectedValue}".red
  fieldTable = @odb.toFieldTable
  @selectTag.setItems(fieldTable.column(@showedFieldName, "key")).setValues(fieldTable.column("id", :key))
  @selectTag.setSelected(selectedValue) if (selectedValue)

  return super()

end
newRecord() click to toggle source
# File lib/hwidgets/hdbcombobox.rb, line 63
def newRecord()
  nvr = @odb.create # new virtual record
  dialogView = HDBDialogView.new(nvr.id, @moduleName, @odb, @oid, @dialogLevel)
  dialogView.closeButton.connect(:onclick, self, "closeButton", before: 'hdialogView.close()', mode: 'none', id: @oid)
  dialogView.connect(:onsubmit, self, "html", submit: true, id: @oid, args:["#{nvr.id}#"])
  return dialogView.html(:new)
end