Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 2.0.2
-
Fix Version/s: 3.0
-
Component/s: ICE-Components
-
Labels:None
-
Environment:Test
-
Workaround Exists:Yes
-
Workaround Description:Use rendered instead of visible
Description
There is a commandButton defined with a visible property as follows:
<ice:commandButton type="submit" value="Test" actionListener="#{DocumentBean.buttonDoDocumentActionOutstanding}" visible="#{DocumentBean.documentActionOutstandingAvailable}"></ice:commandButton>
This button shall become available once a certain condition happens on the server (in my example it happens after a action has completed invoked by a outputResource in its Resource.open() method which is invoked separately from browser to server outside the session). Therefore I use the PortableRenderer.render("..") method as adviced for outside session threads here: http://wiki.icefaces.org/display/ICE/Ajax+Push+-+APIs
So far, so good, With Chrome and Firefox this works perfect and the button becomes disabled/enabled by the push as expected. Unfortunately, it doesn't with IE9.
I did a little bit playing and surprise, if I put the same commandButton there with the attribute rendered=.... instead of visible=... it works with IE.
As visible attribute seems to be implemented by css style switching, it looks as if IE has a problem with that ...
<ice:commandButton type="submit" value="Test" actionListener="#{DocumentBean.buttonDoDocumentActionOutstanding}" visible="#{DocumentBean.documentActionOutstandingAvailable}"></ice:commandButton>
This button shall become available once a certain condition happens on the server (in my example it happens after a action has completed invoked by a outputResource in its Resource.open() method which is invoked separately from browser to server outside the session). Therefore I use the PortableRenderer.render("..") method as adviced for outside session threads here: http://wiki.icefaces.org/display/ICE/Ajax+Push+-+APIs
So far, so good, With Chrome and Firefox this works perfect and the button becomes disabled/enabled by the push as expected. Unfortunately, it doesn't with IE9.
I did a little bit playing and surprise, if I put the same commandButton there with the attribute rendered=.... instead of visible=... it works with IE.
As visible attribute seems to be implemented by css style switching, it looks as if IE has a problem with that ...
Seems like maybe IE9 doesn't process the dynamic CSS style change correctly? Or the JSf bridge doesn't handle it in a way that IE would like. Should test with icefaces-ee-ext.jar also.