Esempio n. 1
0
        /// <summary>
        /// Outputs server control content to a provided <see cref="T:System.Web.UI.HtmlTextWriter" /> object and stores tracing information about the control if tracing is enabled.
        /// </summary>
        /// <param name="writer">The <see cref="T:System.Web.UI.HtmlTextWriter" /> object that receives the control content.</param>
        public void RenderBaseControl(HtmlTextWriter writer)
        {
            writer.AddAttribute("id", this.ClientID.ToString());
            writer.AddAttribute("class", "toggle-container " + this.CssClass);
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            writer.AddAttribute("class", "btn-group btn-toggle " + this.CssClass);
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            if (this.Checked)
            {
                _btnOn.AddCssClass(this.ActiveButtonCssClass + " " + this.OnCssClass + " active");
                //_btnOff.RemoveCssClass( this.OffCssClass );
            }
            else
            {
                _btnOff.AddCssClass(this.ActiveButtonCssClass + " " + this.OffCssClass + " active");
                //_btnOn.RemoveCssClass( this.OnCssClass );
            }

            _btnOn.RenderControl(writer);
            _btnOff.RenderControl(writer);

            writer.RenderEndTag();

            _hfChecked.RenderControl(writer);

            writer.RenderEndTag();

            RegisterJavascript();
        }
        /// <summary>
        /// Writes the <see cref="T:System.Web.UI.WebControls.CompositeControl" /> content to the specified <see cref="T:System.Web.UI.HtmlTextWriter" /> object, for display on the client.
        /// </summary>
        /// <param name="writer">An <see cref="T:System.Web.UI.HtmlTextWriter" /> that represents the output stream to render HTML content on the client.</param>
        public override void RenderControl(HtmlTextWriter writer)
        {
            writer.AddAttribute("data-key", _hfGroupGuid.Value);
            writer.RenderBeginTag(HtmlTextWriterTag.Li);

            writer.AddAttribute(HtmlTextWriterAttribute.Class, string.Format("checkin-item{0} checkin-group rollover-container {1}", Selected ? " checkin-item-selected" : "", !_group.IsActive ? " is-inactive" : ""));
            writer.AddAttribute(HtmlTextWriterAttribute.Id, this.ID + "_section");
            writer.RenderBeginTag("section");

            // Hidden Field to track expansion
            _hfExpanded.RenderControl(writer);

            writer.WriteLine("<a class='checkin-group-reorder'><i class='fa fa-bars'></i></a>");
            writer.WriteLine("<a class='checkin-group-expand'><i class='checkin-group-state fa fa-check-circle'></i></a>");

            _lblGroupRowName.RenderControl(writer);

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "pull-right checkin-item-actions rollover-item");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            if (_lbAddGroup != null)
            {
                _lbAddGroup.RenderControl(writer);
                writer.Write(" ");
            }

            writer.RenderEndTag();  // Div
            writer.RenderEndTag();  // Section

            if (!Expanded)
            {
                writer.AddStyleAttribute("display", "none");
            }
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            var groupRows = this.Controls.OfType <CheckinGroupRow>();

            if (groupRows.Any())
            {
                writer.AddAttribute(HtmlTextWriterAttribute.Class, "checkin-list js-checkin-group-list");
                writer.RenderBeginTag(HtmlTextWriterTag.Ul);
                foreach (var groupRow in groupRows)
                {
                    groupRow.RenderControl(writer);
                }
                writer.RenderEndTag();
            }

            writer.RenderEndTag();  // Div

            writer.RenderEndTag();  // Li
        }
Esempio n. 3
0
        /// <summary>
        /// Outputs server control content to a provided <see cref="T:System.Web.UI.HtmlTextWriter" /> object and stores tracing information about the control if tracing is enabled.
        /// </summary>
        /// <param name="writer">The <see cref="T:System.Web.UI.HtmlTextWriter" /> object that receives the control content.</param>
        public override void RenderControl(HtmlTextWriter writer)
        {
            if (this.Visible)
            {
                if (this.StartInCodeEditorMode)
                {
                    _ceEditor.Text = this.Text;
                    this.Text      = "";
                }

                RockControlHelper.RenderControl(this, writer);
                _hfDisableVrm.RenderControl(writer);
                _hfInCodeEditorMode.RenderControl(writer);
                _ceEditor.RenderControl(writer);
            }
        }
Esempio n. 4
0
        /// <summary>
        /// Renders the base control.
        /// </summary>
        /// <param name="writer">The writer.</param>
        public void RenderBaseControl(HtmlTextWriter writer)
        {
            writer.AddAttribute("class", "form-control-group");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            string separatorHtml = " <span class='separator'>-</span> ";

            hfSSN.RenderControl(writer);
            ssnArea.RenderControl(writer);
            writer.Write(separatorHtml);
            ssnGroup.RenderControl(writer);
            writer.Write(separatorHtml);
            ssnSerial.RenderControl(writer);

            writer.RenderEndTag();
        }
Esempio n. 5
0
        /// <summary>
        /// Renders the base control.
        /// </summary>
        /// <param name="writer">The writer.</param>
        public void RenderBaseControl(HtmlTextWriter writer)
        {
            // Ensure valid values first
            Minimum = Minimum > Maximum ? Maximum : Minimum;
            Value   = Value > Maximum ? Maximum : Value;
            Value   = Value < Minimum ? Minimum : Value;

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "numberincrement " + CssClass);
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            _hfMin.RenderControl(writer);
            _hfMax.RenderControl(writer);
            _hfNumber.RenderControl(writer);

            var postBackScript = this.NumberUpdated != null?this.Page.ClientScript.GetPostBackEventReference(new PostBackOptions( this, "NumberUpdated" ), true) : "";

            postBackScript = postBackScript.Replace('\'', '"');

            string disabledMinCss = Value <= Minimum ? "disabled " : "";

            writer.AddAttribute(HtmlTextWriterAttribute.Onclick, string.Format("Rock.controls.numberUpDown.adjust( this, -1, '{0}' );", postBackScript));
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "js-number-down numberincrement-down " + disabledMinCss);
            writer.RenderBeginTag(HtmlTextWriterTag.A);
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "fa fa-minus ");
            writer.RenderBeginTag(HtmlTextWriterTag.I);
            writer.RenderEndTag();
            writer.RenderEndTag();

            _lblNumber.CssClass = "js-number-up-down-lbl numberincrement-value ";
            _lblNumber.RenderControl(writer);

            string disabledMaxCss = Value >= Maximum ? "disabled " : "";

            writer.AddAttribute(HtmlTextWriterAttribute.Onclick, string.Format("Rock.controls.numberUpDown.adjust( this, 1, '{0}' );", postBackScript));
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "js-number-up numberincrement-up " + disabledMaxCss);
            writer.RenderBeginTag(HtmlTextWriterTag.A);
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "fa fa-plus ");
            writer.RenderBeginTag(HtmlTextWriterTag.I);
            writer.RenderEndTag();
            writer.RenderEndTag();

            writer.RenderEndTag();  // Div.input-group
        }
Esempio n. 6
0
        /// <summary>
        /// Render any additional picker actions
        /// </summary>
        /// <param name="writer">The writer.</param>
        public override void RenderCustomPickerActions(HtmlTextWriter writer)
        {
            if (EnhanceForLongLists && _hfSearchValue != null)
            {
                _hfSearchValue.RenderControl(writer);
            }

            if (_hfPickerShowActive != null)
            {
                _hfPickerShowActive.RenderControl(writer);
            }

            if (_hfViewMode != null)
            {
                _hfViewMode.RenderControl(writer);
            }

            if (this.AllowMultiSelect)
            {
                _btnSelectAll.RenderControl(writer);

                writer.Write("<a class='btn btn-xs btn-link picker-cancel mr-auto' id='btnCancel_{0}'>Cancel</a>", this.ClientID);

                writer.Write("<a class='btn btn-link btn-xs picker-preview' id='btnPreviewSelection_{0}' title='Preview'><i class='fa fa-list'></i></a>", this.ClientID);
                writer.Write("<a class='btn btn-link btn-xs picker-treeview' id='btnTreeView_{0}' title='Tree View'><i class='fa fa-sitemap'></i></a>", this.ClientID);
            }
            else
            {
                writer.Write("<a class='btn btn-xs btn-link picker-cancel mr-auto' id='btnCancel_{0}'>Cancel</a>", this.ClientID);
            }


            if (!DisplayActiveOnly)
            {
                _cbShowInactiveAccounts.RenderControl(writer);
            }
            else
            {
                this.Controls.Remove(_cbShowInactiveAccounts);
            }
        }
