1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.myfaces.tobago.internal.renderkit.renderer;
21
22 import org.apache.myfaces.tobago.internal.component.AbstractUIHeader;
23 import org.apache.myfaces.tobago.internal.util.HtmlRendererUtils;
24 import org.apache.myfaces.tobago.renderkit.RendererBase;
25 import org.apache.myfaces.tobago.renderkit.css.BootstrapClass;
26 import org.apache.myfaces.tobago.renderkit.html.HtmlAttributes;
27 import org.apache.myfaces.tobago.renderkit.html.HtmlElements;
28 import org.apache.myfaces.tobago.renderkit.html.HtmlRoleValues;
29 import org.apache.myfaces.tobago.webapp.TobagoResponseWriter;
30
31 import javax.faces.context.FacesContext;
32 import java.io.IOException;
33
34 public class HeaderRenderer<T extends AbstractUIHeader> extends RendererBase<T> {
35
36 @Override
37 public void encodeBeginInternal(final FacesContext facesContext, final T component) throws IOException {
38 final TobagoResponseWriter writer = getResponseWriter(facesContext);
39 writer.startElement(HtmlElements.TOBAGO_HEADER);
40 writer.writeIdAttribute(component.getClientId(facesContext));
41
42
43
44 writer.writeClassAttribute(
45 component.isFixed() ? BootstrapClass.STICKY_TOP : null,
46 component.getCustomClass());
47
48 writer.writeAttribute(HtmlAttributes.ROLE, HtmlRoleValues.BANNER.toString(), false);
49 writer.writeAttribute(HtmlAttributes.TITLE, component.getTip(), true);
50 HtmlRendererUtils.writeDataAttributes(facesContext, writer, component);
51 }
52
53 @Override
54 public void encodeEndInternal(final FacesContext facesContext, final T component) throws IOException {
55 final TobagoResponseWriter writer = getResponseWriter(facesContext);
56 writer.endElement(HtmlElements.TOBAGO_HEADER);
57 }
58 }