From f965476c9fe10874487478df0843d5cb712b628d Mon Sep 17 00:00:00 2001 From: "Bruno P. Kinoshita" Date: Sun, 18 Aug 2024 14:15:25 +0200 Subject: [PATCH] WIP awaiting the proxy methods now... --- .../unochoice/stapler/unochoice/UnoChoice.es6 | 40 +++--- yarn.lock | 126 ++++++++++++++++++ 2 files changed, 144 insertions(+), 22 deletions(-) diff --git a/src/main/resources/org/biouno/unochoice/stapler/unochoice/UnoChoice.es6 b/src/main/resources/org/biouno/unochoice/stapler/unochoice/UnoChoice.es6 index 5032f532..6fcf86d0 100644 --- a/src/main/resources/org/biouno/unochoice/stapler/unochoice/UnoChoice.es6 +++ b/src/main/resources/org/biouno/unochoice/stapler/unochoice/UnoChoice.es6 @@ -144,11 +144,11 @@ var UnoChoice = UnoChoice || ($ => { * * @param avoidRecursion {boolean} flag to decide whether we want to permit self-reference parameters or not */ - CascadeParameter.prototype.update = function(avoidRecursion) { + CascadeParameter.prototype.update = async function(avoidRecursion) { let parametersString = this.getReferencedParametersAsText(); // gets the array parameters, joined by , (e.g. a,b,c,d) console.log(`Values retrieved from Referenced Parameters: ${parametersString}`); // Update the CascadeChoiceParameter Map of parameters - this.proxy.doUpdate(parametersString); + await this.proxy.doUpdate(parametersString); let spinner, rootDiv; if (this.getRandomName()) { @@ -169,10 +169,9 @@ var UnoChoice = UnoChoice || ($ => { // The inner function is called with the response provided by Stapler. Then we update the HTML elements. let _self = this; // re-reference this to use within the inner function console.log('Calling Java server code to update HTML elements...'); - this.proxy.getChoicesForUI(t => { - let choices = t.responseObject(); - console.log(`Values returned from server: ${choices}`); - let data = JSON.parse(choices); + await this.proxy.getChoicesForUI(t => { + let data = t.responseObject(); + console.log(`Values returned from server: ${data}`); let newValues = data[0]; let newKeys = data[1]; let selectedElements = []; @@ -437,11 +436,11 @@ var UnoChoice = UnoChoice || ($ => { * * @param avoidRecursion {boolean} flag to decide whether we want to permit self-reference parameters or not */ - DynamicReferenceParameter.prototype.update = function(avoidRecursion) { + DynamicReferenceParameter.prototype.update = async function(avoidRecursion) { let parametersString = this.getReferencedParametersAsText(); // gets the array parameters, joined by , (e.g. a,b,c,d) console.log(`Values retrieved from Referenced Parameters: ${parametersString}`); // Update the Map of parameters - this.proxy.doUpdate(parametersString); + await this.proxy.doUpdate(parametersString); let parameterElement = this.getParameterElement(); let spinner, rootDiv; @@ -462,11 +461,10 @@ var UnoChoice = UnoChoice || ($ => { // or maybe call a string to put as value in a INPUT. if (parameterElement.tagName === 'OL') { // handle OL's console.log('Calling Java server code to update HTML elements...'); - this.proxy.getChoicesForUI(t => { + await this.proxy.getChoicesForUI(t => { $(parameterElement).empty(); // remove all children elements - let choices = t.responseObject(); - console.log(`Values returned from server: ${choices}`); - let data = JSON.parse(choices); + const data = t.responseObject(); + console.log(`Values returned from server: ${data}`); let newValues = data[0]; // let newKeys = data[1]; for (let i = 0; i < newValues.length; ++i) { @@ -478,10 +476,9 @@ var UnoChoice = UnoChoice || ($ => { } else if (parameterElement.tagName === 'UL') { // handle OL's $(parameterElement).empty(); // remove all children elements console.log('Calling Java server code to update HTML elements...'); - this.proxy.getChoicesForUI(t => { - let choices = t.responseObject(); - console.log(`Values returned from server: ${choices}`); - let data = JSON.parse(choices); + await this.proxy.getChoicesForUI(t => { + const data = t.responseObject(); + console.log(`Values returned from server: ${data}`); let newValues = data[0]; // let newKeys = data[1]; for (let i = 0; i < newValues.length; ++i) { @@ -491,13 +488,12 @@ var UnoChoice = UnoChoice || ($ => { } }); } else if (parameterElement.id.indexOf('inputElement_') > -1) { // handle input text boxes - this.proxy.getChoicesAsStringForUI(t => { - parameterElement.value = t.responseObject(); + await this.proxy.getChoicesAsStringForUI(t => { + parameterElement.value = JSON.stringify(t.responseObject()); }); } else if (parameterElement.id.indexOf('formattedHtml_') > -1) { // handle formatted HTML - this.proxy.getChoicesAsStringForUI(t => { - let options = t.responseObject(); - parameterElement.innerHTML = JSON.parse(options); + await this.proxy.getChoicesAsStringForUI(t => { + parameterElement.innerHTML = t.responseObject(); }); } // propagate change @@ -825,7 +821,7 @@ var UnoChoice = UnoChoice || ($ => { let tail = args[args.length-1]; return (typeof(tail)=='function') ? tail : null; })(); - // 'arguments' is not an array so we convert it into an array + // 'arguments' is not an array, so we convert it into an array let a = []; for (let i=0; i