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/07/16 10:57:22 UTC

svn commit: r1610942 - in /myfaces/tobago/trunk: tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/ tobago-example/tobago-example-demo/src/main/webapp/content/02-sheet/03/ tobago-theme/tobago-theme-standard/src/mai...

Author: lofwyr
Date: Wed Jul 16 08:57:21 2014
New Revision: 1610942

URL: http://svn.apache.org/r1610942
Log:
TOBAGO-1203: Sheet-Header: Support for input components in header-cells

Modified:
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/SheetFilter.java
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/02-sheet/03/sheet-filter.xhtml
    myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SheetRenderer.java

Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/SheetFilter.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/SheetFilter.java?rev=1610942&r1=1610941&r2=1610942&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/SheetFilter.java (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/SheetFilter.java Wed Jul 16 08:57:21 2014
@@ -58,8 +58,8 @@ public class SheetFilter {
 
   public SheetFilter() {
     distanceRangeList = Arrays.asList(
-        new DistanceRange(0, Integer.MAX_VALUE),
-        new DistanceRange(0, 10),
+        new DistanceRange(-1, Integer.MAX_VALUE),
+        new DistanceRange(-1, 10),
         new DistanceRange(10, 100),
         new DistanceRange(100, 1000),
         new DistanceRange(1000, 10000),
@@ -83,12 +83,20 @@ public class SheetFilter {
 
   public String filter() {
     filtered.clear();
+    if (name == null) {
+        name = "";
+    }
+    if (orbit == null) {
+        orbit = "";
+    }
+    if (discoverer == null) {
+        discoverer = "";
+    }
     for (final SolarObject solarObject : demo.getSolarArray()) {
-      if (solarObject.getName().toLowerCase().contains(name.toLowerCase())
-          && solarObject.getOrbit().toLowerCase().contains(orbit.toLowerCase())
-          && distance.getMin() < solarObject.getDistance()
-          && solarObject.getDistance() <= distance.getMax()
-          && solarObject.getDiscoverer().toLowerCase().contains(discoverer.toLowerCase())) {
+      if (StringUtils.containsIgnoreCase(solarObject.getName(), name)
+          && StringUtils.containsIgnoreCase(solarObject.getOrbit(), orbit)
+          && distance.getMin() < solarObject.getDistance() && solarObject.getDistance() <= distance.getMax()
+          && StringUtils.containsIgnoreCase(solarObject.getDiscoverer(), discoverer)) {
         filtered.add(solarObject);
       }
     }

Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/02-sheet/03/sheet-filter.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/02-sheet/03/sheet-filter.xhtml?rev=1610942&r1=1610941&r2=1610942&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/02-sheet/03/sheet-filter.xhtml (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/02-sheet/03/sheet-filter.xhtml Wed Jul 16 08:57:21 2014
@@ -17,7 +17,7 @@
  * limitations under the License.
 -->
 
-<ui:composition template="/WEB-INF/tags/layout/overview.xhtml"
+<ui:composition template="/WEB-INF/tags/layout/plain.xhtml"
                 xmlns:tc="http://myfaces.apache.org/tobago/component"
                 xmlns:ui="http://java.sun.com/jsf/facelets"
                 xmlns:f="http://java.sun.com/jsf/core">
@@ -39,25 +39,30 @@
 
       <f:facet name="header">
         <tc:form>
+
           <tc:out value="Name"/>
-          <tc:out value="of"/>
+          <tc:out value="Orbit of"/>
           <tc:out value="#{overviewBundle.solarArrayDistance} [1000 km]"/>
           <tc:out value="Discoverer"/>
 
           <tc:in value="#{sheetFilter.name}">
-            <!-- a change facet works, but is not nice to use in most cases
+            <!-- a change facet works, but is not nice to use in most cases -->
+<!--
                         <f:facet name="change">
                           <tc:command action="#{sheetFilter.filter}" renderedPartially="sheet"/>
                         </f:facet>
-            -->
+-->
           </tc:in>
           <tc:in value="#{sheetFilter.orbit}"/>
           <tc:selectOneChoice value="#{sheetFilter.distance}" converter="#{sheetFilter.converter}">
             <tc:selectItems value="#{sheetFilter.distanceItems}"/>
           </tc:selectOneChoice>
-          <tc:in value="#{sheetFilter.discoverer}"/>
 
-          <tc:button action="#{sheetFilter.filter}" renderedPartially="sheet" defaultCommand="true"/>
+          <!-- XXX workaround -->
+          <tc:panel>
+            <tc:in value="#{sheetFilter.discoverer}"/>
+            <tc:button action="#{sheetFilter.filter}" label="Filter" renderedPartially="sheet" defaultCommand="true"/>
+          </tc:panel>
 
         </tc:form>
       </f:facet>

Modified: myfaces/tobago/trunk/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/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SheetRenderer.java?rev=1610942&r1=1610941&r2=1610942&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SheetRenderer.java (original)
+++ myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SheetRenderer.java Wed Jul 16 08:57:21 2014
@@ -103,7 +103,7 @@ public class SheetRenderer extends Layou
   private static final Integer HEIGHT_0 = 0;
   private static final String DOTS = "...";
 
-    @Override
+  @Override
   public void prepareRender(final FacesContext facesContext, final UIComponent component) throws IOException {
     super.prepareRender(facesContext, component);
     ensureHeader(facesContext, (UISheet) component);
@@ -820,7 +820,8 @@ public class SheetRenderer extends Layou
           String sorterImage = null;
           Markup markup = Markup.NULL;
           String tip = (String) column.getAttributes().get(Attributes.TIP);
-          if (cell.getColumnSpan() == 1) {
+          // sorter icons should only displayed when there is only 1 column and not input
+          if (cell.getColumnSpan() == 1 && cellComponent instanceof UIOut) {
             final boolean sortable = ComponentUtils.getBooleanAttribute(column, Attributes.SORTABLE);
             if (sortable) {
               UICommand sortCommand = (UICommand) column.getFacet(Facets.SORTER);