@docsvision/webclient
Version:
Type definitions for DocsVision WebClient scripts and extensions.
80 lines (79 loc) • 4.94 kB
TypeScript
/// <reference types="react" />
import { $LayoutCardController, $LayoutFileApiController, $LayoutFileController, $R7OfficeController } from "@docsvision/webclient/Generated/DocsVision.WebClient.Controllers";
import { GenModels } from "@docsvision/webclient/Generated/DocsVision.WebClient.Models";
import { BaseRazorControl, BaseRazorControlParams, BaseRazorControlState } from "@docsvision/webclient/Legacy/BaseRazorControl";
import { $Layout } from "@docsvision/webclient/System/$Layout";
import { IBindingResult } from "@docsvision/webclient/System/IBindingResult";
import { RequestHelper } from "@docsvision/webclient/System/RequestHelper";
import { IRealTimeCommunicationMessage } from '@docsvision/webclient/System/IRealTimeCommunicationMessage';
import { $Router } from '@docsvision/webclient/System/$Router';
import { $LayoutInfo, $CardTimestamp, $CardInfo, $CardId } from '@docsvision/webclient/System/LayoutServices';
import { $FileService } from '@docsvision/webclient/System/$FileService';
import { FileListItem } from '@docsvision/webclient/BackOffice/FileListItem';
import { $LayoutCheck } from '@docsvision/webclient/System/$LayoutCheckService';
import { $RequestManager } from '@docsvision/webclient/System/$RequestManager';
import { $FileController } from '@docsvision/webclient/Legacy/FileController';
import { $ApplicationSettings, $DeviceType, $SiteUrl } from '@docsvision/webclient/StandardServices';
import { BasicApiEvent } from "@docsvision/webclient/System/ApiEvent";
import { IEventArgs } from "@docsvision/webclient/System/IEventArgs";
import { ICardOpenedByWebDavMessage } from "@docsvision/webclient/BackOffice/FileListControlImpl";
import { $RealtimeCommunicationService } from "@docsvision/webclient/System/$RealtimeCommunicationService";
import { $WebServices } from "@docsvision/webclient/System/IWebServicesService";
import { $MessageBox } from "@docsvision/webclient/System/$MessageBox";
/**@internal */
declare type $FilePreviewServices = $LayoutCheck & $CardInfo & $RequestManager & $FileController & $LayoutFileController & $CardId & $DeviceType;
/** @internal */
export declare class TaskCardFilePanelParams extends BaseRazorControlParams {
shadowClass?: boolean;
/** Событие возникает при сохранении файла в WebDAV. */
fileSaveByWebDAV?: BasicApiEvent<IEventArgs>;
/** Событие возникает после загрузки версии файла. */
fileVersionUploaded?: BasicApiEvent<IEventArgs>;
services?: $LayoutCardController & $Layout & $Router & $LayoutInfo & $ApplicationSettings & $WebServices & $MessageBox & $CardTimestamp & $FileService & $FilePreviewServices & $LayoutFileApiController & $RealtimeCommunicationService & $R7OfficeController & $SiteUrl;
}
/** @internal */
export interface TaskCardFilePanelState extends TaskCardFilePanelParams, BaseRazorControlState {
documents: string[];
requestHelper: RequestHelper;
shadowClass: boolean;
files: FileListItem[];
}
/** @internal */
export declare class TaskCardFilePanelRazorControl extends BaseRazorControl<TaskCardFilePanelParams, TaskCardFilePanelState> {
private needPrepareItems;
private control;
addShadowClass: boolean;
openedInEditorFiles: string[];
protected construct(): void;
loadFilesAsync(): Promise<unknown>;
protected createParams(): TaskCardFilePanelParams;
init(): void;
addHandlerToDisclosure: (control: HTMLElement, addOnlyShadowClass?: boolean) => void;
findControlsForUpdateDisclosure: (addOnlyShadowClass?: boolean) => void;
componentDidMount(): void;
componentWillUnmount(): void;
protected onDocumentChangedAndSavedByWebdav: (msg: IRealTimeCommunicationMessage<ICardOpenedByWebDavMessage>) => void;
componentDidUpdate(prevProps: any): void;
private updatePreview;
private updateOpenFileMenuSettings;
getVisibilityOpenFileButton(fileId: string): boolean;
hideOpenFileButton(fileVersionId: string): void;
showOpenFileButton(fileVersionId: string): void;
openFile(fileCardId: string, fileId: string, currentFileId: string, fileName: string, documentId: string, readonly: boolean, documentFileCardId: string): Promise<void>;
private getOpenFileRequestData;
private sendOpenFileRequest;
private sendOpenFileDvWebTool;
private addPreviewHandlers;
private getVersionedFileModel;
private saveFileItemsInService;
private groupFilesByLinkedCard;
private updateSelectedFile;
protected onFileNameClick: (fileItem: FileListItem) => void;
protected onVersionNumberClick: (fileItem: FileListItem, version?: GenModels.VersionedFileModel) => void;
mountRazorContent(razorContainer: HTMLElement): void;
protected onCardChanged: (message: IRealTimeCommunicationMessage<any>) => void;
protected getBindings(): IBindingResult<any>[];
getDisclosureHeader(): string;
renderControl(): JSX.Element;
}
export {};