diff --git a/demo/ChileCompanyCustomerPortal/forms/ChileCompanyCustomerForm.bbj b/demo/ChileCompanyCustomerPortal/forms/ChileCompanyCustomerForm.bbj index 65ba20b5..3cea648a 100644 --- a/demo/ChileCompanyCustomerPortal/forms/ChileCompanyCustomerForm.bbj +++ b/demo/ChileCompanyCustomerPortal/forms/ChileCompanyCustomerForm.bbj @@ -54,6 +54,8 @@ class public ChileCompanyCustomerForm extends BBjWidget methodend method public void onFormSubmit(BBjCustomEvent ev!) + REM we will get data row object with submitted form values in ev!.getObject() + REM Need to handle db operation here ClientUtil.consoleLog(str(ev!.getObject())) methodend diff --git a/framework/FormControlPanel/FormControlPanel.bbj b/framework/FormControlPanel/FormControlPanel.bbj index 2e3c214c..bb5bbb50 100644 --- a/framework/FormControlPanel/FormControlPanel.bbj +++ b/framework/FormControlPanel/FormControlPanel.bbj @@ -41,6 +41,7 @@ class public FormControlPanel method public void setResultSet(ResultSet rs!) #RS! = rs! + #dataRow! = new DataRow(rs!) methodend method public DataRow getResultSet() @@ -99,9 +100,12 @@ class public FormControlPanel columnName! = columnNames!.get(i) _fieldLabel! = new InputField(fieldWnd!) + _fieldLabel!.setId(columnName!) + _inputField! = _fieldLabel!.getInputField() + _fieldLabel!.setCallback(InputField.ON_INPUT_CHANGE, #this!, "onInputChange") if #isEdit! = 1 THEN - _fieldLabel!.getInputField().setText(str(#dataRow!.getFieldValue(columnName!))) + _inputField!.setText(str(#dataRow!.getFieldValue(columnName!))) else _fieldLabel!.setPlaceHolder(columnName!) fi @@ -137,6 +141,13 @@ class public FormControlPanel #overlay!.setCallback(Overlay.ON_OVERLAY_DISSMISSED, #this!,"onOverlayDissmiss") methodend + method public void onInputChange(BBjCustomEvent ev!) + obj! = ev!.getObject() + fieldId! = obj!.getId() + fieldValue! = obj!.getInput() + #dataRow!.setFieldValue(fieldId!, fieldValue!) + methodend + method public void onFormSubmit(BBjButtonPushEvent ev!) #overlay!.onOverlayDissmiss(null()) BBjAPI().postCustomEvent("ON_FORM_SUBMIT", #dataRow!) diff --git a/widgets/InputField/InputField.bbj b/widgets/InputField/InputField.bbj index ca803115..f567ee1a 100644 --- a/widgets/InputField/InputField.bbj +++ b/widgets/InputField/InputField.bbj @@ -153,7 +153,7 @@ class public InputField extends BBjWidget implements Icon endif endif endif - #fireEvent(#ON_INPUT_CHANGE, "") + #fireEvent(#ON_INPUT_CHANGE, #this!) methodend method public void focus()