@docsvision/webclient
Version:
Type definitions for DocsVision WebClient scripts and extensions.
48 lines (46 loc) • 2.31 kB
TypeScript
import React from "react";
import { $FilePickerController } from "@docsvision/webclient/Generated/DocsVision.WebClient.Controllers";
import { RequestHelper } from "@docsvision/webclient/System/RequestHelper";
import { GenModels } from "../../Generated/DocsVision.WebClient.Models";
/** @internal Свойства для {@link FileViewZip} */
export interface IFileViewZipProps {
/** Список элементов содержимого zip-архива */
items?: string[];
/** Идентификатор карточки файла. */
fileCardId: string;
/** Кнопка закрытия окна комментариев. */
closeButton?: boolean;
/** Своя функция отрисовки. */
customRender?: (component: FileViewZip) => React.ReactNode;
/** По нажатию на кнопку закрытия окна просмотра zip-архива. */
onClose?: () => void;
services: $FilePickerController;
}
/** @internal */
export interface IFileViewZipState {
items?: string[];
/** Загружаются ли в данный момент данные для предпросмотра файла. */
isLoading: boolean;
/** Помощник для загрузки данных о содержимом zip-архива. */
loadingHelper: RequestHelper;
}
export declare class FileViewZip extends React.Component<IFileViewZipProps, IFileViewZipState> {
protected viewZipContainer: HTMLElement;
protected viewZipDialog: HTMLDivElement;
constructor(props: IFileViewZipProps);
/** @internal */
componentDidMount(): Promise<void>;
/** @internal */
componentDidUpdate(prevProps: any): void;
/** Загружается ли содержание zip в данный момент */
get isLoading(): boolean;
/** Загрузить список узлов zip-архива */
protected load: () => Promise<GenModels.FilePickerViewZipItemModel[]>;
/** @internal Отрисовка заголовка блока просмотра zip-архива. */
renderHeader(): JSX.Element;
renderItems: () => JSX.Element[];
/** @internal Отрисовка блока просмотра zip-архива */
renderViewZip(): JSX.Element;
/** @internal */
render(): {};
}