@docsvision/webclient
Version:
Type definitions for DocsVision WebClient scripts and extensions.
95 lines (94 loc) • 6.65 kB
TypeScript
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);