You can subscribe to this list here.
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(204) |
Dec
(147) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(52) |
Feb
(33) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
From: Argiris K. <be...@us...> - 2005-12-18 16:44:55
|
Update of /cvsroot/magicajax/magicajax/Core/script In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25522/Core/script Modified Files: AjaxCallObject.js Log Message: -Added 'AjaxType' MagicAjax attribute for controls -Added 'ExcludeFlags' MagicAjax attribute for controls -Added AjaxZone control. Index: AjaxCallObject.js =================================================================== RCS file: /cvsroot/magicajax/magicajax/Core/script/AjaxCallObject.js,v retrieving revision 1.31 retrieving revision 1.32 diff -C2 -d -r1.31 -r1.32 *** AjaxCallObject.js 13 Dec 2005 06:23:03 -0000 1.31 --- AjaxCallObject.js 18 Dec 2005 16:44:47 -0000 1.32 *************** *** 11,14 **** --- 11,23 ---- __ClockID = 0; + // Excluding from post flags + // To be used with the "ExcludeFlags" attribute + excfViewState = 1; + excfFingerprints = 2; + excfUserHidden = 4; + excfAllHidden = excfViewState | excfFingerprints | excfUserHidden; + excfFormElements = 8; + excfAllElements = excfAllHidden | excfFormElements; + function AjaxCallObject() { *************** *** 63,66 **** --- 72,193 ---- } + 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") + + if (element.parentNode == null || element.parentNode == document.body) + return null; + else + return this.GetAjaxZoneID(element.parentNode); + } + + AjaxCallObject.prototype.ExcludeFromPost = function(element, zoneID, flags) + { + if ( excfAllElements == (flags & excfAllElements) ) + return true; + + var excludeAttr = element.getAttribute("ExcludeFromPost"); + if (excludeAttr != null && excludeAttr.toLowerCase() == "true") + return true; + + var name = element.name; + + if (element.type == "hidden") + { + if ( excfAllHidden == (flags & excfAllHidden) ) + return true; + + if (name == "__VIEWSTATE") + { + return ( excfViewState == (flags & excfViewState) ); + } + + var fprintConst = "__CONTROL_FINGERPRINTS_"; + if (name.indexOf(fprintConst) == 0) + { + if ( excfFingerprints == (flags & excfFingerprints) ) + return true; + + if (zoneID != null) + { + fprintElem = document.getElementById(name.substr(fprintConst.length)); + if ( ! this.IsInAjaxZone(fprintElem, zoneID) ) + return true; + } + } + else + { + return ( excfUserHidden == (flags & excfUserHidden) ); + } + } + else + { + if ( excfFormElements == (flags & excfFormElements) ) + return true; + + return ( zoneID != null && !this.IsInAjaxZone(element, zoneID) ) + } + + return false; + } + + AjaxCallObject.prototype.GetExcludeFlags = function(element) + { + if (element == null) + return 0; + + var flags = 0; + var flagsAttr = element.getAttribute("ExcludeFlags"); + if (flagsAttr != null) + flags = eval(flagsAttr); + + if (element.parentNode == null || element.parentNode == document.body) + return flags; + else + return ( flags | this.GetExcludeFlags(element.parentNode) ); + } + + AjaxCallObject.prototype.IsInAjaxZone = function(element, zoneID) + { + var attrib = element.getAttribute("AjaxType"); + if ( attrib != null && attrib.toLowerCase() == "ajaxzone" && element.getAttribute("id") == zoneID ) + return true; + + if (element.parentNode == null || element.parentNode == document.body) + return false; + else + return this.IsInAjaxZone(element.parentNode, zoneID); + } + + AjaxCallObject.prototype.GetTargetElement = function(eventTarget) + { + var target = null; + var elemUniqueID = eventTarget.split("$").join(":"); + var ids = elemUniqueID.split(":"); + + // Checks the unique id and its parents until it finds a target element + // i.e. for ajaxPanel_grid:row:field it checks + // ajaxPanel_grid_row_field + // ajaxPanel_grid_row + // ajaxPanel_grid + for (var num=ids.length; num > 0; num--) + { + var elemID = ""; + for (var i=0; i < num; i++) + elemID += (i==0 ? "" : "_") + ids[i]; + + target = document.getElementById(elemID); + if (target != null) + break; + } + + return target; + } + AjaxCallObject.prototype.HookAjaxCall = function(bPageIsStored, bUnloadStoredPage, bTracing) { *************** *** 125,129 **** if (cbType != "none") { ! AJAXCbo.DoAjaxCall(target.name, "", cbType); return false; } --- 252,256 ---- if (cbType != "none") { ! AJAXCbo.DoAjaxCall(target.name, "", cbType, AJAXCbo.GetAjaxZoneID(target)); return false; } *************** *** 144,172 **** RBS_Controls_Store[i].value = ""; } ! ! var target; ! var elemUniqueID = eventTarget.split("$").join(":"); ! var ids = elemUniqueID.split(":"); ! ! // Checks the unique id and its parents until it finds a target element ! // i.e. for ajaxPanel_grid:row:field it checks ! // ajaxPanel_grid_row_field ! // ajaxPanel_grid_row ! // ajaxPanel_grid ! for (var num=ids.length; num > 0; num--) ! { ! var elemID = ""; ! for (var i=0; i < num; i++) ! elemID += (i==0 ? "" : "_") + ids[i]; ! ! target = document.getElementById(elemID); ! if (target != null) ! break; ! } ! var cbType = AJAXCbo.GetAjaxCallType(target); if (cbType != "none") { ! AJAXCbo.DoAjaxCall(eventTarget, eventArgument, cbType); } else --- 271,280 ---- RBS_Controls_Store[i].value = ""; } ! ! var target = AJAXCbo.GetTargetElement(eventTarget); var cbType = AJAXCbo.GetAjaxCallType(target); if (cbType != "none") { ! AJAXCbo.DoAjaxCall(eventTarget, eventArgument, cbType, AJAXCbo.GetAjaxZoneID(target)); } else *************** *** 244,249 **** } ! AjaxCallObject.prototype.DoAjaxCall = function(eventTarget, eventArgument, ajaxCallType) { var theData = ''; var theform = document.forms[0]; --- 352,360 ---- } ! AjaxCallObject.prototype.DoAjaxCall = function(eventTarget, eventArgument, ajaxCallType, ajaxZoneID) { + //defaults + if (!ajaxCallType) ajaxCallType = "async"; + var theData = ''; var theform = document.forms[0]; *************** *** 254,260 **** theData += '__EVENTARGUMENT=' + this.EncodePostData(eventArgument) + '&'; theData += '__AJAXCALL=true&'; ! ! if ( ! __bPageIsStored ) ! theData += '__VIEWSTATE=' + this.EncodePostData(theform.__VIEWSTATE.value) + '&'; var elemCount = theform.elements.length; --- 365,373 ---- theData += '__EVENTARGUMENT=' + this.EncodePostData(eventArgument) + '&'; theData += '__AJAXCALL=true&'; ! ! if (ajaxZoneID != null) ! theData += '__AJAXZONE=' + ajaxZoneID + '&'; ! ! var excludeFlags = this.GetExcludeFlags( this.GetTargetElement(eventTarget) ); var elemCount = theform.elements.length; *************** *** 265,274 **** if( eName && eName != '') { ! if( eName == '__EVENTTARGET' || eName == '__EVENTARGUMENT' || eName == '__VIEWSTATE' ) { // Do Nothing } ! else if (curElem.getAttribute("ExcludeFromPost") == null || curElem.getAttribute("ExcludeFromPost").toLowerCase() != "true") { var type = curElem.type; var val = curElem.value; --- 378,390 ---- if( eName && eName != '') { ! if( eName == '__EVENTTARGET' || eName == '__EVENTARGUMENT' ) { // Do Nothing } ! else if ( ! this.ExcludeFromPost(curElem, ajaxZoneID, excludeFlags) ) { + if ( __bPageIsStored && eName == '__VIEWSTATE' ) + continue; + var type = curElem.type; var val = curElem.value; |
From: Argiris K. <be...@us...> - 2005-12-18 16:44:55
|
Update of /cvsroot/magicajax/magicajax/Core In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25522/Core Modified Files: MagicAjax NET 2.0.csproj MagicAjax.csproj MagicAjaxModule.cs Log Message: -Added 'AjaxType' MagicAjax attribute for controls -Added 'ExcludeFlags' MagicAjax attribute for controls -Added AjaxZone control. Index: MagicAjax NET 2.0.csproj =================================================================== RCS file: /cvsroot/magicajax/magicajax/Core/MagicAjax NET 2.0.csproj,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** MagicAjax NET 2.0.csproj 12 Dec 2005 05:31:17 -0000 1.9 --- MagicAjax NET 2.0.csproj 18 Dec 2005 16:44:46 -0000 1.10 *************** *** 141,144 **** --- 141,147 ---- <SubType>Code</SubType> </Compile> + <Compile Include="UI\Controls\AjaxZone.cs"> + <SubType>Code</SubType> + </Compile> <Compile Include="UI\Controls\AjaxHtmlAnchor.cs"> <SubType>Code</SubType> Index: MagicAjax.csproj =================================================================== RCS file: /cvsroot/magicajax/magicajax/Core/MagicAjax.csproj,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** MagicAjax.csproj 12 Dec 2005 05:31:17 -0000 1.6 --- MagicAjax.csproj 18 Dec 2005 16:44:46 -0000 1.7 *************** *** 208,211 **** --- 208,216 ---- /> <File + RelPath = "UI\Controls\AjaxZone.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File RelPath = "UI\Design\AjaxPanelDesigner.cs" SubType = "Code" Index: MagicAjaxModule.cs =================================================================== RCS file: /cvsroot/magicajax/magicajax/Core/MagicAjaxModule.cs,v retrieving revision 1.42 retrieving revision 1.43 diff -C2 -d -r1.42 -r1.43 *** MagicAjaxModule.cs 12 Dec 2005 05:31:17 -0000 1.42 --- MagicAjaxModule.cs 18 Dec 2005 16:44:46 -0000 1.43 *************** *** 475,478 **** --- 475,480 ---- if (_magicAjaxContext.IsAjaxCall) { + bool viewStateIsExcluded = ( _request.Form["__VIEWSTATE"] == null ); + //insert output filter _filter = new PageFilter(_response.Filter); *************** *** 483,486 **** --- 485,495 ---- try { + if ( viewStateIsExcluded ) + { + // ViewState is excluded from the post data. Disable it on + // the page since its value will not be sent to client. + (HttpContext.Current.Handler as Page).EnableViewState = false; + } + HttpContext.Current.Handler.ProcessRequest(HttpContext.Current); } *************** *** 505,512 **** _response.Flush(); ! string vsValue = _filter.GetViewStateFieldValue(); ! if (vsValue != null && _request.Form["__VIEWSTATE"] != vsValue) { ! AjaxCallHelper.WriteSetFieldScript("__VIEWSTATE", vsValue); } --- 514,524 ---- _response.Flush(); ! if ( ! viewStateIsExcluded ) { ! string vsValue = _filter.GetViewStateFieldValue(); ! if (vsValue != null && _request.Form["__VIEWSTATE"] != vsValue) ! { ! AjaxCallHelper.WriteSetFieldScript("__VIEWSTATE", vsValue); ! } } |
From: Argiris K. <be...@us...> - 2005-12-14 02:38:24
|
Update of /cvsroot/magicajax/CVSROOT In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7243 Modified Files: commitinfo Log Message: Set write permissions for members. Index: commitinfo =================================================================== RCS file: /cvsroot/magicajax/CVSROOT/commitinfo,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** commitinfo 20 Oct 2005 16:10:14 -0000 1.1 --- commitinfo 14 Dec 2005 02:38:14 -0000 1.2 *************** *** 14,15 **** --- 14,16 ---- # If the name "ALL" appears as a regular expression it is always used # in addition to the first matching regex or "DEFAULT". + ALL /cvsroot/sitedocs/CVSROOT/cvstools/cvs_acls |
From: Argiris K. <be...@us...> - 2005-12-14 02:36:15
|
Update of /cvsroot/magicajax/CVSROOT In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6717 Modified Files: checkoutlist Added Files: avail Log Message: Set write permissions for members. --- NEW FILE: avail --- unavail avail|bekas,dolsthoo Index: checkoutlist =================================================================== RCS file: /cvsroot/magicajax/CVSROOT/checkoutlist,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** checkoutlist 20 Oct 2005 16:10:14 -0000 1.1 --- checkoutlist 14 Dec 2005 02:36:07 -0000 1.2 *************** *** 12,13 **** --- 12,14 ---- # # comment lines begin with '#' + avail |
From: Argiris K. <be...@us...> - 2005-12-14 00:19:24
|
Update of /cvsroot/magicajax/magicajax/Docs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8282/Docs Modified Files: Tag: STABLE Configuration.html Log Message: Fixed an error I missed. Index: Configuration.html =================================================================== RCS file: /cvsroot/magicajax/magicajax/Docs/Configuration.html,v retrieving revision 1.3 retrieving revision 1.3.2.1 diff -C2 -d -r1.3 -r1.3.2.1 *** Configuration.html 11 Dec 2005 17:17:35 -0000 1.3 --- Configuration.html 14 Dec 2005 00:19:16 -0000 1.3.2.1 *************** *** 128,132 **** <pre> private void Page_Load(object sender, System.EventArgs e) { ! MagicAjaxContext.Current.Configuration.PageStore = MagicAjax.Configuration.PageStoreMode.Session; }</pre> Any changes you make to the configuration options by code will be stored in a --- 128,132 ---- <pre> private void Page_Load(object sender, System.EventArgs e) { ! MagicAjaxContext.Current.Configuration.PageStore.Mode = MagicAjax.Configuration.PageStoreMode.Session; }</pre> Any changes you make to the configuration options by code will be stored in a |
From: Argiris K. <be...@us...> - 2005-12-14 00:19:00
|
Update of /cvsroot/magicajax/magicajax/Docs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8174/Docs Modified Files: Configuration.html Log Message: Fixed an error I missed. Index: Configuration.html =================================================================== RCS file: /cvsroot/magicajax/magicajax/Docs/Configuration.html,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Configuration.html 11 Dec 2005 17:17:35 -0000 1.3 --- Configuration.html 14 Dec 2005 00:18:51 -0000 1.4 *************** *** 128,132 **** <pre> private void Page_Load(object sender, System.EventArgs e) { ! MagicAjaxContext.Current.Configuration.PageStore = MagicAjax.Configuration.PageStoreMode.Session; }</pre> Any changes you make to the configuration options by code will be stored in a --- 128,132 ---- <pre> private void Page_Load(object sender, System.EventArgs e) { ! MagicAjaxContext.Current.Configuration.PageStore.Mode = MagicAjax.Configuration.PageStoreMode.Session; }</pre> Any changes you make to the configuration options by code will be stored in a |
From: Argiris K. <be...@us...> - 2005-12-13 06:36:28
|
Update of /cvsroot/magicajax/magicajax/Docs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5886/Docs Modified Files: Tag: STABLE Changelog.html Log Message: Update for Changelog. Index: Changelog.html =================================================================== RCS file: /cvsroot/magicajax/magicajax/Docs/Changelog.html,v retrieving revision 1.13 retrieving revision 1.13.2.1 diff -C2 -d -r1.13 -r1.13.2.1 *** Changelog.html 12 Dec 2005 12:24:54 -0000 1.13 --- Changelog.html 13 Dec 2005 06:36:18 -0000 1.13.2.1 *************** *** 54,57 **** --- 54,65 ---- <p class="header" align="center">MagicAjax.NET Framework</p> <P class="header" align="center">Change Log</P> + <P class="MainHeader" align="left"> </P> + <p>Changes since 0.2.2</p> + <ul> + <li> + DropdownList and single-selection ListBox were not cleared for firefox; fixed + it + </li> + </ul> <P class="MainHeader" align="left">v0.2.2 (12 December 2005) - Maintenance Release</P> <p>Changes since 0.2.1</p> |
From: Argiris K. <be...@us...> - 2005-12-13 06:36:09
|
Update of /cvsroot/magicajax/magicajax/Docs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5834/Docs Modified Files: Changelog.html Log Message: Update for Changelog. Index: Changelog.html =================================================================== RCS file: /cvsroot/magicajax/magicajax/Docs/Changelog.html,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** Changelog.html 12 Dec 2005 12:24:54 -0000 1.13 --- Changelog.html 13 Dec 2005 06:35:57 -0000 1.14 *************** *** 54,57 **** --- 54,65 ---- <p class="header" align="center">MagicAjax.NET Framework</p> <P class="header" align="center">Change Log</P> + <P class="MainHeader" align="left"> </P> + <p>Changes since 0.2.2</p> + <ul> + <li> + DropdownList and single-selection ListBox were not cleared for firefox; fixed + it + </li> + </ul> <P class="MainHeader" align="left">v0.2.2 (12 December 2005) - Maintenance Release</P> <p>Changes since 0.2.1</p> |
From: Argiris K. <be...@us...> - 2005-12-13 06:25:39
|
Update of /cvsroot/magicajax/magicajax/Core/script In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4658/Core/script Modified Files: Tag: STABLE AjaxCallObject.js Log Message: --Single-selection listbox and dropdownlist were not cleared for firefox; fixed it. --Optimization changes to the DoAjaxCall function, provided by Eyal Mey-Tal. Index: AjaxCallObject.js =================================================================== RCS file: /cvsroot/magicajax/magicajax/Core/script/AjaxCallObject.js,v retrieving revision 1.30 retrieving revision 1.30.4.1 diff -C2 -d -r1.30 -r1.30.4.1 *** AjaxCallObject.js 5 Dec 2005 18:40:50 -0000 1.30 --- AjaxCallObject.js 13 Dec 2005 06:25:31 -0000 1.30.4.1 *************** *** 258,264 **** theData += '__VIEWSTATE=' + this.EncodePostData(theform.__VIEWSTATE.value) + '&'; ! for( var i=0; i<theform.elements.length; i++ ) { ! eName = theform.elements[i].name; if( eName && eName != '') { --- 258,266 ---- theData += '__VIEWSTATE=' + this.EncodePostData(theform.__VIEWSTATE.value) + '&'; ! var elemCount = theform.elements.length; ! for( var i=0; i<elemCount; i++ ) { ! curElem = theform.elements[i]; ! eName = curElem.name; if( eName && eName != '') { *************** *** 267,298 **** // Do Nothing } ! else if (theform.elements[i].getAttribute("ExcludeFromPost") == null || theform.elements[i].getAttribute("ExcludeFromPost").toLowerCase() != "true") { ! var type = theform.elements[i].type; ! var val = theform.elements[i].value; if ( type == "submit" || type == "button" ) continue; - if ( type == "textarea" ) - { - // Firefox has the bad habit of altering the "\r\n" of a textarea to "\n", - // so convert all single "\n" to "\r\n" - val = val.split("\r\n").join("\n").split("\n").join("\r\n"); - } - val = this.EncodePostData(val); if ( type == "select-multiple" || type == "select-one" ) { ! for (var j=0; j < theform.elements[i].options.length; j++) ! if (theform.elements[i].options[j].selected) ! theData = theData + this.EncodePostData(eName) + '=' + this.EncodePostData(theform.elements[i].options[j].value) + '&'; } ! else if ( (type != "checkbox" && type != "radio") || theform.elements[i].checked ) { ! theData = theData + this.EncodePostData(eName) + '=' + val; ! if( i != theform.elements.length - 1 ) ! theData = theData + '&'; } } --- 269,293 ---- // Do Nothing } ! else if (curElem.getAttribute("ExcludeFromPost") == null || curElem.getAttribute("ExcludeFromPost").toLowerCase() != "true") { ! var type = curElem.type; ! var val = curElem.value; if ( type == "submit" || type == "button" ) continue; val = this.EncodePostData(val); if ( type == "select-multiple" || type == "select-one" ) { ! var selectLength = curElem.options.length; ! var optNameStr = this.EncodePostData(eName); ! for (var j=0; j < selectLength; j++) ! if (curElem.options[j].selected) ! theData = theData + optNameStr + '=' + this.EncodePostData(curElem.options[j].value) + '&'; } ! else if ( (type != "checkbox" && type != "radio") || curElem.checked ) { ! theData = theData + this.EncodePostData(eName) + '=' + val + '&'; } } *************** *** 547,551 **** AjaxCallObject.prototype.EncodeTraceData = function(data) { ! return data.split("<").join("<").split(" ").join(" ").split("\r\n").join("<br>"); } --- 542,546 ---- AjaxCallObject.prototype.EncodeTraceData = function(data) { ! return data.split("<").join("<").split(" ").join(" ").split("\n").join("<br>"); } |
From: Argiris K. <be...@us...> - 2005-12-13 06:25:38
|
Update of /cvsroot/magicajax/magicajax/Core/UI/Controls In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4658/Core/UI/Controls Modified Files: Tag: STABLE AjaxPanel.cs Log Message: --Single-selection listbox and dropdownlist were not cleared for firefox; fixed it. --Optimization changes to the DoAjaxCall function, provided by Eyal Mey-Tal. Index: AjaxPanel.cs =================================================================== RCS file: /cvsroot/magicajax/magicajax/Core/UI/Controls/AjaxPanel.cs,v retrieving revision 1.37 retrieving revision 1.37.4.1 diff -C2 -d -r1.37 -r1.37.4.1 *** AjaxPanel.cs 12 Dec 2005 12:10:41 -0000 1.37 --- AjaxPanel.cs 13 Dec 2005 06:25:31 -0000 1.37.4.1 *************** *** 507,511 **** { if ( oneSelection != form[name] ) ! AjaxCallHelper.WriteSetFieldScript (clientID, oneSelection); } else --- 507,516 ---- { if ( oneSelection != form[name] ) ! { ! if ( oneSelection == null ) ! AjaxCallHelper.WriteFormat ("document.forms[0][\"{0}\"].selectedIndex=-1;\r\n", clientID); ! else ! AjaxCallHelper.WriteSetFieldScript (clientID, oneSelection); ! } } else |
From: Argiris K. <be...@us...> - 2005-12-13 06:23:14
|
Update of /cvsroot/magicajax/magicajax/Core/script In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4378/Core/script Modified Files: AjaxCallObject.js Log Message: --Single-selection listbox and dropdownlist were not cleared for firefox; fixed it. --Optimization changes to the DoAjaxCall function, provided by Eyal Mey-Tal. Index: AjaxCallObject.js =================================================================== RCS file: /cvsroot/magicajax/magicajax/Core/script/AjaxCallObject.js,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -d -r1.30 -r1.31 *** AjaxCallObject.js 5 Dec 2005 18:40:50 -0000 1.30 --- AjaxCallObject.js 13 Dec 2005 06:23:03 -0000 1.31 *************** *** 258,264 **** theData += '__VIEWSTATE=' + this.EncodePostData(theform.__VIEWSTATE.value) + '&'; ! for( var i=0; i<theform.elements.length; i++ ) { ! eName = theform.elements[i].name; if( eName && eName != '') { --- 258,266 ---- theData += '__VIEWSTATE=' + this.EncodePostData(theform.__VIEWSTATE.value) + '&'; ! var elemCount = theform.elements.length; ! for( var i=0; i<elemCount; i++ ) { ! curElem = theform.elements[i]; ! eName = curElem.name; if( eName && eName != '') { *************** *** 267,298 **** // Do Nothing } ! else if (theform.elements[i].getAttribute("ExcludeFromPost") == null || theform.elements[i].getAttribute("ExcludeFromPost").toLowerCase() != "true") { ! var type = theform.elements[i].type; ! var val = theform.elements[i].value; if ( type == "submit" || type == "button" ) continue; - if ( type == "textarea" ) - { - // Firefox has the bad habit of altering the "\r\n" of a textarea to "\n", - // so convert all single "\n" to "\r\n" - val = val.split("\r\n").join("\n").split("\n").join("\r\n"); - } - val = this.EncodePostData(val); if ( type == "select-multiple" || type == "select-one" ) { ! for (var j=0; j < theform.elements[i].options.length; j++) ! if (theform.elements[i].options[j].selected) ! theData = theData + this.EncodePostData(eName) + '=' + this.EncodePostData(theform.elements[i].options[j].value) + '&'; } ! else if ( (type != "checkbox" && type != "radio") || theform.elements[i].checked ) { ! theData = theData + this.EncodePostData(eName) + '=' + val; ! if( i != theform.elements.length - 1 ) ! theData = theData + '&'; } } --- 269,293 ---- // Do Nothing } ! else if (curElem.getAttribute("ExcludeFromPost") == null || curElem.getAttribute("ExcludeFromPost").toLowerCase() != "true") { ! var type = curElem.type; ! var val = curElem.value; if ( type == "submit" || type == "button" ) continue; val = this.EncodePostData(val); if ( type == "select-multiple" || type == "select-one" ) { ! var selectLength = curElem.options.length; ! var optNameStr = this.EncodePostData(eName); ! for (var j=0; j < selectLength; j++) ! if (curElem.options[j].selected) ! theData = theData + optNameStr + '=' + this.EncodePostData(curElem.options[j].value) + '&'; } ! else if ( (type != "checkbox" && type != "radio") || curElem.checked ) { ! theData = theData + this.EncodePostData(eName) + '=' + val + '&'; } } *************** *** 547,551 **** AjaxCallObject.prototype.EncodeTraceData = function(data) { ! return data.split("<").join("<").split(" ").join(" ").split("\r\n").join("<br>"); } --- 542,546 ---- AjaxCallObject.prototype.EncodeTraceData = function(data) { ! return data.split("<").join("<").split(" ").join(" ").split("\n").join("<br>"); } |
From: Argiris K. <be...@us...> - 2005-12-13 06:23:14
|
Update of /cvsroot/magicajax/magicajax/Core/UI/Controls In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4378/Core/UI/Controls Modified Files: AjaxPanel.cs Log Message: --Single-selection listbox and dropdownlist were not cleared for firefox; fixed it. --Optimization changes to the DoAjaxCall function, provided by Eyal Mey-Tal. Index: AjaxPanel.cs =================================================================== RCS file: /cvsroot/magicajax/magicajax/Core/UI/Controls/AjaxPanel.cs,v retrieving revision 1.37 retrieving revision 1.38 diff -C2 -d -r1.37 -r1.38 *** AjaxPanel.cs 12 Dec 2005 12:10:41 -0000 1.37 --- AjaxPanel.cs 13 Dec 2005 06:23:02 -0000 1.38 *************** *** 507,511 **** { if ( oneSelection != form[name] ) ! AjaxCallHelper.WriteSetFieldScript (clientID, oneSelection); } else --- 507,516 ---- { if ( oneSelection != form[name] ) ! { ! if ( oneSelection == null ) ! AjaxCallHelper.WriteFormat ("document.forms[0][\"{0}\"].selectedIndex=-1;\r\n", clientID); ! else ! AjaxCallHelper.WriteSetFieldScript (clientID, oneSelection); ! } } else |
From: Argiris K. <be...@us...> - 2005-12-12 12:25:03
|
Update of /cvsroot/magicajax/magicajax/Docs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25692/Docs Modified Files: Changelog.html Log Message: Updated ChangeLog regarding password textbox. Index: Changelog.html =================================================================== RCS file: /cvsroot/magicajax/magicajax/Docs/Changelog.html,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** Changelog.html 12 Dec 2005 05:31:17 -0000 1.12 --- Changelog.html 12 Dec 2005 12:24:54 -0000 1.13 *************** *** 58,61 **** --- 58,65 ---- <ul> <li> + The password TextBox was getting cleared at each AjaxCall; now it is ignored, + the user should use an explicit javascript command to clear it with + AjaxCallHelper.WriteSetFieldScript + <LI> The values of form elements are not taken into account for the fingerprint, thus html to update an already updated by the user form element is not sent to |
From: Argiris K. <be...@us...> - 2005-12-12 12:10:49
|
Update of /cvsroot/magicajax/magicajax/Core In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22148/Core Modified Files: Util.cs Log Message: Password textboxes are ignored for the ReflectUpdatedFormValues method. Index: Util.cs =================================================================== RCS file: /cvsroot/magicajax/magicajax/Core/Util.cs,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** Util.cs 12 Dec 2005 05:31:17 -0000 1.15 --- Util.cs 12 Dec 2005 12:10:41 -0000 1.16 *************** *** 156,160 **** { case "text": - case "password": if (attrNameValues.ContainsKey("value")) { --- 156,159 ---- |
From: Argiris K. <be...@us...> - 2005-12-12 12:10:49
|
Update of /cvsroot/magicajax/magicajax/Core/UI/Controls In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22148/Core/UI/Controls Modified Files: AjaxPanel.cs Log Message: Password textboxes are ignored for the ReflectUpdatedFormValues method. Index: AjaxPanel.cs =================================================================== RCS file: /cvsroot/magicajax/magicajax/Core/UI/Controls/AjaxPanel.cs,v retrieving revision 1.36 retrieving revision 1.37 diff -C2 -d -r1.36 -r1.37 *** AjaxPanel.cs 12 Dec 2005 05:31:17 -0000 1.36 --- AjaxPanel.cs 12 Dec 2005 12:10:41 -0000 1.37 *************** *** 427,431 **** { case "text": - case "password": if (value != form[name]) AjaxCallHelper.WriteSetFieldScript (clientID, value); --- 427,430 ---- |
From: Argiris K. <be...@us...> - 2005-12-12 05:55:37
|
Update of /cvsroot/magicajax/magicajax/Docs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16871/Docs Modified Files: Limitations.html Log Message: Wrote the 'FileUpload' limitation. Index: Limitations.html =================================================================== RCS file: /cvsroot/magicajax/magicajax/Docs/Limitations.html,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Limitations.html 9 Dec 2005 01:24:00 -0000 1.2 --- Limitations.html 12 Dec 2005 05:55:29 -0000 1.3 *************** *** 66,73 **** for validators inside an AjaxPanel <li> ! For the <a href="Configuration.html#mode">NoStore PageStore mode</a>, if the ! tag attributes (CssClass, BackColor, etc.) of an AjaxPanel change during an ! AjaxCall, the changes will not be reflected to the client's browser ! </li> </UL> <P></P> --- 66,73 ---- for validators inside an AjaxPanel <li> ! For the <a href="Configuration.html#mode">NoStore PageStore mode</a>, if ! the tag attributes (CssClass, BackColor, etc.) of an AjaxPanel change during an ! AjaxCall, the changes will not be reflected to the client's browser ! <LI> <!--StartFragment --> The FileUpload control is not working during an AjaxCall</LI> </UL> <P></P> |
From: Argiris K. <be...@us...> - 2005-12-12 05:31:29
|
Update of /cvsroot/magicajax/magicajax/Core/UI/Controls In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13113/Core/UI/Controls Modified Files: AjaxPanel.cs Log Message: -The values of form elements are not taken into account for the fingerprint, thus html to update an already updated by the user form element is not sent to client any more. Index: AjaxPanel.cs =================================================================== RCS file: /cvsroot/magicajax/magicajax/Core/UI/Controls/AjaxPanel.cs,v retrieving revision 1.35 retrieving revision 1.36 diff -C2 -d -r1.35 -r1.36 *** AjaxPanel.cs 9 Dec 2005 17:07:14 -0000 1.35 --- AjaxPanel.cs 12 Dec 2005 05:31:17 -0000 1.36 *************** *** 78,82 **** PersistChildren(true), ToolboxData("<{0}:AjaxPanel runat=server>AjaxPanel</{0}:AjaxPanel>")] ! public class AjaxPanel : RenderedByScriptControl, IFormDataLoadedEventHandler { #region Fields --- 78,82 ---- PersistChildren(true), ToolboxData("<{0}:AjaxPanel runat=server>AjaxPanel</{0}:AjaxPanel>")] ! public class AjaxPanel : RenderedByScriptControl { #region Fields *************** *** 143,195 **** #region Public Methods - #region RaiseFormDataLoadedEvent - /// <summary> - /// Caches the html rendering of the post data changed controls that belong to - /// the AjaxPanel. - /// </summary> - /// <remarks> - /// If a child control is altered by post data, AjaxPanel will send the javascript - /// to refresh the control on the page, but it is unnecessary because the control - /// on the form doesn't need refreshing. - /// This method caches the new html rendering of the controls that received - /// new post data so that the AjaxPanel doesn't think that they were altered. - /// - /// Called by MagicAjaxModule. - /// </remarks> - public virtual void RaiseFormDataLoadedEvent(MagicAjax.Collections.ReadOnlyArrayList changedControls) - { - ArrayList dirtyControls = new ArrayList(); - - for (int i=0; i < changedControls.Count; i++) - { - Control control = (Control) changedControls[i]; - // The top parent of this control that belongs to this AjaxPanel - Control panelChild = FindTopPanelChildOfControl(control); - - if (panelChild != null) - { - dirtyControls.Add (panelChild); - } - } - - if (dirtyControls.Count == 0) - return; - - System.Text.StringBuilder sb = new System.Text.StringBuilder(); - HtmlTextWriter litewriter = new HtmlTextWriter(new System.IO.StringWriter(sb)); - - for (int i=0; i < dirtyControls.Count; i++) - { - Control control = (Control) dirtyControls[i]; - - ExtendedRenderControl (control, litewriter); - - _controlHtmlFingerprints[control] = Util.GetFingerprint(sb.ToString()); - - sb.Length = 0; - } - } - #endregion - #region Clear /// <summary> --- 143,146 ---- *************** *** 433,439 **** { NameValueCollection form = Context.Request.Form; ! RegexOptions options = RegexOptions.Singleline | RegexOptions.IgnoreCase | RegexOptions.Compiled; ! Regex regEx = new System.Text.RegularExpressions.Regex(@"<(?<tag>input|textarea|select)\s((?<attrname>[-\w]+)=""(?<attrvalue>.*?)""\s?)*.*?(?:/>|>(?<inner>.*?)</(?:textarea|select)>)", options); MatchCollection matches = regEx.Matches(html); for (int i=0; i<matches.Count; i++) --- 384,390 ---- { NameValueCollection form = Context.Request.Form; ! RegexOptions options = RegexOptions.Singleline | RegexOptions.IgnoreCase | RegexOptions.Compiled | RegexOptions.ExplicitCapture; ! Regex regEx = new System.Text.RegularExpressions.Regex(Util.FormElementPattern, options); MatchCollection matches = regEx.Matches(html); for (int i=0; i<matches.Count; i++) *************** *** 442,447 **** CaptureCollection attrnames = match.Groups["attrname"].Captures; CaptureCollection attrvalues = match.Groups["attrvalue"].Captures; ! ! Hashtable attrNameValues = new Hashtable(); for (int j=0; j< attrnames.Count; j++) { --- 393,398 ---- CaptureCollection attrnames = match.Groups["attrname"].Captures; CaptureCollection attrvalues = match.Groups["attrvalue"].Captures; ! ! Hashtable attrNameValues = new Hashtable(attrnames.Count); for (int j=0; j< attrnames.Count; j++) { *************** *** 478,482 **** case "password": if (value != form[name]) ! AjaxCallHelper.WriteSetFieldScript (name, value); break; case "checkbox": --- 429,433 ---- case "password": if (value != form[name]) ! AjaxCallHelper.WriteSetFieldScript (clientID, value); break; case "checkbox": *************** *** 505,509 **** string text = match.Groups["inner"].Value; if (text != form[name]) ! AjaxCallHelper.WriteSetFieldScript (name, text); break; --- 456,460 ---- string text = match.Groups["inner"].Value; if (text != form[name]) ! AjaxCallHelper.WriteSetFieldScript (clientID, text); break; *************** *** 557,561 **** { if ( oneSelection != form[name] ) ! AjaxCallHelper.WriteSetFieldScript (name, oneSelection); } else --- 508,512 ---- { if ( oneSelection != form[name] ) ! AjaxCallHelper.WriteSetFieldScript (clientID, oneSelection); } else *************** *** 573,577 **** if ( ! elemWritten ) { ! AjaxCallHelper.WriteFormat ("o=document.forms[0][\"{0}\"].options;\r\n", name); elemWritten = true; } --- 524,528 ---- if ( ! elemWritten ) { ! AjaxCallHelper.WriteFormat ("o=document.forms[0][\"{0}\"].options;\r\n", clientID); elemWritten = true; } *************** *** 587,591 **** if ( ! elemWritten ) { ! AjaxCallHelper.WriteFormat ("o=document.forms[0][\"{0}\"];\r\n", name); elemWritten = true; } --- 538,542 ---- if ( ! elemWritten ) { ! AjaxCallHelper.WriteFormat ("o=document.forms[0][\"{0}\"];\r\n", clientID); elemWritten = true; } *************** *** 993,1021 **** #endregion - - #region FindTopPanelChildOfControl - /// <summary> - /// It returns the top parent control of the supplied control, that is an immediate - /// child of this AjaxPanel. If the supplied control is contained inside another - /// AjaxPanel, it returns null. - /// </summary> - /// <remarks> - /// Called by RaiseFormDataLoadedEvent. - /// </remarks> - /// <param name="control"></param> - /// <returns></returns> - private Control FindTopPanelChildOfControl(Control control) - { - if (control.Parent == null) - return null; - else if (control.Parent == this) - return control; - else if (control.Parent is AjaxPanel) - return null; - else - return FindTopPanelChildOfControl(control.Parent); - } - #endregion - #region FindRenderedByScriptControls /// <summary> --- 944,947 ---- |
From: Argiris K. <be...@us...> - 2005-12-12 05:31:29
|
Update of /cvsroot/magicajax/magicajax/Core In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13113/Core Modified Files: MagicAjax NET 2.0.csproj MagicAjax.csproj MagicAjaxModule.cs Util.cs Log Message: -The values of form elements are not taken into account for the fingerprint, thus html to update an already updated by the user form element is not sent to client any more. Index: Util.cs =================================================================== RCS file: /cvsroot/magicajax/magicajax/Core/Util.cs,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** Util.cs 5 Dec 2005 18:44:31 -0000 1.14 --- Util.cs 12 Dec 2005 05:31:17 -0000 1.15 *************** *** 36,39 **** --- 36,40 ---- { public const string ScriptPattern = "<script.[^>]*>"; + public const string FormElementPattern = @"<(?<tag>input|textarea|select)\s+(?<attribute>(?<attrname>[-\w]+)=((""|')(?<attrvalue>.*?)(""|')\s*|(?<attrvalue>[-\w]+)\s*))*.*?(/>|>(?<inner>.*?)</\k'tag'>)"; /// <summary> *************** *** 77,81 **** /// <summary> ! /// Create a base64 encoded MD5 sum string of an input string /// </summary> /// <param name="str"></param> --- 78,82 ---- /// <summary> ! /// Create a fingerprint string of an input html /// </summary> /// <param name="str"></param> *************** *** 83,86 **** --- 84,89 ---- public static string GetFingerprint(string input) { + input = GetHtmlWithClearedFormValues(input); + MagicAjax.Configuration.OutputCompareMode compareMode = MagicAjaxContext.Current.Configuration.CompareMode; switch (compareMode) *************** *** 100,103 **** --- 103,222 ---- /// <summary> + /// Parses all form input controls from the html, and clears their values. + /// The return html is used to get a fingerprint that is not dependent on the + /// actual value of a form input control. + /// </summary> + /// <param name="html"></param> + /// <returns></returns> + public static string GetHtmlWithClearedFormValues (string html) + { + StringBuilder strbuild = new StringBuilder(html); + RegexOptions options = RegexOptions.Singleline | RegexOptions.IgnoreCase | RegexOptions.Compiled | RegexOptions.ExplicitCapture; + Regex regEx = new System.Text.RegularExpressions.Regex(Util.FormElementPattern, options); + MatchCollection matches = regEx.Matches(html); + int diff = 0; + for (int i=0; i<matches.Count; i++) + { + Match match = matches[i]; + CaptureCollection attributes = match.Groups["attribute"].Captures; + CaptureCollection attrnames = match.Groups["attrname"].Captures; + CaptureCollection attrvalues = match.Groups["attrvalue"].Captures; + + Hashtable attrCaptures = new Hashtable(attributes.Count); + Hashtable attrNameValues = new Hashtable(attributes.Count); + + for (int j=0; j < attributes.Count; j++) + { + string attrname = attrnames[j].Value.ToLower(); + attrNameValues.Add (attrname, attrvalues[j].Value); + attrCaptures.Add (attrname, attributes[j]); + } + + // If the form element has the MagicAjax 'ExcludeFromPost' attribute + // set to 'true', ignore it. We will need its value for the fingerprint. + if ( attrNameValues.ContainsKey("excludefrompost") + && (attrNameValues["excludefrompost"] as String).ToLower() == "true") + continue; + + string tag = match.Groups["tag"].Value.ToLower(); + string name = (string)attrNameValues["name"]; + + if ( name == null ) + continue; + + switch (tag) + { + #region <input> tags + + case "input": + string type = (string)attrNameValues["type"]; + if (type != null) + { + switch (type) + { + case "text": + case "password": + if (attrNameValues.ContainsKey("value")) + { + Capture attr = attrCaptures["value"] as Capture; + int sbIndex = attr.Index - diff; + strbuild.Remove (sbIndex, attr.Length); + diff += attr.Length; + } + break; + case "checkbox": + case "radio": + if (attrNameValues.ContainsKey("checked")) + { + Capture attr = attrCaptures["checked"] as Capture; + int sbIndex = attr.Index - diff; + strbuild.Remove (sbIndex, attr.Length); + diff += attr.Length; + } + break; + } + } + break; + + #endregion + + #region <textarea> tags + + case "textarea": + Group inner = match.Groups["inner"]; + if (inner.Success) + { + int sbIndex = inner.Index - diff; + strbuild.Remove (sbIndex, inner.Length); + diff += inner.Length; + } + break; + + #endregion + + #region <select> tags + + case "select": + Group selInner = match.Groups["inner"]; + Regex regExOpt = new System.Text.RegularExpressions.Regex(@"<option.*?(?<selected>selected=(""|'|)selected(""|'|)(\s+|(?=>))).*?>", options); + + //now remove the 'selected' attributes within this <select> tag + MatchCollection matchesSelected = regExOpt.Matches(selInner.Value); + for (int j = 0; j < matchesSelected.Count; j++) + { + Group selected = matchesSelected[j].Groups["selected"]; + int sbIndex = selInner.Index + selected.Index - diff; + strbuild.Remove (sbIndex, selected.Length); + diff += selected.Length; + } + break; + #endregion + } + } + + return strbuild.ToString(); + } + + /// <summary> /// Resolves relative url's (starting with "~"). /// Use this when Control.ResolveUrl() is not available. Index: MagicAjax.csproj =================================================================== RCS file: /cvsroot/magicajax/magicajax/Core/MagicAjax.csproj,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** MagicAjax.csproj 23 Nov 2005 15:12:48 -0000 1.5 --- MagicAjax.csproj 12 Dec 2005 05:31:17 -0000 1.6 *************** *** 159,167 **** /> <File - RelPath = "Interfaces\IFormDataLoadedEventHandler.cs" - SubType = "Code" - BuildAction = "Compile" - /> - <File RelPath = "Interfaces\IPreWriteScriptEventHandler.cs" SubType = "Code" --- 159,162 ---- Index: MagicAjax NET 2.0.csproj =================================================================== RCS file: /cvsroot/magicajax/magicajax/Core/MagicAjax NET 2.0.csproj,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** MagicAjax NET 2.0.csproj 23 Nov 2005 15:12:48 -0000 1.8 --- MagicAjax NET 2.0.csproj 12 Dec 2005 05:31:17 -0000 1.9 *************** *** 109,115 **** </Compile> <Compile Include="Interfaces\IAjaxCallEventHandler.cs" /> - <Compile Include="Interfaces\IFormDataLoadedEventHandler.cs"> - <SubType>Code</SubType> - </Compile> <Compile Include="Interfaces\IPreWriteScriptEventHandler.cs"> <SubType>Code</SubType> --- 109,112 ---- Index: MagicAjaxModule.cs =================================================================== RCS file: /cvsroot/magicajax/magicajax/Core/MagicAjaxModule.cs,v retrieving revision 1.41 retrieving revision 1.42 diff -C2 -d -r1.41 -r1.42 *** MagicAjaxModule.cs 11 Dec 2005 21:07:22 -0000 1.41 --- MagicAjaxModule.cs 12 Dec 2005 05:31:17 -0000 1.42 *************** *** 669,682 **** Util.CallPrivateMethod (page, typeof(Page), "SetIntrinsics", HttpContext.Current); ! ReadOnlyArrayList postDataChangedControls; ! postDataChangedControls = new ReadOnlyArrayList(LoadFormDataOnChildren(page)); ! RaiseFormDataLoadedEvent (page, postDataChangedControls); foreach (IPostBackDataHandler handler in postDataChangedControls) handler.RaisePostDataChangedEvent(); - RaiseAjaxCallEvent (page); - if (_magicAjaxContext.AjaxCallType == AjaxCallType.Control) { --- 669,680 ---- Util.CallPrivateMethod (page, typeof(Page), "SetIntrinsics", HttpContext.Current); ! ArrayList postDataChangedControls; ! postDataChangedControls = LoadFormDataOnChildren(page); ! RaiseAjaxCallEvent (page); foreach (IPostBackDataHandler handler in postDataChangedControls) handler.RaisePostDataChangedEvent(); if (_magicAjaxContext.AjaxCallType == AjaxCallType.Control) { *************** *** 694,715 **** /// <summary> - /// Raises PostDataLoaded event on the supplied control and its children. - /// </summary> - /// <remarks> - /// This is a recursive method. It goes through the control collection tree - /// and raises the PostDataLoaded event on all the controls that implement the - /// IFormDataLoadedEventHandler interface. - /// </remarks> - /// <param name="control"></param> - protected void RaiseFormDataLoadedEvent(Control control, ReadOnlyArrayList changedControls) - { - if (control is IFormDataLoadedEventHandler) - ((IFormDataLoadedEventHandler) control).RaiseFormDataLoadedEvent (changedControls); - - for (int i=0; i < control.Controls.Count; i++) - RaiseFormDataLoadedEvent (control.Controls[i], changedControls); - } - - /// <summary> /// Raises AjaxCall event on the supplied control and its children. /// </summary> --- 692,695 ---- |
From: Argiris K. <be...@us...> - 2005-12-12 05:31:29
|
Update of /cvsroot/magicajax/magicajax/Docs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13113/Docs Modified Files: Changelog.html Log Message: -The values of form elements are not taken into account for the fingerprint, thus html to update an already updated by the user form element is not sent to client any more. Index: Changelog.html =================================================================== RCS file: /cvsroot/magicajax/magicajax/Docs/Changelog.html,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** Changelog.html 11 Dec 2005 17:42:03 -0000 1.11 --- Changelog.html 12 Dec 2005 05:31:17 -0000 1.12 *************** *** 54,61 **** <p class="header" align="center">MagicAjax.NET Framework</p> <P class="header" align="center">Change Log</P> ! <P class="MainHeader" align="left">v0.2.2 (11 December 2005) - Maintenance Release</P> <p>Changes since 0.2.1</p> <ul> <li> Fixed a bug of MagicAjaxConfiguration when its properties are changed by code <LI> --- 54,65 ---- <p class="header" align="center">MagicAjax.NET Framework</p> <P class="header" align="center">Change Log</P> ! <P class="MainHeader" align="left">v0.2.2 (12 December 2005) - Maintenance Release</P> <p>Changes since 0.2.1</p> <ul> <li> + The values of form elements are not taken into account for the fingerprint, + thus html to update an already updated by the user form element is not sent to + client any more + <LI> Fixed a bug of MagicAjaxConfiguration when its properties are changed by code <LI> |
From: Argiris K. <be...@us...> - 2005-12-12 05:23:01
|
Update of /cvsroot/magicajax/magicajax/Core/Interfaces In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11721/Core/Interfaces Removed Files: IFormDataLoadedEventHandler.cs Log Message: Removed IFormDataLoadedEventHandler. --- IFormDataLoadedEventHandler.cs DELETED --- |
From: Dion O. <dol...@us...> - 2005-12-11 21:38:10
|
Update of /cvsroot/magicajax/magicajax/Core In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19003/magicajax/Core Modified Files: Tag: STABLE MagicAjaxContext.cs Log Message: small bugfix in MagicAjaxVersion property Index: MagicAjaxContext.cs =================================================================== RCS file: /cvsroot/magicajax/magicajax/Core/MagicAjaxContext.cs,v retrieving revision 1.8.2.1 retrieving revision 1.8.2.2 diff -C2 -d -r1.8.2.1 -r1.8.2.2 *** MagicAjaxContext.cs 11 Dec 2005 21:07:52 -0000 1.8.2.1 --- MagicAjaxContext.cs 11 Dec 2005 21:38:02 -0000 1.8.2.2 *************** *** 197,204 **** if (_magicAjaxVersion == null && HttpContext.Current != null) { ! object cachedMagicAjaxVersion = HttpContext.Current.Cache["__MAGIXAJAX_VERSION"]; if (cachedMagicAjaxVersion == null) { ! cachedMagicAjaxVersion = FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location).FileVersion; } _magicAjaxVersion = (string)cachedMagicAjaxVersion; --- 197,206 ---- if (_magicAjaxVersion == null && HttpContext.Current != null) { ! object cachedMagicAjaxVersion = HttpContext.Current.Cache["__MAGICAJAX_VERSION"]; if (cachedMagicAjaxVersion == null) { ! string assemblyLocation = Assembly.GetExecutingAssembly().Location; ! cachedMagicAjaxVersion = FileVersionInfo.GetVersionInfo(assemblyLocation).FileVersion; ! HttpContext.Current.Cache.Insert("__MAGICAJAX_VERSION", cachedMagicAjaxVersion, new System.Web.Caching.CacheDependency(assemblyLocation)); } _magicAjaxVersion = (string)cachedMagicAjaxVersion; |
From: Dion O. <dol...@us...> - 2005-12-11 21:37:50
|
Update of /cvsroot/magicajax/magicajax/Core In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18935/magicajax/Core Modified Files: MagicAjaxContext.cs Log Message: small bugfix in MagicAjaxVersion property Index: MagicAjaxContext.cs =================================================================== RCS file: /cvsroot/magicajax/magicajax/Core/MagicAjaxContext.cs,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** MagicAjaxContext.cs 11 Dec 2005 21:07:22 -0000 1.9 --- MagicAjaxContext.cs 11 Dec 2005 21:37:41 -0000 1.10 *************** *** 197,204 **** if (_magicAjaxVersion == null && HttpContext.Current != null) { ! object cachedMagicAjaxVersion = HttpContext.Current.Cache["__MAGIXAJAX_VERSION"]; if (cachedMagicAjaxVersion == null) { ! cachedMagicAjaxVersion = FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location).FileVersion; } _magicAjaxVersion = (string)cachedMagicAjaxVersion; --- 197,206 ---- if (_magicAjaxVersion == null && HttpContext.Current != null) { ! object cachedMagicAjaxVersion = HttpContext.Current.Cache["__MAGICAJAX_VERSION"]; if (cachedMagicAjaxVersion == null) { ! string assemblyLocation = Assembly.GetExecutingAssembly().Location; ! cachedMagicAjaxVersion = FileVersionInfo.GetVersionInfo(assemblyLocation).FileVersion; ! HttpContext.Current.Cache.Insert("__MAGICAJAX_VERSION", cachedMagicAjaxVersion, new System.Web.Caching.CacheDependency(assemblyLocation)); } _magicAjaxVersion = (string)cachedMagicAjaxVersion; |
From: Dion O. <dol...@us...> - 2005-12-11 21:08:03
|
Update of /cvsroot/magicajax/magicajax/Core In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13116/magicajax/Core Modified Files: Tag: STABLE MagicAjaxContext.cs MagicAjaxModule.cs Log Message: - Added property 'MagicAjaxVersion' to MagicAjaxContext object - added MagicAjaxVersion in path to AjaxCallObject.js.aspx (so new versions of MagicAjax will force client to reload the new javascript) Index: MagicAjaxContext.cs =================================================================== RCS file: /cvsroot/magicajax/magicajax/Core/MagicAjaxContext.cs,v retrieving revision 1.8 retrieving revision 1.8.2.1 diff -C2 -d -r1.8 -r1.8.2.1 *** MagicAjaxContext.cs 4 Dec 2005 03:25:15 -0000 1.8 --- MagicAjaxContext.cs 11 Dec 2005 21:07:52 -0000 1.8.2.1 *************** *** 21,27 **** --- 21,29 ---- using System; + using System.Diagnostics; using System.Text; using System.Web; using System.Web.UI; + using System.Reflection; using System.Configuration; using MagicAjax.Configuration; *************** *** 61,64 **** --- 63,67 ---- private StoredPageInfo _storedPageInfo = null; private MagicAjaxConfiguration _configuration = null; + private string _magicAjaxVersion = null; #endregion *************** *** 184,187 **** --- 187,210 ---- ((IsPageNoStoreMode && page.IsPostBack) || (!IsPageNoStoreMode && StoredPageInfo.Page == page))); } + + /// <summary> + /// Returns the current version of the MagicAjax dll + /// </summary> + public string MagicAjaxVersion + { + get + { + if (_magicAjaxVersion == null && HttpContext.Current != null) + { + object cachedMagicAjaxVersion = HttpContext.Current.Cache["__MAGIXAJAX_VERSION"]; + if (cachedMagicAjaxVersion == null) + { + cachedMagicAjaxVersion = FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location).FileVersion; + } + _magicAjaxVersion = (string)cachedMagicAjaxVersion; + } + return _magicAjaxVersion; + } + } #endregion Index: MagicAjaxModule.cs =================================================================== RCS file: /cvsroot/magicajax/magicajax/Core/MagicAjaxModule.cs,v retrieving revision 1.40 retrieving revision 1.40.2.1 diff -C2 -d -r1.40 -r1.40.2.1 *** MagicAjaxModule.cs 10 Dec 2005 03:23:17 -0000 1.40 --- MagicAjaxModule.cs 11 Dec 2005 21:07:52 -0000 1.40.2.1 *************** *** 122,126 **** #else // src-request to "AjaxCallObject.js.aspx" will be handled by Application_BeginRequest, which returns the embedded AjaxCallObject.js script ! includeScript = String.Format("<script type=\"text/javascript\" src=\"{0}\"></script>", "AjaxCallObject.js.aspx"); #endif } --- 122,126 ---- #else // src-request to "AjaxCallObject.js.aspx" will be handled by Application_BeginRequest, which returns the embedded AjaxCallObject.js script ! includeScript = String.Format("<script type=\"text/javascript\" src=\"{0}/{1}\"></script>", MagicAjaxContext.Current.MagicAjaxVersion, "AjaxCallObject.js.aspx"); #endif } |
From: Dion O. <dol...@us...> - 2005-12-11 21:07:30
|
Update of /cvsroot/magicajax/magicajax/Core In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13019/magicajax/Core Modified Files: MagicAjaxContext.cs MagicAjaxModule.cs Log Message: - Added property 'MagicAjaxVersion' to MagicAjaxContext object - added MagicAjaxVersion in path to AjaxCallObject.js.aspx (so new versions of MagicAjax will force client to reload the new javascript) Index: MagicAjaxContext.cs =================================================================== RCS file: /cvsroot/magicajax/magicajax/Core/MagicAjaxContext.cs,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** MagicAjaxContext.cs 4 Dec 2005 03:25:15 -0000 1.8 --- MagicAjaxContext.cs 11 Dec 2005 21:07:22 -0000 1.9 *************** *** 21,27 **** --- 21,29 ---- using System; + using System.Diagnostics; using System.Text; using System.Web; using System.Web.UI; + using System.Reflection; using System.Configuration; using MagicAjax.Configuration; *************** *** 61,64 **** --- 63,67 ---- private StoredPageInfo _storedPageInfo = null; private MagicAjaxConfiguration _configuration = null; + private string _magicAjaxVersion = null; #endregion *************** *** 184,187 **** --- 187,210 ---- ((IsPageNoStoreMode && page.IsPostBack) || (!IsPageNoStoreMode && StoredPageInfo.Page == page))); } + + /// <summary> + /// Returns the current version of the MagicAjax dll + /// </summary> + public string MagicAjaxVersion + { + get + { + if (_magicAjaxVersion == null && HttpContext.Current != null) + { + object cachedMagicAjaxVersion = HttpContext.Current.Cache["__MAGIXAJAX_VERSION"]; + if (cachedMagicAjaxVersion == null) + { + cachedMagicAjaxVersion = FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location).FileVersion; + } + _magicAjaxVersion = (string)cachedMagicAjaxVersion; + } + return _magicAjaxVersion; + } + } #endregion Index: MagicAjaxModule.cs =================================================================== RCS file: /cvsroot/magicajax/magicajax/Core/MagicAjaxModule.cs,v retrieving revision 1.40 retrieving revision 1.41 diff -C2 -d -r1.40 -r1.41 *** MagicAjaxModule.cs 10 Dec 2005 03:23:17 -0000 1.40 --- MagicAjaxModule.cs 11 Dec 2005 21:07:22 -0000 1.41 *************** *** 122,126 **** #else // src-request to "AjaxCallObject.js.aspx" will be handled by Application_BeginRequest, which returns the embedded AjaxCallObject.js script ! includeScript = String.Format("<script type=\"text/javascript\" src=\"{0}\"></script>", "AjaxCallObject.js.aspx"); #endif } --- 122,126 ---- #else // src-request to "AjaxCallObject.js.aspx" will be handled by Application_BeginRequest, which returns the embedded AjaxCallObject.js script ! includeScript = String.Format("<script type=\"text/javascript\" src=\"{0}/{1}\"></script>", MagicAjaxContext.Current.MagicAjaxVersion, "AjaxCallObject.js.aspx"); #endif } |
From: Argiris K. <be...@us...> - 2005-12-11 17:42:17
|
Update of /cvsroot/magicajax/magicajax/Core/Configuration In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1579/Core/Configuration Modified Files: MagicAjaxConfiguration.cs Log Message: Fixed a bug of MagicAjaxConfiguration when its properties are changed by code and made a change that reduces the GetState string. Index: MagicAjaxConfiguration.cs =================================================================== RCS file: /cvsroot/magicajax/magicajax/Core/Configuration/MagicAjaxConfiguration.cs,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** MagicAjaxConfiguration.cs 10 Dec 2005 02:34:12 -0000 1.10 --- MagicAjaxConfiguration.cs 11 Dec 2005 17:42:03 -0000 1.11 *************** *** 50,56 **** throw new MagicAjaxException("Configuration settings have been locked and cannot change."); if ( value != _origMode ) { - _mode = value; _state["Mode"] = _mode; } --- 50,56 ---- throw new MagicAjaxException("Configuration settings have been locked and cannot change."); + _mode = value; if ( value != _origMode ) { _state["Mode"] = _mode; } *************** *** 70,76 **** throw new MagicAjaxException("Configuration settings have been locked and cannot change."); if ( value != _origUnloadStoredPage ) { - _unloadStoredPage = value; _state["UnloadStoredPage"] = _unloadStoredPage; } --- 70,76 ---- throw new MagicAjaxException("Configuration settings have been locked and cannot change."); + _unloadStoredPage = value; if ( value != _origUnloadStoredPage ) { _state["UnloadStoredPage"] = _unloadStoredPage; } *************** *** 90,96 **** throw new MagicAjaxException("Configuration settings have been locked and cannot change."); if ( value != _origCacheTimeout ) { - _cacheTimeout = value; _state["CacheTimeout"] = _cacheTimeout; } --- 90,96 ---- throw new MagicAjaxException("Configuration settings have been locked and cannot change."); + _cacheTimeout = value; if ( value != _origCacheTimeout ) { _state["CacheTimeout"] = _cacheTimeout; } *************** *** 110,116 **** throw new MagicAjaxException("Configuration settings have been locked and cannot change."); if ( value != _origMaxConcurrentPages ) { - _maxConcurrentPages = value; _state["MaxConcurrentPages"] = _maxConcurrentPages; } --- 110,116 ---- throw new MagicAjaxException("Configuration settings have been locked and cannot change."); + _maxConcurrentPages = value; if ( value != _origMaxConcurrentPages ) { _state["MaxConcurrentPages"] = _maxConcurrentPages; } *************** *** 130,136 **** throw new MagicAjaxException("Configuration settings have been locked and cannot change."); if ( value != _origMaxPagesLimitAlert ) { - _maxPagesLimitAlert = value; _state["MaxPagesLimitAlert"] = _maxPagesLimitAlert; } --- 130,136 ---- throw new MagicAjaxException("Configuration settings have been locked and cannot change."); + _maxPagesLimitAlert = value; if ( value != _origMaxPagesLimitAlert ) { _state["MaxPagesLimitAlert"] = _maxPagesLimitAlert; } *************** *** 148,195 **** } ! internal bool IsLocked ! { ! get { return _isLocked; } ! set { _isLocked = value; } ! } ! ! internal string GetState() ! { ! if ( ! IsDirty ) ! return null; ! ! System.IO.StringWriter writer = new System.IO.StringWriter(); ! new LosFormatter().Serialize(writer, _state); ! return writer.ToString(); ! } ! ! internal void LoadState(string stateString) { ! Hashtable state = new LosFormatter().Deserialize(stateString) as Hashtable; ! foreach (string key in state.Keys) { ! switch (key) { ! case "Mode": ! Mode = (PageStoreMode) state[key]; ! break; ! case "CacheTimeout": ! CacheTimeout = (int) state[key]; ! break; ! case "MaxConcurrentPages": ! MaxConcurrentPages = (int) state[key]; ! break; ! case "MaxPagesLimitAlert": ! MaxPagesLimitAlert = (bool) state[key]; ! break; ! case "UnloadStoredPage": ! UnloadStoredPage = (bool) state[key]; ! break; ! default: ! throw new MagicAjaxException(String.Format("PageStore.LoadState: Unknown property '{0}'.", key)); } } } public PageStore(PageStoreMode mode, bool unloadStoredPage, int cacheTimeout, int maxConcurrentPages, bool maxPagesLimitAlert) { --- 148,189 ---- } ! internal Hashtable State { ! get { return _state; } ! set { ! Hashtable state = value; ! foreach (string key in state.Keys) { ! switch (key) ! { ! case "Mode": ! Mode = (PageStoreMode) state[key]; ! break; ! case "CacheTimeout": ! CacheTimeout = (int) state[key]; ! break; ! case "MaxConcurrentPages": ! MaxConcurrentPages = (int) state[key]; ! break; ! case "MaxPagesLimitAlert": ! MaxPagesLimitAlert = (bool) state[key]; ! break; ! case "UnloadStoredPage": ! UnloadStoredPage = (bool) state[key]; ! break; ! default: ! throw new MagicAjaxException(String.Format("PageStore.State: Unknown property '{0}'.", key)); ! } } } } + internal bool IsLocked + { + get { return _isLocked; } + set { _isLocked = value; } + } + public PageStore(PageStoreMode mode, bool unloadStoredPage, int cacheTimeout, int maxConcurrentPages, bool maxPagesLimitAlert) { *************** *** 233,239 **** throw new MagicAjaxException("Configuration settings have been locked and cannot change."); if ( value != _origScriptPath ) { - _scriptPath = value; _state["ScriptPath"] = _scriptPath; } --- 227,233 ---- throw new MagicAjaxException("Configuration settings have been locked and cannot change."); + _scriptPath = value; if ( value != _origScriptPath ) { _state["ScriptPath"] = _scriptPath; } *************** *** 253,259 **** throw new MagicAjaxException("Configuration settings have been locked and cannot change."); if ( value != _origCompareMode ) { - _compareMode = value; _state["CompareMode"] = _compareMode; } --- 247,253 ---- throw new MagicAjaxException("Configuration settings have been locked and cannot change."); + _compareMode = value; if ( value != _origCompareMode ) { _state["CompareMode"] = _compareMode; } *************** *** 273,279 **** throw new MagicAjaxException("Configuration settings have been locked and cannot change."); if ( value != _origTracing ) { - _tracing = value; _state["Tracing"] = _tracing; } --- 267,273 ---- throw new MagicAjaxException("Configuration settings have been locked and cannot change."); + _tracing = value; if ( value != _origTracing ) { _state["Tracing"] = _tracing; } *************** *** 312,316 **** if ( _pageStore.IsDirty ) ! _state["PageStoreState"] = _pageStore.GetState(); System.IO.StringWriter writer = new System.IO.StringWriter(); --- 306,310 ---- if ( _pageStore.IsDirty ) ! _state["PageStoreState"] = _pageStore.State; System.IO.StringWriter writer = new System.IO.StringWriter(); *************** *** 338,342 **** break; case "PageStoreState": ! _pageStore.LoadState((string)state[key]); break; default: --- 332,336 ---- break; case "PageStoreState": ! _pageStore.State = (Hashtable) state[key]; break; default: |