Update of /cvsroot/magicajax/magicajax/Core/script
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7486/Core/script
Modified Files:
AjaxCallObject.js
Log Message:
A bit of refactoring for the ajax events handling.
--AjaxCall event is renamed to AjaxCallStart
--AjaxControl/AjaxPage/AjaxUserControl invoke AjaxCallStart at Load event, PreWriteScript at PreRender, and AjaxCallEnd at Unload, during an Ajax callback
--Some minor modifications to make extending AjaxControl a bit easier.
Index: AjaxCallObject.js
===================================================================
RCS file: /cvsroot/magicajax/magicajax/Core/script/AjaxCallObject.js,v
retrieving revision 1.34
retrieving revision 1.35
diff -C2 -d -r1.34 -r1.35
*** AjaxCallObject.js 20 Dec 2005 13:11:08 -0000 1.34
--- AjaxCallObject.js 22 Dec 2005 01:15:20 -0000 1.35
***************
*** 72,82 ****
}
! AjaxCallObject.prototype.GetAjaxZoneID = function(element)
{
if (element == null)
return null;
! var attrib = element.getAttribute("AjaxType");
! if ( attrib != null && attrib.toLowerCase() == "ajaxzone" )
return element.getAttribute("id")
--- 72,82 ----
}
! AjaxCallObject.prototype.GetAjaxScopeID = function(element)
{
if (element == null)
return null;
! var attrib = element.getAttribute("AjaxLocalScope");
! if ( attrib != null && attrib.toLowerCase() == "true" )
return element.getAttribute("id")
***************
*** 84,88 ****
return null;
else
! return this.GetAjaxZoneID(element.parentNode);
}
--- 84,88 ----
return null;
else
! return this.GetAjaxScopeID(element.parentNode);
}
***************
*** 117,121 ****
{
fprintElem = document.getElementById(name.substr(fprintConst.length));
! if ( ! this.IsInAjaxZone(fprintElem, zoneID) )
return true;
}
--- 117,121 ----
{
fprintElem = document.getElementById(name.substr(fprintConst.length));
! if ( ! this.IsInAjaxScope(fprintElem, zoneID) )
return true;
}
***************
*** 131,135 ****
return true;
! return ( zoneID != null && !this.IsInAjaxZone(element, zoneID) )
}
--- 131,135 ----
return true;
! return ( zoneID != null && !this.IsInAjaxScope(element, zoneID) )
}
***************
*** 153,160 ****
}
! AjaxCallObject.prototype.IsInAjaxZone = function(element, zoneID)
{
! var attrib = element.getAttribute("AjaxType");
! if ( attrib != null && attrib.toLowerCase() == "ajaxzone" && element.getAttribute("id") == zoneID )
return true;
--- 153,160 ----
}
! AjaxCallObject.prototype.IsInAjaxScope = function(element, zoneID)
{
! var attrib = element.getAttribute("AjaxLocalScope");
! if ( attrib != null && attrib.toLowerCase() == "true" && element.getAttribute("id") == zoneID )
return true;
***************
*** 162,166 ****
return false;
else
! return this.IsInAjaxZone(element.parentNode, zoneID);
}
--- 162,166 ----
return false;
else
! return this.IsInAjaxScope(element.parentNode, zoneID);
}
***************
*** 252,256 ****
if (cbType != "none")
{
! AJAXCbo.DoAjaxCall(target.name, "", cbType, AJAXCbo.GetAjaxZoneID(target));
return false;
}
--- 252,256 ----
if (cbType != "none")
{
! AJAXCbo.DoAjaxCall(target.name, "", cbType, AJAXCbo.GetAjaxScopeID(target));
return false;
}
***************
*** 276,280 ****
if (cbType != "none")
{
! AJAXCbo.DoAjaxCall(eventTarget, eventArgument, cbType, AJAXCbo.GetAjaxZoneID(target));
}
else
--- 276,280 ----
if (cbType != "none")
{
! AJAXCbo.DoAjaxCall(eventTarget, eventArgument, cbType, AJAXCbo.GetAjaxScopeID(target));
}
else
***************
*** 352,356 ****
}
! AjaxCallObject.prototype.DoAjaxCall = function(eventTarget, eventArgument, ajaxCallType, ajaxZoneID)
{
//defaults
--- 352,356 ----
}
! AjaxCallObject.prototype.DoAjaxCall = function(eventTarget, eventArgument, ajaxCallType, ajaxScopeID)
{
//defaults
***************
*** 366,371 ****
theData += '__AJAXCALL=true&';
! if (ajaxZoneID != null)
! theData += '__AJAXZONE=' + ajaxZoneID + '&';
var excludeFlags = this.GetExcludeFlags( this.GetTargetElement(eventTarget) );
--- 366,371 ----
theData += '__AJAXCALL=true&';
! if (ajaxScopeID != null)
! theData += '__AJAXSCOPE=' + ajaxScopeID + '&';
var excludeFlags = this.GetExcludeFlags( this.GetTargetElement(eventTarget) );
***************
*** 382,386 ****
// Do Nothing
}
! else if ( ! this.ExcludeFromPost(curElem, ajaxZoneID, excludeFlags) )
{
if ( __bPageIsStored && eName == '__VIEWSTATE' )
--- 382,386 ----
// Do Nothing
}
! else if ( ! this.ExcludeFromPost(curElem, ajaxScopeID, excludeFlags) )
{
if ( __bPageIsStored && eName == '__VIEWSTATE' )
|