[richfaces-svn-commits] JBoss Rich Faces SVN: r1326 - in trunk/sandbox/scrollable-grid/src/main: javascript/ClientUI/controls/grid and 1 other directories.
richfaces-svn-commits at lists.jboss.org
richfaces-svn-commits at lists.jboss.org
Tue Jun 26 12:13:22 EDT 2007
Author: konstantin.mishin
Date: 2007-06-26 12:13:22 -0400 (Tue, 26 Jun 2007)
New Revision: 1326
Modified:
trunk/sandbox/scrollable-grid/src/main/java/org/richfaces/renderkit/html/GridRendererState.java
trunk/sandbox/scrollable-grid/src/main/java/org/richfaces/renderkit/html/ScrollableGridBaseRenderer.java
trunk/sandbox/scrollable-grid/src/main/javascript/ClientUI/controls/grid/GridHeader.js
trunk/sandbox/scrollable-grid/src/main/javascript/ClientUI/controls/grid/ScrollableGrid.js
trunk/sandbox/scrollable-grid/src/main/templates/org/richfaces/scrollable-grid.jspx
Log:
add column hide JS API, server part
Modified: trunk/sandbox/scrollable-grid/src/main/java/org/richfaces/renderkit/html/GridRendererState.java
===================================================================
--- trunk/sandbox/scrollable-grid/src/main/java/org/richfaces/renderkit/html/GridRendererState.java 2007-06-26 15:55:43 UTC (rev 1325)
+++ trunk/sandbox/scrollable-grid/src/main/java/org/richfaces/renderkit/html/GridRendererState.java 2007-06-26 16:13:22 UTC (rev 1326)
@@ -5,6 +5,7 @@
import java.io.Serializable;
import java.util.Collection;
+import java.util.HashSet;
import java.util.Map;
import java.util.Set;
@@ -32,6 +33,8 @@
private boolean fake;
+ private HashSet ids = new HashSet();
+
private Object rowClasses[];
private int rowClassesSize;
@@ -417,5 +420,13 @@
this.rowClasses = rowClasses.toArray();
rowClassesSize = this.rowClasses.length;
}
+ }
+
+ public HashSet getIds() {
+ return ids;
+ }
+
+ public void addId(String id) {
+ ids.add(id);
}
}
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-06-26 15:55:43 UTC (rev 1325)
+++ trunk/sandbox/scrollable-grid/src/main/java/org/richfaces/renderkit/html/ScrollableGridBaseRenderer.java 2007-06-26 16:13:22 UTC (rev 1326)
@@ -98,7 +98,7 @@
int cell_index = state.getCellIndex();
String client_id = state.getClientId();
-
+ state.addId(column.getId());
headerCellTemplate = getHeaderCellTemplate();
ComponentVariables variables = ComponentsVariableResolver.getVariables(headerCellTemplate, column);
@@ -334,7 +334,7 @@
options.addOption("columnsCount", new Integer(columnCount));
options.addOption("rowsCount", new Integer(grid.getRows()));
options.addEventHandler("onselectionchange");
-
+ options.addOption("ids", GridRendererState.getRendererState(context).getIds());
JSFunction function = new JSFunction("new ClientUI.controls.grid.ScrollableGrid");
function.addParameter(options);
Modified: trunk/sandbox/scrollable-grid/src/main/javascript/ClientUI/controls/grid/GridHeader.js
===================================================================
--- trunk/sandbox/scrollable-grid/src/main/javascript/ClientUI/controls/grid/GridHeader.js 2007-06-26 15:55:43 UTC (rev 1325)
+++ trunk/sandbox/scrollable-grid/src/main/javascript/ClientUI/controls/grid/GridHeader.js 2007-06-26 16:13:22 UTC (rev 1326)
@@ -129,8 +129,10 @@
var i = 0, h, j=0;
var cols = $A(this.headerFrozenRow.getElement().getElementsByTagName("col"));
var cells = $A(this.headerFrozenRow.getElement().rows[0].cells);
+ var ids = this.grid.options.ids;
cells.each(function(cell) {
columns[i] = {
+ columnId: ids[i],
col: $(cols[j]),
width: parseInt(cols[j].width), //Element.getWidth(cell),
innerHTML: cell.innerHTML,
@@ -163,9 +165,10 @@
j=0;
cols = $A(this.headerRow.getElement().getElementsByTagName("col"));
- cells = $A(this.headerRow.getElement().rows[0].cells);
+ cells = $A(this.headerRow.getElement().rows[0].cells);
cells.each(function(cell) {
columns[i] = {
+ columnId: ids[i],
col: $(cols[j]),
width: parseInt(cols[j].width), //Element.getWidth(cell),
innerHTML: cell.innerHTML,
@@ -429,10 +432,12 @@
},
hideColumn: function(index, frozen) {
- var colomn = this._columns.splice(index,1)[0];
- colomn.col.parentNode.removeChild(colomn.col);
- colomn.bodyCol.parentNode.removeChild(colomn.bodyCol);
- colomn.footerCol.parentNode.removeChild(colomn.footerCol);
+ var column = this._columns.splice(index,1)[0];
+ var input = $(this.grid.getElement().id + "_hc")
+ input.value = input.value + column.columnId + ",";
+ column.col.parentNode.removeChild(column.col);
+ column.bodyCol.parentNode.removeChild(column.bodyCol);
+ column.footerCol.parentNode.removeChild(column.footerCol);
var rows;
if(frozen) {
rows = this.headerFrozenRow.getElement().rows;
Modified: trunk/sandbox/scrollable-grid/src/main/javascript/ClientUI/controls/grid/ScrollableGrid.js
===================================================================
--- trunk/sandbox/scrollable-grid/src/main/javascript/ClientUI/controls/grid/ScrollableGrid.js 2007-06-26 15:55:43 UTC (rev 1325)
+++ trunk/sandbox/scrollable-grid/src/main/javascript/ClientUI/controls/grid/ScrollableGrid.js 2007-06-26 16:13:22 UTC (rev 1326)
@@ -121,15 +121,15 @@
doCollapse: function(index) {
var header = this.getHeader();
- var length = header.headerFrozenRow.getElement().rows[0].cells.length;
- if(index < length) {
- this.hideColumn(index, true);
- } else {
- index -= fcount;
- length = header.headerRow.getElement().rows[0].cells.length;
- if (index < length - 1){
- this.hideColumn(index, false);
+ var flength = header.headerFrozenRow.getElement().rows[0].cells.length;
+ var nlength = header.headerRow.getElement().rows[0].cells.length;
+ if(index < flength + nlength - 1) {
+ var frozen = true;
+ if(index >= flength) {
+ index -= fcount;
+ frozen = false;
}
+ this.hideColumn(index, frozen);
}
},
Modified: trunk/sandbox/scrollable-grid/src/main/templates/org/richfaces/scrollable-grid.jspx
===================================================================
--- trunk/sandbox/scrollable-grid/src/main/templates/org/richfaces/scrollable-grid.jspx 2007-06-26 15:55:43 UTC (rev 1325)
+++ trunk/sandbox/scrollable-grid/src/main/templates/org/richfaces/scrollable-grid.jspx 2007-06-26 16:13:22 UTC (rev 1326)
@@ -162,6 +162,7 @@
</div>
</div>
+ <input type="hidden" name="#{clientId}_hc" id="#{clientId}_hc"/>
<input type="hidden" name="#{clientId}_state_input" id="#{clientId}_state_input"/>
<input type="hidden" name="#{clientId}_options_input" id="#{clientId}_options_input"/>
<input type="hidden" name="#{clienId}_rows_input" id="#{clientId}_rows_input" value="#{rows_count}"/>
@@ -170,9 +171,7 @@
<f:call name="contributorsEncodeHere"/>
</div>
-
- <f:call name="tearDownState"/>
-
+
<jsp:scriptlet>
if(component.getFacets().containsKey("splash")){
UIComponent splash = component.getFacet("splash");
@@ -193,6 +192,7 @@
// ]]>
</script>
+ <f:call name="tearDownState"/>
</f:root>
More information about the richfaces-svn-commits
mailing list