Update of /cvsroot/magicajax/magicajax/Core/script
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23394/Core/script
Modified Files:
AjaxCallObject.js
Log Message:
Change in the AjaxCallObject.js. MagicAjax now invokes all listeners for the 'submit' event (fixes a FCKEditor issue)
Index: AjaxCallObject.js
===================================================================
RCS file: /cvsroot/magicajax/magicajax/Core/script/AjaxCallObject.js,v
retrieving revision 1.42
retrieving revision 1.43
diff -C2 -d -r1.42 -r1.43
*** AjaxCallObject.js 5 Jan 2006 11:26:00 -0000 1.42
--- AjaxCallObject.js 6 Jan 2006 00:58:37 -0000 1.43
***************
*** 3,11 ****
__bUnloadStoredPage = false;
__bTracing = false;
! __PreviousOnFormSubmit = null;
__PreviousPostBack = null;
- __PreviousOnPageLoad = null;
- __PreviousOnPageBeforeUnload = null;
- __PreviousOnPageUnload = null;
__TraceWindows = new Array();
__ClockID = 0;
--- 3,8 ----
__bUnloadStoredPage = false;
__bTracing = false;
! __doingSubmit = false;
__PreviousPostBack = null;
__TraceWindows = new Array();
__ClockID = 0;
***************
*** 197,206 ****
}
AjaxCallObject.prototype.HookAjaxCall = function(bPageIsStored, bUnloadStoredPage, bTracing)
{
__Netscape8AndUp = navigator.appName == "Netscape" && navigator.vendor == "Netscape" && parseInt(navigator.appVersion) >= 5;
! __PreviousOnFormSubmit = document.forms[0].onsubmit;
! document.forms[0].onsubmit = this.OnFormSubmit;
if (typeof __doPostBack != 'undefined')
--- 194,222 ----
}
+ AjaxCallObject.prototype.AddEventListener = function(obj, eventName, fn)
+ {
+ if (obj.addEventListener)
+ obj.addEventListener(eventName, fn, false);
+ else
+ obj.attachEvent("on"+eventName, fn);
+ }
+
+ AjaxCallObject.prototype.DispatchEvent = function(obj, eventName)
+ {
+ if (obj.fireEvent)
+ obj.fireEvent("on"+eventName);
+ else
+ {
+ var evt = document.createEvent("Events")
+ evt.initEvent(eventName, true, true);
+ obj.dispatchEvent(evt);
+ }
+ }
+
AjaxCallObject.prototype.HookAjaxCall = function(bPageIsStored, bUnloadStoredPage, bTracing)
{
__Netscape8AndUp = navigator.appName == "Netscape" && navigator.vendor == "Netscape" && parseInt(navigator.appVersion) >= 5;
! this.AddEventListener(document.forms[0], "submit", this.OnFormSubmit);
if (typeof __doPostBack != 'undefined')
***************
*** 222,238 ****
if ( !bPageIsStored || !bUnloadStoredPage )
{
! __PreviousOnPageLoad = window.onload;
! window.onload = this.OnPageLoad;
!
! __PreviousOnPageBeforeUnload = window.onbeforeunload;
! window.onbeforeunload = this.OnPageBeforeUnload;
}
! __PreviousOnPageUnload = window.onunload;
! window.onunload = this.OnPageUnload;
}
! AjaxCallObject.prototype.OnFormSubmit = function()
{
// Empty the cached html of RenderedByScript controls
if (typeof(RBS_Controls) != "undefined")
--- 238,257 ----
if ( !bPageIsStored || !bUnloadStoredPage )
{
! this.AddEventListener(window, "load", this.OnPageLoad);
! this.AddEventListener(window, "beforeunload", this.OnPageBeforeUnload);
}
! this.AddEventListener(window, "unload", this.OnPageUnload);
}
! AjaxCallObject.prototype.OnFormSubmit = function(e)
{
+ if (__doingSubmit)
+ {
+ if (e.preventDefault)
+ e.preventDefault();
+ return false;
+ }
+
// Empty the cached html of RenderedByScript controls
if (typeof(RBS_Controls) != "undefined")
***************
*** 254,265 ****
}
- if (__PreviousOnFormSubmit != null)
- if ( __PreviousOnFormSubmit() == false )
- return false;
-
var cbType = AJAXCbo.GetAjaxCallType(target);
if (cbType != "none")
{
! return !AJAXCbo.DoAjaxCall(target.name, "", cbType, AJAXCbo.GetAjaxScopeID(target));
}
else
--- 273,291 ----
}
var cbType = AJAXCbo.GetAjaxCallType(target);
if (cbType != "none")
{
! __doingSubmit = true;
! AJAXCbo.DispatchEvent(document.forms[0], "submit");
! __doingSubmit = false;
!
! if (AJAXCbo.DoAjaxCall(target.name, "", cbType, AJAXCbo.GetAjaxScopeID(target)))
! {
! if (e.preventDefault)
! e.preventDefault();
! return false;
! }
! else
! return true;
}
else
***************
*** 284,287 ****
--- 310,317 ----
if (cbType != "none")
{
+ __doingSubmit = true;
+ AJAXCbo.DispatchEvent(document.forms[0], "submit");
+ __doingSubmit = false;
+
AJAXCbo.DoAjaxCall(eventTarget, eventArgument, cbType, AJAXCbo.GetAjaxScopeID(target));
}
***************
*** 310,315 ****
}
}
- if (__PreviousOnPageLoad != null)
- return __PreviousOnPageLoad();
}
--- 340,343 ----
***************
*** 323,328 ****
RBS_Controls_Store[i].value = "HTML:" + RBS_Controls[i].innerHTML;
}
- if (__PreviousOnPageBeforeUnload != null)
- return __PreviousOnPageBeforeUnload();
}
--- 351,354 ----
***************
*** 355,361 ****
oThis.XmlHttp.send(null);
}
-
- if (__PreviousOnPageUnload != null)
- return __PreviousOnPageUnload();
}
--- 381,384 ----
|