There are a lot of different ways to handle this. A very quick and dirty way I've done it is by adding a dojo dialog widget init block to my border and providing a global javascript function call like "yourappname.showProgress()" that I can easily add in to any potentially slow running form submissions via onClick or similar. This has worked out just fine for server submissions that take a long time to complete.
For a more general "page loading" where you expect the page to take a long time loading period the solution becomes slightly more delicate. You probably want this loading indicator to be visible ASAP so I'd probably just write a very tiny fragment of javacscript in <head> that made some sort of decorated "loading" div block visible ~until~ dojo.addOnLoad() fires off. (or whatever mechanism you want to use to know that a particular portion of the document loading process in your browser is finished) On 12/6/06, Sam Gendler <[EMAIL PROTECTED]> wrote:
Does anyone have a mechanism for displaying some kind of please wait mechanism while waiting for a slow loading page to be rendered? I can think of a couple of potential solutions: 1. Submit form, have listener send to a please wait page which does nothing but send another request which will actually load the page in question. The problems with this include pages that require lots of data in the form submission. I'd have to stick it in the session or throw it in a hidden form. If it is a lot of data, it could be quite slow. No control over when the browser stops displaying the message - usually first byte in. If there is network latency, that could still leave several seconds without the message in view. 2. If Tapestry supports it, I can render the header of the page, including a div that says please wait, then flush to the browser before initializing the model. At the end of the page, render some js that will hide the div. Only problem here is flushing before the page is completely rendered. Is this possible in Tapestry? Note: I cannot use an ajax update of the entire page and use the effects available in an AjaxForm to render the message. At least, I don't think I can. I haven't done an analysis of the pages in question, but I'd really prefer top have my solution work on any page, rather than just on ajax-y ones. It would, however, be nice to have a solution which looks the same whether dong an ajax update (using preEffect and effect) and when doing a full page reload after a normal POST. Thanks --sam --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
-- Jesse Kuhnert Tapestry/Dojo team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]