Rock.Web.UI.Controls.SlidingDateRangePicker.RenderBaseControl C# (CSharp) Method

RenderBaseControl() public method

Renders the base control.
public RenderBaseControl ( System.Web.UI.HtmlTextWriter writer ) : void
writer System.Web.UI.HtmlTextWriter The writer.
return void
        public void RenderBaseControl( HtmlTextWriter writer )
        {
            // set display on render (vs waiting for the javascript to do it after the page is loaded)
            bool isLast = _ddlLastCurrent.SelectedValue == "0";
            bool isCurrent = _ddlLastCurrent.SelectedValue == "1";
            bool isDateRange = _ddlLastCurrent.SelectedValue == "2";
            bool isPrevious = _ddlLastCurrent.SelectedValue == "4";
            _nbNumber.Style[HtmlTextWriterStyle.Display] = ( isLast || isPrevious ) ? "block" : "none";
            _ddlTimeUnitTypeSingular.Style[HtmlTextWriterStyle.Display] = ( isCurrent ) ? "block" : "none";
            _ddlTimeUnitTypePlural.Style[HtmlTextWriterStyle.Display] = ( isLast || isPrevious ) ? "block" : "none";
            _drpDateRange.Style[HtmlTextWriterStyle.Display] = ( isDateRange ) ? "block" : "none";

            bool needsAutoPostBack = SelectedDateRangeChanged != null;
            _ddlLastCurrent.AutoPostBack = needsAutoPostBack;
            _ddlTimeUnitTypeSingular.AutoPostBack = needsAutoPostBack;
            _ddlTimeUnitTypePlural.AutoPostBack = needsAutoPostBack;

            // render a hidden element that will get its text from ~api/Utility/GetSlidingDateRangeTextValue (see slidingDateRangePicker.js)
            writer.AddAttribute( "type", "hidden" );
            writer.AddAttribute( "class", "js-slidingdaterange-text-value" );
            writer.RenderBeginTag( HtmlTextWriterTag.Input );
            writer.RenderEndTag();

            writer.AddAttribute( "id", this.ClientID );
            writer.AddAttribute( "class", "form-control-group" );
            writer.RenderBeginTag( HtmlTextWriterTag.Div );

            _ddlLastCurrent.RenderControl( writer );
            _nbNumber.RenderControl( writer );
            _ddlTimeUnitTypeSingular.RenderControl( writer );
            _ddlTimeUnitTypePlural.RenderControl( writer );
            _drpDateRange.RenderControl( writer );

            if ( this.PreviewLocation == SlidingDateRangePicker.DateRangePreviewLocation.Right )
            {
                writer.WriteLine();
                writer.AddAttribute( "class", "label label-info js-slidingdaterange-info slidingdaterange-info" );
                writer.RenderBeginTag( HtmlTextWriterTag.Div );
                writer.RenderEndTag();
            }

            writer.RenderEndTag();

            RegisterJavaScript();
        }