[richfaces-svn-commits] JBoss Rich Faces SVN: r4828 - in branches/3.1.x/ui/scrollableDataTable/src/main: javascript/ClientUI/common/box and 4 other directories.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Thu Dec 13 14:15:11 EST 2007


Author: nbelaevski
Date: 2007-12-13 14:15:11 -0500 (Thu, 13 Dec 2007)
New Revision: 4828

Modified:
   branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/common/box/Box.js
   branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/common/box/InlineBox.js
   branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/common/box/ScrollableBox.js
   branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/common/box/SplashBox.js
   branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/common/box/Substrate.js
   branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/common/utils/CustomEvent.js
   branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/common/utils/StringBuilder.js
   branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/ArrayDataModel.js
   branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/DataCash.js
   branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/DataModel.js
   branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/DefaultColumnModel.js
   branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/FakeArrayDataModel.js
   branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/Grid.js
   branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/GridBody.js
   branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/GridFooter.js
   branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/GridHeader.js
   branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/ScrollableGrid.js
   branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/Selection.js
   branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/layouts/GridLayoutManager.js
   branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/layouts/LayoutManager.js
   branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/layouts/VLayoutManager.js
   branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUILib.js
   branches/3.1.x/ui/scrollableDataTable/src/main/templates/org/richfaces/scrollable-data-table.jspx
Log:
http://jira.jboss.com/jira/browse/RF-1617

Modified: branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/common/box/Box.js
===================================================================
--- branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/common/box/Box.js	2007-12-13 18:37:32 UTC (rev 4827)
+++ branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/common/box/Box.js	2007-12-13 19:15:11 UTC (rev 4828)
@@ -27,13 +27,7 @@
  *	})
  */
 ClientUI.common.box.Box = Class.create({
-	CLASSDEF: {
-		name: 'ClientUI.common.box.Box'
-	}	
-});
 
