@docsvision/webclient
Version:
Type definitions for DocsVision WebClient scripts and extensions.
54 lines (53 loc) • 3.11 kB
TypeScript
import { $LayoutFolderController } from "@docsvision/webclient/Generated/DocsVision.WebClient.Controllers";
import { GenModels } from "@docsvision/webclient/Generated/DocsVision.WebClient.Models";
import { RecursiveVisitor } from "@docsvision/webclient/Helpers/CustomTree/RecursiveVisitor";
import { IAccessor } from "@docsvision/webclient/Helpers/DynamicModel/IAccessor";
import { IFolderContentState } from "@docsvision/webclient/Platform/IFolderContentState";
import { LoadingState } from "@docsvision/webclient/System/LoadingState";
import { IBasicEvent } from "@docsvision/webclient/System/IBasicEvent";
import { SimpleEvent } from "@docsvision/webclient/System/SimpleEvent";
import React from "react";
export interface IFolderContentProps {
/** Список папок, выбранный пользователем в КР */
folderList?: GenModels.SelectFolderNode[];
/** Текущая папка */
currentFolder: GenModels.SelectFolderNode;
services: $LayoutFolderController;
/** Показывать ли модальное окно */
isModal?: boolean;
onFolderClick?: (folder: GenModels.FolderNode) => unknown;
showFolderType?: GenModels.FolderNodeType;
/** Максимизировано ли модальное окно */
maximized?: boolean;
}
/** @internal */
export declare class FolderContent extends React.Component<IFolderContentProps, IFolderContentState> {
folderSelectedEvent: SimpleEvent<GenModels.FolderNode>;
recursive: RecursiveVisitor<GenModels.FolderNode>;
/** Уровень папки */
level: IAccessor<GenModels.FolderNode, number>;
/** Раскрыта ли папка */
expanded: IAccessor<GenModels.FolderNode, boolean>;
/** Видна ли папка */
visible: IAccessor<GenModels.FolderNode, boolean>;
/** Были ли загружены подчинённые папки с сервера */
childrenLoaded: IAccessor<GenModels.FolderNode, boolean>;
/** Отображает процесс загрузки данных с сервера */
childrenLoading: IAccessor<GenModels.FolderNode, LoadingState>;
constructor(props: any);
componentDidMount(): void;
mountFolderContent(): void;
get selectedFolder(): GenModels.FolderNode;
get folderSelected(): IBasicEvent<GenModels.FolderNode>;
protected parseFoldersTreeData(data: Array<GenModels.FolderNode>): Array<GenModels.FolderNode>;
protected parseServerFolderInfo(src: GenModels.FolderNode, folderInfo: GenModels.FolderNode): void;
protected onToggleFolder: (folder: GenModels.FolderNode) => void;
protected onFolderSelected: (folder: GenModels.FolderNode) => void;
protected updateFoldersMeta(folders: GenModels.FolderNode[], parentFolder?: GenModels.FolderNode): void;
protected getFlatFolders(treeFolders?: GenModels.FolderNode[]): GenModels.FolderNode[];
protected getFolderIconClass(folder: GenModels.FolderNode): string;
renderFolder: (index: any, key: any) => JSX.Element;
renderModal(): JSX.Element;
renderTree(): JSX.Element;
render(): JSX.Element;
}