@docsvision/webclient
Version:
Type definitions for DocsVision WebClient scripts and extensions.
138 lines (137 loc) • 6.37 kB
TypeScript
/// <reference types="react" />
import { GenModels } from "@docsvision/webclient/Generated/DocsVision.WebClient.Models";
import { IFilePickerMenuItem } from '@docsvision/webclient/Platform/FilePickerMenu';
import { FilePickerAccessState } from '@docsvision/webclient/Platform/FilePickerMenuItemsView';
import { FilePickerParams } from "@docsvision/webclient/Platform/FilePicker";
import { FilePickerOperations } from "@docsvision/webclient/Platform/FilePickerOperations";
import { FilePickerOperationsAvailability } from '@docsvision/webclient/Platform/FilePickerOperationsAvailability';
import { IFilePickerValue } from '@docsvision/webclient/Platform/IFilePickerValue';
import { BaseControlState } from "@docsvision/webclient/System/BaseControl";
import { BaseControlImpl } from "@docsvision/webclient/System/BaseControlImpl";
import { IBindingResult } from '@docsvision/webclient/System/IBindingResult';
import { RequestHelper } from '@docsvision/webclient/System/RequestHelper';
import { BooleanState } from '@docsvision/webclient/System/BooleanState';
import { EventEmitter } from '@docsvision/webclient/System/EventEmitter';
import { IValidationParams } from '@docsvision/webclient/System/IValidationParams';
import { IValidationResult } from '@docsvision/webclient/System/IValidationResult';
import { ICardOpenedByWebDavMessage } from "@docsvision/webclient/BackOffice/FileListControlImpl";
import { IRealTimeCommunicationMessage } from '@docsvision/webclient/System/IRealTimeCommunicationMessage';
import { LoadingState } from '@docsvision/webclient/System/LoadingState';
/** @internal */
export interface IFilePickerState extends FilePickerParams, BaseControlState {
binding: IBindingResult<GenModels.FileCardModel>;
lastUploadCommand: "replace" | "addVersion";
menuActionHelper: RequestHelper;
downloadOperationId: string;
readOperationId: string;
validationMessage: string;
deleting: boolean;
loadingAddVersion: LoadingState;
}
export interface FilePickerState extends IFilePickerState {
}
/** @internal */
export declare class FilePickerImpl extends BaseControlImpl<FilePickerParams, IFilePickerState> {
protected menuOpen: BooleanState;
protected fileOpenEvents: EventEmitter;
protected previewEvents: EventEmitter;
protected openCommentsDialogEvents: EventEmitter;
protected closeCommentsDialogEvents: EventEmitter;
protected commentAddEvents: EventEmitter;
protected commentDeleteEvents: EventEmitter;
protected downloadEvents: EventEmitter;
protected openVersionsDialogEvents: EventEmitter;
protected closeVersionsDialogEvents: EventEmitter;
protected operations: FilePickerOperations;
protected availability: FilePickerOperationsAvailability;
protected dragOverState: BooleanState;
protected menuItems: IFilePickerMenuItem[];
constructor(props: FilePickerParams, state: IFilePickerState);
componentDidMount(): void;
componentWillUnmount(): void;
protected onDocumentChangedAndSavedByWebdav: (msg: IRealTimeCommunicationMessage<ICardOpenedByWebDavMessage>) => Promise<void>;
getCssClass(): string;
setValue(val: IFilePickerValue, redraw?: boolean, triggerEvent?: boolean): void;
private checkFileExtension;
getValue(): IFilePickerValue;
hasValue(): boolean;
uploadSelectedInternal(): Promise<GenModels.FileCardModel>;
onMenuOpenChange: (newVal: boolean) => void;
onFileMenuOpen: () => Promise<void>;
protected shouldSaveImmediately(): boolean;
protected getAccessState(): FilePickerAccessState;
openVersionsDialog: () => Promise<void>;
protected getMenuItems(): IFilePickerMenuItem[];
wrapMenuAction: (action: () => Promise<unknown>) => () => Promise<any>;
uploadSelected: () => Promise<any>;
protected onFileSelected: (file: File | null) => Promise<any>;
getDownloadMenuItem: () => {
name: string;
component: (props:
import("./Components/FilePickerMenuItemsView").IDownloadFilePickerMenuItemProps) => JSX.Element;
isAvailable: boolean;
onClick: () => Promise<any>;
};
getReplaceMenuItem: () => {
name: string;
component: (props:
import("./Components/FilePickerMenuItemsView").IFilePickerMenuItemProps) => JSX.Element;
isAvailable: boolean;
onClick: () => Promise<any>;
};
getAddVersionMenuItem: () => {
name: string;
component: (props:
import("./Components/FilePickerMenuItemsView").IFilePickerMenuItemProps) => JSX.Element;
isAvailable: boolean;
onClick: () => Promise<any>;
};
getCommentMenuItem: () => {
name: string;
component: (props:
import("./Components/FilePickerMenuItemsView").IFilePickerMenuItemProps) => JSX.Element;
isAvailable: boolean;
onClick: () => Promise<void>;
};
getPreviewMenuItem: () => {
name: string;
component: (props:
import("./Components/FilePickerMenuItemsView").IFilePickerMenuItemProps) => JSX.Element;
isAvailable: boolean;
onClick: () => Promise<any>;
};
getOpenMenuItem: () => {
name: string;
component: (props:
import("./Components/FilePickerMenuItemsView").IFilePickerMenuItemProps) => JSX.Element;
isAvailable: boolean;
onClick: () => Promise<any>;
};
getDeleteMenuItem: () => {
name: string;
component: (props:
import("./Components/FilePickerMenuItemsView").IFilePickerMenuItemProps) => JSX.Element;
isAvailable: boolean;
onClick: () => Promise<any>;
};
getViewZipMenuItem: () => {
name: string;
component: (props:
import("./Components/FilePickerMenuItemsView").IFilePickerMenuItemProps) => JSX.Element;
isAvailable: boolean;
onClick: () => Promise<any>;
};
saveAs(): Promise<Blob>;
validate(params: IValidationParams): IValidationResult;
protected updateValidationMessage(): void;
protected renderValidationMessage(): JSX.Element;
renderMenu(): JSX.Element;
renderEmptyModeContent(): JSX.Element;
renderEmptyMode(): JSX.Element;
showDeleteButton: () => boolean;
renderValueContent(): JSX.Element;
renderValueContentWithPlaceholder(): JSX.Element;
renderValueContentLabeled(labelText: any): JSX.Element;
renderValue(): JSX.Element;
renderControl(): JSX.Element;
}