[richfaces-svn-commits] JBoss Rich Faces SVN: r4739 - in branches/3.1.x/ui/orderingList/src/main: java/org/richfaces/renderkit and 1 other directories.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Tue Dec 11 15:16:51 EST 2007


Author: nbelaevski
Date: 2007-12-11 15:16:51 -0500 (Tue, 11 Dec 2007)
New Revision: 4739

Modified:
   branches/3.1.x/ui/orderingList/src/main/config/component/orderinglist.xml
   branches/3.1.x/ui/orderingList/src/main/java/org/richfaces/renderkit/OrderingListRendererBase.java
   branches/3.1.x/ui/orderingList/src/main/resources/org/richfaces/renderkit/html/scripts/OrderingList.js
   branches/3.1.x/ui/orderingList/src/main/resources/org/richfaces/renderkit/html/scripts/SelectItem.js
Log:
columnClasses/rowClasses handling added

Modified: branches/3.1.x/ui/orderingList/src/main/config/component/orderinglist.xml
===================================================================
--- branches/3.1.x/ui/orderingList/src/main/config/component/orderinglist.xml	2007-12-11 20:16:39 UTC (rev 4738)
+++ branches/3.1.x/ui/orderingList/src/main/config/component/orderinglist.xml	2007-12-11 20:16:51 UTC (rev 4739)
@@ -126,10 +126,10 @@
             <defaultvalue><![CDATA[""]]></defaultvalue>
         </property>
         <property>
-            <name>cellClasses</name>
+            <name>columnClasses</name>
             <classname>java.lang.String</classname>
             <description>
-                CSS class for a cell
+                CSS class for a column
             </description>
             <defaultvalue><![CDATA[""]]></defaultvalue>
         </property>

Modified: branches/3.1.x/ui/orderingList/src/main/java/org/richfaces/renderkit/OrderingListRendererBase.java
===================================================================
--- branches/3.1.x/ui/orderingList/src/main/java/org/richfaces/renderkit/OrderingListRendererBase.java	2007-12-11 20:16:39 UTC (rev 4738)
+++ branches/3.1.x/ui/orderingList/src/main/java/org/richfaces/renderkit/OrderingListRendererBase.java	2007-12-11 20:16:51 UTC (rev 4739)
@@ -5,11 +5,9 @@
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.LinkedHashMap;
-import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import javax.faces.component.UIColumn;
 import javax.faces.component.UIComponent;
 import javax.faces.context.ExternalContext;
 import javax.faces.context.FacesContext;
@@ -120,6 +118,13 @@
 		writer.writeAttribute("id",  clientId, null);
 		
 		StringBuffer rowClassName = new StringBuffer("rich-ordering-list-row");
+		
+		String rowClass = holder.getRowClass();
+		if (rowClass != null) {
+			rowClassName.append(' ');
+			rowClassName.append(rowClass);
+		}
+		
 		StringBuffer cellClassName = new StringBuffer("rich-ordering-list-cell");
 		
 		ComponentVariables variables = ComponentsVariableResolver.getVariables(this, table);
@@ -144,20 +149,25 @@
 		
 		boolean columnRendered = false;
 		
