Rock.Web.UI.Controls.ItemPicker.CreateChildControls C# (CSharp) Method

CreateChildControls() protected method

Called by the ASP.NET page framework to notify server controls that use composition-based implementation to create any child controls they contain in preparation for posting back or rendering.
protected CreateChildControls ( ) : void
return void
        protected override void CreateChildControls()
        {
            base.CreateChildControls();

            Controls.Clear();

            _hfItemId = new HiddenFieldWithClass();
            _hfItemId.ID = this.ID + "_hfItemId";
            _hfItemId.CssClass = "js-item-id-value";
            _hfItemId.Value = "0";

            _hfInitialItemParentIds = new HiddenFieldWithClass();
            _hfInitialItemParentIds.ID = this.ID + "_hfInitialItemParentIds";
            _hfInitialItemParentIds.CssClass = "js-initial-item-parent-ids-value";

            _hfItemName = new HiddenFieldWithClass();
            _hfItemName.ID = this.ID + "_hfItemName";
            _hfItemName.CssClass = "js-item-name-value";

            _hfItemRestUrlExtraParams = new HiddenFieldWithClass();
            _hfItemRestUrlExtraParams.ID = this.ID + "_hfItemRestUrlExtraParams";
            _hfItemRestUrlExtraParams.CssClass = "js-item-rest-url-extra-params-value";

            if ( ModePanel != null )
            {
                this.Controls.Add( ModePanel );
            }

            _btnSelect = new HtmlAnchor();
            _btnSelect.Attributes["class"] = "btn btn-xs btn-primary picker-btn";
            _btnSelect.ID = this.ID + "_btnSelect";
            _btnSelect.InnerText = "Select";
            _btnSelect.CausesValidation = false;

            // we only need the postback on Select if SelectItem is assigned or if this is PagePicker
            if ( SelectItem != null || ( this is PagePicker ) )
            {
                _btnSelect.ServerClick += btnSelect_Click;
            }

            _btnSelectNone = new HtmlAnchor();
            _btnSelectNone.Attributes["class"] = "picker-select-none";
            _btnSelectNone.ID = this.ID + "_btnSelectNone";
            _btnSelectNone.InnerHtml = "<i class='fa fa-times'></i>";
            _btnSelectNone.CausesValidation = false;
            _btnSelectNone.Style[HtmlTextWriterStyle.Display] = "none";

            // we only need the postback on SelectNone if SelectItem is assigned or if this is PagePicker
            if ( SelectItem != null || ( this is PagePicker ) )
            {
                _btnSelectNone.ServerClick += btnSelect_Click;
            }

            Controls.Add( _hfItemId );
            Controls.Add( _hfInitialItemParentIds );
            Controls.Add( _hfItemName );
            Controls.Add( _hfItemRestUrlExtraParams );
            Controls.Add( _btnSelect );
            Controls.Add( _btnSelectNone );

            RockControlHelper.CreateChildControls( this, Controls );

            RequiredFieldValidator.InitialValue = "0";
            RequiredFieldValidator.ControlToValidate = _hfItemId.ID;
            RequiredFieldValidator.Display = ValidatorDisplay.Dynamic;
        }