/// <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; if (configurationValues != null && configurationValues.ContainsKey(ALLOW_MULTIPLE_KEY) && configurationValues[ALLOW_MULTIPLE_KEY].Value.AsBoolean()) { editControl = new Rock.Web.UI.Controls.RockCheckBoxList { ID = id }; editControl.AddCssClass("checkboxlist-group"); } else { editControl = new Rock.Web.UI.Controls.RockDropDownList { ID = id }; editControl.Items.Add(new ListItem()); } if (configurationValues != null && configurationValues.ContainsKey(DEFINED_TYPE_KEY)) { int definedTypeId = 0; if (Int32.TryParse(configurationValues[DEFINED_TYPE_KEY].Value, out definedTypeId)) { Rock.Model.DefinedValueService definedValueService = new Model.DefinedValueService(); foreach (var definedValue in definedValueService.GetByDefinedTypeId(definedTypeId)) { editControl.Items.Add(new ListItem(definedValue.Name, definedValue.Id.ToString())); } } } return(editControl); }
/// <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) { ListControl editControl; if (configurationValues != null && configurationValues.ContainsKey(ALLOW_MULTIPLE_KEY) && configurationValues[ALLOW_MULTIPLE_KEY].Value.AsBoolean()) { editControl = new Rock.Web.UI.Controls.RockCheckBoxList { ID = id, RepeatDirection = RepeatDirection.Horizontal }; editControl.AddCssClass("checkboxlist-group"); } else { editControl = new Rock.Web.UI.Controls.RockDropDownList { ID = id }; editControl.Items.Add(new ListItem()); } if (configurationValues != null && configurationValues.ContainsKey(DEFINED_TYPE_KEY)) { int?definedTypeId = configurationValues[DEFINED_TYPE_KEY].Value.AsIntegerOrNull(); if (definedTypeId.HasValue) { Rock.Model.DefinedValueService definedValueService = new Model.DefinedValueService(new RockContext()); var definedValues = definedValueService.GetByDefinedTypeId(definedTypeId.Value); if (definedValues.Any()) { bool useDescription = configurationValues.ContainsKey(DISPLAY_DESCRIPTION) && configurationValues[DISPLAY_DESCRIPTION].Value.AsBoolean(); foreach (var definedValue in definedValues) { editControl.Items.Add(new ListItem(useDescription ? definedValue.Description : definedValue.Value, definedValue.Id.ToString())); } } return(editControl); } } return(null); }
/// <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; if ( configurationValues != null && configurationValues.ContainsKey( ALLOW_MULTIPLE_KEY ) && configurationValues[ ALLOW_MULTIPLE_KEY ].Value.AsBoolean() ) { editControl = new Rock.Web.UI.Controls.RockCheckBoxList { ID = id }; editControl.AddCssClass( "checkboxlist-group" ); } else { editControl = new Rock.Web.UI.Controls.RockDropDownList { ID = id }; editControl.Items.Add( new ListItem() ); } if ( configurationValues != null && configurationValues.ContainsKey( DEFINED_TYPE_KEY ) ) { int definedTypeId = 0; if ( Int32.TryParse( configurationValues[DEFINED_TYPE_KEY].Value, out definedTypeId ) ) { Rock.Model.DefinedValueService definedValueService = new Model.DefinedValueService(); foreach ( var definedValue in definedValueService.GetByDefinedTypeId( definedTypeId ) ) { editControl.Items.Add( new ListItem( definedValue.Name, definedValue.Id.ToString() ) ); } } } return editControl; }
/// <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 ) { ListControl editControl; if ( configurationValues != null && configurationValues.ContainsKey( ALLOW_MULTIPLE_KEY ) && configurationValues[ALLOW_MULTIPLE_KEY].Value.AsBoolean() ) { editControl = new RockCheckBoxList { ID = id }; editControl.AddCssClass( "checkboxlist-group" ); } else { editControl = new RockDropDownList { ID = id }; editControl.Items.Add( new ListItem() ); } if ( configurationValues != null && configurationValues.ContainsKey( ENTITY_TYPE_KEY ) ) { Guid? entityTypeGuid = configurationValues[ENTITY_TYPE_KEY].Value.AsGuidOrNull(); if ( entityTypeGuid.HasValue ) { var entityType = EntityTypeCache.Read( entityTypeGuid.Value ); if ( entityType != null ) { Rock.Model.AttributeService attributeService = new Model.AttributeService( new RockContext() ); var attributes = attributeService.GetByEntityTypeId( entityType.Id ); if ( attributes.Any() ) { foreach ( var attribute in attributes.OrderBy( a => a.Name ) ) { editControl.Items.Add( new ListItem( attribute.Name, attribute.Id.ToString() ) ); } } return editControl; } } } return null; }
/// <summary> /// Gets the filter value control. /// </summary> /// <param name="configurationValues">The configuration values.</param> /// <param name="id">The identifier.</param> /// <param name="required">if set to <c>true</c> [required].</param> /// <param name="filterMode">The filter mode.</param> /// <returns></returns> public override Control FilterValueControl( Dictionary<string, ConfigurationValue> configurationValues, string id, bool required, FilterMode filterMode ) { if ( configurationValues != null && configurationValues.ContainsKey( "values" ) ) { var cbList = new RockCheckBoxList(); cbList.ID = string.Format( "{0}_cbList", id ); cbList.AddCssClass( "js-filter-control" ); cbList.RepeatDirection = RepeatDirection.Horizontal; foreach ( var keyVal in Helper.GetConfiguredValues( configurationValues ) ) { cbList.Items.Add( new ListItem( keyVal.Value, keyVal.Key ) ); } if ( cbList.Items.Count > 0 ) { return cbList; } } return null; }
/// <summary> /// Gets the filter value control. /// </summary> /// <param name="configurationValues">The configuration values.</param> /// <param name="id">The identifier.</param> /// <param name="required">if set to <c>true</c> [required].</param> /// <param name="filterMode">The filter mode.</param> /// <returns></returns> public override Control FilterValueControl( Dictionary<string, ConfigurationValue> configurationValues, string id, bool required, FilterMode filterMode ) { var cbList = new RockCheckBoxList(); cbList.ID = string.Format( "{0}_cbList", id ); cbList.AddCssClass( "js-filter-control" ); cbList.RepeatDirection = RepeatDirection.Horizontal; var campusList = CampusCache.All(); if ( campusList.Any() ) { foreach ( var campus in campusList ) { ListItem listItem = new ListItem( campus.Name, campus.Guid.ToString() ); cbList.Items.Add( listItem ); } return cbList; } 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 ) { ListControl editControl; if ( configurationValues != null && configurationValues.ContainsKey( ALLOW_MULTIPLE_KEY ) && configurationValues[ALLOW_MULTIPLE_KEY].Value.AsBoolean() ) { editControl = new Rock.Web.UI.Controls.RockCheckBoxList { ID = id, RepeatDirection = RepeatDirection.Horizontal }; editControl.AddCssClass( "checkboxlist-group" ); } else { editControl = new Rock.Web.UI.Controls.RockDropDownList { ID = id }; editControl.Items.Add( new ListItem() ); } if ( configurationValues != null && configurationValues.ContainsKey( DEFINED_TYPE_KEY ) ) { int? definedTypeId = configurationValues[DEFINED_TYPE_KEY].Value.AsIntegerOrNull(); if ( definedTypeId.HasValue ) { Rock.Model.DefinedValueService definedValueService = new Model.DefinedValueService( new RockContext() ); var definedValues = definedValueService.GetByDefinedTypeId( definedTypeId.Value ); if ( definedValues.Any() ) { bool useDescription = configurationValues.ContainsKey( DISPLAY_DESCRIPTION ) && configurationValues[DISPLAY_DESCRIPTION].Value.AsBoolean(); foreach ( var definedValue in definedValues ) { editControl.Items.Add( new ListItem( useDescription ? definedValue.Description : definedValue.Value, definedValue.Id.ToString() ) ); } } return editControl; } } return null; }