Martijn Dashorst created WICKET-6055:
----------------------------------------

             Summary: 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.3.4#6332)

Reply via email to