UNPKG

@docsvision/webclient

Version:

Type definitions for DocsVision WebClient scripts and extensions.

151 lines (150 loc) 7.48 kB
import { FileListAttachedElements } from "@docsvision/webclient/BackOffice/FileListAttachElements"; import { FileListItem } from "@docsvision/webclient/BackOffice/FileListItem"; import { FileListControlParams } from "@docsvision/webclient/BackOffice/FileListControl"; import { FileListControlLogic } from "@docsvision/webclient/BackOffice/FileListControlLogic"; import { FileSign } from '@docsvision/webclient/BackOffice/FileSign'; import { GenModels } from "@docsvision/webclient/Generated/DocsVision.WebClient.Models"; import { IFileSignInfo } from "@docsvision/webclient/Legacy/IFileSingInfo"; import { BaseControlImpl, BaseControlImplState } from "@docsvision/webclient/System/BaseControlImpl"; import { IRealTimeCommunicationMessage } from "@docsvision/webclient/System/IRealTimeCommunicationMessage"; import React from "react"; import { ControlSelector } from '@docsvision/webclient/Helpers/ControlSelector/ControlSelector'; import { RequestHelper } from '@docsvision/webclient/System/RequestHelper'; import { LayoutControl } from '@docsvision/webclient/System/BaseControl'; import { FileListFormType } from '@docsvision/webclient/BackOffice/FileListFormType'; import { AdaptiveMenuBar } from "@docsvision/webclient/Helpers/Menu/AdaptiveMenuBar"; /** @internal */ export interface FileListControlState extends BaseControlImplState, FileListControlParams { fileListOperationModels: GenModels.ControlModel[]; fileListOperations: LayoutControl[]; logic: FileListControlLogic; autoUpload: boolean; /** Загружены ли оставшиеся файлы в данный момент */ isLeftFilesLoaded: boolean; childCommandBarExpanded: boolean; } export declare type FileListImplState = FileListControlState; export declare const WEB_DAV_FILE_CLOSED_MESSAGE_TYPE = "FileClosed"; export declare const WEB_DAV_FILE_OPENED_FOR_READING_MESSAGE_TYPE = "FileOpenForReading"; export declare const WEB_DAV_FILE_OPENED_FOR_EDITING_MESSAGE_TYPE = "FileOpenForWriting"; export declare const FILE_CHANGED_AND_SAVED_MESSAGE_TYPE = "NewFileVersionAdded"; export interface ICardOpenedByWebDavMessage { CardId: string; FileId: string; FileName: string; } export interface ICardChangedByWebDavMessage { OwnerCardId: string; } export interface ICardOpenedByWebDavMessage { CardId: string; FileId: string; FileName: string; } /** Сервис для переопределения реализации FileListLogic */ export interface IFileListOptions { getFileListLogic?(params: FileListControlParams): FileListControlLogic; } export interface ISortFilesOption { displayString: string; key: GenModels.SortingFiles; } export declare type $FileListOptions = { fileListOptions?: IFileListOptions; }; export declare const $FileListOptions: string | ((model?: $FileListOptions) => IFileListOptions); /** @internal */ export declare class FileListControlImpl extends BaseControlImpl<FileListControlParams, FileListControlState> { mainAttach: FileListAttachedElements; extraAttach: FileListAttachedElements; signButton: HTMLElement; viewSignButton: HTMLElement; fileSignLogic: FileSign; fileControlContainer: HTMLElement; dropZoneContainer: HTMLElement; fileTableMain: HTMLElement; fileTableExtra: HTMLElement; dragCounter: number; requestHelper: RequestHelper; filesHeader: HTMLElement; wasToggled: boolean; sortingLocalStorageKey: string; sortingMenu: AdaptiveMenuBar; get logic(): FileListControlLogic; constructor(props: FileListControlParams, state: FileListControlState); UNSAFE_componentWillMount(): void; componentDidMount(): void; componentWillUnmount(): void; getOperations(children: React.ReactNode): GenModels.ControlModel[]; init(): Promise<void>; registerFilesInService(files: FileListItem[]): void; protected onDocumentChangedByWebdav(msg: IRealTimeCommunicationMessage<ICardChangedByWebDavMessage>): void; protected onDocumentChangedAndSavedByWebdav: (msg: IRealTimeCommunicationMessage<ICardOpenedByWebDavMessage>) => void; protected getCssClass(): string; get isEditMode(): boolean; protected getFilesSignInfo(): IFileSignInfo[]; set extraFilesExpanded(val: boolean); set fileCommandBarExpanded(val: boolean); /** @deprecated */ get isLeftFilesLoaded(): boolean; set isLeftFilesLoaded(val: boolean); set isLeftFilesLoading(val: any); set mainFilesExpanded(val: boolean); set signCommandBarExpanded(val: boolean); renderUploadForm(attach: FileListAttachedElements, action: string, main: boolean, type: FileListFormType, fileItem?: FileListItem, accept?: string): JSX.Element; private sortFiles; private compareFileName; private compareFileTime; protected onDropzoneClick(): void; protected renderEditModeTitle(mainFiles: boolean): JSX.Element; protected renderEditModeCommandBar(): JSX.Element; protected onDocumentClick(ev: any): void; protected onDragEnter(ev: React.DragEvent<any>): void; protected onDragLeave(ev: any): void; protected onDrop(ev: any): void; onToggleTableClick(main: boolean): void; onCommandBarButtonClick(ev?: React.MouseEvent<any>): void; onIconFolderClick(ev?: React.MouseEvent<any>): void; onToggleCommandBarClick(ev?: React.MouseEvent<any>): void; onAddClick(main: boolean, ev?: React.MouseEvent<any>): void; protected attachFileControlContainer(elem: HTMLInputElement): void; protected attachDropZoneContainer(elem: HTMLInputElement): void; protected attachFileTableMain(elem: HTMLInputElement): void; protected attachFileTableExtra(elem: HTMLInputElement): void; protected attachSignButton(element: HTMLElement): void; protected attachViewSignButton(element: HTMLElement): void; protected attachOperation: (selector: ControlSelector) => Promise<void>; protected onSignButtonClick(ev: React.MouseEvent<any>): void; onToggleSignPanelClick(ev?: React.MouseEvent<any>): void; protected renderViewModeTitle(mainFiles: boolean): JSX.Element; onHeaderClick: (e?: any) => void; protected onCollapsed(): void; protected onExpanded(): void; onToggleRowClass(fileItem: FileListItem, style: string): void; set isExpanded(value: boolean); attachHeader: (elem: HTMLElement) => void; protected renderHeaderTitle(): JSX.Element; private getHeaderTitle; private getFolderButtonTitle; protected renderViewModeCommandBar(): JSX.Element; protected renderViewModeSignPanel(): JSX.Element; protected renderSortingOption(): JSX.Element; selectSorting(sortOption: ISortFilesOption): void; openSortingMenu: () => void; closeSortingMenu: () => void; toggleSortingMenu: () => void; protected onSortMenuKeyDown: (event: React.KeyboardEvent) => void; protected renderViewModeFilesHeader(): JSX.Element; selectFile(file: FileListItem): void; highlightSelectedFile(): void; protected renderViewModeFiles(main: boolean): JSX.Element; protected renderPlaceholders(): any[]; protected getLoaderWidth(i: number): number; protected changeFileTypeAllowed(isMain: boolean): boolean; protected onDropFileItem(e: any): Promise<void>; protected renderViewModeMain(): JSX.Element; protected renderViewModeExtra(): JSX.Element; protected renderDropZone(): JSX.Element; protected renderDropZoneContainer(): JSX.Element; renderControl(): JSX.Element; }