Ejemplo n.º 1
0
        /// <summary>
        /// Replaces filter configuration for specified column
        /// </summary>
        /// <param name="column">Column usage</param>
        /// <param name="pluginId">Filter plugin ID</param>
        /// <param name="configuration">Filter configuration delegate</param>
        public static void UpdateFilterConfig <T, TTableColumn>(this IColumnTargetProperty <TTableColumn> column, string pluginId, Action <ColumnPluginConfigurationWrapper <T, TTableColumn> > configuration) where T : IProvidesColumnName, new()
        {
            var where = string.Concat("filter-", column.ColumnConfiguration.RawColumnName);

            PluginConfiguration config = column.TableConfigurator.TableConfiguration.GetPluginConfiguration(pluginId, where);

            if (config == null)
            {
                config = new PluginConfiguration(pluginId)
                {
                    Configuration = new T()
                    {
                        ColumnName = column.ColumnConfiguration.RawColumnName
                    },
                    Placement = where,
                };

                column.TableConfigurator.TableConfiguration.PluginsConfiguration.Add(config);
            }

            var wpapper = new ColumnPluginConfigurationWrapper <T, TTableColumn>(config, column.ColumnConfiguration.RawColumnName);

            if (configuration != null)
            {
                configuration(wpapper);
            }
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Allows to filter specified column by FormWatch fields value
 /// </summary>
 /// <param name="column">Column to filter</param>
 /// <param name="c">FormWatch builder</param>
 /// <returns></returns>
 public static FormWatchAutofilterConfiguration <TCol, TForm> ByForm <TCol, TForm>(this IColumnTargetProperty <TCol> column, FormWatchBuilder <TForm> c)
 {
     return(new FormWatchAutofilterConfiguration <TCol, TForm>(c.ClientConfig, column.ColumnConfiguration.RawColumnName));
 }