This is what the mayStop() method of Activity is for. As Jens said, you can 
also somehow disable navigation until your app is in a state that "allows" 
it (but beware that if the user refreshes the page, the app won't have any 
way to know that a previous call was issued → implement mayStop anyway, to 
warn users).

As an alternative, implement your navigation as events on the event bus, and 
a central listener maps them to PlaceController.goTo calls, possibly 
swallowing or deferring them, possibly loading required data before actually 
navigating, etc.

Oh, and of course, you could also display a "glass panel" with a progress 
bar or spinner arrows (or just a message) –e.g. in the form of a PopupPanel 
with setGlassEnabled(true)– that makes all interaction with the app 
impossible until the RPC response is back (but the "refresh page" scenario 
is still to be considered).

Web apps are not like desktop apps: you cannot "lock" users in until 
something is done. They can open the app in another tab/window/browser, they 
can "unload" the app at any time, and possibly reload it while some action 
started by the "previous load" is still being done on the server-side.

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-web-toolkit/-/Jv7PVB2beWcJ.
To post to this group, send email to google-web-toolkit@googlegroups.com.
To unsubscribe from this group, send email to 
google-web-toolkit+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-web-toolkit?hl=en.

Reply via email to