ng2-file-upload 2.0.0-3 → 4.0.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/esm2020/file-upload/file-drop.directive.mjs +92 -0
- package/esm2020/file-upload/file-item.class.mjs +123 -0
- package/esm2020/file-upload/file-like-object.class.mjs +21 -0
- package/esm2020/file-upload/file-select.directive.mjs +43 -0
- package/esm2020/file-upload/file-type.class.mjs +171 -0
- package/esm2020/file-upload/file-upload.module.mjs +21 -0
- package/esm2020/file-upload/file-uploader.class.mjs +404 -0
- package/esm2020/index.mjs +8 -0
- package/esm2020/ng2-file-upload.mjs +5 -0
- package/fesm2015/{ng2-file-upload.js → ng2-file-upload.mjs} +120 -106
- package/fesm2015/ng2-file-upload.mjs.map +1 -0
- package/fesm2020/ng2-file-upload.mjs +867 -0
- package/fesm2020/ng2-file-upload.mjs.map +1 -0
- package/file-upload/file-drop.directive.d.ts +3 -0
- package/file-upload/file-select.directive.d.ts +3 -0
- package/file-upload/file-upload.module.d.ts +9 -0
- package/package.json +23 -11
- package/bundles/ng2-file-upload.umd.js +0 -1233
- package/bundles/ng2-file-upload.umd.js.map +0 -1
- package/bundles/ng2-file-upload.umd.min.js +0 -2
- package/bundles/ng2-file-upload.umd.min.js.map +0 -1
- package/esm2015/file-upload/file-drop.directive.js +0 -86
- package/esm2015/file-upload/file-drop.directive.js.map +0 -1
- package/esm2015/file-upload/file-drop.directive.metadata.json +0 -1
- package/esm2015/file-upload/file-item.class.js +0 -123
- package/esm2015/file-upload/file-item.class.js.map +0 -1
- package/esm2015/file-upload/file-item.class.metadata.json +0 -1
- package/esm2015/file-upload/file-like-object.class.js +0 -21
- package/esm2015/file-upload/file-like-object.class.js.map +0 -1
- package/esm2015/file-upload/file-like-object.class.metadata.json +0 -1
- package/esm2015/file-upload/file-select.directive.js +0 -42
- package/esm2015/file-upload/file-select.directive.js.map +0 -1
- package/esm2015/file-upload/file-select.directive.metadata.json +0 -1
- package/esm2015/file-upload/file-type.class.js +0 -172
- package/esm2015/file-upload/file-type.class.js.map +0 -1
- package/esm2015/file-upload/file-type.class.metadata.json +0 -1
- package/esm2015/file-upload/file-upload.module.js +0 -14
- package/esm2015/file-upload/file-upload.module.js.map +0 -1
- package/esm2015/file-upload/file-upload.module.metadata.json +0 -1
- package/esm2015/file-upload/file-uploader.class.js +0 -408
- package/esm2015/file-upload/file-uploader.class.js.map +0 -1
- package/esm2015/file-upload/file-uploader.class.metadata.json +0 -1
- package/esm2015/index.js +0 -8
- package/esm2015/index.js.map +0 -1
- package/esm2015/index.metadata.json +0 -1
- package/esm2015/ng2-file-upload.js +0 -5
- package/esm2015/ng2-file-upload.js.map +0 -1
- package/esm2015/ng2-file-upload.metadata.json +0 -1
- package/fesm2015/ng2-file-upload.js.map +0 -1
- package/ng2-file-upload.d.ts +0 -4
- package/ng2-file-upload.metadata.json +0 -1
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"ng2-file-upload.umd.js","sources":["../../../../libs/ng2-file-upload/file-upload/file-drop.directive.ts","../../../../node_modules/tslib/tslib.es6.js","../../../../libs/ng2-file-upload/file-upload/file-like-object.class.ts","../../../../libs/ng2-file-upload/file-upload/file-item.class.ts","../../../../libs/ng2-file-upload/file-upload/file-type.class.ts","../../../../libs/ng2-file-upload/file-upload/file-uploader.class.ts","../../../../libs/ng2-file-upload/file-upload/file-select.directive.ts","../../../../libs/ng2-file-upload/file-upload/file-upload.module.ts","../../../../libs/ng2-file-upload/ng2-file-upload.ts"],"sourcesContent":["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() uploader?: FileUploader;\n @Output() fileOver: EventEmitter<any> = new EventEmitter();\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n @Output() onFileDrop: EventEmitter<File[]> = new EventEmitter<File[]>();\n\n protected element: ElementRef;\n\n constructor(element: ElementRef) {\n this.element = element;\n }\n\n getOptions(): FileUploaderOptions | void {\n return this.uploader?.options;\n }\n\n getFilters(): string {\n return '';\n }\n\n @HostListener('drop', [ '$event' ])\n onDrop(event: MouseEvent): void {\n const transfer = this._getTransfer(event);\n if (!transfer) {\n return;\n }\n\n const options = this.getOptions();\n const filters = this.getFilters();\n this._preventAndStop(event);\n if (options) {\n this.uploader?.addToQueue(transfer.files, options, filters);\n }\n this.fileOver.emit(false);\n this.onFileDrop.emit(transfer.files);\n }\n\n @HostListener('dragover', [ '$event' ])\n onDragOver(event: MouseEvent): void {\n const 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 onDragLeave(event: MouseEvent): void {\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: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n }\n\n protected _haveFiles(types: any): boolean {\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","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(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\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","export class FileLikeObject {\n lastModifiedDate: any;\n size: any;\n type?: string;\n name?: string;\n rawFile: HTMLInputElement | File;\n\n constructor(fileOrInput: HTMLInputElement | File) {\n this.rawFile = fileOrInput;\n const fakePathOrObject = fileOrInput instanceof HTMLInputElement ? fileOrInput.value : fileOrInput;\n const postfix = typeof fakePathOrObject === 'string' ? 'FakePath' : 'Object';\n const method = `_createFrom${postfix}`;\n (this as any)[ method ](fakePathOrObject);\n }\n\n _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 _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 file: FileLikeObject;\n _file: File;\n alias?: string;\n url = '/';\n method?: string;\n headers: any = [];\n withCredentials = true;\n formData: any = [];\n isReady = false;\n isUploading = false;\n isUploaded = false;\n isSuccess = false;\n isCancel = false;\n isError = false;\n progress = 0;\n index?: number;\n _xhr?: XMLHttpRequest;\n _form: any;\n\n protected uploader: FileUploader;\n protected some: File;\n protected options: FileUploaderOptions;\n\n 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 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 cancel(): void {\n this.uploader.cancelItem(this);\n }\n\n remove(): void {\n this.uploader.removeFromQueue(this);\n }\n\n onBeforeUpload(): void {\n return void 0;\n }\n\n onBuildForm(form: any): any {\n return { form };\n }\n\n onProgress(progress: number): any {\n return { progress };\n }\n\n onSuccess(response: string, status: number, headers: ParsedResponseHeaders): any {\n return { response, status, headers };\n }\n\n onError(response: string, status: number, headers: ParsedResponseHeaders): any {\n return { response, status, headers };\n }\n\n onCancel(response: string, status: number, headers: ParsedResponseHeaders): any {\n return { response, status, headers };\n }\n\n onComplete(response: string, status: number, headers: ParsedResponseHeaders): any {\n return { response, status, headers };\n }\n\n _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 _onBuildForm(form: any): void {\n this.onBuildForm(form);\n }\n\n _onProgress(progress: number): void {\n this.progress = progress;\n this.onProgress(progress);\n }\n\n _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 = undefined;\n this.onSuccess(response, status, headers);\n }\n\n _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 = undefined;\n this.onError(response, status, headers);\n }\n\n _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 = undefined;\n this.onCancel(response, status, headers);\n }\n\n _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 _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 // tslint:disable-next-line:variable-name\n 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 // tslint:disable-next-line:variable-name\n 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 // tslint:disable-next-line:variable-name\n 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 // tslint:disable-next-line:variable-name\n 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 // tslint:disable-next-line:variable-name\n 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 static getMimeClass(file: FileLikeObject): string {\n let mimeClass = 'application';\n if (file?.type && 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 (file?.type && this.mime_compress.indexOf(file.type) !== -1) {\n mimeClass = 'compress';\n } else if (file?.type && this.mime_doc.indexOf(file.type) !== -1) {\n mimeClass = 'doc';\n } else if (file?.type && this.mime_xsl.indexOf(file.type) !== -1) {\n mimeClass = 'xls';\n } else if (file?.type && this.mime_ppt.indexOf(file.type) !== -1) {\n mimeClass = 'ppt';\n }\n if (mimeClass === 'application' && file?.name) {\n mimeClass = this.fileTypeDetection(file.name);\n }\n\n return mimeClass;\n }\n\n static fileTypeDetection(inputFilename: string): string {\n const 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 const chunks = inputFilename.split('.');\n if (chunks.length < 2) {\n return 'application';\n }\n const 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 interface ParsedResponseHeaders { [ headerFieldName: string ]: string }\n\nexport interface 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 // eslint-disable-next-line @typescript-eslint/ban-types\n formatDataFunction?: Function;\n formatDataFunctionIsAsync?: boolean;\n}\n\nexport class FileUploader {\n\n authToken?: string;\n isUploading = false;\n queue: FileItem[] = [];\n progress = 0;\n _nextIndex = 0;\n autoUpload: any;\n authTokenHeader?: string;\n response: EventEmitter<any>;\n\n 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 url: ''\n };\n\n protected _failFilterIndex?: number;\n\n constructor(options: FileUploaderOptions) {\n this.setOptions(options);\n this.response = new EventEmitter<string>();\n }\n\n 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 addToQueue(files: File[], _options?: FileUploaderOptions, filters?: [] | string): void {\n let options = _options;\n const list: File[] = [];\n for (const file of files) {\n list.push(file);\n }\n const arrayOfFilters = this._getFilters(filters);\n const count = this.queue.length;\n const addedFileItems: FileItem[] = [];\n list.map((some: File) => {\n if (!options) {\n options = this.options;\n }\n\n const temp = new FileLikeObject(some);\n if (this._isValidFile(temp, arrayOfFilters, options)) {\n const fileItem = new FileItem(this, some, options);\n addedFileItems.push(fileItem);\n this.queue.push(fileItem);\n this._onAfterAddingFile(fileItem);\n } else {\n if (this._failFilterIndex) {\n const filter = arrayOfFilters[ this._failFilterIndex ];\n this._onWhenAddingFileFailed(temp, filter, options);\n }\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 removeFromQueue(value: FileItem): void {\n const index = this.getIndexOfItem(value);\n const 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 clearQueue(): void {\n while (this.queue.length) {\n this.queue[ 0 ].remove();\n }\n this.progress = 0;\n }\n\n uploadItem(value: FileItem): void {\n const index = this.getIndexOfItem(value);\n const item = this.queue[ index ];\n const 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 cancelItem(value: FileItem): void {\n const index = this.getIndexOfItem(value);\n const item = this.queue[ index ];\n const prop = this.options.isHTML5 ? item._xhr : item._form;\n if (item && item.isUploading) {\n prop.abort();\n }\n }\n\n uploadAll(): void {\n const 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 cancelAll(): void {\n const items = this.getNotUploadedItems();\n items.map((item: FileItem) => item.cancel());\n }\n\n isFile(value: any): boolean {\n return isFile(value);\n }\n\n isFileLikeObject(value: any): boolean {\n return value instanceof FileLikeObject;\n }\n\n getIndexOfItem(value: any): number {\n return typeof value === 'number' ? value : this.queue.indexOf(value);\n }\n\n getNotUploadedItems(): any[] {\n return this.queue.filter((item: FileItem) => !item.isUploaded);\n }\n\n 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 onAfterAddingAll(fileItems: any): any {\n return { fileItems };\n }\n\n onBuildItemForm(fileItem: FileItem, form: any): any {\n return { fileItem, form };\n }\n\n onAfterAddingFile(fileItem: FileItem): any {\n return { fileItem };\n }\n\n onWhenAddingFileFailed(item: FileLikeObject, filter: any, options: any): any {\n return { item, filter, options };\n }\n\n onBeforeUploadItem(fileItem: FileItem): any {\n return { fileItem };\n }\n\n onProgressItem(fileItem: FileItem, progress: any): any {\n return { fileItem, progress };\n }\n\n onProgressAll(progress: any): any {\n return { progress };\n }\n\n onSuccessItem(item: FileItem, response: string, status: number, headers: ParsedResponseHeaders): any {\n return { item, response, status, headers };\n }\n\n onErrorItem(item: FileItem, response: string, status: number, headers: ParsedResponseHeaders): any {\n return { item, response, status, headers };\n }\n\n onCancelItem(item: FileItem, response: string, status: number, headers: ParsedResponseHeaders): any {\n return { item, response, status, headers };\n }\n\n onCompleteItem(item: FileItem, response: string, status: number, headers: ParsedResponseHeaders): any {\n return { item, response, status, headers };\n }\n\n onCompleteAll(): any {\n return void 0;\n }\n\n _mimeTypeFilter(item: FileLikeObject): boolean {\n return !(item?.type && this.options.allowedMimeType && this.options.allowedMimeType?.indexOf(item.type) === -1);\n }\n\n _fileSizeFilter(item: FileLikeObject): boolean {\n return !(this.options.maxFileSize && item.size > this.options.maxFileSize);\n }\n\n _fileTypeFilter(item: FileLikeObject): boolean {\n return !(this.options.allowedFileType &&\n this.options.allowedFileType.indexOf(FileType.getMimeClass(item)) === -1);\n }\n\n _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 _onCompleteItem(item: FileItem, response: string, status: number, headers: ParsedResponseHeaders): void {\n item._onComplete(response, status, headers);\n this.onCompleteItem(item, response, status, headers);\n const nextItem = this.getReadyItems()[ 0 ];\n this.isUploading = false;\n if (nextItem) {\n nextItem.upload();\n\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() ] || undefined;\n }\n\n return parsedHeaders;\n };\n }\n\n protected _xhrTransport(item: FileItem): any {\n // tslint:disable-next-line:no-this-assignment\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const that = this;\n const 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 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 && item.file?.name) {\n paramVal = paramVal.replace('{{file_name}}', item.file.name);\n }\n sendable.append(key, paramVal);\n });\n }\n\n if (appendFile && this.options.parametersBeforeFiles) {\n appendFile();\n }\n } else {\n if (this.options.formatDataFunction) {\n sendable = this.options.formatDataFunction(item);\n }\n }\n\n xhr.upload.onprogress = (event: any) => {\n const progress = Math.round(event.lengthComputable ? event.loaded * 100 / event.total : 0);\n this._onProgressItem(item, progress);\n };\n xhr.onload = () => {\n const headers = this._parseHeaders(xhr.getAllResponseHeaders());\n const response = this._transformResponse(xhr.response, headers);\n const gist = this._isSuccessCode(xhr.status) ? 'Success' : 'Error';\n const 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 const headers = this._parseHeaders(xhr.getAllResponseHeaders());\n const 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 const headers = this._parseHeaders(xhr.getAllResponseHeaders());\n const response = this._transformResponse(xhr.response, headers);\n this._onCancelItem(item, response, xhr.status, headers);\n this._onCompleteItem(item, response, xhr.status, headers);\n };\n if (item.method && item.url) {\n xhr.open(item.method, item.url, true);\n }\n xhr.withCredentials = item.withCredentials;\n if (this.options.headers) {\n for (const header of this.options.headers) {\n xhr.setRequestHeader(header.name, header.value);\n }\n }\n if (item.headers.length) {\n for (const header of item.headers) {\n xhr.setRequestHeader(header.name, header.value);\n }\n }\n if (this.authToken && this.authTokenHeader) {\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 = 0): number {\n if (this.options.removeAfterUpload) {\n return value;\n }\n const notUploaded = this.getNotUploadedItems().length;\n const uploaded = notUploaded ? this.queue.length - notUploaded : this.queue.length;\n const ratio = 100 / this.queue.length;\n const 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 const names = filters.match(/[^\\s,]+/g);\n\n return this.options?.filters || []\n .filter((filter: any) => names?.indexOf(filter.name) !== -1);\n }\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\n return !filters.length ? true : filters.every((filter: FilterFunction) => {\n if (this._failFilterIndex) {\n this._failFilterIndex++;\n }\n\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 const 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\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 const 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, FileUploaderOptions } from './file-uploader.class';\n\n@Directive({ selector: '[ng2FileSelect]' })\nexport class FileSelectDirective {\n @Input() uploader?: FileUploader;\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n @Output() onFileSelected: EventEmitter<File[]> = new EventEmitter<File[]>();\n\n protected element: ElementRef;\n\n constructor(element: ElementRef) {\n this.element = element;\n }\n\n getOptions(): FileUploaderOptions | undefined {\n return this.uploader?.options;\n }\n\n getFilters(): string {\n return '';\n }\n\n isEmptyAfterSelection(): boolean {\n return !!this.element.nativeElement.attributes.multiple;\n }\n\n @HostListener('change')\n onChange(): void {\n const files = this.element.nativeElement.files;\n const options = this.getOptions();\n const filters = this.getFilters();\n this.uploader?.addToQueue(files, options, filters);\n\n this.onFileSelected.emit(files);\n if (this.isEmptyAfterSelection()) {\n this.element.nativeElement.value = '';\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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["EventEmitter","Directive","ElementRef","Input","Output","HostListener","NgModule","CommonModule"],"mappings":"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"}
|
@@ -1,2 +0,0 @@
|
|
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="undefined"!=typeof globalThis?globalThis: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.fileOver=new t.EventEmitter,this.onFileDrop=new t.EventEmitter,this.element=e}return e.prototype.getOptions=function(){var e;return null===(e=this.uploader)||void 0===e?void 0:e.options},e.prototype.getFilters=function(){return""},e.prototype.onDrop=function(e){var t,o=this._getTransfer(e);if(o){var i=this.getOptions(),n=this.getFilters();this._preventAndStop(e),i&&(null===(t=this.uploader)||void 0===t||t.addToQueue(o.files,i,n)),this.fileOver.emit(!1),this.onFileDrop.emit(o.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.decorators=[{type:t.Directive,args:[{selector:"[ng2FileDrop]"}]}],i.ctorParameters=function(){return[{type:t.ElementRef}]},i.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"]]}]};Object.create;function n(e){var t="function"==typeof Symbol&&Symbol.iterator,o=t&&e[t],i=0;if(o)return o.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}Object.create;var r=function(){function e(e){this.rawFile=e;var t=e instanceof HTMLInputElement?e.value:e;this["_createFrom"+("string"==typeof t?"FakePath":"Object")](t)}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}(),s=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.uploader=e,this.some=t,this.options=o,this.file=new r(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}(),p=function(){function e(){}return e.getMimeClass=function(e){var t,o,i,n="application";return(null==e?void 0:e.type)&&-1!==this.mime_psd.indexOf(e.type)||(null===(t=null==e?void 0:e.type)||void 0===t?void 0:t.match("image.*"))?n="image":(null===(o=null==e?void 0:e.type)||void 0===o?void 0:o.match("video.*"))?n="video":(null===(i=null==e?void 0:e.type)||void 0===i?void 0:i.match("audio.*"))?n="audio":"application/pdf"===(null==e?void 0:e.type)?n="pdf":(null==e?void 0:e.type)&&-1!==this.mime_compress.indexOf(e.type)?n="compress":(null==e?void 0:e.type)&&-1!==this.mime_doc.indexOf(e.type)?n="doc":(null==e?void 0:e.type)&&-1!==this.mime_xsl.indexOf(e.type)?n="xls":(null==e?void 0:e.type)&&-1!==this.mime_ppt.indexOf(e.type)&&(n="ppt"),"application"===n&&(null==e?void 0:e.name)&&(n=this.fileTypeDetection(e.name)),n},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}();p.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"],p.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"],p.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"],p.mime_psd=["image/photoshop","image/x-photoshop","image/psd","application/photoshop","application/psd","zz-application/zz-winassoc-psd"],p.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"];var 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,url:""},this.setOptions(e),this.response=new t.EventEmitter}return e.prototype.setOptions=function(e){var t,o,i,n;this.options=Object.assign(this.options,e),this.authToken=this.options.authToken,this.authTokenHeader=this.options.authTokenHeader||"Authorization",this.autoUpload=this.options.autoUpload,null===(t=this.options.filters)||void 0===t||t.unshift({name:"queueLimit",fn:this._queueLimitFilter}),this.options.maxFileSize&&(null===(o=this.options.filters)||void 0===o||o.unshift({name:"fileSize",fn:this._fileSizeFilter})),this.options.allowedFileType&&(null===(i=this.options.filters)||void 0===i||i.unshift({name:"fileType",fn:this._fileTypeFilter})),this.options.allowedMimeType&&(null===(n=this.options.filters)||void 0===n||n.unshift({name:"mimeType",fn:this._mimeTypeFilter}));for(var r=0;r<this.queue.length;r++)this.queue[r].url=this.options.url},e.prototype.addToQueue=function(e,t,o){var i,p,a=this,l=t,u=[];try{for(var d=n(e),c=d.next();!c.done;c=d.next()){var m=c.value;u.push(m)}}catch(e){i={error:e}}finally{try{c&&!c.done&&(p=d.return)&&p.call(d)}finally{if(i)throw i.error}}var h=this._getFilters(o),f=this.queue.length,v=[];u.map((function(e){l||(l=a.options);var t=new r(e);if(a._isValidFile(t,h,l)){var o=new s(a,e,l);v.push(o),a.queue.push(o),a._onAfterAddingFile(o)}else if(a._failFilterIndex){var i=h[a._failFilterIndex];a._onWhenAddingFileFailed(t,i,l)}})),this.queue.length!==f&&(this._onAfterAddingAll(v),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 r},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.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){var t;return!((null==e?void 0:e.type)&&this.options.allowedMimeType&&-1===(null===(t=this.options.allowedMimeType)||void 0===t?void 0:t.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.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,r,s,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)this.options.formatDataFunction&&(s=this.options.formatDataFunction(e));else{s=new FormData,this._onBuildItemForm(e,s);var u=function(){return s.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,i,n=null===(o=p.options.additionalParameter)||void 0===o?void 0:o[t];"string"==typeof n&&n.indexOf("{{file_name}}")>=0&&(null===(i=e.file)||void 0===i?void 0:i.name)&&(n=n.replace("{{file_name}}",e.file.name)),s.append(t,n)})),u&&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)},e.method&&e.url&&l.open(e.method,e.url,!0),l.withCredentials=e.withCredentials,this.options.headers)try{for(var d=n(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=n(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&&(r=h.return)&&r.call(h)}finally{if(i)throw i.error}}this.authToken&&this.authTokenHeader&&l.setRequestHeader(this.authTokenHeader,this.authToken),l.onreadystatechange=function(){l.readyState==XMLHttpRequest.DONE&&a.response.emit(l.responseText)},this.options.formatDataFunctionIsAsync?s.then((function(e){return l.send(JSON.stringify(e))})):l.send(s),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){var t,o,i;if(!e)return(null===(t=this.options)||void 0===t?void 0:t.filters)||[];if(Array.isArray(e))return e;if("string"==typeof e){var n=e.match(/[^\s,]+/g);return(null===(o=this.options)||void 0===o?void 0:o.filters)||[].filter((function(e){return-1!==(null==n?void 0:n.indexOf(e.name))}))}return(null===(i=this.options)||void 0===i?void 0:i.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&&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}(),l=function(){function e(e){this.onFileSelected=new t.EventEmitter,this.element=e}return e.prototype.getOptions=function(){var e;return null===(e=this.uploader)||void 0===e?void 0:e.options},e.prototype.getFilters=function(){return""},e.prototype.isEmptyAfterSelection=function(){return!!this.element.nativeElement.attributes.multiple},e.prototype.onChange=function(){var e,t=this.element.nativeElement.files,o=this.getOptions(),i=this.getFilters();null===(e=this.uploader)||void 0===e||e.addToQueue(t,o,i),this.onFileSelected.emit(t),this.isEmptyAfterSelection()&&(this.element.nativeElement.value="")},e}();l.decorators=[{type:t.Directive,args:[{selector:"[ng2FileSelect]"}]}],l.ctorParameters=function(){return[{type:t.ElementRef}]},l.propDecorators={uploader:[{type:t.Input}],onFileSelected:[{type:t.Output}],onChange:[{type:t.HostListener,args:["change"]}]};var u=function(){};u.decorators=[{type:t.NgModule,args:[{imports:[o.CommonModule],declarations:[i,l],exports:[i,l]}]}],e.FileDropDirective=i,e.FileItem=s,e.FileLikeObject=r,e.FileSelectDirective=l,e.FileUploadModule=u,e.FileUploader=a,Object.defineProperty(e,"__esModule",{value:!0})}));
|
2
|
-
//# sourceMappingURL=ng2-file-upload.umd.min.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../../../../libs/ng2-file-upload/file-upload/file-drop.directive.ts","../../../../node_modules/tslib/tslib.es6.js","../../../../libs/ng2-file-upload/file-upload/file-like-object.class.ts","../../../../libs/ng2-file-upload/file-upload/file-item.class.ts","../../../../libs/ng2-file-upload/file-upload/file-type.class.ts","../../../../libs/ng2-file-upload/file-upload/file-uploader.class.ts","../../../../libs/ng2-file-upload/file-upload/file-select.directive.ts","../../../../libs/ng2-file-upload/file-upload/file-upload.module.ts"],"names":["FileDropDirective","element","this","fileOver","EventEmitter","onFileDrop","prototype","getOptions","_a","uploader","options","getFilters","onDrop","event","transfer","_getTransfer","filters","_preventAndStop","addToQueue","files","emit","onDragOver","_haveFiles","types","dropEffect","onDragLeave","currentTarget","dataTransfer","originalEvent","preventDefault","stopPropagation","indexOf","contains","Directive","args","selector","ElementRef","Input","Output","HostListener","Object","create","__values","o","s","Symbol","iterator","m","i","call","length","next","value","done","TypeError","FileLikeObject","fileOrInput","rawFile","fakePathOrObject","HTMLInputElement","_createFromFakePath","path","lastModifiedDate","size","type","slice","lastIndexOf","toLowerCase","name","_createFromObject","object","FileItem","some","url","headers","withCredentials","formData","isReady","isUploading","isUploaded","isSuccess","isCancel","isError","progress","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","index","undefined","_onError","_onCancel","_onComplete","removeAfterUpload","_prepareToUploading","_nextIndex","FileType","getMimeClass","mimeClass","mime_psd","match","_b","_c","mime_compress","mime_doc","mime_xsl","mime_ppt","fileTypeDetection","inputFilename","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","extension","FileUploader","queue","autoUpload","isHTML5","disableMultipart","formatDataFunction","item","formatDataFunctionIsAsync","setOptions","assign","authToken","authTokenHeader","unshift","fn","_queueLimitFilter","maxFileSize","_fileSizeFilter","allowedFileType","_fileTypeFilter","allowedMimeType","_d","_mimeTypeFilter","_options","_this","list","files_1","files_1_1","push","arrayOfFilters","_getFilters","count","addedFileItems","map","temp","_isValidFile","fileItem","_onAfterAddingFile","_failFilterIndex","filter","_onWhenAddingFileFailed","_onAfterAddingAll","_getTotalProgress","_render","uploadAll","getIndexOfItem","splice","clearQueue","transport","prop","_xhr","_form","abort","items","getNotUploadedItems","cancelAll","isFile","File","isFileLikeObject","getReadyItems","sort","item1","item2","onAfterAddingAll","fileItems","onBuildItemForm","onAfterAddingFile","onWhenAddingFileFailed","onBeforeUploadItem","onProgressItem","onProgressAll","onSuccessItem","onErrorItem","onCancelItem","onCompleteItem","onCompleteAll","nextItem","_headersGetter","parsedHeaders","_xhrTransport","sendable","that","xhr","XMLHttpRequest","_onBeforeUploadItem","FormData","_onBuildItemForm","appendFile","append","parametersBeforeFiles","additionalParameter","keys","forEach","key","paramVal","replace","onprogress","Math","round","lengthComputable","loaded","total","_onProgressItem","onload","_parseHeaders","getAllResponseHeaders","_transformResponse","gist","_isSuccessCode","onerror","onabort","_onCancelItem","open","_g","_h","header","setRequestHeader","_j","_k","onreadystatechange","readyState","DONE","responseText","then","result","send","JSON","stringify","notUploaded","uploaded","ratio","current","Array","isArray","names_1","queueLimit","every","val","parsed","line","trim","_onSuccessItem","FileSelectDirective","onFileSelected","isEmptyAfterSelection","nativeElement","attributes","multiple","onChange","NgModule","imports","CommonModule","declarations","exports"],"mappings":"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","sourcesContent":["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() uploader?: FileUploader;\n @Output() fileOver: EventEmitter<any> = new EventEmitter();\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n @Output() onFileDrop: EventEmitter<File[]> = new EventEmitter<File[]>();\n\n protected element: ElementRef;\n\n constructor(element: ElementRef) {\n this.element = element;\n }\n\n getOptions(): FileUploaderOptions | void {\n return this.uploader?.options;\n }\n\n getFilters(): string {\n return '';\n }\n\n @HostListener('drop', [ '$event' ])\n onDrop(event: MouseEvent): void {\n const transfer = this._getTransfer(event);\n if (!transfer) {\n return;\n }\n\n const options = this.getOptions();\n const filters = this.getFilters();\n this._preventAndStop(event);\n if (options) {\n this.uploader?.addToQueue(transfer.files, options, filters);\n }\n this.fileOver.emit(false);\n this.onFileDrop.emit(transfer.files);\n }\n\n @HostListener('dragover', [ '$event' ])\n onDragOver(event: MouseEvent): void {\n const 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 onDragLeave(event: MouseEvent): void {\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: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n }\n\n protected _haveFiles(types: any): boolean {\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","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(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\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","export class FileLikeObject {\n lastModifiedDate: any;\n size: any;\n type?: string;\n name?: string;\n rawFile: HTMLInputElement | File;\n\n constructor(fileOrInput: HTMLInputElement | File) {\n this.rawFile = fileOrInput;\n const fakePathOrObject = fileOrInput instanceof HTMLInputElement ? fileOrInput.value : fileOrInput;\n const postfix = typeof fakePathOrObject === 'string' ? 'FakePath' : 'Object';\n const method = `_createFrom${postfix}`;\n (this as any)[ method ](fakePathOrObject);\n }\n\n _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 _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 file: FileLikeObject;\n _file: File;\n alias?: string;\n url = '/';\n method?: string;\n headers: any = [];\n withCredentials = true;\n formData: any = [];\n isReady = false;\n isUploading = false;\n isUploaded = false;\n isSuccess = false;\n isCancel = false;\n isError = false;\n progress = 0;\n index?: number;\n _xhr?: XMLHttpRequest;\n _form: any;\n\n protected uploader: FileUploader;\n protected some: File;\n protected options: FileUploaderOptions;\n\n 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 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 cancel(): void {\n this.uploader.cancelItem(this);\n }\n\n remove(): void {\n this.uploader.removeFromQueue(this);\n }\n\n onBeforeUpload(): void {\n return void 0;\n }\n\n onBuildForm(form: any): any {\n return { form };\n }\n\n onProgress(progress: number): any {\n return { progress };\n }\n\n onSuccess(response: string, status: number, headers: ParsedResponseHeaders): any {\n return { response, status, headers };\n }\n\n onError(response: string, status: number, headers: ParsedResponseHeaders): any {\n return { response, status, headers };\n }\n\n onCancel(response: string, status: number, headers: ParsedResponseHeaders): any {\n return { response, status, headers };\n }\n\n onComplete(response: string, status: number, headers: ParsedResponseHeaders): any {\n return { response, status, headers };\n }\n\n _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 _onBuildForm(form: any): void {\n this.onBuildForm(form);\n }\n\n _onProgress(progress: number): void {\n this.progress = progress;\n this.onProgress(progress);\n }\n\n _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 = undefined;\n this.onSuccess(response, status, headers);\n }\n\n _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 = undefined;\n this.onError(response, status, headers);\n }\n\n _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 = undefined;\n this.onCancel(response, status, headers);\n }\n\n _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 _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 // tslint:disable-next-line:variable-name\n 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 // tslint:disable-next-line:variable-name\n 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 // tslint:disable-next-line:variable-name\n 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 // tslint:disable-next-line:variable-name\n 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 // tslint:disable-next-line:variable-name\n 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 static getMimeClass(file: FileLikeObject): string {\n let mimeClass = 'application';\n if (file?.type && 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 (file?.type && this.mime_compress.indexOf(file.type) !== -1) {\n mimeClass = 'compress';\n } else if (file?.type && this.mime_doc.indexOf(file.type) !== -1) {\n mimeClass = 'doc';\n } else if (file?.type && this.mime_xsl.indexOf(file.type) !== -1) {\n mimeClass = 'xls';\n } else if (file?.type && this.mime_ppt.indexOf(file.type) !== -1) {\n mimeClass = 'ppt';\n }\n if (mimeClass === 'application' && file?.name) {\n mimeClass = this.fileTypeDetection(file.name);\n }\n\n return mimeClass;\n }\n\n static fileTypeDetection(inputFilename: string): string {\n const 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 const chunks = inputFilename.split('.');\n if (chunks.length < 2) {\n return 'application';\n }\n const 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 interface ParsedResponseHeaders { [ headerFieldName: string ]: string }\n\nexport interface 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 // eslint-disable-next-line @typescript-eslint/ban-types\n formatDataFunction?: Function;\n formatDataFunctionIsAsync?: boolean;\n}\n\nexport class FileUploader {\n\n authToken?: string;\n isUploading = false;\n queue: FileItem[] = [];\n progress = 0;\n _nextIndex = 0;\n autoUpload: any;\n authTokenHeader?: string;\n response: EventEmitter<any>;\n\n 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 url: ''\n };\n\n protected _failFilterIndex?: number;\n\n constructor(options: FileUploaderOptions) {\n this.setOptions(options);\n this.response = new EventEmitter<string>();\n }\n\n 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 addToQueue(files: File[], _options?: FileUploaderOptions, filters?: [] | string): void {\n let options = _options;\n const list: File[] = [];\n for (const file of files) {\n list.push(file);\n }\n const arrayOfFilters = this._getFilters(filters);\n const count = this.queue.length;\n const addedFileItems: FileItem[] = [];\n list.map((some: File) => {\n if (!options) {\n options = this.options;\n }\n\n const temp = new FileLikeObject(some);\n if (this._isValidFile(temp, arrayOfFilters, options)) {\n const fileItem = new FileItem(this, some, options);\n addedFileItems.push(fileItem);\n this.queue.push(fileItem);\n this._onAfterAddingFile(fileItem);\n } else {\n if (this._failFilterIndex) {\n const filter = arrayOfFilters[ this._failFilterIndex ];\n this._onWhenAddingFileFailed(temp, filter, options);\n }\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 removeFromQueue(value: FileItem): void {\n const index = this.getIndexOfItem(value);\n const 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 clearQueue(): void {\n while (this.queue.length) {\n this.queue[ 0 ].remove();\n }\n this.progress = 0;\n }\n\n uploadItem(value: FileItem): void {\n const index = this.getIndexOfItem(value);\n const item = this.queue[ index ];\n const 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 cancelItem(value: FileItem): void {\n const index = this.getIndexOfItem(value);\n const item = this.queue[ index ];\n const prop = this.options.isHTML5 ? item._xhr : item._form;\n if (item && item.isUploading) {\n prop.abort();\n }\n }\n\n uploadAll(): void {\n const 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 cancelAll(): void {\n const items = this.getNotUploadedItems();\n items.map((item: FileItem) => item.cancel());\n }\n\n isFile(value: any): boolean {\n return isFile(value);\n }\n\n isFileLikeObject(value: any): boolean {\n return value instanceof FileLikeObject;\n }\n\n getIndexOfItem(value: any): number {\n return typeof value === 'number' ? value : this.queue.indexOf(value);\n }\n\n getNotUploadedItems(): any[] {\n return this.queue.filter((item: FileItem) => !item.isUploaded);\n }\n\n 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 onAfterAddingAll(fileItems: any): any {\n return { fileItems };\n }\n\n onBuildItemForm(fileItem: FileItem, form: any): any {\n return { fileItem, form };\n }\n\n onAfterAddingFile(fileItem: FileItem): any {\n return { fileItem };\n }\n\n onWhenAddingFileFailed(item: FileLikeObject, filter: any, options: any): any {\n return { item, filter, options };\n }\n\n onBeforeUploadItem(fileItem: FileItem): any {\n return { fileItem };\n }\n\n onProgressItem(fileItem: FileItem, progress: any): any {\n return { fileItem, progress };\n }\n\n onProgressAll(progress: any): any {\n return { progress };\n }\n\n onSuccessItem(item: FileItem, response: string, status: number, headers: ParsedResponseHeaders): any {\n return { item, response, status, headers };\n }\n\n onErrorItem(item: FileItem, response: string, status: number, headers: ParsedResponseHeaders): any {\n return { item, response, status, headers };\n }\n\n onCancelItem(item: FileItem, response: string, status: number, headers: ParsedResponseHeaders): any {\n return { item, response, status, headers };\n }\n\n onCompleteItem(item: FileItem, response: string, status: number, headers: ParsedResponseHeaders): any {\n return { item, response, status, headers };\n }\n\n onCompleteAll(): any {\n return void 0;\n }\n\n _mimeTypeFilter(item: FileLikeObject): boolean {\n return !(item?.type && this.options.allowedMimeType && this.options.allowedMimeType?.indexOf(item.type) === -1);\n }\n\n _fileSizeFilter(item: FileLikeObject): boolean {\n return !(this.options.maxFileSize && item.size > this.options.maxFileSize);\n }\n\n _fileTypeFilter(item: FileLikeObject): boolean {\n return !(this.options.allowedFileType &&\n this.options.allowedFileType.indexOf(FileType.getMimeClass(item)) === -1);\n }\n\n _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 _onCompleteItem(item: FileItem, response: string, status: number, headers: ParsedResponseHeaders): void {\n item._onComplete(response, status, headers);\n this.onCompleteItem(item, response, status, headers);\n const nextItem = this.getReadyItems()[ 0 ];\n this.isUploading = false;\n if (nextItem) {\n nextItem.upload();\n\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() ] || undefined;\n }\n\n return parsedHeaders;\n };\n }\n\n protected _xhrTransport(item: FileItem): any {\n // tslint:disable-next-line:no-this-assignment\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const that = this;\n const 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 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 && item.file?.name) {\n paramVal = paramVal.replace('{{file_name}}', item.file.name);\n }\n sendable.append(key, paramVal);\n });\n }\n\n if (appendFile && this.options.parametersBeforeFiles) {\n appendFile();\n }\n } else {\n if (this.options.formatDataFunction) {\n sendable = this.options.formatDataFunction(item);\n }\n }\n\n xhr.upload.onprogress = (event: any) => {\n const progress = Math.round(event.lengthComputable ? event.loaded * 100 / event.total : 0);\n this._onProgressItem(item, progress);\n };\n xhr.onload = () => {\n const headers = this._parseHeaders(xhr.getAllResponseHeaders());\n const response = this._transformResponse(xhr.response, headers);\n const gist = this._isSuccessCode(xhr.status) ? 'Success' : 'Error';\n const 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 const headers = this._parseHeaders(xhr.getAllResponseHeaders());\n const 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 const headers = this._parseHeaders(xhr.getAllResponseHeaders());\n const response = this._transformResponse(xhr.response, headers);\n this._onCancelItem(item, response, xhr.status, headers);\n this._onCompleteItem(item, response, xhr.status, headers);\n };\n if (item.method && item.url) {\n xhr.open(item.method, item.url, true);\n }\n xhr.withCredentials = item.withCredentials;\n if (this.options.headers) {\n for (const header of this.options.headers) {\n xhr.setRequestHeader(header.name, header.value);\n }\n }\n if (item.headers.length) {\n for (const header of item.headers) {\n xhr.setRequestHeader(header.name, header.value);\n }\n }\n if (this.authToken && this.authTokenHeader) {\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 = 0): number {\n if (this.options.removeAfterUpload) {\n return value;\n }\n const notUploaded = this.getNotUploadedItems().length;\n const uploaded = notUploaded ? this.queue.length - notUploaded : this.queue.length;\n const ratio = 100 / this.queue.length;\n const 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 const names = filters.match(/[^\\s,]+/g);\n\n return this.options?.filters || []\n .filter((filter: any) => names?.indexOf(filter.name) !== -1);\n }\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\n return !filters.length ? true : filters.every((filter: FilterFunction) => {\n if (this._failFilterIndex) {\n this._failFilterIndex++;\n }\n\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 const 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\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 const 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, FileUploaderOptions } from './file-uploader.class';\n\n@Directive({ selector: '[ng2FileSelect]' })\nexport class FileSelectDirective {\n @Input() uploader?: FileUploader;\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n @Output() onFileSelected: EventEmitter<File[]> = new EventEmitter<File[]>();\n\n protected element: ElementRef;\n\n constructor(element: ElementRef) {\n this.element = element;\n }\n\n getOptions(): FileUploaderOptions | undefined {\n return this.uploader?.options;\n }\n\n getFilters(): string {\n return '';\n }\n\n isEmptyAfterSelection(): boolean {\n return !!this.element.nativeElement.attributes.multiple;\n }\n\n @HostListener('change')\n onChange(): void {\n const files = this.element.nativeElement.files;\n const options = this.getOptions();\n const filters = this.getFilters();\n this.uploader?.addToQueue(files, options, filters);\n\n this.onFileSelected.emit(files);\n if (this.isEmptyAfterSelection()) {\n this.element.nativeElement.value = '';\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"]}
|
@@ -1,86 +0,0 @@
|
|
1
|
-
import { Directive, EventEmitter, ElementRef, HostListener, Input, Output } from '@angular/core';
|
2
|
-
import { FileUploader } from './file-uploader.class';
|
3
|
-
export class FileDropDirective {
|
4
|
-
constructor(element) {
|
5
|
-
this.fileOver = new EventEmitter();
|
6
|
-
// eslint-disable-next-line @angular-eslint/no-output-on-prefix
|
7
|
-
this.onFileDrop = new EventEmitter();
|
8
|
-
this.element = element;
|
9
|
-
}
|
10
|
-
getOptions() {
|
11
|
-
var _a;
|
12
|
-
return (_a = this.uploader) === null || _a === void 0 ? void 0 : _a.options;
|
13
|
-
}
|
14
|
-
getFilters() {
|
15
|
-
return '';
|
16
|
-
}
|
17
|
-
onDrop(event) {
|
18
|
-
var _a;
|
19
|
-
const transfer = this._getTransfer(event);
|
20
|
-
if (!transfer) {
|
21
|
-
return;
|
22
|
-
}
|
23
|
-
const options = this.getOptions();
|
24
|
-
const filters = this.getFilters();
|
25
|
-
this._preventAndStop(event);
|
26
|
-
if (options) {
|
27
|
-
(_a = this.uploader) === null || _a === void 0 ? void 0 : _a.addToQueue(transfer.files, options, filters);
|
28
|
-
}
|
29
|
-
this.fileOver.emit(false);
|
30
|
-
this.onFileDrop.emit(transfer.files);
|
31
|
-
}
|
32
|
-
onDragOver(event) {
|
33
|
-
const transfer = this._getTransfer(event);
|
34
|
-
if (!this._haveFiles(transfer.types)) {
|
35
|
-
return;
|
36
|
-
}
|
37
|
-
transfer.dropEffect = 'copy';
|
38
|
-
this._preventAndStop(event);
|
39
|
-
this.fileOver.emit(true);
|
40
|
-
}
|
41
|
-
onDragLeave(event) {
|
42
|
-
if (this.element) {
|
43
|
-
if (event.currentTarget === this.element[0]) {
|
44
|
-
return;
|
45
|
-
}
|
46
|
-
}
|
47
|
-
this._preventAndStop(event);
|
48
|
-
this.fileOver.emit(false);
|
49
|
-
}
|
50
|
-
_getTransfer(event) {
|
51
|
-
return event.dataTransfer ? event.dataTransfer : event.originalEvent.dataTransfer; // jQuery fix;
|
52
|
-
}
|
53
|
-
_preventAndStop(event) {
|
54
|
-
event.preventDefault();
|
55
|
-
event.stopPropagation();
|
56
|
-
}
|
57
|
-
_haveFiles(types) {
|
58
|
-
if (!types) {
|
59
|
-
return false;
|
60
|
-
}
|
61
|
-
if (types.indexOf) {
|
62
|
-
return types.indexOf('Files') !== -1;
|
63
|
-
}
|
64
|
-
else if (types.contains) {
|
65
|
-
return types.contains('Files');
|
66
|
-
}
|
67
|
-
else {
|
68
|
-
return false;
|
69
|
-
}
|
70
|
-
}
|
71
|
-
}
|
72
|
-
FileDropDirective.decorators = [
|
73
|
-
{ type: Directive, args: [{ selector: '[ng2FileDrop]' },] }
|
74
|
-
];
|
75
|
-
FileDropDirective.ctorParameters = () => [
|
76
|
-
{ type: ElementRef }
|
77
|
-
];
|
78
|
-
FileDropDirective.propDecorators = {
|
79
|
-
uploader: [{ type: Input }],
|
80
|
-
fileOver: [{ type: Output }],
|
81
|
-
onFileDrop: [{ type: Output }],
|
82
|
-
onDrop: [{ type: HostListener, args: ['drop', ['$event'],] }],
|
83
|
-
onDragOver: [{ type: HostListener, args: ['dragover', ['$event'],] }],
|
84
|
-
onDragLeave: [{ type: HostListener, args: ['dragleave', ['$event'],] }]
|
85
|
-
};
|
86
|
-
//# sourceMappingURL=file-drop.directive.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"file-drop.directive.js","sourceRoot":"","sources":["../../../../../libs/ng2-file-upload/file-upload/file-drop.directive.ts"],"names":[],"mappings":"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","sourcesContent":["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() uploader?: FileUploader;\n @Output() fileOver: EventEmitter<any> = new EventEmitter();\n // eslint-disable-next-line @angular-eslint/no-output-on-prefix\n @Output() onFileDrop: EventEmitter<File[]> = new EventEmitter<File[]>();\n\n protected element: ElementRef;\n\n constructor(element: ElementRef) {\n this.element = element;\n }\n\n getOptions(): FileUploaderOptions | void {\n return this.uploader?.options;\n }\n\n getFilters(): string {\n return '';\n }\n\n @HostListener('drop', [ '$event' ])\n onDrop(event: MouseEvent): void {\n const transfer = this._getTransfer(event);\n if (!transfer) {\n return;\n }\n\n const options = this.getOptions();\n const filters = this.getFilters();\n this._preventAndStop(event);\n if (options) {\n this.uploader?.addToQueue(transfer.files, options, filters);\n }\n this.fileOver.emit(false);\n this.onFileDrop.emit(transfer.files);\n }\n\n @HostListener('dragover', [ '$event' ])\n onDragOver(event: MouseEvent): void {\n const 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 onDragLeave(event: MouseEvent): void {\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: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n }\n\n protected _haveFiles(types: any): boolean {\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"]}
|
@@ -1 +0,0 @@
|
|
1
|
-
[{"__symbolic":"module","version":4,"metadata":{"FileDropDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":4,"character":1},"arguments":[{"selector":"[ng2FileDrop]"}]}],"members":{"uploader":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":6,"character":3}}]}],"fileOver":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":7,"character":3}}]}],"onFileDrop":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":9,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":13,"character":23}]}],"getOptions":[{"__symbolic":"method"}],"getFilters":[{"__symbolic":"method"}],"onDrop":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":25,"character":3},"arguments":["drop",["$event"]]}]}],"onDragOver":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":42,"character":3},"arguments":["dragover",["$event"]]}]}],"onDragLeave":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":54,"character":3},"arguments":["dragleave",["$event"]]}]}],"_getTransfer":[{"__symbolic":"method"}],"_preventAndStop":[{"__symbolic":"method"}],"_haveFiles":[{"__symbolic":"method"}]}}}}]
|