You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lo...@apache.org on 2014/12/18 14:05:28 UTC
svn commit: r1646450 - in /myfaces/tobago/branches/tobago-3.0.x:
tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/
tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/
tobago-core/src/main/java/org/apache...
Author: lofwyr
Date: Thu Dec 18 13:05:27 2014
New Revision: 1646450
URL: http://svn.apache.org/r1646450
Log:
TOBAGO-1368: Create a new theme which uses Bootstrap
- implementing the menuBar of the page
Added:
myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/java/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/tag/MenuBarRenderer.java
myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/java/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/tag/MenuRenderer.java
Modified:
myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIMenu.java
myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIMenuBar.java
myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/MenuBarTagDeclaration.java
myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/MenuTagDeclaration.java
myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/css/Css.java
myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/java/org/apache/myfaces/tobago/renderkit/html/bootstrap/BootstrapClass.java
myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/java/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/tag/PageRenderer.java
myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/MenuRenderer.java
myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/PageRenderer.java
Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIMenu.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIMenu.java?rev=1646450&r1=1646449&r2=1646450&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIMenu.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIMenu.java Thu Dec 18 13:05:27 2014
@@ -19,9 +19,10 @@
package org.apache.myfaces.tobago.internal.component;
+import org.apache.myfaces.tobago.component.SupportsCss;
import org.apache.myfaces.tobago.layout.LayoutComponent;
-public abstract class AbstractUIMenu extends javax.faces.component.UIPanel implements LayoutComponent {
+public abstract class AbstractUIMenu extends javax.faces.component.UIPanel implements LayoutComponent, SupportsCss {
public abstract String getLabel();
}
Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIMenuBar.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIMenuBar.java?rev=1646450&r1=1646449&r2=1646450&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIMenuBar.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIMenuBar.java Thu Dec 18 13:05:27 2014
@@ -20,6 +20,7 @@
package org.apache.myfaces.tobago.internal.component;
import org.apache.myfaces.tobago.component.OnComponentCreated;
+import org.apache.myfaces.tobago.component.SupportsCss;
import org.apache.myfaces.tobago.layout.LayoutComponent;
import org.apache.myfaces.tobago.renderkit.RendererBase;
@@ -28,7 +29,7 @@ import javax.faces.component.UIPanel;
import javax.faces.context.FacesContext;
import javax.faces.render.Renderer;
-public abstract class AbstractUIMenuBar extends UIPanel implements LayoutComponent, OnComponentCreated {
+public abstract class AbstractUIMenuBar extends UIPanel implements LayoutComponent, OnComponentCreated, SupportsCss {
public void onComponentCreated(final FacesContext context, final UIComponent parent) {
final Renderer renderer = getRenderer(getFacesContext());
Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/MenuBarTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/MenuBarTagDeclaration.java?rev=1646450&r1=1646449&r2=1646450&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/MenuBarTagDeclaration.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/MenuBarTagDeclaration.java Thu Dec 18 13:05:27 2014
@@ -23,6 +23,8 @@ import org.apache.myfaces.tobago.apt.ann
import org.apache.myfaces.tobago.apt.annotation.Tag;
import org.apache.myfaces.tobago.apt.annotation.UIComponentTag;
import org.apache.myfaces.tobago.component.RendererTypes;
+import org.apache.myfaces.tobago.internal.taglib.declaration.HasCss;
+import org.apache.myfaces.tobago.internal.taglib.declaration.HasCurrentCss;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasCurrentMarkup;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasIdBindingAndRendered;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasMarkup;
@@ -57,5 +59,5 @@ import javax.faces.component.UIPanel;
"org.apache.myfaces.tobago.MenuSeparator"
})
public interface MenuBarTagDeclaration
- extends HasIdBindingAndRendered, IsGridLayoutComponent, HasMarkup, HasCurrentMarkup {
+ extends HasIdBindingAndRendered, IsGridLayoutComponent, HasMarkup, HasCurrentMarkup, HasCss, HasCurrentCss {
}
Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/MenuTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/MenuTagDeclaration.java?rev=1646450&r1=1646449&r2=1646450&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/MenuTagDeclaration.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/MenuTagDeclaration.java Thu Dec 18 13:05:27 2014
@@ -23,6 +23,8 @@ import org.apache.myfaces.tobago.apt.ann
import org.apache.myfaces.tobago.apt.annotation.Tag;
import org.apache.myfaces.tobago.apt.annotation.UIComponentTag;
import org.apache.myfaces.tobago.component.RendererTypes;
+import org.apache.myfaces.tobago.internal.taglib.declaration.HasCss;
+import org.apache.myfaces.tobago.internal.taglib.declaration.HasCurrentCss;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasCurrentMarkup;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasIdBindingAndRendered;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasImage;
@@ -57,5 +59,5 @@ import javax.faces.component.UIPanel;
"org.apache.myfaces.tobago.MenuSelectOne",
"org.apache.myfaces.tobago.MenuSeparator"})
public interface MenuTagDeclaration extends HasIdBindingAndRendered, HasLabelAndAccessKey,
- IsDisabled, HasImage, IsGridLayoutComponent, HasMarkup, HasCurrentMarkup {
+ IsDisabled, HasImage, IsGridLayoutComponent, HasMarkup, HasCurrentMarkup, HasCss, HasCurrentCss {
}
Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/css/Css.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/css/Css.java?rev=1646450&r1=1646449&r2=1646450&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/css/Css.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/css/Css.java Thu Dec 18 13:05:27 2014
@@ -28,6 +28,9 @@ import java.util.HashSet;
import java.util.Set;
import java.util.StringTokenizer;
+/**
+ * @since 3.0.0
+ */
public class Css {
private static final Logger LOG = LoggerFactory.getLogger(Css.class);
@@ -37,14 +40,28 @@ public class Css {
public Css() {
}
- public void add(String css) {
- // todo: check for forbidden letters: regexp
- if (css.contains(" ")) {
- LOG.warn("Not a valid css class name: " + css);
+ public void add(String... cssList) {
+ for (String css : cssList) {
+ // todo: check for forbidden letters: regexp
+ if (css.contains(" ")) {
+ LOG.warn("Not a valid css class name: " + css);
+ }
+ list.add(css);
}
- list.add(css);
}
+/* todo
+ public void add(BootstrapClass... cssList) {
+ for (String css : cssList) {
+ // todo: check for forbidden letters: regexp
+ if (css.contains(" ")) {
+ LOG.warn("Not a valid css class name: " + css);
+ }
+ list.add(css);
+ }
+ }
+*/
+
public static Css valueOf(final String string) {
final StringTokenizer tokenizer = new StringTokenizer(string, " ");
Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/java/org/apache/myfaces/tobago/renderkit/html/bootstrap/BootstrapClass.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/java/org/apache/myfaces/tobago/renderkit/html/bootstrap/BootstrapClass.java?rev=1646450&r1=1646449&r2=1646450&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/java/org/apache/myfaces/tobago/renderkit/html/bootstrap/BootstrapClass.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/java/org/apache/myfaces/tobago/renderkit/html/bootstrap/BootstrapClass.java Thu Dec 18 13:05:27 2014
@@ -24,17 +24,21 @@ package org.apache.myfaces.tobago.render
*/
public enum BootstrapClass {
- CONTAINER("container"),
- CONTAINER_FLUID("container-fluid");
+ CONTAINER("container"),
+ CONTAINER_FLUID("container-fluid"),
+ DROPDOWN("dropdown"),
+ DROPDOWN_MENU("dropdown-menu"),
+ NAV("nav"),
+ NAVBAR_NAV("navbar-nav");
- private final String name;
+ private final String name;
- private BootstrapClass(final String name) {
- this.name = name;
- }
+ private BootstrapClass(final String name) {
+ this.name = name;
+ }
- public String getName() {
- return name;
- }
+ public String getName() {
+ return name;
+ }
}
Added: myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/java/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/tag/MenuBarRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/java/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/tag/MenuBarRenderer.java?rev=1646450&view=auto
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/java/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/tag/MenuBarRenderer.java (added)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/java/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/tag/MenuBarRenderer.java Thu Dec 18 13:05:27 2014
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.myfaces.tobago.renderkit.html.bootstrap.standard.tag;
+
+import org.apache.myfaces.tobago.component.SupportsCss;
+import org.apache.myfaces.tobago.renderkit.html.bootstrap.BootstrapClass;
+
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import java.io.IOException;
+
+/**
+ * @since 3.0.0
+ */
+public class MenuBarRenderer extends org.apache.myfaces.tobago.renderkit.html.standard.standard.tag.MenuBarRenderer {
+
+ @Override
+ public void prepareRender(
+ final FacesContext facesContext, final UIComponent component) throws IOException {
+ super.prepareRender(facesContext, component);
+
+ SupportsCss css = (SupportsCss) component;
+ css.getCurrentCss().add(BootstrapClass.NAV.getName(), BootstrapClass.NAVBAR_NAV.getName());
+ }
+
+}
Added: myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/java/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/tag/MenuRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/java/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/tag/MenuRenderer.java?rev=1646450&view=auto
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/java/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/tag/MenuRenderer.java (added)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/java/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/tag/MenuRenderer.java Thu Dec 18 13:05:27 2014
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.myfaces.tobago.renderkit.html.bootstrap.standard.tag;
+
+import org.apache.myfaces.tobago.component.SupportsCss;
+import org.apache.myfaces.tobago.renderkit.html.bootstrap.BootstrapClass;
+
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import java.io.IOException;
+
+/**
+ * @since 3.0.0
+ */
+public class MenuRenderer extends org.apache.myfaces.tobago.renderkit.html.standard.standard.tag.MenuRenderer {
+
+ @Override
+ public void prepareRender(
+ final FacesContext facesContext, final UIComponent component) throws IOException {
+ super.prepareRender(facesContext, component);
+
+ SupportsCss css = (SupportsCss) component;
+ css.getCurrentCss().add(BootstrapClass.DROPDOWN.getName());
+ }
+
+}
Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/java/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/tag/PageRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/java/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/tag/PageRenderer.java?rev=1646450&r1=1646449&r2=1646450&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/java/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/tag/PageRenderer.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-bootstrap/src/main/java/org/apache/myfaces/tobago/renderkit/html/bootstrap/standard/tag/PageRenderer.java Thu Dec 18 13:05:27 2014
@@ -19,12 +19,21 @@
package org.apache.myfaces.tobago.renderkit.html.bootstrap.standard.tag;
import org.apache.myfaces.tobago.component.SupportsCss;
+import org.apache.myfaces.tobago.component.UIPage;
+import org.apache.myfaces.tobago.renderkit.html.HtmlAttributes;
+import org.apache.myfaces.tobago.renderkit.html.HtmlElements;
+import org.apache.myfaces.tobago.renderkit.html.HtmlRoleValues;
import org.apache.myfaces.tobago.renderkit.html.bootstrap.BootstrapClass;
+import org.apache.myfaces.tobago.renderkit.html.util.HtmlRendererUtils;
+import org.apache.myfaces.tobago.webapp.TobagoResponseWriter;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import java.io.IOException;
+/**
+ * @since 3.0.0
+ */
public class PageRenderer extends org.apache.myfaces.tobago.renderkit.html.standard.standard.tag.PageRenderer {
@Override
@@ -35,4 +44,28 @@ public class PageRenderer extends org.ap
SupportsCss css = (SupportsCss) component;
css.getCurrentCss().add(BootstrapClass.CONTAINER_FLUID.getName());
}
+
+ @Override
+ protected void encodePageMenu(FacesContext facesContext, UIPage page) throws IOException {
+
+ final TobagoResponseWriter writer = HtmlRendererUtils.getTobagoResponseWriter(facesContext);
+
+ writer.startElement(HtmlElements.NAV);
+ writer.writeClassAttribute("navbar navbar-inverse navbar-fixed-top");
+ writer.writeAttribute(HtmlAttributes.ROLE, HtmlRoleValues.NAVIGATION.toString(), false);
+
+ writer.startElement(HtmlElements.DIV);
+ writer.writeClassAttribute("container-fluid");
+
+ writer.startElement(HtmlElements.DIV);
+ writer.writeClassAttribute("collapse navbar-collapse");
+
+ super.encodePageMenu(facesContext, page);
+
+ writer.endElement(HtmlElements.DIV);
+
+ writer.endElement(HtmlElements.DIV);
+
+ writer.endElement(HtmlElements.NAV);
+ }
}
Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/MenuRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/MenuRenderer.java?rev=1646450&r1=1646449&r2=1646450&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/MenuRenderer.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/MenuRenderer.java Thu Dec 18 13:05:27 2014
@@ -118,6 +118,8 @@ public class MenuRenderer extends Layout
writer.endElement(HtmlElements.A);
if (isParentMenu) {
writer.startElement(HtmlElements.OL, menu);
+
+ writer.writeClassAttribute("dropdown-menu");// fixme: this comes from BootstrapClass, but isn't accessible
}
}
Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/PageRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/PageRenderer.java?rev=1646450&r1=1646449&r2=1646450&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/PageRenderer.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/PageRenderer.java Thu Dec 18 13:05:27 2014
@@ -337,11 +337,7 @@ public class PageRenderer extends PageRe
}
*/
- final UIMenuBar menuBar = ComponentUtils.findFacetDescendant(page, Facets.MENUBAR, UIMenuBar.class);
- if (menuBar != null) {
- menuBar.getAttributes().put(Attributes.PAGE_MENU, Boolean.TRUE);
- RenderUtils.encode(facesContext, menuBar);
- }
+ encodePageMenu(facesContext, page);
// write the previously rendered page content
// AbstractUILayoutBase.getLayout(component).encodeChildrenOfComponent(facesContext, component);
@@ -364,6 +360,13 @@ public class PageRenderer extends PageRe
writer.writeStyleAttribute(style);
}
+ protected void encodePageMenu(FacesContext facesContext, UIPage page) throws IOException {
+ final UIMenuBar menuBar = ComponentUtils.findFacetDescendant(page, Facets.MENUBAR, UIMenuBar.class);
+ if (menuBar != null) {
+ RenderUtils.encode(facesContext, menuBar);
+ }
+ }
+
private void checkDuplicates(final String[] resources, final Collection<String> files) {
for (final String resource : resources) {
if (files.contains(resource)) {