react-application-core
Version:
A react-based application core for the business applications.
303 lines (302 loc) • 7.51 kB
TypeScript
/// <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();
}