@adaptabletools/adaptable
Version:
Powerful data-agnostic HTML5 AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements
131 lines (130 loc) • 4.6 kB
TypeScript
import { AdaptableColumn, ColumnFilter, ColumnFilterPredicate } from '../types';
import { AdaptablePredicateDef, ColumnFilterDef } from '../AdaptableState/Common/AdaptablePredicate';
/**
* Provides run-time access to Filter section of Adaptable State.
*/
export interface ColumnFilterApi {
/**
* Gets all Filter Predicates available for a given Column
* @param column Column to lookup
*/
getFilterPredicateDefsForColumn(column: AdaptableColumn): AdaptablePredicateDef[];
/**
* Gets all Filter Predicates available for a given ColumnId
* @param columnId Id of Column to lookup
*/
getFilterPredicateDefsForColumnId(columnId: string): AdaptablePredicateDef[] | undefined;
/**
* Makes Quick Filter Bar appear
*/
showQuickFilterBar(): void;
/**
* Hides Quick Filter bar
*/
hideQuickFilterBar(): void;
/**
* Whether Quick Filter is available for use
*/
isQuickFilterAvailable(): boolean;
/**
* Whether Quick Filter Form is currently visible
*/
isQuickFilterVisible(): boolean;
/**
* Retrieves all Column Filters in currently applied Layout
* @returns column filters
*/
getColumnFilters(): ColumnFilter[];
/**
* Retrieves all active/no-suspended Column Filters in currently applied Layout
* @returns column filters
*/
getActiveColumnFilters(): ColumnFilter[];
/**
* Retrieves the Column Filter for the specified Column.
* @param columnId Column ID to lookup
*/
getColumnFilterForColumn(columnId: string): ColumnFilter | undefined;
/**
* Retrieves all Column Filters in a given Layout
* @param layoutName Layout to retrieve Column Filters for
*/
getColumnFiltersForLayout(layoutName: string): ColumnFilter[];
/**
* Sets Column Filters in current Layout; replaces filters for existing column, leaving other column filters in place
* @param columnFilters Column Filters to set
* @returns column filters
*/
setColumnFilters(columnFilters: ColumnFilter[]): ColumnFilter[] | null;
/**
* Clears given Column Filter in the current Layout
* @param columnFilter Column Filter to clear
*/
clearColumnFilter(columnFilter: ColumnFilter): void;
/**
* Clears Column Filter for given Column
* @param columnId Column for which Column Filter should be cleared
*/
clearColumnFilterForColumn(columnId: string): void;
/**
* Clears Column Filters for given set of Columns
* @param columns Columns for which Column Filter should be cleared
*/
clearColumnFiltersForColumns(columns: string[]): void;
/**
* Clears all Column Filters in the Current Layout
*/
clearColumnFilters(): void;
/**
* Clears existing Column Filters and sets new ones
* @param columnFilters Column Filters to set
*/
clearAndSetColumnFilters(columnFilters: ColumnFilter[]): void;
/**
* Checks if a Column Filter is active (i.e. Predicate has no inputs or has inputs with values)
*/
isColumnFilterActive(columnFilter: ColumnFilter): boolean;
/**
* Checks if the given Coumn has an active Column Filter
* @param columnId Column ID to check
*/
isColumnFilterActiveForColumn(columnId: string): boolean;
/**
* Retrieves the Column Filter definitions for all available Column Filters
*/
getColumnFilterDefs(): ColumnFilterDef[];
/**
* Suspends a Column Filter
* @param columnFilter Column Filter to Suspend
*/
suspendColumnFilter(columnFilter: ColumnFilter): void;
/**
* Unsuspend a Column Filter
* @param columnFilter Column Filter to UnSuspend
*/
unSuspendColumnFilter(columnFilter: ColumnFilter): void;
/**
* Suspends all Column Filters
*/
suspendAllColumnFilters(): void;
/**
* Unsuspend all Column Filters
*/
unSuspendAllColumnFilters(): void;
/**
* Retrieves description of given Column Filter
* @param columnFilter Column Filter to use
*/
columnFilterToString(columnFilter: ColumnFilter): string;
/**
* Retrieves descriptions of given Column Filters
* @param columnFilters Column Filters to use
*/
columnFiltersToString(columnFilters: ColumnFilter[]): string;
/**
* Sets the Column Filter for a given Column
* @param columnId - Column ID to set Column Filter for
* @param predicate - Column Filter to set
*/
setColumnFilterForColumn(columnId: string, predicate: ColumnFilterPredicate): void;
}