From a63c9fda694c6138df1d7844ea46152155a004a5 Mon Sep 17 00:00:00 2001 From: tedbcsgpro Date: Thu, 6 Jul 2017 09:33:40 -0700 Subject: [PATCH 1/5] Updates type definitions for Dropzone 5.0.0 --- types/dropzone/dropzone-tests.ts | 49 ++++++++++++++++++++++++++------ types/dropzone/index.d.ts | 30 +++++++++++++++---- 2 files changed, 65 insertions(+), 14 deletions(-) diff --git a/types/dropzone/dropzone-tests.ts b/types/dropzone/dropzone-tests.ts index f52cbc303e..cad22badb7 100644 --- a/types/dropzone/dropzone-tests.ts +++ b/types/dropzone/dropzone-tests.ts @@ -4,6 +4,10 @@ const dropzoneRenameFunction = function (name:string):string { return name + 'new'; }; +Dropzone.createElement('
'); +Dropzone.isBrowserSupported(); +console.log(Dropzone.instances.length); + const dropzoneWithOptions = new Dropzone(".test", { url: "/some/url", method: "post", @@ -14,8 +18,14 @@ const dropzoneWithOptions = new Dropzone(".test", { paramName: "file", createImageThumbnails: true, maxThumbnailFilesize: 1024, - thumbnailWidth: 50, - thumbnailHeight: 50, + thumbnailWidth: 120, + thumbnailHeight: 120, + thumbnailMethod: 'crop', + resizeWidth: 1024, + resizeHeight: 1024, + resizeMimeType: 'image.jpeg', + resizeQuality: .8, + resizeMethod: 'contain', filesizeBase: 1000, maxFiles: 100, params: { @@ -61,7 +71,7 @@ const dropzoneWithOptions = new Dropzone(".test", { init: () => console.log("Initialized"), forceFallback: false, fallback: () => console.log("Fallback"), - resize: (file:Dropzone.DropzoneFile) => ({ + resize: (file:Dropzone.DropzoneFile, width:120, height:120, resizeMethod:'contain') => ({ srcX: 0, srcY: 0, trgX: 10, @@ -70,8 +80,6 @@ const dropzoneWithOptions = new Dropzone(".test", { srcHeight: 100, trgWidth: 50, trgHeight: 50, - optWidth: 50, - optHeight: 50 }), drop: (e:DragEvent) => console.log("Drop"), @@ -146,6 +154,8 @@ const dropzone = new Dropzone(".test"); dropzone.enable(); dropzone.disable(); + + dropzone.files.forEach(f => { if (f.xhr) { console.log(f.xhr.readyState) @@ -167,10 +177,22 @@ dropzone.enqueueFile(firstFile); dropzone.processFile(firstFile); dropzone.uploadFile(firstFile); dropzone.cancelUpload(firstFile); -dropzone.createThumbnail(firstFile, () => { + +dropzone.createThumbnail(firstFile); +dropzone.createThumbnail(firstFile, dropzone.defaultOptions.resizeWidth); +dropzone.createThumbnail(firstFile, dropzone.defaultOptions.resizeWidth, dropzone.defaultOptions.resizeHeight); +dropzone.createThumbnail(firstFile, dropzone.defaultOptions.resizeWidth, dropzone.defaultOptions.resizeHeight, dropzone.defaultOptions.resizeMethod); +dropzone.createThumbnail(firstFile, dropzone.defaultOptions.resizeWidth, dropzone.defaultOptions.resizeHeight, dropzone.defaultOptions.resizeMethod, true); +dropzone.createThumbnail(firstFile, dropzone.defaultOptions.resizeWidth, dropzone.defaultOptions.resizeHeight, dropzone.defaultOptions.resizeMethod, true, () => { console.log("createThumbnail") }); -dropzone.createThumbnailFromUrl(firstFile, "/some/url", () => { + +dropzone.createThumbnailFromUrl(firstFile); +dropzone.createThumbnailFromUrl(firstFile, dropzone.defaultOptions.resizeWidth); +dropzone.createThumbnailFromUrl(firstFile, dropzone.defaultOptions.resizeWidth, dropzone.defaultOptions.resizeHeight); +dropzone.createThumbnailFromUrl(firstFile, dropzone.defaultOptions.resizeWidth, dropzone.defaultOptions.resizeHeight, dropzone.defaultOptions.resizeMethod); +dropzone.createThumbnailFromUrl(firstFile, dropzone.defaultOptions.resizeWidth, dropzone.defaultOptions.resizeHeight, dropzone.defaultOptions.resizeMethod, true); +dropzone.createThumbnailFromUrl(firstFile, dropzone.defaultOptions.resizeWidth, dropzone.defaultOptions.resizeHeight, dropzone.defaultOptions.resizeMethod, true, () => { console.log("createThumbnailFromUrl") }); dropzone.accept(firstFile, (e:string|Error) => { @@ -180,6 +202,9 @@ dropzone.accept(firstFile, (e:string|Error) => { const acceptedFiles = dropzone.getAcceptedFiles(); dropzone.processFiles(acceptedFiles); +const addedFiles = dropzone.getAddedFiles(); +dropzone.processFiles(addedFiles); + const rejectedFiles = dropzone.getRejectedFiles(); dropzone.enqueueFiles(rejectedFiles); @@ -192,12 +217,18 @@ dropzone.processFiles(uploadingFiles); const activeFiles = dropzone.getActiveFiles(); dropzone.processFiles(activeFiles); -const addedFiles = dropzone.getFilesWithStatus(Dropzone.ADDED); -dropzone.processFiles(addedFiles); +const getFileWithStatusAdded = dropzone.getFilesWithStatus(Dropzone.ADDED); +dropzone.processFiles(getFileWithStatusAdded); dropzone.processQueue(); dropzone.removeAllFiles(true); +dropzone.resizeImage(firstFile); +dropzone.resizeImage(firstFile, 120); +dropzone.resizeImage(firstFile, 120, 120); +dropzone.resizeImage(firstFile, 120, 120, 'contain'); +dropzone.resizeImage(firstFile, 120, 120, 'contain', function(){}); + dropzone .on("drop", () => { console.count('drop'); diff --git a/types/dropzone/index.d.ts b/types/dropzone/index.d.ts index 703172072f..e410833e68 100644 --- a/types/dropzone/index.d.ts +++ b/types/dropzone/index.d.ts @@ -1,6 +1,6 @@ -// Type definitions for Dropzone 4.3.0 +// Type definitions for Dropzone 5.0.0 // Project: http://www.dropzonejs.com/ -// Definitions by: Natan Vivo , Andy Hawkins , Vasya Aksyonov , Simon Huber , Sebastiaan de Rooij +// Definitions by: Natan Vivo , Andy Hawkins , Vasya Aksyonov , Simon Huber , Sebastiaan de Rooij , Ted Bicknell // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.3 @@ -16,8 +16,6 @@ declare namespace Dropzone { srcHeight?:number; trgWidth?:number; trgHeight?:number; - optWidth?:number; - optHeight?:number; } export interface DropzoneFile extends File { @@ -41,6 +39,12 @@ declare namespace Dropzone { maxThumbnailFilesize?: number; thumbnailWidth?: number; thumbnailHeight?: number; + thumbnailMethod?: string; + resizeWidth?: number; + resizeHeight?: number; + resizeMimeType?: string; + resizeQuality?: number; + resizeMethod?: string; filesizeBase?: number; maxFiles?: number; params?: {}; @@ -72,7 +76,7 @@ declare namespace Dropzone { init?():void; forceFallback?: boolean; fallback?():void; - resize?(file:DropzoneFile):DropzoneResizeInfo; + resize?(file:DropzoneFile, width?: number, height?: number, resizeMethod?:string):DropzoneResizeInfo; drop?(e:DragEvent):void; dragstart?(e:DragEvent):void; @@ -124,6 +128,9 @@ declare class Dropzone { static autoDiscover:boolean; static options:any; static confirm:(question:string, accepted:() => void, rejected?:() => void) => void; + static createElement(string: string): HTMLElement; + static isBrowserSupported():boolean; + static instances: Dropzone[]; static ADDED:string; static QUEUED:string; @@ -135,6 +142,7 @@ declare class Dropzone { static SUCCESS:string; files:Dropzone.DropzoneFile[]; + defaultOptions:Dropzone.DropzoneOptions; enable():void; @@ -148,18 +156,30 @@ declare class Dropzone { removeAllFiles(cancelIfNecessary?:boolean):void; + resizeImage(file:Dropzone.DropzoneFile, width?: number, height?: number, resizeMethod?: string, callback?:(...args:any[]) => void):void; + processQueue():void; cancelUpload(file:Dropzone.DropzoneFile):void; + createThumbnail(file:Dropzone.DropzoneFile, width?:number, height?:number, resizeMethod?:string, fixOrientation?: boolean, callback?:(...args:any[]) => void):any; + + createThumbnailFromUrl(file:Dropzone.DropzoneFile, width?: number, height?: number, resizeMethod?:string, fixOrientation?: boolean, callback?:(...args:any[]) => void, crossOrigin?:string):any; + processFiles(files:Dropzone.DropzoneFile[]):void; processFile(file:Dropzone.DropzoneFile):void; uploadFile(file:Dropzone.DropzoneFile):void; + uploadFiles(files:Dropzone.DropzoneFile[]):void; + getAcceptedFiles():Dropzone.DropzoneFile[]; + getActiveFiles(): Dropzone.DropzoneFile[] + + getAddedFiles() : Dropzone.DropzoneFile[]; + getRejectedFiles():Dropzone.DropzoneFile[]; getQueuedFiles():Dropzone.DropzoneFile[]; From 96f681f10c7250588976b66d3abded253c507e9e Mon Sep 17 00:00:00 2001 From: tedbcsgpro Date: Thu, 6 Jul 2017 11:26:53 -0700 Subject: [PATCH 2/5] updates style and formatting, missing semicolons --- types/dropzone/dropzone-tests.ts | 88 +++++---- types/dropzone/index.d.ts | 308 +++++++++++++++---------------- 2 files changed, 197 insertions(+), 199 deletions(-) diff --git a/types/dropzone/dropzone-tests.ts b/types/dropzone/dropzone-tests.ts index cad22badb7..53cedba333 100644 --- a/types/dropzone/dropzone-tests.ts +++ b/types/dropzone/dropzone-tests.ts @@ -1,7 +1,7 @@ const dropzoneFromString = new Dropzone(".test"); const dropzoneFromElement = new Dropzone(document.getElementById("test")); -const dropzoneRenameFunction = function (name:string):string { - return name + 'new'; +const dropzoneRenameFunction = function (name: string): string { + return name + 'new'; }; Dropzone.createElement('
'); @@ -22,10 +22,10 @@ const dropzoneWithOptions = new Dropzone(".test", { thumbnailHeight: 120, thumbnailMethod: 'crop', resizeWidth: 1024, - resizeHeight: 1024, - resizeMimeType: 'image.jpeg', - resizeQuality: .8, - resizeMethod: 'contain', + resizeHeight: 1024, + resizeMimeType: 'image.jpeg', + resizeQuality: .8, + resizeMethod: 'contain', filesizeBase: 1000, maxFiles: 100, params: { @@ -57,7 +57,7 @@ const dropzoneWithOptions = new Dropzone(".test", { dictRemoveFileConfirmation: "", dictMaxFilesExceeded: "", - accept: (file:Dropzone.DropzoneFile, done:(error?:string|Error) => void) => { + accept: (file: Dropzone.DropzoneFile, done: (error?: string | Error) => void) => { if (file.accepted) { file.previewElement.classList.add("accepted"); file.previewTemplate.classList.add("accepted"); @@ -71,7 +71,7 @@ const dropzoneWithOptions = new Dropzone(".test", { init: () => console.log("Initialized"), forceFallback: false, fallback: () => console.log("Fallback"), - resize: (file:Dropzone.DropzoneFile, width:120, height:120, resizeMethod:'contain') => ({ + resize: (file: Dropzone.DropzoneFile, width: 120, height: 120, resizeMethod: 'contain') => ({ srcX: 0, srcY: 0, trgX: 10, @@ -82,50 +82,50 @@ const dropzoneWithOptions = new Dropzone(".test", { trgHeight: 50, }), - drop: (e:DragEvent) => console.log("Drop"), - dragstart: (e:DragEvent) => console.log("Dragstart"), - dragend: (e:DragEvent) => console.log("Dragend"), - dragenter: (e:DragEvent) => console.log("Dragenter"), - dragover: (e:DragEvent) => console.log("Dragover"), - dragleave: (e:DragEvent) => console.log("Dragleave"), - paste: (e:DragEvent) => console.log("Paste"), + drop: (e: DragEvent) => console.log("Drop"), + dragstart: (e: DragEvent) => console.log("Dragstart"), + dragend: (e: DragEvent) => console.log("Dragend"), + dragenter: (e: DragEvent) => console.log("Dragenter"), + dragover: (e: DragEvent) => console.log("Dragover"), + dragleave: (e: DragEvent) => console.log("Dragleave"), + paste: (e: DragEvent) => console.log("Paste"), reset: () => console.log("Reset"), - addedfile: (file:Dropzone.DropzoneFile) => console.log("Addedfile"), - addedfiles: (files:Dropzone.DropzoneFile[]) => console.log("Addedfiles"), - removedfile: (file:Dropzone.DropzoneFile) => console.log("Removedfile"), - thumbnail: (file:Dropzone.DropzoneFile, dataUrl:string) => console.log("Thumbnail"), + addedfile: (file: Dropzone.DropzoneFile) => console.log("Addedfile"), + addedfiles: (files: Dropzone.DropzoneFile[]) => console.log("Addedfiles"), + removedfile: (file: Dropzone.DropzoneFile) => console.log("Removedfile"), + thumbnail: (file: Dropzone.DropzoneFile, dataUrl: string) => console.log("Thumbnail"), - error: (file:Dropzone.DropzoneFile, message:string|Error) => console.log("Error"), - errormultiple: (files:Dropzone.DropzoneFile[], message:string|Error) => console.log("Errormultiple"), + error: (file: Dropzone.DropzoneFile, message: string | Error) => console.log("Error"), + errormultiple: (files: Dropzone.DropzoneFile[], message: string | Error) => console.log("Errormultiple"), - processing: (file:Dropzone.DropzoneFile) => console.log("Processing"), - processingmultiple: (files:Dropzone.DropzoneFile[]) => console.log("Processingmultiple"), + processing: (file: Dropzone.DropzoneFile) => console.log("Processing"), + processingmultiple: (files: Dropzone.DropzoneFile[]) => console.log("Processingmultiple"), - uploadprogress: (file:Dropzone.DropzoneFile, progress:number, bytesSent:number) => console.log("Uploadprogress"), - totaluploadprogress: (totalProgress:number, totalBytes:number, totalBytesSent:number) => console.log("Totaluploadprogress"), + uploadprogress: (file: Dropzone.DropzoneFile, progress: number, bytesSent: number) => console.log("Uploadprogress"), + totaluploadprogress: (totalProgress: number, totalBytes: number, totalBytesSent: number) => console.log("Totaluploadprogress"), - sending: (file:Dropzone.DropzoneFile, xhr:XMLHttpRequest, formData:{}) => console.log("Sending"), - sendingmultiple: (files:Dropzone.DropzoneFile[], xhr:XMLHttpRequest, formData:{}) => console.log("Sendingmultiple"), + sending: (file: Dropzone.DropzoneFile, xhr: XMLHttpRequest, formData: {}) => console.log("Sending"), + sendingmultiple: (files: Dropzone.DropzoneFile[], xhr: XMLHttpRequest, formData: {}) => console.log("Sendingmultiple"), - success: (file:Dropzone.DropzoneFile) => console.log("Success"), - successmultiple: (files:Dropzone.DropzoneFile[]) => console.log("Successmultiple"), + success: (file: Dropzone.DropzoneFile) => console.log("Success"), + successmultiple: (files: Dropzone.DropzoneFile[]) => console.log("Successmultiple"), - canceled: (file:Dropzone.DropzoneFile) => console.log("Canceled"), - canceledmultiple: (file:Dropzone.DropzoneFile[]) => console.log("Canceledmultiple"), + canceled: (file: Dropzone.DropzoneFile) => console.log("Canceled"), + canceledmultiple: (file: Dropzone.DropzoneFile[]) => console.log("Canceledmultiple"), - complete: (file:Dropzone.DropzoneFile) => console.log("Complete"), - completemultiple: (file:Dropzone.DropzoneFile[]) => console.log("Completemultiple"), + complete: (file: Dropzone.DropzoneFile) => console.log("Complete"), + completemultiple: (file: Dropzone.DropzoneFile[]) => console.log("Completemultiple"), - maxfilesexceeded: (file:Dropzone.DropzoneFile) => console.log("Maxfilesexceeded"), - maxfilesreached: (files:Dropzone.DropzoneFile[]) => console.log("Maxfilesreached"), + maxfilesexceeded: (file: Dropzone.DropzoneFile) => console.log("Maxfilesexceeded"), + maxfilesreached: (files: Dropzone.DropzoneFile[]) => console.log("Maxfilesreached"), queuecomplete: () => console.log("Queuecomplete"), previewTemplate: "
", }); -var dropzoneWithOptionsVariations:Dropzone; +var dropzoneWithOptionsVariations: Dropzone; dropzoneWithOptionsVariations = new Dropzone(".test", { clickable: ".test" }); @@ -143,10 +143,10 @@ dropzoneWithOptionsVariations = new Dropzone(".test", { }); dropzoneWithOptionsVariations = new Dropzone(".test", { - success: (file:Dropzone.DropzoneFile, response:Object) => console.log(file, response) + success: (file: Dropzone.DropzoneFile, response: Object) => console.log(file, response) }); dropzoneWithOptionsVariations = new Dropzone(".test", { - success: (file:Dropzone.DropzoneFile, response:string) => console.log(file, response) + success: (file: Dropzone.DropzoneFile, response: string) => console.log(file, response) }); const dropzone = new Dropzone(".test"); @@ -154,8 +154,6 @@ const dropzone = new Dropzone(".test"); dropzone.enable(); dropzone.disable(); - - dropzone.files.forEach(f => { if (f.xhr) { console.log(f.xhr.readyState) @@ -195,7 +193,7 @@ dropzone.createThumbnailFromUrl(firstFile, dropzone.defaultOptions.resizeWidth, dropzone.createThumbnailFromUrl(firstFile, dropzone.defaultOptions.resizeWidth, dropzone.defaultOptions.resizeHeight, dropzone.defaultOptions.resizeMethod, true, () => { console.log("createThumbnailFromUrl") }); -dropzone.accept(firstFile, (e:string|Error) => { +dropzone.accept(firstFile, (e: string | Error) => { console.log(e); }); @@ -227,7 +225,7 @@ dropzone.resizeImage(firstFile); dropzone.resizeImage(firstFile, 120); dropzone.resizeImage(firstFile, 120, 120); dropzone.resizeImage(firstFile, 120, 120, 'contain'); -dropzone.resizeImage(firstFile, 120, 120, 'contain', function(){}); +dropzone.resizeImage(firstFile, 120, 120, 'contain', function () { }); dropzone .on("drop", () => { @@ -318,9 +316,9 @@ dropzone console.count('queuecomplete'); }); - dropzone.off("drop", () => { - console.count('drop'); - }) +dropzone.off("drop", () => { + console.count('drop'); +}) .off("dragstart") .off(); diff --git a/types/dropzone/index.d.ts b/types/dropzone/index.d.ts index e410833e68..18a70ca7fb 100644 --- a/types/dropzone/index.d.ts +++ b/types/dropzone/index.d.ts @@ -8,14 +8,14 @@ declare namespace Dropzone { export interface DropzoneResizeInfo { - srcX?:number; - srcY?:number; - trgX?:number; - trgY?:number; - srcWidth?:number; - srcHeight?:number; - trgWidth?:number; - trgHeight?:number; + srcX?: number; + srcY?: number; + trgX?: number; + trgY?: number; + srcWidth?: number; + srcHeight?: number; + trgWidth?: number; + trgHeight?: number; } export interface DropzoneFile extends File { @@ -41,22 +41,22 @@ declare namespace Dropzone { thumbnailHeight?: number; thumbnailMethod?: string; resizeWidth?: number; - resizeHeight?: number; - resizeMimeType?: string; - resizeQuality?: number; - resizeMethod?: string; + resizeHeight?: number; + resizeMimeType?: string; + resizeQuality?: number; + resizeMethod?: string; filesizeBase?: number; maxFiles?: number; params?: {}; headers?: {}; - clickable?: boolean|string|HTMLElement|(string|HTMLElement)[]; + clickable?: boolean | string | HTMLElement | (string | HTMLElement)[]; ignoreHiddenFiles?: boolean; acceptedFiles?: string; - renameFilename?(name:string): string; + renameFilename?(name: string): string; autoProcessQueue?: boolean; autoQueue?: boolean; addRemoveLinks?: boolean; - previewsContainer?: boolean|string|HTMLElement; + previewsContainer?: boolean | string | HTMLElement; hiddenInputContainer?: HTMLElement; capture?: string; @@ -72,225 +72,225 @@ declare namespace Dropzone { dictRemoveFileConfirmation?: string; dictMaxFilesExceeded?: string; - accept?(file:DropzoneFile, done:(error?:string|Error) => void):void; - init?():void; + accept?(file: DropzoneFile, done: (error?: string | Error) => void): void; + init?(): void; forceFallback?: boolean; - fallback?():void; - resize?(file:DropzoneFile, width?: number, height?: number, resizeMethod?:string):DropzoneResizeInfo; + fallback?(): void; + resize?(file: DropzoneFile, width?: number, height?: number, resizeMethod?: string): 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; + 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; + reset?(): void; - addedfile?(file:DropzoneFile):void; - addedfiles?(files:DropzoneFile[]):void; - removedfile?(file:DropzoneFile):void; - thumbnail?(file:DropzoneFile, dataUrl:string):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; + 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; + processing?(file: DropzoneFile): void; + processingmultiple?(files: DropzoneFile[]): void; - uploadprogress?(file:DropzoneFile, progress:number, bytesSent:number):void; - totaluploadprogress?(totalProgress:number, totalBytes:number, totalBytesSent:number):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; + 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; + success?(file: DropzoneFile, response: Object | string): void; + successmultiple?(files: DropzoneFile[], responseText: string): void; - canceled?(file:DropzoneFile):void; - canceledmultiple?(file:DropzoneFile[]):void; + canceled?(file: DropzoneFile): void; + canceledmultiple?(file: DropzoneFile[]): void; - complete?(file:DropzoneFile):void; - completemultiple?(file:DropzoneFile[]):void; + complete?(file: DropzoneFile): void; + completemultiple?(file: DropzoneFile[]): void; - maxfilesexceeded?(file:DropzoneFile):void; - maxfilesreached?(files:DropzoneFile[]):void; - queuecomplete?():void; + maxfilesexceeded?(file: DropzoneFile): void; + maxfilesreached?(files: DropzoneFile[]): void; + queuecomplete?(): void; previewTemplate?: string; } } declare class Dropzone { - constructor(container:string|HTMLElement, options?:Dropzone.DropzoneOptions); + constructor(container: string | HTMLElement, options?: Dropzone.DropzoneOptions); - static autoDiscover:boolean; - static options:any; - static confirm:(question:string, accepted:() => void, rejected?:() => void) => void; + static autoDiscover: boolean; + static options: any; + static confirm: (question: string, accepted: () => void, rejected?: () => void) => void; static createElement(string: string): HTMLElement; - static isBrowserSupported():boolean; + static isBrowserSupported(): boolean; static instances: Dropzone[]; - static ADDED:string; - static QUEUED:string; - static ACCEPTED:string; - static UPLOADING:string; - static PROCESSING:string; - static CANCELED:string; - static ERROR:string; - static SUCCESS:string; + 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[]; - defaultOptions:Dropzone.DropzoneOptions; + files: Dropzone.DropzoneFile[]; + defaultOptions: Dropzone.DropzoneOptions; - enable():void; + enable(): void; - disable():void; + disable(): void; - destroy():Dropzone; + destroy(): Dropzone; - addFile(file:Dropzone.DropzoneFile):void; + addFile(file: Dropzone.DropzoneFile): void; - removeFile(file:Dropzone.DropzoneFile):void; + removeFile(file: Dropzone.DropzoneFile): void; - removeAllFiles(cancelIfNecessary?:boolean):void; + removeAllFiles(cancelIfNecessary?: boolean): void; - resizeImage(file:Dropzone.DropzoneFile, width?: number, height?: number, resizeMethod?: string, callback?:(...args:any[]) => void):void; + resizeImage(file: Dropzone.DropzoneFile, width?: number, height?: number, resizeMethod?: string, callback?: (...args: any[]) => void): void; - processQueue():void; + processQueue(): void; - cancelUpload(file:Dropzone.DropzoneFile):void; + cancelUpload(file: Dropzone.DropzoneFile): void; - createThumbnail(file:Dropzone.DropzoneFile, width?:number, height?:number, resizeMethod?:string, fixOrientation?: boolean, callback?:(...args:any[]) => void):any; + createThumbnail(file: Dropzone.DropzoneFile, width?: number, height?: number, resizeMethod?: string, fixOrientation?: boolean, callback?: (...args: any[]) => void): any; - createThumbnailFromUrl(file:Dropzone.DropzoneFile, width?: number, height?: number, resizeMethod?:string, fixOrientation?: boolean, callback?:(...args:any[]) => void, crossOrigin?:string):any; + createThumbnailFromUrl(file: Dropzone.DropzoneFile, width?: number, height?: number, resizeMethod?: string, fixOrientation?: boolean, callback?: (...args: any[]) => void, crossOrigin?: string): any; - processFiles(files:Dropzone.DropzoneFile[]):void; + processFiles(files: Dropzone.DropzoneFile[]): void; - processFile(file:Dropzone.DropzoneFile):void; + processFile(file: Dropzone.DropzoneFile): void; - uploadFile(file:Dropzone.DropzoneFile):void; + uploadFile(file: Dropzone.DropzoneFile): void; - uploadFiles(files:Dropzone.DropzoneFile[]):void; + uploadFiles(files: Dropzone.DropzoneFile[]): void; - getAcceptedFiles():Dropzone.DropzoneFile[]; + getAcceptedFiles(): Dropzone.DropzoneFile[]; - getActiveFiles(): Dropzone.DropzoneFile[] + getActiveFiles(): Dropzone.DropzoneFile[]; - getAddedFiles() : Dropzone.DropzoneFile[]; - - getRejectedFiles():Dropzone.DropzoneFile[]; + getAddedFiles(): Dropzone.DropzoneFile[]; - getQueuedFiles():Dropzone.DropzoneFile[]; + getRejectedFiles(): Dropzone.DropzoneFile[]; - getUploadingFiles():Dropzone.DropzoneFile[]; + getQueuedFiles(): Dropzone.DropzoneFile[]; - accept(file:Dropzone.DropzoneFile, done:(error?:string|Error) => void):void; + getUploadingFiles(): Dropzone.DropzoneFile[]; - getActiveFiles():Dropzone.DropzoneFile[]; + accept(file: Dropzone.DropzoneFile, done: (error?: string | Error) => void): void; - getFilesWithStatus(status:string):Dropzone.DropzoneFile[]; + getActiveFiles(): Dropzone.DropzoneFile[]; - enqueueFile(file:Dropzone.DropzoneFile):void; + getFilesWithStatus(status: string): Dropzone.DropzoneFile[]; - enqueueFiles(file:Dropzone.DropzoneFile[]):void; + enqueueFile(file: Dropzone.DropzoneFile): void; - createThumbnail(file:Dropzone.DropzoneFile, callback?:(...args:any[]) => void):any; + enqueueFiles(file: Dropzone.DropzoneFile[]): void; - createThumbnailFromUrl(file:Dropzone.DropzoneFile, url:string, callback?:(...args:any[]) => void):any; + createThumbnail(file: Dropzone.DropzoneFile, callback?: (...args: any[]) => void): any; - on(eventName:string, callback:(...args:any[]) => void):Dropzone; + 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; + off(eventName: string, callback?: (...args: any[]) => void): Dropzone; - emit(eventName:string, ...args:any[]):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: "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: "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: "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: "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: "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: "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: "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: "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: "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: "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; + 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: "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: "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: "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: "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: "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: "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: "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: "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: "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: "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; + 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; + dropzone(options: Dropzone.DropzoneOptions): Dropzone; } export = Dropzone; From 6a01609d453864260da098f6871864590f023f49 Mon Sep 17 00:00:00 2001 From: tedbcsgpro Date: Fri, 7 Jul 2017 16:27:41 -0700 Subject: [PATCH 3/5] adds v4 history --- types/dropzone/v4/dropzone-tests.ts | 296 ++++++++++++++++++++++++++++ types/dropzone/v4/index.d.ts | 0 types/dropzone/v4/tsconfig.json | 26 +++ 3 files changed, 322 insertions(+) create mode 100644 types/dropzone/v4/dropzone-tests.ts create mode 100644 types/dropzone/v4/index.d.ts create mode 100644 types/dropzone/v4/tsconfig.json diff --git a/types/dropzone/v4/dropzone-tests.ts b/types/dropzone/v4/dropzone-tests.ts new file mode 100644 index 0000000000..3b56c0c50a --- /dev/null +++ b/types/dropzone/v4/dropzone-tests.ts @@ -0,0 +1,296 @@ +const dropzoneFromString = new Dropzone(".test"); +const dropzoneFromElement = new Dropzone(document.getElementById("test")); +const dropzoneRenameFunction = function (name:string):string { + return name + 'new'; +}; + +const dropzoneWithOptions = new Dropzone(".test", { + url: "/some/url", + method: "post", + withCredentials: false, + parallelUploads: 2, + uploadMultiple: true, + maxFilesize: 1024, + paramName: "file", + createImageThumbnails: true, + maxThumbnailFilesize: 1024, + thumbnailWidth: 50, + thumbnailHeight: 50, + filesizeBase: 1000, + maxFiles: 100, + params: { + additional: "param" + }, + headers: { + "Some-Header": "Value" + }, + clickable: true, + ignoreHiddenFiles: true, + acceptedFiles: "image/*", + renameFilename: dropzoneRenameFunction, + autoProcessQueue: true, + autoQueue: true, + addRemoveLinks: true, + previewsContainer: "
", + hiddenInputContainer: document.createElement("input"), + capture: "camera", + + dictDefaultMessage: "", + dictFallbackMessage: "", + dictFallbackText: "", + dictFileTooBig: "", + dictInvalidFileType: "", + dictResponseError: "", + dictCancelUpload: "", + dictCancelUploadConfirmation: "", + dictRemoveFile: "", + dictRemoveFileConfirmation: "", + dictMaxFilesExceeded: "", + + accept: (file:Dropzone.DropzoneFile, done:(error?:string|Error) => void) => { + if (file.accepted) { + file.previewElement.classList.add("accepted"); + file.previewTemplate.classList.add("accepted"); + file.previewsContainer.classList.add("accepted"); + done(); + } + else { + done(new Error(file.status)); + } + }, + init: () => console.log("Initialized"), + forceFallback: false, + fallback: () => console.log("Fallback"), + resize: (file:Dropzone.DropzoneFile) => ({ + srcX: 0, + srcY: 0, + trgX: 10, + trgY: 10, + srcWidth: 100, + srcHeight: 100, + trgWidth: 50, + trgHeight: 50, + optWidth: 50, + optHeight: 50 + }), + + drop: (e:DragEvent) => console.log("Drop"), + dragstart: (e:DragEvent) => console.log("Dragstart"), + dragend: (e:DragEvent) => console.log("Dragend"), + dragenter: (e:DragEvent) => console.log("Dragenter"), + dragover: (e:DragEvent) => console.log("Dragover"), + dragleave: (e:DragEvent) => console.log("Dragleave"), + paste: (e:DragEvent) => console.log("Paste"), + + reset: () => console.log("Reset"), + + addedfile: (file:Dropzone.DropzoneFile) => console.log("Addedfile"), + addedfiles: (files:Dropzone.DropzoneFile[]) => console.log("Addedfiles"), + removedfile: (file:Dropzone.DropzoneFile) => console.log("Removedfile"), + thumbnail: (file:Dropzone.DropzoneFile, dataUrl:string) => console.log("Thumbnail"), + + error: (file:Dropzone.DropzoneFile, message:string|Error) => console.log("Error"), + errormultiple: (files:Dropzone.DropzoneFile[], message:string|Error) => console.log("Errormultiple"), + + processing: (file:Dropzone.DropzoneFile) => console.log("Processing"), + processingmultiple: (files:Dropzone.DropzoneFile[]) => console.log("Processingmultiple"), + + uploadprogress: (file:Dropzone.DropzoneFile, progress:number, bytesSent:number) => console.log("Uploadprogress"), + totaluploadprogress: (totalProgress:number, totalBytes:number, totalBytesSent:number) => console.log("Totaluploadprogress"), + + sending: (file:Dropzone.DropzoneFile, xhr:XMLHttpRequest, formData:{}) => console.log("Sending"), + sendingmultiple: (files:Dropzone.DropzoneFile[], xhr:XMLHttpRequest, formData:{}) => console.log("Sendingmultiple"), + + success: (file:Dropzone.DropzoneFile) => console.log("Success"), + successmultiple: (files:Dropzone.DropzoneFile[]) => console.log("Successmultiple"), + + canceled: (file:Dropzone.DropzoneFile) => console.log("Canceled"), + canceledmultiple: (file:Dropzone.DropzoneFile[]) => console.log("Canceledmultiple"), + + complete: (file:Dropzone.DropzoneFile) => console.log("Complete"), + completemultiple: (file:Dropzone.DropzoneFile[]) => console.log("Completemultiple"), + + maxfilesexceeded: (file:Dropzone.DropzoneFile) => console.log("Maxfilesexceeded"), + maxfilesreached: (files:Dropzone.DropzoneFile[]) => console.log("Maxfilesreached"), + queuecomplete: () => console.log("Queuecomplete"), + + previewTemplate: "
", +}); + +var dropzoneWithOptionsVariations:Dropzone; +dropzoneWithOptionsVariations = new Dropzone(".test", { + clickable: ".test" +}); +dropzoneWithOptionsVariations = new Dropzone(".test", { + clickable: document.getElementById("test") +}); +dropzoneWithOptionsVariations = new Dropzone(".test", { + clickable: [".test", ".test"] +}); +dropzoneWithOptionsVariations = new Dropzone(".test", { + clickable: [document.getElementById("test"), document.getElementById("test")] +}); +dropzoneWithOptionsVariations = new Dropzone(".test", { + clickable: ["test", document.getElementById("test")] +}); + +dropzoneWithOptionsVariations = new Dropzone(".test", { + success: (file:Dropzone.DropzoneFile, response:Object) => console.log(file, response) +}); +dropzoneWithOptionsVariations = new Dropzone(".test", { + success: (file:Dropzone.DropzoneFile, response:string) => console.log(file, response) +}); + +const dropzone = new Dropzone(".test"); + +dropzone.enable(); +dropzone.disable(); + +dropzone.files.forEach(f => { + if (f.xhr) { + console.log(f.xhr.readyState) + } + if (f.accepted) { + f.previewElement.classList.add("accepted"); + f.previewTemplate.classList.add("accepted"); + f.previewsContainer.classList.add("accepted"); + } + else { + console.log(f.status.toUpperCase()); + } +}); + +const firstFile = dropzone.files[0]; +dropzone.removeFile(firstFile); +dropzone.addFile(firstFile); +dropzone.enqueueFile(firstFile); +dropzone.processFile(firstFile); +dropzone.uploadFile(firstFile); +dropzone.cancelUpload(firstFile); +dropzone.createThumbnail(firstFile, () => { + console.log("createThumbnail") +}); +dropzone.createThumbnailFromUrl(firstFile, "/some/url", () => { + console.log("createThumbnailFromUrl") +}); +dropzone.accept(firstFile, (e:string|Error) => { + console.log(e); +}); + +const acceptedFiles = dropzone.getAcceptedFiles(); +dropzone.processFiles(acceptedFiles); + +const rejectedFiles = dropzone.getRejectedFiles(); +dropzone.enqueueFiles(rejectedFiles); + +const queuedFiles = dropzone.getQueuedFiles(); +dropzone.processFiles(queuedFiles); + +const uploadingFiles = dropzone.getUploadingFiles(); +dropzone.processFiles(uploadingFiles); + +const activeFiles = dropzone.getActiveFiles(); +dropzone.processFiles(activeFiles); + +const addedFiles = dropzone.getFilesWithStatus(Dropzone.ADDED); +dropzone.processFiles(addedFiles); + +dropzone.processQueue(); +dropzone.removeAllFiles(true); + +dropzone + .on("drop", () => { + console.count('drop'); + }) + .on("dragstart", () => { + console.count('dragstart'); + }) + .on("dragend", () => { + console.count('dragend'); + }) + .on("dragenter", () => { + console.count('dragenter'); + }) + .on("dragover", () => { + console.count('dragover'); + }) + .on("dragleave", () => { + console.count('dragleave'); + }) + .on("paste", () => { + console.count('paste'); + }) + .on("reset", () => { + console.count('reset'); + }) + .on("addedfile", () => { + console.count('addedfile'); + }) + .on("addedfiles", () => { + console.count('addedfiles'); + }) + .on("removedfile", () => { + console.count('removedfile'); + }) + .on("thumbnail", () => { + console.count('thumbnail'); + }) + .on("error", () => { + console.count('error'); + }) + .on("errormultiple", () => { + console.count('errormultiple'); + }) + .on("processing", () => { + console.count('processing'); + }) + .on("processingmultiple", () => { + console.count('processingmultiple'); + }) + .on("uploadprogress", () => { + console.count('uploadprogress'); + }) + .on("totaluploadprogress", () => { + console.count('totaluploadprogress'); + }) + .on("sending", () => { + console.count('sending'); + }) + .on("sendingmultiple", () => { + console.count('sendingmultiple'); + }) + .on("success", () => { + console.count('success'); + }) + .on("successmultiple", () => { + console.count('successmultiple'); + }) + .on("canceled", () => { + console.count('canceled'); + }) + .on("canceledmultiple", () => { + console.count('canceledmultiple'); + }) + .on("complete", () => { + console.count('complete'); + }) + .on("completemultiple", () => { + console.count('completemultiple'); + }) + .on("maxfilesexceeded", () => { + console.count('maxfilesexceeded'); + }) + .on("maxfilesreached", () => { + console.count('maxfilesreached'); + }) + .on("queuecomplete", () => { + console.count('queuecomplete'); + }); + + dropzone.off("drop", () => { + console.count('drop'); + }) + .off("dragstart") + .off(); + +dropzone.destroy(); \ No newline at end of file diff --git a/types/dropzone/v4/index.d.ts b/types/dropzone/v4/index.d.ts new file mode 100644 index 0000000000..e69de29bb2 diff --git a/types/dropzone/v4/tsconfig.json b/types/dropzone/v4/tsconfig.json new file mode 100644 index 0000000000..10f2d83747 --- /dev/null +++ b/types/dropzone/v4/tsconfig.json @@ -0,0 +1,26 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6", + "dom" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": false, + "baseUrl": "../../", + "typeRoots": [ + "../../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true, + "paths": { + "history": ["history/v4"] + } + }, + "files": [ + "index.d.ts", + "dropzone-tests.ts" + ] +} \ No newline at end of file From f2ed9c9e73baef98be989bbebbecd291975952cb Mon Sep 17 00:00:00 2001 From: tedbcsgpro Date: Fri, 7 Jul 2017 16:40:08 -0700 Subject: [PATCH 4/5] attempt 1 to fix Travis CI build errors --- .../{dropzone-tests.ts => history-tests.ts} | 0 types/dropzone/v4/index.d.ts | 279 ++++++++++++++++++ types/dropzone/v4/tsconfig.json | 2 +- 3 files changed, 280 insertions(+), 1 deletion(-) rename types/dropzone/v4/{dropzone-tests.ts => history-tests.ts} (100%) 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 From 3e76717ca119b83d3cb7d6cd25cfdb785045b3de Mon Sep 17 00:00:00 2001 From: tedbcsgpro Date: Fri, 7 Jul 2017 17:06:40 -0700 Subject: [PATCH 5/5] fixes test errors --- types/dropzone/v4/{history-tests.ts => dropzone-tests.ts} | 0 types/dropzone/v4/tsconfig.json | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) rename types/dropzone/v4/{history-tests.ts => dropzone-tests.ts} (100%) diff --git a/types/dropzone/v4/history-tests.ts b/types/dropzone/v4/dropzone-tests.ts similarity index 100% rename from types/dropzone/v4/history-tests.ts rename to types/dropzone/v4/dropzone-tests.ts diff --git a/types/dropzone/v4/tsconfig.json b/types/dropzone/v4/tsconfig.json index 5c818e33c5..36eb5f0aef 100644 --- a/types/dropzone/v4/tsconfig.json +++ b/types/dropzone/v4/tsconfig.json @@ -16,11 +16,11 @@ "noEmit": true, "forceConsistentCasingInFileNames": true, "paths": { - "history": ["history/v4"] + "dropzone": ["dropzone/v4"] } }, "files": [ "index.d.ts", - "history-tests.ts" + "dropzone-tests.ts" ] } \ No newline at end of file