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]

Reply via email to