Esempio n. 7
0
        /// <summary>
        /// Outputs server control content to a provided <see cref="T:System.Web.UI.HtmlTextWriter" /> object and stores tracing information about the control if tracing is enabled.
        /// </summary>
        /// <param name="writer">The <see cref="T:System.Web.UI.HtmlTextWriter" /> object that receives the control content.</param>
        public override void RenderControl(HtmlTextWriter writer)
        {
            if (this.Visible)
            {
                if (this.StartInCodeEditorMode)
                {
                    if (_ceEditor.Text != this.Text)
                    {
                        _ceEditor.Text = this.Text;
                    }

                    // in the case of when StartInCodeEditorMode = true, we can set base.Text to string.Empty to help prevent bad html and/or javascript from messing up things
                    // However, if StartInCodeEditorMode = false, we can't do this because the WYSIWIG editor needs to know the base.Text value
                    base.Text = string.Empty;
                }

                RockControlHelper.RenderControl(this, writer);
                _hfDisableVrm.RenderControl(writer);
                _hfInCodeEditorMode.RenderControl(writer);
                _ceEditor.RenderControl(writer);
            }
        }
Esempio n. 8
0
        /// <summary>
        /// Renders the base control.
        /// </summary>
        /// <param name="writer">The writer.</param>
        public void RenderBaseControl(HtmlTextWriter writer)
        {
            // Ensure valid values first
            Minimum = Minimum > Maximum ? Maximum : Minimum;
            Value   = Value > Maximum ? Maximum : Value;
            Value   = Value < Minimum ? Minimum : Value;

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "numberincrement " + CssClass);
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            _hfMin.RenderControl(writer);
            _hfMax.RenderControl(writer);
            _hfNumber.RenderControl(writer);

            string disabledMinCss = Value <= Minimum ? "disabled " : "";

            writer.AddAttribute(HtmlTextWriterAttribute.Onclick, "Rock.controls.numberUpDown.adjust( this, -1 );");
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "js-number-down numberincrement-down " + disabledMinCss);
            writer.RenderBeginTag(HtmlTextWriterTag.A);
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "fa fa-minus ");
            writer.RenderBeginTag(HtmlTextWriterTag.I);
            writer.RenderEndTag();
            writer.RenderEndTag();

            _lblNumber.CssClass = "js-number-up-down-lbl numberincrement-value ";
            _lblNumber.RenderControl(writer);

            string disabledMaxCss = Value >= Maximum ? "disabled " : "";

            writer.AddAttribute(HtmlTextWriterAttribute.Onclick, "Rock.controls.numberUpDown.adjust( this, 1 );");
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "js-number-up numberincrement-up " + disabledMaxCss);
            writer.RenderBeginTag(HtmlTextWriterTag.A);
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "fa fa-plus ");
            writer.RenderBeginTag(HtmlTextWriterTag.I);
            writer.RenderEndTag();
            writer.RenderEndTag();

            writer.RenderEndTag();  // Div.input-group
        }
Esempio n. 9
0
        /// <summary>
        /// Outputs server control content to a provided <see cref="T:System.Web.UI.HtmlTextWriter" /> object and stores tracing information about the control if tracing is enabled.
        /// </summary>
        /// <param name="writer">The <see cref="T:System.Web.UI.HtmlTextWriter" /> object that receives the control content.</param>
        public void RenderBaseControl(HtmlTextWriter writer)
        {
            writer.AddAttribute("id", this.ClientID.ToString());
            writer.AddAttribute("class", "toggle-container " + this.CssClass);
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            writer.AddAttribute("class", $"btn-group btn-toggle {this.ButtonGroupCssClass}");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            _btnOn.Attributes["class"]  = "btn btn-default js-toggle-on " + this.ButtonSizeCssClass;
            _btnOn.InnerHtml            = this.OnText;
            _btnOff.Attributes["class"] = "btn btn-default js-toggle-off " + this.ButtonSizeCssClass;
            _btnOff.InnerHtml           = this.OffText;

            if (this.Checked)
            {
                _btnOn.AddCssClass(this.ActiveButtonCssClass + " " + this.OnCssClass + " active");
                //_btnOff.RemoveCssClass( this.OffCssClass );
            }
            else
            {
                _btnOff.AddCssClass(this.ActiveButtonCssClass + " " + this.OffCssClass + " active");
                //_btnOn.RemoveCssClass( this.OnCssClass );
            }

            _btnOff.RenderControl(writer);
            _btnOn.RenderControl(writer);

            writer.RenderEndTag();

            _hfChecked.RenderControl(writer);

            writer.RenderEndTag();

            RegisterJavascript();
        }
Esempio n. 10
0
        /// <summary>
        /// Writes the <see cref="T:System.Web.UI.WebControls.CompositeControl" /> content to the specified <see cref="T:System.Web.UI.HtmlTextWriter" /> object, for display on the client.
        /// </summary>
        /// <param name="writer">An <see cref="T:System.Web.UI.HtmlTextWriter" /> that represents the output stream to render HTML content on the client.</param>
        public override void RenderControl(HtmlTextWriter writer)
        {
            if (!Expanded)
            {
                foreach (WorkflowActionTypeEditor workflowActionTypeEditor in this.Controls.OfType <WorkflowActionTypeEditor>())
                {
                    if (workflowActionTypeEditor.Expanded)
                    {
                        Expanded = true;
                        break;
                    }
                }
            }

            string inactiveCss = _cbActivityTypeIsActive.Checked ? string.Empty : " workflow-activity-inactive";
            string activatedWithWorkflowCss = _cbActivityTypeIsActivatedWithWorkflow.Checked ? " activated-with-workflow" : string.Empty;

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "panel panel-widget workflow-activity" + inactiveCss + activatedWithWorkflowCss);

            writer.AddAttribute("data-key", _hfActivityTypeGuid.Value);
            writer.AddAttribute(HtmlTextWriterAttribute.Id, this.ID + "_section");
            writer.RenderBeginTag("section");

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "panel-heading clearfix clickable");
            writer.RenderBeginTag("header");

            // Hidden Field to track expansion
            _hfExpanded.RenderControl(writer);

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "filter-toggle pull-left");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            writer.AddAttribute("class", "panel-title");
            writer.RenderBeginTag(HtmlTextWriterTag.H3);
            _lblActivityTypeName.Text = _tbActivityTypeName.Text;
            _lblActivityTypeName.RenderControl(writer);

            // H3 tag
            writer.RenderEndTag();
            _lblActivityTypeDescription.Text = _tbActivityTypeDescription.Text;
            _lblActivityTypeDescription.RenderControl(writer);

            // Name/Description div
            writer.RenderEndTag();

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "pull-right");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            if (_sbSecurity.EntityId != 0)
            {
                writer.WriteLine(string.Format("<span class=\"label label-default\">Id: {0}</span>", _sbSecurity.EntityId));
            }
            writer.WriteLine("<a class='btn btn-xs btn-link workflow-activity-reorder'><i class='fa fa-bars'></i></a>");
            writer.WriteLine(string.Format("<a class='btn btn-xs btn-link'><i class='workflow-activity-state fa {0}'></i></a>",
                                           Expanded ? "fa fa-chevron-up" : "fa fa-chevron-down"));

            if (IsDeleteEnabled)
            {
                _lbDeleteActivityType.Visible = true;
                _lbDeleteActivityType.RenderControl(writer);
            }
            else
            {
                _lbDeleteActivityType.Visible = false;
            }

            // Add/ChevronUpDown/Delete div
            writer.RenderEndTag();

            _lblInactive.Style[HtmlTextWriterStyle.Display] = _cbActivityTypeIsActive.Checked ? "none" : string.Empty;
            _lblInactive.RenderControl(writer);

            // header div
            writer.RenderEndTag();

            if (!Expanded)
            {
                // hide details if the activity and actions are valid
                writer.AddStyleAttribute("display", "none");
            }
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "panel-body");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            // activity edit fields
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "row");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-md-6");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);
            _tbActivityTypeName.ValidationGroup = ValidationGroup;
            _tbActivityTypeName.RenderControl(writer);
            writer.RenderEndTag();

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-md-2");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);
            _cbActivityTypeIsActive.ValidationGroup = ValidationGroup;
            _cbActivityTypeIsActive.RenderControl(writer);
            writer.RenderEndTag();

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-md-4");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            if (_sbSecurity.EntityId > 0)
            {
                _sbSecurity.Title = _tbActivityTypeName.Text;
                _sbSecurity.RenderControl(writer);
            }

            _cbActivityTypeIsActivatedWithWorkflow.ValidationGroup = ValidationGroup;
            _cbActivityTypeIsActivatedWithWorkflow.RenderControl(writer);
            writer.RenderEndTag();

            writer.RenderEndTag();

            _tbActivityTypeDescription.ValidationGroup = ValidationGroup;
            _tbActivityTypeDescription.RenderControl(writer);

            _pwAttributes.RenderControl(writer);

            // actions
            writer.RenderBeginTag("fieldset");

            writer.RenderBeginTag("legend");
            writer.WriteLine("Actions");
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "pull-right");
            writer.RenderBeginTag(HtmlTextWriterTag.Span);
            _lbAddActionType.RenderControl(writer);
            writer.RenderEndTag();
            writer.RenderEndTag();

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "workflow-action-list");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);
            foreach (WorkflowActionTypeEditor workflowActionTypeEditor in this.Controls.OfType <WorkflowActionTypeEditor>())
            {
                workflowActionTypeEditor.ValidationGroup = ValidationGroup;
                workflowActionTypeEditor.RenderControl(writer);
            }

            // workflow-action-list div
            writer.RenderEndTag();

            // actions fieldset
            writer.RenderEndTag();

            // widget-content div
            writer.RenderEndTag();

            // section tag
            writer.RenderEndTag();
        }
