[richfaces-svn-commits] JBoss Rich Faces SVN: r8875 - in trunk/ui/scrollableDataTable/src/main: templates/org/richfaces and 1 other directory.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Mon Jun 2 13:46:39 EDT 2008


Author: konstantin.mishin
Date: 2008-06-02 13:46:39 -0400 (Mon, 02 Jun 2008)
New Revision: 8875

Modified:
   trunk/ui/scrollableDataTable/src/main/java/org/richfaces/renderkit/html/ScrollableDataTableBaseRenderer.java
   trunk/ui/scrollableDataTable/src/main/templates/org/richfaces/scrollable-data-table-header-cell.jspx
   trunk/ui/scrollableDataTable/src/main/templates/org/richfaces/scrollable-data-table.jspx
Log:
RF-3606

Modified: trunk/ui/scrollableDataTable/src/main/java/org/richfaces/renderkit/html/ScrollableDataTableBaseRenderer.java
===================================================================
--- trunk/ui/scrollableDataTable/src/main/java/org/richfaces/renderkit/html/ScrollableDataTableBaseRenderer.java	2008-06-02 16:47:39 UTC (rev 8874)
+++ trunk/ui/scrollableDataTable/src/main/java/org/richfaces/renderkit/html/ScrollableDataTableBaseRenderer.java	2008-06-02 17:46:39 UTC (rev 8875)
@@ -157,7 +157,6 @@
 			variables.setVariable("cell_index", new Integer(cell_index));
 			variables.setVariable("sepOffset", new Integer(sepOffset));
 			variables.setVariable("headerColumnClass", state.getColumnClass());
-			variables.setVariable("columnWidth", width);
 			Boolean sorting = getColumnSorting(state.getGrid(), column.getId());
 			if (sorting != null) {
 				if (sorting.booleanValue()) {
@@ -173,6 +172,22 @@
 			headerCellTemplate.encodeEnd(context, column);
 		}
 	};
+
+	private final ColumnVisitor styleRenderer = new ColumnVisitor(){
+
+		public int visit(FacesContext context, UIComponent column, ResponseWriter writer, ScrollableDataTableRendererState state) throws IOException {
+			
+			int cell_index = state.getCellIndex();
+			String widthPx = getColumnWidth(column);
+			widthPx = getFormattedWidth(widthPx);
+			int width = Integer.parseInt(widthPx);
+			
+			writer.writeText(".dr-sdt-c-" + cell_index + " {", "width");
+			writer.writeText("width: " + width + "px;", "width");
+			writer.writeText("}", "width");			
+			return 0;
+		}
+	};
 	
 	private final ColumnVisitor headerRenderer = new ColumnVisitor() {
 		
@@ -544,6 +559,11 @@
 		ColumnWalker.iterateOverColumns(context, grid, headerCellRenderer, writer, state);
 	}
 	
+	public void renderStyle(FacesContext context, UIScrollableDataTable grid) throws IOException {
+		ScrollableDataTableRendererState state = ScrollableDataTableRendererState.getRendererState(context);
+		ColumnWalker.iterateOverColumns(context, grid, styleRenderer, context.getResponseWriter(), state);
+	}
+	
 	public void renderFooters(FacesContext context, UIScrollableDataTable grid, boolean isFrozen) throws IOException{
 			
 		ResponseWriter writer = context.getResponseWriter();

Modified: trunk/ui/scrollableDataTable/src/main/templates/org/richfaces/scrollable-data-table-header-cell.jspx
===================================================================
--- trunk/ui/scrollableDataTable/src/main/templates/org/richfaces/scrollable-data-table-header-cell.jspx	2008-06-02 16:47:39 UTC (rev 8874)
+++ trunk/ui/scrollableDataTable/src/main/templates/org/richfaces/scrollable-data-table-header-cell.jspx	2008-06-02 17:46:39 UTC (rev 8875)
@@ -21,13 +21,6 @@
 			}
 		
 		</jsp:scriptlet>
-		<style>
-		<!--
-		.dr-sdt-c-#{cell_index} {
-		width: #{columnWidth}px;
-		}
-		-->
-		</style>
 
 		<vcp:body/>
 		

Modified: trunk/ui/scrollableDataTable/src/main/templates/org/richfaces/scrollable-data-table.jspx
===================================================================
--- trunk/ui/scrollableDataTable/src/main/templates/org/richfaces/scrollable-data-table.jspx	2008-06-02 16:47:39 UTC (rev 8874)
+++ trunk/ui/scrollableDataTable/src/main/templates/org/richfaces/scrollable-data-table.jspx	2008-06-02 17:46:39 UTC (rev 8875)
@@ -89,7 +89,13 @@
 						<div id="#{clientId}:cs" class="dr-sdt-hsplit" style="display: none;"/>
 						<div id="#{clientId}_GridHeaderTemplate" class="dr-sdt-inlinebox" style="#{hStyle}; width: #{component.attributes['width']};">
 							<iframe id="#{clientId}:hs" class="dr-sdt-substrate" src="javascript:\'\'" scrolling="no" frameborder="0" > <br/> </iframe>
-							<div style="display: block; left: 0px; top: 0px; width: #{sumWidth}px;">			
+							<div style="display: block; left: 0px; top: 0px; width: #{sumWidth}px;">
+									<style>
+										<f:call name="renderStyle" />	
+										.dr-sdt-c-f {
+											width: 0px;
+										}
+									</style>
 									<span class="dr-sdt-tmplbox dr-sdt-fb" id="#{clientId}:header:FrozenBox">
 										<table cellpadding="0" cellspacing="0" style="border-collapse:collapse;">
 											<thead>
@@ -114,13 +120,6 @@
 														]]>
 													</jsp:scriptlet>
 													<th class="dr-sdt-hc dr-sdt-c-f rich-sdt-header-cell">
-														<style>
-														<!--
-														.dr-sdt-c-f {
-															width: 0px;
-														}
-														-->
-														</style>
 														<div class="dr-sdt-cbody" />
 													</th>
 												</tr>	




More information about the richfaces-svn-commits mailing list