Exemple #1
0
        /// <summary>
        /// Creates the child controls.
        /// </summary>
        /// <param name="parentControl"></param>
        /// <returns></returns>
        public override Control[] CreateChildControls( Control parentControl )
        {
            // Define Control: Family Relationships Checkbox List
            var cblFamilyRelationships = new RockCheckBoxList();
            cblFamilyRelationships.Label = "Include Family Relationship Types";
            cblFamilyRelationships.Help = "These relationship types apply to members of the same Family.";
            cblFamilyRelationships.ID = parentControl.GetChildControlInstanceName( _CtlFamilyRelationshipType );

            var items = cblFamilyRelationships.Items;

            items.Add( new ListItem( "Parent", FamilyRelationshipParentGuid ) );
            items.Add( new ListItem( "Child", FamilyRelationshipChildGuid ) );
            items.Add( new ListItem( "Sibling", FamilyRelationshipSiblingGuid ) );
            items.Add( new ListItem( "Spouse", FamilyRelationshipSpouseGuid ) );

            parentControl.Controls.Add( cblFamilyRelationships );

            // Define Control: Known Relationships Checkbox List
            var cblKnownRelationships = new RockCheckBoxList();
            cblKnownRelationships.Label = "Include Known Relationship Types";
            cblKnownRelationships.Help = "These relationship types apply to People from another Family.";
            cblKnownRelationships.ID = parentControl.GetChildControlInstanceName( _CtlKnownRelationshipType );
            PopulateRelationshipTypesSelector( cblKnownRelationships, SystemGuid.GroupType.GROUPTYPE_KNOWN_RELATIONSHIPS.AsGuid() );

            parentControl.Controls.Add( cblKnownRelationships );

            // Define Control: Output Format DropDown List
            var ddlFormat = new RockDropDownList();
            ddlFormat.ID = parentControl.GetChildControlInstanceName( _CtlFormat );
            ddlFormat.Label = "Output Format";
            ddlFormat.Help = "Specifies the content and format of the items in this field.";
            ddlFormat.Items.Add( new ListItem( "Person Name and Relationship", ListFormatSpecifier.NameAndRelationship.ToString() ) );
            ddlFormat.Items.Add( new ListItem( "Person Name", ListFormatSpecifier.NameOnly.ToString() ) );
            parentControl.Controls.Add( ddlFormat );

            return new Control[] { cblFamilyRelationships, cblKnownRelationships, ddlFormat };
        }
        /// <summary>
        /// Creates the child controls.
        /// </summary>
        /// <param name="parentControl"></param>
        /// <returns></returns>
        public override Control[] CreateChildControls( Control parentControl )
        {
            // Define Control: Output Format DropDown List
            var ddlFormat = new RockDropDownList();
            ddlFormat.ID = parentControl.GetChildControlInstanceName( _CtlFormat );
            ddlFormat.Label = "Output Format";
            ddlFormat.Help = "Specifies the content and format of the values in this field.";
            ddlFormat.Items.Add( new ListItem( "Group List: Name And Role", ListFormatSpecifier.GroupAndRole.ToString() ) );
            ddlFormat.Items.Add( new ListItem( "Group List: Group Name", ListFormatSpecifier.GroupOnly.ToString() ) );
            ddlFormat.Items.Add( new ListItem( "Yes/No: Yes if any participation", ListFormatSpecifier.YesNo.ToString() ) );

            parentControl.Controls.Add( ddlFormat );

            // Define Control: Group Data View Picker
            var ddlDataView = new DataViewPicker();
            ddlDataView.ID = parentControl.GetChildControlInstanceName( _CtlDataView );
            ddlDataView.Label = "Participates in Groups";
            ddlDataView.Help = "A Data View that filters the Groups included in the result. If no value is selected, any Groups that would be visible in a Group List will be included.";
            parentControl.Controls.Add( ddlDataView );

            // Define Control: Role Type DropDown List
            var ddlRoleType = new RockDropDownList();
            ddlRoleType.ID = parentControl.GetChildControlInstanceName( _CtlRoleType );
            ddlRoleType.Label = "with Group Role Type";
            ddlRoleType.Help = "Specifies the type of Group Role the Member must have to be included in the result. If no value is selected, Members in any Role will be included.";
            ddlRoleType.Items.Add( new ListItem( string.Empty, RoleTypeSpecifier.Any.ToString() ) );
            ddlRoleType.Items.Add( new ListItem( "Leader", RoleTypeSpecifier.Leader.ToString() ) );
            ddlRoleType.Items.Add( new ListItem( "Member", RoleTypeSpecifier.Member.ToString() ) );
            parentControl.Controls.Add( ddlRoleType );

            // Define Control: Group Member Status DropDown List
            var ddlGroupMemberStatus = new RockDropDownList();
            ddlGroupMemberStatus.CssClass = "js-group-member-status";
            ddlGroupMemberStatus.ID = parentControl.GetChildControlInstanceName( _CtlGroupStatus );
            ddlGroupMemberStatus.Label = "with Group Member Status";
            ddlGroupMemberStatus.Help = "Specifies the Status the Member must have to be included in the result. If no value is selected, Members of any Group Status will be shown.";
            ddlGroupMemberStatus.BindToEnum<GroupMemberStatus>( true );
            ddlGroupMemberStatus.SetValue( GroupMemberStatus.Active.ConvertToInt() );
            parentControl.Controls.Add( ddlGroupMemberStatus );

            // Populate the Data View Picker
            int entityTypeId = EntityTypeCache.Read( typeof( Model.Group ) ).Id;
            ddlDataView.EntityTypeId = entityTypeId;

            return new Control[] { ddlDataView, ddlRoleType, ddlFormat, ddlGroupMemberStatus };
        }