@docsvision/webclient
Version:
Type definitions for DocsVision WebClient scripts and extensions.
108 lines (107 loc) • 5.33 kB
TypeScript
import { IEditPopoverProps } from "@docsvision/webclient/Helpers/PopoverHelpers/EditPopover/IEditPopoverProps";
import { IEditPopoverState } from "@docsvision/webclient/Helpers/PopoverHelpers/EditPopover/IEditPopoverState";
import { IBasicEvent } from "@docsvision/webclient/System/IBasicEvent";
import { ICancelableEvent } from "@docsvision/webclient/System/ICancelableEvent";
import { IEventArgs } from "@docsvision/webclient/System/IEventArgs";
import React from "react";
/**
* Использует {@link Popover} для отображения вслывающего окна контролов, в режиме edit-in-place.
*
* Для создания всплывающего окна следует исполдьзовать статический метод {@link EditPopover.CreatePopover}
*/
export declare class EditPopover extends React.Component<IEditPopoverProps, IEditPopoverState> {
private contentRoot;
private wrapper;
private popover;
constructor(props: IEditPopoverProps);
/** Событие, возникающее перед показом окна */
get showing(): ICancelableEvent<IEventArgs>;
/** Событие, возникающее после показа окна */
get shown(): IBasicEvent<IEventArgs>;
/** Событие, возникающее перед нажатием кнопки OK */
get accepting(): ICancelableEvent<IEventArgs>;
/** Событие, возникающее после нажатия кнопки ОК */
get accepted(): IBasicEvent<IEventArgs>;
/** Событие, возникающее перед закрытием окна путем нажатия кнопки Отмена, клавиши Esc или щелчка вне вслывающего окна) */
get canceling(): ICancelableEvent<IEventArgs>;
/** Событие, возникающее после нажатия кнопки Отмена, клавиши Esc или щелчка вне вслывающего окна. */
get canceled(): IBasicEvent<IEventArgs>;
/** Событие, возникающее перед показом окна */
get hidding(): ICancelableEvent<IEventArgs>;
/** Событие, возникающее после скрытия окна */
get hidden(): IBasicEvent<IEventArgs>;
/** Css-класс */
get className(): string;
set className(val: string);
/** Css-класс рутового элемента */
get rootClassName(): string;
set rootClassName(val: string);
/**
* Создает экземпляр вслывающего окна.
*
* После создания следует использовать {@link contentElement} свойство для задания содержимого, и методы {@link show} и {@link hide}
* для управления всплывающим окном.
*/
static CreatePopover(popoverOptions: IEditPopoverProps): Promise<EditPopover>;
/**
* HTMLElement, в который следует поместить содержимое всплывающего окна.
*
* Внимание! Значение свойства будет принициализировано только после вызова {@link IEditPopoverProps.onMounted}
*/
get contentElement(): HTMLElement;
/**
* Отображает всплыающее окно на экране.
*/
show(): Promise<void>;
/**
* Скрывает всплыающее окно.
*/
hide(): Promise<unknown>;
/**
* Отображается всплыающее окно на экране в данный момент или нет.
*/
get visible(): boolean;
set visible(val: boolean);
/**
* Настройка, определяющая, будет ли окно скрываться по клику во вне.
*/
get hideByClickOutside(): boolean;
set hideByClickOutside(val: boolean);
/**
* Настройка, определяющая, будет ли окно скрываться по нажатию Esc
*/
get hideByEsc(): boolean;
set hideByEsc(val: boolean);
/**
* Настройка, определяющая, будет ли иницироваться применение изменений по нажатию клавиши Enter.
*/
get acceptByEnter(): boolean;
set acceptByEnter(val: boolean);
get ignoreOutsideClicksSelectors(): string[] | undefined;
set ignoreOutsideClicksSelectors(val: string[] | undefined);
/**
* Корректно очищает содержимое {@link contentElement}
*/
clearContent(): void;
/**
* Скрывает окно и очищает все используемые ресурсы.
*/
dispose(): void;
/**
* Перессчитать позицию окна.
*/
updatePositions(): void;
private attachPopover;
private onKeyEnter;
private onKeyEsc;
private attachContentRoot;
private hideInternal;
accept(): Promise<unknown>;
cancel(): Promise<unknown>;
private onOkClick;
private onCancelClick;
private onClickOutside;
private renderSaveCancelButtons;
/** @internal */
render(): JSX.Element;
}