UNPKG

@docsvision/webclient

Version:

Type definitions for DocsVision WebClient scripts and extensions.

72 lines (71 loc) 3.41 kB
import { CancelableEventState } from "@docsvision/webclient/System/CancelableEventState"; import { ICancelableEventArgs } from "@docsvision/webclient/System/ICancelableEventArgs"; /** * Представляет собой событие для действий, подписчики которого могут его отменить. * Заметка: подписчики события могут выполнять долговременные асинхронные операции перед продолжением или отменой действий событий. * Пример использования: * * this.cardOpening = CancelableEvent.Create(this.state.wrapper); * ... * this.cardOpening.trigger({ * cardModel: model * }) * .canceled(this.back) * .accepted(() => callback(model)); * * Заметка: подписчики события должны использовать только интерфейс ICancelableEventArgs<T> публичного API, * поскольку интерфейс CancelableEventArgs<T> только для внутреннего использования инициаторов событий. */ export declare class CancelableEventArgs<T> implements ICancelableEventArgs<T> { private dataField?; private deferredObj; private autoAcceptSetting; /** * Создаёт экземпляр CancelableEventArgs<T> * @param data данные события * @param callbackAccepted смотрите метод {@link accepted} * @param callbackCanceled смотрите метод {@link canceled} */ constructor(data?: T, callbackAccepted?: (data?: T) => void, callbackCanceled?: (data?: T) => void); /** * Коллбэк, который будет вызван, если подписчики события разрешили продолжить выполнение действий */ accepted(callback: (data?: T) => void): CancelableEventArgs<T>; /** * Коллбэк, который будет вызван, если подписчики события отменили выполнение действий */ canceled(callback: (data?: T) => void): CancelableEventArgs<T>; /** * См. {@link ICancelableEventArgs<T>.cancel} */ cancel(reason?: string): void; /** * См. {@link ICancelableEventArgs<T>.accept} */ accept(): void; /** * См. {@link ICancelableEventArgs<T>.wait} */ wait(): void; /** * См. {@link ICancelableEventArgs<T>.data} */ get data(): T | undefined; /** * См. {@link ICancelableEventArgs<T>.autoAcceptEnabled} */ get autoAcceptEnabled(): boolean; /** * См. {@link ICancelableEventArgs<T>.autoAcceptEnabled} */ set autoAcceptEnabled(val: boolean); /** * Возвращает текущее состояние объекта события. * Состояние может изменяться вызовом методов accept() или cancel() (они обычно используются подписчиками событий) * См. также: autoAcceptEnabled */ get state(): CancelableEventState; get promise(): Promise<T | undefined>; /** @deprecated Используйте {@see promise} */ get deferred(): Promise<T | undefined>; }