[ 
http://issues.apache.org/jira/browse/TOMAHAWK-592?page=comments#action_12428447 
] 
            
Mike Kienenberger commented on TOMAHAWK-592:
--------------------------------------------

John,

Wouldn't you need to unset the styleClass afterward?

-        writer.writeAttribute(HTML.CLASS_ATTR, "myFaces_panelTabbedPane", 
null);
+               String tabbedStyleClass = tabbedPane.getStyleClass();
+               tabbedPane.setStyleClass ((tabbedStyleClass == null) ? 
"myFaces_panelTabbedPane" : "myFaces_panelTabbedPane " + tabbedStyleClass);


Otherwise, the first time the page is displayed, you'd have 
"myFaces_panelTabbedPane " + tabbedStyleClass.
The next request it'd be "myFaces_panelTabbedPane " + "myFaces_panelTabbedPane 
" + tabbedStyleClass, the next time "myFaces_panelTabbedPane " + 
"myFaces_panelTabbedPane " + "myFaces_panelTabbedPane " + tabbedStyleClass and 
so on?

Also, this is changing the style the end-user will see if they programmically 
examine the pane.

I think it'd be better to somehow pass in the value rather than try to override 
the user-settable fields.


> panelTabbedPane: Duplicate class attributes
> -------------------------------------------
>
>                 Key: TOMAHAWK-592
>                 URL: http://issues.apache.org/jira/browse/TOMAHAWK-592
>             Project: MyFaces Tomahawk
>          Issue Type: Bug
>    Affects Versions: 1.1.3
>         Environment: Tomcat 5.5, Java 5, Firefox
>            Reporter: John Singleton
>         Attachments: HtmlTabbedPaneRenderer.java.patch
>
>
> The panelTabbedPane here:
> <t:panelTabbedPane 
>                       styleClass="subtab"
>                       rendered="#{configuration.configNetworkEntity.id != 0}"
>                       serverSideTabSwitch="true"
>               activeTabStyleClass="activeTab"
>               inactiveTabStyleClass="inactiveTab"
>               disabledTabStyleClass="disabledTab"
>               activeSubStyleClass="activeSub"
>               inactiveSubStyleClass="inactiveSub"
>               tabContentStyleClass="tabContent">
> ....
> is being rendered as 
> <table id="main__id18" class="myFaces_panelTabbedPane" cellspacing="0" 
> class="subtab">
> The problem seems to be in HtmlTabbedPaneRenderer :
>     protected void writeTableStart(ResponseWriter writer,
>                                    FacesContext facesContext,
>                                    HtmlPanelTabbedPane tabbedPane)
>         throws IOException
>     {
>         String oldBgColor = tabbedPane.getBgcolor();
>         tabbedPane.setBgcolor(null);
>         writer.startElement(HTML.TABLE_ELEM, tabbedPane);
>         writer.writeAttribute(HTML.ID_ATTR, 
> getTableStylableId(tabbedPane,facesContext), null);
>         writer.writeAttribute(HTML.CLASS_ATTR, "myFaces_panelTabbedPane", 
> null);
>         writer.writeAttribute(HTML.CELLSPACING_ATTR, "0", null);
>         HtmlRendererUtils.renderHTMLAttributes(writer, tabbedPane, 
> HTML.TABLE_PASSTHROUGH_ATTRIBUTES);
>         writer.flush();
>         tabbedPane.setBgcolor(oldBgColor);
>     }
> this method is writing the class attribute, and then the 
> HtmlRendererUtils.renderHTMLAttributes method writes the class attribute 
> based on the 'styleClass' attribute from the panelTabbedPane tag.

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

        

Reply via email to