[ 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
