Fixes ISSUE-43963: Update param window multiselector param correctly on Done
authorCristian Berner <cristian.berner@openbravo.com>
Wed, 13 May 2020 11:57:16 +0200
changeset 37351 1c51e3e83830
parent 37350 0a9617665103
child 37352 ff64a1b5e0d9
Fixes ISSUE 43963: Update param window multiselector param correctly on Done

When the form of a process definition is validated the array value of the multiselector parameter gets modified to string after its isString default validator is executed.
This happens, for example after pressing the "Done" button to execute the process.
This fix ensures that the value of the multiselector parameter is reset to the corresponding array of values that the multiselector has selected once the validation has been executed.
modules/org.openbravo.userinterface.selector/web/org.openbravo.userinterface.selector/js/ob-multi-selector-item.js
--- a/modules/org.openbravo.userinterface.selector/web/org.openbravo.userinterface.selector/js/ob-multi-selector-item.js	Wed May 13 11:17:16 2020 +0530
+++ b/modules/org.openbravo.userinterface.selector/web/org.openbravo.userinterface.selector/js/ob-multi-selector-item.js	Wed May 13 11:57:16 2020 +0200
@@ -236,6 +236,8 @@
   setValue: function(value) {
     if (value) {
       if (isc.isA.String(value)) {
+        // Reset value, because it's not an array anymore but a string
+        this.storeValue([]);
         value = value.split(',');
       }
       this.storeValue(value);