@omnia/fx
Version:
Provide Omnia Fx typings and tooling for clientside Omnia development.
80 lines (79 loc) • 2.52 kB
TypeScript
import { IFileUploader } from "./IFileUploader";
import { IWebComponentInstance } from "../..";
import "./FileUploader.css";
import { OmniaTheming } from "../OmniaTheming";
import { FileUploaderLocalization } from "./loc/localize";
import { FileUploaderItemHandler, FileUploaderItemStatus } from "../../models";
import { OmniaUxLocalization } from "../UxModels";
import { VueComponentBase } from "..";
interface InternalFile {
id: string;
status: FileUploaderItemStatus;
progressPercent: number;
fileSizeLabel: string;
customFileName: string;
label: {
main: string;
sub: string;
};
file: File;
}
export declare class FileUploader extends VueComponentBase implements IWebComponentInstance, IFileUploader {
dark: boolean;
disabled: boolean;
onFileChanged: (allFiles: Array<FileUploaderItemHandler>) => void;
enablePasteClipboardData: boolean;
multiple: boolean;
limitedFileTypes: Array<string>;
limitedFileSize?: number;
hideOverlayIcon: boolean;
omniaTheming: OmniaTheming;
loc: FileUploaderLocalization.locInterface;
omniaUxLoc: OmniaUxLocalization;
styles: {
table?: any;
cursor?: any;
overlay?: any;
wrapper?: any;
errorMessage?: any;
browseLabel?: any;
dragOver?: any;
iconColumn?: any;
fileTitle?: any;
fileSize?: any;
mainLabel?: any;
subLabel?: any;
labelColumnError?: any;
hintForEditFileName?: any;
fixButton?: any;
instructionText?: any;
instructionIcon?: any;
};
customFileName: string;
selectingFileId: string;
selectingFileExtension: string;
uniqueId: string;
addedFiles: Array<InternalFile>;
dragOver: boolean;
fileInputKey: string;
rejectFileSize: boolean;
$refs: {
inputUpload: any;
};
beforeDestroy(): void;
created(): void;
mounted(): void;
initDropArea(): void;
getValidFile(files: Array<File>): File[];
handlePaste(e: ClipboardEvent): void;
handleDrop(e: any): void;
addFiles(files: Array<File>): void;
removeFile(file: InternalFile, triggerOnChange?: boolean): void;
addedFilesChanged(): void;
formatBytes(bytes: any, decimals?: number): string;
onFileInputChanged(e: any): void;
selectFileToEdit(file: InternalFile): void;
onEditFileNameAction(e: MouseEvent, save: boolean, file: InternalFile): void;
render(): VueTsxSupport.JSX.Element;
}
export {};