Esempio n. 11
0
        /// <summary>
        /// Writes the <see cref="T:System.Web.UI.WebControls.CompositeControl" /> content to the specified <see cref="T:System.Web.UI.HtmlTextWriter" /> object, for display on the client.
        /// </summary>
        /// <param name="writer">An <see cref="T:System.Web.UI.HtmlTextWriter" /> that represents the output stream to render HTML content on the client.</param>
        public override void RenderControl(HtmlTextWriter writer)
        {
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "panel panel-widget workflow-action");
            writer.AddAttribute("data-key", _hfActionTypeGuid.Value);
            writer.RenderBeginTag("article");

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "clearfix clickable panel-heading");
            writer.RenderBeginTag("header");

            // Hidden Field to track expansion
            _hfExpanded.RenderControl(writer);

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "pull-left workflow-action-name");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);
            _lblActionTypeName.Text = _tbActionTypeName.Text;
            _lblActionTypeName.RenderControl(writer);
            writer.RenderEndTag();

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "pull-right");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            string criteriaExistsClass = _ddlCriteriaAttribute.SelectedValueAsGuid().HasValue ? " criteria-exists" : string.Empty;

            writer.WriteLine(string.Format("<a class='btn btn-xs btn-link js-workflow-action-criteria{0}'><i class='fa fa-filter'></i></a>", criteriaExistsClass));
            writer.WriteLine("<a class='btn btn-xs btn-link workflow-action-reorder'><i class='fa fa-bars'></i></a>");
            writer.WriteLine(string.Format("<a class='btn btn-xs btn-link'><i class='workflow-action-state fa {0}'></i></a>",
                                           Expanded ? "fa fa-chevron-up" : "fa fa-chevron-down"));

            if (IsDeleteEnabled)
            {
                _lbDeleteActionType.Visible = true;

                _lbDeleteActionType.RenderControl(writer);
            }
            else
            {
                _lbDeleteActionType.Visible = false;
            }

            // Add/ChevronUpDown/Delete div
            writer.RenderEndTag();

            // header div
            writer.RenderEndTag();

            if (!Expanded)
            {
                // hide details if the name has already been filled in
                writer.AddStyleAttribute("display", "none");
            }
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "panel-body");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            // add Criteria fields
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "row conditional-run-criteria alert-warning");
            if (!_ddlCriteriaAttribute.SelectedValueAsGuid().HasValue)
            {
                writer.AddStyleAttribute("display", "none");
            }
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-lg-6");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "form-row");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-xs-7");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);
            _ddlCriteriaAttribute.RenderControl(writer);
            writer.RenderEndTag();

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-xs-5");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);
            _ddlCriteriaComparisonType.RenderControl(writer);
            writer.RenderEndTag();

            writer.RenderEndTag();  // row

            writer.RenderEndTag();  // col-md-6

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-lg-6");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);
            var comparisonType = _ddlCriteriaComparisonType.SelectedValueAsEnum <ComparisonType>();

            _tbddlCriteriaValue.Style["display"] = (comparisonType == ComparisonType.IsBlank || comparisonType == ComparisonType.IsNotBlank) ? "none" : "block";
            _tbddlCriteriaValue.RenderControl(writer);
            writer.RenderEndTag();

            writer.RenderEndTag();

            // action edit fields
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "form-row");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-md-6");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);
            _tbActionTypeName.ValidationGroup = ValidationGroup;
            _tbActionTypeName.RenderControl(writer);
            writer.RenderEndTag();

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-md-6");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);
            _cbIsActionCompletedOnSuccess.ValidationGroup = ValidationGroup;
            _cbIsActionCompletedOnSuccess.RenderControl(writer);
            _cbIsActivityCompletedOnSuccess.ValidationGroup = ValidationGroup;
            _cbIsActivityCompletedOnSuccess.RenderControl(writer);
            writer.RenderEndTag();

            writer.RenderEndTag();  // row

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "row");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-lg-4");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);
            _wfatpEntityType.ValidationGroup = ValidationGroup;
            _wfatpEntityType.RenderControl(writer);
            writer.RenderEndTag();

            // Add an overview(description) of the selected action type
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-lg-8");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            EntityTypeCache entityType   = null;
            int?            entityTypeId = _wfatpEntityType.SelectedValueAsInt();

            if (entityTypeId.HasValue)
            {
                entityType = EntityTypeCache.Get(entityTypeId.Value);
                if (entityType != null)
                {
                    var component = ActionContainer.GetComponent(entityType.Name);
                    if (component != null)
                    {
                        string description   = string.Empty;
                        var    propAttribute = component.GetType().GetCustomAttributes(typeof(System.ComponentModel.DescriptionAttribute), false).FirstOrDefault();
                        if (propAttribute != null)
                        {
                            var descAttribute = propAttribute as System.ComponentModel.DescriptionAttribute;
                            if (descAttribute != null)
                            {
                                _rlEntityTypeOverview.Label = string.Format("'{0}' Overview", entityType.FriendlyName);
                                _rlEntityTypeOverview.Text  = descAttribute.Description;
                                _rlEntityTypeOverview.RenderControl(writer);
                            }
                        }
                    }
                }
            }
            writer.RenderEndTag();  // col-md-8

            writer.RenderEndTag();  // row

            if (entityType != null && entityType.Name == typeof(Rock.Workflow.Action.UserEntryForm).FullName)
            {
                _formEditor.ValidationGroup = ValidationGroup;
                _formEditor.RenderControl(writer);
            }

            _phActionAttributes.RenderControl(writer);

            // widget-content div
            writer.RenderEndTag();

            // article tag
            writer.RenderEndTag();
        }
Esempio n. 12
0
        /// <summary>
        /// Renders the <see cref="T:System.Web.UI.WebControls.TextBox" /> control to the specified <see cref="T:System.Web.UI.HtmlTextWriter" /> object.
        /// </summary>
        /// <param name="writer">The <see cref="T:System.Web.UI.HtmlTextWriter" /> that receives the rendered output.</param>
        public void RenderBaseControl(HtmlTextWriter writer)
        {
            if (this.Enabled)
            {
                writer.AddAttribute("id", this.ClientID);
                writer.AddAttribute("class", string.Format("picker picker-select picker-person {0}", this.CssClass));
                writer.RenderBeginTag(HtmlTextWriterTag.Div);
                _hfPersonId.RenderControl(writer);
                _hfPersonName.RenderControl(writer);
                _hfIncludeBusinesses.RenderControl(writer);

                string pickerLabelHtmlFormat = @"
            <a class='picker-label' href='#'>
                <i class='fa fa-user'></i>
                <span id='{0}_selectedPersonLabel' class='picker-selectedperson'>{1}</span>
                <b class='fa fa-caret-down pull-right'></b>
            </a>
";
                writer.Write(string.Format(pickerLabelHtmlFormat, this.ClientID, this.PersonName));

                _btnSelectNone.RenderControl(writer);

                string pickMenuHtmlFormatStart = @"
          <div class='picker-menu dropdown-menu'>

             <h4>Search</h4>
             <input id='{0}_personPicker' type='text' class='picker-search form-control input-sm' />

             <hr />             

             <h4>Results</h4>
             
             <ul class='picker-select' id='{0}_personPickerItems'>
             </ul>
             <div class='picker-actions'>
";

                writer.Write(pickMenuHtmlFormatStart, this.ClientID, this.PersonName);

                _btnSelect.RenderControl(writer);

                string pickMenuHtmlFormatEnd = @"
            <a class='btn btn-link btn-xs' id='{0}_btnCancel'>Cancel</a>
            </div>
         </div>
";

                writer.Write(string.Format(pickMenuHtmlFormatEnd, this.ClientID, this.PersonName));
                writer.RenderEndTag();
            }
            else
            {
                // this picker is not enabled (readonly), so just render a readonly version
                writer.AddAttribute("class", "picker picker-select");
                writer.RenderBeginTag(HtmlTextWriterTag.Div);
                LinkButton linkButton = new LinkButton();
                linkButton.CssClass = "picker-label";
                linkButton.Text     = string.Format("<i class='{1}'></i><span>{0}</span>", this.PersonName, "fa fa-user");
                linkButton.Enabled  = false;
                linkButton.RenderControl(writer);
                writer.WriteLine();
                writer.RenderEndTag();
            }
        }
