Details
Description
In the attached portlet, you'll notice that the provinceId dropdown is using h:selectOneMenu instead of ice:selectOneMenu
This is because the ice:selectOneMenu has a DOM-diff inefficiency with the f:selectItem value="" empty string in that it causes a DOM-diff all the time.
On the initial HTTP-GET (pre-ajax), this is what the dropdown markup looks like:
<option selected="selected" value="">-- Select --</option>
After causing an onblur, the XmlHttpRequest (post-ajax) causes a DOM-diff, and this is what the replaced dropdown markup looks like:
<option value="">-- Select --</option>
-
Hide
- icefaces-2.0-compat-portlet.zip
- 47 kB
- Neil Griffin
-
- icefaces-2.0-compat-portlet/.classpath 0.9 kB
- icefaces-2.0-compat-portlet/.project 1 kB
- icefaces-2.0-compat-portlet/.../org.eclipse.jdt.core.prefs 0.3 kB
- icefaces-2.0-compat-portlet/.../org.eclipse.wst.common.component 0.9 kB
- icefaces-2.0-compat-portlet/.../org.eclipse.wst.common.project.facet.core.xml 0.2 kB
- icefaces-2.0-compat-portlet/.../org.eclipse.wst.jsdt.ui.superType.container 0.0 kB
- icefaces-2.0-compat-portlet/.../org.eclipse.wst.jsdt.ui.superType.name 0.0 kB
- icefaces-2.0-compat-portlet/.../org.maven.ide.eclipse.prefs 0.2 kB
- icefaces-2.0-compat-portlet/build.xml 0.9 kB
- icefaces-2.0-compat-portlet/pom.xml 3 kB
- icefaces-2.0-compat-portlet/README.txt 0.2 kB
- icefaces-2.0-compat-portlet/.../ApplicantBackingBean.java 5 kB
- icefaces-2.0-compat-portlet/.../ApplicantModelBean.java 4 kB
- icefaces-2.0-compat-portlet/.../ListModelBean.java 5 kB
- icefaces-2.0-compat-portlet/.../City.java 2 kB
- icefaces-2.0-compat-portlet/.../Province.java 1 kB
- icefaces-2.0-compat-portlet/.../DebugPhaseListener.java 2 kB
- icefaces-2.0-compat-portlet/.../FacesMessageUtil.java 3 kB
- icefaces-2.0-compat-portlet/.../i18n.properties 0.8 kB
- icefaces-2.0-compat-portlet/.../i18nFaces.properties 0.1 kB
- icefaces-2.0-compat-portlet/.../log4j.dtd 5 kB
- icefaces-2.0-compat-portlet/.../log4j.xml 2 kB
- icefaces-2.0-compat-portlet/.../liferay-theme-override.css 0.2 kB
- icefaces-2.0-compat-portlet/.../icon-help.png 4 kB
- icefaces-2.0-compat-portlet/.../._icon-help.png 47 kB
- icefaces-2.0-compat-portlet/.../context.xml 0.1 kB
- icefaces-2.0-compat-portlet/.../LICENSE-2.0.txt 11 kB
- icefaces-2.0-compat-portlet/.../message.xhtml 1 kB
- icefaces-2.0-compat-portlet/.../messages.xhtml 1 kB
- icefaces-2.0-compat-portlet/.../faces-config.xml 1 kB
-
Hide
- icefaces-2.0-compat-portlet-1.0.0-SNAPSHOT.war
- 6.11 MB
- Neil Griffin
-
- META-INF/MANIFEST.MF 0.1 kB
- css/liferay-theme-override.css 0.2 kB
- images/icon-help.png 4 kB
- META-INF/context.xml 0.1 kB
- META-INF/LICENSE-2.0.txt 11 kB
- resources/pcc/message.xhtml 1 kB
- resources/pcc/messages.xhtml 1 kB
- WEB-INF/classes/i18n.properties 0.8 kB
- WEB-INF/classes/i18nFaces.properties 0.1 kB
- WEB-INF/classes/log4j.dtd 5 kB
- WEB-INF/classes/log4j.xml 2 kB
- WEB-INF/.../ApplicantBackingBean.class 6 kB
- WEB-INF/classes/.../ApplicantModelBean.class 4 kB
- WEB-INF/classes/.../bean/ListModelBean.class 4 kB
- WEB-INF/classes/org/.../dto/City.class 1 kB
- WEB-INF/classes/org/.../dto/Province.class 0.9 kB
- WEB-INF/classes/.../DebugPhaseListener.class 1 kB
- WEB-INF/classes/.../FacesMessageUtil.class 3 kB
- WEB-INF/faces-config.xml 1 kB
- WEB-INF/lib/commons-beanutils-1.8.0.jar 226 kB
- WEB-INF/lib/commons-collections-3.2.jar 558 kB
- WEB-INF/lib/commons-digester-1.8.jar 140 kB
- WEB-INF/lib/commons-fileupload-1.2.1.jar 56 kB
- WEB-INF/lib/commons-logging-1.1.jar 52 kB
- WEB-INF/lib/icefaces-2.0-A3.jar 165 kB
- WEB-INF/lib/icefaces-compat-2.0-A3.jar 559 kB
- WEB-INF/.../icefaces-comps-compat-2.0-A3.jar 1.92 MB
- WEB-INF/lib/jboss-el-2.0.0.GA.jar 131 kB
- WEB-INF/lib/jsf-api-2.0.jar 575 kB
- WEB-INF/lib/jsf-impl-2.0.3-SNAPSHOT.jar 1.77 MB
Activity
- All
- Comments
- History
- Activity
- Remote Attachments
- Subversion
This seems like a component bug; would it be fixed if ice:selectOneMenu reliably rendered an empty attribute or not?
It's possible that after some of the current work Ted has done with ICEfaces 2 and the new Portlet Bridge that some or all of the older portlet related issues are no longer relevant. Assigning to Ted to verify which can be closed and which may still need more work.
Moving to 2.0.1 release. This is not currently breaking functionality but is an inefficient update.
I took a minute to test this just now, and it's still broken. There is a full DOM replacement of the portlet simply by selecting an item from the list.
Does " " work for value rather than ""?
I've taken the original test case and updated to the latest libs we're using for the upcoming release but haven't been able to successfully recreate the issue. I've also tried doing something similar using the selectOneMenu example in component-showcase-portlets.war but the update that is coming back is only for the component, not the entire portlet.
I just tried to reproduce this with trunk revision 24223 and was not able to do it. I think it's fixed! Recommend resolving the issue at this time. Thanks.
Resolving as fixed but unsure of how. Could be related to recent component work on the menus, upgraded JSF libs, etc.
Forgot to mention that you can reproduce this by switching the h:selectOneMenu to ice:selectOneMenu after the portlet has been deployed in Liferay.