Details
Description
Need to provide an easy-to-use mechanism to prevent ICEfaces app. users from sending multiple submits/partialSubmits to the server concurrently as this can cause application and/or user UI issues with some applications.
This can be provided by adding an optional feature to the bridge that would perform the following:
- As a call to submitFull() or submitPartial() is made the bridge will:
1. Set the cursor/pointer to an hourglass
2. Display a semi-transparent DIV over the current application UI, similar to the technique used by the modal dialog, but less opaque. The intention is to provide a subtle visual indication that the application is busy and also to prevent user interaction with the application via mouse.
- Once a response for the submit is received (or timed out, etc):
1. Remove/hide the semi-transparent DIV.
2. Restore the cursor/pointer to it's original shape (or to a pointer if that's impossible).
This feature can be enabled via a new config. param "com.icesoft.faces.blockUIWhenBusy", or maybe "com.icesoft.faces.blockUIOnSubmit".
This can be provided by adding an optional feature to the bridge that would perform the following:
- As a call to submitFull() or submitPartial() is made the bridge will:
1. Set the cursor/pointer to an hourglass
2. Display a semi-transparent DIV over the current application UI, similar to the technique used by the modal dialog, but less opaque. The intention is to provide a subtle visual indication that the application is busy and also to prevent user interaction with the application via mouse.
- Once a response for the submit is received (or timed out, etc):
1. Remove/hide the semi-transparent DIV.
2. Restore the cursor/pointer to it's original shape (or to a pointer if that's impossible).
This feature can be enabled via a new config. param "com.icesoft.faces.blockUIWhenBusy", or maybe "com.icesoft.faces.blockUIOnSubmit".
Issue Links
- blocks
-
ICE-4164 Double clicking tab that has long processing causes components to be reset
- Closed
This feature also needs to work well with existing hourglass display techniques that exist around the ice:outputConnectionStatus component, see
ICE-3254.