Example #1
0
        /// <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);
            }
        }
Example #2
0
        /// <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));
        }
Example #3
0
        /// <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);
        }
Example #5
0
        /// <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);
        }
Example #6
0
        /// <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 });
        }
Example #7
0
        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);
            }
        }
Example #8
0
        /// <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
            });
        }
Example #9
0
        /// <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 = "&nbsp;";

                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 = "&nbsp;";

                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
            });
        }
Example #11
0
        /// <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 });
        }
Example #14
0
        /// <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);
        }
Example #17
0
 /// <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);
         }
     }
 }
Example #18
0
        /// <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);
            }
        }
Example #19
0
        /// <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
            });
        }
Example #20
0
        /// <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]);
            }
        }
Example #21
0
        /// <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);
        }
Example #22
0
        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);
        }
Example #23
0
        /// <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 });
        }
Example #24
0
        /// <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);
        }
Example #25
0
        /// <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);
        }
Example #26
0
        /// <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);
            }
        }
Example #27
0
        /// <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);
        }
Example #28
0
        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]);
                }
            }
        }
Example #30
0
        /// <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);
                }
            }
        }