From b5528071bb7ccec16f72b06ef40013e4e62cc3c9 Mon Sep 17 00:00:00 2001 From: John Reilly Date: Tue, 23 Sep 2014 14:50:50 +0100 Subject: [PATCH] Created basic angular-file-upload typings Not perfect I suspect but a starting point. --- CONTRIBUTORS.md | 1 + .../angular-file-upload-tests.ts | 47 +++++++++++++++++++ angular-file-upload/angular-file-upload.d.ts | 26 ++++++++++ 3 files changed, 74 insertions(+) create mode 100644 angular-file-upload/angular-file-upload-tests.ts create mode 100644 angular-file-upload/angular-file-upload.d.ts diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 4fe6f526e..815d84b27 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -13,6 +13,7 @@ All definitions files include a header with the author and editors, so at some p * [AngularFire](https://www.firebase.com/docs/angular/reference.html) (by [Dénes Harmath](https://github.com/thSoft)) * [AngularJS](http://angularjs.org) (by [Diego Vilar](https://github.com/diegovilar)) ([wiki](https://github.com/borisyankov/DefinitelyTyped/wiki/AngularJS-Definitions-Usage-Notes)) * [angularLocalStorage](https://github.com/agrublev/angularLocalStorage) (by [Hiroki Horiuchi](https://github.com/horiuchi/)) +* [angular-file-upload](https://github.com/danialfarid/angular-file-upload) (by [John Reilly](https://github.com/johnnyreilly)) * [angular-spinner](https://github.com/urish/angular-spinner) (by [Marcin Biegała](https://github.com/Biegal)) * [AngularUI](http://angular-ui.github.io/) (by [Michel Salib](https://github.com/michelsalib)) * [Angular Hotkeys](https://github.com/chieffancypants/angular-hotkeys/) (by [Jason Zhao](https://github.com/jlz27)) diff --git a/angular-file-upload/angular-file-upload-tests.ts b/angular-file-upload/angular-file-upload-tests.ts new file mode 100644 index 000000000..d59e65b4e --- /dev/null +++ b/angular-file-upload/angular-file-upload-tests.ts @@ -0,0 +1,47 @@ +/// + +module controllers { + + "use strict"; + + var controllerId = "upload"; + + class Upload { + + static $inject = ["$upload"]; + constructor( + private $upload: ng.angularFileUpload.IUploadService + ) { + } + + onFileSelect($files: File[]) { + //$files: an array of files selected, each file has name, size, and type. + var uploads: ng.IPromise[] = []; + for (var i = 0; i < $files.length; i++) { + var file = $files[i]; + uploads.push(this.$upload.upload({ + url: "/api/upload", + method: "POST", + data: { + extraData: { + fileName: file.name, test: "anything" + } + }, + file: file + }) + .progress((evt: any) => { + console.log('progress'); + }) + .then(success => { + // file is uploaded successfully + console.log(success.data); + }) + .catch(err => { + console.error(err); + })); + } + } + } + + angular.module("app").controller(controllerId, Upload); +} diff --git a/angular-file-upload/angular-file-upload.d.ts b/angular-file-upload/angular-file-upload.d.ts new file mode 100644 index 000000000..9c3542888 --- /dev/null +++ b/angular-file-upload/angular-file-upload.d.ts @@ -0,0 +1,26 @@ +// Type definitions for Angular File Upload 1.6.7 +// Project: https://github.com/danialfarid/angular-file-upload +// Definitions by: John Reilly +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +/// + +declare module ng.angularFileUpload { + + interface IUploadService { + + http(config: IFileUploadConfig): IUploadPromise; + upload(config: IFileUploadConfig): IUploadPromise; + } + + interface IUploadPromise extends IHttpPromise { + + progress(callback: IHttpPromiseCallback): IUploadPromise; + } + + interface IFileUploadConfig extends ng.IRequestConfig { + + file: File; + fileName?: string; + } +} \ No newline at end of file