Author: ekoneil
Date: Mon Feb 21 16:48:26 2005
New Revision: 154752

URL: http://svn.apache.org/viewcvs?view=rev&rev=154752
Log:
Add support for setting styles on a filtered column.

BEEHIVE-341      data grid should support styles for filtered columns

BB: self
DRT: NetUI / datagrid pass


Added:
    
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/misc/styleFilteredColumn.jsp
   (with props)
    
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridStylesFiltered.xml
Modified:
    
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/filter/FilterModel.java
    
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/rendering/StyleModel.java
    
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/sort/SortModel.java
    
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/model/style/DefaultStyleModel.java
    
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/AbstractHtmlTableCell.java
    
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/HeaderCell.java
    
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/site/css/default.css
    
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml

Modified: 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/filter/FilterModel.java
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/filter/FilterModel.java?view=diff&r1=154751&r2=154752
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/filter/FilterModel.java
 (original)
+++ 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/filter/FilterModel.java
 Mon Feb 21 16:48:26 2005
@@ -39,13 +39,13 @@
     }
 
     public List<Filter> getFilters(String filterExpression) {
-        if(_filters == null)
+        if(_filters == null || filterExpression == null)
             return null;
         else return 
Collections.unmodifiableList(lookupFilters(filterExpression));
     }
 
     public boolean isFiltered(String filterExpression) {
-        if(_filters == null)
+        if(_filters == null || filterExpression == null)
             return false;
 
         if(lookupFilters(filterExpression).size() > 0)

Modified: 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/rendering/StyleModel.java
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/rendering/StyleModel.java?view=diff&r1=154751&r2=154752
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/rendering/StyleModel.java
 (original)
+++ 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/rendering/StyleModel.java
 Mon Feb 21 16:48:26 2005
@@ -67,7 +67,11 @@
 
     public abstract String getHeaderCellSortableClass();
 
+    public abstract String getHeaderCellFilteredClass();
+
     public abstract String getDataCellSortedClass();
+
+    public abstract String getDataCellFilteredClass();
 
     public String buildStyleClassValue(List<String> styleClasses) {
         if(styleClasses == null)

Modified: 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/sort/SortModel.java
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/sort/SortModel.java?view=diff&r1=154751&r2=154752
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/sort/SortModel.java
 (original)
+++ 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/api/sort/SortModel.java
 Mon Feb 21 16:48:26 2005
@@ -32,12 +32,15 @@
     }
 
     public List<Sort> getSorts() {
-        if(_sorts != null)
-            return Collections.unmodifiableList(_sorts);
-        else return null;
+        if(_sorts == null)
+            return null;
+        else return Collections.unmodifiableList(_sorts);
     }
 
     public boolean isPrimarySort(String sortExpression) {
+        if(sortExpression == null)
+            return false;
+
         /* optimize for the case where the sortExpression *is* the primary 
sort */
         if(_sorts != null &&
             _sorts.size() > 0 &&
@@ -48,6 +51,9 @@
     }
 
     public boolean isSorted(String sortExpression) {
+        if(sortExpression == null)
+            return false;
+
         Sort term = findSort(sortExpression);
         if(term == null || term.getDirection() == SortDirection.NONE)
             return false;
@@ -58,17 +64,6 @@
     public SortDirection getSortDirection(String sortExpression) {
         Sort term = findSort(sortExpression);
         return term == null ? SortDirection.NONE : term.getDirection();
-    }
-
-    public String toString() {
-        StringBuilder sb = new StringBuilder();
-        sb.append("SortModel:\n");
-        for(Sort sort : _sorts) {
-            sb.append("\t");
-            sb.append(sort.toString());
-            sb.append("\n");
-        }
-        return sb.toString();
     }
 
     private Sort findSort(String sortExpression) {

Modified: 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/model/style/DefaultStyleModel.java
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/model/style/DefaultStyleModel.java?view=diff&r1=154751&r2=154752
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/model/style/DefaultStyleModel.java
 (original)
+++ 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/model/style/DefaultStyleModel.java
 Mon Feb 21 16:48:26 2005
@@ -81,7 +81,15 @@
         return buildStyleClass("sorted");
     }
 
+    public String getHeaderCellFilteredClass() {
+        return buildStyleClass("filtered");
+    }
+
     public String getDataCellSortedClass() {
         return buildStyleClass("sorted");
+    }
+
+    public String getDataCellFilteredClass() {
+        return buildStyleClass("filtered");
     }
 }

Modified: 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/AbstractHtmlTableCell.java
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/AbstractHtmlTableCell.java?view=diff&r1=154751&r2=154752
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/AbstractHtmlTableCell.java
 (original)
+++ 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/AbstractHtmlTableCell.java
 Mon Feb 21 16:48:26 2005
@@ -26,6 +26,7 @@
 import 
org.apache.beehive.netui.databinding.datagrid.api.rendering.DataGridTagModel;
 import 
org.apache.beehive.netui.databinding.datagrid.runtime.rendering.table.TableRenderer;
 import org.apache.beehive.netui.databinding.datagrid.api.sort.SortModel;
+import org.apache.beehive.netui.databinding.datagrid.api.filter.FilterModel;
 import org.apache.beehive.netui.tags.IAttributeConsumer;
 import org.apache.beehive.netui.tags.IBehaviorConsumer;
 import org.apache.beehive.netui.tags.html.HtmlConstants;
@@ -459,8 +460,12 @@
 
         /* todo: refactor. extensibility in supporting style decorators */
         ArrayList<String> styleClasses = new ArrayList<String>();
+        FilterModel filterModel = 
dataGridModel.getDataGridState().getFilterModel();
+        if(_filterExpression != null && 
filterModel.isFiltered(_filterExpression))
+            
styleClasses.add(dataGridModel.getStyleModel().getDataCellFilteredClass());
+
         SortModel sortModel = dataGridModel.getDataGridState().getSortModel();
-        if(sortModel.isSorted(_sortExpression))
+        if(_sortExpression != null && sortModel.isSorted(_sortExpression))
             
styleClasses.add(dataGridModel.getStyleModel().getDataCellSortedClass());
 
         if(_cellState.styleClass == null)
@@ -469,7 +474,10 @@
 
         _cellState.styleClass = 
dataGridModel.getStyleModel().buildStyleClassValue(styleClasses);
 
-        /* todo: this needs to run in order to cause the nested parameter / 
attribute / etc tags to do their work */
+        /*
+           note, this runs in order to allow any nested tags to do their work. 
 
+           this provides support for formatters, parameters, etc
+         */
         JspFragment fragment = getJspBody();
         StringWriter sw = new StringWriter();
         if(fragment != null)

Modified: 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/HeaderCell.java
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/HeaderCell.java?view=diff&r1=154751&r2=154752
==============================================================================
--- 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/HeaderCell.java
 (original)
+++ 
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/HeaderCell.java
 Mon Feb 21 16:48:26 2005
@@ -38,6 +38,7 @@
 import 
org.apache.beehive.netui.databinding.datagrid.runtime.rendering.table.TableRenderer;
 import org.apache.beehive.netui.databinding.datagrid.runtime.util.JspUtil;
 import org.apache.beehive.netui.databinding.datagrid.api.sort.SortModel;
+import org.apache.beehive.netui.databinding.datagrid.api.filter.FilterModel;
 
 /**
  * @netui:tag name="headerCell" description="Render an HTML table head cell 
tag" body-content="scriptless"
@@ -550,6 +551,12 @@
         assert tableRenderer != null;
 
         ArrayList<String> styleClasses = new ArrayList<String>();
+
+        /* todo: refactor.  add a chain of decorators here */
+        FilterModel filterModel = 
dataGridModel.getDataGridState().getFilterModel();
+        if(filterModel.isFiltered(_headerCellModel.getFilterExpression()))
+            
styleClasses.add(dataGridModel.getStyleModel().getHeaderCellFilteredClass());
+
         SortModel sortModel = dataGridModel.getDataGridState().getSortModel();
         if(sortModel.isSorted(_headerCellModel.getSortExpression()))
             
styleClasses.add(dataGridModel.getStyleModel().getHeaderCellSortedClass());

Added: 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/misc/styleFilteredColumn.jsp
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/misc/styleFilteredColumn.jsp?view=auto&rev=154752
==============================================================================
--- 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/misc/styleFilteredColumn.jsp
 (added)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/misc/styleFilteredColumn.jsp
 Mon Feb 21 16:48:26 2005
@@ -0,0 +1,83 @@
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-databinding-1.0"; 
prefix="netui-data"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-html-1.0"; prefix="netui"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-template-1.0"; 
prefix="netui-template"%>
+<%@ taglib uri="http://java.sun.com/jsp/jstl/sql"; prefix="sql" %>
+<%@ taglib prefix="datagrid" 
tagdir="/WEB-INF/tags/org/apache/beehive/netui/test/databinding/tagfiles" %>
+<netui-template:template templatePage="../site/template.jsp">
+    <netui-template:setAttribute name="title" value="Filtered Style Test"/>
+    <netui-template:section name="body">
+    <p>
+    <datagrid:portfolioXmlBean/>
+    <script language="JavaScript" type="text/JavaScript" 
+            
src="${pageContext.request.contextPath}/resources/beehive/version1/javascript/netui-datagrid.js"></script>
+<script language="JavaScript">
+function doFilter(gridName) {
+  var netuiFilterUrl = new NetUIFilterURL();
+  netuiFilterUrl.init(window.location.search);
+
+  var filter0 = new NetUIFilter('symbol', 'eq', 'BEAS');
+  var netuiFilters = netuiFilterUrl.lookupFiltersForDataGrid(gridName);
+  if(netuiFilters == null) {
+    netuiFilters = new NetUIFilterList(gridName);
+    netuiFilterUrl.addFilterList(netuiFilters);
+  }
+
+  /* add it to the filter array */
+  var filterArray = [filter0];
+  netuiFilters.replaceFilters(filterArray);
+  var search = netuiFilterUrl.toQueryString();
+
+  /* set the window's location */
+  alert('search: ' + search);
+  if(search != null && search.indexOf('?') < 0)
+    search += '?' + search;
+  window.location = window.location.protocol + "//" + location.host + 
window.location.pathname + (search != null ? search : '');
+
+  return false;
+}
+</script>
+    <netui-data:dataGrid dataSource="pageScope.stocks" name="stocks">
+        <netui-data:configurePager pageHref="disabledPagerNPE.jsp" 
disableDefaultPager="true" pageSize="10"/>
+        <netui-data:header>
+            <netui-data:headerCell headerText="Symbol" 
filterExpression="symbol"/>
+            <netui-data:headerCell headerText="Price"/>
+        </netui-data:header>
+        <netui-data:rows>
+            <netui-data:spanCell value="${container.item.symbol}" 
filterExpression="symbol"/>
+            <netui-data:spanCell value="${container.item.price}"/>
+        </netui-data:rows>
+    </netui-data:dataGrid>
+    <br/>
+    <netui:anchor onClick="return doFilter('stocks');" 
href="styleFilteredColumn.jsp">Filter</netui:anchor>
+    </p>
+    <p>
+    <b>Styled / filtered header cell</b><br/>
+    <netui-data:dataGrid dataSource="pageScope.stocks" name="stocks">
+        <netui-data:configurePager pageHref="disabledPagerNPE.jsp" 
disableDefaultPager="true" pageSize="10"/>
+        <netui-data:header>
+            <netui-data:headerCell headerText="Symbol" 
filterExpression="symbol"/>
+            <netui-data:headerCell headerText="Price"/>
+        </netui-data:header>
+        <netui-data:rows>
+            <netui-data:spanCell value="${container.item.symbol}"/>
+            <netui-data:spanCell value="${container.item.price}"/>
+        </netui-data:rows>
+    </netui-data:dataGrid>
+    </p>
+    <p>
+    <b>Styled / filtered data cell</b><br/>
+    <netui-data:dataGrid dataSource="pageScope.stocks" name="stocks">
+        <netui-data:configurePager pageHref="disabledPagerNPE.jsp" 
disableDefaultPager="true" pageSize="10"/>
+        <netui-data:header>
+            <netui-data:headerCell headerText="Symbol"/>
+            <netui-data:headerCell headerText="Price"/>
+        </netui-data:header>
+        <netui-data:rows>
+            <netui-data:spanCell value="${container.item.symbol}" 
filterExpression="symbol"/>
+            <netui-data:spanCell value="${container.item.price}"/>
+        </netui-data:rows>
+    </netui-data:dataGrid>
+    </p>
+    </netui-template:section>
+</netui-template:template>

Propchange: 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/misc/styleFilteredColumn.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/site/css/default.css
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/site/css/default.css?view=diff&r1=154751&r2=154752
==============================================================================
--- 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/site/css/default.css
 (original)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/site/css/default.css
 Mon Feb 21 16:48:26 2005
@@ -17,6 +17,10 @@
   vertical-align: top;
 }
 
+th.datagrid-filtered, td.datagrid-filtered {
+  color:#990022;
+}
+
 tr.datagrid-header {
   background-color: #5f7797;
   color: #ffffff;

Modified: 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml?view=diff&r1=154751&r2=154752
==============================================================================
--- 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml
 (original)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml
 Mon Feb 21 16:48:26 2005
@@ -3067,6 +3067,21 @@
          </features>
       </test>
       <test>
+         <name>DataGridStylesFiltered</name>
+         <description>DataGridStylesFiltered</description>
+         <webapp>coreWeb</webapp>
+         <categories>
+            <category>bvt</category>
+            <category>bvt.struts11</category>
+            <category>databinding</category>
+            <category>datagrid</category>
+         </categories>
+         <features>
+            <feature>Databinding</feature>
+            <feature>Data Grid</feature>
+         </features>
+      </test>
+      <test>
          <name>DataGridTemplateColumnTest</name>
          <description>DataGridTemplateColumnTest</description>
          <webapp>coreWeb</webapp>

Added: 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridStylesFiltered.xml
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridStylesFiltered.xml?view=auto&rev=154752
==============================================================================
--- 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridStylesFiltered.xml
 (added)
+++ 
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridStylesFiltered.xml
 Mon Feb 21 16:48:26 2005
@@ -0,0 +1,648 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ses:recorderSession 
xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session";>
+   <ses:sessionName>DataGridStylesFiltered</ses:sessionName>
+   <ses:tester>ekoneil</ses:tester>
+   <ses:startDate>21 Feb 2005, 05:31:56.804 PM MST</ses:startDate>
+   <ses:description>Test of rendering the data grid with filtered cells.  The 
result should be styles applied to the header+data cells, header cell, and data 
cells.</ses:description>
+   <ses:tests>
+      <ses:test>
+         <ses:testNumber>1</ses:testNumber>
+         <ses:request>
+            <ses:protocol>HTTP</ses:protocol>
+            <ses:protocolVersion>1.1</ses:protocolVersion>
+            <ses:host>localhost</ses:host>
+            <ses:port>8080</ses:port>
+            
<ses:uri>/coreWeb/databinding/datagrid/misc/styleFilteredColumn.jsp</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters/>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>A8B85E14CE02B551CB9E70AC37FBB4F8</ses:value>
+               </ses:cookie>
+            </ses:cookies>
+            <ses:headers>
+               <ses:header>
+                  <ses:name>accept</ses:name>
+                  
<ses:value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-charset</ses:name>
+                  <ses:value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-encoding</ses:name>
+                  <ses:value>gzip,deflate</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-language</ses:name>
+                  <ses:value>en-us,en;q=0.5</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>connection</ses:name>
+                  <ses:value>keep-alive</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>cookie</ses:name>
+                  
<ses:value>JSESSIONID=A8B85E14CE02B551CB9E70AC37FBB4F8</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>host</ses:name>
+                  <ses:value>localhost:8080</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>keep-alive</ses:name>
+                  <ses:value>300</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>user-agent</ses:name>
+                  <ses:value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; 
rv:1.7.5) Gecko/20041107 Firefox/1.0</ses:value>
+               </ses:header>
+            </ses:headers>
+         </ses:request>
+         <ses:response>
+            <ses:statusCode>200</ses:statusCode>
+            <ses:reason/>
+            <ses:responseBody><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 
4.01 Transitional//EN"
+       "http://www.w3.org/TR/html4/loose.dtd";>
+<html lang="en">
+
+  <head>
+    <title>NetUI Data Grid Samples</title>
+    <link rel="stylesheet" 
href="/coreWeb/databinding/datagrid/site/css/default.css" type="text/css"/>
+  </head>
+  <base 
href="http://localhost:8080/coreWeb/databinding/datagrid/misc/styleFilteredColumn.jsp";>
+  <body>
+    <p>
+    <b>Filtered Style Test</b>
+    <table width="100%">
+    <tr><td></td></tr>
+    <tr><td>
+        
+    <p>
+    
+
+
+
+
+
+
+    <script language="JavaScript" type="text/JavaScript" 
+            
src="/coreWeb/resources/beehive/version1/javascript/netui-datagrid.js"></script>
+<script language="JavaScript">
+function doFilter(gridName) {
+  var netuiFilterUrl = new NetUIFilterURL();
+  netuiFilterUrl.init(window.location.search);
+
+  var filter0 = new NetUIFilter('symbol', 'eq', 'BEAS');
+  var netuiFilters = netuiFilterUrl.lookupFiltersForDataGrid(gridName);
+  if(netuiFilters == null) {
+    netuiFilters = new NetUIFilterList(gridName);
+    netuiFilterUrl.addFilterList(netuiFilters);
+  }
+
+  /* add it to the filter array */
+  var filterArray = [filter0];
+  netuiFilters.replaceFilters(filterArray);
+  var search = netuiFilterUrl.toQueryString();
+
+  /* set the window's location */
+  alert('search: ' + search);
+  if(search != null && search.indexOf('?') < 0)
+    search += '?' + search;
+  window.location = window.location.protocol + "//" + location.host + 
window.location.pathname + (search != null ? search : '');
+
+  return false;
+}
+</script>
+    
+<table class="datagrid">
+
+        
+        
+        
+    
+        
+        
+<tr class="datagrid-header">
+            <th class="datagrid">Symbol</th>
+
+
+            <th class="datagrid">Price</th>
+
+
+        
+</tr>
+        
+    
+        
+        
+        
+<tr class="datagrid-even">
+            <td class="datagrid"><span>BEAS</span></td>
+
+            <td class="datagrid"><span>14.35</span></td>
+
+        
+</tr>
+<tr class="datagrid-odd">
+            <td class="datagrid"><span>CSCO</span></td>
+
+            <td class="datagrid"><span>19.42</span></td>
+
+        
+</tr>
+<tr class="datagrid-even">
+            <td class="datagrid"><span>GE</span></td>
+
+            <td class="datagrid"><span>59.42</span></td>
+
+        
+</tr>
+<tr class="datagrid-odd">
+            <td class="datagrid"><span>RHAT</span></td>
+
+            <td class="datagrid"><span>18.2</span></td>
+
+        
+</tr>
+<tr class="datagrid-even">
+            <td class="datagrid"><span>YHOO</span></td>
+
+            <td class="datagrid"><span>48.16</span></td>
+
+        
+</tr>
+    </table>
+
+
+    <br/>
+    <a href="/coreWeb/databinding/datagrid/misc/styleFilteredColumn.jsp" 
onclick="return doFilter('stocks');">Filter</a>
+    </p>
+    <p>
+    <b>Styled / filtered header cell</b><br/>
+    
+<table class="datagrid">
+
+        
+        
+        
+    
+        
+        
+<tr class="datagrid-header">
+            <th class="datagrid">Symbol</th>
+
+
+            <th class="datagrid">Price</th>
+
+
+        
+</tr>
+        
+    
+        
+        
+        
+<tr class="datagrid-even">
+            <td class="datagrid"><span>BEAS</span></td>
+
+            <td class="datagrid"><span>14.35</span></td>
+
+        
+</tr>
+<tr class="datagrid-odd">
+            <td class="datagrid"><span>CSCO</span></td>
+
+            <td class="datagrid"><span>19.42</span></td>
+
+        
+</tr>
+<tr class="datagrid-even">
+            <td class="datagrid"><span>GE</span></td>
+
+            <td class="datagrid"><span>59.42</span></td>
+
+        
+</tr>
+<tr class="datagrid-odd">
+            <td class="datagrid"><span>RHAT</span></td>
+
+            <td class="datagrid"><span>18.2</span></td>
+
+        
+</tr>
+<tr class="datagrid-even">
+            <td class="datagrid"><span>YHOO</span></td>
+
+            <td class="datagrid"><span>48.16</span></td>
+
+        
+</tr>
+    </table>
+
+
+    </p>
+    <p>
+    <b>Styled / filtered data cell</b><br/>
+    
+<table class="datagrid">
+
+        
+        
+        
+    
+        
+        
+<tr class="datagrid-header">
+            <th class="datagrid">Symbol</th>
+
+
+            <th class="datagrid">Price</th>
+
+
+        
+</tr>
+        
+    
+        
+        
+        
+<tr class="datagrid-even">
+            <td class="datagrid"><span>BEAS</span></td>
+
+            <td class="datagrid"><span>14.35</span></td>
+
+        
+</tr>
+<tr class="datagrid-odd">
+            <td class="datagrid"><span>CSCO</span></td>
+
+            <td class="datagrid"><span>19.42</span></td>
+
+        
+</tr>
+<tr class="datagrid-even">
+            <td class="datagrid"><span>GE</span></td>
+
+            <td class="datagrid"><span>59.42</span></td>
+
+        
+</tr>
+<tr class="datagrid-odd">
+            <td class="datagrid"><span>RHAT</span></td>
+
+            <td class="datagrid"><span>18.2</span></td>
+
+        
+</tr>
+<tr class="datagrid-even">
+            <td class="datagrid"><span>YHOO</span></td>
+
+            <td class="datagrid"><span>48.16</span></td>
+
+        
+</tr>
+    </table>
+
+
+    </p>
+    
+    </td></tr>
+    </p>
+    <table>
+    <tr><td><a 
href="/netuiDRT/databinding/datagrid/basic/index.jsp">Home</a></td></tr>
+    </table>
+    </p>
+  </body>
+
+</html>]]></ses:responseBody>
+         </ses:response>
+      </ses:test>
+      <ses:test>
+         <ses:testNumber>2</ses:testNumber>
+         <ses:request>
+            <ses:protocol>HTTP</ses:protocol>
+            <ses:protocolVersion>1.1</ses:protocolVersion>
+            <ses:host>localhost</ses:host>
+            <ses:port>8080</ses:port>
+            
<ses:uri>/coreWeb/databinding/datagrid/misc/styleFilteredColumn.jsp</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters>
+               <ses:parameter>
+                  <ses:name>netui_filter</ses:name>
+                  <ses:value>stocks;symbol~eq~BEAS</ses:value>
+               </ses:parameter>
+            </ses:parameters>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>A8B85E14CE02B551CB9E70AC37FBB4F8</ses:value>
+               </ses:cookie>
+            </ses:cookies>
+            <ses:headers>
+               <ses:header>
+                  <ses:name>accept</ses:name>
+                  
<ses:value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-charset</ses:name>
+                  <ses:value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-encoding</ses:name>
+                  <ses:value>gzip,deflate</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-language</ses:name>
+                  <ses:value>en-us,en;q=0.5</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>connection</ses:name>
+                  <ses:value>keep-alive</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>cookie</ses:name>
+                  
<ses:value>JSESSIONID=A8B85E14CE02B551CB9E70AC37FBB4F8</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>host</ses:name>
+                  <ses:value>localhost:8080</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>keep-alive</ses:name>
+                  <ses:value>300</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>referer</ses:name>
+                  
<ses:value>http://localhost:8080/coreWeb/databinding/datagrid/misc/styleFilteredColumn.jsp</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>user-agent</ses:name>
+                  <ses:value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; 
rv:1.7.5) Gecko/20041107 Firefox/1.0</ses:value>
+               </ses:header>
+            </ses:headers>
+         </ses:request>
+         <ses:response>
+            <ses:statusCode>200</ses:statusCode>
+            <ses:reason/>
+            <ses:responseBody><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 
4.01 Transitional//EN"
+       "http://www.w3.org/TR/html4/loose.dtd";>
+<html lang="en">
+
+  <head>
+    <title>NetUI Data Grid Samples</title>
+    <link rel="stylesheet" 
href="/coreWeb/databinding/datagrid/site/css/default.css" type="text/css"/>
+  </head>
+  <base 
href="http://localhost:8080/coreWeb/databinding/datagrid/misc/styleFilteredColumn.jsp";>
+  <body>
+    <p>
+    <b>Filtered Style Test</b>
+    <table width="100%">
+    <tr><td></td></tr>
+    <tr><td>
+        
+    <p>
+    
+
+
+
+
+
+
+    <script language="JavaScript" type="text/JavaScript" 
+            
src="/coreWeb/resources/beehive/version1/javascript/netui-datagrid.js"></script>
+<script language="JavaScript">
+function doFilter(gridName) {
+  var netuiFilterUrl = new NetUIFilterURL();
+  netuiFilterUrl.init(window.location.search);
+
+  var filter0 = new NetUIFilter('symbol', 'eq', 'BEAS');
+  var netuiFilters = netuiFilterUrl.lookupFiltersForDataGrid(gridName);
+  if(netuiFilters == null) {
+    netuiFilters = new NetUIFilterList(gridName);
+    netuiFilterUrl.addFilterList(netuiFilters);
+  }
+
+  /* add it to the filter array */
+  var filterArray = [filter0];
+  netuiFilters.replaceFilters(filterArray);
+  var search = netuiFilterUrl.toQueryString();
+
+  /* set the window's location */
+  alert('search: ' + search);
+  if(search != null && search.indexOf('?') < 0)
+    search += '?' + search;
+  window.location = window.location.protocol + "//" + location.host + 
window.location.pathname + (search != null ? search : '');
+
+  return false;
+}
+</script>
+    
+<table class="datagrid">
+
+        
+        
+        
+    
+        
+        
+<tr class="datagrid-header">
+            <th class="datagrid-filtered datagrid">Symbol</th>
+
+
+            <th class="datagrid">Price</th>
+
+
+        
+</tr>
+        
+    
+        
+        
+        
+<tr class="datagrid-even">
+            <td class="datagrid-filtered datagrid"><span>BEAS</span></td>
+
+            <td class="datagrid"><span>14.35</span></td>
+
+        
+</tr>
+<tr class="datagrid-odd">
+            <td class="datagrid-filtered datagrid"><span>CSCO</span></td>
+
+            <td class="datagrid"><span>19.42</span></td>
+
+        
+</tr>
+<tr class="datagrid-even">
+            <td class="datagrid-filtered datagrid"><span>GE</span></td>
+
+            <td class="datagrid"><span>59.42</span></td>
+
+        
+</tr>
+<tr class="datagrid-odd">
+            <td class="datagrid-filtered datagrid"><span>RHAT</span></td>
+
+            <td class="datagrid"><span>18.2</span></td>
+
+        
+</tr>
+<tr class="datagrid-even">
+            <td class="datagrid-filtered datagrid"><span>YHOO</span></td>
+
+            <td class="datagrid"><span>48.16</span></td>
+
+        
+</tr>
+    </table>
+
+
+    <br/>
+    <a href="/coreWeb/databinding/datagrid/misc/styleFilteredColumn.jsp" 
onclick="return doFilter('stocks');">Filter</a>
+    </p>
+    <p>
+    <b>Styled / filtered header cell</b><br/>
+    
+<table class="datagrid">
+
+        
+        
+        
+    
+        
+        
+<tr class="datagrid-header">
+            <th class="datagrid-filtered datagrid">Symbol</th>
+
+
+            <th class="datagrid">Price</th>
+
+
+        
+</tr>
+        
+    
+        
+        
+        
+<tr class="datagrid-even">
+            <td class="datagrid"><span>BEAS</span></td>
+
+            <td class="datagrid"><span>14.35</span></td>
+
+        
+</tr>
+<tr class="datagrid-odd">
+            <td class="datagrid"><span>CSCO</span></td>
+
+            <td class="datagrid"><span>19.42</span></td>
+
+        
+</tr>
+<tr class="datagrid-even">
+            <td class="datagrid"><span>GE</span></td>
+
+            <td class="datagrid"><span>59.42</span></td>
+
+        
+</tr>
+<tr class="datagrid-odd">
+            <td class="datagrid"><span>RHAT</span></td>
+
+            <td class="datagrid"><span>18.2</span></td>
+
+        
+</tr>
+<tr class="datagrid-even">
+            <td class="datagrid"><span>YHOO</span></td>
+
+            <td class="datagrid"><span>48.16</span></td>
+
+        
+</tr>
+    </table>
+
+
+    </p>
+    <p>
+    <b>Styled / filtered data cell</b><br/>
+    
+<table class="datagrid">
+
+        
+        
+        
+    
+        
+        
+<tr class="datagrid-header">
+            <th class="datagrid">Symbol</th>
+
+
+            <th class="datagrid">Price</th>
+
+
+        
+</tr>
+        
+    
+        
+        
+        
+<tr class="datagrid-even">
+            <td class="datagrid-filtered datagrid"><span>BEAS</span></td>
+
+            <td class="datagrid"><span>14.35</span></td>
+
+        
+</tr>
+<tr class="datagrid-odd">
+            <td class="datagrid-filtered datagrid"><span>CSCO</span></td>
+
+            <td class="datagrid"><span>19.42</span></td>
+
+        
+</tr>
+<tr class="datagrid-even">
+            <td class="datagrid-filtered datagrid"><span>GE</span></td>
+
+            <td class="datagrid"><span>59.42</span></td>
+
+        
+</tr>
+<tr class="datagrid-odd">
+            <td class="datagrid-filtered datagrid"><span>RHAT</span></td>
+
+            <td class="datagrid"><span>18.2</span></td>
+
+        
+</tr>
+<tr class="datagrid-even">
+            <td class="datagrid-filtered datagrid"><span>YHOO</span></td>
+
+            <td class="datagrid"><span>48.16</span></td>
+
+        
+</tr>
+    </table>
+
+
+    </p>
+    
+    </td></tr>
+    </p>
+    <table>
+    <tr><td><a 
href="/netuiDRT/databinding/datagrid/basic/index.jsp">Home</a></td></tr>
+    </table>
+    </p>
+  </body>
+
+</html>]]></ses:responseBody>
+         </ses:response>
+      </ses:test>
+   </ses:tests>
+   <ses:endDate>21 Feb 2005, 05:32:13.969 PM MST</ses:endDate>
+   <ses:testCount>2</ses:testCount>
+</ses:recorderSession>
\ No newline at end of file


Reply via email to