diff --git a/types/dropzone/v4/dropzone-tests.ts b/types/dropzone/v4/history-tests.ts similarity index 100% rename from types/dropzone/v4/dropzone-tests.ts rename to types/dropzone/v4/history-tests.ts diff --git a/types/dropzone/v4/index.d.ts b/types/dropzone/v4/index.d.ts index e69de29bb2..171552a240 100644 --- a/types/dropzone/v4/index.d.ts +++ b/types/dropzone/v4/index.d.ts @@ -0,0 +1,279 @@ +// Type definitions for Dropzone 4.3.0 +// Project: http://www.dropzonejs.com/ +// Definitions by: Natan Vivo , Andy Hawkins , Vasya Aksyonov , Simon Huber , Sebastiaan de Rooij +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.3 + +/// + +import * as $ from "jquery"; + +declare namespace Dropzone { + export interface DropzoneResizeInfo { + srcX?:number; + srcY?:number; + trgX?:number; + trgY?:number; + srcWidth?:number; + srcHeight?:number; + trgWidth?:number; + trgHeight?:number; + optWidth?:number; + optHeight?:number; + } + + export interface DropzoneFile extends File { + previewElement: HTMLElement; + previewTemplate: HTMLElement; + previewsContainer: HTMLElement; + status: string; + accepted: boolean; + xhr?: XMLHttpRequest; + } + + export interface DropzoneOptions { + url?: string; + method?: string; + withCredentials?: boolean; + parallelUploads?: number; + uploadMultiple?: boolean; + maxFilesize?: number; + paramName?: string; + createImageThumbnails?: boolean; + maxThumbnailFilesize?: number; + thumbnailWidth?: number; + thumbnailHeight?: number; + filesizeBase?: number; + maxFiles?: number; + params?: {}; + headers?: {}; + clickable?: boolean|string|HTMLElement|(string|HTMLElement)[]; + ignoreHiddenFiles?: boolean; + acceptedFiles?: string; + renameFilename?(name:string): string; + autoProcessQueue?: boolean; + autoQueue?: boolean; + addRemoveLinks?: boolean; + previewsContainer?: boolean|string|HTMLElement; + hiddenInputContainer?: HTMLElement; + capture?: string; + + dictDefaultMessage?: string; + dictFallbackMessage?: string; + dictFallbackText?: string; + dictFileTooBig?: string; + dictInvalidFileType?: string; + dictResponseError?: string; + dictCancelUpload?: string; + dictCancelUploadConfirmation?: string; + dictRemoveFile?: string; + dictRemoveFileConfirmation?: string; + dictMaxFilesExceeded?: string; + + accept?(file:DropzoneFile, done:(error?:string|Error) => void):void; + init?():void; + forceFallback?: boolean; + fallback?():void; + resize?(file:DropzoneFile):DropzoneResizeInfo; + + drop?(e:DragEvent):void; + dragstart?(e:DragEvent):void; + dragend?(e:DragEvent):void; + dragenter?(e:DragEvent):void; + dragover?(e:DragEvent):void; + dragleave?(e:DragEvent):void; + paste?(e:DragEvent):void; + + reset?():void; + + addedfile?(file:DropzoneFile):void; + addedfiles?(files:DropzoneFile[]):void; + removedfile?(file:DropzoneFile):void; + thumbnail?(file:DropzoneFile, dataUrl:string):void; + + error?(file:DropzoneFile, message:string|Error, xhr:XMLHttpRequest):void; + errormultiple?(files:DropzoneFile[], message:string|Error, xhr:XMLHttpRequest):void; + + processing?(file:DropzoneFile):void; + processingmultiple?(files:DropzoneFile[]):void; + + uploadprogress?(file:DropzoneFile, progress:number, bytesSent:number):void; + totaluploadprogress?(totalProgress:number, totalBytes:number, totalBytesSent:number):void; + + sending?(file:DropzoneFile, xhr:XMLHttpRequest, formData:FormData):void; + sendingmultiple?(files:DropzoneFile[], xhr:XMLHttpRequest, formData:FormData):void; + + success?(file: DropzoneFile, response: Object|string): void; + successmultiple?(files:DropzoneFile[], responseText:string):void; + + canceled?(file:DropzoneFile):void; + canceledmultiple?(file:DropzoneFile[]):void; + + complete?(file:DropzoneFile):void; + completemultiple?(file:DropzoneFile[]):void; + + maxfilesexceeded?(file:DropzoneFile):void; + maxfilesreached?(files:DropzoneFile[]):void; + queuecomplete?():void; + + previewTemplate?: string; + } +} + +declare class Dropzone { + constructor(container:string|HTMLElement, options?:Dropzone.DropzoneOptions); + + static autoDiscover:boolean; + static options:any; + static confirm:(question:string, accepted:() => void, rejected?:() => void) => void; + + static ADDED:string; + static QUEUED:string; + static ACCEPTED:string; + static UPLOADING:string; + static PROCESSING:string; + static CANCELED:string; + static ERROR:string; + static SUCCESS:string; + + files:Dropzone.DropzoneFile[]; + + enable():void; + + disable():void; + + destroy():Dropzone; + + addFile(file:Dropzone.DropzoneFile):void; + + removeFile(file:Dropzone.DropzoneFile):void; + + removeAllFiles(cancelIfNecessary?:boolean):void; + + processQueue():void; + + cancelUpload(file:Dropzone.DropzoneFile):void; + + processFiles(files:Dropzone.DropzoneFile[]):void; + + processFile(file:Dropzone.DropzoneFile):void; + + uploadFile(file:Dropzone.DropzoneFile):void; + + getAcceptedFiles():Dropzone.DropzoneFile[]; + + getRejectedFiles():Dropzone.DropzoneFile[]; + + getQueuedFiles():Dropzone.DropzoneFile[]; + + getUploadingFiles():Dropzone.DropzoneFile[]; + + accept(file:Dropzone.DropzoneFile, done:(error?:string|Error) => void):void; + + getActiveFiles():Dropzone.DropzoneFile[]; + + getFilesWithStatus(status:string):Dropzone.DropzoneFile[]; + + enqueueFile(file:Dropzone.DropzoneFile):void; + + enqueueFiles(file:Dropzone.DropzoneFile[]):void; + + createThumbnail(file:Dropzone.DropzoneFile, callback?:(...args:any[]) => void):any; + + createThumbnailFromUrl(file:Dropzone.DropzoneFile, url:string, callback?:(...args:any[]) => void):any; + + on(eventName:string, callback:(...args:any[]) => void):Dropzone; + + off(): Dropzone; + off(eventName:string, callback?:(...args:any[]) => void):Dropzone; + + emit(eventName:string, ...args:any[]):Dropzone; + + on(eventName:"drop", callback:(e:DragEvent) => any):Dropzone; + on(eventName:"dragstart", callback:(e:DragEvent) => any):Dropzone; + on(eventName:"dragend", callback:(e:DragEvent) => any):Dropzone; + on(eventName:"dragenter", callback:(e:DragEvent) => any):Dropzone; + on(eventName:"dragover", callback:(e:DragEvent) => any):Dropzone; + on(eventName:"dragleave", callback:(e:DragEvent) => any):Dropzone; + on(eventName:"paste", callback:(e:DragEvent) => any):Dropzone; + + on(eventName:"reset"):Dropzone; + + on(eventName:"addedfile", callback:(file:Dropzone.DropzoneFile) => any):Dropzone; + on(eventName:"addedfiles", callback:(files:Dropzone.DropzoneFile[]) => any):Dropzone; + on(eventName:"removedfile", callback:(file:Dropzone.DropzoneFile) => any):Dropzone; + on(eventName:"thumbnail", callback:(file:Dropzone.DropzoneFile, dataUrl:string) => any):Dropzone; + + on(eventName:"error", callback:(file:Dropzone.DropzoneFile, message:string|Error) => any):Dropzone; + on(eventName:"errormultiple", callback:(files:Dropzone.DropzoneFile[], message:string|Error) => any):Dropzone; + + on(eventName:"processing", callback:(file:Dropzone.DropzoneFile) => any):Dropzone; + on(eventName:"processingmultiple", callback:(files:Dropzone.DropzoneFile[]) => any):Dropzone; + + on(eventName:"uploadprogress", callback:(file:Dropzone.DropzoneFile, progress:number, bytesSent:number) => any):Dropzone; + on(eventName:"totaluploadprogress", callback:(totalProgress:number, totalBytes:number, totalBytesSent:number) => any):Dropzone; + + on(eventName:"sending", callback:(file:Dropzone.DropzoneFile, xhr:XMLHttpRequest, formData:FormData) => any):Dropzone; + on(eventName:"sendingmultiple", callback:(files:Dropzone.DropzoneFile[], xhr:XMLHttpRequest, formData:FormData) => any):Dropzone; + + on(eventName:"success", callback:(file:Dropzone.DropzoneFile) => any):Dropzone; + on(eventName:"successmultiple", callback:(files:Dropzone.DropzoneFile[]) => any):Dropzone; + + on(eventName:"canceled", callback:(file:Dropzone.DropzoneFile) => any):Dropzone; + on(eventName:"canceledmultiple", callback:(file:Dropzone.DropzoneFile[]) => any):Dropzone; + + on(eventName:"complete", callback:(file:Dropzone.DropzoneFile) => any):Dropzone; + on(eventName:"completemultiple", callback:(file:Dropzone.DropzoneFile[]) => any):Dropzone; + + on(eventName:"maxfilesexceeded", callback:(file:Dropzone.DropzoneFile) => any):Dropzone; + on(eventName:"maxfilesreached", callback:(files:Dropzone.DropzoneFile[]) => any):Dropzone; + on(eventName:"queuecomplete"):Dropzone; + + emit(eventName:"drop", e:DragEvent):Dropzone; + emit(eventName:"dragstart", e:DragEvent):Dropzone; + emit(eventName:"dragend", e:DragEvent):Dropzone; + emit(eventName:"dragenter", e:DragEvent):Dropzone; + emit(eventName:"dragover", e:DragEvent):Dropzone; + emit(eventName:"dragleave", e:DragEvent):Dropzone; + emit(eventName:"paste", e:DragEvent):Dropzone; + + emit(eventName:"reset"):Dropzone; + + emit(eventName:"addedfile", file:Dropzone.DropzoneFile):Dropzone; + emit(eventName:"addedfiles", files:Dropzone.DropzoneFile[]):Dropzone; + emit(eventName:"removedfile", file:Dropzone.DropzoneFile):Dropzone; + emit(eventName:"thumbnail", file:Dropzone.DropzoneFile, dataUrl:string):Dropzone; + + emit(eventName:"error", file:Dropzone.DropzoneFile, message:string|Error):Dropzone; + emit(eventName:"errormultiple", files:Dropzone.DropzoneFile[], message:string|Error):Dropzone; + + emit(eventName:"processing", file:Dropzone.DropzoneFile):Dropzone; + emit(eventName:"processingmultiple", files:Dropzone.DropzoneFile[]):Dropzone; + + emit(eventName:"uploadprogress", file:Dropzone.DropzoneFile, progress:number, bytesSent:number):Dropzone; + emit(eventName:"totaluploadprogress", totalProgress:number, totalBytes:number, totalBytesSent:number):Dropzone; + + emit(eventName:"sending", file:Dropzone.DropzoneFile, xhr:XMLHttpRequest, formData:FormData):Dropzone; + emit(eventName:"sendingmultiple", files:Dropzone.DropzoneFile[], xhr:XMLHttpRequest, formData:FormData):Dropzone; + + emit(eventName:"success", file:Dropzone.DropzoneFile):Dropzone; + emit(eventName:"successmultiple", files:Dropzone.DropzoneFile[]):Dropzone; + + emit(eventName:"canceled", file:Dropzone.DropzoneFile):Dropzone; + emit(eventName:"canceledmultiple", file:Dropzone.DropzoneFile[]):Dropzone; + + emit(eventName:"complete", file:Dropzone.DropzoneFile):Dropzone; + emit(eventName:"completemultiple", file:Dropzone.DropzoneFile[]):Dropzone; + + emit(eventName:"maxfilesexceeded", file:Dropzone.DropzoneFile):Dropzone; + emit(eventName:"maxfilesreached", files:Dropzone.DropzoneFile[]):Dropzone; + emit(eventName:"queuecomplete"):Dropzone; + +} + +interface JQuery { + dropzone(options:Dropzone.DropzoneOptions): Dropzone; +} + +export = Dropzone; +export as namespace Dropzone; \ No newline at end of file diff --git a/types/dropzone/v4/tsconfig.json b/types/dropzone/v4/tsconfig.json index 10f2d83747..5c818e33c5 100644 --- a/types/dropzone/v4/tsconfig.json +++ b/types/dropzone/v4/tsconfig.json @@ -21,6 +21,6 @@ }, "files": [ "index.d.ts", - "dropzone-tests.ts" + "history-tests.ts" ] } \ No newline at end of file