You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by we...@apache.org on 2022/12/12 07:53:06 UTC

[myfaces] branch main updated: https://issues.apache.org/jira/browse/MYFACES-4040

This is an automated email from the ASF dual-hosted git repository.

werpu pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/myfaces.git


The following commit(s) were added to refs/heads/main by this push:
     new 72de4729b  https://issues.apache.org/jira/browse/MYFACES-4040
72de4729b is described below

commit 72de4729bee969b185ba0deaad556cc5e8071d5f
Author: Werner Punz <we...@apache.org>
AuthorDate: Mon Dec 12 08:53:01 2022 +0100

     https://issues.apache.org/jira/browse/MYFACES-4040
    
     https://issues.apache.org/jira/browse/MYFACES-4040 Fix for the issue, by shifting the request parameters coming in from f:params to the params assoc array of the options
---
 .../main/javascript/META-INF/resources/myfaces/api/faces.js |  3 ++-
 .../myfaces/renderkit/html/util/AjaxScriptBuilder.java      | 13 ++++++++++---
 2 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/api/src/main/javascript/META-INF/resources/myfaces/api/faces.js b/api/src/main/javascript/META-INF/resources/myfaces/api/faces.js
index 1c15de8c6..c3db491eb 100644
--- a/api/src/main/javascript/META-INF/resources/myfaces/api/faces.js
+++ b/api/src/main/javascript/META-INF/resources/myfaces/api/faces.js
@@ -474,7 +474,8 @@ if (!myfaces.ab) {
         }
 
         if (eventName) {
-            options["jakarta.faces.behavior.event"] = eventName;
+            options["params"] = options.params || {};
+            options.params["jakarta.faces.behavior.event"] = eventName;
         }
         if (execute) {
             options["execute"] = execute;
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/util/AjaxScriptBuilder.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/util/AjaxScriptBuilder.java
index 72b9b8e0c..1dc3a4801 100644
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/util/AjaxScriptBuilder.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/util/AjaxScriptBuilder.java
@@ -196,8 +196,11 @@ public class AjaxScriptBuilder
             {
                 appendProperty(sb, "resetValues", resetValues, false);
             }
+
             if ((params != null && !params.isEmpty()) || (uiParams != null && !uiParams.isEmpty()))
             {
+                StringBuilder paramsBuilder = new StringBuilder();
+                paramsBuilder.append('{');
                 if (params != null && !params.isEmpty())
                 {
                     if (params instanceof RandomAccess)
@@ -206,14 +209,14 @@ public class AjaxScriptBuilder
                         for (int i = 0, size = list.size(); i < size; i++)
                         {
                             ClientBehaviorContext.Parameter param = list.get(i);
-                            appendProperty(sb, param.getName(), param.getValue(), true);
+                            appendProperty(paramsBuilder, param.getName(), param.getValue(), true);
                         }
                     }
                     else
                     {
                         for (ClientBehaviorContext.Parameter param : params)
                         {
-                            appendProperty(sb, param.getName(), param.getValue(), true);
+                            appendProperty(paramsBuilder, param.getName(), param.getValue(), true);
                         }
                     }
                 }
@@ -223,9 +226,12 @@ public class AjaxScriptBuilder
                     for (int i = 0, size = uiParams.size(); i < size; i++)
                     {
                         UIParameter param = uiParams.get(i);
-                        appendProperty(sb, param.getName(), param.getValue(), true);
+                        appendProperty(paramsBuilder, param.getName(), param.getValue(), true);
                     }
                 }
+                paramsBuilder.append('}');
+                sb.append("params: ");
+                sb.append(paramsBuilder);
             }
 
             sb.append('}');
@@ -260,6 +266,7 @@ public class AjaxScriptBuilder
         sb.append('\'');
     }
 
+
     public static void appendProperty(StringBuilder builder, 
                                       String name,
                                       Object value,