UNPKG

ag-grid-community

Version:

Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue

72 lines (71 loc) 3.64 kB
import { IFloatingFilterParams } from '../floatingFilter'; import { SimpleFloatingFilter } from './simpleFloatingFilter'; import { FilterChangedEvent } from '../../../events'; import { ITextInputField } from '../../../widgets/agInputTextField'; import { TextFilter, TextFilterModel } from '../../provided/text/textFilter'; import { NumberFilter, NumberFilterModel } from '../../provided/number/numberFilter'; import { BeanStub } from '../../../context/beanStub'; export interface FloatingFilterInputService { setupGui(parentElement: HTMLElement): void; setEditable(editable: boolean): void; getValue(): string | null | undefined; setValue(value: string | null | undefined, silent?: boolean): void; setValueChangedListener(listener: (e: KeyboardEvent) => void): void; setParams(params: { ariaLabel: string; autoComplete?: boolean | string; }): void; } export declare class FloatingFilterTextInputService extends BeanStub implements FloatingFilterInputService { private params?; private eFloatingFilterTextInput; private valueChangedListener; constructor(params?: { config?: ITextInputField | undefined; } | undefined); setupGui(parentElement: HTMLElement): void; setEditable(editable: boolean): void; setAutoComplete(autoComplete: boolean | string): void; getValue(): string | null | undefined; setValue(value: string | null | undefined, silent?: boolean): void; setValueChangedListener(listener: (e: KeyboardEvent) => void): void; setParams(params: { ariaLabel: string; autoComplete?: boolean | string; }): void; private setAriaLabel; } export interface ITextInputFloatingFilterParams extends IFloatingFilterParams<TextFilter | NumberFilter> { /** * Overrides the browser's autocomplete/autofill behaviour by updating the autocomplete attribute on the input field used in the floating filter input. * Possible values are: * - `true` to allow the **default** browser autocomplete/autofill behaviour. * - `false` to disable the browser autocomplete/autofill behavior by setting the `autocomplete` attribute to `off`. * - A **string** to be used as the [autocomplete](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) attribute value. * Some browsers do not respect setting the HTML attribute `autocomplete="off"` and display the auto-fill prompts anyway. * @default false */ browserAutoComplete?: boolean | string; } declare type ModelUnion = TextFilterModel | NumberFilterModel; export declare abstract class TextInputFloatingFilter<M extends ModelUnion> extends SimpleFloatingFilter { private readonly columnModel; private readonly eFloatingFilterInputContainer; private floatingFilterInputService; protected params: ITextInputFloatingFilterParams; private applyActive; protected abstract createFloatingFilterInputService(params: ITextInputFloatingFilterParams): FloatingFilterInputService; private postConstruct; protected getDefaultDebounceMs(): number; onParentModelChanged(model: M, event: FilterChangedEvent): void; init(params: ITextInputFloatingFilterParams): void; private setupFloatingFilterInputService; private setTextInputParams; onParamsUpdated(params: ITextInputFloatingFilterParams): void; refresh(params: ITextInputFloatingFilterParams): void; protected recreateFloatingFilterInputService(params: ITextInputFloatingFilterParams): void; private getAriaLabel; private syncUpWithParentFilter; protected setEditable(editable: boolean): void; } export {};