[ https://issues.apache.org/jira/browse/WICKET-6055?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16212571#comment-16212571 ]
ASF GitHub Bot commented on WICKET-6055: ---------------------------------------- GitHub user svenmeier opened a pull request: https://github.com/apache/wicket/pull/240 WICKET-6055 non-blocking lazy loading Building on #151 I've built this alternative implementation with the following advantages: - lazy loading can now *start* on an Ajax request too - much simpler without using the event bus - the timer adjusts to the minimum of the preferred timeout of all LazyLoadPanels - reworded methods and improved JavaDoc You can merge this pull request into a Git repository by running: $ git pull https://github.com/apache/wicket WICKET-6055-non-blocking-lazy Alternatively you can review and apply these changes as the patch at: https://github.com/apache/wicket/pull/240.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #240 ---- commit cfb75dd64d54972a9b604101ff840c7c5cf80d35 Author: Sven Meier <svenme...@apache.org> Date: 2017-10-20T12:25:15Z WICKET-6055 non-blocking lazy loading ---- > AjaxLazyLoadPanel should provide non-blocking lazy load > ------------------------------------------------------- > > Key: WICKET-6055 > URL: https://issues.apache.org/jira/browse/WICKET-6055 > Project: Wicket > Issue Type: Improvement > Components: wicket-extensions > Affects Versions: 7.1.0 > Reporter: Martijn Dashorst > Assignee: Martijn Dashorst > > When having multiple AjaxLazyLoadPanels on your page, they all block their > Wicket request thread until the content is ready to load. This can be > problematic when you try to wait for some background job to finish and want > to poll for that job to be ready, and only then update the contents. > The improvement would be to add a method that gives the developer the option > to not update just yet (isReadyForReplacement) and when it returns true, > start the replacement. By default this would return true, implementing the > current behavior of the AjaxLazyLoadPanel. > Furthermore to improve the responsiveness of the ALLP it should add a single > timer to the page that can be used by multiple ALLPs to update themselves. > The timer would poll each second and the ALLPs would use Wicket's event bus > to update themselves. With some reference counting, the timer can remove > itself from the page when all ALLPs have updated themselves. > This enables refreshing the page as well when outside an AJAX context, or > having a user be impatient and pressing F5. -- This message was sent by Atlassian JIRA (v6.4.14#64029)