@docsvision/webclient
Version:
Type definitions for DocsVision WebClient scripts and extensions.
131 lines (130 loc) • 8.97 kB
TypeScript
import { BaseControlParams, BaseControl } from '@docsvision/webclient/System/BaseControl';
import { IFilePreviewState, FilePreviewImpl } from '@docsvision/webclient/Platform/FilePreviewImpl';
import { $RequestManager } from '@docsvision/webclient/System/$RequestManager';
import { $CardInfo, $CardId } from '@docsvision/webclient/System/LayoutServices';
import { $LayoutCheck } from '@docsvision/webclient/System/$LayoutCheckService';
import { FileListItem } from '@docsvision/webclient/BackOffice/FileListItem';
import { CancelableApiEvent, BasicApiEvent } from '@docsvision/webclient/System/ApiEvent';
import { IFilePreviewingArgs } from '@docsvision/webclient/BackOffice/IFilePreviewingArgs';
import { IFilePreviewedArgs } from '@docsvision/webclient/BackOffice/IFilePreviewedArgs';
import { $FileController } from '@docsvision/webclient/Legacy/FileController';
import { $LayoutFileController } from "@docsvision/webclient/Generated/DocsVision.WebClient.Controllers";
import { IFileVersionDownloadingArgs } from '@docsvision/webclient/BackOffice/IFileVersionDownloadingArgs';
import { IFileVersionDownloadedArgs } from '@docsvision/webclient/BackOffice/IFileVersionDownloadedArgs';
import { $FileService } from '@docsvision/webclient/System/$FileService';
import { IFileVersionCommentAddingArgs } from '@docsvision/webclient/BackOffice/IFileVersionCommentAddingArgs';
import { IFileVersionCommentDeletingArgs } from '@docsvision/webclient/BackOffice/IFileVersionCommentDeletingArgs';
import { IFileVersionCommentAddedArgs } from '@docsvision/webclient/BackOffice/IFileVersionCommentAddedArgs';
import { IFileVersionCommentDeletedArgs } from '@docsvision/webclient/BackOffice/IFileVersionCommentDeletedArgs';
import { $Layout } from '@docsvision/webclient/System/$Layout';
import { EditMode } from '@docsvision/webclient/System/EditMode';
import { IEventArgs } from '@docsvision/webclient/System/IEventArgs';
import { $ApplicationSettings, $DeviceType, $SiteUrl } from "@docsvision/webclient/StandardServices";
import { GenModels } from '@docsvision/webclient/Generated/DocsVision.WebClient.Models';
import { BodyContainerProvider } from '@docsvision/webclient/Helpers/BodyContainerProvider';
import React from 'react';
import { $FilePreview } from '@docsvision/webclient/Platform/$FilePreview';
import { Optional } from '@docsvision/web/core/services';
import { FileViewer, IFileViewerConstructor } from '@docsvision/webclient/Platform/FileViewer';
export declare type $FilePreviewServices = $LayoutCheck & $CardInfo & $RequestManager & $FileController & $ApplicationSettings & $LayoutFileController & $CardId & $FileService & $Layout & $DeviceType & Optional<$FilePreview> & $ApplicationSettings & Optional<$SiteUrl>;
export declare class FilePreviewParams extends BaseControlParams {
/** Стандартный CSS класс со стилями элемента управления. */
standardCssClass?: string;
/** Ширина в % */
defaultWidth?: string;
/** Выоста в px */
height?: string;
/** Разрешен ли показ комментариев. По умолчанию разрешен. */
comments?: boolean;
/**
* "File open= true" - при добавлении файла появляется превью с данным файлом
* "File open= false" - при добавлении файла появляется область превью,
* но для того, чтобы в превью отобразился файл его следует выбрать
*/
fileOpen?: boolean;
/** Показано/скрыто окно с превью на странице. По умолчанию показано. */
isOpened?: boolean;
/** Показан ли сам файл в окне превью. */
isPreviewShown?: boolean;
/** Стиль родительского (по отношению к данному элементу управления) div-элемента. */
customCssStyle?: React.CSSProperties;
/** Файл для которого отображаем превью. */
fileItem?: FileListItem;
/** Список файлов, для которых отображаем превью. */
fileItemList?: FileListItem[];
/** Идентификатор файла. */
fileId?: string;
/** Версия файла. */
version?: GenModels.VersionedFileModel;
/** Открыт ли блок комментариев. */
isCommentsOpened?: boolean;
/** Можно ли скачать файл */
canDownload?: () => boolean;
/** Возможен показ контрола только в модальном окне */
showOnlyInModal?: boolean;
/** Действие при закрытии модального окна */
onModalClose?: () => void;
/** Возвращает режим редактирования элемента управления. */
editMode?: EditMode;
/** Определяет, должен ли переключатель получать фокус при переходе по Tab: `true` - должен, `false` - не должен. */
tabStop?: boolean;
/** Ошибка при рендере превью. */
errorInsideIframe?: boolean;
/** Ошибка доступа при рендере превью. */
forbiddenErrorInsideIframe?: boolean;
/** Кастомный просмотрщик файлов */
viewer?: IFileViewerConstructor | FileViewer;
/** Событие возникает перед открытием окна предварительного просмотра файла. */
beforeOpenCloseWindow?: CancelableApiEvent<IFilePreviewingArgs>;
/** Событие возникает после открытия окна предварительного просмотра файла. */
afterOpenCloseWindow?: BasicApiEvent<IFilePreviewedArgs>;
/** Событие возникает перед скачиванием файла. */
beforeFileDownloaded?: CancelableApiEvent<IFileVersionDownloadingArgs>;
/** Событие возникает после скачивания файла. */
afterFileDownloaded?: BasicApiEvent<IFileVersionDownloadedArgs>;
/** Событие возникает перед добавлением комментария к версии файла. */
fileVersionCommentAdding?: CancelableApiEvent<IFileVersionCommentAddingArgs>;
/** Событие возникает перед удалением комментария к версии файла. */
fileVersionCommentDeleting?: CancelableApiEvent<IFileVersionCommentDeletingArgs>;
/** Событие возникает после добавления комментария к версии файла. */
fileVersionCommentAdded?: BasicApiEvent<IFileVersionCommentAddedArgs>;
/** Событие возникает после удаления комментария к версии файла. */
fileVersionCommentDeleted?: BasicApiEvent<IFileVersionCommentDeletedArgs>;
/** Событие возникает перед сменой файла. */
beforeFileChanged?: CancelableApiEvent<IEventArgs>;
/** Событие возникает после смены файла. */
afterFileChanged?: BasicApiEvent<IEventArgs>;
/** Событие возникает перед открытием окна комментарии. */
beforeOpenCloseCommentsBlock?: CancelableApiEvent<IEventArgs>;
/** Событие возникает после открытия окна комментарии. */
afterOpenCloseCommentsBlock?: BasicApiEvent<IEventArgs>;
services?: $FilePreviewServices;
}
export declare class FilePreview extends BaseControl<FilePreviewParams, IFilePreviewState> {
static bodyProvider: BodyContainerProvider;
/** @internal */
protected createParams(): FilePreviewParams;
/** @internal */
protected createImpl(): FilePreviewImpl;
private get filePreviewImpl();
/** Показано ли окно с превью */
get fileOpen(): boolean;
/** Показано ли окно с комментариями */
get isCommentsOpened(): boolean;
/** Скачать файл */
download(): void;
/**
* Закрыть превью:
* @param wasShownInModal false - в разметке/ true - в модальном окне
*/
closePreview(wasShownInModal: boolean): void;
/** Показать комментарии в отдельном окне */
showDraggableComments: () => void;
/** Закрыть окно с комментариями */
closeDraggableComments: () => void;
/**
* Показать превью:
* @param showInModal false - в разметке/ true - в модальном окне
*/
show(showInModal?: boolean, version?: GenModels.VersionedFileModel): void;
}