You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beehive.apache.org by ek...@apache.org on 2004/09/25 00:06:59 UTC
svn commit: rev 47174 - in incubator/beehive/trunk/netui: src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid test/webapps/drt/coreWeb/databinding/datagrid/misc test/webapps/drt/testRecorder/config test/webapps/drt/testRecorder/tests
Author: ekoneil
Date: Fri Sep 24 15:06:58 2004
New Revision: 47174
Added:
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/misc/stylePrefix.jsp (contents, props changed)
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridCSSPrefix.xml (contents, props changed)
Modified:
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/StylePolicy.java
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/DataGrid.java
incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml
Log:
Begin to support CSS class prefixes on the data grid.
This adds a simple cssNamePrefix to the datagrid tag, which is a prefix that is added to the data grid style names rendered on the header / data even and odd rows / wrapping table.
BB: self
DRT: NetUI pass
datagrid pass
BVt: NetUI pass
Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/StylePolicy.java
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/StylePolicy.java (original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/StylePolicy.java Fri Sep 24 15:06:58 2004
@@ -27,7 +27,7 @@
private static final Logger _logger = Logger.getInstance(StylePolicy.class);
// todo: is this the correct delimiter relative to the CSS spec?
- private static final String DELIM = ".";
+ private static final String DELIM = "-";
public static final int TABLE_CLASS = 1;
public static final int HEADER_ROW_CLASS = 2;
Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/DataGrid.java
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/DataGrid.java (original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/datagrid/DataGrid.java Fri Sep 24 15:06:58 2004
@@ -53,6 +53,9 @@
private static final StylePolicy DEFAULT_STYLE_POLICY = new DefaultStylePolicy();
private static final StylePolicy EMPTY_STYLE_POLICY = new EmptyStylePolicy();
+ private static final String DEFAULT_STYLE_POLICY_VALUE = "default";
+ private static final String NO_STYLE_POLICY_VALUE = "none";
+
public static final int START_RENDER_STATE = 10;
public static final int CAPTION_RENDER_STATE = 20;
public static final int GRID_RENDER_STATE = 30;
@@ -60,15 +63,16 @@
public static final int END_RENDER_STATE = 50;
public static final String DATA_GRID_MODEL_KEY = "dataGrid";
- public static final String DEFAULT_STYLE_POLICY_VALUE = "default";
private DataGridModel _gridModel = null;
+
+ private boolean _disableDefaultPager = false;
+ private int _renderState = START_RENDER_STATE;
+
private String _name = null;
private String _cssClassPolicy = DEFAULT_STYLE_POLICY_VALUE;
+ private String _cssClassPrefix = null;
private String _dataSource = null;
- private boolean _disableDefaultPager = false;
-
- private int _renderState = START_RENDER_STATE;
// todo: consider a switch to StringBuilder or Writer w/ a StringWriter?
private StringBuffer _content = null;
@@ -97,6 +101,11 @@
/**
* @netui:attribute required="false" rtexprvalue="true"
*/
+ public void setCssClassPrefix(String cssClassPrefix) {_cssClassPrefix = cssClassPrefix;}
+
+ /**
+ * @netui:attribute required="false" rtexprvalue="true"
+ */
public void setDisableDefaultPager(boolean disableDefaultPager) {_disableDefaultPager = disableDefaultPager;}
public void doTag()
@@ -116,10 +125,15 @@
_gridModel.setDataSet(dataSet);
- if(_cssClassPolicy == DEFAULT_STYLE_POLICY_VALUE || _cssClassPolicy.equals("default"))
- _gridModel.setCssPolicy(DEFAULT_STYLE_POLICY);
- else if(_cssClassPolicy.equals("none"))
- _gridModel.setCssPolicy(EMPTY_STYLE_POLICY);
+ StylePolicy cssPolicy = null;
+ if(_cssClassPrefix != null)
+ cssPolicy = new DefaultStylePolicy(_cssClassPrefix);
+ else if(_cssClassPolicy == DEFAULT_STYLE_POLICY_VALUE || _cssClassPolicy.equals(DEFAULT_STYLE_POLICY_VALUE))
+ cssPolicy = DEFAULT_STYLE_POLICY;
+ else if(_cssClassPolicy.equals(NO_STYLE_POLICY_VALUE))
+ cssPolicy = EMPTY_STYLE_POLICY;
+
+ _gridModel.setCssPolicy(cssPolicy);
// todo: implement state machine rendering here...
_renderState = START_RENDER_STATE;
Added: incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/misc/stylePrefix.jsp
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/datagrid/misc/stylePrefix.jsp Fri Sep 24 15:06:58 2004
@@ -0,0 +1,37 @@
+<%@ page language="java" contentType="text/html;charset=UTF-8"%>
+<%@ taglib uri="beehive-netui-tags-html.tld" prefix="netui"%>
+<%@ taglib uri="beehive-netui-tags-databinding.tld" prefix="netui-data"%>
+<%@ taglib uri="beehive-netui-tags-template.tld" prefix="netui-template"%>
+
+<netui:html>
+ <head>
+ <title>CSS Prefix Test</title>
+ <style type="text/css">
+ .foo-datagrid-header {
+ background-color: #5f7797;
+ }
+ .foo-datagrid-even {
+ background-color: #ffffff;
+ }
+ .foo-datagrid-odd {
+ background-color: #bfc4cb;
+ }
+ </style>
+ </head>
+ <netui:body>
+ <p>
+ <%@ include file="../util/portfolioXmlBean.jsp" %>
+ <br/>
+ <netui-data:dataGrid dataSource="pageScope.stocks" name="portfolio" cssClassPrefix="foo" >
+ <netui-data:columns>
+ <netui-data:literalColumn headerText="Symbol" value="${container.item.symbol}"/>
+ <netui-data:literalColumn headerText="Price" value="${container.item.price}"/>
+ <netui-data:anchorColumn headerText="Web" href="${container.item.web}" value="${container.item.name}">
+ <netui:parameter name="rowid" value="${container.index}"/>
+ <netui:parameter name="symbol" value="${container.item.symbol}"/>
+ </netui-data:anchorColumn>
+ </netui-data:columns>
+ </netui-data:dataGrid>
+ </p>
+ </netui:body>
+</netui:html>
\ No newline at end of file
Modified: incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml
==============================================================================
--- 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 Fri Sep 24 15:06:58 2004
@@ -2140,6 +2140,21 @@
</features>
</test>
<test>
+ <name>DataGridCSSPrefix</name>
+ <description>DataGridCSSPrefix</description>
+ <webapp>coreWeb</webapp>
+ <categories>
+ <category>bvt</category>
+ <category>drt</category>
+ <category>datagrid</category>
+ <category>databinding</category>
+ </categories>
+ <features>
+ <feature>Databinding</feature>
+ <feature>Data Grid</feature>
+ </features>
+ </test>
+ <test>
<name>DataGridCustomTagAttributes</name>
<description>DataGridCustomTagAttributes</description>
<webapp>coreWeb</webapp>
Added: incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridCSSPrefix.xml
==============================================================================
--- (empty file)
+++ incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridCSSPrefix.xml Fri Sep 24 15:06:58 2004
@@ -0,0 +1,167 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ses:recorderSession xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session">
+ <ses:sessionName>DataGridCSSPrefix</ses:sessionName>
+ <ses:tester>ekoneil</ses:tester>
+ <ses:startDate>24 Sep 2004, 02:32:24.568 PM MDT</ses:startDate>
+ <ses:description>Test the addition of a simple CSS prefix to the data grid CSS class names.</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/stylePrefix.jsp</ses:uri>
+ <ses:method>GET</ses:method>
+ <ses:parameters/>
+ <ses:cookies>
+ <ses:cookie>
+ <ses:name>JSESSIONID</ses:name>
+ <ses:value>DCB782ADDFF281EFCB9F0444AADA321A</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=DCB782ADDFF281EFCB9F0444AADA321A</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; rv:1.7.3) Gecko/20040913 Firefox/0.10</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>CSS Prefix Test</title>
+ <style type="text/css">
+ .foo-datagrid-header {
+ background-color: #5f7797;
+ }
+ .foo-datagrid-even {
+ background-color: #ffffff;
+ }
+ .foo-datagrid-odd {
+ background-color: #bfc4cb;
+ }
+ </style>
+ </head>
+ <body>
+ <p>
+
+
+
+
+ <br/>
+ Page 1 of 1
+<table class="foo-datagrid">
+<caption>
+
+
+
+</caption>
+
+
+<thead>
+<tr class="foo-datagrid-header">
+ <th class="foo-datagrid-header-cell">Symbol</th>
+
+
+ <th class="foo-datagrid-header-cell">Price</th>
+
+
+ <th class="foo-datagrid-header-cell">Web</th>
+
+
+ </tr>
+</thead>
+
+<tr class="foo-datagrid-even">
+ <td class="foo-datagrid-data-cell"><span>BEAS</span></td>
+
+ <td class="foo-datagrid-data-cell"><span>14.35</span></td>
+
+ <td class="foo-datagrid-data-cell"><a href="http://www.bea.com?rowid=1&symbol=BEAS"><span>BEA Systems</span></a></td>
+
+ </tr>
+<tr class="foo-datagrid-odd">
+ <td class="foo-datagrid-data-cell"><span>CSCO</span></td>
+
+ <td class="foo-datagrid-data-cell"><span>19.42</span></td>
+
+ <td class="foo-datagrid-data-cell"><a href="http://www.cisco.com?rowid=2&symbol=CSCO"><span>Cisco Systems</span></a></td>
+
+ </tr>
+<tr class="foo-datagrid-even">
+ <td class="foo-datagrid-data-cell"><span>GE</span></td>
+
+ <td class="foo-datagrid-data-cell"><span>59.42</span></td>
+
+ <td class="foo-datagrid-data-cell"><a href="http://www.ge.com?rowid=3&symbol=GE"><span>General Electric</span></a></td>
+
+ </tr>
+<tr class="foo-datagrid-odd">
+ <td class="foo-datagrid-data-cell"><span>RHAT</span></td>
+
+ <td class="foo-datagrid-data-cell"><span>18.2</span></td>
+
+ <td class="foo-datagrid-data-cell"><a href="http://www.redhat.com?rowid=4&symbol=RHAT"><span>RedHat Systems</span></a></td>
+
+ </tr>
+<tr class="foo-datagrid-even">
+ <td class="foo-datagrid-data-cell"><span>YHOO</span></td>
+
+ <td class="foo-datagrid-data-cell"><span>48.16</span></td>
+
+ <td class="foo-datagrid-data-cell"><a href="http://www.yahoo.com?rowid=5&symbol=YHOO"><span>Yahoo Inc</span></a></td>
+
+ </tr>
+
+<tr class="foo-datagrid-footer">
+
+
+</tr></table>
+
+ </p>
+ </body>
+</html>]]></ses:responseBody>
+ </ses:response>
+ </ses:test>
+ </ses:tests>
+ <ses:endDate>24 Sep 2004, 02:32:30.937 PM MDT</ses:endDate>
+ <ses:testCount>1</ses:testCount>
+</ses:recorderSession>
\ No newline at end of file