Esempio n. 13
0
        /// <summary>
        /// Writes the <see cref="T:System.Web.UI.WebControls.CompositeControl" /> content to the specified <see cref="T:System.Web.UI.HtmlTextWriter" /> object, for display on the client.
        /// </summary>
        /// <param name="writer">An <see cref="T:System.Web.UI.HtmlTextWriter" /> that represents the output stream to render HTML content on the client.</param>
        public override void RenderControl(HtmlTextWriter writer)
        {
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "panel panel-widget template-form");

            writer.AddAttribute("data-key", _hfFormGuid.Value);
            writer.AddAttribute(HtmlTextWriterAttribute.Id, this.ID + "_section");
            writer.RenderBeginTag("section");

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "panel-heading clearfix clickable");
            writer.RenderBeginTag("header");

            // Hidden Field to track expansion
            _hfExpanded.RenderControl(writer);

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "filter-toggle pull-left");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            writer.RenderBeginTag(HtmlTextWriterTag.Div);
            _lblFormName.Text = _tbFormName.Text;
            _lblFormName.RenderControl(writer);

            // H3 tag
            writer.RenderEndTag();

            // Name div
            writer.RenderEndTag();

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "pull-right");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            writer.WriteLine("<a class='btn btn-xs btn-link form-reorder'><i class='fa fa-bars'></i></a>");
            writer.WriteLine(string.Format("<a class='btn btn-xs btn-link'><i class='form-state fa {0}'></i></a>",
                                           Expanded ? "fa fa-chevron-up" : "fa fa-chevron-down"));

            if (IsDeleteEnabled)
            {
                _lbDeleteForm.Visible = true;
                _lbDeleteForm.RenderControl(writer);
            }
            else
            {
                _lbDeleteForm.Visible = false;
            }

            // Add/ChevronUpDown/Delete div
            writer.RenderEndTag();

            // header div
            writer.RenderEndTag();

            if (!Expanded)
            {
                // hide details if the activity and actions are valid
                writer.AddStyleAttribute("display", "none");
            }
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "panel-body");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            // activity edit fields
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "row");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-md-6");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);
            _hfFormGuid.RenderControl(writer);
            _hfFormId.RenderControl(writer);
            _tbFormName.ValidationGroup = ValidationGroup;
            _tbFormName.RenderControl(writer);
            writer.RenderEndTag();

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-md-6");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);
            writer.RenderEndTag();

            writer.RenderEndTag();

            _gFields.RenderControl(writer);

            // widget-content div
            writer.RenderEndTag();

            // section tag
            writer.RenderEndTag();
        }
Esempio n. 14
0
        /// <summary>
        /// This is where you implment the simple aspects of rendering your control.  The rest
        /// will be handled by calling RenderControlHelper's RenderControl() method.
        /// </summary>
        /// <param name="writer">The writer.</param>
        public virtual void RenderBaseControl(HtmlTextWriter writer)
        {
            if (this.Enabled)
            {
                writer.AddAttribute("id", this.ClientID.ToString());
                writer.AddAttribute("class", "picker picker-select rollover-container " + this.CssClass);
                writer.RenderBeginTag(HtmlTextWriterTag.Div);

                _hfItemId.RenderControl(writer);
                _hfInitialItemParentIds.RenderControl(writer);
                _hfItemName.RenderControl(writer);
                _hfItemRestUrlExtraParams.RenderControl(writer);

                if (!HidePickerLabel)
                {
                    string pickerLabelHtmlFormat = @"
                    <a class='picker-label' href='#'>
                        <i class='{2} fa-fw'></i>
                        <span id='selectedItemLabel_{0}' class='selected-names'>{1}</span>
                        <b class='fa fa-caret-down pull-right'></b>
                    </a>";

                    writer.Write(pickerLabelHtmlFormat, this.ClientID, this.ItemName, this.IconCssClass);

                    writer.WriteLine();

                    _btnSelectNone.RenderControl(writer);
                }

                // picker menu
                writer.AddAttribute("class", "picker-menu dropdown-menu");
                if (ShowDropDown)
                {
                    writer.AddStyleAttribute(HtmlTextWriterStyle.Display, "block");
                }

                writer.RenderBeginTag(HtmlTextWriterTag.Div);

                // mode panel
                if (ModePanel != null)
                {
                    ModePanel.RenderControl(writer);
                }

                // treeview
                writer.Write(
                    @"<div id='treeview-scroll-container_{0}' class='scroll-container scroll-container-vertical scroll-container-picker'>
                                <div class='scrollbar'>
                                    <div class='track'>
                                        <div class='thumb'>
                                            <div class='end'></div>
                                        </div>
                                    </div>
                                </div>
                                <div class='viewport'>
                                    <div class='overview'>
                                        <div id='treeviewItems_{0}' class='treeview treeview-items'></div>        
                                    </div>
                                </div>
                            </div>",
                    this.ClientID);

                // picker actions
                writer.AddAttribute("class", "picker-actions");
                writer.RenderBeginTag(HtmlTextWriterTag.Div);
                _btnSelect.RenderControl(writer);
                writer.Write("<a class='btn btn-xs btn-link picker-cancel' id='btnCancel_{0}'>Cancel</a>", this.ClientID);

                // render any additional picker actions that a child class if ItemPicker implements
                RenderCustomPickerActions(writer);

                writer.WriteLine();
                writer.RenderEndTag();

                // closing div of picker-menu
                writer.RenderEndTag();

                // closing div of picker
                writer.RenderEndTag();

                RegisterJavaScript();
            }
            else
            {
                // this picker is not enabled (readonly), so just render a readonly version
                writer.AddAttribute("class", "picker picker-select");
                writer.RenderBeginTag(HtmlTextWriterTag.Div);
                LinkButton linkButton = new LinkButton();
                linkButton.CssClass = "picker-label";
                linkButton.Text     = string.Format("<i class='{1}'></i><span>{0}</span>", this.ItemName, this.IconCssClass);
                linkButton.Enabled  = false;
                linkButton.RenderControl(writer);
                writer.WriteLine();
                writer.RenderEndTag();
            }
        }
Esempio n. 15
0
        /// <summary>
        /// Writes the <see cref="T:System.Web.UI.WebControls.CompositeControl" /> content to the specified <see cref="T:System.Web.UI.HtmlTextWriter" /> object, for display on the client.
        /// </summary>
        /// <param name="writer">An <see cref="T:System.Web.UI.HtmlTextWriter" /> that represents the output stream to render HTML content on the client.</param>
        public override void RenderControl(HtmlTextWriter writer)
        {
            writer.AddAttribute("data-key", _hfGroupTypeGuid.Value);
            writer.RenderBeginTag(HtmlTextWriterTag.Li);

            writer.AddAttribute(HtmlTextWriterAttribute.Class, string.Format("checkin-item{0} checkin-area rollover-container", Selected ? " checkin-item-selected" : ""));
            writer.AddAttribute(HtmlTextWriterAttribute.Id, this.ID + "_section");
            writer.RenderBeginTag("section");

            // Hidden Field to track expansion
            _hfExpanded.RenderControl(writer);

            writer.WriteLine("<a class='checkin-area-reorder'><i class='fa fa-bars'></i></a>");
            writer.WriteLine("<a class='checkin-area-expand'><i class='checkin-area-state fa fa-folder-open'></i></a>");

            _lblAreaRowName.RenderControl(writer);

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "pull-right checkin-item-actions rollover-item");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            _lbAddArea.RenderControl(writer);
            writer.Write(" ");
            _lbAddGroup.RenderControl(writer);
            writer.Write(" ");
            _lblDeleteArea.RenderControl(writer);

            writer.RenderEndTag();  // Div
            writer.RenderEndTag();  // Section

            if (!Expanded)
            {
                writer.AddStyleAttribute("display", "none");
            }
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            // Render child area rows
            var areaRows = this.Controls.OfType <CheckinAreaRow>();

            if (areaRows.Any())
            {
                writer.AddAttribute(HtmlTextWriterAttribute.Class, "checkin-list js-checkin-area-list");
                writer.RenderBeginTag(HtmlTextWriterTag.Ul);
                foreach (var areaRow in areaRows)
                {
                    areaRow.RenderControl(writer);
                }
                writer.RenderEndTag();
            }

            // Render child group rows
            var groupRows = this.Controls.OfType <CheckinGroupRow>();

            if (groupRows.Any())
            {
                writer.AddAttribute(HtmlTextWriterAttribute.Class, "checkin-list js-checkin-group-list");
                writer.RenderBeginTag(HtmlTextWriterTag.Ul);
                foreach (var groupRow in groupRows)
                {
                    groupRow.RenderControl(writer);
                }
                writer.RenderEndTag();
            }

            writer.RenderEndTag();  // Div

            writer.RenderEndTag();  // Li
        }
