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(a)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>