ng2-file-upload 1.3.0 → 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 +2012 -1064
- 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-type.class.d.ts +2 -1
- package/ng2-file-upload.d.ts +3 -0
- package/ng2-file-upload.metadata.json +1 -1
- package/package.json +16 -27
- package/CHANGELOG.md +0 -133
- package/LICENSE +0 -22
- package/README.md +0 -65
- package/file-upload/file-drop.directive.js +0 -112
- package/file-upload/file-drop.directive.metadata.json +0 -1
- package/file-upload/file-item.class.js +0 -126
- package/file-upload/file-item.class.metadata.json +0 -1
- package/file-upload/file-like-object.class.js +0 -27
- package/file-upload/file-like-object.class.metadata.json +0 -1
- package/file-upload/file-select.directive.js +0 -57
- package/file-upload/file-select.directive.metadata.json +0 -1
- package/file-upload/file-type.class.js +0 -163
- package/file-upload/file-type.class.metadata.json +0 -1
- package/file-upload/file-upload.module.js +0 -24
- package/file-upload/file-upload.module.metadata.json +0 -1
- package/file-upload/file-uploader.class.js +0 -404
- package/file-upload/file-uploader.class.metadata.json +0 -1
- package/index.js +0 -11
- package/index.metadata.json +0 -1
- package/ng2-file-upload.js +0 -5
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 7d47f0fa63e60425df65","webpack:///external \"@angular/core\"","webpack:///./src/file-upload/file-like-object.class.ts","webpack:///./src/file-upload/file-uploader.class.ts","webpack:///./src/file-upload/file-drop.directive.ts","webpack:///./src/file-upload/file-item.class.ts","webpack:///./src/file-upload/file-select.directive.ts","webpack:///./src/file-upload/file-upload.module.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;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;AChEA,+C;;;;;;;ACAA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,mBAAmB,EAAE;AACtE;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;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,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;AACA;AACA;AACA,0CAA0C,gEAAgE;AAC1G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4EAA4E,WAAW;AACvF,uDAAuD,WAAW;AAClE;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,gBAAgB;AACvE;AACA;AACA;AACA;AACA;AACA,+CAA+C,gBAAgB;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,yCAAyC,EAAE;AACxF;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,SAAS;AACT;AACA;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,CAAC;AACD;;;;;;;;ACnZA;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;AACA;AACA,0FAA0F;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,4BAA4B;AAClD;AACA;AACA;;;;;;;;AC/GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,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,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,8BAA8B;AACpD;AACA;AACA;;;;;;;;ACxDA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AClKA,+C;;;;;;;ACAA;AACA;AACA;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/core\"), require(\"@angular/common\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"@angular/core\", \"@angular/common\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ng2-file-upload.umd\"] = factory(require(\"@angular/core\"), require(\"@angular/common\"));\n\telse\n\t\troot[\"ng2-file-upload.umd\"] = factory(root[\"@angular/core\"], root[\"@angular/common\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_8__) {\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 harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\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 7d47f0fa63e60425df65","module.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"@angular/core\"\n// module id = 0\n// module chunks = 0","\"use strict\";\r\nfunction isElement(node) {\r\n return !!(node && (node.nodeName || node.prop && node.attr && node.find));\r\n}\r\nvar FileLikeObject = (function () {\r\n function FileLikeObject(fileOrInput) {\r\n this.rawFile = fileOrInput;\r\n var isInput = isElement(fileOrInput);\r\n var fakePathOrObject = isInput ? fileOrInput.value : fileOrInput;\r\n var postfix = typeof fakePathOrObject === 'string' ? 'FakePath' : 'Object';\r\n var method = '_createFrom' + postfix;\r\n this[method](fakePathOrObject);\r\n }\r\n FileLikeObject.prototype._createFromFakePath = function (path) {\r\n this.lastModifiedDate = void 0;\r\n this.size = void 0;\r\n this.type = 'like/' + path.slice(path.lastIndexOf('.') + 1).toLowerCase();\r\n this.name = path.slice(path.lastIndexOf('/') + path.lastIndexOf('\\\\') + 2);\r\n };\r\n FileLikeObject.prototype._createFromObject = function (object) {\r\n this.size = object.size;\r\n this.type = object.type;\r\n this.name = object.name;\r\n };\r\n return FileLikeObject;\r\n}());\r\nexports.FileLikeObject = FileLikeObject;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/file-upload/file-like-object.class.ts\n// module id = 1\n// module chunks = 0","\"use strict\";\r\nvar core_1 = require(\"@angular/core\");\r\nvar file_like_object_class_1 = require(\"./file-like-object.class\");\r\nvar file_item_class_1 = require(\"./file-item.class\");\r\nvar file_type_class_1 = require(\"./file-type.class\");\r\nfunction isFile(value) {\r\n return (File && value instanceof File);\r\n}\r\nvar FileUploader = (function () {\r\n function FileUploader(options) {\r\n this.isUploading = false;\r\n this.queue = [];\r\n this.progress = 0;\r\n this._nextIndex = 0;\r\n this.options = {\r\n autoUpload: false,\r\n isHTML5: true,\r\n filters: [],\r\n removeAfterUpload: false,\r\n disableMultipart: false,\r\n formatDataFunction: function (item) { return item._file; },\r\n formatDataFunctionIsAsync: false\r\n };\r\n this.setOptions(options);\r\n this.response = new core_1.EventEmitter();\r\n }\r\n FileUploader.prototype.setOptions = function (options) {\r\n this.options = Object.assign(this.options, options);\r\n this.authToken = this.options.authToken;\r\n this.authTokenHeader = this.options.authTokenHeader || 'Authorization';\r\n this.autoUpload = this.options.autoUpload;\r\n this.options.filters.unshift({ name: 'queueLimit', fn: this._queueLimitFilter });\r\n if (this.options.maxFileSize) {\r\n this.options.filters.unshift({ name: 'fileSize', fn: this._fileSizeFilter });\r\n }\r\n if (this.options.allowedFileType) {\r\n this.options.filters.unshift({ name: 'fileType', fn: this._fileTypeFilter });\r\n }\r\n if (this.options.allowedMimeType) {\r\n this.options.filters.unshift({ name: 'mimeType', fn: this._mimeTypeFilter });\r\n }\r\n for (var i = 0; i < this.queue.length; i++) {\r\n this.queue[i].url = this.options.url;\r\n }\r\n };\r\n FileUploader.prototype.addToQueue = function (files, options, filters) {\r\n var _this = this;\r\n var list = [];\r\n for (var _i = 0, files_1 = files; _i < files_1.length; _i++) {\r\n var file = files_1[_i];\r\n list.push(file);\r\n }\r\n var arrayOfFilters = this._getFilters(filters);\r\n var count = this.queue.length;\r\n var addedFileItems = [];\r\n list.map(function (some) {\r\n if (!options) {\r\n options = _this.options;\r\n }\r\n var temp = new file_like_object_class_1.FileLikeObject(some);\r\n if (_this._isValidFile(temp, arrayOfFilters, options)) {\r\n var fileItem = new file_item_class_1.FileItem(_this, some, options);\r\n addedFileItems.push(fileItem);\r\n _this.queue.push(fileItem);\r\n _this._onAfterAddingFile(fileItem);\r\n }\r\n else {\r\n var filter = arrayOfFilters[_this._failFilterIndex];\r\n _this._onWhenAddingFileFailed(temp, filter, options);\r\n }\r\n });\r\n if (this.queue.length !== count) {\r\n this._onAfterAddingAll(addedFileItems);\r\n this.progress = this._getTotalProgress();\r\n }\r\n this._render();\r\n if (this.options.autoUpload) {\r\n this.uploadAll();\r\n }\r\n };\r\n FileUploader.prototype.removeFromQueue = function (value) {\r\n var index = this.getIndexOfItem(value);\r\n var item = this.queue[index];\r\n if (item.isUploading) {\r\n item.cancel();\r\n }\r\n this.queue.splice(index, 1);\r\n this.progress = this._getTotalProgress();\r\n };\r\n FileUploader.prototype.clearQueue = function () {\r\n while (this.queue.length) {\r\n this.queue[0].remove();\r\n }\r\n this.progress = 0;\r\n };\r\n FileUploader.prototype.uploadItem = function (value) {\r\n var index = this.getIndexOfItem(value);\r\n var item = this.queue[index];\r\n var transport = this.options.isHTML5 ? '_xhrTransport' : '_iframeTransport';\r\n item._prepareToUploading();\r\n if (this.isUploading) {\r\n return;\r\n }\r\n this.isUploading = true;\r\n this[transport](item);\r\n };\r\n FileUploader.prototype.cancelItem = function (value) {\r\n var index = this.getIndexOfItem(value);\r\n var item = this.queue[index];\r\n var prop = this.options.isHTML5 ? item._xhr : item._form;\r\n if (item && item.isUploading) {\r\n prop.abort();\r\n }\r\n };\r\n FileUploader.prototype.uploadAll = function () {\r\n var items = this.getNotUploadedItems().filter(function (item) { return !item.isUploading; });\r\n if (!items.length) {\r\n return;\r\n }\r\n items.map(function (item) { return item._prepareToUploading(); });\r\n items[0].upload();\r\n };\r\n FileUploader.prototype.cancelAll = function () {\r\n var items = this.getNotUploadedItems();\r\n items.map(function (item) { return item.cancel(); });\r\n };\r\n FileUploader.prototype.isFile = function (value) {\r\n return isFile(value);\r\n };\r\n FileUploader.prototype.isFileLikeObject = function (value) {\r\n return value instanceof file_like_object_class_1.FileLikeObject;\r\n };\r\n FileUploader.prototype.getIndexOfItem = function (value) {\r\n return typeof value === 'number' ? value : this.queue.indexOf(value);\r\n };\r\n FileUploader.prototype.getNotUploadedItems = function () {\r\n return this.queue.filter(function (item) { return !item.isUploaded; });\r\n };\r\n FileUploader.prototype.getReadyItems = function () {\r\n return this.queue\r\n .filter(function (item) { return (item.isReady && !item.isUploading); })\r\n .sort(function (item1, item2) { return item1.index - item2.index; });\r\n };\r\n FileUploader.prototype.destroy = function () {\r\n return void 0;\r\n };\r\n FileUploader.prototype.onAfterAddingAll = function (fileItems) {\r\n return { fileItems: fileItems };\r\n };\r\n FileUploader.prototype.onBuildItemForm = function (fileItem, form) {\r\n return { fileItem: fileItem, form: form };\r\n };\r\n FileUploader.prototype.onAfterAddingFile = function (fileItem) {\r\n return { fileItem: fileItem };\r\n };\r\n FileUploader.prototype.onWhenAddingFileFailed = function (item, filter, options) {\r\n return { item: item, filter: filter, options: options };\r\n };\r\n FileUploader.prototype.onBeforeUploadItem = function (fileItem) {\r\n return { fileItem: fileItem };\r\n };\r\n FileUploader.prototype.onProgressItem = function (fileItem, progress) {\r\n return { fileItem: fileItem, progress: progress };\r\n };\r\n FileUploader.prototype.onProgressAll = function (progress) {\r\n return { progress: progress };\r\n };\r\n FileUploader.prototype.onSuccessItem = function (item, response, status, headers) {\r\n return { item: item, response: response, status: status, headers: headers };\r\n };\r\n FileUploader.prototype.onErrorItem = function (item, response, status, headers) {\r\n return { item: item, response: response, status: status, headers: headers };\r\n };\r\n FileUploader.prototype.onCancelItem = function (item, response, status, headers) {\r\n return { item: item, response: response, status: status, headers: headers };\r\n };\r\n FileUploader.prototype.onCompleteItem = function (item, response, status, headers) {\r\n return { item: item, response: response, status: status, headers: headers };\r\n };\r\n FileUploader.prototype.onCompleteAll = function () {\r\n return void 0;\r\n };\r\n FileUploader.prototype._mimeTypeFilter = function (item) {\r\n return !(this.options.allowedMimeType && this.options.allowedMimeType.indexOf(item.type) === -1);\r\n };\r\n FileUploader.prototype._fileSizeFilter = function (item) {\r\n return !(this.options.maxFileSize && item.size > this.options.maxFileSize);\r\n };\r\n FileUploader.prototype._fileTypeFilter = function (item) {\r\n return !(this.options.allowedFileType &&\r\n this.options.allowedFileType.indexOf(file_type_class_1.FileType.getMimeClass(item)) === -1);\r\n };\r\n FileUploader.prototype._onErrorItem = function (item, response, status, headers) {\r\n item._onError(response, status, headers);\r\n this.onErrorItem(item, response, status, headers);\r\n };\r\n FileUploader.prototype._onCompleteItem = function (item, response, status, headers) {\r\n item._onComplete(response, status, headers);\r\n this.onCompleteItem(item, response, status, headers);\r\n var nextItem = this.getReadyItems()[0];\r\n this.isUploading = false;\r\n if (nextItem) {\r\n nextItem.upload();\r\n return;\r\n }\r\n this.onCompleteAll();\r\n this.progress = this._getTotalProgress();\r\n this._render();\r\n };\r\n FileUploader.prototype._headersGetter = function (parsedHeaders) {\r\n return function (name) {\r\n if (name) {\r\n return parsedHeaders[name.toLowerCase()] || void 0;\r\n }\r\n return parsedHeaders;\r\n };\r\n };\r\n FileUploader.prototype._xhrTransport = function (item) {\r\n var _this = this;\r\n var that = this;\r\n var xhr = item._xhr = new XMLHttpRequest();\r\n var sendable;\r\n this._onBeforeUploadItem(item);\r\n if (typeof item._file.size !== 'number') {\r\n throw new TypeError('The file specified is no longer valid');\r\n }\r\n if (!this.options.disableMultipart) {\r\n sendable = new FormData();\r\n this._onBuildItemForm(item, sendable);\r\n var appendFile = function () { return sendable.append(item.alias, item._file, item.file.name); };\r\n if (!this.options.parametersBeforeFiles) {\r\n appendFile();\r\n }\r\n // For AWS, Additional Parameters must come BEFORE Files\r\n if (this.options.additionalParameter !== undefined) {\r\n Object.keys(this.options.additionalParameter).forEach(function (key) {\r\n var paramVal = _this.options.additionalParameter[key];\r\n // Allow an additional parameter to include the filename\r\n if (typeof paramVal === 'string' && paramVal.indexOf('{{file_name}}') >= 0) {\r\n paramVal = paramVal.replace('{{file_name}}', item.file.name);\r\n }\r\n sendable.append(key, paramVal);\r\n });\r\n }\r\n if (this.options.parametersBeforeFiles) {\r\n appendFile();\r\n }\r\n }\r\n else {\r\n sendable = this.options.formatDataFunction(item);\r\n }\r\n xhr.upload.onprogress = function (event) {\r\n var progress = Math.round(event.lengthComputable ? event.loaded * 100 / event.total : 0);\r\n _this._onProgressItem(item, progress);\r\n };\r\n xhr.onload = function () {\r\n var headers = _this._parseHeaders(xhr.getAllResponseHeaders());\r\n var response = _this._transformResponse(xhr.response, headers);\r\n var gist = _this._isSuccessCode(xhr.status) ? 'Success' : 'Error';\r\n var method = '_on' + gist + 'Item';\r\n _this[method](item, response, xhr.status, headers);\r\n _this._onCompleteItem(item, response, xhr.status, headers);\r\n };\r\n xhr.onerror = function () {\r\n var headers = _this._parseHeaders(xhr.getAllResponseHeaders());\r\n var response = _this._transformResponse(xhr.response, headers);\r\n _this._onErrorItem(item, response, xhr.status, headers);\r\n _this._onCompleteItem(item, response, xhr.status, headers);\r\n };\r\n xhr.onabort = function () {\r\n var headers = _this._parseHeaders(xhr.getAllResponseHeaders());\r\n var response = _this._transformResponse(xhr.response, headers);\r\n _this._onCancelItem(item, response, xhr.status, headers);\r\n _this._onCompleteItem(item, response, xhr.status, headers);\r\n };\r\n xhr.open(item.method, item.url, true);\r\n xhr.withCredentials = item.withCredentials;\r\n if (this.options.headers) {\r\n for (var _i = 0, _a = this.options.headers; _i < _a.length; _i++) {\r\n var header = _a[_i];\r\n xhr.setRequestHeader(header.name, header.value);\r\n }\r\n }\r\n if (item.headers.length) {\r\n for (var _b = 0, _c = item.headers; _b < _c.length; _b++) {\r\n var header = _c[_b];\r\n xhr.setRequestHeader(header.name, header.value);\r\n }\r\n }\r\n if (this.authToken) {\r\n xhr.setRequestHeader(this.authTokenHeader, this.authToken);\r\n }\r\n xhr.onreadystatechange = function () {\r\n if (xhr.readyState == XMLHttpRequest.DONE) {\r\n that.response.emit(xhr.responseText);\r\n }\r\n };\r\n if (this.options.formatDataFunctionIsAsync) {\r\n sendable.then(function (result) { return xhr.send(JSON.stringify(result)); });\r\n }\r\n else {\r\n xhr.send(sendable);\r\n }\r\n this._render();\r\n };\r\n FileUploader.prototype._getTotalProgress = function (value) {\r\n if (value === void 0) { value = 0; }\r\n if (this.options.removeAfterUpload) {\r\n return value;\r\n }\r\n var notUploaded = this.getNotUploadedItems().length;\r\n var uploaded = notUploaded ? this.queue.length - notUploaded : this.queue.length;\r\n var ratio = 100 / this.queue.length;\r\n var current = value * ratio / 100;\r\n return Math.round(uploaded * ratio + current);\r\n };\r\n FileUploader.prototype._getFilters = function (filters) {\r\n if (!filters) {\r\n return this.options.filters;\r\n }\r\n if (Array.isArray(filters)) {\r\n return filters;\r\n }\r\n if (typeof filters === 'string') {\r\n var names_1 = filters.match(/[^\\s,]+/g);\r\n return this.options.filters\r\n .filter(function (filter) { return names_1.indexOf(filter.name) !== -1; });\r\n }\r\n return this.options.filters;\r\n };\r\n FileUploader.prototype._render = function () {\r\n return void 0;\r\n };\r\n FileUploader.prototype._queueLimitFilter = function () {\r\n return this.options.queueLimit === undefined || this.queue.length < this.options.queueLimit;\r\n };\r\n FileUploader.prototype._isValidFile = function (file, filters, options) {\r\n var _this = this;\r\n this._failFilterIndex = -1;\r\n return !filters.length ? true : filters.every(function (filter) {\r\n _this._failFilterIndex++;\r\n return filter.fn.call(_this, file, options);\r\n });\r\n };\r\n FileUploader.prototype._isSuccessCode = function (status) {\r\n return (status >= 200 && status < 300) || status === 304;\r\n };\r\n FileUploader.prototype._transformResponse = function (response, headers) {\r\n return response;\r\n };\r\n FileUploader.prototype._parseHeaders = function (headers) {\r\n var parsed = {};\r\n var key;\r\n var val;\r\n var i;\r\n if (!headers) {\r\n return parsed;\r\n }\r\n headers.split('\\n').map(function (line) {\r\n i = line.indexOf(':');\r\n key = line.slice(0, i).trim().toLowerCase();\r\n val = line.slice(i + 1).trim();\r\n if (key) {\r\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\r\n }\r\n });\r\n return parsed;\r\n };\r\n FileUploader.prototype._onWhenAddingFileFailed = function (item, filter, options) {\r\n this.onWhenAddingFileFailed(item, filter, options);\r\n };\r\n FileUploader.prototype._onAfterAddingFile = function (item) {\r\n this.onAfterAddingFile(item);\r\n };\r\n FileUploader.prototype._onAfterAddingAll = function (items) {\r\n this.onAfterAddingAll(items);\r\n };\r\n FileUploader.prototype._onBeforeUploadItem = function (item) {\r\n item._onBeforeUpload();\r\n this.onBeforeUploadItem(item);\r\n };\r\n FileUploader.prototype._onBuildItemForm = function (item, form) {\r\n item._onBuildForm(form);\r\n this.onBuildItemForm(item, form);\r\n };\r\n FileUploader.prototype._onProgressItem = function (item, progress) {\r\n var total = this._getTotalProgress(progress);\r\n this.progress = total;\r\n item._onProgress(progress);\r\n this.onProgressItem(item, progress);\r\n this.onProgressAll(total);\r\n this._render();\r\n };\r\n FileUploader.prototype._onSuccessItem = function (item, response, status, headers) {\r\n item._onSuccess(response, status, headers);\r\n this.onSuccessItem(item, response, status, headers);\r\n };\r\n FileUploader.prototype._onCancelItem = function (item, response, status, headers) {\r\n item._onCancel(response, status, headers);\r\n this.onCancelItem(item, response, status, headers);\r\n };\r\n return FileUploader;\r\n}());\r\nexports.FileUploader = FileUploader;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/file-upload/file-uploader.class.ts\n// module id = 2\n// module chunks = 0","\"use strict\";\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nvar core_1 = require(\"@angular/core\");\r\nvar file_uploader_class_1 = require(\"./file-uploader.class\");\r\nvar FileDropDirective = (function () {\r\n function FileDropDirective(element) {\r\n this.fileOver = new core_1.EventEmitter();\r\n this.onFileDrop = new core_1.EventEmitter();\r\n this.element = element;\r\n }\r\n FileDropDirective.prototype.getOptions = function () {\r\n return this.uploader.options;\r\n };\r\n FileDropDirective.prototype.getFilters = function () {\r\n return {};\r\n };\r\n FileDropDirective.prototype.onDrop = function (event) {\r\n var transfer = this._getTransfer(event);\r\n if (!transfer) {\r\n return;\r\n }\r\n var options = this.getOptions();\r\n var filters = this.getFilters();\r\n this._preventAndStop(event);\r\n this.uploader.addToQueue(transfer.files, options, filters);\r\n this.fileOver.emit(false);\r\n this.onFileDrop.emit(transfer.files);\r\n };\r\n FileDropDirective.prototype.onDragOver = function (event) {\r\n var transfer = this._getTransfer(event);\r\n if (!this._haveFiles(transfer.types)) {\r\n return;\r\n }\r\n transfer.dropEffect = 'copy';\r\n this._preventAndStop(event);\r\n this.fileOver.emit(true);\r\n };\r\n FileDropDirective.prototype.onDragLeave = function (event) {\r\n if (this.element) {\r\n if (event.currentTarget === this.element[0]) {\r\n return;\r\n }\r\n }\r\n this._preventAndStop(event);\r\n this.fileOver.emit(false);\r\n };\r\n FileDropDirective.prototype._getTransfer = function (event) {\r\n return event.dataTransfer ? event.dataTransfer : event.originalEvent.dataTransfer; // jQuery fix;\r\n };\r\n FileDropDirective.prototype._preventAndStop = function (event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n };\r\n FileDropDirective.prototype._haveFiles = function (types) {\r\n if (!types) {\r\n return false;\r\n }\r\n if (types.indexOf) {\r\n return types.indexOf('Files') !== -1;\r\n }\r\n else if (types.contains) {\r\n return types.contains('Files');\r\n }\r\n else {\r\n return false;\r\n }\r\n };\r\n return FileDropDirective;\r\n}());\r\n__decorate([\r\n core_1.Input(),\r\n __metadata(\"design:type\", file_uploader_class_1.FileUploader)\r\n], FileDropDirective.prototype, \"uploader\", void 0);\r\n__decorate([\r\n core_1.Output(),\r\n __metadata(\"design:type\", core_1.EventEmitter)\r\n], FileDropDirective.prototype, \"fileOver\", void 0);\r\n__decorate([\r\n core_1.Output(),\r\n __metadata(\"design:type\", core_1.EventEmitter)\r\n], FileDropDirective.prototype, \"onFileDrop\", void 0);\r\n__decorate([\r\n core_1.HostListener('drop', ['$event']),\r\n __metadata(\"design:type\", Function),\r\n __metadata(\"design:paramtypes\", [Object]),\r\n __metadata(\"design:returntype\", void 0)\r\n], FileDropDirective.prototype, \"onDrop\", null);\r\n__decorate([\r\n core_1.HostListener('dragover', ['$event']),\r\n __metadata(\"design:type\", Function),\r\n __metadata(\"design:paramtypes\", [Object]),\r\n __metadata(\"design:returntype\", void 0)\r\n], FileDropDirective.prototype, \"onDragOver\", null);\r\n__decorate([\r\n core_1.HostListener('dragleave', ['$event']),\r\n __metadata(\"design:type\", Function),\r\n __metadata(\"design:paramtypes\", [Object]),\r\n __metadata(\"design:returntype\", Object)\r\n], FileDropDirective.prototype, \"onDragLeave\", null);\r\nFileDropDirective = __decorate([\r\n core_1.Directive({ selector: '[ng2FileDrop]' }),\r\n __metadata(\"design:paramtypes\", [core_1.ElementRef])\r\n], FileDropDirective);\r\nexports.FileDropDirective = FileDropDirective;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/file-upload/file-drop.directive.ts\n// module id = 3\n// module chunks = 0","\"use strict\";\r\nvar file_like_object_class_1 = require(\"./file-like-object.class\");\r\nvar FileItem = (function () {\r\n function FileItem(uploader, some, options) {\r\n this.url = '/';\r\n this.headers = [];\r\n this.withCredentials = true;\r\n this.formData = [];\r\n this.isReady = false;\r\n this.isUploading = false;\r\n this.isUploaded = false;\r\n this.isSuccess = false;\r\n this.isCancel = false;\r\n this.isError = false;\r\n this.progress = 0;\r\n this.index = void 0;\r\n this.uploader = uploader;\r\n this.some = some;\r\n this.options = options;\r\n this.file = new file_like_object_class_1.FileLikeObject(some);\r\n this._file = some;\r\n if (uploader.options) {\r\n this.method = uploader.options.method || 'POST';\r\n this.alias = uploader.options.itemAlias || 'file';\r\n }\r\n this.url = uploader.options.url;\r\n }\r\n FileItem.prototype.upload = function () {\r\n try {\r\n this.uploader.uploadItem(this);\r\n }\r\n catch (e) {\r\n this.uploader._onCompleteItem(this, '', 0, {});\r\n this.uploader._onErrorItem(this, '', 0, {});\r\n }\r\n };\r\n FileItem.prototype.cancel = function () {\r\n this.uploader.cancelItem(this);\r\n };\r\n FileItem.prototype.remove = function () {\r\n this.uploader.removeFromQueue(this);\r\n };\r\n FileItem.prototype.onBeforeUpload = function () {\r\n return void 0;\r\n };\r\n FileItem.prototype.onBuildForm = function (form) {\r\n return { form: form };\r\n };\r\n FileItem.prototype.onProgress = function (progress) {\r\n return { progress: progress };\r\n };\r\n FileItem.prototype.onSuccess = function (response, status, headers) {\r\n return { response: response, status: status, headers: headers };\r\n };\r\n FileItem.prototype.onError = function (response, status, headers) {\r\n return { response: response, status: status, headers: headers };\r\n };\r\n FileItem.prototype.onCancel = function (response, status, headers) {\r\n return { response: response, status: status, headers: headers };\r\n };\r\n FileItem.prototype.onComplete = function (response, status, headers) {\r\n return { response: response, status: status, headers: headers };\r\n };\r\n FileItem.prototype._onBeforeUpload = function () {\r\n this.isReady = true;\r\n this.isUploading = true;\r\n this.isUploaded = false;\r\n this.isSuccess = false;\r\n this.isCancel = false;\r\n this.isError = false;\r\n this.progress = 0;\r\n this.onBeforeUpload();\r\n };\r\n FileItem.prototype._onBuildForm = function (form) {\r\n this.onBuildForm(form);\r\n };\r\n FileItem.prototype._onProgress = function (progress) {\r\n this.progress = progress;\r\n this.onProgress(progress);\r\n };\r\n FileItem.prototype._onSuccess = function (response, status, headers) {\r\n this.isReady = false;\r\n this.isUploading = false;\r\n this.isUploaded = true;\r\n this.isSuccess = true;\r\n this.isCancel = false;\r\n this.isError = false;\r\n this.progress = 100;\r\n this.index = void 0;\r\n this.onSuccess(response, status, headers);\r\n };\r\n FileItem.prototype._onError = function (response, status, headers) {\r\n this.isReady = false;\r\n this.isUploading = false;\r\n this.isUploaded = true;\r\n this.isSuccess = false;\r\n this.isCancel = false;\r\n this.isError = true;\r\n this.progress = 0;\r\n this.index = void 0;\r\n this.onError(response, status, headers);\r\n };\r\n FileItem.prototype._onCancel = function (response, status, headers) {\r\n this.isReady = false;\r\n this.isUploading = false;\r\n this.isUploaded = false;\r\n this.isSuccess = false;\r\n this.isCancel = true;\r\n this.isError = false;\r\n this.progress = 0;\r\n this.index = void 0;\r\n this.onCancel(response, status, headers);\r\n };\r\n FileItem.prototype._onComplete = function (response, status, headers) {\r\n this.onComplete(response, status, headers);\r\n if (this.uploader.options.removeAfterUpload) {\r\n this.remove();\r\n }\r\n };\r\n FileItem.prototype._prepareToUploading = function () {\r\n this.index = this.index || ++this.uploader._nextIndex;\r\n this.isReady = true;\r\n };\r\n return FileItem;\r\n}());\r\nexports.FileItem = FileItem;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/file-upload/file-item.class.ts\n// module id = 4\n// module chunks = 0","\"use strict\";\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (this && this.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nvar core_1 = require(\"@angular/core\");\r\nvar file_uploader_class_1 = require(\"./file-uploader.class\");\r\nvar FileSelectDirective = (function () {\r\n function FileSelectDirective(element) {\r\n this.onFileSelected = new core_1.EventEmitter();\r\n this.element = element;\r\n }\r\n FileSelectDirective.prototype.getOptions = function () {\r\n return this.uploader.options;\r\n };\r\n FileSelectDirective.prototype.getFilters = function () {\r\n return {};\r\n };\r\n FileSelectDirective.prototype.isEmptyAfterSelection = function () {\r\n return !!this.element.nativeElement.attributes.multiple;\r\n };\r\n FileSelectDirective.prototype.onChange = function () {\r\n var files = this.element.nativeElement.files;\r\n var options = this.getOptions();\r\n var filters = this.getFilters();\r\n this.uploader.addToQueue(files, options, filters);\r\n this.onFileSelected.emit(files);\r\n if (this.isEmptyAfterSelection()) {\r\n this.element.nativeElement.value = '';\r\n }\r\n };\r\n return FileSelectDirective;\r\n}());\r\n__decorate([\r\n core_1.Input(),\r\n __metadata(\"design:type\", file_uploader_class_1.FileUploader)\r\n], FileSelectDirective.prototype, \"uploader\", void 0);\r\n__decorate([\r\n core_1.Output(),\r\n __metadata(\"design:type\", core_1.EventEmitter)\r\n], FileSelectDirective.prototype, \"onFileSelected\", void 0);\r\n__decorate([\r\n core_1.HostListener('change'),\r\n __metadata(\"design:type\", Function),\r\n __metadata(\"design:paramtypes\", []),\r\n __metadata(\"design:returntype\", Object)\r\n], FileSelectDirective.prototype, \"onChange\", null);\r\nFileSelectDirective = __decorate([\r\n core_1.Directive({ selector: '[ng2FileSelect]' }),\r\n __metadata(\"design:paramtypes\", [core_1.ElementRef])\r\n], FileSelectDirective);\r\nexports.FileSelectDirective = FileSelectDirective;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/file-upload/file-select.directive.ts\n// module id = 5\n// module chunks = 0","\"use strict\";\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar common_1 = require(\"@angular/common\");\r\nvar core_1 = require(\"@angular/core\");\r\nvar file_drop_directive_1 = require(\"./file-drop.directive\");\r\nvar file_select_directive_1 = require(\"./file-select.directive\");\r\nvar FileUploadModule = (function () {\r\n function FileUploadModule() {\r\n }\r\n return FileUploadModule;\r\n}());\r\nFileUploadModule = __decorate([\r\n core_1.NgModule({\r\n imports: [common_1.CommonModule],\r\n declarations: [file_drop_directive_1.FileDropDirective, file_select_directive_1.FileSelectDirective],\r\n exports: [file_drop_directive_1.FileDropDirective, file_select_directive_1.FileSelectDirective]\r\n })\r\n], FileUploadModule);\r\nexports.FileUploadModule = FileUploadModule;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/file-upload/file-upload.module.ts\n// module id = 6\n// module chunks = 0","\"use strict\";\r\nvar FileType = (function () {\r\n function FileType() {\r\n }\r\n FileType.getMimeClass = function (file) {\r\n var mimeClass = 'application';\r\n if (this.mime_psd.indexOf(file.type) !== -1) {\r\n mimeClass = 'image';\r\n }\r\n else if (file.type.match('image.*')) {\r\n mimeClass = 'image';\r\n }\r\n else if (file.type.match('video.*')) {\r\n mimeClass = 'video';\r\n }\r\n else if (file.type.match('audio.*')) {\r\n mimeClass = 'audio';\r\n }\r\n else if (file.type === 'application/pdf') {\r\n mimeClass = 'pdf';\r\n }\r\n else if (this.mime_compress.indexOf(file.type) !== -1) {\r\n mimeClass = 'compress';\r\n }\r\n else if (this.mime_doc.indexOf(file.type) !== -1) {\r\n mimeClass = 'doc';\r\n }\r\n else if (this.mime_xsl.indexOf(file.type) !== -1) {\r\n mimeClass = 'xls';\r\n }\r\n else if (this.mime_ppt.indexOf(file.type) !== -1) {\r\n mimeClass = 'ppt';\r\n }\r\n if (mimeClass === 'application') {\r\n mimeClass = this.fileTypeDetection(file.name);\r\n }\r\n return mimeClass;\r\n };\r\n FileType.fileTypeDetection = function (inputFilename) {\r\n var types = {\r\n 'jpg': 'image',\r\n 'jpeg': 'image',\r\n 'tif': 'image',\r\n 'psd': 'image',\r\n 'bmp': 'image',\r\n 'png': 'image',\r\n 'nef': 'image',\r\n 'tiff': 'image',\r\n 'cr2': 'image',\r\n 'dwg': 'image',\r\n 'cdr': 'image',\r\n 'ai': 'image',\r\n 'indd': 'image',\r\n 'pin': 'image',\r\n 'cdp': 'image',\r\n 'skp': 'image',\r\n 'stp': 'image',\r\n '3dm': 'image',\r\n 'mp3': 'audio',\r\n 'wav': 'audio',\r\n 'wma': 'audio',\r\n 'mod': 'audio',\r\n 'm4a': 'audio',\r\n 'compress': 'compress',\r\n 'zip': 'compress',\r\n 'rar': 'compress',\r\n '7z': 'compress',\r\n 'lz': 'compress',\r\n 'z01': 'compress',\r\n 'pdf': 'pdf',\r\n 'xls': 'xls',\r\n 'xlsx': 'xls',\r\n 'ods': 'xls',\r\n 'mp4': 'video',\r\n 'avi': 'video',\r\n 'wmv': 'video',\r\n 'mpg': 'video',\r\n 'mts': 'video',\r\n 'flv': 'video',\r\n '3gp': 'video',\r\n 'vob': 'video',\r\n 'm4v': 'video',\r\n 'mpeg': 'video',\r\n 'm2ts': 'video',\r\n 'mov': 'video',\r\n 'doc': 'doc',\r\n 'docx': 'doc',\r\n 'eps': 'doc',\r\n 'txt': 'doc',\r\n 'odt': 'doc',\r\n 'rtf': 'doc',\r\n 'ppt': 'ppt',\r\n 'pptx': 'ppt',\r\n 'pps': 'ppt',\r\n 'ppsx': 'ppt',\r\n 'odp': 'ppt'\r\n };\r\n var chunks = inputFilename.split('.');\r\n if (chunks.length < 2) {\r\n return 'application';\r\n }\r\n var extension = chunks[chunks.length - 1].toLowerCase();\r\n if (types[extension] === undefined) {\r\n return 'application';\r\n }\r\n else {\r\n return types[extension];\r\n }\r\n };\r\n return FileType;\r\n}());\r\n/* MS office */\r\nFileType.mime_doc = [\r\n 'application/msword',\r\n 'application/msword',\r\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\r\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.template',\r\n 'application/vnd.ms-word.document.macroEnabled.12',\r\n 'application/vnd.ms-word.template.macroEnabled.12'\r\n];\r\nFileType.mime_xsl = [\r\n 'application/vnd.ms-excel',\r\n 'application/vnd.ms-excel',\r\n 'application/vnd.ms-excel',\r\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\r\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.template',\r\n 'application/vnd.ms-excel.sheet.macroEnabled.12',\r\n 'application/vnd.ms-excel.template.macroEnabled.12',\r\n 'application/vnd.ms-excel.addin.macroEnabled.12',\r\n 'application/vnd.ms-excel.sheet.binary.macroEnabled.12'\r\n];\r\nFileType.mime_ppt = [\r\n 'application/vnd.ms-powerpoint',\r\n 'application/vnd.ms-powerpoint',\r\n 'application/vnd.ms-powerpoint',\r\n 'application/vnd.ms-powerpoint',\r\n 'application/vnd.openxmlformats-officedocument.presentationml.presentation',\r\n 'application/vnd.openxmlformats-officedocument.presentationml.template',\r\n 'application/vnd.openxmlformats-officedocument.presentationml.slideshow',\r\n 'application/vnd.ms-powerpoint.addin.macroEnabled.12',\r\n 'application/vnd.ms-powerpoint.presentation.macroEnabled.12',\r\n 'application/vnd.ms-powerpoint.presentation.macroEnabled.12',\r\n 'application/vnd.ms-powerpoint.slideshow.macroEnabled.12'\r\n];\r\n/* PSD */\r\nFileType.mime_psd = [\r\n 'image/photoshop',\r\n 'image/x-photoshop',\r\n 'image/psd',\r\n 'application/photoshop',\r\n 'application/psd',\r\n 'zz-application/zz-winassoc-psd'\r\n];\r\n/* Compressed files */\r\nFileType.mime_compress = [\r\n 'application/x-gtar',\r\n 'application/x-gcompress',\r\n 'application/compress',\r\n 'application/x-tar',\r\n 'application/x-rar-compressed',\r\n 'application/octet-stream'\r\n];\r\nexports.FileType = FileType;\r\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\";\r\nfunction __export(m) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n__export(require(\"./file-upload/file-select.directive\"));\r\n__export(require(\"./file-upload/file-drop.directive\"));\r\n__export(require(\"./file-upload/file-uploader.class\"));\r\n__export(require(\"./file-upload/file-item.class\"));\r\n__export(require(\"./file-upload/file-like-object.class\"));\r\nvar file_upload_module_1 = require(\"./file-upload/file-upload.module\");\r\nexports.FileUploadModule = file_upload_module_1.FileUploadModule;\r\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/core"),require("@angular/common")):"function"==typeof define&&define.amd?define(["@angular/core","@angular/common"],t):"object"==typeof exports?exports["ng2-file-upload.umd.min"]=t(require("@angular/core"),require("@angular/common")):e["ng2-file-upload.umd.min"]=t(e["@angular/core"],e["@angular/common"])}(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,o,i){t.o(e,o)||Object.defineProperty(e,o,{configurable:!1,enumerable:!0,get:i})},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(t,o){t.exports=e},function(e,t,o){"use strict";function i(e){return!(!e||!(e.nodeName||e.prop&&e.attr&&e.find))}var n=function(){function e(e){this.rawFile=e;var t=i(e),o=t?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}();t.FileLikeObject=n},function(e,t,o){"use strict";function i(e){return File&&e instanceof File}var n=o(0),r=o(1),s=o(4),p=o(7),a=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 n.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){for(var i=this,n=[],p=0,a=e;p<a.length;p++){var l=a[p];n.push(l)}var u=this._getFilters(o),c=this.queue.length,d=[];n.map(function(e){t||(t=i.options);var o=new r.FileLikeObject(e);if(i._isValidFile(o,u,t)){var n=new s.FileItem(i,e,t);d.push(n),i.queue.push(n),i._onAfterAddingFile(n)}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(){this.getNotUploadedItems().map(function(e){return e.cancel()})},e.prototype.isFile=function(e){return i(e)},e.prototype.isFileLikeObject=function(e){return e instanceof r.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&&-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(p.FileType.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];if(this.isUploading=!1,n)return void 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=this,i=this,n=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=this.options.formatDataFunction(e);else{t=new FormData,this._onBuildItemForm(e,t);var r=function(){return t.append(e.alias,e._file,e.file.name)};this.options.parametersBeforeFiles||r(),void 0!==this.options.additionalParameter&&Object.keys(this.options.additionalParameter).forEach(function(i){var n=o.options.additionalParameter[i];"string"==typeof n&&n.indexOf("{{file_name}}")>=0&&(n=n.replace("{{file_name}}",e.file.name)),t.append(i,n)}),this.options.parametersBeforeFiles&&r()}if(n.upload.onprogress=function(t){var i=Math.round(t.lengthComputable?100*t.loaded/t.total:0);o._onProgressItem(e,i)},n.onload=function(){var t=o._parseHeaders(n.getAllResponseHeaders()),i=o._transformResponse(n.response,t),r=o._isSuccessCode(n.status)?"Success":"Error";o["_on"+r+"Item"](e,i,n.status,t),o._onCompleteItem(e,i,n.status,t)},n.onerror=function(){var t=o._parseHeaders(n.getAllResponseHeaders()),i=o._transformResponse(n.response,t);o._onErrorItem(e,i,n.status,t),o._onCompleteItem(e,i,n.status,t)},n.onabort=function(){var t=o._parseHeaders(n.getAllResponseHeaders()),i=o._transformResponse(n.response,t);o._onCancelItem(e,i,n.status,t),o._onCompleteItem(e,i,n.status,t)},n.open(e.method,e.url,!0),n.withCredentials=e.withCredentials,this.options.headers)for(var s=0,p=this.options.headers;s<p.length;s++){var a=p[s];n.setRequestHeader(a.name,a.value)}if(e.headers.length)for(var l=0,u=e.headers;l<u.length;l++){var a=u[l];n.setRequestHeader(a.name,a.value)}this.authToken&&n.setRequestHeader(this.authTokenHeader,this.authToken),n.onreadystatechange=function(){n.readyState==XMLHttpRequest.DONE&&i.response.emit(n.responseText)},this.options.formatDataFunctionIsAsync?t.then(function(e){return n.send(JSON.stringify(e))}):n.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-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}();t.FileUploader=a},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(0),s=o(2),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){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}();i([r.Input(),n("design:type",s.FileUploader)],p.prototype,"uploader",void 0),i([r.Output(),n("design:type",r.EventEmitter)],p.prototype,"fileOver",void 0),i([r.Output(),n("design:type",r.EventEmitter)],p.prototype,"onFileDrop",void 0),i([r.HostListener("drop",["$event"]),n("design:type",Function),n("design:paramtypes",[Object]),n("design:returntype",void 0)],p.prototype,"onDrop",null),i([r.HostListener("dragover",["$event"]),n("design:type",Function),n("design:paramtypes",[Object]),n("design:returntype",void 0)],p.prototype,"onDragOver",null),i([r.HostListener("dragleave",["$event"]),n("design:type",Function),n("design:paramtypes",[Object]),n("design:returntype",Object)],p.prototype,"onDragLeave",null),p=i([r.Directive({selector:"[ng2FileDrop]"}),n("design:paramtypes",[r.ElementRef])],p),t.FileDropDirective=p},function(e,t,o){"use strict";var i=o(1),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,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(0),s=o(2),p=function(){function e(e){this.onFileSelected=new r.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}();i([r.Input(),n("design:type",s.FileUploader)],p.prototype,"uploader",void 0),i([r.Output(),n("design:type",r.EventEmitter)],p.prototype,"onFileSelected",void 0),i([r.HostListener("change"),n("design:type",Function),n("design:paramtypes",[]),n("design:returntype",Object)],p.prototype,"onChange",null),p=i([r.Directive({selector:"[ng2FileSelect]"}),n("design:paramtypes",[r.ElementRef])],p),t.FileSelectDirective=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=o(8),r=o(0),s=o(3),p=o(5),a=function(){function e(){}return e}();a=i([r.NgModule({imports:[n.CommonModule],declarations:[s.FileDropDirective,p.FileSelectDirective],exports:[s.FileDropDirective,p.FileSelectDirective]})],a),t.FileUploadModule=a},function(e,t,o){"use strict";var i=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",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}();i.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"],i.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"],i.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"],i.mime_psd=["image/photoshop","image/x-photoshop","image/psd","application/photoshop","application/psd","zz-application/zz-winassoc-psd"],i.mime_compress=["application/x-gtar","application/x-gcompress","application/compress","application/x-tar","application/x-rar-compressed","application/octet-stream"],t.FileType=i},function(e,o){e.exports=t},function(e,t,o){"use strict";function i(e){for(var o in e)t.hasOwnProperty(o)||(t[o]=e[o])}i(o(5)),i(o(3)),i(o(2)),i(o(4)),i(o(1));var n=o(6);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"]}
|