Пример #1
0
 /// <summary>
 /// Attaches UI for Range filter to specified column.
 /// UI frontend for this filter (by default) is 2 text inputs specifying min and max value.
 /// </summary>
 /// <param name="column">Column</param>
 /// <param name="ui">Filter UI builder</param>
 /// <returns>Fluent</returns>
 public static void FilterRangeUi <TSourceData, TTableData, TTableColumn>(
     this ColumnUsage <TSourceData, TTableData, TTableColumn> column,
     Action <ColumnPluginConfigurationWrapper <RangeFilterUiConfig, TTableColumn> > ui = null
     ) where TTableData : new()
 {
     column.UpdateFilterConfig(PluginId, ui);
 }
Пример #2
0
 /// <summary>
 /// Attaches simple value filter to column.
 /// Value column filter supports specifying only one value.
 /// This filter filters out source query leaving records that are having value denoted by column that is equal to specified value in filter.
 /// </summary>
 /// <param name="column">Column</param>
 /// <param name="ui">Filter UI builder</param>
 /// <returns></returns>
 public static void FilterValueUi <TSourceData, TTableData, TTableColumn>(
     this ColumnUsage <TSourceData, TTableData, TTableColumn> column,
     Action <ColumnPluginConfigurationWrapper <ValueFilterUiConfig, TTableColumn> > ui = null
     ) where TTableData : new()
 {
     column.UpdateFilterConfig <ValueFilterUiConfig, TTableColumn>(PluginId, a =>
     {
         a.Placeholder(column.ColumnConfiguration.Title);
         if (ui != null)
         {
             ui(a);
         }
     });
 }
Пример #3
0
 /// <summary>
 /// Attaches Multi-Select filter to column
 /// </summary>
 /// <param name="column">Column configuration</param>
 /// <param name="ui">Filter UI builder</param>
 /// <returns></returns>
 public static void FilterMultiSelectUi <TSourceData, TTableData, TTableColumn>(
     this ColumnUsage <TSourceData, TTableData, TTableColumn> column,
     Action <ColumnPluginConfigurationWrapper <SelectFilterUiConfig, TTableColumn> > ui = null
     ) where TTableData : new()
 {
     column.UpdateFilterConfig <SelectFilterUiConfig, TTableColumn>(SelectFilterExtensions.PluginId, c =>
     {
         if (ui != null)
         {
             ui(c);
         }
         c.Configuration.AllowSelectNothing = false;
         c.Configuration.IsMultiple         = true;
     });
 }