Author: pgolawski
Date: 2008-11-18 03:35:29 -0500 (Tue, 18 Nov 2008)
New Revision: 11196
Modified:
trunk/ui/extendedDataTable/src/main/javascript/ClientUI/controls/datatable/ExtendedDataTable.js
trunk/ui/extendedDataTable/src/main/javascript/ClientUI/controls/datatable/ExtendedDataTableHeader.js
Log:
sort and group changed
added sortBy and groupBy API functions
Modified:
trunk/ui/extendedDataTable/src/main/javascript/ClientUI/controls/datatable/ExtendedDataTable.js
===================================================================
---
trunk/ui/extendedDataTable/src/main/javascript/ClientUI/controls/datatable/ExtendedDataTable.js 2008-11-18
00:56:26 UTC (rev 11195)
+++
trunk/ui/extendedDataTable/src/main/javascript/ClientUI/controls/datatable/ExtendedDataTable.js 2008-11-18
08:35:29 UTC (rev 11196)
@@ -12,6 +12,14 @@
this.options = options;
this.selectionManager = new ExtendedDataTable.SelectionManager(options, this);
+ if (this.options.sortFunction) {
+ this.sortFct = this.options.sortFunction;
+ }
+
+ if (this.options.groupFunction) {
+ this.groupFct = this.options.groupFunction;
+ }
+
this.onGroupToggleFct = this.options.onGroupToggleFunction;
if (this.options.onColumnResize != null){
this.onColumnResize = this.options.onColumnResize;
@@ -146,8 +154,40 @@
*/
//this.table.setStyle({visibility:''});
this.splashScreen.className = 'extdt-ss-hdn';
- },
+ },
+ sortBy: function(columnId, ascending, event){
+ if (this.sortFct){
+ this.preSendAjaxRequest();
+ if (!columnId){
+ columnId = "";
+ }
+ else{
+ //prepend table id if necessary
+ if (columnId.indexOf(":") == -1){
+ columnId = this.id + ":" + columnId;
+ }
+ }
+ this.sortFct(event, columnId, ascending);
+ }
+ },
+
+ groupBy: function(columnId, event){
+ if (this.groupFct){
+ this.preSendAjaxRequest();
+ if (!columnId){
+ columnId = "";
+ }
+ else{
+ //prepend table id if necessary
+ if (columnId.indexOf(":") == -1){
+ columnId = this.id + ":" + columnId;
+ }
+ }
+ this.groupFct(event, columnId);
+ }
+ },
+
OnWindowResize: function(event) {
if (this.table) {
this.calculateWidthsFromRatios();
Modified:
trunk/ui/extendedDataTable/src/main/javascript/ClientUI/controls/datatable/ExtendedDataTableHeader.js
===================================================================
---
trunk/ui/extendedDataTable/src/main/javascript/ClientUI/controls/datatable/ExtendedDataTableHeader.js 2008-11-18
00:56:26 UTC (rev 11195)
+++
trunk/ui/extendedDataTable/src/main/javascript/ClientUI/controls/datatable/ExtendedDataTableHeader.js 2008-11-18
08:35:29 UTC (rev 11196)
@@ -16,8 +16,7 @@
this.eventHeaderCellMouseOver = this.OnHeaderCellMouseOver.bindAsEventListener(this);
this.eventHeaderCellMouseOut = this.OnHeaderCellMouseOut.bindAsEventListener(this);
- if (this.extDt.options.sortFunction) {
- this.sortFct = this.extDt.options.sortFunction;
+ if (this.extDt.sortFct) {
this.eventHeaderCellClicked =
this.OnHeaderCellMouseClicked.bindAsEventListener(this);
}
@@ -48,8 +47,7 @@
var columnId = (el) ? el.id : null;
if (columnId && (columnId != "")){
- this.extDt.showSplashScreen();
- this.sortFct(event, columnId);
+ this.extDt.sortBy(columnId, null, event);
}
Event.stop(event);
},
Show replies by date