[richfaces-svn-commits] JBoss Rich Faces SVN: r4862 - in trunk/ui/scrollableDataTable: src/main/javascript/ClientUI/common/box and 3 other directories.
richfaces-svn-commits at lists.jboss.org
richfaces-svn-commits at lists.jboss.org
Fri Dec 14 12:13:08 EST 2007
Author: konstantin.mishin
Date: 2007-12-14 12:13:08 -0500 (Fri, 14 Dec 2007)
New Revision: 4862
Removed:
trunk/ui/scrollableDataTable/src/main/javascript/ClientUI/common/utils/CustomEvent.js
Modified:
trunk/ui/scrollableDataTable/generatescript.xml
trunk/ui/scrollableDataTable/src/main/javascript/ClientUI/common/box/ScrollableBox.js
trunk/ui/scrollableDataTable/src/main/javascript/ClientUI/common/utils/Utils.js
trunk/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/DataModel.js
trunk/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/GridBody.js
trunk/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/ScrollableGrid.js
trunk/ui/scrollableDataTable/src/main/javascript/ClientUI/layouts/LayoutManager.js
Log:
RF-1592
Modified: trunk/ui/scrollableDataTable/generatescript.xml
===================================================================
--- trunk/ui/scrollableDataTable/generatescript.xml 2007-12-14 17:01:43 UTC (rev 4861)
+++ trunk/ui/scrollableDataTable/generatescript.xml 2007-12-14 17:13:08 UTC (rev 4862)
@@ -27,7 +27,6 @@
<file name="${resources-dir}/ClientUI/common/utils/Validators.js"/>
<file name="${resources-dir}/ClientUI/common/box/Box.js"/>
<file name="${resources-dir}/ClientUI/common/box/InlineBox.js"/>
- <file name="${resources-dir}/ClientUI/common/utils/CustomEvent.js"/>
<file name="${resources-dir}/ClientUI/common/box/ScrollableBox.js"/>
<file name="${resources-dir}/ClientUI/controls/grid/DataModel.js"/>
<file name="${resources-dir}/ClientUI/controls/grid/ArrayDataModel.js"/>
@@ -61,7 +60,6 @@
<file name="/ClientUI/common/utils/Validators.js"/>
<file name="/ClientUI/common/box/Box.js"/>
<file name="/ClientUI/common/box/InlineBox.js"/>
- <file name="/ClientUI/common/utils/CustomEvent.js"/>
<file name="/ClientUI/common/box/ScrollableBox.js"/>
<file name="/ClientUI/controls/grid/DataModel.js"/>
<file name="/ClientUI/controls/grid/ArrayDataModel.js"/>
Modified: trunk/ui/scrollableDataTable/src/main/javascript/ClientUI/common/box/ScrollableBox.js
===================================================================
--- trunk/ui/scrollableDataTable/src/main/javascript/ClientUI/common/box/ScrollableBox.js 2007-12-14 17:01:43 UTC (rev 4861)
+++ trunk/ui/scrollableDataTable/src/main/javascript/ClientUI/common/box/ScrollableBox.js 2007-12-14 17:13:08 UTC (rev 4862)
@@ -6,7 +6,6 @@
ClientUILib.declarePackage("ClientUI.common.box.ScrollableBox");
ClientUILib.requireClass("ClientUI.common.box.Box");
-ClientUILib.requireClass("ClientUI.common.utils.CustomEvent");
/**
* This class target to manage scrollable box object.
@@ -18,10 +17,6 @@
$super(element, parentElement);
this.element.setStyle({overflow: 'auto'});
- // Create custom event producers
- this.eventHScroll = new ClientUI.common.utils.CustomEvent('OnHScroll');
- this.eventVScroll = new ClientUI.common.utils.CustomEvent('OnVScroll');
-
this.eventOnScroll = this.scrollContent.bindAsEventListener(this);
Event.observe(this.element, 'scroll', this.eventOnScroll);
},
@@ -34,13 +29,13 @@
// process horizontal scrolling
if(this.scrollLeft!==this.getViewportScrollX()) {
this.scrollLeft = this.getViewportScrollX();
- this.eventHScroll.fire(this.getViewportScrollX());
+ this.element.fire("grid:onhcroll", {pos:this.getViewportScrollX()});
}
// process vertical scrolling
if(this.scrollTop!==this.getViewportScrollY()) {
this.scrollTop = this.getViewportScrollY();
- this.eventVScroll.fire(this.getViewportScrollY());
+ this.element.fire("grid:onvcroll", {pos:this.getViewportScrollY()});
}
},
updateLayout: function($super) {
@@ -117,16 +112,4 @@
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
Deleted: trunk/ui/scrollableDataTable/src/main/javascript/ClientUI/common/utils/CustomEvent.js
===================================================================
--- trunk/ui/scrollableDataTable/src/main/javascript/ClientUI/common/utils/CustomEvent.js 2007-12-14 17:01:43 UTC (rev 4861)
+++ trunk/ui/scrollableDataTable/src/main/javascript/ClientUI/common/utils/CustomEvent.js 2007-12-14 17:13:08 UTC (rev 4862)
@@ -1,102 +0,0 @@
-/**
- * CustomEvent.js Date created: 6.04.2007
- * Copyright (c) 2007 Exadel Inc.
- * @author Denis Morozov <dmorozov at exadel.com>
- */
-ClientUILib.declarePackage("ClientUI.common.utils");
-
-if(!ClientUI.common.utils.CustomEvent) {
-ClientUILib.declarePackage("ClientUI.common.utils.CustomEvent");
-
-ClientUI.common.utils.CustomEvent = Class.create({
- // Constructor
- initialize: function(event) {
- this._eventName = event;
- // WARNING: If too many events will be in system with dynamic
- // observation/stop observation than integer idGenerator can be overflowed
- this._id = ClientUI_common_utils_CustomEvent_idGenerator++;
- },
- getName: function() {
- return this._eventName;
- },
- getId: function() {
- return this._id;
- },
-
- // Fire this event and notifies the subscribers.
- fire: function() {
- if (!Event.subscribers || !Event.subscribers.length) {
- return true;
- }
-
- var id = this.getId();
- var subscribers = Event.subscribers;
- var subscribersToNotify = Event.subscribers.findAll(
- function(subscriber) {
- return subscriber.event.getId()===id;
- });
-
- var args = $A(arguments);
- subscribersToNotify.unbreakableEach(function(subscriber) {
- subscriber.callback.apply(subscriber.callback, args);
- });
- }
-});
-
-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) {
- var customEvent = element;
- if (!this.subscribers) {
- this.subscribers = [];
- }
-
- this.subscribers.push({
- event: customEvent,
- desc: name,
- callback: observer
- });
- }
- else {
- Event._observe(element, name, observer, useCapture);
- }
-};
-
-Event._stopObserving = Event.stopObserving;
-Event.stopObserving = function( element, name, observer, useCapture ) {
- if(element && element.getName && element.getId) {
- var customEvent = element;
- if (this.subscribers && this.subscribers.length && this.subscribers.length!==0) {
- var id = customEvent.getId();
- this.subscribers = this.subscribers.select(
- function(subscriber) {
- return subscriber.event.getId()!==id;
- });
- }
- }
- else {
- Event._stopObserving(element, name, observer, useCapture);
- }
-};
-
-Event._unloadCache = Event.unloadCache;
-Event.unloadCache = function() {
- if (Event.subscribers) {
- for (var i = 0, length = Event.subscribers.length; i < length; i++) {
- Event.stopObserving.apply(this, Event.subscribers[i]);
- Event.subscribers[i][0] = null;
- }
- Event.subscribers = false;
- }
- Event._unloadCache();
-};
-
-var ClientUI_common_utils_CustomEvent_idGenerator = 0;
-
-};
-
\ No newline at end of file
Modified: trunk/ui/scrollableDataTable/src/main/javascript/ClientUI/common/utils/Utils.js
===================================================================
--- trunk/ui/scrollableDataTable/src/main/javascript/ClientUI/common/utils/Utils.js 2007-12-14 17:01:43 UTC (rev 4861)
+++ trunk/ui/scrollableDataTable/src/main/javascript/ClientUI/common/utils/Utils.js 2007-12-14 17:13:08 UTC (rev 4862)
@@ -255,7 +255,7 @@
}, 100);
}
- dataModel.eventDataReady.fire(localOptions);
+ grid.getBody()._onDataReady(localOptions);
}
}
};
Modified: trunk/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/DataModel.js
===================================================================
--- trunk/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/DataModel.js 2007-12-14 17:01:43 UTC (rev 4861)
+++ trunk/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/DataModel.js 2007-12-14 17:13:08 UTC (rev 4862)
@@ -5,8 +5,6 @@
*/
ClientUILib.declarePackage("ClientUI.controls.grid.DataModel");
-ClientUILib.requireClass("ClientUI.common.utils.CustomEvent");
-
/*
* DataModel.js - Base datamodel class for grid control
* by Denis Morozov <dmorozov at exadel.com> distributed under the BSD license.
@@ -16,7 +14,6 @@
initialize: function() {
// constructor
- this.eventDataReady = new ClientUI.common.utils.CustomEvent('DataModel::OnDataReady');
},
// interface method
@@ -38,9 +35,4 @@
getRequestDelay: function() {
return 1000;
}
-});
-
-Object.extend(ClientUI.controls.grid.DataModel.prototype, {
- eventDataReady: {}
-});
-
+});
Modified: trunk/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/GridBody.js
===================================================================
--- trunk/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/GridBody.js 2007-12-14 17:01:43 UTC (rev 4861)
+++ trunk/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/GridBody.js 2007-12-14 17:13:08 UTC (rev 4862)
@@ -24,26 +24,23 @@
$super(template);
// declare event listeners
- this._eventOnHScroll = this._onContentHScroll.bind(this);
- this._eventOnVScroll = this._onContentVScroll.bind(this);
- this._eventOnDataReady = this._onDataReady.bind(this);
+ this._eventOnHScroll = this._onContentHScroll.bindAsEventListener(this);
+ this._eventOnVScroll = this._onContentVScroll.bindAsEventListener(this);
this.createControl(template);
this.registerEvents();
},
registerEvents: function() {
- Event.observe(this.scrollBox.eventHScroll, "grid body hscroll", this._eventOnHScroll);
- Event.observe(this.scrollBox.eventVScroll, "grid body vscroll", this._eventOnVScroll);
- Event.observe(this.grid.dataModel.eventDataReady, "grid data is loaded", this._eventOnDataReady);
+ Event.observe(this.scrollBox.element, "grid:onhcroll", this._eventOnHScroll);
+ Event.observe(this.scrollBox.element, "grid:onvcroll", this._eventOnVScroll);
},
destroy: function() {
- Event.stopObserving(this.scrollBox.eventHScroll, "grid body hscroll", this._eventOnHScroll);
- Event.stopObserving(this.scrollBox.eventVScroll, "grid body vscroll", this._eventOnVScroll);
- Event.stopObserving(this.grid.dataModel.eventDataReady, "grid data is loaded", this._eventOnDataReady);
+ Event.stopObserving(this.scrollBox.element, "grid:onhcroll", this._eventOnHScroll);
+ Event.stopObserving(this.scrollBox.element, "grid:onvcroll", this._eventOnVScroll);
},
// event listeners
- _onContentHScroll: function(xpos) {
- this.grid.adjustScrollPosition(xpos);
+ _onContentHScroll: function(event) {
+ this.grid.adjustScrollPosition(event.memo.pos);
},
_onDataReady: function(options) {
// load rows data
@@ -53,11 +50,11 @@
window.loadingInvalidateTime = (new Date()).getTime();
},
- _onContentVScroll: function(ypos) {
+ _onContentVScroll: function(event) {
this.helpObject1.moveToY(this.sizeBox.getHeight()+ this.defaultRowHeight + 5);
this.helpObject2.moveToY(this.sizeBox.getHeight()+ this.defaultRowHeight + 5);
- this.setScrollPos(ypos);
- this.adjustDataPosition(ypos);
+ this.setScrollPos(event.memo.pos);
+ this.adjustDataPosition(event.memo.pos);
},
createControl: function(template) {
this.scrollInput = $(this.gridId + ":si");
Modified: trunk/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/ScrollableGrid.js
===================================================================
--- trunk/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/ScrollableGrid.js 2007-12-14 17:01:43 UTC (rev 4861)
+++ trunk/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/ScrollableGrid.js 2007-12-14 17:13:08 UTC (rev 4862)
@@ -71,7 +71,7 @@
[this.updateSelectionCallBack],
[function(){
this.selectionManager.restoreState();
- this.element.fire("grid:onpostsort",{start:this.getBody().currRange.start});
+ this.element.fire("grid:onpostscroll",{start:this.getBody().currRange.start});
}]);
this.updateLayout();
Modified: trunk/ui/scrollableDataTable/src/main/javascript/ClientUI/layouts/LayoutManager.js
===================================================================
--- trunk/ui/scrollableDataTable/src/main/javascript/ClientUI/layouts/LayoutManager.js 2007-12-14 17:01:43 UTC (rev 4861)
+++ trunk/ui/scrollableDataTable/src/main/javascript/ClientUI/layouts/LayoutManager.js 2007-12-14 17:13:08 UTC (rev 4862)
@@ -23,10 +23,6 @@
// declare event listeners
this.eventContainerResize = this.containerResize.bindAsEventListener(this);
- // Create custom event producers
- this.eventOnBeforeResize = new ClientUI.common.utils.CustomEvent('OnBeforeResize');
- this.eventOnAfterResize = new ClientUI.common.utils.CustomEvent('OnAfterResize');
-
this.registerEvents();
},
registerEvents: function() {
@@ -36,10 +32,7 @@
Event.stopObserving(window, "resize", this.eventContainerResize);
},
containerResize: function(event) {
- //Event.stop(event);
- this.eventOnBeforeResize.fire();
this.updateLayout();
- this.eventOnAfterResize.fire();
},
updateLayout: function($super) {
if(this.container) {
@@ -57,18 +50,4 @@
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
More information about the richfaces-svn-commits
mailing list