Esempio n. 16
0
        /// <summary>
        /// Writes the <see cref="T:System.Web.UI.WebControls.CompositeControl" /> content to the specified <see cref="T:System.Web.UI.HtmlTextWriter" /> object, for display on the client.
        /// </summary>
        /// <param name="writer">An <see cref="T:System.Web.UI.HtmlTextWriter" /> that represents the output stream to render HTML content on the client.</param>
        public override void RenderControl(HtmlTextWriter writer)
        {
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "panel panel-widget checkin-grouptype");
            writer.AddAttribute("data-key", _hfGroupTypeGuid.Value);
            writer.AddAttribute(HtmlTextWriterAttribute.Id, this.ID + "_section");
            writer.RenderBeginTag("section");

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "panel-heading clearfix clickable");
            writer.RenderBeginTag("header");

            // Hidden Field to track expansion
            _hfExpanded.RenderControl(writer);

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "filter-toggle pull-left");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "panel-title");
            writer.RenderBeginTag(HtmlTextWriterTag.H3);
            _lblGroupTypeName.Text = _tbGroupTypeName.Text;
            _lblGroupTypeName.RenderControl(writer);

            // H3 tag
            writer.RenderEndTag();

            // Name/Description div
            writer.RenderEndTag();

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "pull-right panel-actions");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            writer.WriteLine("<a class='btn btn-link btn-xs checkin-grouptype-reorder'><i class='fa fa-bars'></i></a>");
            writer.WriteLine(string.Format("<a class='btn btn-xs btn-link'><i class='checkin-grouptype-state fa {0}'></i></a>",
                                           Expanded ? "fa fa-chevron-up" : "fa fa-chevron-down"));

            if (IsDeleteEnabled)
            {
                _lbDeleteGroupType.Visible = true;
                _lbDeleteGroupType.RenderControl(writer);
            }
            else
            {
                _lbDeleteGroupType.Visible = false;
            }

            // Add/ChevronUpDown/Delete div
            writer.RenderEndTag();

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "pull-right panel-actions btn-group");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            _lbAddCheckinGroupType.RenderControl(writer);
            writer.WriteLine();
            _lbAddCheckinGroup.RenderControl(writer);
            writer.WriteLine();

            writer.RenderEndTag();

            // header div
            writer.RenderEndTag();

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "panel-body");

            if (!Expanded)
            {
                writer.AddStyleAttribute("display", "none");
            }

            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            // make two span6 columns: Left Column for Name and Attributes. Right Column for Labels Grid
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "row");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-sm-6");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            // grouptype edit fields
            _tbGroupTypeName.RenderControl(writer);
            _ddlGroupTypeInheritFrom.RenderControl(writer);

            // attributes
            _phGroupTypeAttributes.RenderControl(writer);

            writer.RenderEndTag();
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-sm-6");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            // Check-in Labels grid
            writer.WriteLine("<h3>Check-in Labels</h3>");
            _gCheckinLabels.DataSource = this.CheckinLabels;
            _gCheckinLabels.DataBind();
            _gCheckinLabels.RenderControl(writer);

            // span6
            writer.RenderEndTag();

            // rowfluid
            writer.RenderEndTag();

            // groups
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "checkin-grouptype-list");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);
            foreach (CheckinGroupTypeEditor checkinGroupTypeEditor in this.Controls.OfType <CheckinGroupTypeEditor>())
            {
                checkinGroupTypeEditor.RenderControl(writer);
            }

            // checkin-grouptype-list div
            writer.RenderEndTag();

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "checkin-group-list");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);
            foreach (CheckinGroupEditor checkinGroupEditor in this.Controls.OfType <CheckinGroupEditor>())
            {
                checkinGroupEditor.RenderControl(writer);
            }

            // checkin-group-list div
            writer.RenderEndTag();

            // widget-content div
            writer.RenderEndTag();

            // section tag
            writer.RenderEndTag();
        }
