/// <summary> /// Handles the ItemDataBound event of the rQuestions control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="RepeaterItemEventArgs"/> instance containing the event data.</param> protected void rQuestions_ItemDataBound(object sender, RepeaterItemEventArgs e) { var assessmentResponseRow = e.Item.DataItem as AssessmentResponse; RockRadioButtonList rblQuestion = e.Item.FindControl("rblQuestion") as RockRadioButtonList; if (assessmentResponseRow.Code.EndsWith("N")) { rblQuestion.DataSource = _negativeOption; } else { rblQuestion.DataSource = _positiveOption; } rblQuestion.DataTextField = "Value"; rblQuestion.DataValueField = "Key"; rblQuestion.DataBind(); rblQuestion.Label = assessmentResponseRow.Question; if (assessmentResponseRow != null && assessmentResponseRow.Response.HasValue) { rblQuestion.SetValue(assessmentResponseRow.Response); } else { rblQuestion.SetValue(string.Empty); } }
/// <summary> /// Gets the selection. /// </summary> /// <param name="controls">The controls.</param> /// <returns></returns> public override string GetSelection(System.Web.UI.Control[] controls) { RockDropDownList locationTypeList = controls[0] as RockDropDownList; RockRadioButtonList addressPartRadioButtonList = controls[1] as RockRadioButtonList; return(string.Format("{0}|{1}", locationTypeList.SelectedValue, addressPartRadioButtonList.SelectedValue)); }
/// <summary> /// Sets the selection. /// </summary> /// <param name="controls">The controls.</param> /// <param name="selection">The selection.</param> public override void SetSelection(System.Web.UI.Control[] controls, string selection) { string[] selectionValues = selection.Split('|'); if (selectionValues.Length >= 1) { RockRadioButtonList rblShowAsLinkType = controls[0] as RockRadioButtonList; GroupTypePicker groupTypePicker = controls[1] as GroupTypePicker; RockCheckBoxList cblRole = controls[2] as RockCheckBoxList; RockDropDownList ddlGroupMemberStatus = controls[3] as RockDropDownList; rblShowAsLinkType.SelectedValue = selectionValues[0].ConvertToEnum <ShowAsLinkType>(ShowAsLinkType.NameOnly).ConvertToInt().ToString(); if (selectionValues.Length >= 3) { Guid groupTypeGuid = selectionValues[1].AsGuid(); var groupTypeId = new GroupTypeService(new RockContext()).GetId(groupTypeGuid); if (groupTypeId.HasValue) { groupTypePicker.SetValue(groupTypeId.Value); } groupTypePicker_SelectedIndexChanged(groupTypePicker, new EventArgs()); string[] selectedRoleGuids = selectionValues[2].Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); foreach (var item in cblRole.Items.OfType <ListItem>()) { item.Selected = selectedRoleGuids.Contains(item.Value); } ddlGroupMemberStatus.SetValue(selectionValues[3]); } } }
/// <summary> /// Creates the control(s) necessary for prompting user for a new value /// </summary> /// <param name="configurationValues">The configuration values.</param> /// <param name="id"></param> /// <returns> /// The control /// </returns> public override Control EditControl(Dictionary <string, ConfigurationValue> configurationValues, string id) { if (configurationValues != null) { var editControl = new RockRadioButtonList { ID = id }; editControl.RepeatDirection = RepeatDirection.Horizontal; if (configurationValues.ContainsKey(REPEAT_COLUMNS)) { (( RockRadioButtonList )editControl).RepeatColumns = configurationValues[REPEAT_COLUMNS].Value.AsInteger(); } foreach (var keyVal in EnumValues) { editControl.Items.Add(new ListItem(keyVal.Value, keyVal.Key.ToString())); } if (editControl.Items.Count > 0) { return(editControl); } } return(null); }
/// <summary> /// Creates the control(s) necessary for prompting user for a new value /// </summary> /// <param name="configurationValues">The configuration values.</param> /// <param name="id"></param> /// <returns> /// The control /// </returns> public override Control EditControl(Dictionary <string, ConfigurationValue> configurationValues, string id) { if (configurationValues != null) { ListControl editControl = null; if (configurationValues.ContainsKey("fieldtype") && configurationValues["fieldtype"].Value == "rb") { editControl = new RockRadioButtonList { ID = id }; ((RadioButtonList)editControl).RepeatDirection = RepeatDirection.Horizontal; } else { editControl = new RockDropDownList { ID = id }; editControl.Items.Add(new ListItem()); } foreach (var keyVal in GetConfiguredValues(configurationValues)) { editControl.Items.Add(new ListItem(keyVal.Value, keyVal.Key)); } if (editControl.Items.Count > 0) { return(editControl); } } return(null); }
/// <summary> /// Creates the child controls. /// </summary> /// <param name="parentControl"></param> /// <returns></returns> public override System.Web.UI.Control[] CreateChildControls(System.Web.UI.Control parentControl) { RockDropDownList locationTypeList = new RockDropDownList(); locationTypeList.Items.Clear(); foreach (var value in DefinedTypeCache.Read(Rock.SystemGuid.DefinedType.GROUP_LOCATION_TYPE.AsGuid()).DefinedValues.OrderBy(a => a.Order).ThenBy(a => a.Value)) { locationTypeList.Items.Add(new ListItem(value.Value, value.Guid.ToString())); } locationTypeList.Items.Insert(0, Rock.Constants.None.ListItem); locationTypeList.ID = parentControl.ID + "_grouplocationType"; locationTypeList.Label = "Address Type"; parentControl.Controls.Add(locationTypeList); RockRadioButtonList addressPartRadioButtonList = new RockRadioButtonList(); addressPartRadioButtonList.Items.Clear(); addressPartRadioButtonList.BindToEnum <AddressNamePart>(false); // default to first one addressPartRadioButtonList.SelectedIndex = 0; addressPartRadioButtonList.ID = parentControl.ID + "_addressPartRadioButtonList"; addressPartRadioButtonList.Label = "Address Part"; addressPartRadioButtonList.Help = "Select the part of the address to show in the grid, or select Full to show the full address"; parentControl.Controls.Add(addressPartRadioButtonList); return(new System.Web.UI.Control[] { locationTypeList, addressPartRadioButtonList }); }
protected void loadKids() { kidsList.Clear(); foreach (RepeaterItem Item in rKids.Items) { RockTextBox firstName = Item.FindControl("rtpKidFirstName") as RockTextBox; RockTextBox lastName = Item.FindControl("rtpKidLastName") as RockTextBox; RockRadioButtonList gender = Item.FindControl("rblGender") as RockRadioButtonList; DatePicker birthdate = Item.FindControl("dpBirthdate") as DatePicker; GradePicker grade = Item.FindControl("gpGrade") as GradePicker; RockTextBox allergy = Item.FindControl("rtbAllergy") as RockTextBox; var kidData = new KidData { FirstName = firstName.Text, LastName = lastName.Text, Gender = gender.SelectedValueAsEnum <Gender>(Gender.Unknown), Birthdate = birthdate.SelectedDate, Grade = grade.SelectedGradeValue, Allergy = allergy.Text }; kidsList.Add(kidData); } }
/// <summary> /// Creates the child controls. /// </summary> /// <returns></returns> public override Control[] CreateChildControls(Type entityType, FilterField filterControl) { var rblTagType = new RockRadioButtonList(); rblTagType.ID = filterControl.ID + "_tagType"; rblTagType.Label = "Tag Type"; rblTagType.RepeatDirection = RepeatDirection.Horizontal; rblTagType.Items.Add(new ListItem("Personal Tags", "1")); rblTagType.Items.Add(new ListItem("Organizational Tags", "2")); rblTagType.SelectedValue = "1"; rblTagType.AutoPostBack = true; rblTagType.SelectedIndexChanged += rblTagType_SelectedIndexChanged; rblTagType.CssClass = "js-tag-type"; filterControl.Controls.Add(rblTagType); var ddlTagList = new RockDropDownList(); ddlTagList.ID = filterControl.ID + "_ddlTagList"; ddlTagList.Label = "Tag"; ddlTagList.AddCssClass("js-tag-filter-list"); filterControl.Controls.Add(ddlTagList); PopulateTagList(filterControl); return(new Control[2] { rblTagType, ddlTagList }); }
/// <summary> /// Handles the ItemDataBound event of the rQuestions repeater control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="RepeaterItemEventArgs"/> instance containing the event data.</param> protected void rQuestions_ItemDataBound(object sender, RepeaterItemEventArgs e) { if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { Literal lQuestion1 = e.Item.FindControl("lQuestion1") as Literal; Literal lQuestion2 = e.Item.FindControl("lQuestion2") as Literal; Literal lQuestion3 = e.Item.FindControl("lQuestion3") as Literal; Literal lQuestion4 = e.Item.FindControl("lQuestion4") as Literal; lQuestion1.Text = ((System.Data.DataRowView)(e.Item.DataItem)).Row.ItemArray[0].ToString(); lQuestion2.Text = ((System.Data.DataRowView)(e.Item.DataItem)).Row.ItemArray[1].ToString(); lQuestion3.Text = ((System.Data.DataRowView)(e.Item.DataItem)).Row.ItemArray[2].ToString(); lQuestion4.Text = ((System.Data.DataRowView)(e.Item.DataItem)).Row.ItemArray[3].ToString(); RockRadioButtonList rblMore1 = e.Item.FindControl("rblMore1") as RockRadioButtonList; RockRadioButtonList rblMore2 = e.Item.FindControl("rblMore2") as RockRadioButtonList; RockRadioButtonList rblMore3 = e.Item.FindControl("rblMore3") as RockRadioButtonList; RockRadioButtonList rblMore4 = e.Item.FindControl("rblMore4") as RockRadioButtonList; RockRadioButtonList rblLess1 = e.Item.FindControl("rblLess1") as RockRadioButtonList; RockRadioButtonList rblLess2 = e.Item.FindControl("rblLess2") as RockRadioButtonList; RockRadioButtonList rblLess3 = e.Item.FindControl("rblLess3") as RockRadioButtonList; RockRadioButtonList rblLess4 = e.Item.FindControl("rblLess4") as RockRadioButtonList; ListItem m1 = new ListItem(); ListItem m2 = new ListItem(); ListItem m3 = new ListItem(); ListItem m4 = new ListItem(); m1.Text = m2.Text = m3.Text = m4.Text = " "; m1.Value = ((System.Data.DataRowView)(e.Item.DataItem)).Row.ItemArray[4].ToString().Substring(0, 1); m2.Value = ((System.Data.DataRowView)(e.Item.DataItem)).Row.ItemArray[4].ToString().Substring(1, 1); m3.Value = ((System.Data.DataRowView)(e.Item.DataItem)).Row.ItemArray[4].ToString().Substring(2, 1); m4.Value = ((System.Data.DataRowView)(e.Item.DataItem)).Row.ItemArray[4].ToString().Substring(3, 1); rblMore1.Items.Add(m1); rblMore2.Items.Add(m2); rblMore3.Items.Add(m3); rblMore4.Items.Add(m4); ListItem l1 = new ListItem(); ListItem l2 = new ListItem(); ListItem l3 = new ListItem(); ListItem l4 = new ListItem(); l1.Text = l2.Text = l3.Text = l4.Text = " "; l1.Value = ((System.Data.DataRowView)(e.Item.DataItem)).Row.ItemArray[5].ToString().Substring(0, 1); l2.Value = ((System.Data.DataRowView)(e.Item.DataItem)).Row.ItemArray[5].ToString().Substring(1, 1); l3.Value = ((System.Data.DataRowView)(e.Item.DataItem)).Row.ItemArray[5].ToString().Substring(2, 1); l4.Value = ((System.Data.DataRowView)(e.Item.DataItem)).Row.ItemArray[5].ToString().Substring(3, 1); rblLess1.Items.Add(l1); rblLess2.Items.Add(l2); rblLess3.Items.Add(l3); rblLess4.Items.Add(l4); } }
/// <summary> /// Creates the child controls. /// </summary> /// <returns></returns> public override Control[] CreateChildControls(Type entityType, FilterField filterControl) { var controls = new List <Control>(); // Add the registration template picker int?selectedTemplateId = null; if (_ddlRegistrationTemplate != null) { selectedTemplateId = _ddlRegistrationTemplate.SelectedValueAsId(); } _ddlRegistrationTemplate = new RockDropDownList(); _ddlRegistrationTemplate.CssClass = "js-registration-template"; _ddlRegistrationTemplate.ID = filterControl.ID + "_ddlRegistrationTemplate"; _ddlRegistrationTemplate.Label = "Registration Template"; _ddlRegistrationTemplate.DataTextField = "Name"; _ddlRegistrationTemplate.DataValueField = "Id"; _ddlRegistrationTemplate.DataSource = new RegistrationTemplateService(new RockContext()).Queryable() .OrderBy(a => a.Name) .Select(d => new { d.Id, d.Name }) .ToList(); _ddlRegistrationTemplate.DataBind(); _ddlRegistrationTemplate.SelectedIndexChanged += ddlRegistrationTemplate_SelectedIndexChanged; _ddlRegistrationTemplate.AutoPostBack = true; _ddlRegistrationTemplate.SelectedValue = selectedTemplateId.ToStringSafe(); filterControl.Controls.Add(_ddlRegistrationTemplate); // Now add the registration instance picker _ddlRegistrationInstance = new RockDropDownList(); _ddlRegistrationInstance.CssClass = "js-registration-instance"; _ddlRegistrationInstance.Label = "Registration Instance"; _ddlRegistrationInstance.ID = filterControl.ID + "_ddlRegistrationInstance"; filterControl.Controls.Add(_ddlRegistrationInstance); PopulateRegistrationInstanceList(_ddlRegistrationTemplate.SelectedValueAsId() ?? 0); _rblRegistrationType = new RockRadioButtonList(); _rblRegistrationType.CssClass = "js-registration-type"; _rblRegistrationType.ID = filterControl.ID + "_registrationType"; _rblRegistrationType.RepeatDirection = RepeatDirection.Horizontal; _rblRegistrationType.Label = "Person"; _rblRegistrationType.Help = "Choose whether to filter by the person who did the registering (registrar) or the person who was registered (registrant)."; _rblRegistrationType.Items.Add(new ListItem("Registrar", "1")); _rblRegistrationType.Items.Add(new ListItem("Registrant", "2")); _rblRegistrationType.SelectedValue = "2"; filterControl.Controls.Add(_rblRegistrationType); return(new Control[3] { _ddlRegistrationTemplate, _ddlRegistrationInstance, _rblRegistrationType }); }
/// <summary> /// Creates the control(s) neccessary for prompting user for a new value /// </summary> /// <param name="configurationValues">The configuration values.</param> /// <param name="id"></param> /// <returns> /// The control /// </returns> public override Control EditControl(Dictionary <string, ConfigurationValue> configurationValues, string id) { ListControl editControl = null; if (configurationValues != null) { if (configurationValues.ContainsKey("fieldtype") && configurationValues["fieldtype"].Value == "rb") { editControl = new RockRadioButtonList { ID = id }; ((RadioButtonList)editControl).RepeatDirection = RepeatDirection.Horizontal; } else { editControl = new RockDropDownList { ID = id }; } if (configurationValues.ContainsKey("values")) { string listSource = configurationValues["values"].Value; if (listSource.ToUpper().Contains("SELECT") && listSource.ToUpper().Contains("FROM")) { var tableValues = new List <string>(); DataTable dataTable = new Rock.Data.Service().GetDataTable(listSource, CommandType.Text, null); if (dataTable != null && dataTable.Columns.Contains("Value") && dataTable.Columns.Contains("Text")) { foreach (DataRow row in dataTable.Rows) { editControl.Items.Add(new ListItem(row["text"].ToString(), row["value"].ToString())); } } } else { foreach (string keyvalue in listSource.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)) { var keyValueArray = keyvalue.Split(new char[] { ':' }, StringSplitOptions.RemoveEmptyEntries); if (keyValueArray.Length > 0) { ListItem li = new ListItem(); li.Value = keyValueArray[0]; li.Text = keyValueArray.Length > 1 ? keyValueArray[1] : keyValueArray[0]; editControl.Items.Add(li); } } } } } return(editControl); }
/// <summary> /// Sets the selection. /// </summary> /// <param name="controls">The controls.</param> /// <param name="selection">The selection.</param> public override void SetSelection(System.Web.UI.Control[] controls, string selection) { if (controls.Count() == 1) { string[] selectionValues = selection.Split('|'); if (selectionValues.Length >= 1) { RockRadioButtonList rblShowAsLinkType = controls[0] as RockRadioButtonList; rblShowAsLinkType.SelectedValue = selectionValues[0].ConvertToEnum <ShowAsLinkType>(ShowAsLinkType.NameOnly).ConvertToInt().ToString(); } } }
/// <summary> /// Creates the child controls. /// </summary> /// <param name="parentControl"></param> /// <returns></returns> public override System.Web.UI.Control[] CreateChildControls(System.Web.UI.Control parentControl) { RockRadioButtonList rblShowAsLinkType = new RockRadioButtonList(); rblShowAsLinkType.ID = parentControl.ID + "_rblShowAsLinkType"; rblShowAsLinkType.Items.Add(new ListItem("Show Name Only", ShowAsLinkType.NameOnly.ConvertToInt().ToString())); rblShowAsLinkType.Items.Add(new ListItem("Show as Person Link", ShowAsLinkType.PersonLink.ConvertToInt().ToString())); rblShowAsLinkType.Items.Add(new ListItem("Show as Group Member Link", ShowAsLinkType.GroupMemberLink.ConvertToInt().ToString())); parentControl.Controls.Add(rblShowAsLinkType); return(new System.Web.UI.Control[] { rblShowAsLinkType }); }
/// <summary> /// Handles the ItemDataBound event of the rQuestions repeater control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="RepeaterItemEventArgs"/> instance containing the event data.</param> protected void rQuestions_ItemDataBound(object sender, RepeaterItemEventArgs e) { if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { Literal lQuestion1 = e.Item.FindControl("lQuestion1") as Literal; Literal lQuestion2 = e.Item.FindControl("lQuestion2") as Literal; Literal lQuestion3 = e.Item.FindControl("lQuestion3") as Literal; Literal lQuestion4 = e.Item.FindControl("lQuestion4") as Literal; RockRadioButtonList rblMore1 = e.Item.FindControl("rblMore1") as RockRadioButtonList; RockRadioButtonList rblLess1 = e.Item.FindControl("rblLess1") as RockRadioButtonList; RockRadioButtonList rblMore2 = e.Item.FindControl("rblMore2") as RockRadioButtonList; RockRadioButtonList rblLess2 = e.Item.FindControl("rblLess2") as RockRadioButtonList; RockRadioButtonList rblMore3 = e.Item.FindControl("rblMore3") as RockRadioButtonList; RockRadioButtonList rblLess3 = e.Item.FindControl("rblLess3") as RockRadioButtonList; RockRadioButtonList rblMore4 = e.Item.FindControl("rblMore4") as RockRadioButtonList; RockRadioButtonList rblLess4 = e.Item.FindControl("rblLess4") as RockRadioButtonList; var assessment = (( AssessmentResponse )(e.Item.DataItem)); ListItem m1 = new ListItem("<span class='sr-only'>Most</span>", assessment.Questions.Keys.ElementAt(0)); ListItem m2 = new ListItem("<span class='sr-only'>Most</span>", assessment.Questions.Keys.ElementAt(1)); ListItem m3 = new ListItem("<span class='sr-only'>Most</span>", assessment.Questions.Keys.ElementAt(2)); ListItem m4 = new ListItem("<span class='sr-only'>Most</span>", assessment.Questions.Keys.ElementAt(3)); ListItem l1 = new ListItem("<span class='sr-only'>Least</span>", assessment.Questions.Keys.ElementAt(0)); ListItem l2 = new ListItem("<span class='sr-only'>Least</span>", assessment.Questions.Keys.ElementAt(1)); ListItem l3 = new ListItem("<span class='sr-only'>Least</span>", assessment.Questions.Keys.ElementAt(2)); ListItem l4 = new ListItem("<span class='sr-only'>Least</span>", assessment.Questions.Keys.ElementAt(3)); lQuestion1.Text = assessment.Questions.Values.ElementAt(0); rblMore1.Items.Add(m1); rblLess1.Items.Add(l1); lQuestion2.Text = assessment.Questions.Values.ElementAt(1); rblMore2.Items.Add(m2); rblLess2.Items.Add(l2); lQuestion3.Text = assessment.Questions.Values.ElementAt(2); rblMore3.Items.Add(m3); rblLess3.Items.Add(l3); lQuestion4.Text = assessment.Questions.Values.ElementAt(3); rblMore4.Items.Add(m4); rblLess4.Items.Add(l4); SetSelectedValue(assessment.MostScore, rblMore1, rblMore2, rblMore3, rblMore4); SetSelectedValue(assessment.LeastScore, rblLess1, rblLess2, rblLess3, rblLess4); } }
/// <summary> /// Creates the child controls. /// </summary> /// <param name="parentControl"></param> /// <returns></returns> public override System.Web.UI.Control[] CreateChildControls(System.Web.UI.Control parentControl) { RockDropDownList ddlInteractionChannel = new RockDropDownList(); ddlInteractionChannel.ID = parentControl.ID + "_ddlInteractionChannel"; ddlInteractionChannel.Label = "Interaction Channel"; ddlInteractionChannel.Required = true; ddlInteractionChannel.AutoPostBack = true; ddlInteractionChannel.SelectedIndexChanged += ddlInteractionChannel_SelectedIndexChanged; parentControl.Controls.Add(ddlInteractionChannel); var interactionChannelService = new InteractionChannelService(new RockContext()); var noteTypes = interactionChannelService.Queryable().OrderBy(a => a.Name).Select(a => new { a.Id, a.Name }).ToList(); ddlInteractionChannel.Items.Clear(); ddlInteractionChannel.Items.Add(new ListItem()); ddlInteractionChannel.Items.AddRange(noteTypes.Select(a => new ListItem(a.Name, a.Id.ToString())).ToArray()); int?selectedInteractionChannelId = parentControl.Page.Request.Params[ddlInteractionChannel.UniqueID].AsIntegerOrNull(); ddlInteractionChannel.SetValue(selectedInteractionChannelId); RockDropDownList ddlInteractionComponent = new RockDropDownList(); ddlInteractionComponent.ID = parentControl.ID + "_ddlInteractionComponent"; ddlInteractionComponent.Label = "Interaction Component"; ddlInteractionComponent.EnhanceForLongLists = true; parentControl.Controls.Add(ddlInteractionComponent); PopulateInteractionComponent(selectedInteractionChannelId, ddlInteractionComponent); RockTextBox tbOperation = new RockTextBox(); tbOperation.Label = "Operation"; tbOperation.ID = parentControl.ID + "_tbOperation"; parentControl.Controls.Add(tbOperation); RockRadioButtonList rblSelectionMode = new RockRadioButtonList(); rblSelectionMode.ID = parentControl.ID + "rblSelectionMode"; rblSelectionMode.Label = "Selection Mode"; rblSelectionMode.BindToEnum <FirstLastInteraction>(); rblSelectionMode.SetValue(FirstLastInteraction.First.ConvertToInt()); parentControl.Controls.Add(rblSelectionMode); return(new System.Web.UI.Control[] { ddlInteractionChannel, ddlInteractionComponent, tbOperation, rblSelectionMode }); }
/// <summary> /// Gets the selection. /// </summary> /// <param name="controls">The controls.</param> /// <returns></returns> public override string GetSelection(System.Web.UI.Control[] controls) { if (controls.Count() == 1) { RockRadioButtonList rblShowAsLinkType = controls[0] as RockRadioButtonList; if (rblShowAsLinkType != null) { return(string.Format("{0}", rblShowAsLinkType.SelectedValueAsEnum <ShowAsLinkType>().ConvertToInt())); } } return(string.Empty); }
/// <summary> /// Gets the response to the rQuestions repeater control. /// </summary> private void GetResponse() { foreach (var item in rQuestions.Items.OfType <RepeaterItem>()) { HiddenField hfQuestionCode = item.FindControl("hfQuestionCode") as HiddenField; RockRadioButtonList rblQuestion = item.FindControl("rblQuestion") as RockRadioButtonList; var assessment = _assessmentResponses.SingleOrDefault(a => a.Code == hfQuestionCode.Value); if (assessment != null) { assessment.Response = rblQuestion.SelectedValueAsInt(false); } } }
/// <summary> /// Handles the ItemDataBound event of the rQuestions control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="RepeaterItemEventArgs"/> instance containing the event data.</param> protected void rQuestions_ItemDataBound(object sender, RepeaterItemEventArgs e) { var assessmentResponseRow = e.Item.DataItem as AssessmentResponse; RockRadioButtonList rblQuestion = e.Item.FindControl("rblQuestion") as RockRadioButtonList; if (assessmentResponseRow != null && assessmentResponseRow.Response.HasValue) { rblQuestion.SetValue(assessmentResponseRow.Response); } else { rblQuestion.SetValue(string.Empty); } }
/// <summary> /// Creates the child controls. /// </summary> /// <returns></returns> public override Control[] CreateChildControls(Type entityType, FilterField filterControl) { var rbl = new RockRadioButtonList(); rbl.ID = filterControl.ID + "_0"; rbl.RepeatDirection = RepeatDirection.Horizontal; rbl.Items.Add(new ListItem("Yes", "1")); rbl.Items.Add(new ListItem("No", "0")); filterControl.Controls.Add(rbl); rbl.SelectedValue = "1"; return(new Control[1] { rbl }); }
/// <summary> /// Sets the selection. /// </summary> /// <param name="controls">The controls.</param> /// <param name="selection">The selection.</param> public override void SetSelection(System.Web.UI.Control[] controls, string selection) { RockDropDownList locationTypeList = controls[0] as RockDropDownList; RockRadioButtonList addressPartRadioButtonList = controls[1] as RockRadioButtonList; string[] values = selection.Split('|'); if (values.Length >= 1) { locationTypeList.SetValue(values[0]); } if (values.Length >= 2) { addressPartRadioButtonList.SetValue(values[1]); } }
/// <summary> /// Creates the HTML controls required to configure this type of field /// </summary> /// <returns></returns> public override List <Control> ConfigurationControls() { var controls = base.ConfigurationControls(); // Control to pick the available location types var cblAvailableLocationTypes = new RockCheckBoxList(); cblAvailableLocationTypes.RepeatDirection = RepeatDirection.Horizontal; cblAvailableLocationTypes.AutoPostBack = true; cblAvailableLocationTypes.SelectedIndexChanged += OnQualifierUpdated; cblAvailableLocationTypes.Label = "Available Location Types"; cblAvailableLocationTypes.Help = "Select the location types that can be used by the Location Picker."; var locationTypes = ( LocationPickerMode[] )Enum.GetValues(typeof(LocationPickerMode)); foreach (LocationPickerMode locationType in locationTypes) { if (locationType != LocationPickerMode.None && locationType != LocationPickerMode.All) { cblAvailableLocationTypes.Items.Add(new ListItem(locationType.ConvertToString(), locationType.ConvertToInt().ToString())); } } controls.Add(cblAvailableLocationTypes); // Control to pick the default location type var rblDefaultLocationType = new RockRadioButtonList(); rblDefaultLocationType.RepeatDirection = RepeatDirection.Horizontal; rblDefaultLocationType.AutoPostBack = true; rblDefaultLocationType.SelectedIndexChanged += OnQualifierUpdated; rblDefaultLocationType.Label = "Default Location Type"; rblDefaultLocationType.Help = "Select the location type that is initially displayed."; foreach (LocationPickerMode locationType in locationTypes) { if (locationType != LocationPickerMode.None && locationType != LocationPickerMode.All) { rblDefaultLocationType.Items.Add(new ListItem(locationType.ConvertToString(), locationType.ConvertToInt().ToString())); } } controls.Add(rblDefaultLocationType); return(controls); }
private RockRadioButtonList CreateOpenActionRadioList() { rbOpenAction = new RockRadioButtonList { ID = $"{nameof( rbOpenAction )}_{ID}", Label = "Open Action", RepeatDirection = RepeatDirection.Horizontal, Help = "Defines the open action for the message.", AutoPostBack = true }; if (Transport is IRockMobilePush) { rbOpenAction.Items.AddRange(new ListItem[] { new ListItem { Text = "Link to Mobile Page", Value = PushOpenAction.LinkToMobilePage.ConvertToInt().ToString() }, new ListItem { Text = "Show Details", Value = PushOpenAction.ShowDetails.ConvertToInt().ToString() } }); } else { rbOpenAction.Items.AddRange(new ListItem[] { new ListItem { Text = "No Action", Value = PushOpenAction.NoAction.ConvertToInt().ToString() }, new ListItem { Text = "Link to URL", Value = PushOpenAction.LinkToUrl.ConvertToInt().ToString() } }); } rbOpenAction.SelectedValue = PushOpenAction.NoAction.ConvertToInt().ToString(); return(rbOpenAction); }
/// <summary> /// Creates the child controls. /// </summary> /// <param name="parentControl"></param> /// <returns></returns> public override System.Web.UI.Control[] CreateChildControls(System.Web.UI.Control parentControl) { RockRadioButtonList rblShowAsLinkType = new RockRadioButtonList(); rblShowAsLinkType.ID = parentControl.ID + "_rblShowAsLinkType"; rblShowAsLinkType.Items.Add(new ListItem("Show Name Only", ShowAsLinkType.NameOnly.ConvertToInt().ToString())); rblShowAsLinkType.Items.Add(new ListItem("Show as Person Link", ShowAsLinkType.PersonLink.ConvertToInt().ToString())); rblShowAsLinkType.Items.Add(new ListItem("Show as Group Member Link", ShowAsLinkType.GroupMemberLink.ConvertToInt().ToString())); parentControl.Controls.Add(rblShowAsLinkType); var groupTypePicker = new GroupTypePicker(); groupTypePicker.ID = parentControl.ID + "_groupTypePicker"; groupTypePicker.Label = "Group Type"; groupTypePicker.CssClass = "js-grouptype-picker"; groupTypePicker.GroupTypes = new GroupTypeService(new RockContext()).Queryable().OrderBy(a => a.Order).ThenBy(a => a.Name).ToList(); groupTypePicker.SelectedIndexChanged += groupTypePicker_SelectedIndexChanged; groupTypePicker.AutoPostBack = true; parentControl.Controls.Add(groupTypePicker); int?selectedGroupTypeId = parentControl.Page.Request.Params[groupTypePicker.UniqueID].AsIntegerOrNull(); groupTypePicker.SelectedGroupTypeId = selectedGroupTypeId; var cblRole = new RockCheckBoxList(); cblRole.Label = "with Group Role(s)"; cblRole.CssClass = "js-group-role"; cblRole.ID = parentControl.ID + "_cblRole"; parentControl.Controls.Add(cblRole); PopulateGroupRolesCheckList(groupTypePicker); RockDropDownList ddlGroupMemberStatus = new RockDropDownList(); ddlGroupMemberStatus.CssClass = "js-group-member-status"; ddlGroupMemberStatus.ID = parentControl.ID + "_ddlGroupMemberStatus"; ddlGroupMemberStatus.Label = "with Group Member Status"; ddlGroupMemberStatus.Help = "Select a specific group member status to only include group members with that status. Leaving this blank will return all members."; ddlGroupMemberStatus.BindToEnum <GroupMemberStatus>(true); ddlGroupMemberStatus.SetValue(GroupMemberStatus.Active.ConvertToInt()); parentControl.Controls.Add(ddlGroupMemberStatus); return(new System.Web.UI.Control[] { rblShowAsLinkType, groupTypePicker, cblRole, ddlGroupMemberStatus }); }
/// <summary> /// Creates the control(s) necessary for prompting user for a new value /// </summary> /// <param name="configurationValues">The configuration values.</param> /// <param name="id"></param> /// <returns> /// The control /// </returns> public override Control EditControl(Dictionary <string, ConfigurationValue> configurationValues, string id) { if (configurationValues != null) { ListControl editControl = null; string fieldType = configurationValues.ContainsKey(FIELDTYPE_KEY) ? configurationValues[FIELDTYPE_KEY].Value : "ddl"; if (fieldType == "rb") { editControl = new RockRadioButtonList { ID = id }; ((RadioButtonList)editControl).RepeatDirection = RepeatDirection.Horizontal; if (configurationValues.ContainsKey(REPEAT_COLUMNS)) { (( RadioButtonList )editControl).RepeatColumns = configurationValues[REPEAT_COLUMNS].Value.AsInteger(); } } else { editControl = new RockDropDownList { ID = id }; ((RockDropDownList)editControl).EnhanceForLongLists = fieldType == "ddl_enhanced"; ((RockDropDownList)editControl).DisplayEnhancedAsAbsolute = true; editControl.Items.Add(new ListItem()); } foreach (var keyVal in Helper.GetConfiguredValues(configurationValues)) { editControl.Items.Add(new ListItem(keyVal.Value, keyVal.Key)); } if (editControl.Items.Count > 0) { return(editControl); } } return(null); }
/// <summary> /// Creates the control(s) necessary for prompting user for a new value /// </summary> /// <param name="configurationValues">The configuration values.</param> /// <param name="id"></param> /// <returns> /// The control /// </returns> public override Control EditControl(Dictionary <string, ConfigurationValue> configurationValues, string id) { if (configurationValues != null) { var editControl = new RockRadioButtonList { ID = id }; editControl.RepeatDirection = RepeatDirection.Horizontal; foreach (var keyVal in EnumValues) { editControl.Items.Add(new ListItem(keyVal.Value, keyVal.Key.ToString())); } if (editControl.Items.Count > 0) { return(editControl); } } return(null); }
/// <summary> /// Handles the ItemDataBound event of the rQuestions control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="RepeaterItemEventArgs"/> instance containing the event data.</param> protected void rQuestions_ItemDataBound(object sender, RepeaterItemEventArgs e) { var assessmentResponseRow = e.Item.DataItem as AssessmentResponse; RockRadioButtonList rblQuestion = e.Item.FindControl("rblQuestion") as RockRadioButtonList; if (assessmentResponseRow.OptionType == MotivatorService.OptionType.Frequency) { rblQuestion.DataSource = MotivatorService.Frequency_Option; } else { rblQuestion.DataSource = MotivatorService.Agreement_Option; } rblQuestion.DataTextField = "Name"; if (assessmentResponseRow.Code.EndsWith("N")) { rblQuestion.DataValueField = "Negative"; } else { rblQuestion.DataValueField = "Positive"; } rblQuestion.DataBind(); rblQuestion.Label = assessmentResponseRow.Question; if (assessmentResponseRow != null && assessmentResponseRow.Response.HasValue) { rblQuestion.SetValue(assessmentResponseRow.Response); } else { rblQuestion.SetValue(string.Empty); } }
/// <summary> /// Gets the selection. /// </summary> /// <param name="controls">The controls.</param> /// <returns></returns> public override string GetSelection(System.Web.UI.Control[] controls) { RockRadioButtonList rblShowAsLinkType = controls[0] as RockRadioButtonList; var groupTypePicker = controls[1] as GroupTypePicker; var cblRoles = controls[2] as RockCheckBoxList; var ddlMemberStatus = controls[3] as RockDropDownList; int groupTypeId = groupTypePicker.SelectedValueAsId() ?? 0; Guid?groupTypeGuid = null; var groupType = GroupTypeCache.Get(groupTypeId); if (groupType != null) { groupTypeGuid = groupType.Guid; } var rolesGuidCommaList = cblRoles.SelectedValues.AsDelimited(","); var memberStatusValue = ddlMemberStatus.SelectedValue; return(rblShowAsLinkType.SelectedValue + "|" + groupTypeGuid.ToString() + "|" + rolesGuidCommaList + "|" + memberStatusValue); }
protected void rKids_ItemDataBound(object sender, RepeaterItemEventArgs e) { RepeaterItem Item = e.Item; if (Item.ItemType == ListItemType.Item || Item.ItemType == ListItemType.AlternatingItem) { var kid = e.Item.DataItem as KidData; RockTextBox firstName = Item.FindControl("rtpKidFirstName") as RockTextBox; RockTextBox lastName = Item.FindControl("rtpKidLastName") as RockTextBox; RockRadioButtonList gender = Item.FindControl("rblGender") as RockRadioButtonList; DatePicker birthdate = Item.FindControl("dpBirthdate") as DatePicker; GradePicker grade = Item.FindControl("gpGrade") as GradePicker; RockTextBox allergy = Item.FindControl("rtbAllergy") as RockTextBox; firstName.Text = kid.FirstName; lastName.Text = kid.LastName; gender.SelectedValue = kid.Gender.ConvertToInt().ToString(); birthdate.SelectedDate = kid.Birthdate; grade.SelectedGradeValue = kid.Grade; allergy.Text = kid.Allergy; } }
/// <summary> /// Sets the selection. /// </summary> /// <param name="controls">The controls.</param> /// <param name="selection">The selection.</param> public override void SetSelection(System.Web.UI.Control[] controls, string selection) { string[] selectionValues = selection.Split('|'); if (selectionValues.Length >= 1) { Guid interactionChannelGuid = selectionValues[0].AsGuid(); var rockContext = new RockContext(); var interactionChannel = new InteractionChannelService(rockContext).Get(interactionChannelGuid); var ddlInteractionChannel = (controls[0] as RockDropDownList); ddlInteractionChannel.SetValue(interactionChannel != null ? interactionChannel.Id : ( int? )null); ddlInteractionChannel_SelectedIndexChanged(ddlInteractionChannel, new EventArgs()); if (selectionValues.Length >= 2) { var interactionComponentGuid = selectionValues[1].AsGuidOrNull(); if (interactionComponentGuid.HasValue) { RockDropDownList ddlInteractionComponent = (controls[1] as RockDropDownList); var interactionComponent = new InteractionComponentService(rockContext).Get(interactionComponentGuid.Value); ddlInteractionComponent.SetValue(interactionComponent != null ? interactionComponent.Id : ( int? )null); } } RockTextBox tbOperation = controls[2] as RockTextBox; if (selectionValues.Length >= 3) { tbOperation.Text = selectionValues[2]; } RockRadioButtonList rblSelectionMode = controls[3] as RockRadioButtonList; if (selectionValues.Length >= 4) { rblSelectionMode.SetValue(selectionValues[3]); } } }
/// <summary> /// Gets the response to the rQuestions repeater control. /// </summary> private void GetResponse() { foreach (var item in rQuestions.Items.OfType <RepeaterItem>()) { HiddenField hfQuestionCode = item.FindControl("hfQuestionCode") as HiddenField; RockRadioButtonList rblMore1 = item.FindControl("rblMore1") as RockRadioButtonList; RockRadioButtonList rblMore2 = item.FindControl("rblMore2") as RockRadioButtonList; RockRadioButtonList rblMore3 = item.FindControl("rblMore3") as RockRadioButtonList; RockRadioButtonList rblMore4 = item.FindControl("rblMore4") as RockRadioButtonList; RockRadioButtonList rblLess1 = item.FindControl("rblLess1") as RockRadioButtonList; RockRadioButtonList rblLess2 = item.FindControl("rblLess2") as RockRadioButtonList; RockRadioButtonList rblLess3 = item.FindControl("rblLess3") as RockRadioButtonList; RockRadioButtonList rblLess4 = item.FindControl("rblLess4") as RockRadioButtonList; var assessment = AssessmentResponses.SingleOrDefault(a => a.QuestionNumber == hfQuestionCode.Value); if (assessment != null) { assessment.MostScore = GetSelectedValue(rblMore1, rblMore2, rblMore3, rblMore4); assessment.LeastScore = GetSelectedValue(rblLess1, rblLess2, rblLess3, rblLess4); } } }