ng2-file-upload 1.1.4-2 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/ng2-file-upload.umd.js +1994 -1036
- package/bundles/ng2-file-upload.umd.js.map +1 -1
- package/bundles/ng2-file-upload.umd.min.js +2 -1
- package/bundles/ng2-file-upload.umd.min.js.map +1 -0
- package/esm2015/file-upload/file-drop.directive.js +139 -0
- package/esm2015/file-upload/file-item.class.js +268 -0
- package/esm2015/file-upload/file-like-object.class.js +60 -0
- package/esm2015/file-upload/file-select.directive.js +73 -0
- package/esm2015/file-upload/file-type.class.js +194 -0
- package/esm2015/file-upload/file-upload.module.js +18 -0
- package/esm2015/file-upload/file-uploader.class.js +845 -0
- package/esm2015/index.js +11 -0
- package/esm2015/ng2-file-upload.js +9 -0
- package/esm5/file-upload/file-drop.directive.js +171 -0
- package/esm5/file-upload/file-item.class.js +347 -0
- package/esm5/file-upload/file-like-object.class.js +67 -0
- package/esm5/file-upload/file-select.directive.js +84 -0
- package/esm5/file-upload/file-type.class.js +206 -0
- package/esm5/file-upload/file-upload.module.js +22 -0
- package/esm5/file-upload/file-uploader.class.js +1132 -0
- package/esm5/index.js +11 -0
- package/esm5/ng2-file-upload.js +9 -0
- package/fesm2015/ng2-file-upload.js +1599 -0
- package/fesm2015/ng2-file-upload.js.map +1 -0
- package/fesm5/ng2-file-upload.js +2020 -0
- package/fesm5/ng2-file-upload.js.map +1 -0
- package/file-upload/file-drop.directive.d.ts +6 -6
- package/file-upload/file-item.class.d.ts +3 -3
- package/file-upload/file-like-object.class.d.ts +1 -0
- package/file-upload/file-select.directive.d.ts +3 -2
- package/file-upload/file-type.class.d.ts +2 -1
- package/file-upload/file-uploader.class.d.ts +32 -24
- package/index.d.ts +2 -0
- package/ng2-file-upload.d.ts +4 -4
- package/ng2-file-upload.metadata.json +1 -1
- package/package.json +16 -25
- package/CHANGELOG.md +0 -91
- package/README.md +0 -64
- package/file-upload/file-drop.directive.js +0 -89
- package/file-upload/file-drop.directive.metadata.json +0 -1
- package/file-upload/file-item.class.js +0 -126
- package/file-upload/file-like-object.class.js +0 -27
- package/file-upload/file-select.directive.js +0 -40
- package/file-upload/file-select.directive.metadata.json +0 -1
- package/file-upload/file-type.class.js +0 -162
- package/file-upload/file-upload.module.js +0 -20
- package/file-upload/file-upload.module.metadata.json +0 -1
- package/file-upload/file-uploader.class.js +0 -398
- package/index.js +0 -9
- package/index.metadata.json +0 -1
- package/ng2-file-upload.js +0 -9
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap d581827d872d48ec7113","webpack:///./src/file-upload/file-uploader.class.ts","webpack:///external \"@angular/core\"","webpack:///./src/file-upload/file-drop.directive.ts","webpack:///./src/file-upload/file-select.directive.ts","webpack:///./src/file-upload/file-like-object.class.ts","webpack:///./src/file-upload/file-upload.module.ts","webpack:///./src/file-upload/file-item.class.ts","webpack:///./src/file-upload/file-type.class.ts","webpack:///external \"@angular/common\"","webpack:///./src/index.ts"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA,mDAA2C,cAAc;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA,YAAI;AACJ;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;;AC9DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,iDAAiD;AACvF;AACA,0CAA0C,6CAA6C;AACvF;AACA;AACA,0CAA0C,6CAA6C;AACvF;AACA;AACA,0CAA0C,6CAA6C;AACvF;AACA,uBAAuB,uBAAuB;AAC9C;AACA;AACA,yCAAyC,uCAAuC;AAChF;AACA;AACA;AACA;AACA,yCAAyC,qBAAqB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uEAAuE,0BAA0B,EAAE;AACnG;AACA;AACA;AACA,mCAAmC,mCAAmC,EAAE;AACxE;AACA;AACA;AACA;AACA,mCAAmC,sBAAsB,EAAE;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,yBAAyB,EAAE;AAC7E;AACA;AACA;AACA,qCAAqC,4CAA4C,EAAE;AACnF,2CAA2C,kCAAkC,EAAE;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,UAAU,EAAE;AACZ;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,UAAU,EAAE;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,EAAE;AACZ;AACA,uDAAuD,gBAAgB;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,WAAW;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,4CAA4C,EAAE;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,EAAE;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;;;;;;AC7YA,+C;;;;;;;ACAA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0FAA0F;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,4BAA4B;AACtD;AACA;AACA;AACA;AACA,CAAC;AACD;;;;;;;;AC9GA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,8BAA8B;AACxD;AACA;AACA;AACA;AACA,CAAC;AACD;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;;;;;;;AC1BA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,CAAC;AACD;;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD,sDAAsD;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;;;;;;;AC7HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;;;;;;ACjKA,+C;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"ng2-file-upload.umd.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"@angular/common\"), require(\"@angular/core\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"@angular/common\", \"@angular/core\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ng2-file-upload.umd\"] = factory(require(\"@angular/common\"), require(\"@angular/core\"));\n\telse\n\t\troot[\"ng2-file-upload.umd\"] = factory(root[\"@angular/common\"], root[\"@angular/core\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_8__, __WEBPACK_EXTERNAL_MODULE_1__) {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmory imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmory exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tObject.defineProperty(exports, name, {\n \t\t\tconfigurable: false,\n \t\t\tenumerable: true,\n \t\t\tget: getter\n \t\t});\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 9);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap d581827d872d48ec7113","\"use strict\";\nvar file_like_object_class_1 = require('./file-like-object.class');\nvar file_item_class_1 = require('./file-item.class');\nvar file_type_class_1 = require('./file-type.class');\nfunction isFile(value) {\n return (File && value instanceof File);\n}\nvar FileUploader = (function () {\n function FileUploader(options) {\n this.isUploading = false;\n this.queue = [];\n this.progress = 0;\n this._nextIndex = 0;\n this.options = {\n autoUpload: false,\n isHTML5: true,\n filters: [],\n removeAfterUpload: false,\n disableMultipart: false\n };\n this.setOptions(options);\n }\n FileUploader.prototype.setOptions = function (options) {\n this.options = Object.assign(this.options, options);\n this.authToken = options.authToken;\n this.authTokenHeader = options.authTokenHeader || 'Authorization';\n this.autoUpload = options.autoUpload;\n this.options.filters.unshift({ name: 'queueLimit', fn: this._queueLimitFilter });\n if (this.options.maxFileSize) {\n this.options.filters.unshift({ name: 'fileSize', fn: this._fileSizeFilter });\n }\n if (this.options.allowedFileType) {\n this.options.filters.unshift({ name: 'fileType', fn: this._fileTypeFilter });\n }\n if (this.options.allowedMimeType) {\n this.options.filters.unshift({ name: 'mimeType', fn: this._mimeTypeFilter });\n }\n for (var i = 0; i < this.queue.length; i++) {\n this.queue[i].url = this.options.url;\n }\n // this.options.filters.unshift({name: 'folder', fn: this._folderFilter});\n };\n FileUploader.prototype.addToQueue = function (files, options, filters) {\n var _this = this;\n var list = [];\n for (var _i = 0, files_1 = files; _i < files_1.length; _i++) {\n var file = files_1[_i];\n list.push(file);\n }\n var arrayOfFilters = this._getFilters(filters);\n var count = this.queue.length;\n var addedFileItems = [];\n list.map(function (some) {\n if (!options) {\n options = _this.options;\n }\n var temp = new file_like_object_class_1.FileLikeObject(some);\n if (_this._isValidFile(temp, arrayOfFilters, options)) {\n var fileItem = new file_item_class_1.FileItem(_this, some, options);\n addedFileItems.push(fileItem);\n _this.queue.push(fileItem);\n _this._onAfterAddingFile(fileItem);\n }\n else {\n var filter = arrayOfFilters[_this._failFilterIndex];\n _this._onWhenAddingFileFailed(temp, filter, options);\n }\n });\n if (this.queue.length !== count) {\n this._onAfterAddingAll(addedFileItems);\n this.progress = this._getTotalProgress();\n }\n this._render();\n if (this.options.autoUpload) {\n this.uploadAll();\n }\n };\n FileUploader.prototype.removeFromQueue = function (value) {\n var index = this.getIndexOfItem(value);\n var item = this.queue[index];\n if (item.isUploading) {\n item.cancel();\n }\n this.queue.splice(index, 1);\n this.progress = this._getTotalProgress();\n };\n FileUploader.prototype.clearQueue = function () {\n while (this.queue.length) {\n this.queue[0].remove();\n }\n this.progress = 0;\n };\n FileUploader.prototype.uploadItem = function (value) {\n var index = this.getIndexOfItem(value);\n var item = this.queue[index];\n var transport = this.options.isHTML5 ? '_xhrTransport' : '_iframeTransport';\n item._prepareToUploading();\n if (this.isUploading) {\n return;\n }\n this.isUploading = true;\n this[transport](item);\n };\n FileUploader.prototype.cancelItem = function (value) {\n var index = this.getIndexOfItem(value);\n var item = this.queue[index];\n var prop = this.options.isHTML5 ? item._xhr : item._form;\n if (item && item.isUploading) {\n prop.abort();\n }\n };\n FileUploader.prototype.uploadAll = function () {\n var items = this.getNotUploadedItems().filter(function (item) { return !item.isUploading; });\n if (!items.length) {\n return;\n }\n items.map(function (item) { return item._prepareToUploading(); });\n items[0].upload();\n };\n FileUploader.prototype.cancelAll = function () {\n var items = this.getNotUploadedItems();\n items.map(function (item) { return item.cancel(); });\n };\n FileUploader.prototype.isFile = function (value) {\n return isFile(value);\n };\n FileUploader.prototype.isFileLikeObject = function (value) {\n return value instanceof file_like_object_class_1.FileLikeObject;\n };\n FileUploader.prototype.getIndexOfItem = function (value) {\n return typeof value === 'number' ? value : this.queue.indexOf(value);\n };\n FileUploader.prototype.getNotUploadedItems = function () {\n return this.queue.filter(function (item) { return !item.isUploaded; });\n };\n FileUploader.prototype.getReadyItems = function () {\n return this.queue\n .filter(function (item) { return (item.isReady && !item.isUploading); })\n .sort(function (item1, item2) { return item1.index - item2.index; });\n };\n FileUploader.prototype.destroy = function () {\n return void 0;\n /*forEach(this._directives, (key) => {\n forEach(this._directives[key], (object) => {\n object.destroy();\n });\n });*/\n };\n FileUploader.prototype.onAfterAddingAll = function (fileItems) {\n return { fileItems: fileItems };\n };\n FileUploader.prototype.onBuildItemForm = function (fileItem, form) {\n return { fileItem: fileItem, form: form };\n };\n FileUploader.prototype.onAfterAddingFile = function (fileItem) {\n return { fileItem: fileItem };\n };\n FileUploader.prototype.onWhenAddingFileFailed = function (item, filter, options) {\n return { item: item, filter: filter, options: options };\n };\n FileUploader.prototype.onBeforeUploadItem = function (fileItem) {\n return { fileItem: fileItem };\n };\n FileUploader.prototype.onProgressItem = function (fileItem, progress) {\n return { fileItem: fileItem, progress: progress };\n };\n FileUploader.prototype.onProgressAll = function (progress) {\n return { progress: progress };\n };\n FileUploader.prototype.onSuccessItem = function (item, response, status, headers) {\n return { item: item, response: response, status: status, headers: headers };\n };\n FileUploader.prototype.onErrorItem = function (item, response, status, headers) {\n return { item: item, response: response, status: status, headers: headers };\n };\n FileUploader.prototype.onCancelItem = function (item, response, status, headers) {\n return { item: item, response: response, status: status, headers: headers };\n };\n FileUploader.prototype.onCompleteItem = function (item, response, status, headers) {\n return { item: item, response: response, status: status, headers: headers };\n };\n FileUploader.prototype.onCompleteAll = function () {\n return void 0;\n };\n FileUploader.prototype._mimeTypeFilter = function (item) {\n return !(this.options.allowedMimeType && this.options.allowedMimeType.indexOf(item.type) === -1);\n };\n FileUploader.prototype._fileSizeFilter = function (item) {\n return !(this.options.maxFileSize && item.size > this.options.maxFileSize);\n };\n FileUploader.prototype._fileTypeFilter = function (item) {\n return !(this.options.allowedFileType &&\n this.options.allowedFileType.indexOf(file_type_class_1.FileType.getMimeClass(item)) === -1);\n };\n FileUploader.prototype._onErrorItem = function (item, response, status, headers) {\n item._onError(response, status, headers);\n this.onErrorItem(item, response, status, headers);\n };\n FileUploader.prototype._onCompleteItem = function (item, response, status, headers) {\n item._onComplete(response, status, headers);\n this.onCompleteItem(item, response, status, headers);\n var nextItem = this.getReadyItems()[0];\n this.isUploading = false;\n if (nextItem) {\n nextItem.upload();\n return;\n }\n this.onCompleteAll();\n this.progress = this._getTotalProgress();\n this._render();\n };\n FileUploader.prototype._headersGetter = function (parsedHeaders) {\n return function (name) {\n if (name) {\n return parsedHeaders[name.toLowerCase()] || void 0;\n }\n return parsedHeaders;\n };\n };\n FileUploader.prototype._xhrTransport = function (item) {\n var _this = this;\n var xhr = item._xhr = new XMLHttpRequest();\n var sendable;\n this._onBeforeUploadItem(item);\n // todo\n /*item.formData.map(obj => {\n obj.map((value, key) => {\n form.append(key, value);\n });\n });*/\n if (typeof item._file.size !== 'number') {\n throw new TypeError('The file specified is no longer valid');\n }\n if (!this.options.disableMultipart) {\n sendable = new FormData();\n this._onBuildItemForm(item, sendable);\n sendable.append(item.alias, item._file, item.file.name);\n }\n else {\n sendable = item._file;\n }\n xhr.upload.onprogress = function (event) {\n var progress = Math.round(event.lengthComputable ? event.loaded * 100 / event.total : 0);\n _this._onProgressItem(item, progress);\n };\n xhr.onload = function () {\n var headers = _this._parseHeaders(xhr.getAllResponseHeaders());\n var response = _this._transformResponse(xhr.response, headers);\n var gist = _this._isSuccessCode(xhr.status) ? 'Success' : 'Error';\n var method = '_on' + gist + 'Item';\n _this[method](item, response, xhr.status, headers);\n _this._onCompleteItem(item, response, xhr.status, headers);\n };\n xhr.onerror = function () {\n var headers = _this._parseHeaders(xhr.getAllResponseHeaders());\n var response = _this._transformResponse(xhr.response, headers);\n _this._onErrorItem(item, response, xhr.status, headers);\n _this._onCompleteItem(item, response, xhr.status, headers);\n };\n xhr.onabort = function () {\n var headers = _this._parseHeaders(xhr.getAllResponseHeaders());\n var response = _this._transformResponse(xhr.response, headers);\n _this._onCancelItem(item, response, xhr.status, headers);\n _this._onCompleteItem(item, response, xhr.status, headers);\n };\n xhr.open(item.method, item.url, true);\n xhr.withCredentials = item.withCredentials;\n // todo\n /*item.headers.map((value, name) => {\n xhr.setRequestHeader(name, value);\n });*/\n if (this.options.headers) {\n for (var _i = 0, _a = this.options.headers; _i < _a.length; _i++) {\n var header = _a[_i];\n xhr.setRequestHeader(header.name, header.value);\n }\n }\n if (this.authToken) {\n xhr.setRequestHeader(this.authTokenHeader, this.authToken);\n }\n xhr.send(sendable);\n this._render();\n };\n FileUploader.prototype._getTotalProgress = function (value) {\n if (value === void 0) { value = 0; }\n if (this.options.removeAfterUpload) {\n return value;\n }\n var notUploaded = this.getNotUploadedItems().length;\n var uploaded = notUploaded ? this.queue.length - notUploaded : this.queue.length;\n var ratio = 100 / this.queue.length;\n var current = value * ratio / 100;\n return Math.round(uploaded * ratio + current);\n };\n FileUploader.prototype._getFilters = function (filters) {\n if (!filters) {\n return this.options.filters;\n }\n if (Array.isArray(filters)) {\n return filters;\n }\n if (typeof filters === 'string') {\n var names_1 = filters.match(/[^\\s,]+/g);\n return this.options.filters\n .filter(function (filter) { return names_1.indexOf(filter.name) !== -1; });\n }\n return this.options.filters;\n };\n FileUploader.prototype._render = function () {\n return void 0;\n // todo: ?\n };\n // private _folderFilter(item:FileItem):boolean {\n // return !!(item.size || item.type);\n // }\n FileUploader.prototype._queueLimitFilter = function () {\n return this.options.queueLimit === undefined || this.queue.length < this.options.queueLimit;\n };\n FileUploader.prototype._isValidFile = function (file, filters, options) {\n var _this = this;\n this._failFilterIndex = -1;\n return !filters.length ? true : filters.every(function (filter) {\n _this._failFilterIndex++;\n return filter.fn.call(_this, file, options);\n });\n };\n FileUploader.prototype._isSuccessCode = function (status) {\n return (status >= 200 && status < 300) || status === 304;\n };\n /* tslint:disable */\n FileUploader.prototype._transformResponse = function (response, headers) {\n // todo: ?\n /*var headersGetter = this._headersGetter(headers);\n forEach($http.defaults.transformResponse, (transformFn) => {\n response = transformFn(response, headersGetter);\n });*/\n return response;\n };\n /* tslint:enable */\n FileUploader.prototype._parseHeaders = function (headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n if (!headers) {\n return parsed;\n }\n headers.split('\\n').map(function (line) {\n i = line.indexOf(':');\n key = line.slice(0, i).trim().toLowerCase();\n val = line.slice(i + 1).trim();\n if (key) {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n return parsed;\n };\n /*private _iframeTransport(item:FileItem) {\n // todo: implement it later\n }*/\n FileUploader.prototype._onWhenAddingFileFailed = function (item, filter, options) {\n this.onWhenAddingFileFailed(item, filter, options);\n };\n FileUploader.prototype._onAfterAddingFile = function (item) {\n this.onAfterAddingFile(item);\n };\n FileUploader.prototype._onAfterAddingAll = function (items) {\n this.onAfterAddingAll(items);\n };\n FileUploader.prototype._onBeforeUploadItem = function (item) {\n item._onBeforeUpload();\n this.onBeforeUploadItem(item);\n };\n FileUploader.prototype._onBuildItemForm = function (item, form) {\n item._onBuildForm(form);\n this.onBuildItemForm(item, form);\n };\n FileUploader.prototype._onProgressItem = function (item, progress) {\n var total = this._getTotalProgress(progress);\n this.progress = total;\n item._onProgress(progress);\n this.onProgressItem(item, progress);\n this.onProgressAll(total);\n this._render();\n };\n /* tslint:disable */\n FileUploader.prototype._onSuccessItem = function (item, response, status, headers) {\n item._onSuccess(response, status, headers);\n this.onSuccessItem(item, response, status, headers);\n };\n /* tslint:enable */\n FileUploader.prototype._onCancelItem = function (item, response, status, headers) {\n item._onCancel(response, status, headers);\n this.onCancelItem(item, response, status, headers);\n };\n return FileUploader;\n}());\nexports.FileUploader = FileUploader;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/file-upload/file-uploader.class.ts\n// module id = 0\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_1__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"@angular/core\"\n// module id = 1\n// module chunks = 0","\"use strict\";\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar core_1 = require('@angular/core');\nvar file_uploader_class_1 = require('./file-uploader.class');\nvar FileDropDirective = (function () {\n function FileDropDirective(element) {\n this.fileOver = new core_1.EventEmitter();\n this.onFileDrop = new core_1.EventEmitter();\n this.element = element;\n }\n FileDropDirective.prototype.getOptions = function () {\n return this.uploader.options;\n };\n FileDropDirective.prototype.getFilters = function () {\n return {};\n };\n FileDropDirective.prototype.onDrop = function (event) {\n var transfer = this._getTransfer(event);\n if (!transfer) {\n return;\n }\n var options = this.getOptions();\n var filters = this.getFilters();\n this._preventAndStop(event);\n this.uploader.addToQueue(transfer.files, options, filters);\n this.fileOver.emit(false);\n this.onFileDrop.emit(transfer.files);\n };\n FileDropDirective.prototype.onDragOver = function (event) {\n var transfer = this._getTransfer(event);\n if (!this._haveFiles(transfer.types)) {\n return;\n }\n transfer.dropEffect = 'copy';\n this._preventAndStop(event);\n this.fileOver.emit(true);\n };\n FileDropDirective.prototype.onDragLeave = function (event) {\n if (event.currentTarget === this.element[0]) {\n return;\n }\n this._preventAndStop(event);\n this.fileOver.emit(false);\n };\n FileDropDirective.prototype._getTransfer = function (event) {\n return event.dataTransfer ? event.dataTransfer : event.originalEvent.dataTransfer; // jQuery fix;\n };\n FileDropDirective.prototype._preventAndStop = function (event) {\n event.preventDefault();\n event.stopPropagation();\n };\n FileDropDirective.prototype._haveFiles = function (types) {\n if (!types) {\n return false;\n }\n if (types.indexOf) {\n return types.indexOf('Files') !== -1;\n }\n else if (types.contains) {\n return types.contains('Files');\n }\n else {\n return false;\n }\n };\n __decorate([\n core_1.Input(), \n __metadata('design:type', (typeof (_a = typeof file_uploader_class_1.FileUploader !== 'undefined' && file_uploader_class_1.FileUploader) === 'function' && _a) || Object)\n ], FileDropDirective.prototype, \"uploader\", void 0);\n __decorate([\n core_1.Output(), \n __metadata('design:type', (typeof (_b = typeof core_1.EventEmitter !== 'undefined' && core_1.EventEmitter) === 'function' && _b) || Object)\n ], FileDropDirective.prototype, \"fileOver\", void 0);\n __decorate([\n core_1.Output(), \n __metadata('design:type', (typeof (_c = typeof core_1.EventEmitter !== 'undefined' && core_1.EventEmitter) === 'function' && _c) || Object)\n ], FileDropDirective.prototype, \"onFileDrop\", void 0);\n __decorate([\n core_1.HostListener('drop', ['$event']), \n __metadata('design:type', Function), \n __metadata('design:paramtypes', [Object]), \n __metadata('design:returntype', void 0)\n ], FileDropDirective.prototype, \"onDrop\", null);\n __decorate([\n core_1.HostListener('dragover', ['$event']), \n __metadata('design:type', Function), \n __metadata('design:paramtypes', [Object]), \n __metadata('design:returntype', void 0)\n ], FileDropDirective.prototype, \"onDragOver\", null);\n __decorate([\n core_1.HostListener('dragleave', ['$event']), \n __metadata('design:type', Function), \n __metadata('design:paramtypes', [Object]), \n __metadata('design:returntype', Object)\n ], FileDropDirective.prototype, \"onDragLeave\", null);\n FileDropDirective = __decorate([\n core_1.Directive({ selector: '[ng2FileDrop]' }), \n __metadata('design:paramtypes', [(typeof (_d = typeof core_1.ElementRef !== 'undefined' && core_1.ElementRef) === 'function' && _d) || Object])\n ], FileDropDirective);\n return FileDropDirective;\n var _a, _b, _c, _d;\n}());\nexports.FileDropDirective = FileDropDirective;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/file-upload/file-drop.directive.ts\n// module id = 2\n// module chunks = 0","\"use strict\";\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar core_1 = require('@angular/core');\nvar file_uploader_class_1 = require('./file-uploader.class');\n// todo: filters\nvar FileSelectDirective = (function () {\n function FileSelectDirective(element) {\n this.element = element;\n }\n FileSelectDirective.prototype.getOptions = function () {\n return this.uploader.options;\n };\n FileSelectDirective.prototype.getFilters = function () {\n return void 0;\n };\n FileSelectDirective.prototype.isEmptyAfterSelection = function () {\n return !!this.element.nativeElement.attributes.multiple;\n };\n FileSelectDirective.prototype.onChange = function () {\n // let files = this.uploader.isHTML5 ? this.element.nativeElement[0].files : this.element.nativeElement[0];\n var files = this.element.nativeElement.files;\n var options = this.getOptions();\n var filters = this.getFilters();\n // if(!this.uploader.isHTML5) this.destroy();\n this.uploader.addToQueue(files, options, filters);\n if (this.isEmptyAfterSelection()) {\n }\n };\n __decorate([\n core_1.Input(), \n __metadata('design:type', (typeof (_a = typeof file_uploader_class_1.FileUploader !== 'undefined' && file_uploader_class_1.FileUploader) === 'function' && _a) || Object)\n ], FileSelectDirective.prototype, \"uploader\", void 0);\n __decorate([\n core_1.HostListener('change'), \n __metadata('design:type', Function), \n __metadata('design:paramtypes', []), \n __metadata('design:returntype', Object)\n ], FileSelectDirective.prototype, \"onChange\", null);\n FileSelectDirective = __decorate([\n core_1.Directive({ selector: '[ng2FileSelect]' }), \n __metadata('design:paramtypes', [(typeof (_b = typeof core_1.ElementRef !== 'undefined' && core_1.ElementRef) === 'function' && _b) || Object])\n ], FileSelectDirective);\n return FileSelectDirective;\n var _a, _b;\n}());\nexports.FileSelectDirective = FileSelectDirective;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/file-upload/file-select.directive.ts\n// module id = 3\n// module chunks = 0","\"use strict\";\nfunction isElement(node) {\n return !!(node && (node.nodeName || node.prop && node.attr && node.find));\n}\nvar FileLikeObject = (function () {\n function FileLikeObject(fileOrInput) {\n var isInput = isElement(fileOrInput);\n var fakePathOrObject = isInput ? fileOrInput.value : fileOrInput;\n var postfix = typeof fakePathOrObject === 'string' ? 'FakePath' : 'Object';\n var method = '_createFrom' + postfix;\n this[method](fakePathOrObject);\n }\n FileLikeObject.prototype._createFromFakePath = function (path) {\n this.lastModifiedDate = void 0;\n this.size = void 0;\n this.type = 'like/' + path.slice(path.lastIndexOf('.') + 1).toLowerCase();\n this.name = path.slice(path.lastIndexOf('/') + path.lastIndexOf('\\\\') + 2);\n };\n FileLikeObject.prototype._createFromObject = function (object) {\n // this.lastModifiedDate = copy(object.lastModifiedDate);\n this.size = object.size;\n this.type = object.type;\n this.name = object.name;\n };\n return FileLikeObject;\n}());\nexports.FileLikeObject = FileLikeObject;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/file-upload/file-like-object.class.ts\n// module id = 4\n// module chunks = 0","\"use strict\";\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar common_1 = require('@angular/common');\nvar core_1 = require('@angular/core');\nvar file_drop_directive_1 = require('./file-drop.directive');\nvar file_select_directive_1 = require('./file-select.directive');\nvar FileUploadModule = (function () {\n function FileUploadModule() {\n }\n FileUploadModule = __decorate([\n core_1.NgModule({\n imports: [common_1.CommonModule],\n declarations: [file_drop_directive_1.FileDropDirective, file_select_directive_1.FileSelectDirective],\n exports: [file_drop_directive_1.FileDropDirective, file_select_directive_1.FileSelectDirective]\n }), \n __metadata('design:paramtypes', [])\n ], FileUploadModule);\n return FileUploadModule;\n}());\nexports.FileUploadModule = FileUploadModule;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/file-upload/file-upload.module.ts\n// module id = 5\n// module chunks = 0","\"use strict\";\nvar file_like_object_class_1 = require('./file-like-object.class');\nvar FileItem = (function () {\n function FileItem(uploader, some, options) {\n this.url = '/';\n this.headers = [];\n this.withCredentials = true;\n this.formData = [];\n this.isReady = false;\n this.isUploading = false;\n this.isUploaded = false;\n this.isSuccess = false;\n this.isCancel = false;\n this.isError = false;\n this.progress = 0;\n this.index = void 0;\n this.uploader = uploader;\n this.some = some;\n this.options = options;\n this.file = new file_like_object_class_1.FileLikeObject(some);\n this._file = some;\n if (uploader.options) {\n this.method = uploader.options.method || 'POST';\n this.alias = uploader.options.itemAlias || 'file';\n }\n this.url = uploader.options.url;\n }\n FileItem.prototype.upload = function () {\n try {\n this.uploader.uploadItem(this);\n }\n catch (e) {\n this.uploader._onCompleteItem(this, '', 0, {});\n this.uploader._onErrorItem(this, '', 0, {});\n }\n };\n FileItem.prototype.cancel = function () {\n this.uploader.cancelItem(this);\n };\n FileItem.prototype.remove = function () {\n this.uploader.removeFromQueue(this);\n };\n FileItem.prototype.onBeforeUpload = function () {\n return void 0;\n };\n FileItem.prototype.onBuildForm = function (form) {\n return { form: form };\n };\n FileItem.prototype.onProgress = function (progress) {\n return { progress: progress };\n };\n FileItem.prototype.onSuccess = function (response, status, headers) {\n return { response: response, status: status, headers: headers };\n };\n FileItem.prototype.onError = function (response, status, headers) {\n return { response: response, status: status, headers: headers };\n };\n FileItem.prototype.onCancel = function (response, status, headers) {\n return { response: response, status: status, headers: headers };\n };\n FileItem.prototype.onComplete = function (response, status, headers) {\n return { response: response, status: status, headers: headers };\n };\n FileItem.prototype._onBeforeUpload = function () {\n this.isReady = true;\n this.isUploading = true;\n this.isUploaded = false;\n this.isSuccess = false;\n this.isCancel = false;\n this.isError = false;\n this.progress = 0;\n this.onBeforeUpload();\n };\n FileItem.prototype._onBuildForm = function (form) {\n this.onBuildForm(form);\n };\n FileItem.prototype._onProgress = function (progress) {\n this.progress = progress;\n this.onProgress(progress);\n };\n FileItem.prototype._onSuccess = function (response, status, headers) {\n this.isReady = false;\n this.isUploading = false;\n this.isUploaded = true;\n this.isSuccess = true;\n this.isCancel = false;\n this.isError = false;\n this.progress = 100;\n this.index = void 0;\n this.onSuccess(response, status, headers);\n };\n FileItem.prototype._onError = function (response, status, headers) {\n this.isReady = false;\n this.isUploading = false;\n this.isUploaded = true;\n this.isSuccess = false;\n this.isCancel = false;\n this.isError = true;\n this.progress = 0;\n this.index = void 0;\n this.onError(response, status, headers);\n };\n FileItem.prototype._onCancel = function (response, status, headers) {\n this.isReady = false;\n this.isUploading = false;\n this.isUploaded = false;\n this.isSuccess = false;\n this.isCancel = true;\n this.isError = false;\n this.progress = 0;\n this.index = void 0;\n this.onCancel(response, status, headers);\n };\n FileItem.prototype._onComplete = function (response, status, headers) {\n this.onComplete(response, status, headers);\n if (this.uploader.options.removeAfterUpload) {\n this.remove();\n }\n };\n FileItem.prototype._prepareToUploading = function () {\n this.index = this.index || ++this.uploader._nextIndex;\n this.isReady = true;\n };\n return FileItem;\n}());\nexports.FileItem = FileItem;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/file-upload/file-item.class.ts\n// module id = 6\n// module chunks = 0","\"use strict\";\nvar FileType = (function () {\n function FileType() {\n }\n FileType.getMimeClass = function (file) {\n var mimeClass = 'application';\n if (this.mime_psd.indexOf(file.type) !== -1) {\n mimeClass = 'image';\n }\n else if (file.type.match('image.*')) {\n mimeClass = 'image';\n }\n else if (file.type.match('video.*')) {\n mimeClass = 'video';\n }\n else if (file.type.match('audio.*')) {\n mimeClass = 'audio';\n }\n else if (file.type === 'application/pdf') {\n mimeClass = 'pdf';\n }\n else if (this.mime_compress.indexOf(file.type) !== -1) {\n mimeClass = 'compress';\n }\n else if (this.mime_doc.indexOf(file.type) !== -1) {\n mimeClass = 'doc';\n }\n else if (this.mime_xsl.indexOf(file.type) !== -1) {\n mimeClass = 'xls';\n }\n else if (this.mime_ppt.indexOf(file.type) !== -1) {\n mimeClass = 'ppt';\n }\n if (mimeClass === 'application') {\n mimeClass = this.fileTypeDetection(file.name);\n }\n return mimeClass;\n };\n FileType.fileTypeDetection = function (inputFilename) {\n var types = {\n 'jpg': 'image',\n 'jpeg': 'image',\n 'tif': 'image',\n 'psd': 'image',\n 'bmp': 'image',\n 'png': 'image',\n 'nef': 'image',\n 'tiff': 'image',\n 'cr2': 'image',\n 'dwg': 'image',\n 'cdr': 'image',\n 'ai': 'image',\n 'indd': 'image',\n 'pin': 'image',\n 'cdp': 'image',\n 'skp': 'image',\n 'stp': 'image',\n '3dm': 'image',\n 'mp3': 'audio',\n 'wav': 'audio',\n 'wma': 'audio',\n 'mod': 'audio',\n 'm4a': 'audio',\n 'compress': 'compress',\n 'rar': 'compress',\n '7z': 'compress',\n 'lz': 'compress',\n 'z01': 'compress',\n 'pdf': 'pdf',\n 'xls': 'xls',\n 'xlsx': 'xls',\n 'ods': 'xls',\n 'mp4': 'video',\n 'avi': 'video',\n 'wmv': 'video',\n 'mpg': 'video',\n 'mts': 'video',\n 'flv': 'video',\n '3gp': 'video',\n 'vob': 'video',\n 'm4v': 'video',\n 'mpeg': 'video',\n 'm2ts': 'video',\n 'mov': 'video',\n 'doc': 'doc',\n 'docx': 'doc',\n 'eps': 'doc',\n 'txt': 'doc',\n 'odt': 'doc',\n 'rtf': 'doc',\n 'ppt': 'ppt',\n 'pptx': 'ppt',\n 'pps': 'ppt',\n 'ppsx': 'ppt',\n 'odp': 'ppt'\n };\n var chunks = inputFilename.split('.');\n if (chunks.length < 2) {\n return 'application';\n }\n var extension = chunks[chunks.length - 1].toLowerCase();\n if (types[extension] === undefined) {\n return 'application';\n }\n else {\n return types[extension];\n }\n };\n /* MS office */\n FileType.mime_doc = [\n 'application/msword',\n 'application/msword',\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.template',\n 'application/vnd.ms-word.document.macroEnabled.12',\n 'application/vnd.ms-word.template.macroEnabled.12'\n ];\n FileType.mime_xsl = [\n 'application/vnd.ms-excel',\n 'application/vnd.ms-excel',\n 'application/vnd.ms-excel',\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.template',\n 'application/vnd.ms-excel.sheet.macroEnabled.12',\n 'application/vnd.ms-excel.template.macroEnabled.12',\n 'application/vnd.ms-excel.addin.macroEnabled.12',\n 'application/vnd.ms-excel.sheet.binary.macroEnabled.12'\n ];\n FileType.mime_ppt = [\n 'application/vnd.ms-powerpoint',\n 'application/vnd.ms-powerpoint',\n 'application/vnd.ms-powerpoint',\n 'application/vnd.ms-powerpoint',\n 'application/vnd.openxmlformats-officedocument.presentationml.presentation',\n 'application/vnd.openxmlformats-officedocument.presentationml.template',\n 'application/vnd.openxmlformats-officedocument.presentationml.slideshow',\n 'application/vnd.ms-powerpoint.addin.macroEnabled.12',\n 'application/vnd.ms-powerpoint.presentation.macroEnabled.12',\n 'application/vnd.ms-powerpoint.presentation.macroEnabled.12',\n 'application/vnd.ms-powerpoint.slideshow.macroEnabled.12'\n ];\n /* PSD */\n FileType.mime_psd = [\n 'image/photoshop',\n 'image/x-photoshop',\n 'image/psd',\n 'application/photoshop',\n 'application/psd',\n 'zz-application/zz-winassoc-psd'\n ];\n /* Compressed files */\n FileType.mime_compress = [\n 'application/x-gtar',\n 'application/x-gcompress',\n 'application/compress',\n 'application/x-tar',\n 'application/x-rar-compressed',\n 'application/octet-stream'\n ];\n return FileType;\n}());\nexports.FileType = FileType;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/file-upload/file-type.class.ts\n// module id = 7\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_8__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"@angular/common\"\n// module id = 8\n// module chunks = 0","\"use strict\";\nfunction __export(m) {\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\n__export(require('./file-upload/file-select.directive'));\n__export(require('./file-upload/file-drop.directive'));\n__export(require('./file-upload/file-uploader.class'));\nvar file_upload_module_1 = require('./file-upload/file-upload.module');\nexports.FileUploadModule = file_upload_module_1.FileUploadModule;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/index.ts\n// module id = 9\n// module chunks = 0"],"sourceRoot":""}
|
1
|
+
{"version":3,"file":"ng2-file-upload.umd.js","sources":["ng://ng2-file-upload/file-upload/file-like-object.class.ts","ng://ng2-file-upload/file-upload/file-item.class.ts","ng://ng2-file-upload/file-upload/file-type.class.ts","ng://ng2-file-upload/file-upload/file-uploader.class.ts","ng://ng2-file-upload/file-upload/file-select.directive.ts","ng://ng2-file-upload/file-upload/file-drop.directive.ts","ng://ng2-file-upload/file-upload/file-upload.module.ts"],"sourcesContent":["function isElement(node: any): boolean {\n return !!(node && (node.nodeName || node.prop && node.attr && node.find));\n}\n\nexport class FileLikeObject {\n public lastModifiedDate: any;\n public size: any;\n public type: string;\n public name: string;\n public rawFile: string;\n\n public constructor(fileOrInput: any) {\n this.rawFile = fileOrInput;\n let isInput = isElement(fileOrInput);\n let fakePathOrObject = isInput ? fileOrInput.value : fileOrInput;\n let postfix = typeof fakePathOrObject === 'string' ? 'FakePath' : 'Object';\n let method = '_createFrom' + postfix;\n (this as any)[ method ](fakePathOrObject);\n }\n\n public _createFromFakePath(path: string): void {\n this.lastModifiedDate = void 0;\n this.size = void 0;\n this.type = 'like/' + path.slice(path.lastIndexOf('.') + 1).toLowerCase();\n this.name = path.slice(path.lastIndexOf('/') + path.lastIndexOf('\\\\') + 2);\n }\n\n public _createFromObject(object: { size: number, type: string, name: string }): void {\n this.size = object.size;\n this.type = object.type;\n this.name = object.name;\n }\n}\n","import { FileLikeObject } from './file-like-object.class';\nimport { FileUploader, ParsedResponseHeaders, FileUploaderOptions } from './file-uploader.class';\n\nexport class FileItem {\n public file: FileLikeObject;\n public _file: File;\n public alias: string;\n public url: string = '/';\n public method: string;\n public headers: any = [];\n public withCredentials: boolean = true;\n public formData: any = [];\n public isReady: boolean = false;\n public isUploading: boolean = false;\n public isUploaded: boolean = false;\n public isSuccess: boolean = false;\n public isCancel: boolean = false;\n public isError: boolean = false;\n public progress: number = 0;\n public index: number = void 0;\n public _xhr: XMLHttpRequest;\n public _form: any;\n\n protected uploader: FileUploader;\n protected some: File;\n protected options: FileUploaderOptions;\n\n public constructor(uploader: FileUploader, some: File, options: FileUploaderOptions) {\n this.uploader = uploader;\n this.some = some;\n this.options = options;\n this.file = new FileLikeObject(some);\n this._file = some;\n if (uploader.options) {\n this.method = uploader.options.method || 'POST';\n this.alias = uploader.options.itemAlias || 'file';\n }\n this.url = uploader.options.url;\n }\n\n public upload(): void {\n try {\n this.uploader.uploadItem(this);\n } catch (e) {\n this.uploader._onCompleteItem(this, '', 0, {});\n this.uploader._onErrorItem(this, '', 0, {});\n }\n }\n\n public cancel(): void {\n this.uploader.cancelItem(this);\n }\n\n public remove(): void {\n this.uploader.removeFromQueue(this);\n }\n\n public onBeforeUpload(): void {\n return void 0;\n }\n\n public onBuildForm(form: any): any {\n return { form };\n }\n\n public onProgress(progress: number): any {\n return { progress };\n }\n\n public onSuccess(response: string, status: number, headers: ParsedResponseHeaders): any {\n return { response, status, headers };\n }\n\n public onError(response: string, status: number, headers: ParsedResponseHeaders): any {\n return { response, status, headers };\n }\n\n public onCancel(response: string, status: number, headers: ParsedResponseHeaders): any {\n return { response, status, headers };\n }\n\n public onComplete(response: string, status: number, headers: ParsedResponseHeaders): any {\n return { response, status, headers };\n }\n\n public _onBeforeUpload(): void {\n this.isReady = true;\n this.isUploading = true;\n this.isUploaded = false;\n this.isSuccess = false;\n this.isCancel = false;\n this.isError = false;\n this.progress = 0;\n this.onBeforeUpload();\n }\n\n public _onBuildForm(form: any): void {\n this.onBuildForm(form);\n }\n\n public _onProgress(progress: number): void {\n this.progress = progress;\n this.onProgress(progress);\n }\n\n public _onSuccess(response: string, status: number, headers: ParsedResponseHeaders): void {\n this.isReady = false;\n this.isUploading = false;\n this.isUploaded = true;\n this.isSuccess = true;\n this.isCancel = false;\n this.isError = false;\n this.progress = 100;\n this.index = void 0;\n this.onSuccess(response, status, headers);\n }\n\n public _onError(response: string, status: number, headers: ParsedResponseHeaders): void {\n this.isReady = false;\n this.isUploading = false;\n this.isUploaded = true;\n this.isSuccess = false;\n this.isCancel = false;\n this.isError = true;\n this.progress = 0;\n this.index = void 0;\n this.onError(response, status, headers);\n }\n\n public _onCancel(response: string, status: number, headers: ParsedResponseHeaders): void {\n this.isReady = false;\n this.isUploading = false;\n this.isUploaded = false;\n this.isSuccess = false;\n this.isCancel = true;\n this.isError = false;\n this.progress = 0;\n this.index = void 0;\n this.onCancel(response, status, headers);\n }\n\n public _onComplete(response: string, status: number, headers: ParsedResponseHeaders): void {\n this.onComplete(response, status, headers);\n\n if (this.uploader.options.removeAfterUpload) {\n this.remove();\n }\n }\n\n public _prepareToUploading(): void {\n this.index = this.index || ++this.uploader._nextIndex;\n this.isReady = true;\n }\n}\n","import { FileLikeObject } from \"../index\";\n\nexport class FileType {\n /* MS office */\n public static mime_doc: string[] = [\n 'application/msword',\n 'application/msword',\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.template',\n 'application/vnd.ms-word.document.macroEnabled.12',\n 'application/vnd.ms-word.template.macroEnabled.12'\n ];\n public static mime_xsl: string[] = [\n 'application/vnd.ms-excel',\n 'application/vnd.ms-excel',\n 'application/vnd.ms-excel',\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.template',\n 'application/vnd.ms-excel.sheet.macroEnabled.12',\n 'application/vnd.ms-excel.template.macroEnabled.12',\n 'application/vnd.ms-excel.addin.macroEnabled.12',\n 'application/vnd.ms-excel.sheet.binary.macroEnabled.12'\n ];\n public static mime_ppt: string[] = [\n 'application/vnd.ms-powerpoint',\n 'application/vnd.ms-powerpoint',\n 'application/vnd.ms-powerpoint',\n 'application/vnd.ms-powerpoint',\n 'application/vnd.openxmlformats-officedocument.presentationml.presentation',\n 'application/vnd.openxmlformats-officedocument.presentationml.template',\n 'application/vnd.openxmlformats-officedocument.presentationml.slideshow',\n 'application/vnd.ms-powerpoint.addin.macroEnabled.12',\n 'application/vnd.ms-powerpoint.presentation.macroEnabled.12',\n 'application/vnd.ms-powerpoint.presentation.macroEnabled.12',\n 'application/vnd.ms-powerpoint.slideshow.macroEnabled.12'\n ];\n\n /* PSD */\n public static mime_psd: string[] = [\n 'image/photoshop',\n 'image/x-photoshop',\n 'image/psd',\n 'application/photoshop',\n 'application/psd',\n 'zz-application/zz-winassoc-psd'\n ];\n\n /* Compressed files */\n public static mime_compress: string[] = [\n 'application/x-gtar',\n 'application/x-gcompress',\n 'application/compress',\n 'application/x-tar',\n 'application/x-rar-compressed',\n 'application/octet-stream',\n 'application/x-zip-compressed',\n 'application/zip-compressed',\n 'application/x-7z-compressed',\n 'application/gzip',\n 'application/x-bzip2'\n ];\n\n public static getMimeClass(file: FileLikeObject): string {\n let mimeClass = 'application';\n if (this.mime_psd.indexOf(file.type) !== -1) {\n mimeClass = 'image';\n } else if (file.type.match('image.*')) {\n mimeClass = 'image';\n } else if (file.type.match('video.*')) {\n mimeClass = 'video';\n } else if (file.type.match('audio.*')) {\n mimeClass = 'audio';\n } else if (file.type === 'application/pdf') {\n mimeClass = 'pdf';\n } else if (this.mime_compress.indexOf(file.type) !== -1) {\n mimeClass = 'compress';\n } else if (this.mime_doc.indexOf(file.type) !== -1) {\n mimeClass = 'doc';\n } else if (this.mime_xsl.indexOf(file.type) !== -1) {\n mimeClass = 'xls';\n } else if (this.mime_ppt.indexOf(file.type) !== -1) {\n mimeClass = 'ppt';\n }\n if (mimeClass === 'application') {\n mimeClass = this.fileTypeDetection(file.name);\n }\n\n return mimeClass;\n }\n\n public static fileTypeDetection(inputFilename: string): string {\n let types: { [ key: string ]: string } = {\n 'jpg': 'image',\n 'jpeg': 'image',\n 'tif': 'image',\n 'psd': 'image',\n 'bmp': 'image',\n 'png': 'image',\n 'nef': 'image',\n 'tiff': 'image',\n 'cr2': 'image',\n 'dwg': 'image',\n 'cdr': 'image',\n 'ai': 'image',\n 'indd': 'image',\n 'pin': 'image',\n 'cdp': 'image',\n 'skp': 'image',\n 'stp': 'image',\n '3dm': 'image',\n 'mp3': 'audio',\n 'wav': 'audio',\n 'wma': 'audio',\n 'mod': 'audio',\n 'm4a': 'audio',\n 'compress': 'compress',\n 'zip': 'compress',\n 'rar': 'compress',\n '7z': 'compress',\n 'lz': 'compress',\n 'z01': 'compress',\n 'bz2': 'compress',\n 'gz': 'compress',\n 'pdf': 'pdf',\n 'xls': 'xls',\n 'xlsx': 'xls',\n 'ods': 'xls',\n 'mp4': 'video',\n 'avi': 'video',\n 'wmv': 'video',\n 'mpg': 'video',\n 'mts': 'video',\n 'flv': 'video',\n '3gp': 'video',\n 'vob': 'video',\n 'm4v': 'video',\n 'mpeg': 'video',\n 'm2ts': 'video',\n 'mov': 'video',\n 'doc': 'doc',\n 'docx': 'doc',\n 'eps': 'doc',\n 'txt': 'doc',\n 'odt': 'doc',\n 'rtf': 'doc',\n 'ppt': 'ppt',\n 'pptx': 'ppt',\n 'pps': 'ppt',\n 'ppsx': 'ppt',\n 'odp': 'ppt'\n };\n\n let chunks = inputFilename.split('.');\n if (chunks.length < 2) {\n return 'application';\n }\n let extension = chunks[ chunks.length - 1 ].toLowerCase();\n if (types[ extension ] === undefined) {\n return 'application';\n } else {\n return types[ extension ];\n }\n }\n}\n","import { EventEmitter } from '@angular/core';\nimport { FileLikeObject } from './file-like-object.class';\nimport { FileItem } from './file-item.class';\nimport { FileType } from './file-type.class';\n\nfunction isFile(value: any): boolean {\n return (File && value instanceof File);\n}\n\nexport interface Headers {\n name: string;\n value: string;\n}\n\nexport type ParsedResponseHeaders = { [ headerFieldName: string ]: string };\n\nexport type FilterFunction = {\n name: string,\n fn: (item?: FileLikeObject, options?: FileUploaderOptions) => boolean\n};\n\nexport interface FileUploaderOptions {\n allowedMimeType?: string[];\n allowedFileType?: string[];\n autoUpload?: boolean;\n isHTML5?: boolean;\n filters?: FilterFunction[];\n headers?: Headers[];\n method?: string;\n authToken?: string;\n maxFileSize?: number;\n queueLimit?: number;\n removeAfterUpload?: boolean;\n url?: string;\n disableMultipart?: boolean;\n itemAlias?: string;\n authTokenHeader?: string;\n additionalParameter?: { [ key: string ]: any };\n parametersBeforeFiles?: boolean;\n formatDataFunction?: Function;\n formatDataFunctionIsAsync?: boolean;\n}\n\nexport class FileUploader {\n\n public authToken: string;\n public isUploading: boolean = false;\n public queue: FileItem[] = [];\n public progress: number = 0;\n public _nextIndex: number = 0;\n public autoUpload: any;\n public authTokenHeader: string;\n public response: EventEmitter<any>;\n\n public options: FileUploaderOptions = {\n autoUpload: false,\n isHTML5: true,\n filters: [],\n removeAfterUpload: false,\n disableMultipart: false,\n formatDataFunction: (item: FileItem) => item._file,\n formatDataFunctionIsAsync: false\n };\n\n protected _failFilterIndex: number;\n\n public constructor(options: FileUploaderOptions) {\n this.setOptions(options);\n this.response = new EventEmitter<any>();\n }\n\n public setOptions(options: FileUploaderOptions): void {\n this.options = Object.assign(this.options, options);\n\n this.authToken = this.options.authToken;\n this.authTokenHeader = this.options.authTokenHeader || 'Authorization';\n this.autoUpload = this.options.autoUpload;\n this.options.filters.unshift({ name: 'queueLimit', fn: this._queueLimitFilter });\n\n if (this.options.maxFileSize) {\n this.options.filters.unshift({ name: 'fileSize', fn: this._fileSizeFilter });\n }\n\n if (this.options.allowedFileType) {\n this.options.filters.unshift({ name: 'fileType', fn: this._fileTypeFilter });\n }\n\n if (this.options.allowedMimeType) {\n this.options.filters.unshift({ name: 'mimeType', fn: this._mimeTypeFilter });\n }\n\n for (let i = 0; i < this.queue.length; i++) {\n this.queue[ i ].url = this.options.url;\n }\n }\n\n public addToQueue(files: File[], options?: FileUploaderOptions, filters?: FilterFunction[] | string): void {\n let list: File[] = [];\n for (let file of files) {\n list.push(file);\n }\n let arrayOfFilters = this._getFilters(filters);\n let count = this.queue.length;\n let addedFileItems: FileItem[] = [];\n list.map((some: File) => {\n if (!options) {\n options = this.options;\n }\n\n let temp = new FileLikeObject(some);\n if (this._isValidFile(temp, arrayOfFilters, options)) {\n let fileItem = new FileItem(this, some, options);\n addedFileItems.push(fileItem);\n this.queue.push(fileItem);\n this._onAfterAddingFile(fileItem);\n } else {\n let filter = arrayOfFilters[ this._failFilterIndex ];\n this._onWhenAddingFileFailed(temp, filter, options);\n }\n });\n if (this.queue.length !== count) {\n this._onAfterAddingAll(addedFileItems);\n this.progress = this._getTotalProgress();\n }\n this._render();\n if (this.options.autoUpload) {\n this.uploadAll();\n }\n }\n\n public removeFromQueue(value: FileItem): void {\n let index = this.getIndexOfItem(value);\n let item = this.queue[ index ];\n if (item.isUploading) {\n item.cancel();\n }\n this.queue.splice(index, 1);\n this.progress = this._getTotalProgress();\n }\n\n public clearQueue(): void {\n while (this.queue.length) {\n this.queue[ 0 ].remove();\n }\n this.progress = 0;\n }\n\n public uploadItem(value: FileItem): void {\n let index = this.getIndexOfItem(value);\n let item = this.queue[ index ];\n let transport = this.options.isHTML5 ? '_xhrTransport' : '_iframeTransport';\n item._prepareToUploading();\n if (this.isUploading) {\n return;\n }\n this.isUploading = true;\n (this as any)[ transport ](item);\n }\n\n public cancelItem(value: FileItem): void {\n let index = this.getIndexOfItem(value);\n let item = this.queue[ index ];\n let prop = this.options.isHTML5 ? item._xhr : item._form;\n if (item && item.isUploading) {\n prop.abort();\n }\n }\n\n public uploadAll(): void {\n let items = this.getNotUploadedItems().filter((item: FileItem) => !item.isUploading);\n if (!items.length) {\n return;\n }\n items.map((item: FileItem) => item._prepareToUploading());\n items[ 0 ].upload();\n }\n\n public cancelAll(): void {\n let items = this.getNotUploadedItems();\n items.map((item: FileItem) => item.cancel());\n }\n\n public isFile(value: any): boolean {\n return isFile(value);\n }\n\n public isFileLikeObject(value: any): boolean {\n return value instanceof FileLikeObject;\n }\n\n public getIndexOfItem(value: any): number {\n return typeof value === 'number' ? value : this.queue.indexOf(value);\n }\n\n public getNotUploadedItems(): any[] {\n return this.queue.filter((item: FileItem) => !item.isUploaded);\n }\n\n public getReadyItems(): any[] {\n return this.queue\n .filter((item: FileItem) => (item.isReady && !item.isUploading))\n .sort((item1: any, item2: any) => item1.index - item2.index);\n }\n\n public destroy(): void {\n return void 0;\n }\n\n public onAfterAddingAll(fileItems: any): any {\n return { fileItems };\n }\n\n public onBuildItemForm(fileItem: FileItem, form: any): any {\n return { fileItem, form };\n }\n\n public onAfterAddingFile(fileItem: FileItem): any {\n return { fileItem };\n }\n\n public onWhenAddingFileFailed(item: FileLikeObject, filter: any, options: any): any {\n return { item, filter, options };\n }\n\n public onBeforeUploadItem(fileItem: FileItem): any {\n return { fileItem };\n }\n\n public onProgressItem(fileItem: FileItem, progress: any): any {\n return { fileItem, progress };\n }\n\n public onProgressAll(progress: any): any {\n return { progress };\n }\n\n public onSuccessItem(item: FileItem, response: string, status: number, headers: ParsedResponseHeaders): any {\n return { item, response, status, headers };\n }\n\n public onErrorItem(item: FileItem, response: string, status: number, headers: ParsedResponseHeaders): any {\n return { item, response, status, headers };\n }\n\n public onCancelItem(item: FileItem, response: string, status: number, headers: ParsedResponseHeaders): any {\n return { item, response, status, headers };\n }\n\n public onCompleteItem(item: FileItem, response: string, status: number, headers: ParsedResponseHeaders): any {\n return { item, response, status, headers };\n }\n\n public onCompleteAll(): any {\n return void 0;\n }\n\n public _mimeTypeFilter(item: FileLikeObject): boolean {\n return !(this.options.allowedMimeType && this.options.allowedMimeType.indexOf(item.type) === -1);\n }\n\n public _fileSizeFilter(item: FileLikeObject): boolean {\n return !(this.options.maxFileSize && item.size > this.options.maxFileSize);\n }\n\n public _fileTypeFilter(item: FileLikeObject): boolean {\n return !(this.options.allowedFileType &&\n this.options.allowedFileType.indexOf(FileType.getMimeClass(item)) === -1);\n }\n\n public _onErrorItem(item: FileItem, response: string, status: number, headers: ParsedResponseHeaders): void {\n item._onError(response, status, headers);\n this.onErrorItem(item, response, status, headers);\n }\n\n public _onCompleteItem(item: FileItem, response: string, status: number, headers: ParsedResponseHeaders): void {\n item._onComplete(response, status, headers);\n this.onCompleteItem(item, response, status, headers);\n let nextItem = this.getReadyItems()[ 0 ];\n this.isUploading = false;\n if (nextItem) {\n nextItem.upload();\n return;\n }\n this.onCompleteAll();\n this.progress = this._getTotalProgress();\n this._render();\n }\n\n protected _headersGetter(parsedHeaders: ParsedResponseHeaders): any {\n return (name: any): any => {\n if (name) {\n return parsedHeaders[ name.toLowerCase() ] || void 0;\n }\n return parsedHeaders;\n };\n }\n\n protected _xhrTransport(item: FileItem): any {\n let that = this;\n let xhr = item._xhr = new XMLHttpRequest();\n let sendable: any;\n this._onBeforeUploadItem(item);\n\n if (typeof item._file.size !== 'number') {\n throw new TypeError('The file specified is no longer valid');\n }\n if (!this.options.disableMultipart) {\n sendable = new FormData();\n this._onBuildItemForm(item, sendable);\n\n const appendFile = () => sendable.append(item.alias, item._file, item.file.name);\n if (!this.options.parametersBeforeFiles) {\n appendFile();\n }\n\n // For AWS, Additional Parameters must come BEFORE Files\n if (this.options.additionalParameter !== undefined) {\n Object.keys(this.options.additionalParameter).forEach((key: string) => {\n let paramVal = this.options.additionalParameter[ key ];\n // Allow an additional parameter to include the filename\n if (typeof paramVal === 'string' && paramVal.indexOf('{{file_name}}') >= 0) {\n paramVal = paramVal.replace('{{file_name}}', item.file.name);\n }\n sendable.append(key, paramVal);\n });\n }\n\n if (this.options.parametersBeforeFiles) {\n appendFile();\n }\n } else {\n sendable = this.options.formatDataFunction(item);\n }\n\n xhr.upload.onprogress = (event: any) => {\n let progress = Math.round(event.lengthComputable ? event.loaded * 100 / event.total : 0);\n this._onProgressItem(item, progress);\n };\n xhr.onload = () => {\n let headers = this._parseHeaders(xhr.getAllResponseHeaders());\n let response = this._transformResponse(xhr.response, headers);\n let gist = this._isSuccessCode(xhr.status) ? 'Success' : 'Error';\n let method = '_on' + gist + 'Item';\n (this as any)[ method ](item, response, xhr.status, headers);\n this._onCompleteItem(item, response, xhr.status, headers);\n };\n xhr.onerror = () => {\n let headers = this._parseHeaders(xhr.getAllResponseHeaders());\n let response = this._transformResponse(xhr.response, headers);\n this._onErrorItem(item, response, xhr.status, headers);\n this._onCompleteItem(item, response, xhr.status, headers);\n };\n xhr.onabort = () => {\n let headers = this._parseHeaders(xhr.getAllResponseHeaders());\n let response = this._transformResponse(xhr.response, headers);\n this._onCancelItem(item, response, xhr.status, headers);\n this._onCompleteItem(item, response, xhr.status, headers);\n };\n xhr.open(item.method, item.url, true);\n xhr.withCredentials = item.withCredentials;\n if (this.options.headers) {\n for (let header of this.options.headers) {\n xhr.setRequestHeader(header.name, header.value);\n }\n }\n if (item.headers.length) {\n for (let header of item.headers) {\n xhr.setRequestHeader(header.name, header.value);\n }\n }\n if (this.authToken) {\n xhr.setRequestHeader(this.authTokenHeader, this.authToken);\n }\n xhr.onreadystatechange = function () {\n if (xhr.readyState == XMLHttpRequest.DONE) {\n that.response.emit(xhr.responseText)\n }\n }\n if (this.options.formatDataFunctionIsAsync) {\n sendable.then(\n (result: any) => xhr.send(JSON.stringify(result))\n );\n } else {\n xhr.send(sendable);\n }\n this._render();\n }\n\n protected _getTotalProgress(value: number = 0): number {\n if (this.options.removeAfterUpload) {\n return value;\n }\n let notUploaded = this.getNotUploadedItems().length;\n let uploaded = notUploaded ? this.queue.length - notUploaded : this.queue.length;\n let ratio = 100 / this.queue.length;\n let current = value * ratio / 100;\n return Math.round(uploaded * ratio + current);\n }\n\n protected _getFilters(filters: FilterFunction[] | string): FilterFunction[] {\n if (!filters) {\n return this.options.filters;\n }\n if (Array.isArray(filters)) {\n return filters;\n }\n if (typeof filters === 'string') {\n let names = filters.match(/[^\\s,]+/g);\n return this.options.filters\n .filter((filter: any) => names.indexOf(filter.name) !== -1);\n }\n return this.options.filters;\n }\n\n protected _render(): any {\n return void 0;\n }\n\n protected _queueLimitFilter(): boolean {\n return this.options.queueLimit === undefined || this.queue.length < this.options.queueLimit;\n }\n\n protected _isValidFile(file: FileLikeObject, filters: FilterFunction[], options: FileUploaderOptions): boolean {\n this._failFilterIndex = -1;\n return !filters.length ? true : filters.every((filter: FilterFunction) => {\n this._failFilterIndex++;\n return filter.fn.call(this, file, options);\n });\n }\n\n protected _isSuccessCode(status: number): boolean {\n return (status >= 200 && status < 300) || status === 304;\n }\n\n protected _transformResponse(response: string, headers: ParsedResponseHeaders): string {\n return response;\n }\n\n protected _parseHeaders(headers: string): ParsedResponseHeaders {\n let parsed: any = {};\n let key: any;\n let val: any;\n let i: any;\n if (!headers) {\n return parsed;\n }\n headers.split('\\n').map((line: any) => {\n i = line.indexOf(':');\n key = line.slice(0, i).trim().toLowerCase();\n val = line.slice(i + 1).trim();\n if (key) {\n parsed[ key ] = parsed[ key ] ? parsed[ key ] + ', ' + val : val;\n }\n });\n return parsed;\n }\n\n protected _onWhenAddingFileFailed(item: FileLikeObject, filter: any, options: any): void {\n this.onWhenAddingFileFailed(item, filter, options);\n }\n\n protected _onAfterAddingFile(item: FileItem): void {\n this.onAfterAddingFile(item);\n }\n\n protected _onAfterAddingAll(items: any): void {\n this.onAfterAddingAll(items);\n }\n\n protected _onBeforeUploadItem(item: FileItem): void {\n item._onBeforeUpload();\n this.onBeforeUploadItem(item);\n }\n\n protected _onBuildItemForm(item: FileItem, form: any): void {\n item._onBuildForm(form);\n this.onBuildItemForm(item, form);\n }\n\n protected _onProgressItem(item: FileItem, progress: any): void {\n let total = this._getTotalProgress(progress);\n this.progress = total;\n item._onProgress(progress);\n this.onProgressItem(item, progress);\n this.onProgressAll(total);\n this._render();\n }\n\n protected _onSuccessItem(item: FileItem, response: string, status: number, headers: ParsedResponseHeaders): void {\n item._onSuccess(response, status, headers);\n this.onSuccessItem(item, response, status, headers);\n }\n\n protected _onCancelItem(item: FileItem, response: string, status: number, headers: ParsedResponseHeaders): void {\n item._onCancel(response, status, headers);\n this.onCancelItem(item, response, status, headers);\n }\n}\n","import { Directive, EventEmitter, ElementRef, Input, HostListener, Output } from '@angular/core';\n\nimport { FileUploader } from './file-uploader.class';\n\n@Directive({ selector: '[ng2FileSelect]' })\nexport class FileSelectDirective {\n @Input() public uploader: FileUploader;\n @Output() public onFileSelected: EventEmitter<File[]> = new EventEmitter<File[]>();\n\n protected element: ElementRef;\n\n public constructor(element: ElementRef) {\n this.element = element;\n }\n\n public getOptions(): any {\n return this.uploader.options;\n }\n\n public getFilters(): any {\n return {};\n }\n\n public isEmptyAfterSelection(): boolean {\n return !!this.element.nativeElement.attributes.multiple;\n }\n\n @HostListener('change')\n public onChange(): any {\n let files = this.element.nativeElement.files;\n let options = this.getOptions();\n let filters = this.getFilters();\n\n this.uploader.addToQueue(files, options, filters);\n this.onFileSelected.emit(files);\n\n if (this.isEmptyAfterSelection()) {\n this.element.nativeElement.value = '';\n }\n }\n}\n","import { Directive, EventEmitter, ElementRef, HostListener, Input, Output } from '@angular/core';\n\nimport { FileUploader, FileUploaderOptions } from './file-uploader.class';\n\n@Directive({ selector: '[ng2FileDrop]' })\nexport class FileDropDirective {\n @Input() public uploader: FileUploader;\n @Output() public fileOver: EventEmitter<any> = new EventEmitter();\n @Output() public onFileDrop: EventEmitter<File[]> = new EventEmitter<File[]>();\n\n protected element: ElementRef;\n\n public constructor(element: ElementRef) {\n this.element = element;\n }\n\n public getOptions(): FileUploaderOptions {\n return this.uploader.options;\n }\n\n public getFilters(): any {\n return {};\n }\n\n @HostListener('drop', [ '$event' ])\n public onDrop(event: any): void {\n let transfer = this._getTransfer(event);\n if (!transfer) {\n return;\n }\n\n let options = this.getOptions();\n let filters = this.getFilters();\n this._preventAndStop(event);\n this.uploader.addToQueue(transfer.files, options, filters);\n this.fileOver.emit(false);\n this.onFileDrop.emit(transfer.files);\n }\n\n @HostListener('dragover', [ '$event' ])\n public onDragOver(event: any): void {\n let transfer = this._getTransfer(event);\n if (!this._haveFiles(transfer.types)) {\n return;\n }\n\n transfer.dropEffect = 'copy';\n this._preventAndStop(event);\n this.fileOver.emit(true);\n }\n\n @HostListener('dragleave', [ '$event' ])\n public onDragLeave(event: any): any {\n if ((this as any).element) {\n if (event.currentTarget === (this as any).element[ 0 ]) {\n return;\n }\n }\n\n this._preventAndStop(event);\n this.fileOver.emit(false);\n }\n\n protected _getTransfer(event: any): any {\n return event.dataTransfer ? event.dataTransfer : event.originalEvent.dataTransfer; // jQuery fix;\n }\n\n protected _preventAndStop(event: any): any {\n event.preventDefault();\n event.stopPropagation();\n }\n\n protected _haveFiles(types: any): any {\n if (!types) {\n return false;\n }\n\n if (types.indexOf) {\n return types.indexOf('Files') !== -1;\n } else if (types.contains) {\n return types.contains('Files');\n } else {\n return false;\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FileDropDirective } from './file-drop.directive';\nimport { FileSelectDirective } from './file-select.directive';\n\n@NgModule({\n imports: [ CommonModule ],\n declarations: [ FileDropDirective, FileSelectDirective ],\n exports: [ FileDropDirective, FileSelectDirective ]\n})\nexport class FileUploadModule {\n}\n"],"names":["EventEmitter","Directive","ElementRef","Input","Output","HostListener","NgModule","CommonModule"],"mappings":"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"}
|
@@ -1 +1,2 @@
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@angular/common"),require("@angular/core")):"function"==typeof define&&define.amd?define(["@angular/common","@angular/core"],t):"object"==typeof exports?exports["ng2-file-upload.umd.min"]=t(require("@angular/common"),require("@angular/core")):e["ng2-file-upload.umd.min"]=t(e["@angular/common"],e["@angular/core"])}(this,function(e,t){return function(e){function t(i){if(o[i])return o[i].exports;var n=o[i]={i:i,l:!1,exports:{}};return e[i].call(n.exports,n,n.exports,t),n.l=!0,n.exports}var o={};return t.m=e,t.c=o,t.i=function(e){return e},t.d=function(e,t,o){Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:o})},t.n=function(e){var o=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(o,"a",o),o},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/",t(t.s=9)}([function(e,t,o){"use strict";function i(e){return File&&e instanceof File}var n=o(4),r=o(6),s=o(7),p=function(){function e(e){this.isUploading=!1,this.queue=[],this.progress=0,this._nextIndex=0,this.options={autoUpload:!1,isHTML5:!0,filters:[],removeAfterUpload:!1,disableMultipart:!1},this.setOptions(e)}return e.prototype.setOptions=function(e){this.options=Object.assign(this.options,e),this.authToken=e.authToken,this.authTokenHeader=e.authTokenHeader||"Authorization",this.autoUpload=e.autoUpload,this.options.filters.unshift({name:"queueLimit",fn:this._queueLimitFilter}),this.options.maxFileSize&&this.options.filters.unshift({name:"fileSize",fn:this._fileSizeFilter}),this.options.allowedFileType&&this.options.filters.unshift({name:"fileType",fn:this._fileTypeFilter}),this.options.allowedMimeType&&this.options.filters.unshift({name:"mimeType",fn:this._mimeTypeFilter});for(var t=0;t<this.queue.length;t++)this.queue[t].url=this.options.url},e.prototype.addToQueue=function(e,t,o){for(var i=this,s=[],p=0,a=e;p<a.length;p++){var l=a[p];s.push(l)}var u=this._getFilters(o),c=this.queue.length,d=[];s.map(function(e){t||(t=i.options);var o=new n.FileLikeObject(e);if(i._isValidFile(o,u,t)){var s=new r.FileItem(i,e,t);d.push(s),i.queue.push(s),i._onAfterAddingFile(s)}else{var p=u[i._failFilterIndex];i._onWhenAddingFileFailed(o,p,t)}}),this.queue.length!==c&&(this._onAfterAddingAll(d),this.progress=this._getTotalProgress()),this._render(),this.options.autoUpload&&this.uploadAll()},e.prototype.removeFromQueue=function(e){var t=this.getIndexOfItem(e),o=this.queue[t];o.isUploading&&o.cancel(),this.queue.splice(t,1),this.progress=this._getTotalProgress()},e.prototype.clearQueue=function(){for(;this.queue.length;)this.queue[0].remove();this.progress=0},e.prototype.uploadItem=function(e){var t=this.getIndexOfItem(e),o=this.queue[t],i=this.options.isHTML5?"_xhrTransport":"_iframeTransport";o._prepareToUploading(),this.isUploading||(this.isUploading=!0,this[i](o))},e.prototype.cancelItem=function(e){var t=this.getIndexOfItem(e),o=this.queue[t],i=this.options.isHTML5?o._xhr:o._form;o&&o.isUploading&&i.abort()},e.prototype.uploadAll=function(){var e=this.getNotUploadedItems().filter(function(e){return!e.isUploading});e.length&&(e.map(function(e){return e._prepareToUploading()}),e[0].upload())},e.prototype.cancelAll=function(){var e=this.getNotUploadedItems();e.map(function(e){return e.cancel()})},e.prototype.isFile=function(e){return i(e)},e.prototype.isFileLikeObject=function(e){return e instanceof n.FileLikeObject},e.prototype.getIndexOfItem=function(e){return"number"==typeof e?e:this.queue.indexOf(e)},e.prototype.getNotUploadedItems=function(){return this.queue.filter(function(e){return!e.isUploaded})},e.prototype.getReadyItems=function(){return this.queue.filter(function(e){return e.isReady&&!e.isUploading}).sort(function(e,t){return e.index-t.index})},e.prototype.destroy=function(){},e.prototype.onAfterAddingAll=function(e){return{fileItems:e}},e.prototype.onBuildItemForm=function(e,t){return{fileItem:e,form:t}},e.prototype.onAfterAddingFile=function(e){return{fileItem:e}},e.prototype.onWhenAddingFileFailed=function(e,t,o){return{item:e,filter:t,options:o}},e.prototype.onBeforeUploadItem=function(e){return{fileItem:e}},e.prototype.onProgressItem=function(e,t){return{fileItem:e,progress:t}},e.prototype.onProgressAll=function(e){return{progress:e}},e.prototype.onSuccessItem=function(e,t,o,i){return{item:e,response:t,status:o,headers:i}},e.prototype.onErrorItem=function(e,t,o,i){return{item:e,response:t,status:o,headers:i}},e.prototype.onCancelItem=function(e,t,o,i){return{item:e,response:t,status:o,headers:i}},e.prototype.onCompleteItem=function(e,t,o,i){return{item:e,response:t,status:o,headers:i}},e.prototype.onCompleteAll=function(){},e.prototype._mimeTypeFilter=function(e){return!(this.options.allowedMimeType&&this.options.allowedMimeType.indexOf(e.type)===-1)},e.prototype._fileSizeFilter=function(e){return!(this.options.maxFileSize&&e.size>this.options.maxFileSize)},e.prototype._fileTypeFilter=function(e){return!(this.options.allowedFileType&&this.options.allowedFileType.indexOf(s.FileType.getMimeClass(e))===-1)},e.prototype._onErrorItem=function(e,t,o,i){e._onError(t,o,i),this.onErrorItem(e,t,o,i)},e.prototype._onCompleteItem=function(e,t,o,i){e._onComplete(t,o,i),this.onCompleteItem(e,t,o,i);var n=this.getReadyItems()[0];return this.isUploading=!1,n?void n.upload():(this.onCompleteAll(),this.progress=this._getTotalProgress(),void this._render())},e.prototype._headersGetter=function(e){return function(t){return t?e[t.toLowerCase()]||void 0:e}},e.prototype._xhrTransport=function(e){var t,o=this,i=e._xhr=new XMLHttpRequest;if(this._onBeforeUploadItem(e),"number"!=typeof e._file.size)throw new TypeError("The file specified is no longer valid");if(this.options.disableMultipart?t=e._file:(t=new FormData,this._onBuildItemForm(e,t),t.append(e.alias,e._file,e.file.name)),i.upload.onprogress=function(t){var i=Math.round(t.lengthComputable?100*t.loaded/t.total:0);o._onProgressItem(e,i)},i.onload=function(){var t=o._parseHeaders(i.getAllResponseHeaders()),n=o._transformResponse(i.response,t),r=o._isSuccessCode(i.status)?"Success":"Error",s="_on"+r+"Item";o[s](e,n,i.status,t),o._onCompleteItem(e,n,i.status,t)},i.onerror=function(){var t=o._parseHeaders(i.getAllResponseHeaders()),n=o._transformResponse(i.response,t);o._onErrorItem(e,n,i.status,t),o._onCompleteItem(e,n,i.status,t)},i.onabort=function(){var t=o._parseHeaders(i.getAllResponseHeaders()),n=o._transformResponse(i.response,t);o._onCancelItem(e,n,i.status,t),o._onCompleteItem(e,n,i.status,t)},i.open(e.method,e.url,!0),i.withCredentials=e.withCredentials,this.options.headers)for(var n=0,r=this.options.headers;n<r.length;n++){var s=r[n];i.setRequestHeader(s.name,s.value)}this.authToken&&i.setRequestHeader(this.authTokenHeader,this.authToken),i.send(t),this._render()},e.prototype._getTotalProgress=function(e){if(void 0===e&&(e=0),this.options.removeAfterUpload)return e;var t=this.getNotUploadedItems().length,o=t?this.queue.length-t:this.queue.length,i=100/this.queue.length,n=e*i/100;return Math.round(o*i+n)},e.prototype._getFilters=function(e){if(!e)return this.options.filters;if(Array.isArray(e))return e;if("string"==typeof e){var t=e.match(/[^\s,]+/g);return this.options.filters.filter(function(e){return t.indexOf(e.name)!==-1})}return this.options.filters},e.prototype._render=function(){},e.prototype._queueLimitFilter=function(){return void 0===this.options.queueLimit||this.queue.length<this.options.queueLimit},e.prototype._isValidFile=function(e,t,o){var i=this;return this._failFilterIndex=-1,!t.length||t.every(function(t){return i._failFilterIndex++,t.fn.call(i,e,o)})},e.prototype._isSuccessCode=function(e){return e>=200&&e<300||304===e},e.prototype._transformResponse=function(e,t){return e},e.prototype._parseHeaders=function(e){var t,o,i,n={};return e?(e.split("\n").map(function(e){i=e.indexOf(":"),t=e.slice(0,i).trim().toLowerCase(),o=e.slice(i+1).trim(),t&&(n[t]=n[t]?n[t]+", "+o:o)}),n):n},e.prototype._onWhenAddingFileFailed=function(e,t,o){this.onWhenAddingFileFailed(e,t,o)},e.prototype._onAfterAddingFile=function(e){this.onAfterAddingFile(e)},e.prototype._onAfterAddingAll=function(e){this.onAfterAddingAll(e)},e.prototype._onBeforeUploadItem=function(e){e._onBeforeUpload(),this.onBeforeUploadItem(e)},e.prototype._onBuildItemForm=function(e,t){e._onBuildForm(t),this.onBuildItemForm(e,t)},e.prototype._onProgressItem=function(e,t){var o=this._getTotalProgress(t);this.progress=o,e._onProgress(t),this.onProgressItem(e,t),this.onProgressAll(o),this._render()},e.prototype._onSuccessItem=function(e,t,o,i){e._onSuccess(t,o,i),this.onSuccessItem(e,t,o,i)},e.prototype._onCancelItem=function(e,t,o,i){e._onCancel(t,o,i),this.onCancelItem(e,t,o,i)},e}();t.FileUploader=p},function(e,o){e.exports=t},function(e,t,o){"use strict";var i=this&&this.__decorate||function(e,t,o,i){var n,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,o):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,i);else for(var p=e.length-1;p>=0;p--)(n=e[p])&&(s=(r<3?n(s):r>3?n(t,o,s):n(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},n=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},r=o(1),s=o(0),p=function(){function e(e){this.fileOver=new r.EventEmitter,this.onFileDrop=new r.EventEmitter,this.element=e}return e.prototype.getOptions=function(){return this.uploader.options},e.prototype.getFilters=function(){return{}},e.prototype.onDrop=function(e){var t=this._getTransfer(e);if(t){var o=this.getOptions(),i=this.getFilters();this._preventAndStop(e),this.uploader.addToQueue(t.files,o,i),this.fileOver.emit(!1),this.onFileDrop.emit(t.files)}},e.prototype.onDragOver=function(e){var t=this._getTransfer(e);this._haveFiles(t.types)&&(t.dropEffect="copy",this._preventAndStop(e),this.fileOver.emit(!0))},e.prototype.onDragLeave=function(e){e.currentTarget!==this.element[0]&&(this._preventAndStop(e),this.fileOver.emit(!1))},e.prototype._getTransfer=function(e){return e.dataTransfer?e.dataTransfer:e.originalEvent.dataTransfer},e.prototype._preventAndStop=function(e){e.preventDefault(),e.stopPropagation()},e.prototype._haveFiles=function(e){return!!e&&(e.indexOf?e.indexOf("Files")!==-1:!!e.contains&&e.contains("Files"))},i([r.Input(),n("design:type","function"==typeof(t="undefined"!=typeof s.FileUploader&&s.FileUploader)&&t||Object)],e.prototype,"uploader",void 0),i([r.Output(),n("design:type","function"==typeof(o="undefined"!=typeof r.EventEmitter&&r.EventEmitter)&&o||Object)],e.prototype,"fileOver",void 0),i([r.Output(),n("design:type","function"==typeof(p="undefined"!=typeof r.EventEmitter&&r.EventEmitter)&&p||Object)],e.prototype,"onFileDrop",void 0),i([r.HostListener("drop",["$event"]),n("design:type",Function),n("design:paramtypes",[Object]),n("design:returntype",void 0)],e.prototype,"onDrop",null),i([r.HostListener("dragover",["$event"]),n("design:type",Function),n("design:paramtypes",[Object]),n("design:returntype",void 0)],e.prototype,"onDragOver",null),i([r.HostListener("dragleave",["$event"]),n("design:type",Function),n("design:paramtypes",[Object]),n("design:returntype",Object)],e.prototype,"onDragLeave",null),e=i([r.Directive({selector:"[ng2FileDrop]"}),n("design:paramtypes",["function"==typeof(a="undefined"!=typeof r.ElementRef&&r.ElementRef)&&a||Object])],e);var t,o,p,a}();t.FileDropDirective=p},function(e,t,o){"use strict";var i=this&&this.__decorate||function(e,t,o,i){var n,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,o):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,i);else for(var p=e.length-1;p>=0;p--)(n=e[p])&&(s=(r<3?n(s):r>3?n(t,o,s):n(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},n=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},r=o(1),s=o(0),p=function(){function e(e){this.element=e}return e.prototype.getOptions=function(){return this.uploader.options},e.prototype.getFilters=function(){},e.prototype.isEmptyAfterSelection=function(){return!!this.element.nativeElement.attributes.multiple},e.prototype.onChange=function(){var e=this.element.nativeElement.files,t=this.getOptions(),o=this.getFilters();this.uploader.addToQueue(e,t,o),this.isEmptyAfterSelection()},i([r.Input(),n("design:type","function"==typeof(t="undefined"!=typeof s.FileUploader&&s.FileUploader)&&t||Object)],e.prototype,"uploader",void 0),i([r.HostListener("change"),n("design:type",Function),n("design:paramtypes",[]),n("design:returntype",Object)],e.prototype,"onChange",null),e=i([r.Directive({selector:"[ng2FileSelect]"}),n("design:paramtypes",["function"==typeof(o="undefined"!=typeof r.ElementRef&&r.ElementRef)&&o||Object])],e);var t,o}();t.FileSelectDirective=p},function(e,t){"use strict";function o(e){return!(!e||!(e.nodeName||e.prop&&e.attr&&e.find))}var i=function(){function e(e){var t=o(e),i=t?e.value:e,n="string"==typeof i?"FakePath":"Object",r="_createFrom"+n;this[r](i)}return e.prototype._createFromFakePath=function(e){this.lastModifiedDate=void 0,this.size=void 0,this.type="like/"+e.slice(e.lastIndexOf(".")+1).toLowerCase(),this.name=e.slice(e.lastIndexOf("/")+e.lastIndexOf("\\")+2)},e.prototype._createFromObject=function(e){this.size=e.size,this.type=e.type,this.name=e.name},e}();t.FileLikeObject=i},function(e,t,o){"use strict";var i=this&&this.__decorate||function(e,t,o,i){var n,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,o):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,i);else for(var p=e.length-1;p>=0;p--)(n=e[p])&&(s=(r<3?n(s):r>3?n(t,o,s):n(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},n=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},r=o(8),s=o(1),p=o(2),a=o(3),l=function(){function e(){}return e=i([s.NgModule({imports:[r.CommonModule],declarations:[p.FileDropDirective,a.FileSelectDirective],exports:[p.FileDropDirective,a.FileSelectDirective]}),n("design:paramtypes",[])],e)}();t.FileUploadModule=l},function(e,t,o){"use strict";var i=o(4),n=function(){function e(e,t,o){this.url="/",this.headers=[],this.withCredentials=!0,this.formData=[],this.isReady=!1,this.isUploading=!1,this.isUploaded=!1,this.isSuccess=!1,this.isCancel=!1,this.isError=!1,this.progress=0,this.index=void 0,this.uploader=e,this.some=t,this.options=o,this.file=new i.FileLikeObject(t),this._file=t,e.options&&(this.method=e.options.method||"POST",this.alias=e.options.itemAlias||"file"),this.url=e.options.url}return e.prototype.upload=function(){try{this.uploader.uploadItem(this)}catch(e){this.uploader._onCompleteItem(this,"",0,{}),this.uploader._onErrorItem(this,"",0,{})}},e.prototype.cancel=function(){this.uploader.cancelItem(this)},e.prototype.remove=function(){this.uploader.removeFromQueue(this)},e.prototype.onBeforeUpload=function(){},e.prototype.onBuildForm=function(e){return{form:e}},e.prototype.onProgress=function(e){return{progress:e}},e.prototype.onSuccess=function(e,t,o){return{response:e,status:t,headers:o}},e.prototype.onError=function(e,t,o){return{response:e,status:t,headers:o}},e.prototype.onCancel=function(e,t,o){return{response:e,status:t,headers:o}},e.prototype.onComplete=function(e,t,o){return{response:e,status:t,headers:o}},e.prototype._onBeforeUpload=function(){this.isReady=!0,this.isUploading=!0,this.isUploaded=!1,this.isSuccess=!1,this.isCancel=!1,this.isError=!1,this.progress=0,this.onBeforeUpload()},e.prototype._onBuildForm=function(e){this.onBuildForm(e)},e.prototype._onProgress=function(e){this.progress=e,this.onProgress(e)},e.prototype._onSuccess=function(e,t,o){this.isReady=!1,this.isUploading=!1,this.isUploaded=!0,this.isSuccess=!0,this.isCancel=!1,this.isError=!1,this.progress=100,this.index=void 0,this.onSuccess(e,t,o)},e.prototype._onError=function(e,t,o){this.isReady=!1,this.isUploading=!1,this.isUploaded=!0,this.isSuccess=!1,this.isCancel=!1,this.isError=!0,this.progress=0,this.index=void 0,this.onError(e,t,o)},e.prototype._onCancel=function(e,t,o){this.isReady=!1,this.isUploading=!1,this.isUploaded=!1,this.isSuccess=!1,this.isCancel=!0,this.isError=!1,this.progress=0,this.index=void 0,this.onCancel(e,t,o)},e.prototype._onComplete=function(e,t,o){this.onComplete(e,t,o),this.uploader.options.removeAfterUpload&&this.remove()},e.prototype._prepareToUploading=function(){this.index=this.index||++this.uploader._nextIndex,this.isReady=!0},e}();t.FileItem=n},function(e,t){"use strict";var o=function(){function e(){}return e.getMimeClass=function(e){var t="application";return this.mime_psd.indexOf(e.type)!==-1?t="image":e.type.match("image.*")?t="image":e.type.match("video.*")?t="video":e.type.match("audio.*")?t="audio":"application/pdf"===e.type?t="pdf":this.mime_compress.indexOf(e.type)!==-1?t="compress":this.mime_doc.indexOf(e.type)!==-1?t="doc":this.mime_xsl.indexOf(e.type)!==-1?t="xls":this.mime_ppt.indexOf(e.type)!==-1&&(t="ppt"),"application"===t&&(t=this.fileTypeDetection(e.name)),t},e.fileTypeDetection=function(e){var t={jpg:"image",jpeg:"image",tif:"image",psd:"image",bmp:"image",png:"image",nef:"image",tiff:"image",cr2:"image",dwg:"image",cdr:"image",ai:"image",indd:"image",pin:"image",cdp:"image",skp:"image",stp:"image","3dm":"image",mp3:"audio",wav:"audio",wma:"audio",mod:"audio",m4a:"audio",compress:"compress",rar:"compress","7z":"compress",lz:"compress",z01:"compress",pdf:"pdf",xls:"xls",xlsx:"xls",ods:"xls",mp4:"video",avi:"video",wmv:"video",mpg:"video",mts:"video",flv:"video","3gp":"video",vob:"video",m4v:"video",mpeg:"video",m2ts:"video",mov:"video",doc:"doc",docx:"doc",eps:"doc",txt:"doc",odt:"doc",rtf:"doc",ppt:"ppt",pptx:"ppt",pps:"ppt",ppsx:"ppt",odp:"ppt"},o=e.split(".");if(o.length<2)return"application";var i=o[o.length-1].toLowerCase();return void 0===t[i]?"application":t[i]},e.mime_doc=["application/msword","application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.wordprocessingml.template","application/vnd.ms-word.document.macroEnabled.12","application/vnd.ms-word.template.macroEnabled.12"],e.mime_xsl=["application/vnd.ms-excel","application/vnd.ms-excel","application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/vnd.openxmlformats-officedocument.spreadsheetml.template","application/vnd.ms-excel.sheet.macroEnabled.12","application/vnd.ms-excel.template.macroEnabled.12","application/vnd.ms-excel.addin.macroEnabled.12","application/vnd.ms-excel.sheet.binary.macroEnabled.12"],e.mime_ppt=["application/vnd.ms-powerpoint","application/vnd.ms-powerpoint","application/vnd.ms-powerpoint","application/vnd.ms-powerpoint","application/vnd.openxmlformats-officedocument.presentationml.presentation","application/vnd.openxmlformats-officedocument.presentationml.template","application/vnd.openxmlformats-officedocument.presentationml.slideshow","application/vnd.ms-powerpoint.addin.macroEnabled.12","application/vnd.ms-powerpoint.presentation.macroEnabled.12","application/vnd.ms-powerpoint.presentation.macroEnabled.12","application/vnd.ms-powerpoint.slideshow.macroEnabled.12"],e.mime_psd=["image/photoshop","image/x-photoshop","image/psd","application/photoshop","application/psd","zz-application/zz-winassoc-psd"],e.mime_compress=["application/x-gtar","application/x-gcompress","application/compress","application/x-tar","application/x-rar-compressed","application/octet-stream"],e}();t.FileType=o},function(t,o){t.exports=e},function(e,t,o){"use strict";function i(e){for(var o in e)t.hasOwnProperty(o)||(t[o]=e[o])}i(o(3)),i(o(2)),i(o(0));var n=o(5);t.FileUploadModule=n.FileUploadModule}])});
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common")):"function"==typeof define&&define.amd?define("ng2-file-upload",["exports","@angular/core","@angular/common"],t):t((e=e||self)["ng2-file-upload"]={},e.ng.core,e.ng.common)}(this,function(e,t,o){"use strict";var i=function(){function e(e){this.rawFile=e;var t,o=!(!(t=e)||!(t.nodeName||t.prop&&t.attr&&t.find))?e.value:e;this["_createFrom"+("string"==typeof o?"FakePath":"Object")](o)}return e.prototype._createFromFakePath=function(e){this.lastModifiedDate=void 0,this.size=void 0,this.type="like/"+e.slice(e.lastIndexOf(".")+1).toLowerCase(),this.name=e.slice(e.lastIndexOf("/")+e.lastIndexOf("\\")+2)},e.prototype._createFromObject=function(e){this.size=e.size,this.type=e.type,this.name=e.name},e}();var n=function(){function e(e,t,o){this.url="/",this.headers=[],this.withCredentials=!0,this.formData=[],this.isReady=!1,this.isUploading=!1,this.isUploaded=!1,this.isSuccess=!1,this.isCancel=!1,this.isError=!1,this.progress=0,this.index=void 0,this.uploader=e,this.some=t,this.options=o,this.file=new i(t),this._file=t,e.options&&(this.method=e.options.method||"POST",this.alias=e.options.itemAlias||"file"),this.url=e.options.url}return e.prototype.upload=function(){try{this.uploader.uploadItem(this)}catch(e){this.uploader._onCompleteItem(this,"",0,{}),this.uploader._onErrorItem(this,"",0,{})}},e.prototype.cancel=function(){this.uploader.cancelItem(this)},e.prototype.remove=function(){this.uploader.removeFromQueue(this)},e.prototype.onBeforeUpload=function(){},e.prototype.onBuildForm=function(e){return{form:e}},e.prototype.onProgress=function(e){return{progress:e}},e.prototype.onSuccess=function(e,t,o){return{response:e,status:t,headers:o}},e.prototype.onError=function(e,t,o){return{response:e,status:t,headers:o}},e.prototype.onCancel=function(e,t,o){return{response:e,status:t,headers:o}},e.prototype.onComplete=function(e,t,o){return{response:e,status:t,headers:o}},e.prototype._onBeforeUpload=function(){this.isReady=!0,this.isUploading=!0,this.isUploaded=!1,this.isSuccess=!1,this.isCancel=!1,this.isError=!1,this.progress=0,this.onBeforeUpload()},e.prototype._onBuildForm=function(e){this.onBuildForm(e)},e.prototype._onProgress=function(e){this.progress=e,this.onProgress(e)},e.prototype._onSuccess=function(e,t,o){this.isReady=!1,this.isUploading=!1,this.isUploaded=!0,this.isSuccess=!0,this.isCancel=!1,this.isError=!1,this.progress=100,this.index=void 0,this.onSuccess(e,t,o)},e.prototype._onError=function(e,t,o){this.isReady=!1,this.isUploading=!1,this.isUploaded=!0,this.isSuccess=!1,this.isCancel=!1,this.isError=!0,this.progress=0,this.index=void 0,this.onError(e,t,o)},e.prototype._onCancel=function(e,t,o){this.isReady=!1,this.isUploading=!1,this.isUploaded=!1,this.isSuccess=!1,this.isCancel=!0,this.isError=!1,this.progress=0,this.index=void 0,this.onCancel(e,t,o)},e.prototype._onComplete=function(e,t,o){this.onComplete(e,t,o),this.uploader.options.removeAfterUpload&&this.remove()},e.prototype._prepareToUploading=function(){this.index=this.index||++this.uploader._nextIndex,this.isReady=!0},e}();var r=function(){function e(){}return e.getMimeClass=function(e){var t="application";return-1!==this.mime_psd.indexOf(e.type)?t="image":e.type.match("image.*")?t="image":e.type.match("video.*")?t="video":e.type.match("audio.*")?t="audio":"application/pdf"===e.type?t="pdf":-1!==this.mime_compress.indexOf(e.type)?t="compress":-1!==this.mime_doc.indexOf(e.type)?t="doc":-1!==this.mime_xsl.indexOf(e.type)?t="xls":-1!==this.mime_ppt.indexOf(e.type)&&(t="ppt"),"application"===t&&(t=this.fileTypeDetection(e.name)),t},e.fileTypeDetection=function(e){var t={jpg:"image",jpeg:"image",tif:"image",psd:"image",bmp:"image",png:"image",nef:"image",tiff:"image",cr2:"image",dwg:"image",cdr:"image",ai:"image",indd:"image",pin:"image",cdp:"image",skp:"image",stp:"image","3dm":"image",mp3:"audio",wav:"audio",wma:"audio",mod:"audio",m4a:"audio",compress:"compress",zip:"compress",rar:"compress","7z":"compress",lz:"compress",z01:"compress",bz2:"compress",gz:"compress",pdf:"pdf",xls:"xls",xlsx:"xls",ods:"xls",mp4:"video",avi:"video",wmv:"video",mpg:"video",mts:"video",flv:"video","3gp":"video",vob:"video",m4v:"video",mpeg:"video",m2ts:"video",mov:"video",doc:"doc",docx:"doc",eps:"doc",txt:"doc",odt:"doc",rtf:"doc",ppt:"ppt",pptx:"ppt",pps:"ppt",ppsx:"ppt",odp:"ppt"},o=e.split(".");if(o.length<2)return"application";var i=o[o.length-1].toLowerCase();return void 0===t[i]?"application":t[i]},e.mime_doc=["application/msword","application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.wordprocessingml.template","application/vnd.ms-word.document.macroEnabled.12","application/vnd.ms-word.template.macroEnabled.12"],e.mime_xsl=["application/vnd.ms-excel","application/vnd.ms-excel","application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/vnd.openxmlformats-officedocument.spreadsheetml.template","application/vnd.ms-excel.sheet.macroEnabled.12","application/vnd.ms-excel.template.macroEnabled.12","application/vnd.ms-excel.addin.macroEnabled.12","application/vnd.ms-excel.sheet.binary.macroEnabled.12"],e.mime_ppt=["application/vnd.ms-powerpoint","application/vnd.ms-powerpoint","application/vnd.ms-powerpoint","application/vnd.ms-powerpoint","application/vnd.openxmlformats-officedocument.presentationml.presentation","application/vnd.openxmlformats-officedocument.presentationml.template","application/vnd.openxmlformats-officedocument.presentationml.slideshow","application/vnd.ms-powerpoint.addin.macroEnabled.12","application/vnd.ms-powerpoint.presentation.macroEnabled.12","application/vnd.ms-powerpoint.presentation.macroEnabled.12","application/vnd.ms-powerpoint.slideshow.macroEnabled.12"],e.mime_psd=["image/photoshop","image/x-photoshop","image/psd","application/photoshop","application/psd","zz-application/zz-winassoc-psd"],e.mime_compress=["application/x-gtar","application/x-gcompress","application/compress","application/x-tar","application/x-rar-compressed","application/octet-stream","application/x-zip-compressed","application/zip-compressed","application/x-7z-compressed","application/gzip","application/x-bzip2"],e}();var s=this&&this.__values||function(e){var t="function"==typeof Symbol&&e[Symbol.iterator],o=0;return t?t.call(e):{next:function(){return e&&o>=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}}};var p=function(){function e(e){this.isUploading=!1,this.queue=[],this.progress=0,this._nextIndex=0,this.options={autoUpload:!1,isHTML5:!0,filters:[],removeAfterUpload:!1,disableMultipart:!1,formatDataFunction:function(e){return e._file},formatDataFunctionIsAsync:!1},this.setOptions(e),this.response=new t.EventEmitter}return e.prototype.setOptions=function(e){this.options=Object.assign(this.options,e),this.authToken=this.options.authToken,this.authTokenHeader=this.options.authTokenHeader||"Authorization",this.autoUpload=this.options.autoUpload,this.options.filters.unshift({name:"queueLimit",fn:this._queueLimitFilter}),this.options.maxFileSize&&this.options.filters.unshift({name:"fileSize",fn:this._fileSizeFilter}),this.options.allowedFileType&&this.options.filters.unshift({name:"fileType",fn:this._fileTypeFilter}),this.options.allowedMimeType&&this.options.filters.unshift({name:"mimeType",fn:this._mimeTypeFilter});for(var t=0;t<this.queue.length;t++)this.queue[t].url=this.options.url},e.prototype.addToQueue=function(e,t,o){var r,p,a=this,l=[];try{for(var u=s(e),d=u.next();!d.done;d=u.next()){var c=d.value;l.push(c)}}catch(e){r={error:e}}finally{try{d&&!d.done&&(p=u.return)&&p.call(u)}finally{if(r)throw r.error}}var m=this._getFilters(o),h=this.queue.length,f=[];l.map(function(e){t||(t=a.options);var o=new i(e);if(a._isValidFile(o,m,t)){var r=new n(a,e,t);f.push(r),a.queue.push(r),a._onAfterAddingFile(r)}else{var s=m[a._failFilterIndex];a._onWhenAddingFileFailed(o,s,t)}}),this.queue.length!==h&&(this._onAfterAddingAll(f),this.progress=this._getTotalProgress()),this._render(),this.options.autoUpload&&this.uploadAll()},e.prototype.removeFromQueue=function(e){var t=this.getIndexOfItem(e),o=this.queue[t];o.isUploading&&o.cancel(),this.queue.splice(t,1),this.progress=this._getTotalProgress()},e.prototype.clearQueue=function(){for(;this.queue.length;)this.queue[0].remove();this.progress=0},e.prototype.uploadItem=function(e){var t=this.getIndexOfItem(e),o=this.queue[t],i=this.options.isHTML5?"_xhrTransport":"_iframeTransport";o._prepareToUploading(),this.isUploading||(this.isUploading=!0,this[i](o))},e.prototype.cancelItem=function(e){var t=this.getIndexOfItem(e),o=this.queue[t],i=this.options.isHTML5?o._xhr:o._form;o&&o.isUploading&&i.abort()},e.prototype.uploadAll=function(){var e=this.getNotUploadedItems().filter(function(e){return!e.isUploading});e.length&&(e.map(function(e){return e._prepareToUploading()}),e[0].upload())},e.prototype.cancelAll=function(){this.getNotUploadedItems().map(function(e){return e.cancel()})},e.prototype.isFile=function(e){return function(e){return File&&e instanceof File}(e)},e.prototype.isFileLikeObject=function(e){return e instanceof i},e.prototype.getIndexOfItem=function(e){return"number"==typeof e?e:this.queue.indexOf(e)},e.prototype.getNotUploadedItems=function(){return this.queue.filter(function(e){return!e.isUploaded})},e.prototype.getReadyItems=function(){return this.queue.filter(function(e){return e.isReady&&!e.isUploading}).sort(function(e,t){return e.index-t.index})},e.prototype.destroy=function(){},e.prototype.onAfterAddingAll=function(e){return{fileItems:e}},e.prototype.onBuildItemForm=function(e,t){return{fileItem:e,form:t}},e.prototype.onAfterAddingFile=function(e){return{fileItem:e}},e.prototype.onWhenAddingFileFailed=function(e,t,o){return{item:e,filter:t,options:o}},e.prototype.onBeforeUploadItem=function(e){return{fileItem:e}},e.prototype.onProgressItem=function(e,t){return{fileItem:e,progress:t}},e.prototype.onProgressAll=function(e){return{progress:e}},e.prototype.onSuccessItem=function(e,t,o,i){return{item:e,response:t,status:o,headers:i}},e.prototype.onErrorItem=function(e,t,o,i){return{item:e,response:t,status:o,headers:i}},e.prototype.onCancelItem=function(e,t,o,i){return{item:e,response:t,status:o,headers:i}},e.prototype.onCompleteItem=function(e,t,o,i){return{item:e,response:t,status:o,headers:i}},e.prototype.onCompleteAll=function(){},e.prototype._mimeTypeFilter=function(e){return!(this.options.allowedMimeType&&-1===this.options.allowedMimeType.indexOf(e.type))},e.prototype._fileSizeFilter=function(e){return!(this.options.maxFileSize&&e.size>this.options.maxFileSize)},e.prototype._fileTypeFilter=function(e){return!(this.options.allowedFileType&&-1===this.options.allowedFileType.indexOf(r.getMimeClass(e)))},e.prototype._onErrorItem=function(e,t,o,i){e._onError(t,o,i),this.onErrorItem(e,t,o,i)},e.prototype._onCompleteItem=function(e,t,o,i){e._onComplete(t,o,i),this.onCompleteItem(e,t,o,i);var n=this.getReadyItems()[0];this.isUploading=!1,n?n.upload():(this.onCompleteAll(),this.progress=this._getTotalProgress(),this._render())},e.prototype._headersGetter=function(e){return function(t){return t?e[t.toLowerCase()]||void 0:e}},e.prototype._xhrTransport=function(e){var t,o,i,n,r,p=this,a=this,l=e._xhr=new XMLHttpRequest;if(this._onBeforeUploadItem(e),"number"!=typeof e._file.size)throw new TypeError("The file specified is no longer valid");if(this.options.disableMultipart)r=this.options.formatDataFunction(e);else{r=new FormData,this._onBuildItemForm(e,r);var u=function(){return r.append(e.alias,e._file,e.file.name)};this.options.parametersBeforeFiles||u(),void 0!==this.options.additionalParameter&&Object.keys(this.options.additionalParameter).forEach(function(t){var o=p.options.additionalParameter[t];"string"==typeof o&&o.indexOf("{{file_name}}")>=0&&(o=o.replace("{{file_name}}",e.file.name)),r.append(t,o)}),this.options.parametersBeforeFiles&&u()}if(l.upload.onprogress=function(t){var o=Math.round(t.lengthComputable?100*t.loaded/t.total:0);p._onProgressItem(e,o)},l.onload=function(){var t=p._parseHeaders(l.getAllResponseHeaders()),o=p._transformResponse(l.response,t),i=p._isSuccessCode(l.status)?"Success":"Error";p["_on"+i+"Item"](e,o,l.status,t),p._onCompleteItem(e,o,l.status,t)},l.onerror=function(){var t=p._parseHeaders(l.getAllResponseHeaders()),o=p._transformResponse(l.response,t);p._onErrorItem(e,o,l.status,t),p._onCompleteItem(e,o,l.status,t)},l.onabort=function(){var t=p._parseHeaders(l.getAllResponseHeaders()),o=p._transformResponse(l.response,t);p._onCancelItem(e,o,l.status,t),p._onCompleteItem(e,o,l.status,t)},l.open(e.method,e.url,!0),l.withCredentials=e.withCredentials,this.options.headers)try{for(var d=s(this.options.headers),c=d.next();!c.done;c=d.next()){var m=c.value;l.setRequestHeader(m.name,m.value)}}catch(e){t={error:e}}finally{try{c&&!c.done&&(o=d.return)&&o.call(d)}finally{if(t)throw t.error}}if(e.headers.length)try{for(var h=s(e.headers),f=h.next();!f.done;f=h.next()){m=f.value;l.setRequestHeader(m.name,m.value)}}catch(e){i={error:e}}finally{try{f&&!f.done&&(n=h.return)&&n.call(h)}finally{if(i)throw i.error}}this.authToken&&l.setRequestHeader(this.authTokenHeader,this.authToken),l.onreadystatechange=function(){l.readyState==XMLHttpRequest.DONE&&a.response.emit(l.responseText)},this.options.formatDataFunctionIsAsync?r.then(function(e){return l.send(JSON.stringify(e))}):l.send(r),this._render()},e.prototype._getTotalProgress=function(e){if(void 0===e&&(e=0),this.options.removeAfterUpload)return e;var t=this.getNotUploadedItems().length,o=t?this.queue.length-t:this.queue.length,i=100/this.queue.length,n=e*i/100;return Math.round(o*i+n)},e.prototype._getFilters=function(e){if(!e)return this.options.filters;if(Array.isArray(e))return e;if("string"==typeof e){var t=e.match(/[^\s,]+/g);return this.options.filters.filter(function(e){return-1!==t.indexOf(e.name)})}return this.options.filters},e.prototype._render=function(){},e.prototype._queueLimitFilter=function(){return void 0===this.options.queueLimit||this.queue.length<this.options.queueLimit},e.prototype._isValidFile=function(e,t,o){var i=this;return this._failFilterIndex=-1,!t.length||t.every(function(t){return i._failFilterIndex++,t.fn.call(i,e,o)})},e.prototype._isSuccessCode=function(e){return e>=200&&e<300||304===e},e.prototype._transformResponse=function(e,t){return e},e.prototype._parseHeaders=function(e){var t,o,i,n={};return e?(e.split("\n").map(function(e){i=e.indexOf(":"),t=e.slice(0,i).trim().toLowerCase(),o=e.slice(i+1).trim(),t&&(n[t]=n[t]?n[t]+", "+o:o)}),n):n},e.prototype._onWhenAddingFileFailed=function(e,t,o){this.onWhenAddingFileFailed(e,t,o)},e.prototype._onAfterAddingFile=function(e){this.onAfterAddingFile(e)},e.prototype._onAfterAddingAll=function(e){this.onAfterAddingAll(e)},e.prototype._onBeforeUploadItem=function(e){e._onBeforeUpload(),this.onBeforeUploadItem(e)},e.prototype._onBuildItemForm=function(e,t){e._onBuildForm(t),this.onBuildItemForm(e,t)},e.prototype._onProgressItem=function(e,t){var o=this._getTotalProgress(t);this.progress=o,e._onProgress(t),this.onProgressItem(e,t),this.onProgressAll(o),this._render()},e.prototype._onSuccessItem=function(e,t,o,i){e._onSuccess(t,o,i),this.onSuccessItem(e,t,o,i)},e.prototype._onCancelItem=function(e,t,o,i){e._onCancel(t,o,i),this.onCancelItem(e,t,o,i)},e}();var a=function(){function e(e){this.onFileSelected=new t.EventEmitter,this.element=e}return e.prototype.getOptions=function(){return this.uploader.options},e.prototype.getFilters=function(){return{}},e.prototype.isEmptyAfterSelection=function(){return!!this.element.nativeElement.attributes.multiple},e.prototype.onChange=function(){var e=this.element.nativeElement.files,t=this.getOptions(),o=this.getFilters();this.uploader.addToQueue(e,t,o),this.onFileSelected.emit(e),this.isEmptyAfterSelection()&&(this.element.nativeElement.value="")},e.decorators=[{type:t.Directive,args:[{selector:"[ng2FileSelect]"}]}],e.ctorParameters=function(){return[{type:t.ElementRef}]},e.propDecorators={uploader:[{type:t.Input}],onFileSelected:[{type:t.Output}],onChange:[{type:t.HostListener,args:["change"]}]},e}();var l=function(){function e(e){this.fileOver=new t.EventEmitter,this.onFileDrop=new t.EventEmitter,this.element=e}return e.prototype.getOptions=function(){return this.uploader.options},e.prototype.getFilters=function(){return{}},e.prototype.onDrop=function(e){var t=this._getTransfer(e);if(t){var o=this.getOptions(),i=this.getFilters();this._preventAndStop(e),this.uploader.addToQueue(t.files,o,i),this.fileOver.emit(!1),this.onFileDrop.emit(t.files)}},e.prototype.onDragOver=function(e){var t=this._getTransfer(e);this._haveFiles(t.types)&&(t.dropEffect="copy",this._preventAndStop(e),this.fileOver.emit(!0))},e.prototype.onDragLeave=function(e){this.element&&e.currentTarget===this.element[0]||(this._preventAndStop(e),this.fileOver.emit(!1))},e.prototype._getTransfer=function(e){return e.dataTransfer?e.dataTransfer:e.originalEvent.dataTransfer},e.prototype._preventAndStop=function(e){e.preventDefault(),e.stopPropagation()},e.prototype._haveFiles=function(e){return!!e&&(e.indexOf?-1!==e.indexOf("Files"):!!e.contains&&e.contains("Files"))},e.decorators=[{type:t.Directive,args:[{selector:"[ng2FileDrop]"}]}],e.ctorParameters=function(){return[{type:t.ElementRef}]},e.propDecorators={uploader:[{type:t.Input}],fileOver:[{type:t.Output}],onFileDrop:[{type:t.Output}],onDrop:[{type:t.HostListener,args:["drop",["$event"]]}],onDragOver:[{type:t.HostListener,args:["dragover",["$event"]]}],onDragLeave:[{type:t.HostListener,args:["dragleave",["$event"]]}]},e}();var u=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{imports:[o.CommonModule],declarations:[l,a],exports:[l,a]}]}],e}();e.FileDropDirective=l,e.FileItem=n,e.FileLikeObject=i,e.FileSelectDirective=a,e.FileUploadModule=u,e.FileUploader=p,Object.defineProperty(e,"__esModule",{value:!0})});
|
2
|
+
//# sourceMappingURL=ng2-file-upload.umd.min.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["ng://ng2-file-upload/file-upload/file-like-object.class.ts","ng://ng2-file-upload/file-upload/file-item.class.ts","ng://ng2-file-upload/file-upload/file-type.class.ts","ng://ng2-file-upload/file-upload/file-uploader.class.ts","ng://ng2-file-upload/file-upload/file-select.directive.ts","ng://ng2-file-upload/file-upload/file-drop.directive.ts","ng://ng2-file-upload/file-upload/file-upload.module.ts"],"names":["FileLikeObject","fileOrInput","this","rawFile","node","fakePathOrObject","nodeName","prop","attr","find","value","prototype","_createFromFakePath","path","lastModifiedDate","size","type","slice","lastIndexOf","toLowerCase","name","_createFromObject","object","FileItem","uploader","some","options","url","headers","withCredentials","formData","isReady","isUploading","isUploaded","isSuccess","isCancel","isError","progress","index","file","_file","method","alias","itemAlias","upload","uploadItem","e","_onCompleteItem","_onErrorItem","cancel","cancelItem","remove","removeFromQueue","onBeforeUpload","onBuildForm","form","onProgress","onSuccess","response","status","onError","onCancel","onComplete","_onBeforeUpload","_onBuildForm","_onProgress","_onSuccess","_onError","_onCancel","_onComplete","removeAfterUpload","_prepareToUploading","_nextIndex","FileType","getMimeClass","mimeClass","mime_psd","indexOf","match","mime_compress","mime_doc","mime_xsl","mime_ppt","fileTypeDetection","inputFilename","types","jpg","jpeg","tif","psd","bmp","png","nef","tiff","cr2","dwg","cdr","ai","indd","pin","cdp","skp","stp","3dm","mp3","wav","wma","mod","m4a","compress","zip","rar","7z","lz","z01","bz2","gz","pdf","xls","xlsx","ods","mp4","avi","wmv","mpg","mts","flv","3gp","vob","m4v","mpeg","m2ts","mov","doc","docx","eps","txt","odt","rtf","ppt","pptx","pps","ppsx","odp","chunks","split","length","extension","undefined","FileUploader","queue","autoUpload","isHTML5","filters","disableMultipart","formatDataFunction","item","formatDataFunctionIsAsync","setOptions","EventEmitter","Object","assign","authToken","authTokenHeader","unshift","fn","_queueLimitFilter","maxFileSize","_fileSizeFilter","allowedFileType","_fileTypeFilter","allowedMimeType","_mimeTypeFilter","i","addToQueue","files","_this","list","files_1","__values","files_1_1","next","done","push","arrayOfFilters","_getFilters","count","addedFileItems","map","temp","_isValidFile","fileItem","_onAfterAddingFile","filter","_failFilterIndex","_onWhenAddingFileFailed","_onAfterAddingAll","_getTotalProgress","_render","uploadAll","getIndexOfItem","splice","clearQueue","transport","_xhr","_form","abort","items","getNotUploadedItems","cancelAll","isFile","File","isFileLikeObject","getReadyItems","sort","item1","item2","destroy","onAfterAddingAll","fileItems","onBuildItemForm","onAfterAddingFile","onWhenAddingFileFailed","onBeforeUploadItem","onProgressItem","onProgressAll","onSuccessItem","onErrorItem","onCancelItem","onCompleteItem","onCompleteAll","nextItem","_headersGetter","parsedHeaders","_xhrTransport","sendable","that","xhr","XMLHttpRequest","_onBeforeUploadItem","TypeError","FormData","_onBuildItemForm","appendFile","append","parametersBeforeFiles","additionalParameter","keys","forEach","key","paramVal","replace","onprogress","event","Math","round","lengthComputable","loaded","total","_onProgressItem","onload","_parseHeaders","getAllResponseHeaders","_transformResponse","gist","_isSuccessCode","onerror","onabort","_onCancelItem","open","_c","_d","header","setRequestHeader","_e","_f","onreadystatechange","readyState","DONE","emit","responseText","then","result","send","JSON","stringify","notUploaded","uploaded","ratio","current","Array","isArray","names_1","queueLimit","every","call","val","parsed","line","trim","_onSuccessItem","FileSelectDirective","element","onFileSelected","getOptions","getFilters","isEmptyAfterSelection","nativeElement","attributes","multiple","onChange","Directive","args","selector","ElementRef","Input","Output","HostListener","FileDropDirective","fileOver","onFileDrop","onDrop","transfer","_getTransfer","_preventAndStop","onDragOver","_haveFiles","dropEffect","onDragLeave","currentTarget","dataTransfer","originalEvent","preventDefault","stopPropagation","contains","FileUploadModule","NgModule","imports","CommonModule","declarations","exports"],"mappings":"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","sourcesContent":["function isElement(node: any): boolean {\n return !!(node && (node.nodeName || node.prop && node.attr && node.find));\n}\n\nexport class FileLikeObject {\n public lastModifiedDate: any;\n public size: any;\n public type: string;\n public name: string;\n public rawFile: string;\n\n public constructor(fileOrInput: any) {\n this.rawFile = fileOrInput;\n let isInput = isElement(fileOrInput);\n let fakePathOrObject = isInput ? fileOrInput.value : fileOrInput;\n let postfix = typeof fakePathOrObject === 'string' ? 'FakePath' : 'Object';\n let method = '_createFrom' + postfix;\n (this as any)[ method ](fakePathOrObject);\n }\n\n public _createFromFakePath(path: string): void {\n this.lastModifiedDate = void 0;\n this.size = void 0;\n this.type = 'like/' + path.slice(path.lastIndexOf('.') + 1).toLowerCase();\n this.name = path.slice(path.lastIndexOf('/') + path.lastIndexOf('\\\\') + 2);\n }\n\n public _createFromObject(object: { size: number, type: string, name: string }): void {\n this.size = object.size;\n this.type = object.type;\n this.name = object.name;\n }\n}\n","import { FileLikeObject } from './file-like-object.class';\nimport { FileUploader, ParsedResponseHeaders, FileUploaderOptions } from './file-uploader.class';\n\nexport class FileItem {\n public file: FileLikeObject;\n public _file: File;\n public alias: string;\n public url: string = '/';\n public method: string;\n public headers: any = [];\n public withCredentials: boolean = true;\n public formData: any = [];\n public isReady: boolean = false;\n public isUploading: boolean = false;\n public isUploaded: boolean = false;\n public isSuccess: boolean = false;\n public isCancel: boolean = false;\n public isError: boolean = false;\n public progress: number = 0;\n public index: number = void 0;\n public _xhr: XMLHttpRequest;\n public _form: any;\n\n protected uploader: FileUploader;\n protected some: File;\n protected options: FileUploaderOptions;\n\n public constructor(uploader: FileUploader, some: File, options: FileUploaderOptions) {\n this.uploader = uploader;\n this.some = some;\n this.options = options;\n this.file = new FileLikeObject(some);\n this._file = some;\n if (uploader.options) {\n this.method = uploader.options.method || 'POST';\n this.alias = uploader.options.itemAlias || 'file';\n }\n this.url = uploader.options.url;\n }\n\n public upload(): void {\n try {\n this.uploader.uploadItem(this);\n } catch (e) {\n this.uploader._onCompleteItem(this, '', 0, {});\n this.uploader._onErrorItem(this, '', 0, {});\n }\n }\n\n public cancel(): void {\n this.uploader.cancelItem(this);\n }\n\n public remove(): void {\n this.uploader.removeFromQueue(this);\n }\n\n public onBeforeUpload(): void {\n return void 0;\n }\n\n public onBuildForm(form: any): any {\n return { form };\n }\n\n public onProgress(progress: number): any {\n return { progress };\n }\n\n public onSuccess(response: string, status: number, headers: ParsedResponseHeaders): any {\n return { response, status, headers };\n }\n\n public onError(response: string, status: number, headers: ParsedResponseHeaders): any {\n return { response, status, headers };\n }\n\n public onCancel(response: string, status: number, headers: ParsedResponseHeaders): any {\n return { response, status, headers };\n }\n\n public onComplete(response: string, status: number, headers: ParsedResponseHeaders): any {\n return { response, status, headers };\n }\n\n public _onBeforeUpload(): void {\n this.isReady = true;\n this.isUploading = true;\n this.isUploaded = false;\n this.isSuccess = false;\n this.isCancel = false;\n this.isError = false;\n this.progress = 0;\n this.onBeforeUpload();\n }\n\n public _onBuildForm(form: any): void {\n this.onBuildForm(form);\n }\n\n public _onProgress(progress: number): void {\n this.progress = progress;\n this.onProgress(progress);\n }\n\n public _onSuccess(response: string, status: number, headers: ParsedResponseHeaders): void {\n this.isReady = false;\n this.isUploading = false;\n this.isUploaded = true;\n this.isSuccess = true;\n this.isCancel = false;\n this.isError = false;\n this.progress = 100;\n this.index = void 0;\n this.onSuccess(response, status, headers);\n }\n\n public _onError(response: string, status: number, headers: ParsedResponseHeaders): void {\n this.isReady = false;\n this.isUploading = false;\n this.isUploaded = true;\n this.isSuccess = false;\n this.isCancel = false;\n this.isError = true;\n this.progress = 0;\n this.index = void 0;\n this.onError(response, status, headers);\n }\n\n public _onCancel(response: string, status: number, headers: ParsedResponseHeaders): void {\n this.isReady = false;\n this.isUploading = false;\n this.isUploaded = false;\n this.isSuccess = false;\n this.isCancel = true;\n this.isError = false;\n this.progress = 0;\n this.index = void 0;\n this.onCancel(response, status, headers);\n }\n\n public _onComplete(response: string, status: number, headers: ParsedResponseHeaders): void {\n this.onComplete(response, status, headers);\n\n if (this.uploader.options.removeAfterUpload) {\n this.remove();\n }\n }\n\n public _prepareToUploading(): void {\n this.index = this.index || ++this.uploader._nextIndex;\n this.isReady = true;\n }\n}\n","import { FileLikeObject } from \"../index\";\n\nexport class FileType {\n /* MS office */\n public static mime_doc: string[] = [\n 'application/msword',\n 'application/msword',\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.template',\n 'application/vnd.ms-word.document.macroEnabled.12',\n 'application/vnd.ms-word.template.macroEnabled.12'\n ];\n public static mime_xsl: string[] = [\n 'application/vnd.ms-excel',\n 'application/vnd.ms-excel',\n 'application/vnd.ms-excel',\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.template',\n 'application/vnd.ms-excel.sheet.macroEnabled.12',\n 'application/vnd.ms-excel.template.macroEnabled.12',\n 'application/vnd.ms-excel.addin.macroEnabled.12',\n 'application/vnd.ms-excel.sheet.binary.macroEnabled.12'\n ];\n public static mime_ppt: string[] = [\n 'application/vnd.ms-powerpoint',\n 'application/vnd.ms-powerpoint',\n 'application/vnd.ms-powerpoint',\n 'application/vnd.ms-powerpoint',\n 'application/vnd.openxmlformats-officedocument.presentationml.presentation',\n 'application/vnd.openxmlformats-officedocument.presentationml.template',\n 'application/vnd.openxmlformats-officedocument.presentationml.slideshow',\n 'application/vnd.ms-powerpoint.addin.macroEnabled.12',\n 'application/vnd.ms-powerpoint.presentation.macroEnabled.12',\n 'application/vnd.ms-powerpoint.presentation.macroEnabled.12',\n 'application/vnd.ms-powerpoint.slideshow.macroEnabled.12'\n ];\n\n /* PSD */\n public static mime_psd: string[] = [\n 'image/photoshop',\n 'image/x-photoshop',\n 'image/psd',\n 'application/photoshop',\n 'application/psd',\n 'zz-application/zz-winassoc-psd'\n ];\n\n /* Compressed files */\n public static mime_compress: string[] = [\n 'application/x-gtar',\n 'application/x-gcompress',\n 'application/compress',\n 'application/x-tar',\n 'application/x-rar-compressed',\n 'application/octet-stream',\n 'application/x-zip-compressed',\n 'application/zip-compressed',\n 'application/x-7z-compressed',\n 'application/gzip',\n 'application/x-bzip2'\n ];\n\n public static getMimeClass(file: FileLikeObject): string {\n let mimeClass = 'application';\n if (this.mime_psd.indexOf(file.type) !== -1) {\n mimeClass = 'image';\n } else if (file.type.match('image.*')) {\n mimeClass = 'image';\n } else if (file.type.match('video.*')) {\n mimeClass = 'video';\n } else if (file.type.match('audio.*')) {\n mimeClass = 'audio';\n } else if (file.type === 'application/pdf') {\n mimeClass = 'pdf';\n } else if (this.mime_compress.indexOf(file.type) !== -1) {\n mimeClass = 'compress';\n } else if (this.mime_doc.indexOf(file.type) !== -1) {\n mimeClass = 'doc';\n } else if (this.mime_xsl.indexOf(file.type) !== -1) {\n mimeClass = 'xls';\n } else if (this.mime_ppt.indexOf(file.type) !== -1) {\n mimeClass = 'ppt';\n }\n if (mimeClass === 'application') {\n mimeClass = this.fileTypeDetection(file.name);\n }\n\n return mimeClass;\n }\n\n public static fileTypeDetection(inputFilename: string): string {\n let types: { [ key: string ]: string } = {\n 'jpg': 'image',\n 'jpeg': 'image',\n 'tif': 'image',\n 'psd': 'image',\n 'bmp': 'image',\n 'png': 'image',\n 'nef': 'image',\n 'tiff': 'image',\n 'cr2': 'image',\n 'dwg': 'image',\n 'cdr': 'image',\n 'ai': 'image',\n 'indd': 'image',\n 'pin': 'image',\n 'cdp': 'image',\n 'skp': 'image',\n 'stp': 'image',\n '3dm': 'image',\n 'mp3': 'audio',\n 'wav': 'audio',\n 'wma': 'audio',\n 'mod': 'audio',\n 'm4a': 'audio',\n 'compress': 'compress',\n 'zip': 'compress',\n 'rar': 'compress',\n '7z': 'compress',\n 'lz': 'compress',\n 'z01': 'compress',\n 'bz2': 'compress',\n 'gz': 'compress',\n 'pdf': 'pdf',\n 'xls': 'xls',\n 'xlsx': 'xls',\n 'ods': 'xls',\n 'mp4': 'video',\n 'avi': 'video',\n 'wmv': 'video',\n 'mpg': 'video',\n 'mts': 'video',\n 'flv': 'video',\n '3gp': 'video',\n 'vob': 'video',\n 'm4v': 'video',\n 'mpeg': 'video',\n 'm2ts': 'video',\n 'mov': 'video',\n 'doc': 'doc',\n 'docx': 'doc',\n 'eps': 'doc',\n 'txt': 'doc',\n 'odt': 'doc',\n 'rtf': 'doc',\n 'ppt': 'ppt',\n 'pptx': 'ppt',\n 'pps': 'ppt',\n 'ppsx': 'ppt',\n 'odp': 'ppt'\n };\n\n let chunks = inputFilename.split('.');\n if (chunks.length < 2) {\n return 'application';\n }\n let extension = chunks[ chunks.length - 1 ].toLowerCase();\n if (types[ extension ] === undefined) {\n return 'application';\n } else {\n return types[ extension ];\n }\n }\n}\n","import { EventEmitter } from '@angular/core';\nimport { FileLikeObject } from './file-like-object.class';\nimport { FileItem } from './file-item.class';\nimport { FileType } from './file-type.class';\n\nfunction isFile(value: any): boolean {\n return (File && value instanceof File);\n}\n\nexport interface Headers {\n name: string;\n value: string;\n}\n\nexport type ParsedResponseHeaders = { [ headerFieldName: string ]: string };\n\nexport type FilterFunction = {\n name: string,\n fn: (item?: FileLikeObject, options?: FileUploaderOptions) => boolean\n};\n\nexport interface FileUploaderOptions {\n allowedMimeType?: string[];\n allowedFileType?: string[];\n autoUpload?: boolean;\n isHTML5?: boolean;\n filters?: FilterFunction[];\n headers?: Headers[];\n method?: string;\n authToken?: string;\n maxFileSize?: number;\n queueLimit?: number;\n removeAfterUpload?: boolean;\n url?: string;\n disableMultipart?: boolean;\n itemAlias?: string;\n authTokenHeader?: string;\n additionalParameter?: { [ key: string ]: any };\n parametersBeforeFiles?: boolean;\n formatDataFunction?: Function;\n formatDataFunctionIsAsync?: boolean;\n}\n\nexport class FileUploader {\n\n public authToken: string;\n public isUploading: boolean = false;\n public queue: FileItem[] = [];\n public progress: number = 0;\n public _nextIndex: number = 0;\n public autoUpload: any;\n public authTokenHeader: string;\n public response: EventEmitter<any>;\n\n public options: FileUploaderOptions = {\n autoUpload: false,\n isHTML5: true,\n filters: [],\n removeAfterUpload: false,\n disableMultipart: false,\n formatDataFunction: (item: FileItem) => item._file,\n formatDataFunctionIsAsync: false\n };\n\n protected _failFilterIndex: number;\n\n public constructor(options: FileUploaderOptions) {\n this.setOptions(options);\n this.response = new EventEmitter<any>();\n }\n\n public setOptions(options: FileUploaderOptions): void {\n this.options = Object.assign(this.options, options);\n\n this.authToken = this.options.authToken;\n this.authTokenHeader = this.options.authTokenHeader || 'Authorization';\n this.autoUpload = this.options.autoUpload;\n this.options.filters.unshift({ name: 'queueLimit', fn: this._queueLimitFilter });\n\n if (this.options.maxFileSize) {\n this.options.filters.unshift({ name: 'fileSize', fn: this._fileSizeFilter });\n }\n\n if (this.options.allowedFileType) {\n this.options.filters.unshift({ name: 'fileType', fn: this._fileTypeFilter });\n }\n\n if (this.options.allowedMimeType) {\n this.options.filters.unshift({ name: 'mimeType', fn: this._mimeTypeFilter });\n }\n\n for (let i = 0; i < this.queue.length; i++) {\n this.queue[ i ].url = this.options.url;\n }\n }\n\n public addToQueue(files: File[], options?: FileUploaderOptions, filters?: FilterFunction[] | string): void {\n let list: File[] = [];\n for (let file of files) {\n list.push(file);\n }\n let arrayOfFilters = this._getFilters(filters);\n let count = this.queue.length;\n let addedFileItems: FileItem[] = [];\n list.map((some: File) => {\n if (!options) {\n options = this.options;\n }\n\n let temp = new FileLikeObject(some);\n if (this._isValidFile(temp, arrayOfFilters, options)) {\n let fileItem = new FileItem(this, some, options);\n addedFileItems.push(fileItem);\n this.queue.push(fileItem);\n this._onAfterAddingFile(fileItem);\n } else {\n let filter = arrayOfFilters[ this._failFilterIndex ];\n this._onWhenAddingFileFailed(temp, filter, options);\n }\n });\n if (this.queue.length !== count) {\n this._onAfterAddingAll(addedFileItems);\n this.progress = this._getTotalProgress();\n }\n this._render();\n if (this.options.autoUpload) {\n this.uploadAll();\n }\n }\n\n public removeFromQueue(value: FileItem): void {\n let index = this.getIndexOfItem(value);\n let item = this.queue[ index ];\n if (item.isUploading) {\n item.cancel();\n }\n this.queue.splice(index, 1);\n this.progress = this._getTotalProgress();\n }\n\n public clearQueue(): void {\n while (this.queue.length) {\n this.queue[ 0 ].remove();\n }\n this.progress = 0;\n }\n\n public uploadItem(value: FileItem): void {\n let index = this.getIndexOfItem(value);\n let item = this.queue[ index ];\n let transport = this.options.isHTML5 ? '_xhrTransport' : '_iframeTransport';\n item._prepareToUploading();\n if (this.isUploading) {\n return;\n }\n this.isUploading = true;\n (this as any)[ transport ](item);\n }\n\n public cancelItem(value: FileItem): void {\n let index = this.getIndexOfItem(value);\n let item = this.queue[ index ];\n let prop = this.options.isHTML5 ? item._xhr : item._form;\n if (item && item.isUploading) {\n prop.abort();\n }\n }\n\n public uploadAll(): void {\n let items = this.getNotUploadedItems().filter((item: FileItem) => !item.isUploading);\n if (!items.length) {\n return;\n }\n items.map((item: FileItem) => item._prepareToUploading());\n items[ 0 ].upload();\n }\n\n public cancelAll(): void {\n let items = this.getNotUploadedItems();\n items.map((item: FileItem) => item.cancel());\n }\n\n public isFile(value: any): boolean {\n return isFile(value);\n }\n\n public isFileLikeObject(value: any): boolean {\n return value instanceof FileLikeObject;\n }\n\n public getIndexOfItem(value: any): number {\n return typeof value === 'number' ? value : this.queue.indexOf(value);\n }\n\n public getNotUploadedItems(): any[] {\n return this.queue.filter((item: FileItem) => !item.isUploaded);\n }\n\n public getReadyItems(): any[] {\n return this.queue\n .filter((item: FileItem) => (item.isReady && !item.isUploading))\n .sort((item1: any, item2: any) => item1.index - item2.index);\n }\n\n public destroy(): void {\n return void 0;\n }\n\n public onAfterAddingAll(fileItems: any): any {\n return { fileItems };\n }\n\n public onBuildItemForm(fileItem: FileItem, form: any): any {\n return { fileItem, form };\n }\n\n public onAfterAddingFile(fileItem: FileItem): any {\n return { fileItem };\n }\n\n public onWhenAddingFileFailed(item: FileLikeObject, filter: any, options: any): any {\n return { item, filter, options };\n }\n\n public onBeforeUploadItem(fileItem: FileItem): any {\n return { fileItem };\n }\n\n public onProgressItem(fileItem: FileItem, progress: any): any {\n return { fileItem, progress };\n }\n\n public onProgressAll(progress: any): any {\n return { progress };\n }\n\n public onSuccessItem(item: FileItem, response: string, status: number, headers: ParsedResponseHeaders): any {\n return { item, response, status, headers };\n }\n\n public onErrorItem(item: FileItem, response: string, status: number, headers: ParsedResponseHeaders): any {\n return { item, response, status, headers };\n }\n\n public onCancelItem(item: FileItem, response: string, status: number, headers: ParsedResponseHeaders): any {\n return { item, response, status, headers };\n }\n\n public onCompleteItem(item: FileItem, response: string, status: number, headers: ParsedResponseHeaders): any {\n return { item, response, status, headers };\n }\n\n public onCompleteAll(): any {\n return void 0;\n }\n\n public _mimeTypeFilter(item: FileLikeObject): boolean {\n return !(this.options.allowedMimeType && this.options.allowedMimeType.indexOf(item.type) === -1);\n }\n\n public _fileSizeFilter(item: FileLikeObject): boolean {\n return !(this.options.maxFileSize && item.size > this.options.maxFileSize);\n }\n\n public _fileTypeFilter(item: FileLikeObject): boolean {\n return !(this.options.allowedFileType &&\n this.options.allowedFileType.indexOf(FileType.getMimeClass(item)) === -1);\n }\n\n public _onErrorItem(item: FileItem, response: string, status: number, headers: ParsedResponseHeaders): void {\n item._onError(response, status, headers);\n this.onErrorItem(item, response, status, headers);\n }\n\n public _onCompleteItem(item: FileItem, response: string, status: number, headers: ParsedResponseHeaders): void {\n item._onComplete(response, status, headers);\n this.onCompleteItem(item, response, status, headers);\n let nextItem = this.getReadyItems()[ 0 ];\n this.isUploading = false;\n if (nextItem) {\n nextItem.upload();\n return;\n }\n this.onCompleteAll();\n this.progress = this._getTotalProgress();\n this._render();\n }\n\n protected _headersGetter(parsedHeaders: ParsedResponseHeaders): any {\n return (name: any): any => {\n if (name) {\n return parsedHeaders[ name.toLowerCase() ] || void 0;\n }\n return parsedHeaders;\n };\n }\n\n protected _xhrTransport(item: FileItem): any {\n let that = this;\n let xhr = item._xhr = new XMLHttpRequest();\n let sendable: any;\n this._onBeforeUploadItem(item);\n\n if (typeof item._file.size !== 'number') {\n throw new TypeError('The file specified is no longer valid');\n }\n if (!this.options.disableMultipart) {\n sendable = new FormData();\n this._onBuildItemForm(item, sendable);\n\n const appendFile = () => sendable.append(item.alias, item._file, item.file.name);\n if (!this.options.parametersBeforeFiles) {\n appendFile();\n }\n\n // For AWS, Additional Parameters must come BEFORE Files\n if (this.options.additionalParameter !== undefined) {\n Object.keys(this.options.additionalParameter).forEach((key: string) => {\n let paramVal = this.options.additionalParameter[ key ];\n // Allow an additional parameter to include the filename\n if (typeof paramVal === 'string' && paramVal.indexOf('{{file_name}}') >= 0) {\n paramVal = paramVal.replace('{{file_name}}', item.file.name);\n }\n sendable.append(key, paramVal);\n });\n }\n\n if (this.options.parametersBeforeFiles) {\n appendFile();\n }\n } else {\n sendable = this.options.formatDataFunction(item);\n }\n\n xhr.upload.onprogress = (event: any) => {\n let progress = Math.round(event.lengthComputable ? event.loaded * 100 / event.total : 0);\n this._onProgressItem(item, progress);\n };\n xhr.onload = () => {\n let headers = this._parseHeaders(xhr.getAllResponseHeaders());\n let response = this._transformResponse(xhr.response, headers);\n let gist = this._isSuccessCode(xhr.status) ? 'Success' : 'Error';\n let method = '_on' + gist + 'Item';\n (this as any)[ method ](item, response, xhr.status, headers);\n this._onCompleteItem(item, response, xhr.status, headers);\n };\n xhr.onerror = () => {\n let headers = this._parseHeaders(xhr.getAllResponseHeaders());\n let response = this._transformResponse(xhr.response, headers);\n this._onErrorItem(item, response, xhr.status, headers);\n this._onCompleteItem(item, response, xhr.status, headers);\n };\n xhr.onabort = () => {\n let headers = this._parseHeaders(xhr.getAllResponseHeaders());\n let response = this._transformResponse(xhr.response, headers);\n this._onCancelItem(item, response, xhr.status, headers);\n this._onCompleteItem(item, response, xhr.status, headers);\n };\n xhr.open(item.method, item.url, true);\n xhr.withCredentials = item.withCredentials;\n if (this.options.headers) {\n for (let header of this.options.headers) {\n xhr.setRequestHeader(header.name, header.value);\n }\n }\n if (item.headers.length) {\n for (let header of item.headers) {\n xhr.setRequestHeader(header.name, header.value);\n }\n }\n if (this.authToken) {\n xhr.setRequestHeader(this.authTokenHeader, this.authToken);\n }\n xhr.onreadystatechange = function () {\n if (xhr.readyState == XMLHttpRequest.DONE) {\n that.response.emit(xhr.responseText)\n }\n }\n if (this.options.formatDataFunctionIsAsync) {\n sendable.then(\n (result: any) => xhr.send(JSON.stringify(result))\n );\n } else {\n xhr.send(sendable);\n }\n this._render();\n }\n\n protected _getTotalProgress(value: number = 0): number {\n if (this.options.removeAfterUpload) {\n return value;\n }\n let notUploaded = this.getNotUploadedItems().length;\n let uploaded = notUploaded ? this.queue.length - notUploaded : this.queue.length;\n let ratio = 100 / this.queue.length;\n let current = value * ratio / 100;\n return Math.round(uploaded * ratio + current);\n }\n\n protected _getFilters(filters: FilterFunction[] | string): FilterFunction[] {\n if (!filters) {\n return this.options.filters;\n }\n if (Array.isArray(filters)) {\n return filters;\n }\n if (typeof filters === 'string') {\n let names = filters.match(/[^\\s,]+/g);\n return this.options.filters\n .filter((filter: any) => names.indexOf(filter.name) !== -1);\n }\n return this.options.filters;\n }\n\n protected _render(): any {\n return void 0;\n }\n\n protected _queueLimitFilter(): boolean {\n return this.options.queueLimit === undefined || this.queue.length < this.options.queueLimit;\n }\n\n protected _isValidFile(file: FileLikeObject, filters: FilterFunction[], options: FileUploaderOptions): boolean {\n this._failFilterIndex = -1;\n return !filters.length ? true : filters.every((filter: FilterFunction) => {\n this._failFilterIndex++;\n return filter.fn.call(this, file, options);\n });\n }\n\n protected _isSuccessCode(status: number): boolean {\n return (status >= 200 && status < 300) || status === 304;\n }\n\n protected _transformResponse(response: string, headers: ParsedResponseHeaders): string {\n return response;\n }\n\n protected _parseHeaders(headers: string): ParsedResponseHeaders {\n let parsed: any = {};\n let key: any;\n let val: any;\n let i: any;\n if (!headers) {\n return parsed;\n }\n headers.split('\\n').map((line: any) => {\n i = line.indexOf(':');\n key = line.slice(0, i).trim().toLowerCase();\n val = line.slice(i + 1).trim();\n if (key) {\n parsed[ key ] = parsed[ key ] ? parsed[ key ] + ', ' + val : val;\n }\n });\n return parsed;\n }\n\n protected _onWhenAddingFileFailed(item: FileLikeObject, filter: any, options: any): void {\n this.onWhenAddingFileFailed(item, filter, options);\n }\n\n protected _onAfterAddingFile(item: FileItem): void {\n this.onAfterAddingFile(item);\n }\n\n protected _onAfterAddingAll(items: any): void {\n this.onAfterAddingAll(items);\n }\n\n protected _onBeforeUploadItem(item: FileItem): void {\n item._onBeforeUpload();\n this.onBeforeUploadItem(item);\n }\n\n protected _onBuildItemForm(item: FileItem, form: any): void {\n item._onBuildForm(form);\n this.onBuildItemForm(item, form);\n }\n\n protected _onProgressItem(item: FileItem, progress: any): void {\n let total = this._getTotalProgress(progress);\n this.progress = total;\n item._onProgress(progress);\n this.onProgressItem(item, progress);\n this.onProgressAll(total);\n this._render();\n }\n\n protected _onSuccessItem(item: FileItem, response: string, status: number, headers: ParsedResponseHeaders): void {\n item._onSuccess(response, status, headers);\n this.onSuccessItem(item, response, status, headers);\n }\n\n protected _onCancelItem(item: FileItem, response: string, status: number, headers: ParsedResponseHeaders): void {\n item._onCancel(response, status, headers);\n this.onCancelItem(item, response, status, headers);\n }\n}\n","import { Directive, EventEmitter, ElementRef, Input, HostListener, Output } from '@angular/core';\n\nimport { FileUploader } from './file-uploader.class';\n\n@Directive({ selector: '[ng2FileSelect]' })\nexport class FileSelectDirective {\n @Input() public uploader: FileUploader;\n @Output() public onFileSelected: EventEmitter<File[]> = new EventEmitter<File[]>();\n\n protected element: ElementRef;\n\n public constructor(element: ElementRef) {\n this.element = element;\n }\n\n public getOptions(): any {\n return this.uploader.options;\n }\n\n public getFilters(): any {\n return {};\n }\n\n public isEmptyAfterSelection(): boolean {\n return !!this.element.nativeElement.attributes.multiple;\n }\n\n @HostListener('change')\n public onChange(): any {\n let files = this.element.nativeElement.files;\n let options = this.getOptions();\n let filters = this.getFilters();\n\n this.uploader.addToQueue(files, options, filters);\n this.onFileSelected.emit(files);\n\n if (this.isEmptyAfterSelection()) {\n this.element.nativeElement.value = '';\n }\n }\n}\n","import { Directive, EventEmitter, ElementRef, HostListener, Input, Output } from '@angular/core';\n\nimport { FileUploader, FileUploaderOptions } from './file-uploader.class';\n\n@Directive({ selector: '[ng2FileDrop]' })\nexport class FileDropDirective {\n @Input() public uploader: FileUploader;\n @Output() public fileOver: EventEmitter<any> = new EventEmitter();\n @Output() public onFileDrop: EventEmitter<File[]> = new EventEmitter<File[]>();\n\n protected element: ElementRef;\n\n public constructor(element: ElementRef) {\n this.element = element;\n }\n\n public getOptions(): FileUploaderOptions {\n return this.uploader.options;\n }\n\n public getFilters(): any {\n return {};\n }\n\n @HostListener('drop', [ '$event' ])\n public onDrop(event: any): void {\n let transfer = this._getTransfer(event);\n if (!transfer) {\n return;\n }\n\n let options = this.getOptions();\n let filters = this.getFilters();\n this._preventAndStop(event);\n this.uploader.addToQueue(transfer.files, options, filters);\n this.fileOver.emit(false);\n this.onFileDrop.emit(transfer.files);\n }\n\n @HostListener('dragover', [ '$event' ])\n public onDragOver(event: any): void {\n let transfer = this._getTransfer(event);\n if (!this._haveFiles(transfer.types)) {\n return;\n }\n\n transfer.dropEffect = 'copy';\n this._preventAndStop(event);\n this.fileOver.emit(true);\n }\n\n @HostListener('dragleave', [ '$event' ])\n public onDragLeave(event: any): any {\n if ((this as any).element) {\n if (event.currentTarget === (this as any).element[ 0 ]) {\n return;\n }\n }\n\n this._preventAndStop(event);\n this.fileOver.emit(false);\n }\n\n protected _getTransfer(event: any): any {\n return event.dataTransfer ? event.dataTransfer : event.originalEvent.dataTransfer; // jQuery fix;\n }\n\n protected _preventAndStop(event: any): any {\n event.preventDefault();\n event.stopPropagation();\n }\n\n protected _haveFiles(types: any): any {\n if (!types) {\n return false;\n }\n\n if (types.indexOf) {\n return types.indexOf('Files') !== -1;\n } else if (types.contains) {\n return types.contains('Files');\n } else {\n return false;\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { FileDropDirective } from './file-drop.directive';\nimport { FileSelectDirective } from './file-select.directive';\n\n@NgModule({\n imports: [ CommonModule ],\n declarations: [ FileDropDirective, FileSelectDirective ],\n exports: [ FileDropDirective, FileSelectDirective ]\n})\nexport class FileUploadModule {\n}\n"]}
|