UNPKG

@docsvision/webclient

Version:

Type definitions for DocsVision WebClient scripts and extensions.

95 lines (94 loc) 6.65 kB
import { GenModels } from "@docsvision/webclient/Generated/DocsVision.WebClient.Models"; import { BaseControl, BaseControlParams, BaseControlState } from "@docsvision/webclient/System/BaseControl"; import { ILayoutParams } from "@docsvision/webclient/System/ILayoutParams"; import { ControlWrapperMap } from "@docsvision/webclient/System/ControlWrapperMap"; import { IControlStoreManager } from '@docsvision/webclient/System/IControlStoreManager'; import { IEditOperationStore } from "@docsvision/webclient/System/IEditOperationStore"; import { ILayoutContainer } from "@docsvision/webclient/System/ILayoutContainer"; import { ILayoutCheckService } from '@docsvision/webclient/System/$LayoutCheckService'; import { FieldSpec } from "@docsvision/web/utils/common"; /** Параметры метода {@link Layout.saveCard}. */ export interface SaveCardOptions { /** Не помечать карточку как сохраненную. Данная пометка влияет на наличие подтверждения закрытия окна браузера. */ doNotMarkAsSaved?: boolean; /** Не валидировать элементы управления перед сохранением. */ doNotValidate?: boolean; /** Не отправлять на сервер инструкции по созданию ссылки. */ doNotCreateAsLink?: boolean; /** Не отправлять на сервер инструкции по добавлению в папку. */ doNotCreateInFolder?: boolean; /** Исключает создание ссылок, добавление в папку, пометку карточки как сохраненной и т.д. */ avoidAllSideEffects?: boolean; /** * Включение флага отменяет актуализацию контролов разметки, которая может занять дополнительное время. * Его следует выставлять если текущая разметку не планиурется больше использовать после сохранения. */ doNotKeepLayoutActual?: boolean; /** Флаг обозначает, что данное сохранение завершает создание карточки или строки. */ completeCreation?: boolean; } export interface ChangeStateOptions { /** Не триггерить cardStateChanging */ doNotTriggerCardStateChanging?: boolean; /** Операция как значение поля. */ operationFieldInfo?: GenModels.OperationFieldInfo; } export interface ILayout extends ILayoutCheckService { params: ILayoutParams; readonly controls: ControlWrapperMap; readonly controlStoreManager: IControlStoreManager; /** @deprecated Используйте сервисы $CardId, $CardTimestamp, $CardInfo */ readonly cardInfo: GenModels.CardInfoModel; /** Возвращает модель данных строки. */ readonly rowInfo: GenModels.RowInfoModel; /** Возвращает модель данных разметки. */ readonly layoutInfo: GenModels.LayoutInfoModel; /** Предоставляет доступ к хранилищу операций редактирования. */ readonly editOperations: IEditOperationStore; /** Возвращает отображаемое название типа карточки. */ readonly cardTypeName: string; readonly layoutContainer: ILayoutContainer<GenModels.LayoutViewModel>; readonly isCardLayout: boolean; readonly isRowLayout: boolean; readonly childLayouts: ILayout[]; readonly parentLayout: ILayout; readonly extendedDataSourceInfos: GenModels.ExtendedDataSourceInfoModel[]; /** * Сохраняет изменения всей разметки (карточки) или конкретного элемента управления. * @param control Элемент управления который требуется сохранить. Если не указан, будет сохранена вся разметка. * @param doNotMarkAsSaved Флаг, указывающий, что карточка должна сохранить признак "не сохранена": true - карточка остается с признаком "не сохранена", * false - карточка сохраняется в обычном режиме. */ saveCard(control?: BaseControl<BaseControlParams, BaseControlState>, doNotMarkAsSaved?: boolean): Promise<any>; /** * Сохраняет изменения всей разметки (карточки) или конкретного элемента управления. * @param control Элемент управления который требуется сохранить. Если не указан, будет сохранена вся разметка. * @param options Параметры сохранения. */ saveCardEx(control?: BaseControl<BaseControlParams, BaseControlState>, options?: SaveCardOptions): Promise<any>; /** * Изменяет состояние карточки, по полученной операции редактирования. * @param operationId Идентификатор операции редактирования. */ changeState(operationId: string): Promise<any>; /** * Изменяет состояние карточки, по полученной операции редактирования, не перезагружая разметку. * @param operationId Идентификатор операции редактирования. * @param options Параметры изменения. */ changeStateEx(operationId: string, options?: ChangeStateOptions): Promise<any>; /** Перезагружает разметку с сервера. */ reloadFromServer(): Promise<this>; /** @internal Освобождает дерево компонентов. */ destroy(): Promise<any>; /** Иниицирует перерисовку разметки. */ forceUpdate(callBack?: () => any): any; /** Удаляет текущую карточку или строку секции */ delete(isCanceling?: boolean): Promise<any>; /** возвращает сервис */ getService<$T>(serviceName?: FieldSpec<any, $T>): $T; } export declare type $Layout = { layout: ILayout; }; export declare const $Layout: string | ((model?: $Layout) => ILayout);