@docsvision/webclient
Version:
Type definitions for DocsVision WebClient scripts and extensions.
55 lines (53 loc) • 2.62 kB
TypeScript
import { GenModels } from "@docsvision/webclient/Generated/DocsVision.WebClient.Models";
import { FolderManagementDialogData, FolderManagementOperationType } from "@docsvision/webclient/Platform/FolderManagementData";
import { TSecurityDescriptorDialogPropsServices } from "@docsvision/webclient/Platform/SecurityDescriptorDialog";
import { Layout } from "@docsvision/webclient/System/Layout";
import { BasicEvent } from "@docsvision/webclient/System/BasicEvent";
import { CancelableEvent } from "@docsvision/webclient/System/CancelableEvent";
import { $LayoutFolderController } from "@docsvision/webclient/Generated/DocsVision.WebClient.Controllers";
export declare type FolderEditedEventArgs = {
layout: Layout;
data: FolderManagementDialogData;
};
export declare type SubfolderAddedEventArgs = {
layout: Layout;
data: GenModels.FolderNode;
};
export declare type FolderOperationEvents = {
folderManagementDialogOpening: CancelableEvent<unknown>;
folderManagementDialogOpened: BasicEvent<Layout>;
folderDeleting: CancelableEvent<string>;
folderDeleted: BasicEvent<string>;
folderEditing: CancelableEvent<Layout>;
folderEdited: BasicEvent<FolderEditedEventArgs>;
subfolderAdding: CancelableEvent<Layout>;
subfolderAdded: BasicEvent<SubfolderAddedEventArgs>;
};
export declare type TFolderOperationManagerServices = $LayoutFolderController & TSecurityDescriptorDialogPropsServices;
/**
* Компонент, управлящий операциями над папками.
*/
export declare class FolderOperationManager {
/** Тип операции */
private operation;
/** Id папки */
private folderId;
/** Модальное окно операции */
private dialog;
/** Разметка окна создания/редактироваия папки */
private dialogEditLayout;
/** События модального окна и операций */
private events;
/** Сервисы */
private services;
constructor(services: TFolderOperationManagerServices, folderId: string, events?: FolderOperationEvents, operation?: FolderManagementOperationType);
do(data?: FolderManagementDialogData, folderName?: string): Promise<string>;
protected attachLayout(ref: Layout): void;
setOperation(operation: FolderManagementOperationType): void;
resetOperation(): void;
getOperation(): FolderManagementOperationType;
getFolderData(id: string): Promise<GenModels.FolderInfoModel>;
showEditDialog(): Promise<void>;
showSecurityDialog(): Promise<void>;
hideDialog(): void;
}