From 0f48de87bc85c6a6b62967fcd18156fa523c49c5 Mon Sep 17 00:00:00 2001 From: Arnab Roy Date: Mon, 8 Nov 2021 13:13:44 +0100 Subject: [PATCH 1/3] WebKit-68: Pass current input field instance in custom event post --- widgets/InputField/InputField.bbj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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() From 2c8b184f97b8d2c8ee262136f562db4fa5dbca5b Mon Sep 17 00:00:00 2001 From: Arnab Roy Date: Mon, 8 Nov 2021 13:14:19 +0100 Subject: [PATCH 2/3] WebKit-68: Bind input field changes to data row in form-control --- framework/FormControlPanel/FormControlPanel.bbj | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) 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!) From 9c8d31ea72dfc39c94db05bf2c373758e7d869a9 Mon Sep 17 00:00:00 2001 From: Arnab Roy Date: Mon, 8 Nov 2021 13:16:35 +0100 Subject: [PATCH 3/3] WebKit-68: Add demo form handling instructions --- .../forms/ChileCompanyCustomerForm.bbj | 2 ++ 1 file changed, 2 insertions(+) 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