[richfaces-svn-commits] JBoss Rich Faces SVN: r724 - trunk/sandbox/scrollable-grid/src/main/java/org/richfaces/renderkit/html.
richfaces-svn-commits at lists.jboss.org
richfaces-svn-commits at lists.jboss.org
Thu May 10 14:22:29 EDT 2007
Author: abelevich
Date: 2007-05-10 14:22:29 -0400 (Thu, 10 May 2007)
New Revision: 724
Modified:
trunk/sandbox/scrollable-grid/src/main/java/org/richfaces/renderkit/html/ScrollableGridBaseRenderer.java
Log:
Modified: trunk/sandbox/scrollable-grid/src/main/java/org/richfaces/renderkit/html/ScrollableGridBaseRenderer.java
===================================================================
--- trunk/sandbox/scrollable-grid/src/main/java/org/richfaces/renderkit/html/ScrollableGridBaseRenderer.java 2007-05-10 18:22:20 UTC (rev 723)
+++ trunk/sandbox/scrollable-grid/src/main/java/org/richfaces/renderkit/html/ScrollableGridBaseRenderer.java 2007-05-10 18:22:29 UTC (rev 724)
@@ -1,17 +1,21 @@
package org.richfaces.renderkit.html;
import java.io.IOException;
+import java.util.Map;
import javax.faces.component.UIComponent;
+import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
import javax.faces.context.ResponseWriter;
import org.ajax4jsf.ajax.repeat.DataVisitor;
import org.ajax4jsf.framework.ajax.AjaxContext;
+import org.ajax4jsf.framework.renderer.AjaxRendererUtils;
import org.ajax4jsf.framework.renderer.ComponentVariables;
import org.ajax4jsf.framework.renderer.ComponentsVariableResolver;
import org.ajax4jsf.framework.renderer.RendererBase;
import org.ajax4jsf.framework.renderer.RendererUtils.HTML;
+import org.ajax4jsf.framework.util.javascript.JSFunction;
import org.richfaces.component.UIScrollableGrid;
import org.richfaces.component.UIScrollableGridColumn;
import org.richfaces.renderkit.CompositeRenderer;
@@ -31,6 +35,8 @@
private final RendererBase cellTemplate = TemplateLoader.loadTemplate("org.richfaces.renderkit.html.ScrollableGridCellRenderer");
+
+
private final ColumnVisitor headerRenderer = new ColumnVisitor(){
public void visit(FacesContext context, UIScrollableGridColumn column,
@@ -110,6 +116,10 @@
final GridRendererState state = GridRendererState.getRendererState(context);
+ ComponentVariables variables = ComponentsVariableResolver.getVariables(this, component);
+// variables.setVariable("column_count", variable);
+ variables.setVariable("rows_count", new Integer(component.getRows()));
+
writer.startElement(HTML.DIV_ELEM, grid);
getUtils().writeAttribute(writer, "class","GridDataColumns");
getUtils().writeAttribute(writer, "id","FrozenBox");
@@ -160,13 +170,11 @@
state.set_isFrozenColumn(false);
grid.walk(context, rowsRenderer, state);
-
writer.endElement("tbody");
writer.endElement("table");
writer.endElement(HTML.DIV_ELEM);
+ grid.setRowKey(null);
-
-
}
public void renderHeaders(FacesContext context, UIComponent component
@@ -189,9 +197,36 @@
public void tearDownState(FacesContext context){
GridRendererState.restoreState(context);
- }
+ }
+ public String getRowsAjaxUpdate(FacesContext context, UIScrollableGrid grid){
+ JSFunction function = AjaxRendererUtils.buildAjaxFunction(grid, context);
+ Map options = AjaxRendererUtils.buildEventOptions(context, grid);
+
+ function.addParameter(options);
+ String completeFunction = function.toScript()+"; return false;";
+ return completeFunction;
+ }
+ protected void doDecode(FacesContext context, UIComponent component) {
+
+ String value = null;
+
+ if(component instanceof UIScrollableGrid){
+ UIScrollableGrid grid = (UIScrollableGrid)component;
+ ExternalContext externalContext = context.getExternalContext();
+ String clientId = grid.getClientId(context) + "_state_input";
+
+ Map parameters = externalContext.getRequestParameterMap();
+ if(parameters.containsKey(clientId)){
+ value = (String)parameters.get(clientId);
+
+ }
+ }
+ super.doDecode(context, component);
+ }
+
+
// for benchmark
public void encodeBegin(FacesContext context, UIComponent component
) throws IOException {
@@ -211,6 +246,8 @@
}
}
+
+
public void encodeChildren(FacesContext context, UIComponent component
) throws IOException {
More information about the richfaces-svn-commits
mailing list