-		List children = table.getChildren();
-		for (Iterator iterator = children.iterator(); iterator.hasNext();) {
+		int colCounter = 0;
+
+		for (Iterator iterator = table.columns(); iterator.hasNext();) {
 			UIComponent component = (UIComponent) iterator.next();
 			
-			if (component instanceof UIColumn && component.isRendered()) {
-				UIColumn column = (UIColumn) component;
-				
+			if (component.isRendered()) {
 				writer.startElement(HTML.td_ELEM, table);
 				
 				//if (!iterator.hasNext()) {
 				//	cellClassName.append(" rich-ordering-list-cell-end");
 				//}
-				writer.writeAttribute("class", cellClassName.toString(), null);
 				
+				String columnClass = holder.getColumnClass(colCounter);
+				if (columnClass != null) {
+					writer.writeAttribute("class", cellClassName.toString().concat(" " + columnClass), null);
+				} else {
+					writer.writeAttribute("class", cellClassName.toString(), null);
+				}
+				
 				//writer.write("&nbsp;");
 				
 				writer.startElement(HTML.IMG_ELEMENT, table);
@@ -165,7 +175,7 @@
 				writer.writeAttribute(HTML.style_ATTRIBUTE, "width:1px;height:1px;", null);
 				writer.endElement(HTML.IMG_ELEMENT);
 				
-				renderChildren(context, column);
+				renderChildren(context, component);
 
 				if (!columnRendered) {
 					writer.startElement(HTML.INPUT_ELEM, table);
@@ -195,6 +205,8 @@
 				
 				writer.endElement(HTML.td_ELEM);
 			}
+			
+			colCounter++;
 		}
 		
 		writer.endElement(HTML.TR_ELEMENT);

Modified: branches/3.1.x/ui/orderingList/src/main/resources/org/richfaces/renderkit/html/scripts/OrderingList.js
===================================================================
--- branches/3.1.x/ui/orderingList/src/main/resources/org/richfaces/renderkit/html/scripts/OrderingList.js	2007-12-11 20:16:39 UTC (rev 4738)
+++ branches/3.1.x/ui/orderingList/src/main/resources/org/richfaces/renderkit/html/scripts/OrderingList.js	2007-12-11 20:16:51 UTC (rev 4739)
@@ -5,14 +5,12 @@
 	ROW : {
 		ACTIVE   : "rich-ordering-list-row-active",
 		SELECTED : "rich-ordering-list-row-selected",
-		ACTIVE_SELECTED : "rich-ordering-list-row-selected rich-ordering-list-row-active",
 		DISABLED : "rich-ordering-list-row-disabled",
 		NORMAL   : "rich-ordering-list-row"
 	},
 	CELL : {
 		ACTIVE   : "rich-ordering-list-cell-active",
 		SELECTED : "rich-ordering-list-cell-selected",
-		ACTIVE_SELECTED : "rich-ordering-list-cell-selected rich-ordering-list-cell-active",
 		DISABLED : "rich-ordering-list-cell-disabled",
 		NORMAL   : "rich-ordering-list-cell",
 		BEGIN:	" rich-ordering-list-cell-first",

Modified: branches/3.1.x/ui/orderingList/src/main/resources/org/richfaces/renderkit/html/scripts/SelectItem.js
===================================================================
--- branches/3.1.x/ui/orderingList/src/main/resources/org/richfaces/renderkit/html/scripts/SelectItem.js	2007-12-11 20:16:39 UTC (rev 4738)
+++ branches/3.1.x/ui/orderingList/src/main/resources/org/richfaces/renderkit/html/scripts/SelectItem.js	2007-12-11 20:16:51 UTC (rev 4739)
@@ -19,35 +19,29 @@
 	doActive : function() {
 		var classes = this.CLASSES; 
 		var row = this._node;
-		var newRowStyle = classes.ROW.ACTIVE;
-		var newCellStyle = classes.CELL.ACTIVE;
-		if (Element.hasClassName(row, classes.ROW.SELECTED)) {
-			newRowStyle = classes.ROW.ACTIVE_SELECTED;
-			newCellStyle = classes.CELL.ACTIVE_SELECTED;
-		}
-		this.doChange(row, newRowStyle, newCellStyle,
-			classes.CELL.BEGIN, classes.CELL.END);
 
+		this.addClass(row, classes.ROW.ACTIVE, classes.CELL.ACTIVE);
+
 		this.active = true;
 	},
 	
 	doSelect : function() {
 		var row = this._node;
 		var classes = this.CLASSES; 
-		this.doChange(row, 
-						   classes.ROW.SELECTED, 
-						   classes.CELL.SELECTED);
 
+		this.addClass(row, classes.ROW.SELECTED, classes.CELL.SELECTED);
+		this.removeClass(row, classes.ROW.ACTIVE, classes.CELL.ACTIVE);
+
 		this.selected = true;
 	},
 	
 	doNormal : function() {
 		var row = this._node;
 		var classes = this.CLASSES; 
-		this.doChange(row, 
-						   classes.ROW.NORMAL, 
-						   classes.CELL.NORMAL);
 
+		this.removeClass(row, classes.ROW.SELECTED, classes.CELL.SELECTED);
+		this.removeClass(row, classes.ROW.ACTIVE, classes.CELL.ACTIVE);
+
 		this.active = false;
 		this.selected = false;
 	},
@@ -60,24 +54,24 @@
 		return this.active;
 	},
 	
-	doChange : function(row, classNameRow, classNameCell, classNameCellBegin, classNameCellEnd) {
-		this.doChangeNode(row, classNameRow);
+	addClass : function(row, classNameRow, classNameCell) {
+		row.addClassName(classNameRow);
 		var cells = row.cells;
 		for (var i = 0; i < cells.length; i++) {
 			var cell = cells[i];
-			var clazz = classNameCell;
-			if (classNameCellEnd && (cells.length - 1) == i) {
-				clazz += " " + classNameCellEnd;
-			}
-			if (classNameCellBegin && 0 == i){
-				clazz += " " + classNameCellBegin;
-			}
-			this.doChangeNode(cell, clazz);
+			
+			cell.addClassName(classNameCell);
 		}
 	},
 	
-	doChangeNode : function(node, className) {
-		node.className = className;
+	removeClass : function(row, classNameRow, classNameCell) {
+		row.removeClassName(classNameRow);
+		var cells = row.cells;
+		for (var i = 0; i < cells.length; i++) {
+			var cell = cells[i];
+			
+			cell.removeClassName(classNameCell);
+		}
 	},
 	
 	saveState: function() {




More information about the richfaces-svn-commits mailing list