public RenderControl ( System.Web.UI.HtmlTextWriter writer ) : void | ||
writer | System.Web.UI.HtmlTextWriter | The |
return | void |
/// <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 void RenderBaseControl( HtmlTextWriter writer ) { bool ddlItemSelected = false; foreach ( ListItem li in _dropDownList.Items ) { if ( li.Value == _hiddenField.Value ) { li.Selected = true; ddlItemSelected = true; } else { li.Selected = false; } } if ( !ddlItemSelected ) { _textBox.Text = _hiddenField.Value; } writer.AddAttribute( HtmlTextWriterAttribute.Class, "row js-text-or-ddl-row " + this.CssClass ); writer.AddAttribute( HtmlTextWriterAttribute.Style, this.Style.Value ); writer.RenderBeginTag( HtmlTextWriterTag.Div ); _hiddenField.RenderControl( writer ); writer.AddAttribute( HtmlTextWriterAttribute.Class, "col-xs-6" ); writer.RenderBeginTag( HtmlTextWriterTag.Div ); _textBox.AddCssClass( "js-text-or-ddl-input" ); _textBox.RenderControl( writer ); writer.RenderEndTag(); writer.AddAttribute( HtmlTextWriterAttribute.Class, "col-xs-1" ); writer.RenderBeginTag( HtmlTextWriterTag.Div ); var lOr = new RockLiteral(); lOr.Label = " "; lOr.Text = "or"; lOr.RenderControl( writer ); writer.RenderEndTag(); writer.AddAttribute( HtmlTextWriterAttribute.Class, "col-xs-5" ); writer.RenderBeginTag( HtmlTextWriterTag.Div ); _dropDownList.AddCssClass( "js-text-or-ddl-input" ); _dropDownList.RenderControl( writer ); writer.RenderEndTag(); writer.RenderEndTag(); // row RegisterClientScript(); }
/// <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) { writer.AddAttribute(HtmlTextWriterAttribute.Class, "pull-right"); writer.RenderBeginTag(HtmlTextWriterTag.Div); _lbDelete.RenderControl(writer); writer.RenderEndTag(); writer.RenderBeginTag(HtmlTextWriterTag.H4); writer.Write(Caption); writer.RenderEndTag(); writer.AddAttribute("rowid", ID); writer.AddAttribute(HtmlTextWriterAttribute.Class, "row clearfix"); writer.RenderBeginTag(HtmlTextWriterTag.Div); bool existingPerson = (this.PersonId > 0); _lNickName.Visible = existingPerson; _lLastName.Visible = existingPerson; _tbNickName.Visible = !existingPerson; _tbLastName.Visible = !existingPerson; writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-sm-3"); writer.RenderBeginTag(HtmlTextWriterTag.Div); _lNickName.RenderControl(writer); _tbNickName.RenderControl(writer); writer.RenderEndTag(); writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-sm-3"); writer.RenderBeginTag(HtmlTextWriterTag.Div); _lLastName.RenderControl(writer); _tbLastName.RenderControl(writer); writer.RenderEndTag(); if (this.ShowSuffix) { writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-sm-3"); writer.RenderBeginTag(HtmlTextWriterTag.Div); _ddlSuffix.RenderControl(writer); writer.RenderEndTag(); } if (this.ShowGender) { writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-sm-3"); writer.RenderBeginTag(HtmlTextWriterTag.Div); _ddlGender.RenderControl(writer); writer.RenderEndTag(); } if (this.ShowBirthDate) { writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-sm-3"); writer.RenderBeginTag(HtmlTextWriterTag.Div); _dpBirthdate.RenderControl(writer); writer.RenderEndTag(); } if (this.ShowGrade) { writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-sm-3"); writer.RenderBeginTag(HtmlTextWriterTag.Div); _ddlGradePicker.RenderControl(writer); writer.RenderEndTag(); } if (this.ShowMobilePhone) { writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-sm-3"); writer.RenderBeginTag(HtmlTextWriterTag.Div); _pnbMobile.RenderControl(writer); writer.RenderEndTag(); } foreach (Control attributeCtrl in _phAttributes.Controls) { writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-sm-3"); writer.RenderBeginTag(HtmlTextWriterTag.Div); attributeCtrl.RenderControl(writer); writer.RenderEndTag(); } writer.RenderEndTag(); // Relationship writer.AddAttribute(HtmlTextWriterAttribute.Class, "row"); writer.RenderBeginTag(HtmlTextWriterTag.Div); writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-sm-6"); writer.RenderBeginTag(HtmlTextWriterTag.Div); writer.RenderEndTag(); writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-sm-6"); writer.RenderBeginTag(HtmlTextWriterTag.Div); _ddlRelationshipType.RenderControl(writer); writer.RenderEndTag(); writer.RenderEndTag(); writer.RenderBeginTag(HtmlTextWriterTag.Hr); 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) { string inactiveCss = _cbActivityIsComplete.Checked ? string.Empty : " workflow-activity-inactive"; writer.AddAttribute(HtmlTextWriterAttribute.Class, "panel panel-widget workflow-activity" + inactiveCss); writer.AddAttribute("data-key", _hfActivityGuid.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 writer.AddAttribute(HtmlTextWriterAttribute.Class, "filter-expanded"); _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.RenderControl(writer); // H3 tag writer.RenderEndTag(); _lblActivityTypeDescription.RenderControl(writer); // Name/Description div writer.RenderEndTag(); writer.AddAttribute(HtmlTextWriterAttribute.Class, "pull-right activity-controls"); writer.RenderBeginTag(HtmlTextWriterTag.Div); 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 (CanEdit && IsDeleteEnabled) { _lbDeleteActivityType.Visible = true; _lbDeleteActivityType.RenderControl(writer); } else { _lbDeleteActivityType.Visible = false; } // Add/ChevronUpDown/Delete div writer.RenderEndTag(); _lblStatus.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); if (CanEdit) { _ppAssignedToPerson.ValidationGroup = ValidationGroup; _ppAssignedToPerson.RenderControl(writer); _gpAssignedToGroup.ValidationGroup = ValidationGroup; _gpAssignedToGroup.RenderControl(writer); _ddlAssignedToRole.ValidationGroup = ValidationGroup; _ddlAssignedToRole.RenderControl(writer); } else { if (!string.IsNullOrWhiteSpace(_lAssignedToPerson.Text)) { _lAssignedToPerson.RenderControl(writer); } if (!string.IsNullOrWhiteSpace(_lAssignedToGroup.Text)) { _lAssignedToGroup.RenderControl(writer); } if (!string.IsNullOrWhiteSpace(_lAssignedToRole.Text)) { _lAssignedToRole.RenderControl(writer); } } writer.RenderEndTag(); // col-md-4 writer.AddAttribute(HtmlTextWriterAttribute.Class, "col-md-6"); writer.RenderBeginTag(HtmlTextWriterTag.Div); _cbActivityIsComplete.Enabled = CanEdit; _cbActivityIsComplete.ValidationGroup = ValidationGroup; _cbActivityIsComplete.RenderControl(writer); writer.AddAttribute(HtmlTextWriterAttribute.Class, "form-group"); writer.RenderBeginTag(HtmlTextWriterTag.Div); writer.AddAttribute(HtmlTextWriterAttribute.Class, "control-label"); writer.RenderBeginTag(HtmlTextWriterTag.Label); writer.Write(" "); writer.RenderEndTag(); // control-label _lState.RenderControl(writer); writer.RenderEndTag(); // form-group writer.RenderEndTag(); // col-md-6 writer.RenderEndTag(); // row _phAttributes.RenderControl(writer); // actions writer.RenderBeginTag("fieldset"); writer.RenderBeginTag("legend"); writer.WriteLine("Actions"); writer.RenderEndTag(); writer.AddAttribute(HtmlTextWriterAttribute.Class, "grid-table table table-condensed table-light"); writer.RenderBeginTag(HtmlTextWriterTag.Table); writer.RenderBeginTag(HtmlTextWriterTag.Thead); writer.RenderBeginTag(HtmlTextWriterTag.Tr); writer.AddAttribute(HtmlTextWriterAttribute.Scope, "col"); writer.RenderBeginTag(HtmlTextWriterTag.Th); writer.Write("Action"); writer.RenderEndTag(); writer.AddAttribute(HtmlTextWriterAttribute.Scope, "col"); writer.RenderBeginTag(HtmlTextWriterTag.Th); writer.Write("Last Processed"); writer.RenderEndTag(); writer.AddAttribute(HtmlTextWriterAttribute.Scope, "col"); writer.RenderBeginTag(HtmlTextWriterTag.Th); writer.Write("Completed"); writer.RenderEndTag(); writer.AddAttribute(HtmlTextWriterAttribute.Scope, "col"); writer.RenderBeginTag(HtmlTextWriterTag.Th); writer.RenderEndTag(); writer.RenderEndTag(); // tr writer.RenderEndTag(); // thead writer.AddAttribute(HtmlTextWriterAttribute.Class, "workflow-formfield-list"); writer.RenderBeginTag(HtmlTextWriterTag.Tbody); foreach (WorkflowActionEditor workflowActionEditor in this.Controls.OfType <WorkflowActionEditor>()) { workflowActionEditor.ValidationGroup = ValidationGroup; workflowActionEditor.RenderControl(writer); } writer.RenderEndTag(); // tbody writer.RenderEndTag(); // table // actions fieldset writer.RenderEndTag(); // widget-content div writer.RenderEndTag(); // section tag writer.RenderEndTag(); }
/// <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) { writer.AddAttribute(HtmlTextWriterAttribute.Class, "pull-right"); writer.RenderBeginTag(HtmlTextWriterTag.Div); _lbDelete.RenderControl(writer); writer.RenderEndTag(); writer.RenderBeginTag(HtmlTextWriterTag.H4); writer.Write(Caption); writer.RenderEndTag(); // Relationship writer.AddAttribute(HtmlTextWriterAttribute.Class, "row"); writer.RenderBeginTag(HtmlTextWriterTag.Div); writer.AddAttribute(HtmlTextWriterAttribute.Class, GetColumnStyle(6)); writer.RenderBeginTag(HtmlTextWriterTag.Div); _ddlRelationshipType.RenderControl(writer); writer.RenderEndTag(); writer.AddAttribute(HtmlTextWriterAttribute.Class, GetColumnStyle(6)); // filler/blocker column writer.RenderBeginTag(HtmlTextWriterTag.Div); writer.RenderEndTag(); writer.RenderEndTag(); // end Relationship row writer.AddAttribute("rowid", ID); writer.AddAttribute(HtmlTextWriterAttribute.Class, "row clearfix"); writer.RenderBeginTag(HtmlTextWriterTag.Div); bool existingPerson = (this.PersonId > 0); _lNickName.Visible = existingPerson; _lLastName.Visible = existingPerson; _tbNickName.Visible = !existingPerson; _tbLastName.Visible = !existingPerson; writer.AddAttribute(HtmlTextWriterAttribute.Class, GetColumnStyle(3)); writer.RenderBeginTag(HtmlTextWriterTag.Div); _lNickName.RenderControl(writer); _tbNickName.RenderControl(writer); writer.RenderEndTag(); writer.AddAttribute(HtmlTextWriterAttribute.Class, GetColumnStyle(3)); writer.RenderBeginTag(HtmlTextWriterTag.Div); _lLastName.RenderControl(writer); _tbLastName.RenderControl(writer); writer.RenderEndTag(); if (this.ShowGender) { writer.AddAttribute(HtmlTextWriterAttribute.Class, GetColumnStyle(3)); writer.RenderBeginTag(HtmlTextWriterTag.Div); _ddlGender.RenderControl(writer); writer.RenderEndTag(); } if (this.ShowSuffix) { writer.AddAttribute(HtmlTextWriterAttribute.Class, GetColumnStyle(3)); writer.RenderBeginTag(HtmlTextWriterTag.Div); _ddlSuffix.RenderControl(writer); writer.RenderEndTag(); } if (this.ShowBirthDate) { writer.AddAttribute(HtmlTextWriterAttribute.Class, GetColumnStyle(6)); writer.RenderBeginTag(HtmlTextWriterTag.Div); _bpBirthdate.RenderControl(writer); writer.RenderEndTag(); } if (this.ShowGrade) { writer.AddAttribute(HtmlTextWriterAttribute.Class, GetColumnStyle(3)); writer.RenderBeginTag(HtmlTextWriterTag.Div); _ddlGradePicker.RenderControl(writer); writer.RenderEndTag(); } if (this.ShowMobilePhone) { writer.AddAttribute(HtmlTextWriterAttribute.Class, GetColumnStyle(3)); writer.RenderBeginTag(HtmlTextWriterTag.Div); _pnbMobile.RenderControl(writer); writer.RenderEndTag(); } if (this.ShowEmailAddress) { writer.AddAttribute(HtmlTextWriterAttribute.Class, GetColumnStyle(6)); writer.RenderBeginTag(HtmlTextWriterTag.Div); _ebEmail.RenderControl(writer); writer.RenderEndTag(); } if (this.ShowCommunicationPreference) { writer.AddAttribute(HtmlTextWriterAttribute.Class, GetColumnStyle(6)); writer.RenderBeginTag(HtmlTextWriterTag.Div); _rblCommunicationPreference.RenderControl(writer); writer.RenderEndTag(); } foreach (Control attributeCtrl in _phAttributes.Controls) { writer.AddAttribute(HtmlTextWriterAttribute.Class, GetColumnStyle(3)); writer.RenderBeginTag(HtmlTextWriterTag.Div); attributeCtrl.RenderControl(writer); writer.RenderEndTag(); } writer.RenderEndTag(); writer.RenderBeginTag(HtmlTextWriterTag.Hr); 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, "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(); }