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.context.Markup;
23 import org.apache.myfaces.tobago.internal.component.AbstractUIFlexLayout;
24 import org.apache.myfaces.tobago.renderkit.RendererBase;
25 import org.apache.myfaces.tobago.renderkit.css.BootstrapClass;
26 import org.apache.myfaces.tobago.renderkit.css.TobagoClass;
27 import org.apache.myfaces.tobago.renderkit.html.HtmlElements;
28 import org.apache.myfaces.tobago.webapp.TobagoResponseWriter;
29
30 import javax.faces.context.FacesContext;
31 import java.io.IOException;
32
33 public class FlexLayoutRenderer<T extends AbstractUIFlexLayout> extends RendererBase<T> {
34
35 @Override
36 public void encodeBeginInternal(final FacesContext facesContext, final T component) throws IOException {
37 final TobagoResponseWriter writer = getResponseWriter(facesContext);
38 final Markup markup = component.getMarkup();
39
40 writer.startElement(HtmlElements.DIV);
41 writer.writeIdAttribute(component.getClientId());
42 writer.writeClassAttribute(
43 TobagoClass.FLEX_LAYOUT,
44 TobagoClass.FLEX_LAYOUT.createMarkup(markup),
45 component.isHorizontal() ? BootstrapClass.FLEX_ROW : BootstrapClass.FLEX_COLUMN,
46 BootstrapClass.valueOf(component.getAlignItems()),
47 markup != null && markup.contains(Markup.SPREAD) ? TobagoClass.SPREAD : null);
48 }
49
50 @Override
51 public void encodeEndInternal(final FacesContext facesContext, final T component) throws IOException {
52 final TobagoResponseWriter writer = getResponseWriter(facesContext);
53 writer.endElement(HtmlElements.DIV);
54 }
55
56 }