From 5b04db7e35212829257cd679eb66c3bf138d72db Mon Sep 17 00:00:00 2001 From: tof <> Date: Mon, 21 Apr 2008 07:48:05 +0000 Subject: Fixed #718 --- HISTORY | 1 + .../source/prado/activecontrols/ajax3.js | 25 +++++++++++++++++++--- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/HISTORY b/HISTORY index 25f5cf87..771da446 100644 --- a/HISTORY +++ b/HISTORY @@ -8,6 +8,7 @@ BUG: Ticket#671 - TActiveCustomValidator Callback Problem (Christophe) BUG: Ticket#679 - TActiveLabel can't be shown from inside TRepeater. TActiveRadioButton cant be unchecked (Christophe) BUG: Ticket#695 - ActiveTextBox filled in IE blocks other elements (Michael) BUG: Ticket#707 - TPropertyAccess sets property twice on object when using setters (Qiang) +BUG: Ticket#718 - prop:ClientSide OnLoading don't work in Opera (Christophe) BUG: Ticket#719 - TAutoCompleter should not trigger Validation if CausesValidation=False (Christophe) BUG: Ticket#721 - TActiveCustomValidator + TValidationSummary problem (Christophe) BUG: Ticket#736 - Files never created in clientscript.php (Qiang) diff --git a/framework/Web/Javascripts/source/prado/activecontrols/ajax3.js b/framework/Web/Javascripts/source/prado/activecontrols/ajax3.js index 001007d7..18cbb3f9 100644 --- a/framework/Web/Javascripts/source/prado/activecontrols/ajax3.js +++ b/framework/Web/Javascripts/source/prado/activecontrols/ajax3.js @@ -612,14 +612,33 @@ Prado.CallbackRequest.prototype = Object.extend(Prado.AjaxRequest.prototype, if(!this.Enabled) return; - + + // Opera don't have onLoading/onLoaded state, so, simulate them just + // before sending the request. + if (Prototype.Browser.Opera) + { + if (this.ActiveControl.onLoading) + { + this.ActiveControl.onLoading(this,null); + Ajax.Responders.dispatch('onLoading',this, this.transport,null); + } + if (this.ActiveControl.onLoaded) + { + this.ActiveControl.onLoaded(this,null); + Ajax.Responders.dispatch('onLoaded',this, this.transport,null); + } + } + + var result; if(this.ActiveControl.HasPriority) { - return Prado.CallbackRequest.enqueue(this); + result = Prado.CallbackRequest.enqueue(this); //return Prado.CallbackRequest.dispatchPriorityRequest(this); } else - return Prado.CallbackRequest.dispatchNormalRequest(this); + result = Prado.CallbackRequest.dispatchNormalRequest(this); + + return result; }, abort : function() -- cgit v1.2.3