[richfaces-issues] [JBoss JIRA] Commented: (RF-7013) orderingList: Dead list, items cannot be selected, column headers are correct width

Mike Hanafey (JIRA) jira-events at lists.jboss.org
Wed May 6 13:37:46 EDT 2009


    [ https://jira.jboss.org/jira/browse/RF-7013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12466105#action_12466105 ] 

Mike Hanafey commented on RF-7013:
----------------------------------

Adding:

	<context-param>
		<param-name>com.sun.faces.preferXHTML</param-name>
		<param-value>false</param-value>
	</context-param>

does fix the dead ordering list problem, but I need XHTML mode to prevent other problems.

Also, when in HTML mode the AJAX update is not smooth, and in fact does not behave like an ajax update at all because the screen clears and repaints.

I will attach a tiny maven project that generates a test case.

This test case also illustrates that the behaviour under the chrome browser is different. With this browser the a4j:commandLinks in the left menu do not even display the specified action. It hehaves as though the action is undefined. This does not change with HTML / XHTML mode.

> orderingList: Dead list, items cannot be selected, column headers are correct width
> -----------------------------------------------------------------------------------
>
>                 Key: RF-7013
>                 URL: https://jira.jboss.org/jira/browse/RF-7013
>             Project: RichFaces
>          Issue Type: Bug
>          Components: component
>    Affects Versions: 3.3.0
>            Reporter: Mike Hanafey
>            Assignee: Nick Belaevski
>             Fix For: Future
>
>
> An orderingList page invoked via an a4j:commandLink may be in a zombie state -- nothing is selectable, and the column headers are not formatted correctly. The behaviour is totally reproducible via the following fragment (this fragment is a left column menu similar to the demo app):
>         <rich:panel styleClass="C-panelMenu" headerClass="C-mainSideSection" bodyClass="C-mainSideBody">
>             <f:facet name="header">Vocabulary</f:facet>
>             <table class="C-stdTable" style="width:100%">
>                 <tbody>
>                     <tr>
>                         <td><h:graphicImage url="/images/bullet_menu-16x16.gif"/></td>
>                         <td class="#{MainToolBar.ipAdminMenu.countryCodeEditorStyle}">
>                             <a4j:commandLink id="cce" value="Country Codes" reRender="C-main,C-menu" styleClass="C-menuLink"
>                                     action="#{MainToolBar.ipAdminMenu.actionCountryCodeEditor}" />
>                         </td>
>                     </tr>
>                     <tr>
>                         <td><h:graphicImage url="/images/bullet_menu-16x16.gif"/></td>
>                         <td class="#{MainToolBar.ipAdminMenu.countryCodeEditorStyle}">
>                             <h:commandLink id="cce2" value="Country Codes 2" styleClass="C-menuLink"
>                                     action="#{MainToolBar.ipAdminMenu.actionCountryCodeEditor}" />
>                         </td>
>                     </tr>
>                 </tbody>
>             </table>
>         </rich:panel>
> The orderingList is just standard:
>     <h:form id="sectionForm">
>         <rich:orderingList id="listOrder" value="#{CountryCodeEditor.vocabulary}" listHeight="600" listWidth="500" var="x"
>                 converter="#{CountryCodeEditor.vocabWordConverter}" selection="#{CountryCodeEditor.selected}">
>             <rich:column width="64">
>                 <f:facet name="header">
>                     <h:outputText value="Code"/>
>                 </f:facet>
>                 <h:outputText value="#{x.word}"/>
>             </rich:column>
>             <rich:column>
>                 <f:facet name="header">
>                     <h:outputText value="Country Name"/>
>                 </f:facet>
>                 <h:outputText value="#{x.phrase}"/>
>             </rich:column>
>             <a4j:support event="onclick"/>
>         </rich:orderingList>
>     </h:form>
> The only difference is a4j:commandLink vs. h:commandLink, the latter works, the former does not.
> The a4j link produces a fully populated list but the column headers are not the same size as the columns, and no items can be selected. The h link works just as expected.
> The ajax log follows:
> debug[11:01:34,896]: Have Event [object Object] with properties: target: http://localhost:9090/lt/ip/admin/countryCodeEditor.jsf#, srcElement: undefined, type: click
> debug[11:01:34,897]: Query preparation for form 'ipAdmin' requested
> debug[11:01:34,898]: Append hidden control ipAdmin with value [ipAdmin] and value attribute [ipAdmin]
> debug[11:01:34,898]: Append hidden control javax.faces.ViewState with value [j_id7] and value attribute [j_id7]
> debug[11:01:34,898]: parameter ipAdmin:cce with value ipAdmin:cce
> debug[11:01:34,898]: Look up queue with default name
> debug[11:01:34,899]: NEW AJAX REQUEST !!! with form: ipAdmin
> debug[11:01:34,899]: Start XmlHttpRequest
> debug[11:01:34,899]: Reqest state : 1
> debug[11:01:34,900]: QueryString: AJAXREQUEST=_viewRoot&ipAdmin=ipAdmin&javax.faces.ViewState=j_id7&ipAdmin%3Acce=ipAdmin%3Acce&
> debug[11:01:34,902]: Reqest state : 1
> ...
> debug[11:01:35,135]: Reqest state : 4
> debug[11:01:35,135]: Reqest end with state 4
> debug[11:01:35,135]: Response with content-type: application/xhtml+xml;charset=UTF-8
> debug[11:01:35,136]: Full response content: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" > <html xmlns="http://www.w3.org/1999/xhtml" id="C-html"> <head> <title>IP:Country Code Editor </title> <script src="/lt/a4j/g/3_3_0.GA/org/ajax4jsf/framework.pack.js.jsf" 
> ...
> </script> </body> </html>
> debug[11:01:35,138]: Header Ajax-Response not found, search in <meta>
> debug[11:01:35,138]: search for elements by name 'meta' in element #document
> debug[11:01:35,139]: Header Ajax-Expired not found, search in <meta>
> debug[11:01:35,139]: search for elements by name 'meta' in element #document
> warn[11:01:35,140]: No ajax response header
> debug[11:01:35,140]: Header Location not found, search in <meta>
> debug[11:01:35,140]: search for elements by name 'meta' in element #document
> debug[11:01:35,144]: replace all page content with response
> debug[11:01:35,199]: exception during write page content undefined
> debug[11:01:35,233]: response has parsed as DOM documnet.
> debug[11:01:35,246]: append new node in document
> debug[11:01:35,247]: append new node in document
> debug[11:01:35,355]: page content has been replaced

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the richfaces-issues mailing list