-Object.extend(ClientUI.common.box.Box.prototype, {
-
 	initialize: function(element, parentElement, dontUpdateStyles) {
 		this.element = $(element);
 		if(!this.element) {

Modified: branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/common/box/InlineBox.js
===================================================================
--- branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/common/box/InlineBox.js	2007-12-13 18:37:32 UTC (rev 4827)
+++ branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/common/box/InlineBox.js	2007-12-13 19:15:11 UTC (rev 4828)
@@ -10,16 +10,9 @@
 /**
  * Base class that wrap work with inline blocks like span
  */
-ClientUI.common.box.InlineBox = Class.create({
-	CLASSDEF: {
-		name: 'ClientUI.common.box.InlineBox',
-		parent: ClientUI.common.box.Box
-	}
-});
+ClientUI.common.box.InlineBox = Class.create(ClientUI.common.box.Box, {
 
-Object.extend(ClientUI.common.box.InlineBox.prototype, {
-
-	initialize: function(element, parentElement, dontUpdateStyles) {
+	initialize: function($super, element, parentElement, dontUpdateStyles) {
 		if(!element) {
 			element = $(document.createElement("span"));
 			if($(parentElement)) {
@@ -33,7 +26,7 @@
 			element.id = "ClientUI_InlineBox" + ClientUI_common_box_InlineBox_idGenerator++;
 		}
 		
-		ClientUI.common.box.InlineBox.parentClass.constructor().call(this, element, parentElement, dontUpdateStyles);
+		$super(element, parentElement, dontUpdateStyles);
 		
 		// additional styles
 		if(!dontUpdateStyles) {

Modified: branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/common/box/ScrollableBox.js
===================================================================
--- branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/common/box/ScrollableBox.js	2007-12-13 18:37:32 UTC (rev 4827)
+++ branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/common/box/ScrollableBox.js	2007-12-13 19:15:11 UTC (rev 4828)
@@ -11,29 +11,11 @@
 /**
  * This class target to manage scrollable box object.
  */
-ClientUI.common.box.ScrollableBox = Class.create({
-	CLASSDEF: {
-		name: 'ClientUI.common.box.ScrollableBox',
-		parent: ClientUI.common.box.Box 
-	}
-	
-});
+ClientUI.common.box.ScrollableBox = Class.create(ClientUI.common.box.Box, {
 
-Object.extend(ClientUI.common.box.ScrollableBox.prototype, {
-
-	// Custom events
-	/**
-	 * Occured when content scrolled in horizontal
-	 */
-	eventHScroll: {},
-	/**
-	 * Occured when content scrolled in vertical
-	 */
-	eventVScroll: {},
-	
 	//Constructor
-	initialize: function(element, parentElement) {
-		ClientUI.common.box.ScrollableBox.parentClass.constructor().call(this, element, parentElement);
+	initialize: function($super, element, parentElement) {
+		$super(element, parentElement);
 		this.element.setStyle({overflow: 'auto'});
 		
 		// Create custom event producers
@@ -61,9 +43,9 @@
 			this.eventVScroll.fire(this.getViewportScrollY());
 		}
 	},
-	updateLayout: function() {
+	updateLayout: function($super) {
 		// NOTE: not implemented in this class
-		ClientUI.common.box.ScrollableBox.parentClass.method("updateLayout").call(this);
+		$super();
 	},
 	getViewportScrollX: function() {
 		var scrollX = 0;
@@ -135,4 +117,16 @@
 	    this.scrollerWidth = (wNoScroll - wScroll);
 	    return this.scrollerWidth || 0;
 	}	
+});
+
+Object.extend(ClientUI.common.box.ScrollableBox.prototype, {
+	// Custom events
+	/**
+	 * Occured when content scrolled in horizontal
+	 */
+	eventHScroll: {},
+	/**
+	 * Occured when content scrolled in vertical
+	 */
+	eventVScroll: {}	
 });
\ No newline at end of file

Modified: branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/common/box/SplashBox.js
===================================================================
--- branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/common/box/SplashBox.js	2007-12-13 18:37:32 UTC (rev 4827)
+++ branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/common/box/SplashBox.js	2007-12-13 19:15:11 UTC (rev 4828)
@@ -11,17 +11,10 @@
 /**
  * Base class that wrap work with inline blocks like span
  */
-ClientUI.common.box.SplashBox = Class.create({
-	CLASSDEF: {
-		name: 'ClientUI.common.box.SplashBox',
-		parent: ClientUI.common.box.Box
-	}
-});
+ClientUI.common.box.SplashBox = Class.create(ClientUI.common.box.Box, {
 
-Object.extend(ClientUI.common.box.SplashBox.prototype, {
-
-	initialize: function(text, parentElement, zIndex, supressSplash) {
-		ClientUI.common.box.SplashBox.parentClass.constructor().call(this, null, parentElement);
+	initialize: function($super, text, parentElement, zIndex, supressSplash) {
+		$super(null, parentElement);
 		this.moveTo(-1000, -1000);
 		this.zIndex = zIndex || 500;
 		this.supressSplash = supressSplash || false;

Modified: branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/common/box/Substrate.js
===================================================================
--- branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/common/box/Substrate.js	2007-12-13 18:37:32 UTC (rev 4827)
+++ branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/common/box/Substrate.js	2007-12-13 19:15:11 UTC (rev 4828)
@@ -10,17 +10,9 @@
 /**
  * Base class that wrap work with inline blocks like span
  */
-ClientUI.common.box.Substrate = Class.create({
-	CLASSDEF: {
-		name: 'ClientUI.common.box.Substrate',
-		parent: ClientUI.common.box.Box
-	}
-	
-});
+ClientUI.common.box.Substrate = Class.create(ClientUI.common.box.Box, {
 
-Object.extend(ClientUI.common.box.Substrate.prototype, {
-
-	initialize: function(element, parentElement, dontUpdateStyles) {
+	initialize: function($super, element, parentElement, dontUpdateStyles) {
 		if(!element) {			
 			var fakeElement = $(document.createElement("div"));
 			fakeElement.innerHTML = '<iframe id="'+'ClientUI_Substrate' + (ClientUI_common_box_Substrate_idGenerator++) +'" src="" scrolling="no" frameborder="0" style="filter:Alpha(opacity=0);position:absolute;top:0px;left:0px;display:block"></iframe>';
@@ -28,7 +20,7 @@
 			fakeElement.removeChild(element);
       	}		
 		
-		ClientUI.common.box.Substrate.parentClass.constructor().call(this, element, parentElement, dontUpdateStyles);
+		$super(element, parentElement, dontUpdateStyles);
 		
 		// additional styles
 		if(!dontUpdateStyles) {

Modified: branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/common/utils/CustomEvent.js
===================================================================
--- branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/common/utils/CustomEvent.js	2007-12-13 18:37:32 UTC (rev 4827)
+++ branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/common/utils/CustomEvent.js	2007-12-13 19:15:11 UTC (rev 4828)
@@ -9,16 +9,6 @@
 ClientUILib.declarePackage("ClientUI.common.utils.CustomEvent");
 
 ClientUI.common.utils.CustomEvent = Class.create({
-	CLASSDEF: {
-		name: 'ClientUI.common.utils.CustomEvent'
-	}
-	
-});
-
-Object.extend(ClientUI.common.utils.CustomEvent.prototype, {
-	_eventName: 'undefined',
-	_id: -1,
-	
 	// Constructor
 	initialize: function(event) {
 		this._eventName = event;
@@ -53,6 +43,11 @@
 	}
 });
 
+Object.extend(ClientUI.common.utils.CustomEvent, {
+	_eventName: 'undefined',
+	_id: -1	
+});
+
 Event._observe = Event.observe;
 Event.observe  = function( element, name, observer, useCapture ) {
 	if(element && element.getName && element.getId) {

Modified: branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/common/utils/StringBuilder.js
===================================================================
--- branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/common/utils/StringBuilder.js	2007-12-13 18:37:32 UTC (rev 4827)
+++ branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/common/utils/StringBuilder.js	2007-12-13 19:15:11 UTC (rev 4828)
@@ -16,17 +16,7 @@
  * var str = sb.toString();
  */
 StringBuilder = Class.create({
-	CLASSDEF: {
-		name: 'StringBuilder'
-	},
 	
-	length: 	0,
-	
-	// private
-	_current:	0,
-	_parts:		[],
-	_string: 	null,	// used to cache the string
-	
 	initialize: function(str) {
 		this._string = null;
 		this._current = 0;
@@ -63,4 +53,11 @@
 	}
 });
 
-
+Object.extend(StringBuilder.prototype, {
+	length: 	0,
+	
+	// private
+	_current:	0,
+	_parts:		[],
+	_string: 	null	// used to cache the string
+});

Modified: branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/ArrayDataModel.js
===================================================================
--- branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/ArrayDataModel.js	2007-12-13 18:37:32 UTC (rev 4827)
+++ branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/ArrayDataModel.js	2007-12-13 19:15:11 UTC (rev 4828)
@@ -11,17 +11,9 @@
  * by Denis Morozov <dmorozov at exadel.com> distributed under the BSD license. 
  *
  */
-ClientUI.controls.grid.ArrayDataModel = Class.create({
-	CLASSDEF: {
-		name: 'ClientUI.controls.grid.ArrayDataModel',
-		parent: ClientUI.controls.grid.DataModel
-	}
-	
-});
-
-Object.extend(ClientUI.controls.grid.ArrayDataModel.prototype, {
-	initialize: function(data) {
-		this.parentClass().constructor().call(this);
+ClientUI.controls.grid.ArrayDataModel = Class.create(ClientUI.controls.grid.DataModel, {
+	initialize: function($super, data) {
+		$super();
 		this.data = $A(data || []);
 	},
 	getRow: function(index) {

Modified: branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/DataCash.js
===================================================================
--- branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/DataCash.js	2007-12-13 18:37:32 UTC (rev 4827)
+++ branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/DataCash.js	2007-12-13 19:15:11 UTC (rev 4828)
@@ -11,14 +11,7 @@
  *
  */
 ClientUI.controls.grid.DataCash = Class.create({
-	CLASSDEF: {
-		name: 'ClientUI.controls.grid.DataCash'
-	},
 	
-	PKG_SIZE: 20	
-});
-
-Object.extend(ClientUI.controls.grid.DataCash.prototype, {
 	initialize: function(cashSize) {
 		var count = parseInt(cashSize/this.PKG_SIZE + 1);
 		this.cash = new Array(count);
@@ -34,4 +27,8 @@
 		var i = parseInt(index/this.PKG_SIZE), j = index%this.PKG_SIZE;
 		this.cash[i][j] = row;
 	}
+});
+
+Object.extend(ClientUI.controls.grid.DataCash.prototype, {
+	PKG_SIZE: 20
 });
\ No newline at end of file

Modified: branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/DataModel.js
===================================================================
--- branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/DataModel.js	2007-12-13 18:37:32 UTC (rev 4827)
+++ branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/DataModel.js	2007-12-13 19:15:11 UTC (rev 4828)
@@ -13,13 +13,6 @@
  *
  */
 ClientUI.controls.grid.DataModel = Class.create({
-	CLASSDEF: {
-		name: 'ClientUI.controls.grid.DataModel'
-	}
-});
-
-Object.extend(ClientUI.controls.grid.DataModel.prototype, {
-	eventDataReady: {},	
 	
 	initialize: function() {
 		// constructor
@@ -47,4 +40,7 @@
 	}
 });
 
+Object.extend(ClientUI.controls.grid.DataModel.prototype, {
+	eventDataReady: {}
+});
 			

Modified: branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/DefaultColumnModel.js
===================================================================
--- branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/DefaultColumnModel.js	2007-12-13 18:37:32 UTC (rev 4827)
+++ branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/DefaultColumnModel.js	2007-12-13 19:15:11 UTC (rev 4828)
@@ -7,13 +7,6 @@
 
 
 ClientUI.controls.grid.DefaultColumnModel = Class.create({
-	CLASSDEF: {
-		name: 'ClientUI.controls.grid.DefaultColumnModel'
-	}
-	
-});
-
-Object.extend(ClientUI.controls.grid.DefaultColumnModel.prototype, {
 	initialize: function(config) {
 		this.config = config;
 		

Modified: branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/FakeArrayDataModel.js
===================================================================
--- branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/FakeArrayDataModel.js	2007-12-13 18:37:32 UTC (rev 4827)
+++ branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/FakeArrayDataModel.js	2007-12-13 19:15:11 UTC (rev 4828)
@@ -1,14 +1,7 @@
 ClientUILib.declarePackage("ClientUI.controls.grid.FakeArrayDataModel ");
-ClientUI.controls.grid.FakeArrayDataModel = Class.create({
-			CLASSDEF: {
-				name: 'ClientUI.controls.grid.FakeArrayDataModel',
-				parent: ClientUI.controls.grid.DataModel
-			}
-		});
-		
-		Object.extend(ClientUI.controls.grid.FakeArrayDataModel.prototype, {
-			initialize: function(rows_count, columns_count, grid_id) {
-				ClientUI.controls.grid.FakeArrayDataModel.parentClass.constructor().call(this);
+ClientUI.controls.grid.FakeArrayDataModel = Class.create(ClientUI.controls.grid.DataModel, {
+			initialize: function($super, rows_count, columns_count, grid_id) {
+				$super();
 				this.data = [];
 				this.count = rows_count;
 				this.columns = columns_count;

Modified: branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/Grid.js
===================================================================
--- branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/Grid.js	2007-12-13 18:37:32 UTC (rev 4827)
+++ branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/Grid.js	2007-12-13 19:15:11 UTC (rev 4828)
@@ -29,27 +29,10 @@
  *     var grid = new ClientUI.controls.grid.Grid('id_of_trigger_element', 'a nice description')
  *   </script>
  */
-ClientUI.controls.grid.Grid = Class.create({
-	CLASSDEF: {
-		name: 'ClientUI.controls.grid.Grid',
-		parent: ClientUI.common.box.Box
-	}
-
-});
-
-Object.extend(ClientUI.controls.grid.Grid.prototype, {
-	// Custom events
-	/**
-	 * Occured when content header clicked
-	 */
-	eventOnSort: {},
-	/**
-	 * Occured when column width adjusted
-	 */
-	eventOnResizeColumn: {},
+ClientUI.controls.grid.Grid = Class.create(ClientUI.common.box.Box, {
 		
-	initialize: function(element, dataModel, templates) {
-		ClientUI.controls.grid.Grid.parentClass.constructor().call(this, element);
+	initialize: function($super, element, dataModel, templates) {
+		$super(element);
 		if(!this.element || !this.element.id)
 			this.element.id = "ClientUI_Grid" + ClientUI_controls_grid_Grid_idGenerator++;
 		
@@ -97,11 +80,11 @@
 			setTimeout(function() {grid.updateLayout()}, 50);
 		}
 	},
-	updateLayout: function() {
+	updateLayout: function($super) {
 		if(!this.controlCreated || this.getHeight()==0) {
 			return;
 		}
-		ClientUI.controls.grid.Grid.parentClass.method("updateLayout").call(this);
+		$super();
 		
 		var header = this.getHeader();
 		if(header.getHeight() == 0) {
@@ -223,6 +206,18 @@
 	}
 });
 
+Object.extend(ClientUI.controls.grid.Grid.prototype, {
+	// Custom events
+	/**
+	 * Occured when content header clicked
+	 */
+	eventOnSort: {},
+	/**
+	 * Occured when column width adjusted
+	 */
+	eventOnResizeColumn: {}
+});
+
 if(!ClientUI_controls_grid_Grid_idGenerator) {
 var ClientUI_controls_grid_Grid_idGenerator = 0;
 };

Modified: branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/GridBody.js
===================================================================
--- branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/GridBody.js	2007-12-13 18:37:32 UTC (rev 4827)
+++ branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/GridBody.js	2007-12-13 19:15:11 UTC (rev 4828)
@@ -12,39 +12,16 @@
  * GridHeader.js - Grid control header pane
  * TODO: add comments
  */
-ClientUI.controls.grid.GridBody = Class.create({
-	CLASSDEF: {
-		name: 'ClientUI.controls.grid.GridBody',
-		parent: ClientUI.common.box.Box
-	}
-	
-});
-
-Object.extend(ClientUI.controls.grid.GridBody.prototype, {
+ClientUI.controls.grid.GridBody = Class.create(ClientUI.common.box.Box, {
 	/**
-	 * Count of rows can be viewed in the same time in grid
-	 */
-	dataVisible: 50,
-	
-	/**
-	 * Count of rows loaded additianally to dataVisible rows
-	 */
-	dataDelta: 5,
-
-	/**
-	 * Current data position
-	 */
-	currentPos: 0,
-	
-	/**
 	 * Constructor
 	 * @param {Object} template for Grid body row
 	 * @param {Object} grid parent grid object
 	 */
-	initialize: function(template, grid) {
+	initialize: function($super, template, grid) {
 		this.grid = grid;
 		this.gridId = grid.getElement().id;
-		ClientUI.controls.grid.GridBody.parentClass.constructor().call(this, template);
+		$super(template);
 
 		// declare event listeners
 		this._eventOnHScroll = this._onContentHScroll.bind(this);
@@ -217,11 +194,11 @@
 		//	this.defaultRowHeight -= this.getBorderWidth("tb") + this.getPadding("tb");
 		//}	
 	},
-	updateLayout: function() {
+	updateLayout: function($super) {
 		if(!this.controlCreated || !this.grid.controlCreated) {
 			return;
 		}
-		ClientUI.controls.grid.GridBody.parentClass.method("updateLayout").call(this);
+		$super();
 		if(!this.scrollBox || !this.contentBox || !this.sizeBox) {
 			return;			
 		}
@@ -793,3 +770,21 @@
 		}
 	}
 });
+
+Object.extend(ClientUI.controls.grid.GridBody.prototype, {
+	/**
+	 * Count of rows can be viewed in the same time in grid
+	 */
+	dataVisible: 50,
+	
+	/**
+	 * Count of rows loaded additianally to dataVisible rows
+	 */
+	dataDelta: 5,
+
+	/**
+	 * Current data position
+	 */
+	currentPos: 0
+	
+});

Modified: branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/GridFooter.js
===================================================================
--- branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/GridFooter.js	2007-12-13 18:37:32 UTC (rev 4827)
+++ branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/GridFooter.js	2007-12-13 19:15:11 UTC (rev 4828)
@@ -11,18 +11,10 @@
 /* GridHeader.js - Grid control header pane
  * TODO: add comments
  */
-ClientUI.controls.grid.GridFooter = Class.create({
-	CLASSDEF: {
-		name: 'ClientUI.controls.grid.GridFooter',
-		parent: ClientUI.common.box.Box
-	}
-	
-});
-
-Object.extend(ClientUI.controls.grid.GridFooter.prototype, {
-	initialize: function(template, grid) {
+ClientUI.controls.grid.GridFooter = Class.create(ClientUI.common.box.Box, {
+	initialize: function($super, template, grid) {
 		this.grid = grid;
-		ClientUI.controls.grid.GridFooter.parentClass.constructor().call(this, template);
+		$super(template);
 		this.createControl(template);
 	},
 	createControl: function(template) {
@@ -133,11 +125,11 @@
 		this.setHeight(this.defaultHeight);
 		this.setWidth(this.defaultWidth);
 	},
-	updateLayout: function() {
+	updateLayout: function($super) {
 		if(!this.controlCreated || !this.grid.controlCreated) {
 			return;
 		}
-		ClientUI.controls.grid.GridFooter.parentClass.method("updateLayout").call(this);
+		$super();
 	
 		var height = this.getHeight();
 		var totalWidth = this.grid.getColumnsTotalWidth();

Modified: branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/GridHeader.js
===================================================================
--- branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/GridHeader.js	2007-12-13 18:37:32 UTC (rev 4827)
+++ branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/GridHeader.js	2007-12-13 19:15:11 UTC (rev 4828)
@@ -12,24 +12,12 @@
  * GridHeader.js - Grid control header pane
  * TODO: add comments
  */
-ClientUI.controls.grid.GridHeader = Class.create({
-	CLASSDEF: {
-		name: 'ClientUI.controls.grid.GridHeader',
-		parent: ClientUI.common.box.Box,
-		sepStyleClass: "dr-sdt-hsep"
-	}
-	
-});
-
-Object.extend(ClientUI.controls.grid.GridHeader.prototype, {
-	// internal variables
-	_columns: [],
-	
+ClientUI.controls.grid.GridHeader = Class.create(ClientUI.common.box.Box, {
 	// constructor
-	initialize: function(template, grid) {
+	initialize: function($super, template, grid) {
 		this.grid = grid;
 		this.gridId = this.grid.getElement().id;
-		ClientUI.controls.grid.GridHeader.parentClass.constructor().call(this, template);
+		$super(template);
 
 		// register event handlers
 		this.eventSepDblClick = this.OnSepDblClick.bindAsEventListener(this);
@@ -303,11 +291,11 @@
 		this.agjustSeparators();
 		this.updateHeaders();
 	},
-	updateLayout: function() {
+	updateLayout: function($super) {
 		if(!this.controlCreated || !this.grid.controlCreated) {
 			return;
 		}
-		ClientUI.controls.grid.GridHeader.parentClass.method("updateLayout").call(this);
+		$super();
 		var height = this.getHeight();
 		var totalWidth = this.grid.getColumnsTotalWidth();
 		var frozenContentWidth = this.grid.getColumnsFrozenWidth();
@@ -497,3 +485,9 @@
 		}
 	}	
 });
+
+Object.extend(ClientUI.controls.grid.GridHeader.prototype, {
+	sepStyleClass: "dr-sdt-hsep", 
+	// internal variables
+	_columns: []	
+});
\ No newline at end of file

Modified: branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/ScrollableGrid.js
===================================================================
--- branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/ScrollableGrid.js	2007-12-13 18:37:32 UTC (rev 4827)
+++ branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/ScrollableGrid.js	2007-12-13 19:15:11 UTC (rev 4828)
@@ -1,24 +1,7 @@
 ClientUILib.declarePackage("ClientUI.controls.grid.ScrollableGrid");
 
-ClientUI.controls.grid.ScrollableGrid = Class.create({
-	CLASSDEF: {
-		name: 'ClientUI.controls.grid.ScrollableGrid',
-		parent: ClientUI.controls.grid.Grid
-	}
-});
-
-Object.extend(ClientUI.controls.grid.ScrollableGrid.prototype, {
-	/**
-	* Occured when scroll position adjusted
-	*/
-	eventOnPostScroll: {},
-	
-	/**
-	 * Occured when sorting adjusted
-	 */
-	eventOnPostSort: {},
-	
-	initialize: function(options) {
+ClientUI.controls.grid.ScrollableGrid = Class.create(ClientUI.controls.grid.Grid, {
+	initialize: function($super, options) {
 		this.startInitTime = (new Date()).getTime();
 		
 		this.options = options;
@@ -35,13 +18,14 @@
 			{pane: GridLayout_Enum.FOOTER,	ref: this.client_id +"_" +  "GridFooterTemplate"}
 		];			
 		var grid = this;
+		var s = $super;
 		
 		Event.onReady(function(){
-			grid.init();
+			grid.init(s);
 		});		
 		Utils.execOnLoad(
 			function(){
-				grid.init();
+				grid.init(s);
 			},
 			Utils.Condition.ElementPresent(grid.client_id), 100);
 				
@@ -51,13 +35,13 @@
 
 // initialize parent Grid	
 	
-	init: function(){
+	init: function(superCtor){
 		// mark that grid control initialized
 		if(!this.isInitialized) {
 			this.isInitialized = true;
 			this.startCreateTime = (new Date()).getTime();
 			
-			ClientUI.controls.grid.ScrollableGrid.parentClass.constructor().call(this, this.client_id, this.dataModel, this.templates);
+			superCtor(this.client_id, this.dataModel, this.templates);
 						
 			this.endCreateTime = (new Date()).getTime();
 						
@@ -197,10 +181,15 @@
 	}
 });
 
-
-
-
-
-
-
-
+Object.extend(ClientUI.controls.grid.ScrollableGrid.prototype, {
+	/**
+	* Occured when scroll position adjusted
+	*/
+	eventOnPostScroll: {},
+	
+	/**
+	 * Occured when sorting adjusted
+	 */
+	eventOnPostSort: {}
+	
+});
\ No newline at end of file

Modified: branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/Selection.js
===================================================================
--- branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/Selection.js	2007-12-13 18:37:32 UTC (rev 4827)
+++ branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/Selection.js	2007-12-13 19:15:11 UTC (rev 4828)
@@ -1,11 +1,4 @@
 ClientUI.controls.grid.Selection = Class.create({
-	CLASSDEF: {
-		name: 'ClientUI.controls.grid.Selection'
-	}
-	
-});
-
-Object.extend(ClientUI.controls.grid.Selection.prototype, {
 	initialize: function() {
 		this.ranges = [];
 	},
@@ -174,13 +167,6 @@
 });
 
 ClientUI.controls.grid.Range = Class.create({
-	CLASSDEF: {
-		name: 'ClientUI.controls.grid.Range'
-	}
-	
-});
-
-Object.extend(ClientUI.controls.grid.Range.prototype, {
 	initialize: function(startIndex, endIndex) {
 		this.indexes = [startIndex, endIndex];
 	},
@@ -211,13 +197,6 @@
 });
 
 ClientUI.controls.grid.SelectionManager = Class.create({
-	CLASSDEF: {
-		name: 'ClientUI.controls.grid.SelectionManager'
-	}
-	
-});
- 
-Object.extend(ClientUI.controls.grid.SelectionManager.prototype, {
 	initialize: function(grid) {
 		this.grid = grid;
 		this.selectionFlag;

Modified: branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/layouts/GridLayoutManager.js
===================================================================
--- branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/layouts/GridLayoutManager.js	2007-12-13 18:37:32 UTC (rev 4827)
+++ branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/layouts/GridLayoutManager.js	2007-12-13 19:15:11 UTC (rev 4828)
@@ -21,20 +21,12 @@
  *
  * TODO: description of control 
  */
-ClientUI.layouts.GridLayoutManager = Class.create({
-	CLASSDEF: {
-		name: 'ClientUI.layouts.GridLayoutManager',
-		parent: ClientUI.layouts.VLayoutManager
-	}
-	
-});
-
-Object.extend(ClientUI.layouts.GridLayoutManager.prototype, {
-	initialize: function(element, parentElement, config) {
-		ClientUI.layouts.GridLayoutManager.parentClass.constructor().call(this, element, parentElement);
+ClientUI.layouts.GridLayoutManager = Class.create(ClientUI.layouts.VLayoutManager, {
+	initialize: function($super, element, parentElement, config) {
+		$super(element, parentElement);
 	},
 	updateLayout: function() {
-		ClientUI.layouts.LayoutManager.method("updateLayout").call(this);
+		ClientUI.layouts.LayoutManager.prototype.updateLayout.call(this);
 		
 		var parentBox = this.getContainer();
 		if(parentBox==null) parentBox = this;

Modified: branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/layouts/LayoutManager.js
===================================================================
--- branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/layouts/LayoutManager.js	2007-12-13 18:37:32 UTC (rev 4827)
+++ branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/layouts/LayoutManager.js	2007-12-13 19:15:11 UTC (rev 4828)
@@ -11,27 +11,9 @@
  *
  * TODO: description of control 
  */
-ClientUI.layouts.LayoutManager = Class.create({
-	CLASSDEF: {
-		name: 'ClientUI.layouts.LayoutManager',
-		parent: ClientUI.common.box.Box
-	},
-	
-	// Custom events
-	/**
-	 * Occured before resizing
-	 */
-	eventOnBeforeResize: {},
-	/**
-	 * Occured after resizing
-	 */
-	eventOnAfterResize: {}	
-
-});
-
-Object.extend(ClientUI.layouts.LayoutManager.prototype, {	
-	initialize: function(element, parentElement) {
-		ClientUI.layouts.LayoutManager.parentClass.constructor().call(this, element, parentElement);
+ClientUI.layouts.LayoutManager = Class.create(ClientUI.common.box.Box, {	
+	initialize: function($super, element, parentElement) {
+		$super(element, parentElement);
 		
 		// store container element to look after
 		this.container = parentElement;
@@ -59,7 +41,7 @@
 	  	this.updateLayout();
 	  	this.eventOnAfterResize.fire();
 	},
-	updateLayout: function() {
+	updateLayout: function($super) {
 		if(this.container) {
 			var w = this.container.getWidth();
 			var h = this.container.getHeight();
@@ -70,9 +52,23 @@
 			this.setWidth(w);
 			this.setHeight(h);
 		}
-		ClientUI.layouts.LayoutManager.parentClass.method("updateLayout").call(this);		
+		$super();		
 	},
 	getContainer: function() {
 		return this.container;
 	}
 });
+
+Object.extend(ClientUI.layouts.LayoutManager.prototype, {
+	
+	// Custom events
+	/**
+	 * Occured before resizing
+	 */
+	eventOnBeforeResize: {},
+	/**
+	 * Occured after resizing
+	 */
+	eventOnAfterResize: {}	
+
+});
\ No newline at end of file

Modified: branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/layouts/VLayoutManager.js
===================================================================
--- branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/layouts/VLayoutManager.js	2007-12-13 18:37:32 UTC (rev 4827)
+++ branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUI/layouts/VLayoutManager.js	2007-12-13 19:15:11 UTC (rev 4828)
@@ -20,28 +20,20 @@
  *
  * TODO: description of control 
  */
-ClientUI.layouts.VLayoutManager = Class.create({
-	CLASSDEF: {
-		name: 'ClientUI.layouts.VLayoutManager',
-		parent: ClientUI.layouts.LayoutManager
-	}
-
-});
-
-Object.extend(ClientUI.layouts.VLayoutManager.prototype, {	
-	initialize: function(element, parentElement, config) {
-		ClientUI.layouts.VLayoutManager.parentClass.constructor().call(this, element, parentElement);		
+ClientUI.layouts.VLayoutManager = Class.create(ClientUI.layouts.LayoutManager, {	
+	initialize: function($super, element, parentElement, config) {
+		$super(element, parentElement);		
 		if(!element || !element.id) {
 			this.element.id = "ClientUI_VLayoutManager" + ClientUI_layouts_VLayoutManager_idGenerator++;
 		}
 
 		this.registerEvents();
 	},
-	registerEvents: function() {
-		ClientUI.layouts.VLayoutManager.parentClass.method("registerEvents").call(this);
+	registerEvents: function($super) {
+		$super();
 	},
-	destroy: function() {
-		ClientUI.layouts.VLayoutManager.parentClass.method("destroy").call(this);
+	destroy: function($super) {
+		$super();
 	},
    	/*containerResize: function(event) {
    		ClientUI.layouts.VLayoutManager.parentClass.method("containerResize").call(this, event);
@@ -57,8 +49,8 @@
 	getPane: function(align) {
 		return this.panels[align];
 	},
-	updateLayout: function() {
-		ClientUI.layouts.VLayoutManager.parentClass.method("updateLayout").call(this);
+	updateLayout: function($super) {
+		$super();
 		
 		var parentBox = this.getContainer();
 		if(!parentBox) parentBox = this;

Modified: branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUILib.js
===================================================================
--- branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUILib.js	2007-12-13 18:37:32 UTC (rev 4827)
+++ branches/3.1.x/ui/scrollableDataTable/src/main/javascript/ClientUILib.js	2007-12-13 19:15:11 UTC (rev 4828)
@@ -21,9 +21,9 @@
 	     throw("ClientUILib requires the Prototype JavaScript framework >= 1.5.0");
 	  	
 	  // Check for Extend JavaScript library
-	  if((typeof Extend=='undefined') ||
-	  	Extend.VERSION < 1.1)
-	     throw("ClientUILib requires the Extend JavaScript library >= 1.1");
+//	  if((typeof Extend=='undefined') ||
+//	  	Extend.VERSION < 1.1)
+//	     throw("ClientUILib requires the Extend JavaScript library >= 1.1");
 
 	  $A(document.getElementsByTagName("script")).findAll( function(s) {
 	    return (s.src && s.src.match(/ClientUILib\.js(\?.*)?$/))

Modified: branches/3.1.x/ui/scrollableDataTable/src/main/templates/org/richfaces/scrollable-data-table.jspx
===================================================================
--- branches/3.1.x/ui/scrollableDataTable/src/main/templates/org/richfaces/scrollable-data-table.jspx	2007-12-13 18:37:32 UTC (rev 4827)
+++ branches/3.1.x/ui/scrollableDataTable/src/main/templates/org/richfaces/scrollable-data-table.jspx	2007-12-13 19:15:11 UTC (rev 4828)
@@ -19,7 +19,6 @@
 	<h:scripts>
 		new org.ajax4jsf.javascript.PrototypeScript(),
 		new org.ajax4jsf.javascript.AjaxScript(),
-		/org/richfaces/renderkit/html/scripts/extend/extend.js,
 		/org/richfaces/renderkit/html/scripts/scrollable-data-table.js
 	</h:scripts>
 




More information about the richfaces-svn-commits mailing list