[richfaces-issues] [JBoss JIRA] (RF-12033) ExtendedDataTable doesn't show up in tabpanel with switchType="client"
Yuriy Pogorzhelskiy (JIRA)
jira-events at lists.jboss.org
Fri Aug 31 15:10:39 EDT 2012
[ https://issues.jboss.org/browse/RF-12033?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12715217#comment-12715217 ]
Yuriy Pogorzhelskiy commented on RF-12033:
------------------------------------------
Bug is in JavaScript part.
When EDT is placed on hidden page (tab) parent DIV has attribute display=none , and in this case invocation: this.element.clientWidth returns 0.
Source-code: RichFaces-4.2.2.Final
extendedDataTable.js#updateLayout
Line 283: var width = Math.max(0, this.element.clientWidth - offsetWidth);
width == 0 and we have this
Line 307: this.normalPartStyle.display = "none";
Hidden parent is a root cause.
As a workaround i can suggest the next changes
extendedDataTable.js#initialize:
Lines 396: this.updateLayout();
Lines 396: this.updateScrollPosition(); //TODO Restore horizontal scroll position
replace with:
if (this.element.parentNode.clientWidth > 0) {
this.updateLayout();
this.updateScrollPosition(); //TODO Restore horizontal scroll position
}
More elegant solution would be some hook - when parent div is become visible - updateLayout is invoked, but I don't see the way in which we can do it now.
> ExtendedDataTable doesn't show up in tabpanel with switchType="client"
> ----------------------------------------------------------------------
>
> Key: RF-12033
> URL: https://issues.jboss.org/browse/RF-12033
> Project: RichFaces
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: component-tables
> Affects Versions: 4.2.0.Final
> Environment: FireFox 10.0.2 (works in IE7)
> GlassFish 3.1
> Reporter: Josh Hill
> Labels: lazy-loaded
> Fix For: 4.3-Tracking
>
> Attachments: richfaces-test.zip
>
>
> ExtendedDataTable doesn't show up in tabpanel with switchType="client"
> Facelet file from the attached testcase:
> {code}
> <?xml version='1.0' encoding='UTF-8' ?>
> <!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"
> xmlns:h="http://java.sun.com/jsf/html"
> xmlns:rich="http://richfaces.org/rich"
> xmlns:f="http://java.sun.com/jsf/core">
> <h:head>
> <title>Test One</title>
> </h:head>
> <h:body>
> <p>Extended datatable inside tabpanel with switchType "client"</p>
> <h:form>
> <rich:tabPanel switchType="client">
> <rich:tab>
> <f:facet name="header">
> Tab One
> </f:facet>
> Tab One
> </rich:tab>
> <rich:tab>
> <f:facet name="header">
> Tab Two
> </f:facet>
> <rich:extendedDataTable value="#{colorsBean.colors}" var="color">
> <rich:column>
> <f:facet name="header">
> Column 1
> </f:facet>
> #{color}
> </rich:column>
> </rich:extendedDataTable>
> </rich:tab>
> </rich:tabPanel>
> </h:form>
> </h:body>
> </html>
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the richfaces-issues
mailing list