[ https://issues.apache.org/jira/browse/WICKET-2401?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12903857#action_12903857 ]
Hudson commented on WICKET-2401: -------------------------------- Integrated in Apache Wicket 1.4.x #129 (See [https://hudson.apache.org/hudson/job/Apache%20Wicket%201.4.x/129/]) > AJAX indicator turns off when calls overlap > ------------------------------------------- > > Key: WICKET-2401 > URL: https://issues.apache.org/jira/browse/WICKET-2401 > Project: Wicket > Issue Type: Bug > Components: wicket > Affects Versions: 1.4.0 > Reporter: John Patterson > Assignee: Igor Vaynberg > Fix For: 1.4.11, 1.5-M2 > > > As discussed here > http://www.nabble.com/Ajax-indicator-turning-off-td24655744.html > Overlapping AJAX calls result in the indicator being turned off when the > first call returns. This patch keeps a count property directly on the > HTMLElement so when the element goes out of scope the count does not need to > be removed. Each AJAX call increments the counter and each return decrements > the counter. > Index: src/main/java/org/apache/wicket/ajax/wicket-ajax.js > =================================================================== > --- src/main/java/org/apache/wicket/ajax/wicket-ajax.js (revision > 797714) > +++ src/main/java/org/apache/wicket/ajax/wicket-ajax.js (working copy) > @@ -2214,3 +2214,31 @@ > e.style.display = "none"; > } > } > + > +function wicketIncrementDisplay(id) { > + var e=wicketGet(id); > + if (typeof(e.wicketDisplayCount) =="undefined") { > + e.wicketDisplayCount = 1; > + } else { > + e.wicketDisplayCount++; > + } > + > + if (e.wicketDisplayCount > 0) { > + e.style.display = ""; > + } > +} > + > +function wicketDecrementDisplay(id) { > + var e=wicketGet(id); > + if (typeof(e.wicketDisplayCount) =="undefined") { > + e.wicketDisplayCount = 0; > + } else { > + e.wicketDisplayCount--; > + } > + > + if (e.wicketDisplayCount <= 0) { > + e.style.display = "none"; > + } > +} > + > + > Index: src/main/java/org/apache/wicket/ajax/AbstractDefaultAjaxBehavior.java > =================================================================== > --- src/main/java/org/apache/wicket/ajax/AbstractDefaultAjaxBehavior.java > (revision 797714) > +++ src/main/java/org/apache/wicket/ajax/AbstractDefaultAjaxBehavior.java > (working copy) > @@ -183,7 +183,7 @@ > > if (!Strings.isEmpty(indicatorId)) > { > - String hide = ";wicketHide('" + indicatorId + "');"; > + String hide = ";wicketDecrementDisplay('" + indicatorId > + "');"; > success = success + hide; > failure = failure + hide; > } > @@ -240,7 +240,7 @@ > > if (!Strings.isEmpty(indicatorId)) > { > - call = new > AppendingStringBuffer("wicketShow('").append(indicatorId) > + call = new > AppendingStringBuffer("wicketIncrementDisplay('").append(indicatorId) > .append("');") > .append(call); > } -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.