From e7c79de615d870d7ee60756004e182038d54b56b Mon Sep 17 00:00:00 2001 From: sbohlen Date: Mon, 23 Aug 2010 17:36:49 +0000 Subject: [PATCH] SPRNET-1161 Patch applied. --- .../Spring.Web/Web/UI/Controls/Calendar.cs | 313 +++++++++--------- 1 file changed, 158 insertions(+), 155 deletions(-) diff --git a/src/Spring/Spring.Web/Web/UI/Controls/Calendar.cs b/src/Spring/Spring.Web/Web/UI/Controls/Calendar.cs index d920d40c..bf12437d 100644 --- a/src/Spring/Spring.Web/Web/UI/Controls/Calendar.cs +++ b/src/Spring/Spring.Web/Web/UI/Controls/Calendar.cs @@ -37,19 +37,19 @@ namespace Spring.Web.UI.Controls /// /// ///

- /// Credit: this control uses a slightly modified version of the - /// Dynarch.com DHTML Calendar, - /// written by Mihai Bazon. + /// Credit: this control uses a slightly modified version of the + /// Dynarch.com DHTML Calendar, + /// written by Mihai Bazon. ///

///
/// Aleksandar Seovic [ValidationProperty("SelectedDate")] public class Calendar : WebControl, IPostBackDataHandler { - private const string AllowEditingViewStateKey = "AllowEditing"; - private const string DateFormatViewStateKey = "Format"; - private const string SelectedDateViewStateKey = "SelectedDate"; - private static readonly object EventDateChanged = new object(); + private const string AllowEditingViewStateKey = "AllowEditing"; + private const string DateFormatViewStateKey = "Format"; + private const string SelectedDateViewStateKey = "SelectedDate"; + private static readonly object EventDateChanged = new object(); private string skin; @@ -65,9 +65,9 @@ namespace Spring.Web.UI.Controls { Page.RegisterStyleFile("CalendarStyle", WebUtils.CreateAbsolutePath(Page.ScriptsRoot, "Calendar/calendar-" + skin + ".css")); } - Page.RegisterHeadScriptFile("Calendar", WebUtils.CreateAbsolutePath(Page.ScriptsRoot,"Calendar/calendar.js")); + Page.RegisterHeadScriptFile("Calendar", WebUtils.CreateAbsolutePath(Page.ScriptsRoot, "Calendar/calendar.js")); Page.RegisterHeadScriptFile("CalendarLanguage", WebUtils.CreateAbsolutePath(Page.ScriptsRoot, "Calendar/lang/calendar-" + Page.UserCulture.Name + ".js")); - Page.RegisterHeadScriptFile("CalendarSetup", WebUtils.CreateAbsolutePath(Page.ScriptsRoot,"Calendar/calendar-setup.js")); + Page.RegisterHeadScriptFile("CalendarSetup", WebUtils.CreateAbsolutePath(Page.ScriptsRoot, "Calendar/calendar-setup.js")); } /// @@ -75,8 +75,8 @@ namespace Spring.Web.UI.Controls /// server control. /// /// - /// A reference to the instance that contains the - /// server control. + /// A reference to the instance that contains the + /// server control. /// private new Page Page { @@ -95,7 +95,7 @@ namespace Spring.Web.UI.Controls { return DateTime.Now; } - return (DateTime) this.ViewState[SelectedDateViewStateKey]; + return (DateTime)this.ViewState[SelectedDateViewStateKey]; } set { this.ViewState[SelectedDateViewStateKey] = value; } } @@ -112,7 +112,7 @@ namespace Spring.Web.UI.Controls { return Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern; } - return (string) this.ViewState[DateFormatViewStateKey]; + return (string)this.ViewState[DateFormatViewStateKey]; } set { this.ViewState[DateFormatViewStateKey] = value; } } @@ -124,164 +124,167 @@ namespace Spring.Web.UI.Controls /// if direct editing of the date is allowed? public bool AllowEditing { - get - { - if (this.ViewState[AllowEditingViewStateKey] == null) - { - return true; - } - return (bool) this.ViewState[AllowEditingViewStateKey]; - } - set { this.ViewState[AllowEditingViewStateKey] = value; } + get + { + if (this.ViewState[AllowEditingViewStateKey] == null) + { + return true; + } + return (bool)this.ViewState[AllowEditingViewStateKey]; + } + set { this.ViewState[AllowEditingViewStateKey] = value; } } - /// - /// The (CSS) style. - /// - /// The style for the calendar. - public string Skin - { - get { return skin; } - set { skin = value; } - } + /// + /// The (CSS) style. + /// + /// The style for the calendar. + public string Skin + { + get { return skin; } + set { skin = value; } + } - /// - /// Renders a hidden input field that stores the value for the radio button group. - /// - /// - /// to use for rendering. - /// - protected override void Render(HtmlTextWriter writer) - { - writer.AddAttribute(HtmlTextWriterAttribute.Cellspacing, "0"); - writer.AddAttribute(HtmlTextWriterAttribute.Cellpadding, "0"); + /// + /// Renders a hidden input field that stores the value for the radio button group. + /// + /// + /// to use for rendering. + /// + protected override void Render(HtmlTextWriter writer) + { + writer.AddAttribute(HtmlTextWriterAttribute.Cellspacing, "0"); + writer.AddAttribute(HtmlTextWriterAttribute.Cellpadding, "0"); - writer.RenderBeginTag(HtmlTextWriterTag.Table); - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - - RenderTextBox(writer); - - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - - RenderButton(writer); - - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderEndTag(); + writer.RenderBeginTag(HtmlTextWriterTag.Table); + writer.RenderBeginTag(HtmlTextWriterTag.Tr); + writer.RenderBeginTag(HtmlTextWriterTag.Td); - RenderSetupScript(writer); - } + RenderTextBox(writer); - private void RenderTextBox(HtmlTextWriter writer) - { - writer.AddAttribute(HtmlTextWriterAttribute.Id, ClientID); - writer.AddAttribute(HtmlTextWriterAttribute.Type, "text"); - writer.AddAttribute(HtmlTextWriterAttribute.Name, UniqueID); - writer.AddAttribute(HtmlTextWriterAttribute.Value, (SelectedDate != DateTime.MinValue ? SelectedDate.ToString(Format) : "")); - - if (!AllowEditing) - { - writer.AddAttribute(HtmlTextWriterAttribute.ReadOnly, "readonly"); - } - base.AddAttributesToRender(writer); - - writer.RenderBeginTag(HtmlTextWriterTag.Input); - writer.RenderEndTag(); - } + writer.RenderEndTag(); + writer.RenderBeginTag(HtmlTextWriterTag.Td); - private void RenderButton(HtmlTextWriter writer) - { - writer.AddAttribute(HtmlTextWriterAttribute.Id, ClientID + "_button"); - writer.AddAttribute(HtmlTextWriterAttribute.Src, WebUtils.CreateAbsolutePath(Page.ScriptsRoot, "Calendar/img.gif")); + if (Enabled) + { + RenderButton(writer); + } + + writer.RenderEndTag(); + writer.RenderEndTag(); + writer.RenderEndTag(); + + RenderSetupScript(writer); + } + + private void RenderTextBox(HtmlTextWriter writer) + { + writer.AddAttribute(HtmlTextWriterAttribute.Id, ClientID); + writer.AddAttribute(HtmlTextWriterAttribute.Type, "text"); + writer.AddAttribute(HtmlTextWriterAttribute.Name, UniqueID); + writer.AddAttribute(HtmlTextWriterAttribute.Value, (SelectedDate != DateTime.MinValue ? SelectedDate.ToString(Format) : "")); + + if (!AllowEditing) + { + writer.AddAttribute(HtmlTextWriterAttribute.ReadOnly, "readonly"); + } + base.AddAttributesToRender(writer); + + writer.RenderBeginTag(HtmlTextWriterTag.Input); + writer.RenderEndTag(); + } + + private void RenderButton(HtmlTextWriter writer) + { + writer.AddAttribute(HtmlTextWriterAttribute.Id, ClientID + "_button"); + writer.AddAttribute(HtmlTextWriterAttribute.Src, WebUtils.CreateAbsolutePath(Page.ScriptsRoot, "Calendar/img.gif")); writer.AddAttribute(HtmlTextWriterAttribute.Border, "0"); - writer.RenderBeginTag(HtmlTextWriterTag.Img); - writer.RenderEndTag(); - } + writer.RenderBeginTag(HtmlTextWriterTag.Img); + writer.RenderEndTag(); + } + + private void RenderSetupScript(HtmlTextWriter writer) + { + writer.AddAttribute("type", "text/javascript"); - private void RenderSetupScript(HtmlTextWriter writer) - { - writer.AddAttribute("type", "text/javascript"); - writer.RenderBeginTag(HtmlTextWriterTag.Script); - writer.WriteLine("Calendar.setup({"); - writer.WriteLine(" inputField : \"" + ClientID + "\","); - writer.WriteLine(" button : \"" + ClientID + "_button\""); - writer.WriteLine("});"); - writer.RenderEndTag(); - } + writer.WriteLine("Calendar.setup({"); + writer.WriteLine(" inputField : \"" + ClientID + "\","); + writer.WriteLine(" button : \"" + ClientID + "_button\""); + writer.WriteLine("});"); + writer.RenderEndTag(); + } - #region IPostBackDataHandler Members + #region IPostBackDataHandler Members - /// - /// Raises the SelectionChanged event. - /// - public void RaisePostDataChangedEvent() - { - OnDateChanged(EventArgs.Empty); - } + /// + /// Raises the SelectionChanged event. + /// + public void RaisePostDataChangedEvent() + { + OnDateChanged(EventArgs.Empty); + } - /// - /// Loads postback data into the control. - /// - /// - /// The key that should be used to retrieve data. - /// - /// The postback data collection. - /// if data has changed. - public bool LoadPostData(string postDataKey, NameValueCollection postCollection) - { - DateTime dateValue; - string dateString = postCollection[postDataKey]; - if (StringUtils.HasText(dateString)) - { - try - { - dateValue = DateTime.Parse(dateString); - } - catch (FormatException) - { - dateValue = DateTime.MinValue; - } - } - else - { - dateValue = DateTime.MinValue; - } - bool changed = dateValue != this.SelectedDate; - if (changed) - { - this.ViewState[SelectedDateViewStateKey] = dateValue; - } - return changed; - } + /// + /// Loads postback data into the control. + /// + /// + /// The key that should be used to retrieve data. + /// + /// The postback data collection. + /// if data has changed. + public bool LoadPostData(string postDataKey, NameValueCollection postCollection) + { + DateTime dateValue; + string dateString = postCollection[postDataKey]; + if (StringUtils.HasText(dateString)) + { + try + { + dateValue = DateTime.Parse(dateString); + } + catch (FormatException) + { + dateValue = DateTime.MinValue; + } + } + else + { + dateValue = DateTime.MinValue; + } + bool changed = dateValue != this.SelectedDate; + if (changed) + { + this.ViewState[SelectedDateViewStateKey] = dateValue; + } + return changed; + } - #endregion + #endregion - /// - /// The method that is called on postback if the date has changed. - /// - /// - /// The event argument (empty and unused). - /// - protected virtual void OnDateChanged(EventArgs e) - { - EventHandler handler = (EventHandler) base.Events[EventDateChanged]; - if (handler != null) - { - handler(this, e); - } - } + /// + /// The method that is called on postback if the date has changed. + /// + /// + /// The event argument (empty and unused). + /// + protected virtual void OnDateChanged(EventArgs e) + { + EventHandler handler = (EventHandler)base.Events[EventDateChanged]; + if (handler != null) + { + handler(this, e); + } + } - /// - /// Occurs when the value of the radio button group changes between postbacks to the server. - /// - public event EventHandler DateChanged - { - add { base.Events.AddHandler(EventDateChanged, value); } - remove { base.Events.RemoveHandler(EventDateChanged, value); } - } + /// + /// Occurs when the value of the radio button group changes between postbacks to the server. + /// + public event EventHandler DateChanged + { + add { base.Events.AddHandler(EventDateChanged, value); } + remove { base.Events.RemoveHandler(EventDateChanged, value); } + } } } \ No newline at end of file