diff --git a/src/main/java/org/primefaces/component/tabmenu/TabMenuRenderer.java b/src/main/java/org/primefaces/component/tabmenu/TabMenuRenderer.java index 052c7a9e4f..e814f1b243 100644 --- a/src/main/java/org/primefaces/component/tabmenu/TabMenuRenderer.java +++ b/src/main/java/org/primefaces/component/tabmenu/TabMenuRenderer.java @@ -17,9 +17,11 @@ import java.io.IOException; import java.util.List; + import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; import javax.faces.context.ResponseWriter; + import org.primefaces.component.menu.AbstractMenu; import org.primefaces.component.menu.BaseMenuRenderer; import org.primefaces.model.menu.MenuElement; @@ -41,9 +43,9 @@ protected void encodeScript(FacesContext context, AbstractMenu abstractMenu) thr protected void encodeMarkup(FacesContext context, AbstractMenu component) throws IOException { ResponseWriter writer = context.getResponseWriter(); TabMenu menu = (TabMenu) component; - String clientId = menu.getClientId(context); - String styleClass = menu.getStyleClass(); - styleClass = styleClass == null ? TabMenu.CONTAINER_CLASS : TabMenu.CONTAINER_CLASS + " " + styleClass; + String clientId = menu.getClientId(context); + String styleClass = menu.getStyleClass(); + styleClass = styleClass == null ? TabMenu.CONTAINER_CLASS : TabMenu.CONTAINER_CLASS + " " + styleClass; int activeIndex = menu.getActiveIndex(); List elements = menu.getElements(); @@ -75,11 +77,17 @@ protected void encodeMarkup(FacesContext context, AbstractMenu component) throws protected void encodeItem(FacesContext context, TabMenu menu, MenuItem item, boolean active) throws IOException { ResponseWriter writer = context.getResponseWriter(); + String containerStyle = item.getContainerStyle(); + String containerStyleClass = item.getContainerStyleClass(); String containerClass = active ? TabMenu.ACTIVE_TAB_HEADER_CLASS : TabMenu.INACTIVE_TAB_HEADER_CLASS; if(item.getIcon() != null) { containerClass += " ui-tabmenuitem-hasicon"; } + if(containerStyleClass != null) { + containerClass = containerClass + " " + containerStyleClass; + } + //header container writer.startElement("li", null); writer.writeAttribute("class", containerClass, null); @@ -87,6 +95,10 @@ protected void encodeItem(FacesContext context, TabMenu menu, MenuItem item, boo writer.writeAttribute("aria-expanded", String.valueOf(active), null); writer.writeAttribute("aria-selected", String.valueOf(active), null); + if(containerStyle != null) { + writer.writeAttribute("style", containerStyle, null); + } + encodeMenuItem(context, menu, item); writer.endElement("li");