Esempio n. 17
0
        /// <summary>
        /// Renders the <see cref="T:System.Web.UI.WebControls.TextBox" /> control to the specified <see cref="T:System.Web.UI.HtmlTextWriter" /> object.
        /// </summary>
        /// <param name="writer">The <see cref="T:System.Web.UI.HtmlTextWriter" /> that receives the rendered output.</param>
        public void RenderBaseControl(HtmlTextWriter writer)
        {
            if (this.Enabled)
            {
                writer.AddAttribute("id", this.ClientID);
                writer.AddAttribute("class", string.Format("picker picker-select picker-person {0}", this.CssClass));
                writer.RenderBeginTag(HtmlTextWriterTag.Div);
                _hfPersonId.RenderControl(writer);
                _hfPersonName.RenderControl(writer);
                _hfSelfPersonId.RenderControl(writer);
                _hfSelfPersonName.RenderControl(writer);
                _hfIncludeBusinesses.RenderControl(writer);

                string pickerLabelHtmlFormat = @"
            <a class='picker-label' href='#'>
                <i class='fa fa-user'></i>
                <span id='{0}_selectedPersonLabel' class='picker-selectedperson'>{1}</span>
                <b class='fa fa-caret-down pull-right'></b>
            </a>
";
                writer.Write(string.Format(pickerLabelHtmlFormat, this.ClientID, this.PersonName));

                _btnSelectNone.RenderControl(writer);

                // render picker-menu dropdown-menu
                writer.AddAttribute(HtmlTextWriterAttribute.Class, "picker-menu dropdown-menu");
                writer.RenderBeginTag(HtmlTextWriterTag.Div);

                writer.AddAttribute(HtmlTextWriterAttribute.Class, "row");
                writer.RenderBeginTag(HtmlTextWriterTag.Div);

                // column1
                writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-md-6");
                writer.RenderBeginTag(HtmlTextWriterTag.Div);
                writer.Write("<h4>Search</h4>");
                writer.RenderEndTag();

                // column2
                writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-md-6");
                writer.RenderBeginTag(HtmlTextWriterTag.Div);
                if (this.EnableSelfSelection)
                {
                    writer.Write(@"
                    <span class='js-select-self' title='Select self'>
                        <i class='fa fa-user pull-right clickable' ></i>
                    </span>");
                }
                writer.RenderEndTag();

                // row
                writer.RenderEndTag();

                string pickMenuHtmlFormatStart = @"
             <input id='{0}_personPicker' type='text' class='picker-search form-control input-sm' />

             <hr />             

             <h4>Results</h4>
             
             <div id='personpicker-scroll-container_{0}' class='scroll-container scroll-container-vertical scroll-container-picker'>
                <div class='scrollbar'>
                    <div class='track'>
                        <div class='thumb'>
                            <div class='end'></div>
                        </div>
                    </div>
                </div>
                <div class='viewport'>
                    <div class='overview'>
                        <ul class='picker-select' id='{0}_personPickerItems'>
                        </ul>
                    </div>
                </div>
            </div>

             <div class='picker-actions'>
";

                writer.Write(pickMenuHtmlFormatStart, this.ClientID);

                _btnSelect.RenderControl(writer);

                string pickMenuHtmlFormatEnd = @"
            <a class='btn btn-link btn-xs' id='{0}_btnCancel'>Cancel</a>
            </div>
";

                writer.Write(string.Format(pickMenuHtmlFormatEnd, this.ClientID));

                // picker-menu dropdown-menu
                writer.RenderEndTag();

                // picker picker-select picker-person
                writer.RenderEndTag();

                RegisterJavaScript();
            }
            else
            {
                // this picker is not enabled (readonly), so just render a readonly version
                writer.AddAttribute("class", "picker picker-select");
                writer.RenderBeginTag(HtmlTextWriterTag.Div);
                LinkButton linkButton = new LinkButton();
                linkButton.CssClass = "picker-label";
                linkButton.Text     = string.Format("<i class='{1}'></i><span>{0}</span>", this.PersonName, "fa fa-user");
                linkButton.Enabled  = false;
                linkButton.RenderControl(writer);
                writer.WriteLine();
                writer.RenderEndTag();
            }
        }
Esempio n. 18
0
        /// <summary>
        /// Outputs server control content to a provided <see cref="T:System.Web.UI.HtmlTextWriter" /> object and stores tracing information about the control if tracing is enabled.
        /// </summary>
        /// <param name="writer">The <see cref="T:System.Web.UI.HtmlTextWriter" /> object that receives the control content.</param>
        public override void RenderControl(HtmlTextWriter writer)
        {
            if (this.Visible)
            {
                // Section
                writer.AddAttribute(HtmlTextWriterAttribute.Class, "panel panel-widget rock-panel-widget " + CssClass);
                writer.AddAttribute(HtmlTextWriterAttribute.Id, this.ClientID);
                writer.RenderBeginTag("section");

                // Header
                writer.AddAttribute(HtmlTextWriterAttribute.Class, "panel-heading clearfix");
                writer.RenderBeginTag("header");

                // Hidden Field to track expansion
                writer.AddAttribute(HtmlTextWriterAttribute.Class, "filter-expanded");
                _hfExpanded.RenderControl(writer);

                /* Begin - Title and header controls */
                writer.AddAttribute(HtmlTextWriterAttribute.Class, "pull-left");
                writer.RenderBeginTag(HtmlTextWriterTag.Div);

                // Hidden Field to track Title
                _hfTitle.RenderControl(writer);
                _hfTitleDisableVrm.RenderControl(writer);

                writer.AddAttribute(HtmlTextWriterAttribute.Class, "js-header-title");
                if (Expanded)
                {
                    // if the panel is expanded and there are special HeaderControls to show instead of the Title, hide the title (and the header controls will be shown instead)
                    if (this.HeaderControls != null)
                    {
                        writer.AddStyleAttribute(HtmlTextWriterStyle.Display, "none");
                    }
                }

                writer.RenderBeginTag(HtmlTextWriterTag.Div);

                // Title
                if (!string.IsNullOrWhiteSpace(TitleIconCssClass))
                {
                    writer.AddAttribute(HtmlTextWriterAttribute.Class, TitleIconCssClass);
                    writer.RenderBeginTag(HtmlTextWriterTag.I);
                    writer.RenderEndTag();
                    writer.Write(" ");
                }

                // also write out the title (also stored in _hfTitle.value)
                writer.Write(Title);

                writer.RenderEndTag();

                // Header Controls
                if (this.HeaderControls != null)
                {
                    writer.AddAttribute(HtmlTextWriterAttribute.Class, "filter-item-select js-header-controls");
                    if (!Expanded)
                    {
                        writer.AddStyleAttribute(HtmlTextWriterStyle.Display, "none");
                    }

                    writer.RenderBeginTag(HtmlTextWriterTag.Div);
                    foreach (var control in this.HeaderControls)
                    {
                        if (!this.Controls.Contains(control))
                        {
                            this.Controls.Add(control);
                        }

                        if (control is WebControl)
                        {
                            (control as WebControl).AddCssClass("js-stop-immediate-propagation");
                        }

                        control.RenderControl(writer);
                    }

                    writer.RenderEndTag();
                }

                writer.RenderEndTag();

                /* End - Title and Header Controls */

                // Panel Controls
                writer.AddAttribute(HtmlTextWriterAttribute.Class, "pull-right");
                writer.RenderBeginTag(HtmlTextWriterTag.Div);

                RenderLabels(writer);

                if (ShowReorderIcon)
                {
                    // Reorder Icon
                    writer.AddAttribute(HtmlTextWriterAttribute.Class, "btn btn-link btn-xs panel-widget-reorder js-stop-immediate-propagation");
                    writer.RenderBeginTag(HtmlTextWriterTag.A);
                    writer.AddAttribute(HtmlTextWriterAttribute.Class, "fa fa-bars");
                    writer.RenderBeginTag(HtmlTextWriterTag.I);
                    writer.RenderEndTag();
                    writer.RenderEndTag();
                }

                // Chevron up/down Button
                writer.AddAttribute(HtmlTextWriterAttribute.Class, "btn btn-link btn-xs view-state");
                writer.RenderBeginTag(HtmlTextWriterTag.A);
                writer.AddAttribute(HtmlTextWriterAttribute.Class, Expanded ? "fa fa-chevron-up" : "fa fa-chevron-down");
                writer.RenderBeginTag(HtmlTextWriterTag.I);
                writer.RenderEndTag();
                writer.RenderEndTag();

                if (ShowDeleteButton)
                {
                    _lbDelete.Visible = true;
                    _lbDelete.RenderControl(writer);
                }
                else
                {
                    _lbDelete.Visible = false;
                }

                writer.RenderEndTag(); // pull-right

                writer.RenderEndTag(); // Header

                // Body
                writer.AddAttribute(HtmlTextWriterAttribute.Class, "panel-body");
                if (!Expanded)
                {
                    writer.AddStyleAttribute(HtmlTextWriterStyle.Display, "none");
                }

                writer.RenderBeginTag(HtmlTextWriterTag.Div);

                RenderChildControls(writer);

                writer.RenderEndTag();

                writer.RenderEndTag();  // Section
            }
        }
Esempio n. 19
0
        /// <summary>
        /// Writes the <see cref="T:System.Web.UI.WebControls.CompositeControl" /> content to the specified <see cref="T:System.Web.UI.HtmlTextWriter" /> object, for display on the client.
        /// </summary>
        /// <param name="writer">An <see cref="T:System.Web.UI.HtmlTextWriter" /> that represents the output stream to render HTML content on the client.</param>
        public override void RenderControl(HtmlTextWriter writer)
        {
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "panel panel-widget checkin-group");
            writer.AddAttribute("data-key", _hfGroupGuid.Value);
            writer.RenderBeginTag("article");

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "panel-heading clearfix clickable");
            writer.RenderBeginTag("header");

            // Hidden Field to track expansion
            _hfExpanded.RenderControl(writer);

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "pull-left");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);
            _lblGroupName.Text = _tbGroupName.Text;
            _lblGroupName.RenderControl(writer);
            writer.RenderEndTag();

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "pull-right");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            writer.WriteLine("<a class='btn btn-link btn-xs checkin-group-reorder'><i class='fa fa-bars'></i></a>");
            writer.WriteLine(string.Format("<a class='btn btn-xs btn-link'><i class='checkin-group-state fa {0}'></i></a>",
                                           Expanded ? "fa fa-chevron-up" : "fa fa-chevron-down"));

            if (IsDeleteEnabled)
            {
                _lbDeleteGroup.Visible = true;

                _lbDeleteGroup.RenderControl(writer);
            }
            else
            {
                _lbDeleteGroup.Visible = false;
            }

            // Add/ChevronUpDown/Delete div
            writer.RenderEndTag();

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "pull-right panel-actions btn-group");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            _lbAddCheckinGroup.RenderControl(writer);
            writer.WriteLine();

            writer.RenderEndTag();

            // header div
            writer.RenderEndTag();

            if (!Expanded)
            {
                // hide details if the name has already been filled in
                writer.AddStyleAttribute("display", "none");
            }

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "panel-body");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            // make two span6 columns: Left Column for Name and Attributes. Right Column for Locations Grid
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "row");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-md-6");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            // edit fields
            _tbGroupName.RenderControl(writer);

            // attributes
            _phGroupAttributes.RenderControl(writer);

            writer.RenderEndTag();
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-md-6");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            // Locations grid
            writer.WriteLine("<h3>Locations</h3>");
            _gLocations.DataSource = this.Locations.OrderBy(l => l.FullNamePath).ToList();
            _gLocations.DataBind();
            _gLocations.RenderControl(writer);

            // span6
            writer.RenderEndTag();

            // rowfluid
            writer.RenderEndTag();

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "checkin-group-list");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);
            foreach (CheckinGroupEditor checkinGroupEditor in this.Controls.OfType <CheckinGroupEditor>())
            {
                checkinGroupEditor.RenderControl(writer);
            }

            // checkin-group-list div
            writer.RenderEndTag();

            // widget-content div
            writer.RenderEndTag();

            // article tag
            writer.RenderEndTag();
        }
Esempio n. 20
0
        /// <summary>
        /// Outputs server control content to a provided <see cref="T:System.Web.UI.HtmlTextWriter" /> object and stores tracing information about the control if tracing is enabled.
        /// </summary>
        /// <param name="writer">The <see cref="T:System.Web.UI.HtmlTextWriter" /> object that receives the control content.</param>
        public override void RenderControl(HtmlTextWriter writer)
        {
            if (this.Visible)
            {
                RegisterJavaScript();

                _pnlChartPlaceholder.Width  = this.ChartWidth;
                _pnlChartPlaceholder.Height = this.ChartHeight;

                writer.AddAttribute("id", this.ClientID);
                writer.AddAttribute("class", this.GetType().Name.SplitCase().ToLower().Replace(" ", "-"));
                writer.RenderBeginTag(HtmlTextWriterTag.Div);

                _hfMetricId.RenderControl(writer);
                _hfRestUrlParams.RenderControl(writer);
                _hfRestUrl.RenderControl(writer);
                _hfSeriesPartitionNameUrl.RenderControl(writer);
                _hfXAxisLabel.RenderControl(writer);
                _hfYAxisLabel.RenderControl(writer);

                if (!string.IsNullOrWhiteSpace(_lblChartTitle.Text))
                {
                    writer.AddAttribute("class", "chart-title");
                    if (this.Options.customSettings != null && this.Options.customSettings.titleAlign != null)
                    {
                        writer.AddStyleAttribute(HtmlTextWriterStyle.TextAlign, this.Options.customSettings.titleAlign);
                    }

                    if (this.Options.customSettings != null && this.Options.customSettings.titleFont != null)
                    {
                        if (!string.IsNullOrWhiteSpace(this.Options.customSettings.titleFont.color))
                        {
                            _lblChartTitle.ForeColor = ColorTranslator.FromHtml(this.Options.customSettings.titleFont.color);
                        }

                        if (!string.IsNullOrWhiteSpace(this.Options.customSettings.titleFont.family))
                        {
                            _lblChartTitle.Font.Name = this.Options.customSettings.titleFont.family;
                        }

                        if (this.Options.customSettings.titleFont.size.HasValue)
                        {
                            _lblChartTitle.Font.Size = new FontUnit(this.Options.customSettings.titleFont.size.Value);
                        }
                    }

                    writer.RenderBeginTag(HtmlTextWriterTag.Div);

                    _lblChartTitle.RenderControl(writer);
                    writer.RenderEndTag();
                }

                if (!string.IsNullOrWhiteSpace(_lblChartSubtitle.Text))
                {
                    writer.AddAttribute("class", "chart-subtitle");
                    if (this.Options.customSettings != null && this.Options.customSettings.subtitleAlign != null)
                    {
                        writer.AddStyleAttribute(HtmlTextWriterStyle.TextAlign, this.Options.customSettings.subtitleAlign);
                    }

                    if (this.Options.customSettings != null && this.Options.customSettings.subtitleFont != null)
                    {
                        if (!string.IsNullOrWhiteSpace(this.Options.customSettings.subtitleFont.color))
                        {
                            _lblChartSubtitle.ForeColor = ColorTranslator.FromHtml(this.Options.customSettings.subtitleFont.color);
                        }

                        if (!string.IsNullOrWhiteSpace(this.Options.customSettings.subtitleFont.family))
                        {
                            _lblChartSubtitle.Font.Name = this.Options.customSettings.subtitleFont.family;
                        }

                        if (this.Options.customSettings.subtitleFont.size.HasValue)
                        {
                            _lblChartSubtitle.Font.Size = new FontUnit(this.Options.customSettings.subtitleFont.size.Value);
                        }
                    }

                    writer.RenderBeginTag(HtmlTextWriterTag.Div);
                    _lblChartSubtitle.RenderControl(writer);
                    writer.RenderEndTag();
                }

                if (this.ShowDebug)
                {
                    _hbChartOptions.RenderControl(writer);
                }

                _pnlChartPlaceholder.RenderControl(writer);

                writer.RenderEndTag();
            }
        }
