WICKET-4668: expose processing of Wicket AJAX-XML through the API

Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/130b0637
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/130b0637
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/130b0637

Branch: refs/heads/master
Commit: 130b063722e55510f2b2a3b47889e14210a5a32f
Parents: e25e1e6
Author: Emond Papegaaij <[email protected]>
Authored: Wed Jul 25 10:50:18 2012 +0200
Committer: Emond Papegaaij <[email protected]>
Committed: Wed Jul 25 10:50:18 2012 +0200

----------------------------------------------------------------------
 .../wicket/ajax/res/js/wicket-ajax-jquery.js       |   22 ++++++++++++++-
 .../wicket/atmosphere/jquery.wicketatmosphere.js   |    2 +-
 2 files changed, 22 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/130b0637/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js 
b/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js
index d4e9523..7bab495 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js
+++ 
b/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js
@@ -609,9 +609,24 @@
 
                        return jqXHR;
                },
+               
+               /**
+                * Method that processes a manually supplied <ajax-response>.
+                * 
+                * @param {XmlDocument} data - the <ajax-response> XML document
+                */
+               process: function(data) {
+                       var context =  {
+                                       attrs: {},
+                                       steps: []
+                               };
+                       this.loadedCallback(jQuery.parseXML(data), context);
+                       var executer = new FunctionsExecuter(context.steps);
+                       executer.start();
+               },
 
                /**
-                * Method that processes the <ajax-response>.
+                * Method that processes the <ajax-response> in the context of 
an XMLHttpRequest.
                 *
                 * @param {XmlDocument} data - the <ajax-response> XML document
                 * @param {String} textStatus - the response status as text 
(e.g. 'success', 'parsererror', etc.)
@@ -1580,6 +1595,11 @@
                                                }
                                        });
                                });
+                       },
+                       
+                       process: function(data) {
+                               var call = new Wicket.Ajax.Call();
+                               call.process(data);
                        }
                },
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/130b0637/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/jquery.wicketatmosphere.js
----------------------------------------------------------------------
diff --git 
a/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/jquery.wicketatmosphere.js
 
b/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/jquery.wicketatmosphere.js
index 70f010d..fdb248c 100644
--- 
a/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/jquery.wicketatmosphere.js
+++ 
b/wicket-experimental/wicket-atmosphere/src/main/java/org/apache/wicket/atmosphere/jquery.wicketatmosphere.js
@@ -28,7 +28,7 @@
                        if (response.transport !== 'polling' && response.state 
=== 'messageReceived') {
                                $.atmosphere.log('info', [ 
"response.responseBody: " + response.responseBody ]);
                                if (response.status === 200) {
-                                       (new 
Wicket.Ajax.Call()).loadedCallback($.parseXML(response.responseBody), {});
+                                       
Wicket.Ajax.process(response.responseBody);
                                }
                        } else if (response.state === "opening") {
                        }

Reply via email to