UNPKG

@docsvision/webclient

Version:

Type definitions for DocsVision WebClient scripts and extensions.

95 lines (94 loc) 4.75 kB
import { GenModels } from "@docsvision/webclient/Generated/DocsVision.WebClient.Models"; import { ComboBoxTitle } from "@docsvision/webclient/Helpers/ComboBox/ComboBoxTitle"; import { IEditPopoverProps } from "@docsvision/webclient/Helpers/PopoverHelpers/EditPopover/IEditPopoverProps"; import { Dropdown, DropdownParams } from "@docsvision/webclient/Platform/Dropdown"; import { InputBasedControlImpl, InputBasedControlState } from "@docsvision/webclient/System/InputBasedControlImpl"; import { IBindingResult } from "@docsvision/webclient/System/IBindingResult"; import { CancelableEventArgs } from "@docsvision/webclient/System/CancelableEventArgs"; import { IEventArgs } from "@docsvision/webclient/System/IEventArgs"; import { IValidationResult } from "@docsvision/webclient/System/IValidationResult"; import React from "react"; /** @internal */ export interface IDropdownState extends DropdownParams, InputBasedControlState<string> { binding: IBindingResult<string>; onMouseDownEvent: boolean; passedValidation?: boolean; isTooltipDisabled?: boolean; } export interface DropdownState extends IDropdownState { } /** @internal */ export declare type DropdownImplState = IDropdownState; /** @internal */ export declare class DropdownImpl extends InputBasedControlImpl<string, DropdownParams, IDropdownState> { /** * Корневой узел дропдауна */ protected el: HTMLElement; /** * Сфокусированный элемент */ protected focusedElement: GenModels.BindingMetadata; /** * Заголовок комбобокса */ protected comboboxTitle: ComboBoxTitle; /** * Предыдущий сфокусированный элемент (глобально) */ protected prevActiveElement: HTMLElement; protected prevActiveElementEvent: (event: FocusEvent) => void; static readonly EMPTY_ELEMENT: GenModels.BindingMetadata; /** * Родительский модальный элемент (ModalDialog), если такой существует */ private parentModal; constructor(props: DropdownParams, state: IDropdownState); UNSAFE_componentWillMount(): void; componentDidMount(): void; componentWillUnmount(): void; protected handleDocumentClick: (event?: Event) => void; protected handleDocumentFocus: (event: FocusEvent) => void; setValue(value: string, redraw: boolean): void; protected getTextValue(): string; getTextValueFor(key: string): string; protected onDropdownContainerClick(e?: MouseEvent): void; protected onElementClick(element: GenModels.BindingMetadata): void; protected onClearValueClick(e: React.MouseEvent): void; protected onPlaceholderClick(event: any): void; protected toggleCollapsed: () => CancelableEventArgs<IEventArgs>; protected expandDropdown: () => CancelableEventArgs<IEventArgs>; protected collapseDropdown: () => CancelableEventArgs<IEventArgs>; protected onCloseDropdownTriggered: () => void; protected isNotSameDropdown: (target: HTMLElement) => boolean; protected getCssClass(): string; protected onInputFocus(event: React.FocusEvent): void; protected onMouseDown(event?: React.MouseEvent): void; protected onInputBlur(event: React.FocusEvent): void; protected onValueClick(): void; validate(params: unknown): IValidationResult; /** * При фокусе элемента списка * @param event Событие фокуса * @param element Текущий элемент */ protected onFocusElement: (event: React.FocusEvent, element: GenModels.BindingMetadata) => void; /** * При снятии фокуса у элемента списка * @param event Событие снятия фокуса * @param element Текущий элемент */ protected onBlurElement: (event: React.FocusEvent, element: GenModels.BindingMetadata) => void; /** * При фокусе соседнего элемента в списке * @param element Текущий элемент * @param mode Какой из соседних элементов должен получить фокус (предыдущий или следующий) */ protected onFocusSiblingElement: (element: GenModels.BindingMetadata, mode: 'prev' | 'next') => void; protected showEditPopover(popoverOptions?: IEditPopoverProps): Promise<Dropdown>; protected renderWithText(): JSX.Element; protected renderInto(props: DropdownParams, container: HTMLElement): void; protected renderInput(): React.ReactNode; protected renderPlaceholder(): any; protected renderPlaceholderEditInPlace(): any; }