/// <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 }; }