voyent
Icefaces 4 busy indicator  XML
Forum Index -> General Help
Author Message
Shouran

Joined: 21/Jan/2016 02:50:53
Messages: 11
Offline


I'm working on migrating from IceFaces 3.3 to IceFaces 4.2

Previously when submitting a form, IceFaces 3.3 would block the UI and then display a busy indicator for the mouse cursor. I believe this was set on the ice:outputConnectionStatus

In IceFaces 4.2 the replacement is ace:submitMonitor. When submitting a form, I no longer get a busy indicator for the mouse cursor.

This is an issue when loading a large results list. The busy indicator on the submit monitor finishes and goes into an idle state, IceFaces then shows the page as though it can be interacted with (No overlay, no busy indicator), but the results list hasn't finished being rendered and the UI is still unable to be interacted with.

Is there a setting I am missing that sets the mouse cursor to a busy indicator whilst the request is being submitted and during page rendering, like it used to in IceFaces 1.8 and IceFaces 3.3?
judy.guglielmin

Joined: 20/Feb/2007 00:00:00
Messages: 1394
Offline


Have you reviewed the information located here:-
http://www.icesoft.org/wiki/display/ICE/SubmitMonitor

You can configure the submitMonitor for a single area of the form or the entire page.
Please post markup as well as any console logging errors/server errors if you are still having issues.

Thanks.
Shouran

Joined: 21/Jan/2016 02:50:53
Messages: 11
Offline


Yes, I have looked at all that information.

I have even been here: http://icefaces-showcase.icesoft.org/showcase.jsf?grp=aceMenu&exp=submitMonitor

As you can see on the showcase, when a submit is done the mouse cursor doesn't change to show that the browser is busy.

There are no errors being displayed by IceFaces because as far as it is concerned it is working properly. It just doesn't work how it used to when UI was blocked during a submit.

I appreciate that you are trying to help, but sending me a link to the submitMonitor wiki, which contains no information on how to make a busy indicator show, does not answer the question at hand.

I just want to be able to change to mouse cursor to a busy indicator whilst the UI is blocked, like it used to in previous versions. There is no information on that for IceFaces 4.2. I have checked the IceFaces documentation. I have checked the IceFaces Wiki. I have checked the IceFaces 4.2 showcases. I have searched the IceFaces forum. I have searched Stack Overflow. I have tried Googling and I just keep finding references to Icefaces 1.x and compatibility mode for Icefaces 2+ (<ice:xxx> tags)

Is this an oversight, or intentional that the mouse cursor no longer changes to a busy indicator when the UI is blocked?

There are 11 kinds of people in this world. Those who understand binary and those who don't.
ken.fyten

Joined: 26/Oct/2004 00:00:00
Messages: 1319
Offline


Hi,

The ace:submitMonitor does not change the cursor itself, as you have observed.

The only way to have the cursor change during a pending ajax request in ICEfaces 4.x would be to use the "blockUIOnSubmit" configuration param instead of the ace:submitMonitor.

See http://www.icesoft.org/wiki/display/ICE/blockUIOnSubmit for details.

Regards,
Ken

Ken Fyten
VP Product Development
ICEsoft Technologies, Inc.
Shouran

Joined: 21/Jan/2016 02:50:53
Messages: 11
Offline


I've tried doing that also, unfortunately it still didn't trigger the busy indicator on the mouse cursor and then without the submit monitor there is nothing to display to the users to show them that the page is busy.

I noticed that in IceFaces 3.3 the busy indicator stopped appearing, but that was sorted by the displayHourglassWhenActive attribute on <ice:outputConnectionStatus>

It wouldn't be an issue if the blocking overlay with the monitor state stayed until all the rendering is complete, but when dealing with rendering large quantities of data in a popup it appears as though the UI is interactable whilst the rendering is finishing. Then after a few seconds (depending on the size of the data this is sometimes quite a few seconds) the popup finally displays.

There are 11 kinds of people in this world. Those who understand binary and those who don't.
judy.guglielmin

Joined: 20/Feb/2007 00:00:00
Messages: 1394
Offline


If you just want the cursor symbol to change, you could use some javascript using the <ace:ajax onStart="jsFunctionChangeToBusyCursor" onComplete="jsFunctionChangeToNormalCursor"....../> on the <ace:pushButton/> or <ace:linkButton/> or whatever ace component does the submit.


Shouran

Joined: 21/Jan/2016 02:50:53
Messages: 11
Offline


Does that then mean I'm going to have to assign this to every input, button and link that will trigger an event? If so then it's just not workable, it's a large program and that's a lot of inputs, buttons and links

There are 11 kinds of people in this world. Those who understand binary and those who don't.
Shouran

Joined: 21/Jan/2016 02:50:53
Messages: 11
Offline


I've just tried this on an ace:pushButton with a nested
<ace:ajax onStart="jsFunctionChangeToBusyCursor" onComplete="jsFunctionChangeToNormalCursor"/>

Now the button doesn't do anything when clicked.

There are 11 kinds of people in this world. Those who understand binary and those who don't.
 
Forum Index -> General Help
Go to:   
Powered by JForum 2.1.7ice © JForum Team