From: Dion O. <dol...@us...> - 2006-01-24 16:30:37
|
Update of /cvsroot/magicajax/magicajax/Core/UI In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19281/magicajax/Core/UI Modified Files: RenderedByScriptControl.cs Log Message: Several fixes to get the reflecting for scripts and stylesheets working Index: RenderedByScriptControl.cs =================================================================== RCS file: /cvsroot/magicajax/magicajax/Core/UI/RenderedByScriptControl.cs,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** RenderedByScriptControl.cs 20 Jan 2006 01:35:56 -0000 1.20 --- RenderedByScriptControl.cs 24 Jan 2006 16:30:27 -0000 1.21 *************** *** 90,98 **** set { ! if ( IsAjaxCall && IsRenderedOnPage && MonitorVisibilityState ! && value != base.Visible ) ! AjaxCallHelper.WriteSetVisibilityOfElementScript (ClientID, value); base.Visible = value; --- 90,98 ---- set { ! if (IsAjaxCall && IsRenderedOnPage && MonitorVisibilityState ! && value != base.Visible) ! AjaxCallHelper.WriteSetVisibilityOfElementScript(ClientID, value); base.Visible = value; *************** *** 109,113 **** /// is false. /// </remarks> ! [Browsable(false),DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public virtual bool IsRenderedOnPage { --- 109,113 ---- /// is false. /// </remarks> ! [Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] public virtual bool IsRenderedOnPage { *************** *** 126,130 **** /// method. /// </remarks> ! [Bindable(false), Category("Behavior"), DefaultValue(true)] public bool MonitorVisibilityState { --- 126,130 ---- /// method. /// </remarks> ! [Bindable(false), Category("Behavior"), DefaultValue(true)] public bool MonitorVisibilityState { *************** *** 146,150 **** this.ID = ""; } ! public RenderedByScriptControl(HtmlTextWriterTag tag) : base(tag) { this.ID = ""; --- 146,151 ---- this.ID = ""; } ! public RenderedByScriptControl(HtmlTextWriterTag tag) ! : base(tag) { this.ID = ""; *************** *** 158,162 **** /// property set to false. /// </remarks> ! [Browsable(false),DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] internal bool SkipRendering { --- 159,163 ---- /// property set to false. /// </remarks> ! [Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] internal bool SkipRendering { *************** *** 175,179 **** /// In this case it's not necessary to send any javascript to the client. /// </remarks> ! [Browsable(false),DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] protected bool IsHtmlRendered { --- 176,180 ---- /// In this case it's not necessary to send any javascript to the client. /// </remarks> ! [Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] protected bool IsHtmlRendered { *************** *** 183,191 **** protected override void OnPreRender(EventArgs e) { ! if ( this.MagicAjaxContext.IsBrowserSupported && !IsChildOfRenderedByScriptControl(this)) { string hiddenStore; ! if ( IsPageNoStoreMode ) { // Firefox, when performing a refresh, loads the page but keeps any INPUT --- 184,192 ---- protected override void OnPreRender(EventArgs e) { ! if (this.MagicAjaxContext.IsBrowserSupported && !IsChildOfRenderedByScriptControl(this)) { string hiddenStore; ! if (IsPageNoStoreMode) { // Firefox, when performing a refresh, loads the page but keeps any INPUT *************** *** 209,213 **** } ! base.OnPreRender (e); } --- 210,214 ---- } ! base.OnPreRender(e); } *************** *** 239,250 **** protected override void Render(HtmlTextWriter writer) { RenderStartEventArgs eventArgs = new RenderStartEventArgs(writer); OnRenderStart(eventArgs); ! if ( !eventArgs.AbortRendering && !SkipRendering ) { ! if ( !IsAjaxCall || (writer.InnerWriter is IScriptRenderingDisabler && (writer.InnerWriter as IScriptRenderingDisabler).DisableScriptRendering) ) { ! if ( !IsChildOfRenderedByScriptControl(this) ) { // Put the html of this control inside a SPAN tag so that it can --- 240,253 ---- protected override void Render(HtmlTextWriter writer) { + AjaxCallHelper.PreRenderReflecting(this.ClientID, this.Page, writer); + RenderStartEventArgs eventArgs = new RenderStartEventArgs(writer); OnRenderStart(eventArgs); ! if (!eventArgs.AbortRendering && !SkipRendering) { ! if (!IsAjaxCall || (writer.InnerWriter is IScriptRenderingDisabler && (writer.InnerWriter as IScriptRenderingDisabler).DisableScriptRendering)) { ! if (!IsChildOfRenderedByScriptControl(this)) { // Put the html of this control inside a SPAN tag so that it can *************** *** 252,260 **** // i.e. when the back button is pressed. writer.Write("<span id='{0}$RBS_Holder'>", this.ClientID); ! base.Render (writer); writer.Write("</span>"); } else ! base.Render (writer); _isHtmlRendered = true; --- 255,263 ---- // i.e. when the back button is pressed. writer.Write("<span id='{0}$RBS_Holder'>", this.ClientID); ! base.Render(writer); writer.Write("</span>"); } else ! base.Render(writer); _isHtmlRendered = true; *************** *** 268,271 **** --- 271,276 ---- OnRenderEnd(EventArgs.Empty); + + AjaxCallHelper.PostRenderReflecting(this.ClientID, this.Page); } *************** *** 278,285 **** System.Text.StringBuilder sb = new System.Text.StringBuilder(); HtmlTextWriter strwriter = new HtmlTextWriter(new System.IO.StringWriter(sb)); ! base.RenderBeginTag (strwriter); _currentTagHtml = sb.ToString(); ! base.RenderBeginTag (writer); } --- 283,290 ---- System.Text.StringBuilder sb = new System.Text.StringBuilder(); HtmlTextWriter strwriter = new HtmlTextWriter(new System.IO.StringWriter(sb)); ! base.RenderBeginTag(strwriter); _currentTagHtml = sb.ToString(); ! base.RenderBeginTag(writer); } *************** *** 289,301 **** public virtual void WriteScript() { ! if ( ! this.IsInAjaxScope ) return; ! if ( ! this.Visible ) { if (_isRenderedOnPage) { // Verify that it is indeed rendered on page ! _isRenderedOnPage = ( GetTopInvisibleControl(this) is RenderedByScriptControl ); } return; --- 294,306 ---- public virtual void WriteScript() { ! if (!this.IsInAjaxScope) return; ! if (!this.Visible) { if (_isRenderedOnPage) { // Verify that it is indeed rendered on page ! _isRenderedOnPage = (GetTopInvisibleControl(this) is RenderedByScriptControl); } return; *************** *** 309,316 **** HtmlTextWriter strwriter = new HtmlTextWriter(new System.IO.StringWriter(sb)); ! if ( ! IsRenderedOnPage ) { // Put the control's tag on page ! PutTagOnPageForAjaxCall(); } else --- 314,321 ---- HtmlTextWriter strwriter = new HtmlTextWriter(new System.IO.StringWriter(sb)); ! if (!IsRenderedOnPage) { // Put the control's tag on page ! PutTagOnPageForAjaxCall(); } else *************** *** 319,331 **** // TODO: Take care of the tag for 'NoStore' mode too. ! if ( ! IsPageNoStoreMode ) { ! base.RenderBeginTag (strwriter); string html = sb.ToString(); sb.Length = 0; ! if(_currentTagHtml != html) { ! AjaxCallHelper.WriteSetAttributesOfControl (ClientID, FormatAttributes(html)); _currentTagHtml = html; } --- 324,336 ---- // TODO: Take care of the tag for 'NoStore' mode too. ! if (!IsPageNoStoreMode) { ! base.RenderBeginTag(strwriter); string html = sb.ToString(); sb.Length = 0; ! if (_currentTagHtml != html) { ! AjaxCallHelper.WriteSetAttributesOfControl(ClientID, FormatAttributes(html)); _currentTagHtml = html; } *************** *** 360,366 **** /// <param name="control"></param> /// <returns></returns> ! protected Control GetTopInvisibleControl (Control control) { ! if ( control.Parent == null || control.Parent.Visible ) return control; else --- 365,371 ---- /// <param name="control"></param> /// <returns></returns> ! protected Control GetTopInvisibleControl(Control control) { ! if (control.Parent == null || control.Parent.Visible) return control; else *************** *** 373,377 **** RenderStart(this, eventArgs); } ! protected virtual void OnRenderEnd(EventArgs e) { --- 378,382 ---- RenderStart(this, eventArgs); } ! protected virtual void OnRenderEnd(EventArgs e) { *************** *** 387,391 **** private Control FindNextVisibleSibling() { ! for (int i=Parent.Controls.IndexOf(this) + 1; i < Parent.Controls.Count; i++) { Control con = Parent.Controls[i]; --- 392,396 ---- private Control FindNextVisibleSibling() { ! for (int i = Parent.Controls.IndexOf(this) + 1; i < Parent.Controls.Count; i++) { Control con = Parent.Controls[i]; *************** *** 396,400 **** return null; ! } /// <summary> --- 401,405 ---- return null; ! } /// <summary> *************** *** 410,414 **** int mode = 0; ! for (int i=0; i < sb.Length; i++) { char ch = sb[i]; --- 415,419 ---- int mode = 0; ! for (int i = 0; i < sb.Length; i++) { char ch = sb[i]; *************** *** 418,436 **** { case 0: ! if (ch == ' ') mode++; break; case 1: ! switch (ch) ! { ! case '\"': ! mode++; ! break; ! case ' ': ! attribs.Append ('|'); ! break; ! default: ! attribs.Append (ch); ! break; ! } break; case 2: --- 423,441 ---- { case 0: ! if (ch == ' ') mode++; break; case 1: ! switch (ch) ! { ! case '\"': ! mode++; ! break; ! case ' ': ! attribs.Append('|'); ! break; ! default: ! attribs.Append(ch); ! break; ! } break; case 2: *************** *** 438,442 **** mode--; else ! attribs.Append (ch); break; } --- 443,447 ---- mode--; else ! attribs.Append(ch); break; } |