Author: akushunin
Date: 2007-11-30 08:12:07 -0500 (Fri, 30 Nov 2007)
New Revision: 4388
Added:
branches/3.1.x/ui/dataTable/src/main/java/org/richfaces/renderkit/CellRenderer.java
Removed:
branches/3.1.x/ui/dataTable/src/main/java/org/richfaces/renderkit/AbstractCellRenderer.java
branches/3.1.x/ui/dataTable/src/main/templates/org/richfaces/htmlColumn.jspx
Modified:
branches/3.1.x/ui/dataTable/src/main/config/component/column.xml
Log:
RF-1278
Modified: branches/3.1.x/ui/dataTable/src/main/config/component/column.xml
===================================================================
--- branches/3.1.x/ui/dataTable/src/main/config/component/column.xml 2007-11-30 13:00:00
UTC (rev 4387)
+++ branches/3.1.x/ui/dataTable/src/main/config/component/column.xml 2007-11-30 13:12:07
UTC (rev 4388)
@@ -11,8 +11,8 @@
]]>
</description>
<renderer generate="true" override="true">
- <name>org.richfaces.ColumnRenderer</name>
- <template>org/richfaces/htmlColumn.jspx</template>
+ <name>org.richfaces.renderkit.CellRenderer</name>
+ <classname>org.richfaces.renderkit.CellRenderer</classname>
</renderer>
<tag>
<name>column</name>
Deleted:
branches/3.1.x/ui/dataTable/src/main/java/org/richfaces/renderkit/AbstractCellRenderer.java
===================================================================
---
branches/3.1.x/ui/dataTable/src/main/java/org/richfaces/renderkit/AbstractCellRenderer.java 2007-11-30
13:00:00 UTC (rev 4387)
+++
branches/3.1.x/ui/dataTable/src/main/java/org/richfaces/renderkit/AbstractCellRenderer.java 2007-11-30
13:12:07 UTC (rev 4388)
@@ -1,59 +0,0 @@
-/**
- * License Agreement.
- *
- * JBoss RichFaces - Ajax4jsf Component Library
- *
- * Copyright (C) 2007 Exadel, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License version 2.1 as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-package org.richfaces.renderkit;
-
-import java.util.Map;
-
-import javax.faces.component.UIComponent;
-import javax.faces.context.FacesContext;
-
-import org.ajax4jsf.renderkit.RendererBase;
-
-/**
- * @author shura
- *
- */
-public abstract class AbstractCellRenderer extends RendererBase {
-
- public String styleClass(FacesContext context , UIComponent component){
- StringBuffer styleClass = new StringBuffer();
- // Construct predefined classes
- Map requestMap = context.getExternalContext().getRequestMap();
- Object parentPredefined = requestMap.get(AbstractRowsRenderer.SKIN_CELL_CLASS_KEY);
- if (null != parentPredefined) {
- styleClass.append(parentPredefined).append(" ");
- } else {
- styleClass.append("dr-table-cell rich-table-cell ");
- }
- // Append class from parent component.
- Object parent = requestMap.get(AbstractRowsRenderer.CELL_CLASS_KEY);
- if (null != parent) {
- styleClass.append(parent).append(" ");
- }
- Object custom = component.getAttributes().get("styleClass");
- if (null != custom) {
- styleClass.append(custom);
- }
- return styleClass.toString();
- }
-
-}
Added:
branches/3.1.x/ui/dataTable/src/main/java/org/richfaces/renderkit/CellRenderer.java
===================================================================
--- branches/3.1.x/ui/dataTable/src/main/java/org/richfaces/renderkit/CellRenderer.java
(rev 0)
+++
branches/3.1.x/ui/dataTable/src/main/java/org/richfaces/renderkit/CellRenderer.java 2007-11-30
13:12:07 UTC (rev 4388)
@@ -0,0 +1,134 @@
+/**
+ * License Agreement.
+ *
+ * JBoss RichFaces - Ajax4jsf Component Library
+ *
+ * Copyright (C) 2007 Exadel, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+package org.richfaces.renderkit;
+
+import java.io.IOException;
+import java.util.Map;
+
+import javax.faces.component.UIColumn;
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.faces.context.ResponseWriter;
+
+import org.ajax4jsf.renderkit.RendererBase;
+import org.ajax4jsf.renderkit.RendererUtils.HTML;
+
+/**
+ * @author shur
+ * modified by Alexej Kushunin
+ *
+ */
+public class CellRenderer extends RendererBase {
+
+ public String styleClass(FacesContext context , UIComponent component){
+ StringBuffer styleClass = new StringBuffer();
+ // Construct predefined classes
+ Map requestMap = context.getExternalContext().getRequestMap();
+ Object parentPredefined = requestMap.get(AbstractRowsRenderer.SKIN_CELL_CLASS_KEY);
+ if (null != parentPredefined) {
+ styleClass.append(parentPredefined).append(" ");
+ } else {
+ styleClass.append("dr-table-cell rich-table-cell ");
+ }
+ // Append class from parent component.
+ Object parent = requestMap.get(AbstractRowsRenderer.CELL_CLASS_KEY);
+ if (null != parent) {
+ styleClass.append(parent).append(" ");
+ }
+ Object custom = component.getAttributes().get("styleClass");
+ if (null != custom) {
+ styleClass.append(custom);
+ }
+ return styleClass.toString();
+ }
+
+ protected void doEncodeBegin(ResponseWriter writer, FacesContext context, UIComponent
component) throws IOException {
+
+ super.doEncodeBegin(writer, context, component);
+ java.lang.String clientId = component.getClientId(context);
+ boolean isHeader = (styleClass(context, component)).contains("header");
+ if(isHeader)
+ {
+ writer.startElement("th", component);
+
+ }else{
+
+ writer.startElement("td", component);
+ }
+
+
+ getUtils().writeAttribute(writer, "class", styleClass(context,component) );
+ getUtils().writeAttribute(writer, "id", clientId );
+ getUtils().encodeAttributesFromArray(context,component,new String[] {
+ "abbr" ,
+ "align" ,
+ "axis" ,
+ "bgcolor" ,
+ "char" ,
+ "charoff" ,
+ "colspan" ,
+ "dir" ,
+ "headers" ,
+ "height" ,
+ "lang" ,
+ "nowrap" ,
+ "onclick" ,
+ "ondblclick" ,
+ "onkeydown" ,
+ "onkeypress" ,
+ "onkeyup" ,
+ "onmousedown" ,
+ "onmousemove" ,
+ "onmouseout" ,
+ "onmouseover" ,
+ "onmouseup" ,
+ "rowspan" ,
+ "scope" ,
+ "style" ,
+ "title" ,
+ "valign" ,
+ "width" ,
+ "xml:lang" });
+
+ }
+
+
+ protected void doEncodeEnd(ResponseWriter writer, FacesContext context, UIComponent
component) throws IOException {
+ // TODO Auto-generated method stub
+ super.doEncodeEnd(writer, context, component);
+ boolean isHeader = (styleClass(context, component)).contains("header");
+ if(isHeader)
+ {
+ writer.endElement("th");
+
+ }else{
+
+ writer.endElement("td");
+ }
+ }
+
+ protected Class getComponentClass() {
+
+ return UIColumn.class;
+ }
+
+}
Property changes on:
branches/3.1.x/ui/dataTable/src/main/java/org/richfaces/renderkit/CellRenderer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:eol-style
+ native
Deleted: branches/3.1.x/ui/dataTable/src/main/templates/org/richfaces/htmlColumn.jspx
===================================================================
---
branches/3.1.x/ui/dataTable/src/main/templates/org/richfaces/htmlColumn.jspx 2007-11-30
13:00:00 UTC (rev 4387)
+++
branches/3.1.x/ui/dataTable/src/main/templates/org/richfaces/htmlColumn.jspx 2007-11-30
13:12:07 UTC (rev 4388)
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<f:root
-
xmlns:f="http://ajax4jsf.org/cdk/template"
- xmlns:c="
http://java.sun.com/jsf/core"
- xmlns:ui="
http://ajax4jsf.org/cdk/ui"
- xmlns:u="
http://ajax4jsf.org/cdk/u"
- xmlns:x="
http://ajax4jsf.org/cdk/x"
-
xmlns:h="http://jsf.exadel.com/header"
-
xmlns:vcp="http://ajax4jsf.org/cdk/vcp"
-
- class="org.richfaces.renderkit.html.ColumnRenderer"
- baseclass="org.richfaces.renderkit.AbstractCellRenderer"
- component="org.richfaces.component.UIColumn"
- >
- <f:clientid var="clientId"/>
- <td id="#{clientId}"
- class="#{this:styleClass(context,component)}"
- x:passThruWithExclusions="value,name,type,id,class"
- >
- <vcp:body/>
- </td>
-</f:root>