From: Argiris K. <be...@us...> - 2006-01-06 00:58:45
|
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 ---- |