Esempio n. 21
0
        /// <summary>
        /// Outputs server control content to a provided <see cref="T:System.Web.UI.HtmlTextWriter" /> object and stores tracing information about the control if tracing is enabled.
        /// </summary>
        /// <param name="writer">The <see cref="T:System.Web.UI.HtmlTextWriter" /> object that receives the control content.</param>
        public override void RenderControl(HtmlTextWriter writer)
        {
            var           noteType = NoteTypeId.HasValue ? NoteTypeCache.Get(NoteTypeId.Value) : null;
            StringBuilder noteCss  = new StringBuilder();

            noteCss.Append("note-editor js-note-editor meta");

            if (!string.IsNullOrEmpty(this.CssClass))
            {
                noteCss.Append(" " + this.CssClass);
            }

            writer.AddAttribute(HtmlTextWriterAttribute.Class, noteCss.ToString());
            if (this.Style[HtmlTextWriterStyle.Display] != null)
            {
                writer.AddStyleAttribute(HtmlTextWriterStyle.Display, this.Style[HtmlTextWriterStyle.Display]);
            }

            if (!ShowEditMode)
            {
                writer.AddStyleAttribute(HtmlTextWriterStyle.Display, "none");
            }

            if (this.NoteId.HasValue)
            {
                writer.AddAttribute("rel", this.NoteId.Value.ToStringSafe());
            }

            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            // Edit Mode HTML...

            if (NoteOptions.DisplayType == NoteDisplayType.Full && NoteOptions.UsePersonIcon)
            {
                writer.AddAttribute(HtmlTextWriterAttribute.Class, "meta-figure");
                writer.RenderBeginTag(HtmlTextWriterTag.Div);

                writer.AddAttribute(HtmlTextWriterAttribute.Class, "avatar avatar-lg");
                writer.RenderBeginTag(HtmlTextWriterTag.Div);

                writer.Write(Person.GetPersonPhotoImageTag(CreatedByPersonId, CreatedByPhotoId, null, CreatedByGender, null, 50, 50));

                writer.RenderEndTag(); // avatar div
                writer.RenderEndTag(); // meta-figure div
            }

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "meta-body");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "noteentry-control");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);
            _tbNote.RenderControl(writer);
            _hfNoteId.RenderControl(writer);
            _hfParentNoteId.RenderControl(writer);
            writer.RenderEndTag();


            // Options
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "settings clearfix");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            // The optional create date text box, but only for new notes...
            if (NoteOptions.ShowCreateDateInput && !NoteId.HasValue)
            {
                writer.AddAttribute(HtmlTextWriterAttribute.Class, "createDate");
                writer.RenderBeginTag(HtmlTextWriterTag.Div);
                _dtCreateDate.RenderControl(writer);
                writer.RenderEndTag();  // createDate div
            }

            _ddlNoteType.RenderControl(writer);
            _hfHasUnselectableNoteType.RenderControl(writer);

            if (NoteOptions.DisplayType == NoteDisplayType.Full)
            {
                if (NoteOptions.ShowAlertCheckBox)
                {
                    _cbAlert.RenderControl(writer);
                }

                if (NoteOptions.ShowPrivateCheckBox)
                {
                    _cbPrivate.RenderControl(writer);
                }
            }

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "commands");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            _mdEditWarning.RenderControl(writer);

            if (NoteOptions.DisplayType == NoteDisplayType.Full)
            {
                if (NoteOptions.ShowSecurityButton)
                {
                    _aSecurity.Attributes["data-title"] = this.Label;
                    _aSecurity.RenderControl(writer);
                }
            }

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "edit-note-cancel js-editnote-cancel btn btn-link btn-xs");
            writer.RenderBeginTag(HtmlTextWriterTag.A);
            writer.Write("Cancel");
            writer.RenderEndTag();

            _lbSaveNote.Text            = "Save " + Label;
            _lbSaveNote.CommandName     = "SaveNote";
            _lbSaveNote.CommandArgument = this.NoteId.ToString();
            _lbSaveNote.RenderControl(writer);

            writer.RenderEndTag();  // commands div

            writer.RenderEndTag();  // settings div


            writer.RenderEndTag(); // panel body

            writer.RenderEndTag(); // ????
        }
        /// <summary>
        /// Writes the <see cref="T:System.Web.UI.WebControls.CompositeControl" /> content to the specified <see cref="T:System.Web.UI.HtmlTextWriter" /> object, for display on the client.
        /// </summary>
        /// <param name="writer">An <see cref="T:System.Web.UI.HtmlTextWriter" /> that represents the output stream to render HTML content on the client.</param>
        public override void RenderControl(HtmlTextWriter writer)
        {
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "panel panel-widget workflow-action");
            writer.AddAttribute("data-key", _hfActionTypeGuid.Value);
            writer.RenderBeginTag("article");

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "clearfix clickable panel-heading");
            writer.RenderBeginTag("header");

            // Hidden Field to track expansion
            _hfExpanded.RenderControl(writer);

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "pull-left workflow-action-name");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);
            _lblActionTypeName.Text = _tbActionTypeName.Text;
            _lblActionTypeName.RenderControl(writer);
            writer.RenderEndTag();

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "pull-right");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            string criteriaExistsClass = _ddlCriteriaAttribute.SelectedValueAsGuid().HasValue ? " criteria-exists" : string.Empty;

            writer.WriteLine(string.Format("<a class='btn btn-xs btn-link js-workflow-action-criteria{0}'><i class='fa fa-filter'></i></a>", criteriaExistsClass));
            writer.WriteLine("<a class='btn btn-xs btn-link workflow-action-reorder'><i class='fa fa-bars'></i></a>");
            writer.WriteLine(string.Format("<a class='btn btn-xs btn-link'><i class='workflow-action-state fa {0}'></i></a>",
                                           Expanded ? "fa fa-chevron-up" : "fa fa-chevron-down"));

            if (IsDeleteEnabled)
            {
                _lbDeleteActionType.Visible = true;

                _lbDeleteActionType.RenderControl(writer);
            }
            else
            {
                _lbDeleteActionType.Visible = false;
            }

            // Add/ChevronUpDown/Delete div
            writer.RenderEndTag();

            // header div
            writer.RenderEndTag();

            if (!Expanded)
            {
                // hide details if the name has already been filled in
                writer.AddStyleAttribute("display", "none");
            }
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "panel-body");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            // add Criteria fields
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "row conditional-run-criteria alert-warning");
            if (!_ddlCriteriaAttribute.SelectedValueAsGuid().HasValue)
            {
                writer.AddStyleAttribute("display", "none");
            }
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-lg-6");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "row");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-xs-7");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);
            _ddlCriteriaAttribute.RenderControl(writer);
            writer.RenderEndTag();

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-xs-5");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);
            _ddlCriteriaComparisonType.RenderControl(writer);
            writer.RenderEndTag();

            writer.RenderEndTag();  // row

            writer.RenderEndTag();  // col-md-6

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-lg-6");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);
            var comparisonType = _ddlCriteriaComparisonType.SelectedValueAsEnum <ComparisonType>();

            _tbddlCriteriaValue.Style["display"] = (comparisonType == ComparisonType.IsBlank || comparisonType == ComparisonType.IsNotBlank) ? "none" : "block";
            _tbddlCriteriaValue.RenderControl(writer);
            writer.RenderEndTag();

            writer.RenderEndTag();

            // action edit fields
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "row");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-md-6");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);
            _tbActionTypeName.ValidationGroup = ValidationGroup;
            _tbActionTypeName.RenderControl(writer);
            _ddlEntityType.ValidationGroup = ValidationGroup;
            _ddlEntityType.RenderControl(writer);
            writer.RenderEndTag();

            writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-md-6");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);
            _cbIsActionCompletedOnSuccess.ValidationGroup = ValidationGroup;
            _cbIsActionCompletedOnSuccess.RenderControl(writer);
            _cbIsActivityCompletedOnSuccess.ValidationGroup = ValidationGroup;
            _cbIsActivityCompletedOnSuccess.RenderControl(writer);
            writer.RenderEndTag();

            writer.RenderEndTag();

            _formEditor.ValidationGroup = ValidationGroup;
            _formEditor.RenderControl(writer);

            _phActionAttributes.RenderControl(writer);

            // widget-content div
            writer.RenderEndTag();

            // article tag
            writer.RenderEndTag();
        }
