Repository: deltaspike Updated Branches: refs/heads/master f7c0f1b3f -> 3b355587a
DELTASPIKE-968 refactored Project: http://git-wip-us.apache.org/repos/asf/deltaspike/repo Commit: http://git-wip-us.apache.org/repos/asf/deltaspike/commit/3b355587 Tree: http://git-wip-us.apache.org/repos/asf/deltaspike/tree/3b355587 Diff: http://git-wip-us.apache.org/repos/asf/deltaspike/diff/3b355587 Branch: refs/heads/master Commit: 3b355587a07d6a97d5a01ce4a82d67a616512f0a Parents: f7c0f1b Author: Thomas Andraschko <[email protected]> Authored: Sat Aug 8 12:05:24 2015 +0200 Committer: Thomas Andraschko <[email protected]> Committed: Sat Aug 8 12:05:24 2015 +0200 ---------------------------------------------------------------------- .../resources/deltaspike/windowhandler.js | 46 ++++++++------------ 1 file changed, 17 insertions(+), 29 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/deltaspike/blob/3b355587/deltaspike/modules/jsf/impl/src/main/resources/META-INF/resources/deltaspike/windowhandler.js ---------------------------------------------------------------------- diff --git a/deltaspike/modules/jsf/impl/src/main/resources/META-INF/resources/deltaspike/windowhandler.js b/deltaspike/modules/jsf/impl/src/main/resources/META-INF/resources/deltaspike/windowhandler.js index b90a1e7..3e55f7e 100644 --- a/deltaspike/modules/jsf/impl/src/main/resources/META-INF/resources/deltaspike/windowhandler.js +++ b/deltaspike/modules/jsf/impl/src/main/resources/META-INF/resources/deltaspike/windowhandler.js @@ -100,10 +100,16 @@ window.dswh = window.dswh || { for (var i = 0; i < links.length; i++) { var link = links[i]; - if (storeWindowTreeEnabled) { + if (dswh.strategy.CLIENTWINDOW.isHrefDefined(link) === true) { if (!link.onclick) { link.onclick = function() { - dswh.strategy.CLIENTWINDOW.storeWindowTree(); + if (storeWindowTreeEnabled) { + dswh.strategy.CLIENTWINDOW.storeWindowTree(); + } + if (tokenizedRedirectEnabled) { + dswh.strategy.CLIENTWINDOW.tokenizedRedirect(this); + return false; + } return true; }; } else { @@ -117,34 +123,16 @@ window.dswh = window.dswh || { //ie handling added evt = evt || window.event; - return dswh.strategy.CLIENTWINDOW.storeWindowTree() && oldonclick.bind(this)(evt); - }; - })(); - } - } - } - - if (tokenizedRedirectEnabled && dswh.strategy.CLIENTWINDOW.tokenizedRedirectRequired(link) === true) { - if (!link.onclick) { - link.onclick = function() { - dswh.strategy.CLIENTWINDOW.tokenizedRedirect(this); - return false; - }; - } else { - // prevent double decoration - if (!("" + link.onclick).match(".*tokenizedRedirect.*")) { - //the function wrapper is important otherwise the - //last onclick handler would be assigned to oldonclick - (function storeEvent() { - var oldonclick = link.onclick; - link.onclick = function(evt) { - //ie handling added - evt = evt || window.event; - var proceed = oldonclick.bind(this)(evt); if (typeof proceed === 'undefined' || proceed === true) { - dswh.strategy.CLIENTWINDOW.tokenizedRedirect(this); - return false; + if (storeWindowTreeEnabled) { + dswh.strategy.CLIENTWINDOW.storeWindowTree(); + } + + if (tokenizedRedirectEnabled) { + dswh.strategy.CLIENTWINDOW.tokenizedRedirect(this); + return false; + } } return proceed; }; @@ -156,7 +144,7 @@ window.dswh = window.dswh || { } }, - tokenizedRedirectRequired : function(link) { + isHrefDefined : function(link) { // skip link without href if (link.href && link.href.length > 0) { return true;
