UNPKG

react-application-core

Version:

A react-based application core for the business applications.

303 lines (302 loc) 7.51 kB
/// <reference types="react" /> import { ILogger } from 'ts-smart-logger'; import { BaseTextField } from '../text-field/base-text-field.component'; import { AnyT, EntityIdT } from '../../../definitions.interface'; import { ChangeEventT, IBaseEvent, IBaseSelectProps, IBaseSelectState, IMenuProps, IMultiItemEntity, IPresetsSelectOptionEntity, SelectValueT } from '../../../definition'; export declare class BaseSelect<TProps extends IBaseSelectProps = IBaseSelectProps, TState extends IBaseSelectState = IBaseSelectState> extends BaseTextField<TProps, TState> { static readonly defaultProps: IBaseSelectProps & Partial<import("../../../definition").IGenericComponentProps<any>>; protected static readonly logger: ILogger; private readonly menuRef; private readonly quickFilterQueryTask; /** * @stable [10.08.2020] * @param originalProps */ constructor(originalProps: TProps); /** * @stable [19.10.2020] * @param event */ onChange(event: ChangeEventT): Promise<void>; /** * @stable [10.08.2020] * @param prevProps * @param prevState */ componentDidUpdate(prevProps: Readonly<TProps>, prevState: Readonly<TState>): void; /** * @stable [10.08.2020] */ componentWillUnmount(): void; /** * @stable [30.01.2020] */ clearValue(): Promise<void>; /** * @stable [14.10.2020] * @param event * @protected */ onKeyEscape(event: IBaseEvent): void; /** * @stable [09.08.2020] */ openMenu(): void; /** * @stable [09.08.2020] * @param event */ onKeyEnter(event: IBaseEvent): void; deleteItem(item: IMultiItemEntity): void; /** * @stable [14.10.2020] * @param event * @protected */ protected onClick(event: IBaseEvent): void; /** * @stable [16.10.2020] * @protected */ protected get attachmentBodyElement(): JSX.Element; /** * @stable [22.12.2020] * @protected */ protected get inputAttachmentElement(): JSX.Element; /** * @stable [08.08.2020] * @protected */ protected getMenuProps(): IMenuProps; /** * @stable [08.08.2020] * @param filter * @protected */ protected getFilteredOptions(filter?: (option: IPresetsSelectOptionEntity) => boolean): IPresetsSelectOptionEntity[]; /** * @stable [14.10.2020] * @protected */ protected get isBusy(): boolean; /** * @stable [10.08.2020] * @protected */ protected getFieldClassName(): string; /** * @stable [28.01.2020] * @param {IPresetsSelectOptionEntity} option */ protected onSelect(option: IPresetsSelectOptionEntity): void; /** * @stable [10.08.2020] * @param option * @param isInlineOptionSelected * @protected */ protected onInlineOptionClick(option: IPresetsSelectOptionEntity, isInlineOptionSelected: boolean): void; /** * @stable [10.08.2020] * @param id * @param currentValue * @protected */ protected isInlineOptionSelected(id: EntityIdT, currentValue: SelectValueT): boolean; /** * @stable [05.09.2020] * @param option * @protected */ protected notifySelectOption(option: IPresetsSelectOptionEntity): void; /** * @stable [28.01.2020] * @param {SelectValueT} value * @returns {AnyT} */ protected getDecoratedDisplayValue(value: SelectValueT): AnyT; /** * @stable [10.08.2020] * @param value * @protected */ protected decorateDisplayValue(value: AnyT): AnyT; /** * @stable [10.08.2020] * @protected */ protected get options(): IPresetsSelectOptionEntity[]; /** * @stable [10.08.2020] * @protected */ protected get isExpandActionRendered(): boolean; /** * @stable [08.08.2020] * @protected */ protected get isAllowEmptyFilterValue(): boolean; /** * @stable [10.08.2020] * @param value * @protected */ protected fromSelectValueToId(value: SelectValueT): EntityIdT; /** * @stable [10.08.2020] * @protected */ protected getComponentsSettingsProps(): TProps; /** * @stable [14.08.2020] */ private doFilterChange; /** * @stable [09.08.2020] * @param event * @private */ private onDropDownClick; /** * @stable [10.08.2020] * @param noDelay * @private */ private onQueryTaskStart; /** * @stable [10.08.2020] * @private */ private onMenuFilterChange; /** * @stable [13.08.2020] * @param query */ private onFilterChange; /** * @stable [11.08.2020] * @private */ private onOptionsLoadDone; /** * @stable [10.08.2020] * @param option * @private */ private doSelectOption; /** * @stable [29.01.2020] * @param {TProps} props * @param {TProps} previousProps */ private tryResetCachedValue; /** * @stable [09.08.2020] * @private */ private cancelQueryFilterTask; /** * @stable [11.08.2020] * @param filteredOptions * @private */ private showMenu; /** * @stable [09.08.2020] * @private */ private hideMenu; /** * @stable [30.01.2020] * @param {() => void} callback */ private clearCachedValue; /** * @stable [30.01.2020] * @param {IPresetsSelectOptionEntity} value * @param {() => void} callback */ private saveCachedValue; /** * @stable [15.10.2020] * @param value * @private */ private fromSelectValueToDisplayValue; /** * @stable [15.10.2020] * @protected */ protected get originalEmptyValue(): AnyT; /** * @stable [15.10.2020] * @private */ private get isQuickSearchEnabled(); /** * @stable [15.10.2020] * @private */ private get delayTimeout(); /** * @stable [15.10.2020] * @private */ private get areLocalOptionsUsed(); /** * @stable [15.10.2020] * @private */ private get isMenuAnchored(); /** * @stable [15.10.2020] * @private */ private get menuAnchorElement(); /** * @stable [30.01.2020] * @returns {IPresetsSelectOptionEntity} */ private get $$cashedValue(); /** * @stable [15.10.2020] * @private */ private get dictionary(); /** * @stable [15.10.2020] * @private */ private get doOptionsExist(); /** * @stable [15.10.2020] * @private */ private get isMenuAlreadyOpened(); /** * @stable [15.10.2020] * @private */ private get isForceReload(); /** * @stable [15.10.2020] * @private */ private get isRemoteFilterUsed(); /** * @stable [15.10.2020] * @private */ private get isMenuRendered(); /** * @stable [15.10.2020] * @private */ private get menuWidth(); /** * @stable [15.10.2020] * @private */ private get menu(); }