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 2015/03/18 18:10:00 UTC

svn commit: r1667592 - /myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SheetRenderer.java

Author: lofwyr
Date: Wed Mar 18 17:09:59 2015
New Revision: 1667592

URL: http://svn.apache.org/r1667592
Log:
TOBAGO-1368: Create a new theme which uses Bootstrap
- simple header fix

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/SheetRenderer.java

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/SheetRenderer.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/SheetRenderer.java?rev=1667592&r1=1667591&r2=1667592&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/SheetRenderer.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/SheetRenderer.java Wed Mar 18 17:09:59 2015
@@ -237,7 +237,7 @@ public class SheetRenderer extends Layou
 // BEGIN RENDER BODY CONTENT
 
     if (showHeader) {
-      renderColumnHeaders(facesContext, sheet, writer, renderedColumnList);
+// XXX currently using renderHeaderWorkaround()      renderColumnHeaders(facesContext, sheet, writer, renderedColumnList);
     }
 
     writer.startElement(HtmlElements.DIV, null);
@@ -260,6 +260,10 @@ public class SheetRenderer extends Layou
       writer.endElement(HtmlElements.COLGROUP);
     }
 
+    if (showHeader) {
+      renderHeaderWorkaround(sheet, hasClickAction, writer, renderedColumnList);
+    }
+
     // Print the Content
 
     if (LOG.isDebugEnabled()) {
@@ -573,6 +577,58 @@ public class SheetRenderer extends Layou
     }
   }
 
+/** XXX Simple workaround for bootstrap -->
+  private void renderHeaderWorkaround(UISheet sheet, boolean hasClickAction, TobagoResponseWriter writer,
+                                      List<AbstractUIColumn> renderedColumnList) throws IOException {
+    writer.startElement(HtmlElements.TR, null);
+
+    int columnIndex = -1;
+    for (final UIColumn column : renderedColumnList) {
+      columnIndex++;
+
+      writer.startElement(HtmlElements.TH, column);
+
+      Markup markup = column instanceof SupportsMarkup ? ((SupportsMarkup) column).getMarkup() : Markup.NULL;
+      if (markup == null) {
+        markup = Markup.NULL;
+      }
+      if (columnIndex == 0) {
+        markup = markup.add(Markup.FIRST);
+      }
+      if (hasClickAction) {
+        markup = markup.add(Markup.CLICKABLE);
+      }
+      if (isPure(column)) {
+        markup = markup.add(Markup.PURE);
+      }
+      writer.writeClassAttribute(Classes.create(sheet, "cell", markup));
+      final TextAlign align = TextAlign.parse((String) column.getAttributes().get(Attributes.ALIGN));
+      if (align != null) {
+        final Style alignStyle = new Style();
+        alignStyle.setTextAlign(align);
+        writer.writeStyleAttribute(alignStyle);
+      }
+
+      if (column instanceof org.apache.myfaces.tobago.component.UIColumn) {
+        org.apache.myfaces.tobago.component.UIColumn c = (org.apache.myfaces.tobago.component.UIColumn) column;
+        writer.writeText(c.getLabel());
+      } else  {
+        // todo
+      }
+
+      writer.endElement(HtmlElements.TH);
+    }
+
+    writer.startElement(HtmlElements.TH, null);
+    writer.writeClassAttribute(Classes.create(sheet, "cell", Markup.FILLER));
+//      writer.write("&nbsp;");
+    writer.startElement(HtmlElements.DIV, null);
+    writer.endElement(HtmlElements.DIV);
+    writer.endElement(HtmlElements.TH);
+
+    writer.endElement(HtmlElements.TR);
+  }
+
   /**
    * Differ between simple content and complex content.
    * Decide if the content of a cell needs usually the whole possible space or