summaryrefslogtreecommitdiff
path: root/framework/Web/Javascripts
diff options
context:
space:
mode:
authoruacaman <>2011-03-10 20:56:05 +0000
committeruacaman <>2011-03-10 20:56:05 +0000
commitd4cab2e2e139095b95bfb2cae74ccb13ae4f91d1 (patch)
tree3a13ecb2db30bd5f4ced10663f322fa8f83eed33 /framework/Web/Javascripts
parent7719267ac491073581e93231c9efdf2c2362bcba (diff)
Issue 181: Events are now removed and added for every postback/callback
Diffstat (limited to 'framework/Web/Javascripts')
-rwxr-xr-xframework/Web/Javascripts/source/prado/activecontrols/activedatepicker.js7
-rw-r--r--framework/Web/Javascripts/source/prado/activecontrols/inlineeditor.js7
-rw-r--r--framework/Web/Javascripts/source/prado/controls/controls.js5
-rw-r--r--framework/Web/Javascripts/source/prado/controls/slider.js11
4 files changed, 29 insertions, 1 deletions
diff --git a/framework/Web/Javascripts/source/prado/activecontrols/activedatepicker.js b/framework/Web/Javascripts/source/prado/activecontrols/activedatepicker.js
index e96b63ec..68d0e429 100755
--- a/framework/Web/Javascripts/source/prado/activecontrols/activedatepicker.js
+++ b/framework/Web/Javascripts/source/prado/activecontrols/activedatepicker.js
@@ -13,6 +13,10 @@ Prado.WebUI.TActiveDatePicker = Class.extend(Prado.WebUI.TDatePicker,
this.selectedDate = this.newDate();
this.positionMode = 'Bottom';
+
+ // Issue 181
+ $(this.control).stopObserving();
+
//which element to trigger to show the calendar
if(this.options.Trigger)
{
@@ -24,6 +28,9 @@ Prado.WebUI.TActiveDatePicker = Class.extend(Prado.WebUI.TDatePicker,
this.trigger = this.control;
var triggerEvent = this.options.TriggerEvent || "focus";
}
+
+ // Issue 181
+ $(this.trigger).stopObserving();
// Popup position
if(this.options.PositionMode == 'Top')
diff --git a/framework/Web/Javascripts/source/prado/activecontrols/inlineeditor.js b/framework/Web/Javascripts/source/prado/activecontrols/inlineeditor.js
index 547f09dc..6a6892cf 100644
--- a/framework/Web/Javascripts/source/prado/activecontrols/inlineeditor.js
+++ b/framework/Web/Javascripts/source/prado/activecontrols/inlineeditor.js
@@ -30,6 +30,8 @@ Prado.WebUI.TInPlaceTextBox = Base.extend(
this.onclickListener = this.enterEditMode.bindAsEventListener(this);
Event.observe(this.element, 'click', this.onclickListener);
if (this.options.ExternalControl)
+ // Issue 181
+ $(this.options.ExternalControl).stopObserving('click', this.onclickListener);
Event.observe($(this.options.ExternalControl), 'click', this.onclickListener);
},
@@ -127,7 +129,10 @@ Prado.WebUI.TInPlaceTextBox = Base.extend(
this.editField.style.display="none";
this.element.parentNode.insertBefore(this.editField,this.element)
-
+
+ // Issue 181
+ $(this.editField).stopObserving();
+
//handle return key within single line textbox
if(this.options.TextMode == 'SingleLine')
{
diff --git a/framework/Web/Javascripts/source/prado/controls/controls.js b/framework/Web/Javascripts/source/prado/controls/controls.js
index 14853dca..dd19a1a7 100644
--- a/framework/Web/Javascripts/source/prado/controls/controls.js
+++ b/framework/Web/Javascripts/source/prado/controls/controls.js
@@ -6,12 +6,15 @@ Prado.WebUI.PostBackControl.prototype =
{
initialize : function(options)
{
+
this._elementOnClick = null, //capture the element's onclick function
this.element = $(options.ID);
Prado.Registry.set(options.ID, this);
if(this.element)
{
+ // Issue 181
+ this.element.stopObserving();
if(this.onInit)
this.onInit(options);
}
@@ -196,6 +199,8 @@ Prado.WebUI.DefaultButton.prototype =
{
initialize : function(options)
{
+ // Issue 181
+ $(options['Panel']).stopObserving();
this.options = options;
this._event = this.triggerEvent.bindEvent(this);
Event.observe(options['Panel'], 'keydown', this._event);
diff --git a/framework/Web/Javascripts/source/prado/controls/slider.js b/framework/Web/Javascripts/source/prado/controls/slider.js
index 593e6e87..aebf3527 100644
--- a/framework/Web/Javascripts/source/prado/controls/slider.js
+++ b/framework/Web/Javascripts/source/prado/controls/slider.js
@@ -19,6 +19,13 @@ Prado.WebUI.TSlider = Class.extend(Prado.WebUI.PostBackControl,
this.minimum = this.options.minimum || this.range.start;
this.hiddenField=$(this.options.ID+'_1');
+ // Issue 181
+ this.element.stopObserving();
+ this.track.stopObserving();
+ this.handle.stopObserving();
+ this.progress.stopObserving();
+ this.hiddenField.stopObserving();
+
// Will be used to align the handle onto the track, if necessary
this.alignX = parseInt(this.options.alignX || - this.track.offsetLeft);
this.alignY = parseInt(this.options.alignY || - this.track.offsetTop);
@@ -54,6 +61,10 @@ Prado.WebUI.TSlider = Class.extend(Prado.WebUI.PostBackControl,
Event.observe (this.track, "mousedown", this.eventMouseDown);
if (this.progress) Event.observe (this.progress, "mousedown", this.eventMouseDown);
+
+ // Issue 181
+ document.stopObserving("mouseup", this.eventMouseUp);
+ document.stopObserving("mousemove", this.eventMouseMove);
Event.observe (document, "mouseup", this.eventMouseUp);
Event.observe (document, "mousemove", this.eventMouseMove);