import {Ext} from "../../tr-grid-util/es6/Ext.js"; import {GridPlugin} from "../../tr-grid-util/es6/GridPlugin.js"; import {FilterBuilder, stringToDateObject} from "../../tr-grid-util/es6/FilterBuilder.js"; import {FilterOperators} from "../../tr-grid-util/es6/FilterOperators.js"; import {ElfUtil} from "../../tr-grid-util/es6/ElfUtil.js"; import { injectCss, prettifyCss, cloneObject } from "../../tr-grid-util/es6/Util.js"; declare namespace RowFilteringPlugin { type FilterLogic = (rowData: { [key: string]: any }, rid: string, ctx: any) => boolean; type Expression = any; type FilterExpression = { field: string, expression: RowFilteringPlugin.Expression|null, context: any }; type ColumnOptions = { filter?: RowFilteringPlugin.Expression|null, filterState?: any, filterIcon?: boolean|null, filterDialogOptions?: RowFilteringPlugin.FilterDialogOptions|null }; type FilterDialogOptions = { sortUI?: boolean|null, filterUI?: boolean|null, advancedFilter?: boolean|null, fieldDataType?: string|null, lang?: string|null, rawDataAccessor?: ((...params: any[]) => any)|null, formattedDataAccessor?: ((...params: any[]) => any)|null, sortLogic?: ((...params: any[]) => any)|null, groupCriteria?: ((...params: any[]) => any)|null, groupSortLogic?: ((...params: any[]) => any)|null, itemList?: any[]|null, additionalItems?: any[]|null, compactMode?: boolean|null, blankValues?: (boolean|string)|null, dateTimeFormat?: string|null, showOnlyFilteredItems?: boolean|null }; type FilterEntry = { type?: string|null, label: string, checked: boolean }; type Options = { emptySegmentFiltering?: boolean|null, separatorFiltering?: boolean|null, disabledUI?: boolean|null, iconActivation?: string|null, dialogOptions?: RowFilteringPlugin.FilterDialogOptions|null, click?: ((...params: any[]) => any)|null, clicked?: ((...params: any[]) => any)|null, iconCreated?: ((...params: any[]) => any)|null, filterChanged?: ((...params: any[]) => any)|null, beforeDialogOpened?: ((...params: any[]) => any)|null, dialogCommitted?: ((...params: any[]) => any)|null, refreshed?: ((...params: any[]) => any)|null, activeIconState?: boolean|null }; } declare class RowFilteringPlugin extends GridPlugin { constructor(); public getName(): string; public initialize(host: any, options?: any): void; public unload(host: any): void; public config(options?: any): void; public getConfigObject(gridOptions?: any): any; public disable(opt_disabled?: boolean|null, opt_id?: string|null): void; public addFilter(exp: RowFilteringPlugin.Expression|null, funcName?: string|null, ctx?: any): string; public addGridFilter(exp: RowFilteringPlugin.Expression|null, ctx?: any): string; public addColumnFilter(colIndex: number, exp: RowFilteringPlugin.Expression|null, ctx?: (any|string)|null): boolean; public setColumnFilter(colIndex: number, exp: RowFilteringPlugin.Expression|null, ctx?: (any|string)|null): boolean; public getColumnFilterExpression(colIndex: number): RowFilteringPlugin.Expression|null; public removeFilter(funcRef: ((...params: any[]) => any)|string|null): boolean; public removeColumnFilters(colIndex: number): boolean; public removeColumnFilter(colIndex: number): boolean; public removeAllColumnFilters(): boolean; public removeAllFilters(): void; public setOverridingFilter(func: ((...params: any[]) => any)|null): void; public setPreTransform(func: ((...params: any[]) => any)|null): void; public setRowTransform(func: ((...params: any[]) => any)|null): void; public getFilters(): (((...params: any[]) => any))[]; public getAllColumnFilters(): (((...params: any[]) => any))[]; public getFilterExpressions(): (RowFilteringPlugin.FilterExpression)[]|null; public setFilterExpressions(filterExps: (RowFilteringPlugin.FilterExpression)[]|null): void; public hasColumnFilter(): boolean; public getColumnFilterIcons(colIndex: number): (Element)[]|null; public setColumnFilterIconState(colIndex: number, active: boolean): void; public getColumnFilterIconState(colIndex: number): boolean; public updateAllColumnIcons(): void; public addDataView(dv: any): void; public removeDataView(dv: any): void; public refresh(): void; public setColumnFilterState(colIndex: number, ctx: any): boolean; public getColumnFilterState(colIndex: number): any; public getColumnFilterStates(): any[]; public openDialog(colIndex: number, runtimeDialogOptions?: RowFilteringPlugin.FilterDialogOptions|null): void; public enableEmptySegmentFiltering(enabled?: boolean|null): void; public enableSeparatorFiltering(enabled?: boolean|null): void; public showColumnFilterIcon(colIndex: number, shown?: boolean|null): void; public hideColumnFilterIcon(colIndex: number, hidden?: boolean|null): void; } declare function colSettings(colIndex: number, exp: RowFilteringPlugin.Expression|null, ctx?: (any|string)|null): boolean; declare function crf(enabled?: boolean|null): void; export default RowFilteringPlugin; export { RowFilteringPlugin, RowFilteringPlugin as RowFiltering, RowFilteringPlugin as RowFilteringExtension };