/// <summary> /// Creates the control(s) necessary for prompting user for a new value /// </summary> /// <param name="configurationValues">The configuration values.</param> /// <param name="id">The id.</param> /// <returns> /// The control /// </returns> public override Control EditControl(Dictionary <string, ConfigurationValue> configurationValues, string id) { ValueFilter ft = new ValueFilter { ID = id }; if (configurationValues != null) { if (configurationValues.ContainsKey(HIDE_FILTER_MODE) && configurationValues[HIDE_FILTER_MODE].Value.AsBoolean()) { ft.HideFilterMode = true; } if (configurationValues.ContainsKey(COMPARISON_TYPES)) { Model.ComparisonType comparisonType = (Model.ComparisonType)configurationValues[COMPARISON_TYPES].Value.AsInteger(); if (comparisonType == 0) { comparisonType = Reporting.ComparisonHelper.StringFilterComparisonTypes | Model.ComparisonType.RegularExpression; } ft.ComparisonTypes = comparisonType; } } return(ft); }
/// <summary> /// Gets the configuration value. /// </summary> /// <param name="controls">The controls.</param> /// <returns></returns> public override Dictionary <string, ConfigurationValue> ConfigurationValues(List <Control> controls) { Dictionary <string, ConfigurationValue> configurationValues = new Dictionary <string, ConfigurationValue> { { HIDE_FILTER_MODE, new ConfigurationValue("Hide Filter Mode", "When set, filter mode will be hidden.", "") }, { COMPARISON_TYPES, new ConfigurationValue("Comparison Types", "The comparison types the user can select from.", "") } }; if (controls != null) { if (controls.Count > 1) { if (controls[0] is CheckBox cbHideFilterMode) { configurationValues[HIDE_FILTER_MODE].Value = cbHideFilterMode.Checked.ToString(); } if (controls[1] is RockCheckBoxList cbComparisonTypes) { Model.ComparisonType comparisonType = 0; foreach (int value in cbComparisonTypes.SelectedValuesAsInt) { comparisonType |= (Model.ComparisonType)value; } configurationValues[COMPARISON_TYPES].Value = (( int )comparisonType).ToString(); } } } return(configurationValues); }
/// <summary> /// Sets the configuration value. /// </summary> /// <param name="controls"></param> /// <param name="configurationValues"></param> public override void SetConfigurationValues(List <Control> controls, Dictionary <string, ConfigurationValue> configurationValues) { if (controls != null && controls.Count > 1 && configurationValues != null) { if (configurationValues.ContainsKey(HIDE_FILTER_MODE)) { if (controls[0] is CheckBox cbHidefilterMode) { cbHidefilterMode.Checked = configurationValues[HIDE_FILTER_MODE].Value.AsBoolean(); } } if (configurationValues.ContainsKey(COMPARISON_TYPES)) { if (controls[1] is RockCheckBoxList cbComparisonTypes) { Model.ComparisonType comparisonType = (Model.ComparisonType)configurationValues[COMPARISON_TYPES].Value.AsInteger(); cbComparisonTypes.SetValues(comparisonType.GetFlags <Model.ComparisonType>().Cast <int>()); } } } }
/// <summary> /// Initializes a new instance of the <see cref="ComparisonFilterExpression"/> class. /// </summary> /// <param name="jobject">The JSON object that contains the data.</param> public ComparisonFilterExpression(Newtonsoft.Json.Linq.JObject jobject) : this() { Value = jobject.Value <string>("Value"); Comparison = (Model.ComparisonType)jobject.Value <int>("Comparison"); }
/// <summary> /// Initializes a new instance of the <see cref="ComparisonFilterExpression"/> class. /// </summary> public ComparisonFilterExpression() { Value = string.Empty; Comparison = Model.ComparisonType.Contains; }