Double click prevention via glass pane?

Hello,

i am currently analysing an old JSF-application that will maybe get modernized / reimplemented with Vaadin.

A typlical user scenario consists of a few user-inputs, each input causing heavy server processing. So we get a delay of 2-3 seconds per input.

From the customer point of view the default loading indicator included in vaadin is quite unobstrusive and users might just oversee it.

The exact customers requirements are

  1. to disable the complete ui before the http-request starts
  2. Grey the complete UI: E.g. by overlaying the complete UI with a semitransparent layer.
  3. Show some animated image in the right upper corner.

Has anyone information how to register a custom status component?

I even dont know which tag to search for any hints are much appreciated.

Best Regards, Many thanks in advance, Andreas

Hi,

First of all I think you should consider handling the issue differently by re-designing the necessary parts in your UI. For example if there is a button, that triggers the heavy operation, you could use the disable-on-click setting of a Button and prevent double clicks that way. But what comes to the loading indicator. Look ApplicationConnection and its private method showLoadingIndicator().

Johannes,

the disable-on-click option in vaadin 7 will currently not prevent double clicks. See
Ticket 10798
.

Stefan

Johannes,

thank you for the reply.

Unfortunately “disableOnClick” does not work for my use case, because not only button-clicks cause the heavy events (also selections in OptionGroups, etc.).

What i generally miss in the Vaadin-Core is the possibility to override behavior, in this case the loading indicator.
This could easily be accomplished via a special component, which registers itself as loading-indicator at creation time with the applicationConnection.
However, the applicationConnection must be opened for extension to allow this.

Best Regards, Andreas