Esempio n. 23
0
        /// <summary>
        /// Writes the <see cref="T:System.Web.UI.WebControls.CompositeControl" /> content to the specified <see cref="T:System.Web.UI.HtmlTextWriter" /> object, for display on the client.
        /// </summary>
        /// <param name="writer">An <see cref="T:System.Web.UI.HtmlTextWriter" /> that represents the output stream to render HTML content on the client.</param>
        public override void RenderControl(HtmlTextWriter writer)
        {
            if (this.Visible)
            {
                var  currentPerson     = (this.Page as RockPage)?.CurrentPerson;
                var  editableNoteTypes = NoteOptions.GetEditableNoteTypes(currentPerson);
                bool canAdd            = AddAllowed &&
                                         editableNoteTypes.Any() &&
                                         (AllowAnonymousEntry || currentPerson != null);

                string cssClass = "panel panel-note js-notecontainer" +
                                  (this.NoteOptions.DisplayType == NoteDisplayType.Light ? " panel-note-light" : string.Empty);

                writer.AddAttribute(HtmlTextWriterAttribute.Class, cssClass);
                writer.AddAttribute("data-sortdirection", this.SortDirection.ConvertToString(false));
                writer.RenderBeginTag("section");

                // Heading
                if (ShowHeading)
                {
                    writer.AddAttribute(HtmlTextWriterAttribute.Class, "panel-heading clearfix");
                    writer.RenderBeginTag(HtmlTextWriterTag.Div);

                    if (!string.IsNullOrWhiteSpace(TitleIconCssClass) ||
                        !string.IsNullOrWhiteSpace(Title))
                    {
                        writer.AddAttribute(HtmlTextWriterAttribute.Class, "panel-title");
                        writer.RenderBeginTag(HtmlTextWriterTag.H3);

                        if (!string.IsNullOrWhiteSpace(TitleIconCssClass))
                        {
                            writer.AddAttribute(HtmlTextWriterAttribute.Class, TitleIconCssClass);
                            writer.RenderBeginTag(HtmlTextWriterTag.I);
                            writer.RenderEndTag();      // I
                        }

                        if (!string.IsNullOrWhiteSpace(Title))
                        {
                            writer.Write(" ");
                            writer.Write(Title);
                        }

                        writer.RenderEndTag();
                    }

                    if (!NoteOptions.AddAlwaysVisible && canAdd && SortDirection == ListSortDirection.Descending)
                    {
                        RenderAddButton(writer);
                    }

                    writer.RenderEndTag();
                }

                writer.AddAttribute(HtmlTextWriterAttribute.Class, "panel-body");
                writer.RenderBeginTag(HtmlTextWriterTag.Div);

                _noteEditor.ShowEditMode = NoteOptions.AddAlwaysVisible;

                if (canAdd && SortDirection == ListSortDirection.Descending)
                {
                    if (!ShowHeading && !NoteOptions.AddAlwaysVisible)
                    {
                        RenderAddButton(writer);
                    }

                    _noteEditor.RenderControl(writer);
                }

                _hfCurrentNoteId.RenderControl(writer);
                _hfExpandedNoteIds.RenderControl(writer);
                _lbDeleteNote.RenderControl(writer);
                _mdDeleteWarning.RenderControl(writer);
                using (var rockContext = new RockContext())
                {
                    List <Note> viewableNoteList = GetViewableNoteList(rockContext, currentPerson);

                    this.ShowMoreOption = (SortDirection == ListSortDirection.Descending) && (viewableNoteList.Count > this.DisplayCount);
                    if (this.ShowMoreOption)
                    {
                        viewableNoteList = viewableNoteList.Take(this.DisplayCount).ToList();
                    }

                    var rockBlock       = this.RockBlock();
                    var noteMergeFields = LavaHelper.GetCommonMergeFields(rockBlock?.RockPage, currentPerson, new CommonMergeFieldsOptions {
                        GetLegacyGlobalMergeFields = false
                    });
                    noteMergeFields.Add("NoteOptions", this.NoteOptions);
                    noteMergeFields.Add("NoteList", viewableNoteList);
                    List <int> expandedNoteIdList = _hfExpandedNoteIds.Value.SplitDelimitedValues().AsIntegerList();
                    noteMergeFields.Add("ExpandedNoteIds", expandedNoteIdList);

                    var noteTreeHtml = this.NoteOptions.NoteViewLavaTemplate.ResolveMergeFields(noteMergeFields).ResolveClientIds(this.ParentUpdatePanel()?.ClientID);
                    writer.Write(noteTreeHtml);
                }

                if (canAdd && SortDirection == ListSortDirection.Ascending)
                {
                    if (!NoteOptions.AddAlwaysVisible)
                    {
                        RenderAddButton(writer);
                    }

                    _noteEditor.RenderControl(writer);
                }
                else
                {
                    if (ShowMoreOption)
                    {
                        writer.AddAttribute(HtmlTextWriterAttribute.Class, "load-more-container");
                        writer.RenderBeginTag(HtmlTextWriterTag.Div);
                        _lbShowMore.RenderControl(writer);
                        writer.RenderEndTag();
                    }
                }

                writer.RenderEndTag();

                writer.RenderEndTag();
            }
        }
Esempio n. 24
0
        /// <summary>
        /// Renders the <see cref="T:System.Web.UI.WebControls.TextBox" /> control to the specified <see cref="T:System.Web.UI.HtmlTextWriter" /> object.
        /// </summary>
        /// <param name="writer">The <see cref="T:System.Web.UI.HtmlTextWriter" /> that receives the rendered output.</param>
        public void RenderBaseControl(HtmlTextWriter writer)
        {
            var  value    = _hfTemplateKey.Value.AsGuidOrNull();
            bool isCustom = value == _CustomGuid;

            _pnlCustom.Visible   = isCustom;
            _pnlStandard.Visible = !isCustom;

            var row = new HtmlGenericControl("div");

            _pnlStandard.Controls.Add(row);
            row.Attributes["class"] = "row js-template-row";

            int           optionCount = 0;
            StringBuilder htmlBuilder = new StringBuilder();

            if (_templateBlockValueId.HasValue)
            {
                var blockTemplateDefinedValue = DefinedValueCache.Get(_templateBlockValueId.Value);

                if (blockTemplateDefinedValue != null)
                {
                    var definedType = DefinedTypeCache.Get(Rock.SystemGuid.DefinedType.TEMPLATE);
                    definedType.DefinedValues.LoadAttributes();
                    foreach (var item in definedType.DefinedValues)
                    {
                        if (item.GetAttributeValue("TemplateBlock").AsGuid() == blockTemplateDefinedValue.Guid)
                        {
                            optionCount += 1;
                            if (_hfTemplateKey.Value.IsNullOrWhiteSpace())
                            {
                                _hfTemplateKey.Value = item.Guid.ToString();
                            }

                            var imageUrl = string.Format("~/GetImage.ashx?guid={0}", item.GetAttributeValue("Icon").AsGuid());
                            var imgSrc   = string.Format("<img src='{0}' width='100%'/>", ResolveUrl(imageUrl));

                            string html = string.Format(@" <div class='col-md-2 col-sm-4 template-picker-item'>
                                                                <div class='radio'>
                                                                    <label><input type = 'radio' class='js-template-picker' name='template-id-{5}' id='{0}' value='{0}' {2} {3}><span class='label-text'><b>{1}</b></span></label>
                                                                </div>
                                                                {4}
                                                            </div>",
                                                        item.Guid,
                                                        item.Value,
                                                        _hfTemplateKey.Value.AsGuid() == item.Guid ? "checked" : "",
                                                        this.Enabled ? "" : "disabled",
                                                        imgSrc,
                                                        this.ID);
                            htmlBuilder.Append(html);
                        }
                    }
                }
            }

            _hfTemplateKey.RenderControl(writer);

            if (optionCount > 0)
            {
                row.Controls.Add(new LiteralControl {
                    Text = htmlBuilder.ToString()
                });

                var actionDiv = new HtmlGenericControl("div");
                _pnlStandard.Controls.Add(actionDiv);
                actionDiv.Attributes["class"] = "actions clearfix";

                _pnlStandard.Controls.Add(_btnCustomize);
            }

            _pnlStandard.Enabled = this.Enabled;
            _pnlCustom.Enabled   = this.Enabled;

            _pnlStandard.RenderControl(writer);
            _rbbCustom.Checked = true;
            _pnlCustom.RenderControl(writer);

            RegisterClientScript();
        }