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") { }
