WICKET-6523 timerId can no longer be used to search for markup owning a timer, but timers will be removed by onRemove() callback anyway
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/c989470f Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/c989470f Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/c989470f Branch: refs/heads/master Commit: c989470fece7389ed1791320ed31a8c69332f098 Parents: 16b612a Author: Sven Meier <[email protected]> Authored: Wed Jan 24 22:30:31 2018 +0100 Committer: Sven Meier <[email protected]> Committed: Tue Feb 6 16:20:11 2018 +0100 ---------------------------------------------------------------------- .../wicket/ajax/res/js/wicket-ajax-jquery.js | 48 +++++--------------- 1 file changed, 12 insertions(+), 36 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/c989470f/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 e8f44b2..00d08ec 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 @@ -2565,6 +2565,17 @@ clearTimeout(Wicket.TimerHandles[timerId]); delete Wicket.TimerHandles[timerId]; } + }, + + clearAll: function(timerId) { + var WTH = Wicket.TimerHandles; + if (WTH) { + for (var th in WTH) { + if (WTH.hasOwnProperty(th)) { + Wicket.Timer.clear(th) + } + } + } } } }); @@ -2939,42 +2950,7 @@ * Clear any scheduled Ajax timers when leaving the current page */ Wicket.Event.add(window, "unload", function() { - var WTH = Wicket.TimerHandles; - if (WTH) { - for (var th in WTH) { - if (WTH.hasOwnProperty(th)) { - window.clearTimeout(WTH[th]); - delete WTH[th]; - } - } - } - }); - - /** - * Remove any scheduled timers on the removed element. - * This wont remove the timer for elements which are children of the removed one. - */ - Wicket.Event.subscribe('/dom/node/removing', function(jqEvent, element) { - var id = element.id; - if (Wicket.TimerHandles && Wicket.TimerHandles[id]) { - window.clearTimeout(Wicket.TimerHandles[id]); - delete Wicket.TimerHandles[id]; - } - }); - - /** - * Remove any scheduled timers on elements which are no more in the DOM document. - * This removes the timers for all elements which parents have been removed from the DOM. - */ - Wicket.Event.subscribe('/dom/node/added', function() { - if (Wicket.TimerHandles) { - for (var timerHandle in Wicket.TimerHandles) { - if (Wicket.$$(timerHandle) === false) { - window.clearTimeout(timerHandle); - delete Wicket.TimerHandles[timerHandle]; - } - } - } + Wicket.Timer.clearAll(); }); })(jQuery);
