import { BindingEventService } from '@slickgrid-universal/binding'; import { type SlickGrid } from '../core/index.js'; import { type OperatorType, type SearchTerm } from '../enums/index.js'; import type { Column, ColumnFilter, Filter, FilterArguments, FilterCallback, GridOption, OperatorDetail } from '../interfaces/index.js'; import { type TranslaterService } from '../services/index.js'; export declare class InputFilter implements Filter { protected readonly translaterService?: TranslaterService | undefined; protected _bindEventService: BindingEventService; protected _currentValue?: number | string; protected _debounceTypingDelay: number; protected _shouldTriggerQuery: boolean; protected _inputType: string; protected _timer?: any; protected _cellContainerElm: HTMLElement; protected _filterContainerElm: HTMLElement; protected _filterInputElm: HTMLInputElement; protected _lastSearchValue?: number | string; protected _selectOperatorElm?: HTMLSelectElement; inputFilterType: 'single' | 'compound'; grid: SlickGrid; searchTerms: SearchTerm[]; columnDef: Column; callback: FilterCallback; constructor(translaterService?: TranslaterService | undefined); /** Getter for the Column Filter */ get columnFilter(): ColumnFilter; /** Getter to know what would be the default operator when none is specified */ get defaultOperator(): OperatorType; /** Getter of input type (text, number, password) */ get inputType(): string; /** Setter of input type (text, number, password) */ set inputType(type: string); /** Getter for the Filter Operator */ get operator(): OperatorType; /** Setter for the Filter Operator */ set operator(operator: OperatorType); /** Getter for the Grid Options pulled through the Grid Object */ protected get gridOptions(): GridOption; get isCompoundFilter(): boolean; /** * Initialize the Filter */ init(args: FilterArguments): void; /** * Clear the filter value */ clear(shouldTriggerQuery?: boolean): void; /** * destroy the filter */ destroy(): void; getValues(): string; /** Set value(s) on the DOM element */ setValues(values: SearchTerm | SearchTerm[], operator?: OperatorType, triggerChange?: boolean): void; /** * When loading the search string from the outside into the input text field, we should also add the prefix/suffix of the operator. * We do this so that if it was loaded by a Grid Presets then we should also add the operator into the search string * Let's take these 3 examples: * 1. (operator: '>=', searchTerms:[55]) should display as ">=55" * 2. (operator: 'StartsWith', searchTerms:['John']) should display as "John*" * 3. (operator: 'EndsWith', searchTerms:['John']) should display as "*John" * @param operator - operator string */ protected addOptionalOperatorIntoSearchString(inputValue: SearchTerm, operator: OperatorType): string; /** Get the available operator option values to populate the operator select dropdown list */ protected getCompoundOperatorOptionValues(): OperatorDetail[]; /** * From the html template string, create a DOM element * @param {Object} searchTerm - filter search term * @returns {Object} DOM element filter */ protected createDomFilterElement(searchTerm?: SearchTerm): void; protected trimValueWhenEnabled(val: string): string; /** * Event handler to cover the following (keyup, change, mousewheel & spinner) * We will trigger the Filter Service callback from this handler */ protected onTriggerEvent(event?: MouseEvent | KeyboardEvent, isClearFilterEvent?: boolean): void; /** add/remove "filled" CSS class */ protected updateFilterStyle(isFilled: boolean): void; } //# sourceMappingURL=inputFilter.d.ts.map