From: Argiris K. <be...@us...> - 2006-01-27 00:28:38
|
Update of /cvsroot/magicajax/magicajax/Core/script In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22717/Core/script Modified Files: AjaxCallObject.js Log Message: Image buttons return X/Y coordinates for Firefox too. Index: AjaxCallObject.js =================================================================== RCS file: /cvsroot/magicajax/magicajax/Core/script/AjaxCallObject.js,v retrieving revision 1.50 retrieving revision 1.51 diff -C2 -d -r1.50 -r1.51 *** AjaxCallObject.js 24 Jan 2006 22:25:05 -0000 1.50 --- AjaxCallObject.js 27 Jan 2006 00:28:25 -0000 1.51 *************** *** 8,11 **** --- 8,12 ---- __ClockID = 0; __Netscape8AndUp = false; + __ClickX = __ClickY = 0; // Excluding from post flags *************** *** 219,222 **** --- 220,224 ---- this.AddEventListener(document.forms[0], "submit", this.OnFormSubmit); + this.AddEventListener(document.forms[0], "click", this.OnFormClick); if (typeof __doPostBack != 'undefined') *************** *** 245,248 **** --- 247,256 ---- } + AjaxCallObject.prototype.OnFormClick = function(e) + { + __ClickX = e.pageX; + __ClickY = e.pageY; + } + AjaxCallObject.prototype.OnFormSubmit = function(e) { *************** *** 280,284 **** __doingSubmit = false; ! if (AJAXCbo.DoAjaxCall(target.name, "", cbType, AJAXCbo.GetAjaxScopeID(target))) { if (e.preventDefault) --- 288,308 ---- __doingSubmit = false; ! var theData = ""; ! //check if target is an input element of type 'image' ! if (target != null && target.type == "image" && target.name && target.name != '') ! { ! if (e.offsetX) ! { ! // IE ! theData += target.name + ".x=" + (e.offsetX - target.offsetLeft) + "&" + target.name + ".y=" + (e.offsetY - target.offsetTop); ! } ! else ! { ! // Firefox ! theData += target.name + ".x=" + (__ClickX - target.offsetLeft) + "&" + target.name + ".y=" + (__ClickY - target.offsetTop); ! } ! } ! ! if (AJAXCbo.DoAjaxCall(target.name, "", cbType, AJAXCbo.GetAjaxScopeID(target), theData)) { if (e.preventDefault) *************** *** 383,392 **** } ! AjaxCallObject.prototype.DoAjaxCall = function(eventTarget, eventArgument, ajaxCallType, ajaxScopeID) { //defaults if (!ajaxCallType) ajaxCallType = "async"; if (typeof(ajaxScopeID) == "undefined") ! ajaxScopeID = this.GetAjaxScopeID(this.GetTargetElement(eventTarget)); var theData = ''; --- 407,418 ---- } ! AjaxCallObject.prototype.DoAjaxCall = function(eventTarget, eventArgument, ajaxCallType, ajaxScopeID, additionalData) { + var target = this.GetTargetElement(eventTarget); + //defaults if (!ajaxCallType) ajaxCallType = "async"; if (typeof(ajaxScopeID) == "undefined") ! ajaxScopeID = this.GetAjaxScopeID( target ); var theData = ''; *************** *** 401,413 **** if (ajaxScopeID != null) theData += '__AJAXSCOPE=' + ajaxScopeID + '&'; ! ! //check if eventTarget is an input element of type 'image' ! var target = this.GetTargetElement(eventTarget) ! if (target != null && target.type == "image" && target.name && target.name != '') ! { ! //image callbacks only supported for IE (for now). For other browsers, no .x and .y is sent yet. ! if (window.event) ! theData += target.name + ".x=" + window.event.offsetX + "&" + target.name + ".y=" + (window.event.offsetY - target.offsetTop) + "&"; ! } var excludeFlags = this.GetExcludeFlags( target ); --- 427,433 ---- if (ajaxScopeID != null) theData += '__AJAXSCOPE=' + ajaxScopeID + '&'; ! ! if (typeof(additionalData) != "undefined") ! theData += additionalData + "&"; var excludeFlags = this.GetExcludeFlags( target ); |