From ef6d25284326895a2f7eed6cdfdeb8138762f9c9 Mon Sep 17 00:00:00 2001 From: lianyue Date: Sat, 4 Mar 2023 12:29:22 +0800 Subject: [PATCH] v3.1.8 --- dist/vue-upload-component.d.ts | 8 +- dist/vue-upload-component.js | 7 +- dist/vue-upload-component.js.map | 2 +- dist/vue-upload-component.min.js | 6 +- dist/vue-upload-component.min.js.map | 2 +- dist/vue-upload-component.part.js | 7 +- dist/vue-upload-component.part.js.map | 2 +- dist/vue-upload-component.ssr.js | 7 +- dist/vue-upload-component.ssr.js.map | 2 +- docs/dist/docs.js | 2 +- docs/dist/docs.js.LICENSE.txt | 4 +- docs/dist/docs.js.map | 2 +- docs/entry.js | 2 +- package-lock.json | 4 +- package.json | 4 +- src/FileUpload.vue | 5 +- src/FileUpload.vue.d.ts | 694 +++++++++++++------------- 17 files changed, 390 insertions(+), 370 deletions(-) diff --git a/dist/vue-upload-component.d.ts b/dist/vue-upload-component.d.ts index bae0858..1916d3f 100644 --- a/dist/vue-upload-component.d.ts +++ b/dist/vue-upload-component.d.ts @@ -115,7 +115,8 @@ declare const _default: import("vue").DefineComponent<{ default: number; }; drop: { - default: boolean; + type: PropType; + default: () => boolean; }; dropDirectory: { type: BooleanConstructor; @@ -271,7 +272,8 @@ declare const _default: import("vue").DefineComponent<{ default: number; }; drop: { - default: boolean; + type: PropType; + default: () => boolean; }; dropDirectory: { type: BooleanConstructor; @@ -324,7 +326,7 @@ declare const _default: import("vue").DefineComponent<{ headers: { [key: string]: any; }; - drop: boolean; + drop: string | boolean | HTMLElement | null; modelValue: VueUploadItem[]; disabled: boolean; multiple: boolean; diff --git a/dist/vue-upload-component.js b/dist/vue-upload-component.js index 072b191..5cbae75 100644 --- a/dist/vue-upload-component.js +++ b/dist/vue-upload-component.js @@ -1,7 +1,7 @@ /*! Name: vue-upload-component Component URI: https://github.com/lian-yue/vue-upload-component#readme -Version: 3.1.5 +Version: 3.1.7 Author: LianYue License: Apache-2.0 Description: Vue.js file upload component, Multi-file upload, Upload directory, Drag upload, Drag the directory, Upload multiple files at the same time, html4 (IE 9), `PUT` method, Customize the filter @@ -738,7 +738,10 @@ Description: Vue.js file upload component, Multi-file upload, Upload directory, default: 0 }, drop: { - default: false + type: [Boolean, String, HTMLElement], + default: function _default() { + return false; + } }, dropDirectory: { type: Boolean, diff --git a/dist/vue-upload-component.js.map b/dist/vue-upload-component.js.map index f854834..18c2e66 100644 --- a/dist/vue-upload-component.js.map +++ b/dist/vue-upload-component.js.map @@ -1 +1 @@ -{"version":3,"file":"vue-upload-component.js","sources":["vue-upload-component.js"],"sourcesContent":["function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _ownKeys(Object(source), !0).forEach(function (key) { _defineProperty2(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : _ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty2(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nimport { defineComponent, openBlock, createElementBlock, normalizeClass, renderSlot, createElementVNode, createCommentVNode } from 'vue';\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n/**\n * Creates a XHR request\n *\n * @param {Object} options\n */\n\n\nvar createRequest = function createRequest(options) {\n var xhr = new XMLHttpRequest();\n xhr.open(options.method || 'GET', options.url);\n xhr.responseType = 'json';\n\n if (options.headers) {\n Object.keys(options.headers).forEach(function (key) {\n xhr.setRequestHeader(key, options.headers[key]);\n });\n }\n\n return xhr;\n};\n/**\n * Sends a XHR request with certain body\n *\n * @param {XMLHttpRequest} xhr\n * @param {Object} body\n */\n\n\nvar sendRequest = function sendRequest(xhr, body) {\n return new Promise(function (resolve, reject) {\n xhr.onload = function () {\n if (xhr.status >= 200 && xhr.status < 300) {\n var response;\n\n try {\n response = JSON.parse(xhr.response);\n } catch (err) {\n response = xhr.response;\n }\n\n resolve(response);\n } else {\n reject(xhr.response);\n }\n };\n\n xhr.onerror = function () {\n return reject(xhr.response);\n };\n\n xhr.send(JSON.stringify(body));\n });\n};\n/**\n * Sends a XHR request with certain form data\n *\n * @param {XMLHttpRequest} xhr\n * @param {Object} data\n */\n\n\nvar sendFormRequest = function sendFormRequest(xhr, data) {\n var body = new FormData();\n\n for (var name in data) {\n body.append(name, data[name]);\n }\n\n return new Promise(function (resolve, reject) {\n xhr.onload = function () {\n if (xhr.status >= 200 && xhr.status < 300) {\n var response;\n\n try {\n response = JSON.parse(xhr.response);\n } catch (err) {\n response = xhr.response;\n }\n\n resolve(response);\n } else {\n reject(xhr.response);\n }\n };\n\n xhr.onerror = function () {\n return reject(xhr.response);\n };\n\n xhr.send(body);\n });\n};\n/**\n * Creates and sends XHR request\n *\n * @param {Object} options\n *\n * @returns Promise\n */\n\n\nfunction request(options) {\n var xhr = createRequest(options);\n return sendRequest(xhr, options.body);\n}\n\nvar ChunkUploadHandler = /*#__PURE__*/function () {\n /**\n * Constructor\n *\n * @param {File} file\n * @param {Object} options\n */\n function ChunkUploadHandler(file, options) {\n _classCallCheck(this, ChunkUploadHandler);\n\n this.file = file;\n this.options = options;\n this.chunks = [];\n this.sessionId = null;\n this.chunkSize = null;\n this.speedInterval = null;\n }\n /**\n * Gets the max retries from options\n */\n\n\n _createClass(ChunkUploadHandler, [{\n key: \"maxRetries\",\n get: function get() {\n return parseInt(this.options.maxRetries, 10);\n }\n /**\n * Gets the max number of active chunks being uploaded at once from options\n */\n\n }, {\n key: \"maxActiveChunks\",\n get: function get() {\n return parseInt(this.options.maxActive, 10);\n }\n /**\n * Gets the file type\n */\n\n }, {\n key: \"fileType\",\n get: function get() {\n return this.file.type;\n }\n /**\n * Gets the file size\n */\n\n }, {\n key: \"fileSize\",\n get: function get() {\n return this.file.size;\n }\n /**\n * Gets the file name\n */\n\n }, {\n key: \"fileName\",\n get: function get() {\n return this.file.name;\n }\n /**\n * Gets action (url) to upload the file\n */\n\n }, {\n key: \"action\",\n get: function get() {\n return this.options.action || null;\n }\n /**\n * Gets the body to be merged when sending the request in start phase\n */\n\n }, {\n key: \"startBody\",\n get: function get() {\n return this.options.startBody || {};\n }\n /**\n * Gets the body to be merged when sending the request in upload phase\n */\n\n }, {\n key: \"uploadBody\",\n get: function get() {\n return this.options.uploadBody || {};\n }\n /**\n * Gets the body to be merged when sending the request in finish phase\n */\n\n }, {\n key: \"finishBody\",\n get: function get() {\n return this.options.finishBody || {};\n }\n /**\n * Gets the headers of the requests from options\n */\n\n }, {\n key: \"headers\",\n get: function get() {\n return this.options.headers || {};\n }\n /**\n * Whether it's ready to upload files or not\n */\n\n }, {\n key: \"readyToUpload\",\n get: function get() {\n return !!this.chunks;\n }\n /**\n * Gets the progress of the chunk upload\n * - Gets all the completed chunks\n * - Gets the progress of all the chunks that are being uploaded\n */\n\n }, {\n key: \"progress\",\n get: function get() {\n var _this = this;\n\n var completedProgress = this.chunksUploaded.length / this.chunks.length * 100;\n var uploadingProgress = this.chunksUploading.reduce(function (progress, chunk) {\n return progress + (chunk.progress | 0) / _this.chunks.length;\n }, 0);\n return Math.min(completedProgress + uploadingProgress, 100);\n }\n /**\n * Gets all the chunks that are pending to be uploaded\n */\n\n }, {\n key: \"chunksToUpload\",\n get: function get() {\n return this.chunks.filter(function (chunk) {\n return !chunk.active && !chunk.uploaded;\n });\n }\n /**\n * Whether there are chunks to upload or not\n */\n\n }, {\n key: \"hasChunksToUpload\",\n get: function get() {\n return this.chunksToUpload.length > 0;\n }\n /**\n * Gets all the chunks that are uploading\n */\n\n }, {\n key: \"chunksUploading\",\n get: function get() {\n return this.chunks.filter(function (chunk) {\n return !!chunk.xhr && !!chunk.active;\n });\n }\n /**\n * Gets all the chunks that have finished uploading\n */\n\n }, {\n key: \"chunksUploaded\",\n get: function get() {\n return this.chunks.filter(function (chunk) {\n return !!chunk.uploaded;\n });\n }\n /**\n * Creates all the chunks in the initial state\n */\n\n }, {\n key: \"createChunks\",\n value: function createChunks() {\n this.chunks = [];\n var start = 0;\n var end = this.chunkSize;\n\n while (start < this.fileSize) {\n this.chunks.push({\n blob: this.file.file.slice(start, end),\n startOffset: start,\n active: false,\n retries: this.maxRetries\n });\n start = end;\n end = start + this.chunkSize;\n }\n }\n /**\n * Updates the progress of the file with the handler's progress\n */\n\n }, {\n key: \"updateFileProgress\",\n value: function updateFileProgress() {\n this.file.progress = this.progress;\n }\n /**\n * Paues the upload process\n * - Stops all active requests\n * - Sets the file not active\n */\n\n }, {\n key: \"pause\",\n value: function pause() {\n this.file.active = false;\n this.stopChunks();\n }\n /**\n * Stops all the current chunks\n */\n\n }, {\n key: \"stopChunks\",\n value: function stopChunks() {\n this.chunksUploading.forEach(function (chunk) {\n chunk.xhr.abort();\n chunk.active = false;\n });\n this.stopSpeedCalc();\n }\n /**\n * Resumes the file upload\n * - Sets the file active\n * - Starts the following chunks\n */\n\n }, {\n key: \"resume\",\n value: function resume() {\n this.file.active = true;\n this.startChunking();\n }\n /**\n * Starts the file upload\n *\n * @returns Promise\n * - resolve The file was uploaded\n * - reject The file upload failed\n */\n\n }, {\n key: \"upload\",\n value: function upload() {\n var _this2 = this;\n\n this.promise = new Promise(function (resolve, reject) {\n _this2.resolve = resolve;\n _this2.reject = reject;\n });\n this.start();\n return this.promise;\n }\n /**\n * Start phase\n * Sends a request to the backend to initialise the chunks\n */\n\n }, {\n key: \"start\",\n value: function start() {\n var _this3 = this;\n\n request({\n method: 'POST',\n headers: _objectSpread2(_objectSpread2({}, this.headers), {}, {\n 'Content-Type': 'application/json'\n }),\n url: this.action,\n body: Object.assign(this.startBody, {\n phase: 'start',\n mime_type: this.fileType,\n size: this.fileSize,\n name: this.fileName\n })\n }).then(function (res) {\n if (res.status !== 'success') {\n _this3.file.response = res;\n return _this3.reject('server');\n }\n\n _this3.sessionId = res.data.session_id;\n _this3.chunkSize = res.data.end_offset;\n\n _this3.createChunks();\n\n _this3.startChunking();\n }).catch(function (res) {\n _this3.file.response = res;\n\n _this3.reject('server');\n });\n }\n /**\n * Starts to upload chunks\n */\n\n }, {\n key: \"startChunking\",\n value: function startChunking() {\n for (var i = 0; i < this.maxActiveChunks; i++) {\n this.uploadNextChunk();\n }\n\n this.startSpeedCalc();\n }\n /**\n * Uploads the next chunk\n * - Won't do anything if the process is paused\n * - Will start finish phase if there are no more chunks to upload\n */\n\n }, {\n key: \"uploadNextChunk\",\n value: function uploadNextChunk() {\n if (this.file.active) {\n if (this.hasChunksToUpload) {\n return this.uploadChunk(this.chunksToUpload[0]);\n }\n\n if (this.chunksUploading.length === 0) {\n return this.finish();\n }\n }\n }\n /**\n * Uploads a chunk\n * - Sends the chunk to the backend\n * - Sets the chunk as uploaded if everything went well\n * - Decreases the number of retries if anything went wrong\n * - Fails if there are no more retries\n *\n * @param {Object} chunk\n */\n\n }, {\n key: \"uploadChunk\",\n value: function uploadChunk(chunk) {\n var _this4 = this;\n\n chunk.progress = 0;\n chunk.active = true;\n this.updateFileProgress();\n chunk.xhr = createRequest({\n method: 'POST',\n headers: this.headers,\n url: this.action\n });\n chunk.xhr.upload.addEventListener('progress', function (evt) {\n if (evt.lengthComputable) {\n chunk.progress = Math.round(evt.loaded / evt.total * 100);\n }\n }, false);\n sendFormRequest(chunk.xhr, Object.assign(this.uploadBody, {\n phase: 'upload',\n session_id: this.sessionId,\n start_offset: chunk.startOffset,\n chunk: chunk.blob\n })).then(function (res) {\n chunk.active = false;\n\n if (res.status === 'success') {\n chunk.uploaded = true;\n } else {\n if (chunk.retries-- <= 0) {\n _this4.stopChunks();\n\n return _this4.reject('upload');\n }\n }\n\n _this4.uploadNextChunk();\n }).catch(function () {\n chunk.active = false;\n\n if (chunk.retries-- <= 0) {\n _this4.stopChunks();\n\n return _this4.reject('upload');\n }\n\n _this4.uploadNextChunk();\n });\n }\n /**\n * Finish phase\n * Sends a request to the backend to finish the process\n */\n\n }, {\n key: \"finish\",\n value: function finish() {\n var _this5 = this;\n\n this.updateFileProgress();\n this.stopSpeedCalc();\n request({\n method: 'POST',\n headers: _objectSpread2(_objectSpread2({}, this.headers), {}, {\n 'Content-Type': 'application/json'\n }),\n url: this.action,\n body: Object.assign(this.finishBody, {\n phase: 'finish',\n session_id: this.sessionId\n })\n }).then(function (res) {\n _this5.file.response = res;\n\n if (res.status !== 'success') {\n return _this5.reject('server');\n }\n\n _this5.resolve(res);\n }).catch(function (res) {\n _this5.file.response = res;\n\n _this5.reject('server');\n });\n }\n /**\n * Sets an interval to calculate and\n * set upload speed every 3 seconds\n */\n\n }, {\n key: \"startSpeedCalc\",\n value: function startSpeedCalc() {\n var _this6 = this;\n\n this.file.speed = 0;\n var lastUploadedBytes = 0;\n\n if (!this.speedInterval) {\n this.speedInterval = window.setInterval(function () {\n var uploadedBytes = _this6.progress / 100 * _this6.fileSize;\n _this6.file.speed = uploadedBytes - lastUploadedBytes;\n lastUploadedBytes = uploadedBytes;\n }, 1000);\n }\n }\n /**\n * Removes the upload speed interval\n */\n\n }, {\n key: \"stopSpeedCalc\",\n value: function stopSpeedCalc() {\n this.speedInterval && window.clearInterval(this.speedInterval);\n this.speedInterval = null;\n this.file.speed = 0;\n }\n }]);\n\n return ChunkUploadHandler;\n}();\n\nvar CHUNK_DEFAULT_OPTIONS = {\n headers: {},\n action: '',\n minSize: 1048576,\n maxActive: 3,\n maxRetries: 5,\n handler: ChunkUploadHandler\n};\nvar script = defineComponent({\n props: {\n inputId: {\n type: String\n },\n name: {\n type: String,\n default: 'file'\n },\n accept: {\n type: String\n },\n capture: {},\n disabled: {\n default: false\n },\n multiple: {\n type: Boolean,\n default: false\n },\n maximum: {\n type: Number\n },\n addIndex: {\n type: [Boolean, Number]\n },\n directory: {\n type: Boolean\n },\n createDirectory: {\n type: Boolean,\n default: false\n },\n postAction: {\n type: String\n },\n putAction: {\n type: String\n },\n customAction: {\n type: Function\n },\n headers: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n data: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n timeout: {\n type: Number,\n default: 0\n },\n drop: {\n default: false\n },\n dropDirectory: {\n type: Boolean,\n default: true\n },\n size: {\n type: Number,\n default: 0\n },\n extensions: {\n type: [RegExp, String, Array],\n default: function _default() {\n return [];\n }\n },\n modelValue: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n thread: {\n type: Number,\n default: 1\n },\n // Chunk upload enabled\n chunkEnabled: {\n type: Boolean,\n default: false\n },\n // Chunk upload properties\n chunk: {\n type: Object,\n default: function _default() {\n return CHUNK_DEFAULT_OPTIONS;\n }\n }\n },\n emits: ['update:modelValue', 'input-filter', 'input-file'],\n data: function data() {\n return {\n files: this.modelValue,\n features: {\n html5: true,\n directory: false,\n drop: false\n },\n active: false,\n dropActive: false,\n uploading: 0,\n destroy: false,\n maps: {},\n dropElement: null,\n dropTimeout: null,\n reload: false\n };\n },\n\n /**\r\n * mounted\r\n * @return {[type]} [description]\r\n */\n mounted: function mounted() {\n var _this7 = this;\n\n var input = document.createElement('input');\n input.type = 'file';\n input.multiple = true; // html5 特征\n\n if (window.FormData && input.files) {\n // 上传目录特征\n // @ts-ignore\n if (typeof input.webkitdirectory === 'boolean' || typeof input.directory === 'boolean') {\n this.features.directory = true;\n } // 拖拽特征\n\n\n if (this.features.html5 && typeof input.ondrop !== 'undefined') {\n this.features.drop = true;\n }\n } else {\n this.features.html5 = false;\n } // files 定位缓存\n\n\n this.maps = {};\n\n if (this.files) {\n for (var i = 0; i < this.files.length; i++) {\n var file = this.files[i];\n this.maps[file.id] = file;\n }\n } // @ts-ignore\n\n\n this.$nextTick(function () {\n // 更新下父级\n if (_this7.$parent) {\n _this7.$parent.$forceUpdate(); // 拖拽渲染\n\n\n _this7.$parent.$nextTick(function () {\n _this7.watchDrop(_this7.drop);\n });\n } else {\n // 拖拽渲染\n _this7.watchDrop(_this7.drop);\n }\n });\n },\n\n /**\r\n * beforeUnmount\r\n * @return {[type]} [description]\r\n */\n beforeUnmount: function beforeUnmount() {\n // 已销毁\n this.destroy = true; // 设置成不激活\n\n this.active = false; // 销毁拖拽事件\n\n this.watchDrop(false); // 销毁不激活\n\n this.watchActive(false);\n },\n computed: {\n /**\r\n * uploading 正在上传的线程\r\n * @return {[type]} [description]\r\n */\n\n /**\r\n * uploaded 文件列表是否全部已上传\r\n * @return {[type]} [description]\r\n */\n uploaded: function uploaded() {\n var file;\n\n for (var i = 0; i < this.files.length; i++) {\n file = this.files[i];\n\n if (file.fileObject && !file.error && !file.success) {\n return false;\n }\n }\n\n return true;\n },\n chunkOptions: function chunkOptions() {\n return Object.assign(CHUNK_DEFAULT_OPTIONS, this.chunk);\n },\n className: function className() {\n return ['file-uploads', this.features.html5 ? 'file-uploads-html5' : 'file-uploads-html4', this.features.directory && this.directory ? 'file-uploads-directory' : undefined, this.features.drop && this.drop ? 'file-uploads-drop' : undefined, this.disabled ? 'file-uploads-disabled' : undefined];\n },\n forId: function forId() {\n return this.inputId || this.name;\n },\n iMaximum: function iMaximum() {\n if (this.maximum === undefined) {\n return this.multiple ? 0 : 1;\n }\n\n return this.maximum;\n },\n iExtensions: function iExtensions() {\n if (!this.extensions) {\n return;\n }\n\n if (this.extensions instanceof RegExp) {\n return this.extensions;\n }\n\n if (!this.extensions.length) {\n return;\n }\n\n var exts = [];\n\n if (typeof this.extensions === 'string') {\n exts = this.extensions.split(',');\n } else {\n exts = this.extensions;\n }\n\n exts = exts.map(function (value) {\n return value.trim();\n }).filter(function (value) {\n return value;\n });\n return new RegExp('\\\\.(' + exts.join('|').replace(/\\./g, '\\\\.') + ')$', 'i');\n },\n iDirectory: function iDirectory() {\n if (this.directory && this.features.directory) {\n return true;\n }\n\n return undefined;\n }\n },\n watch: {\n active: function active(_active) {\n this.watchActive(_active);\n },\n dropActive: function dropActive(value) {\n this.watchDropActive(value);\n\n if (this.$parent) {\n this.$parent.$forceUpdate();\n }\n },\n drop: function drop(value) {\n this.watchDrop(value);\n },\n modelValue: function modelValue(files) {\n if (this.files === files) {\n return;\n }\n\n this.files = files;\n var oldMaps = this.maps; // 重写 maps 缓存\n\n this.maps = {};\n\n for (var i = 0; i < this.files.length; i++) {\n var file = this.files[i];\n this.maps[file.id] = file;\n } // add, update\n\n\n for (var key in this.maps) {\n var newFile = this.maps[key];\n var oldFile = oldMaps[key];\n\n if (newFile !== oldFile) {\n this.emitFile(newFile, oldFile);\n }\n } // delete\n\n\n for (var _key in oldMaps) {\n if (!this.maps[_key]) {\n this.emitFile(undefined, oldMaps[_key]);\n }\n }\n }\n },\n methods: {\n newId: function newId() {\n return Math.random().toString(36).substr(2);\n },\n // 清空\n clear: function clear() {\n if (this.files.length) {\n var files = this.files;\n this.files = []; // 定位\n\n this.maps = {}; // 事件\n\n this.emitInput();\n\n for (var i = 0; i < files.length; i++) {\n this.emitFile(undefined, files[i]);\n }\n }\n\n return true;\n },\n // 选择\n get: function get(id) {\n if (!id) {\n return false;\n }\n\n if (_typeof(id) === 'object') {\n return this.maps[id.id || ''] || false;\n }\n\n return this.maps[id] || false;\n },\n // 添加\n add: function add(_files, index) {\n // 不是数组整理成数组\n var files;\n\n if (_files instanceof Array) {\n files = _files;\n } else {\n files = [_files];\n }\n\n if (index === undefined) {\n // eslint-disable-next-line\n index = this.addIndex;\n } // 遍历规范对象\n\n\n var addFiles = [];\n\n for (var i = 0; i < files.length; i++) {\n var file = files[i];\n\n if (this.features.html5 && file instanceof Blob) {\n file = {\n id: '',\n file: file,\n size: file.size,\n // @ts-ignore\n name: file.webkitRelativePath || file.relativePath || file.name || 'unknown',\n type: file.type\n };\n }\n\n file = file;\n var fileObject = false;\n if (file.fileObject === false) ;else if (file.fileObject) {\n fileObject = true;\n } else if (typeof Element !== 'undefined' && file.el instanceof HTMLInputElement) {\n fileObject = true;\n } else if (typeof Blob !== 'undefined' && file.file instanceof Blob) {\n fileObject = true;\n }\n\n if (fileObject) {\n file = _objectSpread(_objectSpread({\n fileObject: true,\n size: -1,\n name: 'Filename',\n type: '',\n active: false,\n error: '',\n success: false,\n putAction: this.putAction,\n postAction: this.postAction,\n timeout: this.timeout\n }, file), {}, {\n response: {},\n progress: '0.00',\n speed: 0 // 只读\n // file: undefined,\n // xhr: undefined,\n // el: undefined,\n // iframe: undefined,\n\n });\n file.data = _objectSpread(_objectSpread({}, this.data), file.data ? file.data : {});\n file.headers = _objectSpread(_objectSpread({}, this.headers), file.headers ? file.headers : {});\n } // 必须包含 id\n\n\n if (!file.id) {\n file.id = this.newId();\n }\n\n if (this.emitFilter(file, undefined)) {\n continue;\n } // 最大数量限制\n\n\n if (this.iMaximum > 1 && addFiles.length + this.files.length >= this.iMaximum) {\n break;\n }\n\n addFiles.push(file); // 最大数量限制\n\n if (this.iMaximum === 1) {\n break;\n }\n } // 没有文件\n\n\n if (!addFiles.length) {\n return;\n } // 如果是 1 清空\n\n\n if (this.iMaximum === 1) {\n this.clear();\n } // 添加进去 files\n\n\n var newFiles;\n\n if (index === true || index === 0) {\n newFiles = addFiles.concat(this.files);\n } else if (index) {\n var _newFiles;\n\n newFiles = this.files.concat([]);\n\n (_newFiles = newFiles).splice.apply(_newFiles, [index, 0].concat(_toConsumableArray(addFiles)));\n } else {\n newFiles = this.files.concat(addFiles);\n }\n\n this.files = newFiles; // 读取代理后的数据\n\n var index2 = 0;\n\n if (index === true || index === 0) {\n index2 = 0;\n } else if (index) {\n if (index >= 0) {\n if (index + addFiles.length > this.files.length) {\n index2 = this.files.length - addFiles.length;\n } else {\n index2 = index;\n }\n } else {\n index2 = this.files.length - addFiles.length + index;\n\n if (index2 < 0) {\n index2 = 0;\n }\n }\n } else {\n index2 = this.files.length - addFiles.length;\n }\n\n addFiles = this.files.slice(index2, index2 + addFiles.length); // 定位\n\n for (var _i = 0; _i < addFiles.length; _i++) {\n var _file = addFiles[_i];\n this.maps[_file.id] = _file;\n } // 事件\n\n\n this.emitInput();\n\n for (var _i2 = 0; _i2 < addFiles.length; _i2++) {\n this.emitFile(addFiles[_i2], undefined);\n }\n\n return _files instanceof Array ? addFiles : addFiles[0];\n },\n // 添加表单文件\n addInputFile: function addInputFile(el) {\n var _this8 = this;\n\n var files = [];\n this.iMaximum; // @ts-ignore\n\n var entrys = el.webkitEntries || el.entries || undefined;\n\n if (entrys !== null && entrys !== void 0 && entrys.length) {\n return this.getFileSystemEntry(entrys).then(function (files) {\n return _this8.add(files);\n });\n }\n\n if (el.files) {\n for (var i = 0; i < el.files.length; i++) {\n var file = el.files[i];\n files.push({\n id: '',\n size: file.size,\n // @ts-ignore\n name: file.webkitRelativePath || file.relativePath || file.name,\n type: file.type,\n file: file\n });\n }\n } else {\n var names = el.value.replace(/\\\\/g, '/').split('/');\n\n if (!names || !names.length) {\n names = [el.value];\n } // @ts-ignore\n\n\n delete el.__vuex__;\n files.push({\n id: '',\n name: names[names.length - 1],\n el: el\n });\n }\n\n return Promise.resolve(this.add(files));\n },\n // 添加 DataTransfer\n addDataTransfer: function addDataTransfer(dataTransfer) {\n var _dataTransfer$items,\n _this9 = this;\n\n // dataTransfer.items 支持\n if (dataTransfer !== null && dataTransfer !== void 0 && (_dataTransfer$items = dataTransfer.items) !== null && _dataTransfer$items !== void 0 && _dataTransfer$items.length) {\n var entrys = []; // 遍历出所有 dataTransferVueUploadItem\n\n for (var i = 0; i < dataTransfer.items.length; i++) {\n var dataTransferTtem = dataTransfer.items[i];\n var entry = void 0; // @ts-ignore\n\n if (dataTransferTtem.getAsEntry) {\n // @ts-ignore\n entry = dataTransferTtem.getAsEntry() || dataTransferTtem.getAsFile();\n } else if (dataTransferTtem.webkitGetAsEntry) {\n entry = dataTransferTtem.webkitGetAsEntry() || dataTransferTtem.getAsFile();\n } else {\n entry = dataTransferTtem.getAsFile();\n }\n\n if (entry) {\n entrys.push(entry);\n }\n }\n\n return this.getFileSystemEntry(entrys).then(function (files) {\n return _this9.add(files);\n });\n } // dataTransfer.files 支持\n\n\n var maximumValue = this.iMaximum;\n var files = [];\n\n if (dataTransfer.files.length) {\n for (var _i3 = 0; _i3 < dataTransfer.files.length; _i3++) {\n files.push(dataTransfer.files[_i3]);\n\n if (maximumValue > 0 && files.length >= maximumValue) {\n break;\n }\n }\n\n return Promise.resolve(this.add(files));\n }\n\n return Promise.resolve([]);\n },\n // 获得 entrys \n getFileSystemEntry: function getFileSystemEntry(entry) {\n var _this10 = this;\n\n var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n // getFileSystemEntry(entry: any, path = ''): Promise {\n return new Promise(function (resolve) {\n var maximumValue = _this10.iMaximum;\n\n if (!entry) {\n resolve([]);\n return;\n }\n\n if (entry instanceof Array) {\n // 多个\n var uploadFiles = [];\n\n var forEach = function forEach(i) {\n var v = entry[i];\n\n if (!v || maximumValue > 0 && uploadFiles.length >= maximumValue) {\n return resolve(uploadFiles);\n }\n\n _this10.getFileSystemEntry(v, path).then(function (results) {\n uploadFiles.push.apply(uploadFiles, _toConsumableArray(results));\n forEach(i + 1);\n });\n };\n\n forEach(0);\n return;\n }\n\n if (entry instanceof Blob) {\n resolve([{\n id: '',\n size: entry.size,\n // @ts-ignore\n name: path + entry.name,\n type: entry.type,\n file: entry\n }]);\n return;\n }\n\n if (entry.isFile) {\n var fileEntry = entry;\n fileEntry.file(function (file) {\n resolve([{\n id: '',\n size: file.size,\n name: path + file.name,\n type: file.type,\n file: file\n }]);\n });\n return;\n }\n\n if (entry.isDirectory && _this10.dropDirectory) {\n var directoryEntry = entry;\n var _uploadFiles = []; // 目录也要添加到文件列表\n\n if (_this10.createDirectory) {\n _uploadFiles.push({\n id: '',\n name: path + directoryEntry.name,\n size: 0,\n type: 'text/directory',\n file: new File([], path + directoryEntry.name, {\n type: 'text/directory'\n })\n });\n }\n\n var dirReader = directoryEntry.createReader();\n\n var readEntries = function readEntries() {\n dirReader.readEntries(function (entries) {\n var forEach = function forEach(i) {\n if (!entries[i] && i === 0 || maximumValue > 0 && _uploadFiles.length >= maximumValue) {\n return resolve(_uploadFiles);\n }\n\n if (!entries[i]) {\n return readEntries();\n }\n\n _this10.getFileSystemEntry(entries[i], path + directoryEntry.name + '/').then(function (results) {\n _uploadFiles.push.apply(_uploadFiles, _toConsumableArray(results));\n\n forEach(i + 1);\n });\n };\n\n forEach(0);\n });\n };\n\n readEntries();\n return;\n }\n\n resolve([]);\n });\n },\n // 替换\n replace: function replace(id1, id2) {\n var file1 = this.get(id1);\n var file2 = this.get(id2);\n\n if (!file1 || !file2 || file1 === file2) {\n return false;\n }\n\n var files = this.files.concat([]);\n var index1 = files.indexOf(file1);\n var index2 = files.indexOf(file2);\n\n if (index1 === -1 || index2 === -1) {\n return false;\n }\n\n files[index1] = file2;\n files[index2] = file1;\n this.files = files;\n this.emitInput();\n return true;\n },\n // 移除\n remove: function remove(id) {\n var file = this.get(id);\n\n if (file) {\n if (this.emitFilter(undefined, file)) {\n return false;\n }\n\n var files = this.files.concat([]);\n var index = files.indexOf(file);\n\n if (index === -1) {\n console.error('remove', file);\n return false;\n }\n\n files.splice(index, 1);\n this.files = files; // 定位\n\n delete this.maps[file.id]; // 事件\n\n this.emitInput();\n this.emitFile(undefined, file);\n }\n\n return file;\n },\n // 更新\n update: function update(id, data) {\n var file = this.get(id);\n\n if (file) {\n var newFile = _objectSpread(_objectSpread({}, file), data); // 停用必须加上错误\n\n\n if (file.fileObject && file.active && !newFile.active && !newFile.error && !newFile.success) {\n newFile.error = 'abort';\n }\n\n if (this.emitFilter(newFile, file)) {\n return false;\n }\n\n var files = this.files.concat([]);\n var index = files.indexOf(file);\n\n if (index === -1) {\n console.error('update', file);\n return false;\n }\n\n files.splice(index, 1, newFile);\n this.files = files;\n newFile = this.files[index]; // 删除 旧定位 写入 新定位 (已便支持修改id)\n\n delete this.maps[file.id];\n this.maps[newFile.id] = newFile; // 事件\n\n this.emitInput();\n this.emitFile(newFile, file);\n return newFile;\n }\n\n return false;\n },\n // 预处理 事件 过滤器\n emitFilter: function emitFilter(newFile, oldFile) {\n var isPrevent = false;\n this.$emit('input-filter', newFile, oldFile, function () {\n var prevent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n isPrevent = prevent;\n return isPrevent;\n });\n return isPrevent;\n },\n // 处理后 事件 分发\n emitFile: function emitFile(newFile, oldFile) {\n var _newFile,\n _this11 = this;\n\n this.$emit('input-file', newFile, oldFile);\n\n if ((_newFile = newFile) !== null && _newFile !== void 0 && _newFile.fileObject && newFile.active && (!oldFile || !oldFile.active)) {\n this.uploading++; // 激活\n // @ts-ignore\n\n this.$nextTick(function () {\n setTimeout(function () {\n newFile && _this11.upload(newFile).then(function () {\n var _newFile2;\n\n if (newFile) {\n // eslint-disable-next-line\n newFile = _this11.get(newFile) || undefined;\n }\n\n if ((_newFile2 = newFile) !== null && _newFile2 !== void 0 && _newFile2.fileObject) {\n _this11.update(newFile, {\n active: false,\n success: !newFile.error\n });\n }\n }).catch(function (e) {\n newFile && _this11.update(newFile, {\n active: false,\n success: false,\n error: e.code || e.error || e.message || e\n });\n });\n }, Math.ceil(Math.random() * 50 + 50));\n });\n } else if ((!newFile || !newFile.fileObject || !newFile.active) && oldFile && oldFile.fileObject && oldFile.active) {\n // 停止\n this.uploading--;\n } // 自动延续激活\n // @ts-ignore\n\n\n if (this.active && (Boolean(newFile) !== Boolean(oldFile) || newFile.active !== oldFile.active)) {\n this.watchActive(true);\n }\n },\n emitInput: function emitInput() {\n this.$emit('update:modelValue', this.files);\n },\n // 上传\n upload: function upload(id) {\n var file = this.get(id); // 被删除\n\n if (!file) {\n return Promise.reject(new Error('not_exists'));\n } // 不是文件对象\n\n\n if (!file.fileObject) {\n return Promise.reject(new Error('file_object'));\n } // 有错误直接响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return Promise.reject(file.error);\n }\n\n return Promise.reject(new Error(file.error));\n } // 已完成直接响应\n\n\n if (file.success) {\n return Promise.resolve(file);\n } // 后缀\n\n\n if (file.name && this.iExtensions && file.type !== \"text/directory\") {\n if (file.name.search(this.iExtensions) === -1) {\n return Promise.reject(new Error('extension'));\n }\n } // 大小\n\n\n if (this.size > 0 && file.size !== undefined && file.size >= 0 && file.size > this.size && file.type !== \"text/directory\") {\n return Promise.reject(new Error('size'));\n }\n\n if (this.customAction) {\n return this.customAction(file, this);\n }\n\n if (this.features.html5) {\n if (this.shouldUseChunkUpload(file)) {\n return this.uploadChunk(file);\n }\n\n if (file.putAction) {\n return this.uploadPut(file);\n }\n\n if (file.postAction) {\n return this.uploadHtml5(file);\n }\n }\n\n if (file.postAction) {\n return this.uploadHtml4(file);\n }\n\n return Promise.reject(new Error('No action configured'));\n },\n\n /**\r\n * Whether this file should be uploaded using chunk upload or not\r\n *\r\n * @param Object file\r\n */\n shouldUseChunkUpload: function shouldUseChunkUpload(file) {\n return this.chunkEnabled && !!this.chunkOptions.handler && file.size && file.size > this.chunkOptions.minSize;\n },\n\n /**\r\n * Upload a file using Chunk method\r\n *\r\n * @param File file\r\n */\n uploadChunk: function uploadChunk(file) {\n var HandlerClass = this.chunkOptions.handler;\n file.chunk = new HandlerClass(file, this.chunkOptions);\n return file.chunk.upload().then(function (res) {\n return file;\n });\n },\n uploadPut: function uploadPut(file) {\n var querys = [];\n var value;\n\n for (var key in file.data) {\n value = file.data[key];\n\n if (value !== null && value !== undefined) {\n querys.push(encodeURIComponent(key) + '=' + encodeURIComponent(value));\n }\n }\n\n var putAction = file.putAction || '';\n var queryString = querys.length ? (putAction.indexOf('?') === -1 ? '?' : '&') + querys.join('&') : '';\n var xhr = new XMLHttpRequest();\n xhr.open('PUT', putAction + queryString);\n return this.uploadXhr(xhr, file, file.file);\n },\n uploadHtml5: function uploadHtml5(file) {\n var form = new window.FormData();\n var value;\n\n for (var key in file.data) {\n value = file.data[key];\n\n if (value && _typeof(value) === 'object' && typeof value.toString !== 'function') {\n if (value instanceof File) {\n form.append(key, value, value.name);\n } else {\n form.append(key, JSON.stringify(value));\n }\n } else if (value !== null && value !== undefined) {\n form.append(key, value);\n }\n } // Moved file.name as the first option to set the filename of the uploaded file, since file.name\n // contains the full (relative) path of the file not just the filename as in file.file.filename\n // @ts-ignore\n\n\n form.append(this.name, file.file, file.name || file.file.name || file.file.filename);\n var xhr = new XMLHttpRequest();\n xhr.open('POST', file.postAction || '');\n return this.uploadXhr(xhr, file, form);\n },\n uploadXhr: function uploadXhr(xhr, ufile, body) {\n var _this12 = this;\n\n var file = ufile;\n var speedTime = 0;\n var speedLoaded = 0; // 进度条\n\n xhr.upload.onprogress = function (e) {\n // 还未开始上传 已删除 未激活\n if (!file) {\n return;\n }\n\n file = _this12.get(file);\n\n if (!e.lengthComputable || !file || !file.fileObject || !file.active) {\n return;\n } // 进度 速度 每秒更新一次\n\n\n var speedTime2 = Math.round(Date.now() / 1000);\n\n if (speedTime2 === speedTime) {\n return;\n }\n\n speedTime = speedTime2;\n file = _this12.update(file, {\n progress: (e.loaded / e.total * 100).toFixed(2),\n speed: e.loaded - speedLoaded\n });\n speedLoaded = e.loaded;\n }; // 检查激活状态\n\n\n var interval = window.setInterval(function () {\n if (file) {\n if (file = _this12.get(file)) {\n var _file2;\n\n if ((_file2 = file) !== null && _file2 !== void 0 && _file2.fileObject && !file.success && !file.error && file.active) {\n return;\n }\n }\n }\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n }\n\n try {\n xhr.abort();\n xhr.timeout = 1;\n } catch (e) {}\n }, 100);\n return new Promise(function (resolve, reject) {\n if (!file) {\n reject(new Error('not_exists'));\n return;\n }\n\n var complete;\n\n var fn = function fn(e) {\n // 已经处理过了\n if (complete) {\n return;\n }\n\n complete = true;\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n }\n\n if (!file) {\n return reject(new Error('not_exists'));\n }\n\n file = _this12.get(file); // 不存在直接响应\n\n if (!file) {\n return reject(new Error('not_exists'));\n } // 不是文件对象\n\n\n if (!file.fileObject) {\n return reject(new Error('file_object'));\n } // 有错误自动响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 未激活\n\n\n if (!file.active) {\n return reject(new Error('abort'));\n } // 已完成 直接相应\n\n\n if (file.success) {\n return resolve(file);\n }\n\n var data = {};\n\n switch (e.type) {\n case 'timeout':\n case 'abort':\n data.error = e.type;\n break;\n\n case 'error':\n if (!xhr.status) {\n data.error = 'network';\n } else if (xhr.status >= 500) {\n data.error = 'server';\n } else if (xhr.status >= 400) {\n data.error = 'denied';\n }\n\n break;\n\n default:\n if (xhr.status >= 500) {\n data.error = 'server';\n } else if (xhr.status >= 400) {\n data.error = 'denied';\n } else {\n data.progress = '100.00';\n }\n\n }\n\n if (xhr.responseText) {\n var contentType = xhr.getResponseHeader('Content-Type');\n\n if (contentType && contentType.indexOf('/json') !== -1) {\n data.response = JSON.parse(xhr.responseText);\n } else {\n data.response = xhr.responseText;\n }\n } // 更新\n // @ts-ignore\n\n\n file = _this12.update(file, data);\n\n if (!file) {\n return reject(new Error('abort'));\n } // 有错误自动响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 响应\n\n\n return resolve(file);\n }; // 事件\n\n\n xhr.onload = fn;\n xhr.onerror = fn;\n xhr.onabort = fn;\n xhr.ontimeout = fn; // 超时\n\n if (file.timeout) {\n xhr.timeout = file.timeout;\n } // headers\n\n\n for (var key in file.headers) {\n xhr.setRequestHeader(key, file.headers[key]);\n } // 更新 xhr\n // @ts-ignore\n\n\n file = _this12.update(file, {\n xhr: xhr\n }); // 开始上传\n\n file && xhr.send(body);\n });\n },\n uploadHtml4: function uploadHtml4(ufile) {\n var _this13 = this;\n\n var file = ufile;\n\n if (!file) {\n return Promise.reject(new Error('not_exists'));\n }\n\n var onKeydown = function onKeydown(e) {\n if (e.keyCode === 27) {\n e.preventDefault();\n }\n };\n\n var iframe = document.createElement('iframe');\n iframe.id = 'upload-iframe-' + file.id;\n iframe.name = 'upload-iframe-' + file.id;\n iframe.src = 'about:blank';\n iframe.setAttribute('style', 'width:1px;height:1px;top:-999em;position:absolute; margin-top:-999em;');\n var form = document.createElement('form');\n form.setAttribute('action', file.postAction || '');\n form.name = 'upload-form-' + file.id;\n form.setAttribute('method', 'POST');\n form.setAttribute('target', 'upload-iframe-' + file.id);\n form.setAttribute('enctype', 'multipart/form-data');\n\n for (var key in file.data) {\n var value = file.data[key];\n\n if (value && _typeof(value) === 'object' && typeof value.toString !== 'function') {\n value = JSON.stringify(value);\n }\n\n if (value !== null && value !== undefined) {\n var el = document.createElement('input');\n el.type = 'hidden';\n el.name = key;\n el.value = value;\n form.appendChild(el);\n }\n }\n\n form.appendChild(file.el);\n document.body.appendChild(iframe).appendChild(form);\n\n var getResponseData = function getResponseData() {\n var _doc;\n\n var doc;\n\n try {\n if (iframe.contentWindow) {\n doc = iframe.contentWindow.document;\n }\n } catch (err) {}\n\n if (!doc) {\n try {\n // @ts-ignore\n doc = iframe.contentDocument ? iframe.contentDocument : iframe.document;\n } catch (err) {\n // @ts-ignore\n doc = iframe.document;\n }\n } // @ts-ignore\n\n\n if ((_doc = doc) !== null && _doc !== void 0 && _doc.body) {\n return doc.body.innerHTML;\n }\n\n return null;\n };\n\n return new Promise(function (resolve, reject) {\n setTimeout(function () {\n if (!file) {\n reject(new Error('not_exists'));\n return;\n }\n\n file = _this13.update(file, {\n iframe: iframe\n }); // 不存在\n\n if (!file) {\n return reject(new Error('not_exists'));\n } // 定时检查\n\n\n var interval = window.setInterval(function () {\n if (file) {\n if (file = _this13.get(file)) {\n if (file.fileObject && !file.success && !file.error && file.active) {\n return;\n }\n }\n }\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n } // @ts-ignore\n\n\n iframe.onabort({\n type: file ? 'abort' : 'not_exists'\n });\n }, 100);\n var complete;\n\n var fn = function fn(e) {\n var _file3;\n\n // 已经处理过了\n if (complete) {\n return;\n }\n\n complete = true;\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n } // 关闭 esc 事件\n\n\n document.body.removeEventListener('keydown', onKeydown);\n\n if (!file) {\n return reject(new Error('not_exists'));\n }\n\n file = _this13.get(file); // 不存在直接响应\n\n if (!file) {\n return reject(new Error('not_exists'));\n } // 不是文件对象\n\n\n if (!file.fileObject) {\n return reject(new Error('file_object'));\n } // 有错误自动响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 未激活\n\n\n if (!file.active) {\n return reject(new Error('abort'));\n } // 已完成 直接相应\n\n\n if (file.success) {\n return resolve(file);\n }\n\n var response = getResponseData();\n var data = {};\n\n if (typeof e === 'string') {\n return reject(new Error(e));\n }\n\n switch (e.type) {\n case 'abort':\n data.error = 'abort';\n break;\n\n case 'error':\n if (file.error) {\n data.error = file.error;\n } else if (response === null) {\n data.error = 'network';\n } else {\n data.error = 'denied';\n }\n\n break;\n\n default:\n if (file.error) {\n data.error = file.error;\n } else if (response === null) {\n data.error = 'network';\n } else {\n data.progress = '100.00';\n }\n\n }\n\n if (response !== null) {\n if (response && response.substr(0, 1) === '{' && response.substr(response.length - 1, 1) === '}') {\n try {\n response = JSON.parse(response);\n } catch (err) {}\n }\n\n data.response = response;\n } // 更新\n\n\n file = _this13.update(file, data);\n\n if (!file) {\n return reject(new Error('not_exists'));\n }\n\n if ((_file3 = file) !== null && _file3 !== void 0 && _file3.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 响应\n\n\n return resolve(file);\n }; // 添加事件\n\n\n iframe.onload = fn;\n iframe.onerror = fn;\n iframe.onabort = fn; // 禁止 esc 键\n\n document.body.addEventListener('keydown', onKeydown); // 提交\n\n form.submit();\n }, 50);\n }).then(function (res) {\n var _iframe$parentNode;\n\n iframe === null || iframe === void 0 ? void 0 : (_iframe$parentNode = iframe.parentNode) === null || _iframe$parentNode === void 0 ? void 0 : _iframe$parentNode.removeChild(iframe);\n return res;\n }).catch(function (res) {\n var _iframe$parentNode2;\n\n iframe === null || iframe === void 0 ? void 0 : (_iframe$parentNode2 = iframe.parentNode) === null || _iframe$parentNode2 === void 0 ? void 0 : _iframe$parentNode2.removeChild(iframe);\n return res;\n });\n },\n watchActive: function watchActive(active) {\n var file;\n var index = 0;\n\n while (file = this.files[index]) {\n index++;\n if (!file.fileObject) ;else if (active && !this.destroy) {\n if (this.uploading >= this.thread || this.uploading && !this.features.html5) {\n break;\n }\n\n if (!file.active && !file.error && !file.success) {\n this.update(file, {\n active: true\n });\n }\n } else {\n if (file.active) {\n this.update(file, {\n active: false\n });\n }\n }\n }\n\n if (this.uploading === 0) {\n this.active = false;\n }\n },\n watchDrop: function watchDrop(newDrop) {\n var oldDrop = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n\n if (!this.features.drop) {\n return;\n }\n\n if (newDrop === oldDrop) {\n return;\n } // 移除挂载\n\n\n if (this.dropElement) {\n try {\n document.removeEventListener('dragenter', this.onDocumentDragenter, false);\n document.removeEventListener('dragleave', this.onDocumentDragleave, false);\n document.removeEventListener('dragover', this.onDocumentDragover, false);\n document.removeEventListener('drop', this.onDocumentDrop, false);\n this.dropElement.removeEventListener('dragover', this.onDragover, false);\n this.dropElement.removeEventListener('drop', this.onDrop, false);\n } catch (e) {}\n }\n\n var el = null;\n if (!newDrop) ;else if (typeof newDrop === 'string') {\n // @ts-ignore\n el = document.querySelector(newDrop) || this.$root.$el.querySelector(newDrop);\n } else if (newDrop === true) {\n var _el;\n\n // @ts-ignore\n el = this.$parent.$el;\n\n if (!el || ((_el = el) === null || _el === void 0 ? void 0 : _el.nodeType) === 8) {\n var _el2;\n\n // @ts-ignore\n el = this.$root.$el;\n\n if (!el || ((_el2 = el) === null || _el2 === void 0 ? void 0 : _el2.nodeType) === 8) {\n el = document.body;\n }\n }\n } else {\n el = newDrop;\n }\n this.dropElement = el;\n\n if (this.dropElement) {\n document.addEventListener('dragenter', this.onDocumentDragenter, false);\n document.addEventListener('dragleave', this.onDocumentDragleave, false);\n document.addEventListener('dragover', this.onDocumentDragover, false);\n document.addEventListener('drop', this.onDocumentDrop, false);\n this.dropElement.addEventListener('dragover', this.onDragover, false);\n this.dropElement.addEventListener('drop', this.onDrop, false);\n }\n },\n watchDropActive: function watchDropActive(newDropActive, oldDropActive) {\n if (newDropActive === oldDropActive) {\n return;\n }\n\n if (this.dropTimeout) {\n clearTimeout(this.dropTimeout);\n this.dropTimeout = null;\n }\n\n if (newDropActive) {\n // @ts-ignore\n this.dropTimeout = setTimeout(this.onDocumentDrop, 1000);\n }\n },\n onDocumentDragenter: function onDocumentDragenter(e) {\n var _dt$files, _dt$types;\n\n if (this.dropActive) {\n return;\n }\n\n if (!e.dataTransfer) {\n return;\n }\n\n var dt = e.dataTransfer;\n\n if (dt !== null && dt !== void 0 && (_dt$files = dt.files) !== null && _dt$files !== void 0 && _dt$files.length) {\n this.dropActive = true;\n } else if (!dt.types) {\n this.dropActive = true;\n } else if (dt.types.indexOf && dt.types.indexOf('Files') !== -1) {\n this.dropActive = true; // @ts-ignore\n } else if ((_dt$types = dt.types) !== null && _dt$types !== void 0 && _dt$types.contains && dt.types.contains('Files')) {\n this.dropActive = true;\n }\n\n if (this.dropActive) {\n this.watchDropActive(true);\n }\n },\n onDocumentDragleave: function onDocumentDragleave(e) {\n if (!this.dropActive) {\n return;\n } // @ts-ignore\n\n\n if (e.target === e.explicitOriginalTarget || !e.fromElement && (e.clientX <= 0 || e.clientY <= 0 || e.clientX >= window.innerWidth || e.clientY >= window.innerHeight)) {\n this.dropActive = false;\n this.watchDropActive(false);\n }\n },\n onDocumentDragover: function onDocumentDragover() {\n this.watchDropActive(true);\n },\n onDocumentDrop: function onDocumentDrop() {\n this.dropActive = false;\n this.watchDropActive(false);\n },\n onDragover: function onDragover(e) {\n e.preventDefault();\n },\n onDrop: function onDrop(e) {\n e.preventDefault();\n e.dataTransfer && this.addDataTransfer(e.dataTransfer);\n },\n inputOnChange: async function inputOnChange(e) {\n var _this14 = this;\n\n if (!(e.target instanceof HTMLInputElement)) {\n return Promise.reject(new Error(\"not HTMLInputElement\"));\n }\n\n e.target;\n\n var reinput = function reinput(res) {\n _this14.reload = true; // @ts-ignore\n\n _this14.$nextTick(function () {\n _this14.reload = false;\n });\n\n return res;\n };\n\n return this.addInputFile(e.target).then(reinput).catch(reinput);\n }\n }\n});\nvar _hoisted_1 = [\"for\"];\nvar _hoisted_2 = [\"name\", \"id\", \"accept\", \"capture\", \"disabled\", \"webkitdirectory\", \"allowdirs\", \"directory\", \"multiple\"];\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", {\n class: normalizeClass(_ctx.className)\n }, [renderSlot(_ctx.$slots, \"default\"), createElementVNode(\"label\", {\n for: _ctx.forId\n }, null, 8, _hoisted_1), !_ctx.reload ? (openBlock(), createElementBlock(\"input\", {\n key: 0,\n ref: \"input\",\n type: \"file\",\n name: _ctx.name,\n id: _ctx.forId,\n accept: _ctx.accept,\n capture: _ctx.capture,\n disabled: _ctx.disabled,\n webkitdirectory: _ctx.iDirectory,\n allowdirs: _ctx.iDirectory,\n directory: _ctx.iDirectory,\n multiple: _ctx.multiple && _ctx.features.html5,\n onChange: _cache[0] || (_cache[0] = function () {\n return _ctx.inputOnChange && _ctx.inputOnChange.apply(_ctx, arguments);\n })\n }, null, 40, _hoisted_2)) : createCommentVNode(\"\", true)], 2);\n}\n\nfunction styleInject(css, ref) {\n if (ref === void 0) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') {\n return;\n }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar css_248z = \"\\n.file-uploads {\\n overflow: hidden;\\n position: relative;\\n text-align: center;\\n display: inline-block;\\n}\\n.file-uploads.file-uploads-html4 input,\\n.file-uploads.file-uploads-html5 label {\\n /* background fix ie click */\\n background: #fff;\\n opacity: 0;\\n font-size: 20em;\\n z-index: 1;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n position: absolute;\\n width: 100%;\\n height: 100%;\\n}\\n.file-uploads.file-uploads-html5 input,\\n.file-uploads.file-uploads-html4 label {\\n /* background fix ie click */\\n background: rgba(255, 255, 255, 0);\\n overflow: hidden;\\n position: fixed;\\n width: 1px;\\n height: 1px;\\n z-index: -1;\\n opacity: 0;\\n}\\n\";\nstyleInject(css_248z);\nscript.render = render;\nexport { script as default };\n//# sourceMappingURL=vue-upload-component.js.map\n"],"names":["defineComponent","openBlock","createElementBlock","normalizeClass","renderSlot","createElementVNode","createCommentVNode"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"vue-upload-component.js","sources":["vue-upload-component.js"],"sourcesContent":["function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _ownKeys(Object(source), !0).forEach(function (key) { _defineProperty2(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : _ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty2(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nimport { defineComponent, openBlock, createElementBlock, normalizeClass, renderSlot, createElementVNode, createCommentVNode } from 'vue';\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n/**\n * Creates a XHR request\n *\n * @param {Object} options\n */\n\n\nvar createRequest = function createRequest(options) {\n var xhr = new XMLHttpRequest();\n xhr.open(options.method || 'GET', options.url);\n xhr.responseType = 'json';\n\n if (options.headers) {\n Object.keys(options.headers).forEach(function (key) {\n xhr.setRequestHeader(key, options.headers[key]);\n });\n }\n\n return xhr;\n};\n/**\n * Sends a XHR request with certain body\n *\n * @param {XMLHttpRequest} xhr\n * @param {Object} body\n */\n\n\nvar sendRequest = function sendRequest(xhr, body) {\n return new Promise(function (resolve, reject) {\n xhr.onload = function () {\n if (xhr.status >= 200 && xhr.status < 300) {\n var response;\n\n try {\n response = JSON.parse(xhr.response);\n } catch (err) {\n response = xhr.response;\n }\n\n resolve(response);\n } else {\n reject(xhr.response);\n }\n };\n\n xhr.onerror = function () {\n return reject(xhr.response);\n };\n\n xhr.send(JSON.stringify(body));\n });\n};\n/**\n * Sends a XHR request with certain form data\n *\n * @param {XMLHttpRequest} xhr\n * @param {Object} data\n */\n\n\nvar sendFormRequest = function sendFormRequest(xhr, data) {\n var body = new FormData();\n\n for (var name in data) {\n body.append(name, data[name]);\n }\n\n return new Promise(function (resolve, reject) {\n xhr.onload = function () {\n if (xhr.status >= 200 && xhr.status < 300) {\n var response;\n\n try {\n response = JSON.parse(xhr.response);\n } catch (err) {\n response = xhr.response;\n }\n\n resolve(response);\n } else {\n reject(xhr.response);\n }\n };\n\n xhr.onerror = function () {\n return reject(xhr.response);\n };\n\n xhr.send(body);\n });\n};\n/**\n * Creates and sends XHR request\n *\n * @param {Object} options\n *\n * @returns Promise\n */\n\n\nfunction request(options) {\n var xhr = createRequest(options);\n return sendRequest(xhr, options.body);\n}\n\nvar ChunkUploadHandler = /*#__PURE__*/function () {\n /**\n * Constructor\n *\n * @param {File} file\n * @param {Object} options\n */\n function ChunkUploadHandler(file, options) {\n _classCallCheck(this, ChunkUploadHandler);\n\n this.file = file;\n this.options = options;\n this.chunks = [];\n this.sessionId = null;\n this.chunkSize = null;\n this.speedInterval = null;\n }\n /**\n * Gets the max retries from options\n */\n\n\n _createClass(ChunkUploadHandler, [{\n key: \"maxRetries\",\n get: function get() {\n return parseInt(this.options.maxRetries, 10);\n }\n /**\n * Gets the max number of active chunks being uploaded at once from options\n */\n\n }, {\n key: \"maxActiveChunks\",\n get: function get() {\n return parseInt(this.options.maxActive, 10);\n }\n /**\n * Gets the file type\n */\n\n }, {\n key: \"fileType\",\n get: function get() {\n return this.file.type;\n }\n /**\n * Gets the file size\n */\n\n }, {\n key: \"fileSize\",\n get: function get() {\n return this.file.size;\n }\n /**\n * Gets the file name\n */\n\n }, {\n key: \"fileName\",\n get: function get() {\n return this.file.name;\n }\n /**\n * Gets action (url) to upload the file\n */\n\n }, {\n key: \"action\",\n get: function get() {\n return this.options.action || null;\n }\n /**\n * Gets the body to be merged when sending the request in start phase\n */\n\n }, {\n key: \"startBody\",\n get: function get() {\n return this.options.startBody || {};\n }\n /**\n * Gets the body to be merged when sending the request in upload phase\n */\n\n }, {\n key: \"uploadBody\",\n get: function get() {\n return this.options.uploadBody || {};\n }\n /**\n * Gets the body to be merged when sending the request in finish phase\n */\n\n }, {\n key: \"finishBody\",\n get: function get() {\n return this.options.finishBody || {};\n }\n /**\n * Gets the headers of the requests from options\n */\n\n }, {\n key: \"headers\",\n get: function get() {\n return this.options.headers || {};\n }\n /**\n * Whether it's ready to upload files or not\n */\n\n }, {\n key: \"readyToUpload\",\n get: function get() {\n return !!this.chunks;\n }\n /**\n * Gets the progress of the chunk upload\n * - Gets all the completed chunks\n * - Gets the progress of all the chunks that are being uploaded\n */\n\n }, {\n key: \"progress\",\n get: function get() {\n var _this = this;\n\n var completedProgress = this.chunksUploaded.length / this.chunks.length * 100;\n var uploadingProgress = this.chunksUploading.reduce(function (progress, chunk) {\n return progress + (chunk.progress | 0) / _this.chunks.length;\n }, 0);\n return Math.min(completedProgress + uploadingProgress, 100);\n }\n /**\n * Gets all the chunks that are pending to be uploaded\n */\n\n }, {\n key: \"chunksToUpload\",\n get: function get() {\n return this.chunks.filter(function (chunk) {\n return !chunk.active && !chunk.uploaded;\n });\n }\n /**\n * Whether there are chunks to upload or not\n */\n\n }, {\n key: \"hasChunksToUpload\",\n get: function get() {\n return this.chunksToUpload.length > 0;\n }\n /**\n * Gets all the chunks that are uploading\n */\n\n }, {\n key: \"chunksUploading\",\n get: function get() {\n return this.chunks.filter(function (chunk) {\n return !!chunk.xhr && !!chunk.active;\n });\n }\n /**\n * Gets all the chunks that have finished uploading\n */\n\n }, {\n key: \"chunksUploaded\",\n get: function get() {\n return this.chunks.filter(function (chunk) {\n return !!chunk.uploaded;\n });\n }\n /**\n * Creates all the chunks in the initial state\n */\n\n }, {\n key: \"createChunks\",\n value: function createChunks() {\n this.chunks = [];\n var start = 0;\n var end = this.chunkSize;\n\n while (start < this.fileSize) {\n this.chunks.push({\n blob: this.file.file.slice(start, end),\n startOffset: start,\n active: false,\n retries: this.maxRetries\n });\n start = end;\n end = start + this.chunkSize;\n }\n }\n /**\n * Updates the progress of the file with the handler's progress\n */\n\n }, {\n key: \"updateFileProgress\",\n value: function updateFileProgress() {\n this.file.progress = this.progress;\n }\n /**\n * Paues the upload process\n * - Stops all active requests\n * - Sets the file not active\n */\n\n }, {\n key: \"pause\",\n value: function pause() {\n this.file.active = false;\n this.stopChunks();\n }\n /**\n * Stops all the current chunks\n */\n\n }, {\n key: \"stopChunks\",\n value: function stopChunks() {\n this.chunksUploading.forEach(function (chunk) {\n chunk.xhr.abort();\n chunk.active = false;\n });\n this.stopSpeedCalc();\n }\n /**\n * Resumes the file upload\n * - Sets the file active\n * - Starts the following chunks\n */\n\n }, {\n key: \"resume\",\n value: function resume() {\n this.file.active = true;\n this.startChunking();\n }\n /**\n * Starts the file upload\n *\n * @returns Promise\n * - resolve The file was uploaded\n * - reject The file upload failed\n */\n\n }, {\n key: \"upload\",\n value: function upload() {\n var _this2 = this;\n\n this.promise = new Promise(function (resolve, reject) {\n _this2.resolve = resolve;\n _this2.reject = reject;\n });\n this.start();\n return this.promise;\n }\n /**\n * Start phase\n * Sends a request to the backend to initialise the chunks\n */\n\n }, {\n key: \"start\",\n value: function start() {\n var _this3 = this;\n\n request({\n method: 'POST',\n headers: _objectSpread2(_objectSpread2({}, this.headers), {}, {\n 'Content-Type': 'application/json'\n }),\n url: this.action,\n body: Object.assign(this.startBody, {\n phase: 'start',\n mime_type: this.fileType,\n size: this.fileSize,\n name: this.fileName\n })\n }).then(function (res) {\n if (res.status !== 'success') {\n _this3.file.response = res;\n return _this3.reject('server');\n }\n\n _this3.sessionId = res.data.session_id;\n _this3.chunkSize = res.data.end_offset;\n\n _this3.createChunks();\n\n _this3.startChunking();\n }).catch(function (res) {\n _this3.file.response = res;\n\n _this3.reject('server');\n });\n }\n /**\n * Starts to upload chunks\n */\n\n }, {\n key: \"startChunking\",\n value: function startChunking() {\n for (var i = 0; i < this.maxActiveChunks; i++) {\n this.uploadNextChunk();\n }\n\n this.startSpeedCalc();\n }\n /**\n * Uploads the next chunk\n * - Won't do anything if the process is paused\n * - Will start finish phase if there are no more chunks to upload\n */\n\n }, {\n key: \"uploadNextChunk\",\n value: function uploadNextChunk() {\n if (this.file.active) {\n if (this.hasChunksToUpload) {\n return this.uploadChunk(this.chunksToUpload[0]);\n }\n\n if (this.chunksUploading.length === 0) {\n return this.finish();\n }\n }\n }\n /**\n * Uploads a chunk\n * - Sends the chunk to the backend\n * - Sets the chunk as uploaded if everything went well\n * - Decreases the number of retries if anything went wrong\n * - Fails if there are no more retries\n *\n * @param {Object} chunk\n */\n\n }, {\n key: \"uploadChunk\",\n value: function uploadChunk(chunk) {\n var _this4 = this;\n\n chunk.progress = 0;\n chunk.active = true;\n this.updateFileProgress();\n chunk.xhr = createRequest({\n method: 'POST',\n headers: this.headers,\n url: this.action\n });\n chunk.xhr.upload.addEventListener('progress', function (evt) {\n if (evt.lengthComputable) {\n chunk.progress = Math.round(evt.loaded / evt.total * 100);\n }\n }, false);\n sendFormRequest(chunk.xhr, Object.assign(this.uploadBody, {\n phase: 'upload',\n session_id: this.sessionId,\n start_offset: chunk.startOffset,\n chunk: chunk.blob\n })).then(function (res) {\n chunk.active = false;\n\n if (res.status === 'success') {\n chunk.uploaded = true;\n } else {\n if (chunk.retries-- <= 0) {\n _this4.stopChunks();\n\n return _this4.reject('upload');\n }\n }\n\n _this4.uploadNextChunk();\n }).catch(function () {\n chunk.active = false;\n\n if (chunk.retries-- <= 0) {\n _this4.stopChunks();\n\n return _this4.reject('upload');\n }\n\n _this4.uploadNextChunk();\n });\n }\n /**\n * Finish phase\n * Sends a request to the backend to finish the process\n */\n\n }, {\n key: \"finish\",\n value: function finish() {\n var _this5 = this;\n\n this.updateFileProgress();\n this.stopSpeedCalc();\n request({\n method: 'POST',\n headers: _objectSpread2(_objectSpread2({}, this.headers), {}, {\n 'Content-Type': 'application/json'\n }),\n url: this.action,\n body: Object.assign(this.finishBody, {\n phase: 'finish',\n session_id: this.sessionId\n })\n }).then(function (res) {\n _this5.file.response = res;\n\n if (res.status !== 'success') {\n return _this5.reject('server');\n }\n\n _this5.resolve(res);\n }).catch(function (res) {\n _this5.file.response = res;\n\n _this5.reject('server');\n });\n }\n /**\n * Sets an interval to calculate and\n * set upload speed every 3 seconds\n */\n\n }, {\n key: \"startSpeedCalc\",\n value: function startSpeedCalc() {\n var _this6 = this;\n\n this.file.speed = 0;\n var lastUploadedBytes = 0;\n\n if (!this.speedInterval) {\n this.speedInterval = window.setInterval(function () {\n var uploadedBytes = _this6.progress / 100 * _this6.fileSize;\n _this6.file.speed = uploadedBytes - lastUploadedBytes;\n lastUploadedBytes = uploadedBytes;\n }, 1000);\n }\n }\n /**\n * Removes the upload speed interval\n */\n\n }, {\n key: \"stopSpeedCalc\",\n value: function stopSpeedCalc() {\n this.speedInterval && window.clearInterval(this.speedInterval);\n this.speedInterval = null;\n this.file.speed = 0;\n }\n }]);\n\n return ChunkUploadHandler;\n}();\n\nvar CHUNK_DEFAULT_OPTIONS = {\n headers: {},\n action: '',\n minSize: 1048576,\n maxActive: 3,\n maxRetries: 5,\n handler: ChunkUploadHandler\n};\nvar script = defineComponent({\n props: {\n inputId: {\n type: String\n },\n name: {\n type: String,\n default: 'file'\n },\n accept: {\n type: String\n },\n capture: {},\n disabled: {\n default: false\n },\n multiple: {\n type: Boolean,\n default: false\n },\n maximum: {\n type: Number\n },\n addIndex: {\n type: [Boolean, Number]\n },\n directory: {\n type: Boolean\n },\n createDirectory: {\n type: Boolean,\n default: false\n },\n postAction: {\n type: String\n },\n putAction: {\n type: String\n },\n customAction: {\n type: Function\n },\n headers: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n data: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n timeout: {\n type: Number,\n default: 0\n },\n drop: {\n type: [Boolean, String, HTMLElement],\n default: function _default() {\n return false;\n }\n },\n dropDirectory: {\n type: Boolean,\n default: true\n },\n size: {\n type: Number,\n default: 0\n },\n extensions: {\n type: [RegExp, String, Array],\n default: function _default() {\n return [];\n }\n },\n modelValue: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n thread: {\n type: Number,\n default: 1\n },\n // Chunk upload enabled\n chunkEnabled: {\n type: Boolean,\n default: false\n },\n // Chunk upload properties\n chunk: {\n type: Object,\n default: function _default() {\n return CHUNK_DEFAULT_OPTIONS;\n }\n }\n },\n emits: ['update:modelValue', 'input-filter', 'input-file'],\n data: function data() {\n return {\n files: this.modelValue,\n features: {\n html5: true,\n directory: false,\n drop: false\n },\n active: false,\n dropActive: false,\n uploading: 0,\n destroy: false,\n maps: {},\n dropElement: null,\n dropTimeout: null,\n reload: false\n };\n },\n\n /**\r\n * mounted\r\n * @return {[type]} [description]\r\n */\n mounted: function mounted() {\n var _this7 = this;\n\n var input = document.createElement('input');\n input.type = 'file';\n input.multiple = true; // html5 特征\n\n if (window.FormData && input.files) {\n // 上传目录特征\n // @ts-ignore\n if (typeof input.webkitdirectory === 'boolean' || typeof input.directory === 'boolean') {\n this.features.directory = true;\n } // 拖拽特征\n\n\n if (this.features.html5 && typeof input.ondrop !== 'undefined') {\n this.features.drop = true;\n }\n } else {\n this.features.html5 = false;\n } // files 定位缓存\n\n\n this.maps = {};\n\n if (this.files) {\n for (var i = 0; i < this.files.length; i++) {\n var file = this.files[i];\n this.maps[file.id] = file;\n }\n } // @ts-ignore\n\n\n this.$nextTick(function () {\n // 更新下父级\n if (_this7.$parent) {\n _this7.$parent.$forceUpdate(); // 拖拽渲染\n\n\n _this7.$parent.$nextTick(function () {\n _this7.watchDrop(_this7.drop);\n });\n } else {\n // 拖拽渲染\n _this7.watchDrop(_this7.drop);\n }\n });\n },\n\n /**\r\n * beforeUnmount\r\n * @return {[type]} [description]\r\n */\n beforeUnmount: function beforeUnmount() {\n // 已销毁\n this.destroy = true; // 设置成不激活\n\n this.active = false; // 销毁拖拽事件\n\n this.watchDrop(false); // 销毁不激活\n\n this.watchActive(false);\n },\n computed: {\n /**\r\n * uploading 正在上传的线程\r\n * @return {[type]} [description]\r\n */\n\n /**\r\n * uploaded 文件列表是否全部已上传\r\n * @return {[type]} [description]\r\n */\n uploaded: function uploaded() {\n var file;\n\n for (var i = 0; i < this.files.length; i++) {\n file = this.files[i];\n\n if (file.fileObject && !file.error && !file.success) {\n return false;\n }\n }\n\n return true;\n },\n chunkOptions: function chunkOptions() {\n return Object.assign(CHUNK_DEFAULT_OPTIONS, this.chunk);\n },\n className: function className() {\n return ['file-uploads', this.features.html5 ? 'file-uploads-html5' : 'file-uploads-html4', this.features.directory && this.directory ? 'file-uploads-directory' : undefined, this.features.drop && this.drop ? 'file-uploads-drop' : undefined, this.disabled ? 'file-uploads-disabled' : undefined];\n },\n forId: function forId() {\n return this.inputId || this.name;\n },\n iMaximum: function iMaximum() {\n if (this.maximum === undefined) {\n return this.multiple ? 0 : 1;\n }\n\n return this.maximum;\n },\n iExtensions: function iExtensions() {\n if (!this.extensions) {\n return;\n }\n\n if (this.extensions instanceof RegExp) {\n return this.extensions;\n }\n\n if (!this.extensions.length) {\n return;\n }\n\n var exts = [];\n\n if (typeof this.extensions === 'string') {\n exts = this.extensions.split(',');\n } else {\n exts = this.extensions;\n }\n\n exts = exts.map(function (value) {\n return value.trim();\n }).filter(function (value) {\n return value;\n });\n return new RegExp('\\\\.(' + exts.join('|').replace(/\\./g, '\\\\.') + ')$', 'i');\n },\n iDirectory: function iDirectory() {\n if (this.directory && this.features.directory) {\n return true;\n }\n\n return undefined;\n }\n },\n watch: {\n active: function active(_active) {\n this.watchActive(_active);\n },\n dropActive: function dropActive(value) {\n this.watchDropActive(value);\n\n if (this.$parent) {\n this.$parent.$forceUpdate();\n }\n },\n drop: function drop(value) {\n this.watchDrop(value);\n },\n modelValue: function modelValue(files) {\n if (this.files === files) {\n return;\n }\n\n this.files = files;\n var oldMaps = this.maps; // 重写 maps 缓存\n\n this.maps = {};\n\n for (var i = 0; i < this.files.length; i++) {\n var file = this.files[i];\n this.maps[file.id] = file;\n } // add, update\n\n\n for (var key in this.maps) {\n var newFile = this.maps[key];\n var oldFile = oldMaps[key];\n\n if (newFile !== oldFile) {\n this.emitFile(newFile, oldFile);\n }\n } // delete\n\n\n for (var _key in oldMaps) {\n if (!this.maps[_key]) {\n this.emitFile(undefined, oldMaps[_key]);\n }\n }\n }\n },\n methods: {\n newId: function newId() {\n return Math.random().toString(36).substr(2);\n },\n // 清空\n clear: function clear() {\n if (this.files.length) {\n var files = this.files;\n this.files = []; // 定位\n\n this.maps = {}; // 事件\n\n this.emitInput();\n\n for (var i = 0; i < files.length; i++) {\n this.emitFile(undefined, files[i]);\n }\n }\n\n return true;\n },\n // 选择\n get: function get(id) {\n if (!id) {\n return false;\n }\n\n if (_typeof(id) === 'object') {\n return this.maps[id.id || ''] || false;\n }\n\n return this.maps[id] || false;\n },\n // 添加\n add: function add(_files, index) {\n // 不是数组整理成数组\n var files;\n\n if (_files instanceof Array) {\n files = _files;\n } else {\n files = [_files];\n }\n\n if (index === undefined) {\n // eslint-disable-next-line\n index = this.addIndex;\n } // 遍历规范对象\n\n\n var addFiles = [];\n\n for (var i = 0; i < files.length; i++) {\n var file = files[i];\n\n if (this.features.html5 && file instanceof Blob) {\n file = {\n id: '',\n file: file,\n size: file.size,\n // @ts-ignore\n name: file.webkitRelativePath || file.relativePath || file.name || 'unknown',\n type: file.type\n };\n }\n\n file = file;\n var fileObject = false;\n if (file.fileObject === false) ;else if (file.fileObject) {\n fileObject = true;\n } else if (typeof Element !== 'undefined' && file.el instanceof HTMLInputElement) {\n fileObject = true;\n } else if (typeof Blob !== 'undefined' && file.file instanceof Blob) {\n fileObject = true;\n }\n\n if (fileObject) {\n file = _objectSpread(_objectSpread({\n fileObject: true,\n size: -1,\n name: 'Filename',\n type: '',\n active: false,\n error: '',\n success: false,\n putAction: this.putAction,\n postAction: this.postAction,\n timeout: this.timeout\n }, file), {}, {\n response: {},\n progress: '0.00',\n speed: 0 // 只读\n // file: undefined,\n // xhr: undefined,\n // el: undefined,\n // iframe: undefined,\n\n });\n file.data = _objectSpread(_objectSpread({}, this.data), file.data ? file.data : {});\n file.headers = _objectSpread(_objectSpread({}, this.headers), file.headers ? file.headers : {});\n } // 必须包含 id\n\n\n if (!file.id) {\n file.id = this.newId();\n }\n\n if (this.emitFilter(file, undefined)) {\n continue;\n } // 最大数量限制\n\n\n if (this.iMaximum > 1 && addFiles.length + this.files.length >= this.iMaximum) {\n break;\n }\n\n addFiles.push(file); // 最大数量限制\n\n if (this.iMaximum === 1) {\n break;\n }\n } // 没有文件\n\n\n if (!addFiles.length) {\n return;\n } // 如果是 1 清空\n\n\n if (this.iMaximum === 1) {\n this.clear();\n } // 添加进去 files\n\n\n var newFiles;\n\n if (index === true || index === 0) {\n newFiles = addFiles.concat(this.files);\n } else if (index) {\n var _newFiles;\n\n newFiles = this.files.concat([]);\n\n (_newFiles = newFiles).splice.apply(_newFiles, [index, 0].concat(_toConsumableArray(addFiles)));\n } else {\n newFiles = this.files.concat(addFiles);\n }\n\n this.files = newFiles; // 读取代理后的数据\n\n var index2 = 0;\n\n if (index === true || index === 0) {\n index2 = 0;\n } else if (index) {\n if (index >= 0) {\n if (index + addFiles.length > this.files.length) {\n index2 = this.files.length - addFiles.length;\n } else {\n index2 = index;\n }\n } else {\n index2 = this.files.length - addFiles.length + index;\n\n if (index2 < 0) {\n index2 = 0;\n }\n }\n } else {\n index2 = this.files.length - addFiles.length;\n }\n\n addFiles = this.files.slice(index2, index2 + addFiles.length); // 定位\n\n for (var _i = 0; _i < addFiles.length; _i++) {\n var _file = addFiles[_i];\n this.maps[_file.id] = _file;\n } // 事件\n\n\n this.emitInput();\n\n for (var _i2 = 0; _i2 < addFiles.length; _i2++) {\n this.emitFile(addFiles[_i2], undefined);\n }\n\n return _files instanceof Array ? addFiles : addFiles[0];\n },\n // 添加表单文件\n addInputFile: function addInputFile(el) {\n var _this8 = this;\n\n var files = [];\n this.iMaximum; // @ts-ignore\n\n var entrys = el.webkitEntries || el.entries || undefined;\n\n if (entrys !== null && entrys !== void 0 && entrys.length) {\n return this.getFileSystemEntry(entrys).then(function (files) {\n return _this8.add(files);\n });\n }\n\n if (el.files) {\n for (var i = 0; i < el.files.length; i++) {\n var file = el.files[i];\n files.push({\n id: '',\n size: file.size,\n // @ts-ignore\n name: file.webkitRelativePath || file.relativePath || file.name,\n type: file.type,\n file: file\n });\n }\n } else {\n var names = el.value.replace(/\\\\/g, '/').split('/');\n\n if (!names || !names.length) {\n names = [el.value];\n } // @ts-ignore\n\n\n delete el.__vuex__;\n files.push({\n id: '',\n name: names[names.length - 1],\n el: el\n });\n }\n\n return Promise.resolve(this.add(files));\n },\n // 添加 DataTransfer\n addDataTransfer: function addDataTransfer(dataTransfer) {\n var _dataTransfer$items,\n _this9 = this;\n\n // dataTransfer.items 支持\n if (dataTransfer !== null && dataTransfer !== void 0 && (_dataTransfer$items = dataTransfer.items) !== null && _dataTransfer$items !== void 0 && _dataTransfer$items.length) {\n var entrys = []; // 遍历出所有 dataTransferVueUploadItem\n\n for (var i = 0; i < dataTransfer.items.length; i++) {\n var dataTransferTtem = dataTransfer.items[i];\n var entry = void 0; // @ts-ignore\n\n if (dataTransferTtem.getAsEntry) {\n // @ts-ignore\n entry = dataTransferTtem.getAsEntry() || dataTransferTtem.getAsFile();\n } else if (dataTransferTtem.webkitGetAsEntry) {\n entry = dataTransferTtem.webkitGetAsEntry() || dataTransferTtem.getAsFile();\n } else {\n entry = dataTransferTtem.getAsFile();\n }\n\n if (entry) {\n entrys.push(entry);\n }\n }\n\n return this.getFileSystemEntry(entrys).then(function (files) {\n return _this9.add(files);\n });\n } // dataTransfer.files 支持\n\n\n var maximumValue = this.iMaximum;\n var files = [];\n\n if (dataTransfer.files.length) {\n for (var _i3 = 0; _i3 < dataTransfer.files.length; _i3++) {\n files.push(dataTransfer.files[_i3]);\n\n if (maximumValue > 0 && files.length >= maximumValue) {\n break;\n }\n }\n\n return Promise.resolve(this.add(files));\n }\n\n return Promise.resolve([]);\n },\n // 获得 entrys \n getFileSystemEntry: function getFileSystemEntry(entry) {\n var _this10 = this;\n\n var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n // getFileSystemEntry(entry: any, path = ''): Promise {\n return new Promise(function (resolve) {\n var maximumValue = _this10.iMaximum;\n\n if (!entry) {\n resolve([]);\n return;\n }\n\n if (entry instanceof Array) {\n // 多个\n var uploadFiles = [];\n\n var forEach = function forEach(i) {\n var v = entry[i];\n\n if (!v || maximumValue > 0 && uploadFiles.length >= maximumValue) {\n return resolve(uploadFiles);\n }\n\n _this10.getFileSystemEntry(v, path).then(function (results) {\n uploadFiles.push.apply(uploadFiles, _toConsumableArray(results));\n forEach(i + 1);\n });\n };\n\n forEach(0);\n return;\n }\n\n if (entry instanceof Blob) {\n resolve([{\n id: '',\n size: entry.size,\n // @ts-ignore\n name: path + entry.name,\n type: entry.type,\n file: entry\n }]);\n return;\n }\n\n if (entry.isFile) {\n var fileEntry = entry;\n fileEntry.file(function (file) {\n resolve([{\n id: '',\n size: file.size,\n name: path + file.name,\n type: file.type,\n file: file\n }]);\n });\n return;\n }\n\n if (entry.isDirectory && _this10.dropDirectory) {\n var directoryEntry = entry;\n var _uploadFiles = []; // 目录也要添加到文件列表\n\n if (_this10.createDirectory) {\n _uploadFiles.push({\n id: '',\n name: path + directoryEntry.name,\n size: 0,\n type: 'text/directory',\n file: new File([], path + directoryEntry.name, {\n type: 'text/directory'\n })\n });\n }\n\n var dirReader = directoryEntry.createReader();\n\n var readEntries = function readEntries() {\n dirReader.readEntries(function (entries) {\n var forEach = function forEach(i) {\n if (!entries[i] && i === 0 || maximumValue > 0 && _uploadFiles.length >= maximumValue) {\n return resolve(_uploadFiles);\n }\n\n if (!entries[i]) {\n return readEntries();\n }\n\n _this10.getFileSystemEntry(entries[i], path + directoryEntry.name + '/').then(function (results) {\n _uploadFiles.push.apply(_uploadFiles, _toConsumableArray(results));\n\n forEach(i + 1);\n });\n };\n\n forEach(0);\n });\n };\n\n readEntries();\n return;\n }\n\n resolve([]);\n });\n },\n // 替换\n replace: function replace(id1, id2) {\n var file1 = this.get(id1);\n var file2 = this.get(id2);\n\n if (!file1 || !file2 || file1 === file2) {\n return false;\n }\n\n var files = this.files.concat([]);\n var index1 = files.indexOf(file1);\n var index2 = files.indexOf(file2);\n\n if (index1 === -1 || index2 === -1) {\n return false;\n }\n\n files[index1] = file2;\n files[index2] = file1;\n this.files = files;\n this.emitInput();\n return true;\n },\n // 移除\n remove: function remove(id) {\n var file = this.get(id);\n\n if (file) {\n if (this.emitFilter(undefined, file)) {\n return false;\n }\n\n var files = this.files.concat([]);\n var index = files.indexOf(file);\n\n if (index === -1) {\n console.error('remove', file);\n return false;\n }\n\n files.splice(index, 1);\n this.files = files; // 定位\n\n delete this.maps[file.id]; // 事件\n\n this.emitInput();\n this.emitFile(undefined, file);\n }\n\n return file;\n },\n // 更新\n update: function update(id, data) {\n var file = this.get(id);\n\n if (file) {\n var newFile = _objectSpread(_objectSpread({}, file), data); // 停用必须加上错误\n\n\n if (file.fileObject && file.active && !newFile.active && !newFile.error && !newFile.success) {\n newFile.error = 'abort';\n }\n\n if (this.emitFilter(newFile, file)) {\n return false;\n }\n\n var files = this.files.concat([]);\n var index = files.indexOf(file);\n\n if (index === -1) {\n console.error('update', file);\n return false;\n }\n\n files.splice(index, 1, newFile);\n this.files = files;\n newFile = this.files[index]; // 删除 旧定位 写入 新定位 (已便支持修改id)\n\n delete this.maps[file.id];\n this.maps[newFile.id] = newFile; // 事件\n\n this.emitInput();\n this.emitFile(newFile, file);\n return newFile;\n }\n\n return false;\n },\n // 预处理 事件 过滤器\n emitFilter: function emitFilter(newFile, oldFile) {\n var isPrevent = false;\n this.$emit('input-filter', newFile, oldFile, function () {\n var prevent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n isPrevent = prevent;\n return isPrevent;\n });\n return isPrevent;\n },\n // 处理后 事件 分发\n emitFile: function emitFile(newFile, oldFile) {\n var _newFile,\n _this11 = this;\n\n this.$emit('input-file', newFile, oldFile);\n\n if ((_newFile = newFile) !== null && _newFile !== void 0 && _newFile.fileObject && newFile.active && (!oldFile || !oldFile.active)) {\n this.uploading++; // 激活\n // @ts-ignore\n\n this.$nextTick(function () {\n setTimeout(function () {\n newFile && _this11.upload(newFile).then(function () {\n var _newFile2;\n\n if (newFile) {\n // eslint-disable-next-line\n newFile = _this11.get(newFile) || undefined;\n }\n\n if ((_newFile2 = newFile) !== null && _newFile2 !== void 0 && _newFile2.fileObject) {\n _this11.update(newFile, {\n active: false,\n success: !newFile.error\n });\n }\n }).catch(function (e) {\n newFile && _this11.update(newFile, {\n active: false,\n success: false,\n error: e.code || e.error || e.message || e\n });\n });\n }, Math.ceil(Math.random() * 50 + 50));\n });\n } else if ((!newFile || !newFile.fileObject || !newFile.active) && oldFile && oldFile.fileObject && oldFile.active) {\n // 停止\n this.uploading--;\n } // 自动延续激活\n // @ts-ignore\n\n\n if (this.active && (Boolean(newFile) !== Boolean(oldFile) || newFile.active !== oldFile.active)) {\n this.watchActive(true);\n }\n },\n emitInput: function emitInput() {\n this.$emit('update:modelValue', this.files);\n },\n // 上传\n upload: function upload(id) {\n var file = this.get(id); // 被删除\n\n if (!file) {\n return Promise.reject(new Error('not_exists'));\n } // 不是文件对象\n\n\n if (!file.fileObject) {\n return Promise.reject(new Error('file_object'));\n } // 有错误直接响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return Promise.reject(file.error);\n }\n\n return Promise.reject(new Error(file.error));\n } // 已完成直接响应\n\n\n if (file.success) {\n return Promise.resolve(file);\n } // 后缀\n\n\n if (file.name && this.iExtensions && file.type !== \"text/directory\") {\n if (file.name.search(this.iExtensions) === -1) {\n return Promise.reject(new Error('extension'));\n }\n } // 大小\n\n\n if (this.size > 0 && file.size !== undefined && file.size >= 0 && file.size > this.size && file.type !== \"text/directory\") {\n return Promise.reject(new Error('size'));\n }\n\n if (this.customAction) {\n return this.customAction(file, this);\n }\n\n if (this.features.html5) {\n if (this.shouldUseChunkUpload(file)) {\n return this.uploadChunk(file);\n }\n\n if (file.putAction) {\n return this.uploadPut(file);\n }\n\n if (file.postAction) {\n return this.uploadHtml5(file);\n }\n }\n\n if (file.postAction) {\n return this.uploadHtml4(file);\n }\n\n return Promise.reject(new Error('No action configured'));\n },\n\n /**\r\n * Whether this file should be uploaded using chunk upload or not\r\n *\r\n * @param Object file\r\n */\n shouldUseChunkUpload: function shouldUseChunkUpload(file) {\n return this.chunkEnabled && !!this.chunkOptions.handler && file.size && file.size > this.chunkOptions.minSize;\n },\n\n /**\r\n * Upload a file using Chunk method\r\n *\r\n * @param File file\r\n */\n uploadChunk: function uploadChunk(file) {\n var HandlerClass = this.chunkOptions.handler;\n file.chunk = new HandlerClass(file, this.chunkOptions);\n return file.chunk.upload().then(function (res) {\n return file;\n });\n },\n uploadPut: function uploadPut(file) {\n var querys = [];\n var value;\n\n for (var key in file.data) {\n value = file.data[key];\n\n if (value !== null && value !== undefined) {\n querys.push(encodeURIComponent(key) + '=' + encodeURIComponent(value));\n }\n }\n\n var putAction = file.putAction || '';\n var queryString = querys.length ? (putAction.indexOf('?') === -1 ? '?' : '&') + querys.join('&') : '';\n var xhr = new XMLHttpRequest();\n xhr.open('PUT', putAction + queryString);\n return this.uploadXhr(xhr, file, file.file);\n },\n uploadHtml5: function uploadHtml5(file) {\n var form = new window.FormData();\n var value;\n\n for (var key in file.data) {\n value = file.data[key];\n\n if (value && _typeof(value) === 'object' && typeof value.toString !== 'function') {\n if (value instanceof File) {\n form.append(key, value, value.name);\n } else {\n form.append(key, JSON.stringify(value));\n }\n } else if (value !== null && value !== undefined) {\n form.append(key, value);\n }\n } // Moved file.name as the first option to set the filename of the uploaded file, since file.name\n // contains the full (relative) path of the file not just the filename as in file.file.filename\n // @ts-ignore\n\n\n form.append(this.name, file.file, file.name || file.file.name || file.file.filename);\n var xhr = new XMLHttpRequest();\n xhr.open('POST', file.postAction || '');\n return this.uploadXhr(xhr, file, form);\n },\n uploadXhr: function uploadXhr(xhr, ufile, body) {\n var _this12 = this;\n\n var file = ufile;\n var speedTime = 0;\n var speedLoaded = 0; // 进度条\n\n xhr.upload.onprogress = function (e) {\n // 还未开始上传 已删除 未激活\n if (!file) {\n return;\n }\n\n file = _this12.get(file);\n\n if (!e.lengthComputable || !file || !file.fileObject || !file.active) {\n return;\n } // 进度 速度 每秒更新一次\n\n\n var speedTime2 = Math.round(Date.now() / 1000);\n\n if (speedTime2 === speedTime) {\n return;\n }\n\n speedTime = speedTime2;\n file = _this12.update(file, {\n progress: (e.loaded / e.total * 100).toFixed(2),\n speed: e.loaded - speedLoaded\n });\n speedLoaded = e.loaded;\n }; // 检查激活状态\n\n\n var interval = window.setInterval(function () {\n if (file) {\n if (file = _this12.get(file)) {\n var _file2;\n\n if ((_file2 = file) !== null && _file2 !== void 0 && _file2.fileObject && !file.success && !file.error && file.active) {\n return;\n }\n }\n }\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n }\n\n try {\n xhr.abort();\n xhr.timeout = 1;\n } catch (e) {}\n }, 100);\n return new Promise(function (resolve, reject) {\n if (!file) {\n reject(new Error('not_exists'));\n return;\n }\n\n var complete;\n\n var fn = function fn(e) {\n // 已经处理过了\n if (complete) {\n return;\n }\n\n complete = true;\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n }\n\n if (!file) {\n return reject(new Error('not_exists'));\n }\n\n file = _this12.get(file); // 不存在直接响应\n\n if (!file) {\n return reject(new Error('not_exists'));\n } // 不是文件对象\n\n\n if (!file.fileObject) {\n return reject(new Error('file_object'));\n } // 有错误自动响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 未激活\n\n\n if (!file.active) {\n return reject(new Error('abort'));\n } // 已完成 直接相应\n\n\n if (file.success) {\n return resolve(file);\n }\n\n var data = {};\n\n switch (e.type) {\n case 'timeout':\n case 'abort':\n data.error = e.type;\n break;\n\n case 'error':\n if (!xhr.status) {\n data.error = 'network';\n } else if (xhr.status >= 500) {\n data.error = 'server';\n } else if (xhr.status >= 400) {\n data.error = 'denied';\n }\n\n break;\n\n default:\n if (xhr.status >= 500) {\n data.error = 'server';\n } else if (xhr.status >= 400) {\n data.error = 'denied';\n } else {\n data.progress = '100.00';\n }\n\n }\n\n if (xhr.responseText) {\n var contentType = xhr.getResponseHeader('Content-Type');\n\n if (contentType && contentType.indexOf('/json') !== -1) {\n data.response = JSON.parse(xhr.responseText);\n } else {\n data.response = xhr.responseText;\n }\n } // 更新\n // @ts-ignore\n\n\n file = _this12.update(file, data);\n\n if (!file) {\n return reject(new Error('abort'));\n } // 有错误自动响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 响应\n\n\n return resolve(file);\n }; // 事件\n\n\n xhr.onload = fn;\n xhr.onerror = fn;\n xhr.onabort = fn;\n xhr.ontimeout = fn; // 超时\n\n if (file.timeout) {\n xhr.timeout = file.timeout;\n } // headers\n\n\n for (var key in file.headers) {\n xhr.setRequestHeader(key, file.headers[key]);\n } // 更新 xhr\n // @ts-ignore\n\n\n file = _this12.update(file, {\n xhr: xhr\n }); // 开始上传\n\n file && xhr.send(body);\n });\n },\n uploadHtml4: function uploadHtml4(ufile) {\n var _this13 = this;\n\n var file = ufile;\n\n if (!file) {\n return Promise.reject(new Error('not_exists'));\n }\n\n var onKeydown = function onKeydown(e) {\n if (e.keyCode === 27) {\n e.preventDefault();\n }\n };\n\n var iframe = document.createElement('iframe');\n iframe.id = 'upload-iframe-' + file.id;\n iframe.name = 'upload-iframe-' + file.id;\n iframe.src = 'about:blank';\n iframe.setAttribute('style', 'width:1px;height:1px;top:-999em;position:absolute; margin-top:-999em;');\n var form = document.createElement('form');\n form.setAttribute('action', file.postAction || '');\n form.name = 'upload-form-' + file.id;\n form.setAttribute('method', 'POST');\n form.setAttribute('target', 'upload-iframe-' + file.id);\n form.setAttribute('enctype', 'multipart/form-data');\n\n for (var key in file.data) {\n var value = file.data[key];\n\n if (value && _typeof(value) === 'object' && typeof value.toString !== 'function') {\n value = JSON.stringify(value);\n }\n\n if (value !== null && value !== undefined) {\n var el = document.createElement('input');\n el.type = 'hidden';\n el.name = key;\n el.value = value;\n form.appendChild(el);\n }\n }\n\n form.appendChild(file.el);\n document.body.appendChild(iframe).appendChild(form);\n\n var getResponseData = function getResponseData() {\n var _doc;\n\n var doc;\n\n try {\n if (iframe.contentWindow) {\n doc = iframe.contentWindow.document;\n }\n } catch (err) {}\n\n if (!doc) {\n try {\n // @ts-ignore\n doc = iframe.contentDocument ? iframe.contentDocument : iframe.document;\n } catch (err) {\n // @ts-ignore\n doc = iframe.document;\n }\n } // @ts-ignore\n\n\n if ((_doc = doc) !== null && _doc !== void 0 && _doc.body) {\n return doc.body.innerHTML;\n }\n\n return null;\n };\n\n return new Promise(function (resolve, reject) {\n setTimeout(function () {\n if (!file) {\n reject(new Error('not_exists'));\n return;\n }\n\n file = _this13.update(file, {\n iframe: iframe\n }); // 不存在\n\n if (!file) {\n return reject(new Error('not_exists'));\n } // 定时检查\n\n\n var interval = window.setInterval(function () {\n if (file) {\n if (file = _this13.get(file)) {\n if (file.fileObject && !file.success && !file.error && file.active) {\n return;\n }\n }\n }\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n } // @ts-ignore\n\n\n iframe.onabort({\n type: file ? 'abort' : 'not_exists'\n });\n }, 100);\n var complete;\n\n var fn = function fn(e) {\n var _file3;\n\n // 已经处理过了\n if (complete) {\n return;\n }\n\n complete = true;\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n } // 关闭 esc 事件\n\n\n document.body.removeEventListener('keydown', onKeydown);\n\n if (!file) {\n return reject(new Error('not_exists'));\n }\n\n file = _this13.get(file); // 不存在直接响应\n\n if (!file) {\n return reject(new Error('not_exists'));\n } // 不是文件对象\n\n\n if (!file.fileObject) {\n return reject(new Error('file_object'));\n } // 有错误自动响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 未激活\n\n\n if (!file.active) {\n return reject(new Error('abort'));\n } // 已完成 直接相应\n\n\n if (file.success) {\n return resolve(file);\n }\n\n var response = getResponseData();\n var data = {};\n\n if (typeof e === 'string') {\n return reject(new Error(e));\n }\n\n switch (e.type) {\n case 'abort':\n data.error = 'abort';\n break;\n\n case 'error':\n if (file.error) {\n data.error = file.error;\n } else if (response === null) {\n data.error = 'network';\n } else {\n data.error = 'denied';\n }\n\n break;\n\n default:\n if (file.error) {\n data.error = file.error;\n } else if (response === null) {\n data.error = 'network';\n } else {\n data.progress = '100.00';\n }\n\n }\n\n if (response !== null) {\n if (response && response.substr(0, 1) === '{' && response.substr(response.length - 1, 1) === '}') {\n try {\n response = JSON.parse(response);\n } catch (err) {}\n }\n\n data.response = response;\n } // 更新\n\n\n file = _this13.update(file, data);\n\n if (!file) {\n return reject(new Error('not_exists'));\n }\n\n if ((_file3 = file) !== null && _file3 !== void 0 && _file3.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 响应\n\n\n return resolve(file);\n }; // 添加事件\n\n\n iframe.onload = fn;\n iframe.onerror = fn;\n iframe.onabort = fn; // 禁止 esc 键\n\n document.body.addEventListener('keydown', onKeydown); // 提交\n\n form.submit();\n }, 50);\n }).then(function (res) {\n var _iframe$parentNode;\n\n iframe === null || iframe === void 0 ? void 0 : (_iframe$parentNode = iframe.parentNode) === null || _iframe$parentNode === void 0 ? void 0 : _iframe$parentNode.removeChild(iframe);\n return res;\n }).catch(function (res) {\n var _iframe$parentNode2;\n\n iframe === null || iframe === void 0 ? void 0 : (_iframe$parentNode2 = iframe.parentNode) === null || _iframe$parentNode2 === void 0 ? void 0 : _iframe$parentNode2.removeChild(iframe);\n return res;\n });\n },\n watchActive: function watchActive(active) {\n var file;\n var index = 0;\n\n while (file = this.files[index]) {\n index++;\n if (!file.fileObject) ;else if (active && !this.destroy) {\n if (this.uploading >= this.thread || this.uploading && !this.features.html5) {\n break;\n }\n\n if (!file.active && !file.error && !file.success) {\n this.update(file, {\n active: true\n });\n }\n } else {\n if (file.active) {\n this.update(file, {\n active: false\n });\n }\n }\n }\n\n if (this.uploading === 0) {\n this.active = false;\n }\n },\n watchDrop: function watchDrop(newDrop) {\n var oldDrop = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n\n if (!this.features.drop) {\n return;\n }\n\n if (newDrop === oldDrop) {\n return;\n } // 移除挂载\n\n\n if (this.dropElement) {\n try {\n document.removeEventListener('dragenter', this.onDocumentDragenter, false);\n document.removeEventListener('dragleave', this.onDocumentDragleave, false);\n document.removeEventListener('dragover', this.onDocumentDragover, false);\n document.removeEventListener('drop', this.onDocumentDrop, false);\n this.dropElement.removeEventListener('dragover', this.onDragover, false);\n this.dropElement.removeEventListener('drop', this.onDrop, false);\n } catch (e) {}\n }\n\n var el = null;\n if (!newDrop) ;else if (typeof newDrop === 'string') {\n // @ts-ignore\n el = document.querySelector(newDrop) || this.$root.$el.querySelector(newDrop);\n } else if (newDrop === true) {\n var _el;\n\n // @ts-ignore\n el = this.$parent.$el;\n\n if (!el || ((_el = el) === null || _el === void 0 ? void 0 : _el.nodeType) === 8) {\n var _el2;\n\n // @ts-ignore\n el = this.$root.$el;\n\n if (!el || ((_el2 = el) === null || _el2 === void 0 ? void 0 : _el2.nodeType) === 8) {\n el = document.body;\n }\n }\n } else {\n el = newDrop;\n }\n this.dropElement = el;\n\n if (this.dropElement) {\n document.addEventListener('dragenter', this.onDocumentDragenter, false);\n document.addEventListener('dragleave', this.onDocumentDragleave, false);\n document.addEventListener('dragover', this.onDocumentDragover, false);\n document.addEventListener('drop', this.onDocumentDrop, false);\n this.dropElement.addEventListener('dragover', this.onDragover, false);\n this.dropElement.addEventListener('drop', this.onDrop, false);\n }\n },\n watchDropActive: function watchDropActive(newDropActive, oldDropActive) {\n if (newDropActive === oldDropActive) {\n return;\n }\n\n if (this.dropTimeout) {\n clearTimeout(this.dropTimeout);\n this.dropTimeout = null;\n }\n\n if (newDropActive) {\n // @ts-ignore\n this.dropTimeout = setTimeout(this.onDocumentDrop, 1000);\n }\n },\n onDocumentDragenter: function onDocumentDragenter(e) {\n var _dt$files, _dt$types;\n\n if (this.dropActive) {\n return;\n }\n\n if (!e.dataTransfer) {\n return;\n }\n\n var dt = e.dataTransfer;\n\n if (dt !== null && dt !== void 0 && (_dt$files = dt.files) !== null && _dt$files !== void 0 && _dt$files.length) {\n this.dropActive = true;\n } else if (!dt.types) {\n this.dropActive = true;\n } else if (dt.types.indexOf && dt.types.indexOf('Files') !== -1) {\n this.dropActive = true; // @ts-ignore\n } else if ((_dt$types = dt.types) !== null && _dt$types !== void 0 && _dt$types.contains && dt.types.contains('Files')) {\n this.dropActive = true;\n }\n\n if (this.dropActive) {\n this.watchDropActive(true);\n }\n },\n onDocumentDragleave: function onDocumentDragleave(e) {\n if (!this.dropActive) {\n return;\n } // @ts-ignore\n\n\n if (e.target === e.explicitOriginalTarget || !e.fromElement && (e.clientX <= 0 || e.clientY <= 0 || e.clientX >= window.innerWidth || e.clientY >= window.innerHeight)) {\n this.dropActive = false;\n this.watchDropActive(false);\n }\n },\n onDocumentDragover: function onDocumentDragover() {\n this.watchDropActive(true);\n },\n onDocumentDrop: function onDocumentDrop() {\n this.dropActive = false;\n this.watchDropActive(false);\n },\n onDragover: function onDragover(e) {\n e.preventDefault();\n },\n onDrop: function onDrop(e) {\n e.preventDefault();\n e.dataTransfer && this.addDataTransfer(e.dataTransfer);\n },\n inputOnChange: async function inputOnChange(e) {\n var _this14 = this;\n\n if (!(e.target instanceof HTMLInputElement)) {\n return Promise.reject(new Error(\"not HTMLInputElement\"));\n }\n\n e.target;\n\n var reinput = function reinput(res) {\n _this14.reload = true; // @ts-ignore\n\n _this14.$nextTick(function () {\n _this14.reload = false;\n });\n\n return res;\n };\n\n return this.addInputFile(e.target).then(reinput).catch(reinput);\n }\n }\n});\nvar _hoisted_1 = [\"for\"];\nvar _hoisted_2 = [\"name\", \"id\", \"accept\", \"capture\", \"disabled\", \"webkitdirectory\", \"allowdirs\", \"directory\", \"multiple\"];\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", {\n class: normalizeClass(_ctx.className)\n }, [renderSlot(_ctx.$slots, \"default\"), createElementVNode(\"label\", {\n for: _ctx.forId\n }, null, 8, _hoisted_1), !_ctx.reload ? (openBlock(), createElementBlock(\"input\", {\n key: 0,\n ref: \"input\",\n type: \"file\",\n name: _ctx.name,\n id: _ctx.forId,\n accept: _ctx.accept,\n capture: _ctx.capture,\n disabled: _ctx.disabled,\n webkitdirectory: _ctx.iDirectory,\n allowdirs: _ctx.iDirectory,\n directory: _ctx.iDirectory,\n multiple: _ctx.multiple && _ctx.features.html5,\n onChange: _cache[0] || (_cache[0] = function () {\n return _ctx.inputOnChange && _ctx.inputOnChange.apply(_ctx, arguments);\n })\n }, null, 40, _hoisted_2)) : createCommentVNode(\"\", true)], 2);\n}\n\nfunction styleInject(css, ref) {\n if (ref === void 0) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') {\n return;\n }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar css_248z = \"\\n.file-uploads {\\n overflow: hidden;\\n position: relative;\\n text-align: center;\\n display: inline-block;\\n}\\n.file-uploads.file-uploads-html4 input,\\n.file-uploads.file-uploads-html5 label {\\n /* background fix ie click */\\n background: #fff;\\n opacity: 0;\\n font-size: 20em;\\n z-index: 1;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n position: absolute;\\n width: 100%;\\n height: 100%;\\n}\\n.file-uploads.file-uploads-html5 input,\\n.file-uploads.file-uploads-html4 label {\\n /* background fix ie click */\\n background: rgba(255, 255, 255, 0);\\n overflow: hidden;\\n position: fixed;\\n width: 1px;\\n height: 1px;\\n z-index: -1;\\n opacity: 0;\\n}\\n\";\nstyleInject(css_248z);\nscript.render = render;\nexport { script as default };\n//# sourceMappingURL=vue-upload-component.js.map\n"],"names":["defineComponent","openBlock","createElementBlock","normalizeClass","renderSlot","createElementVNode","createCommentVNode"],"mappings":"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"} \ No newline at end of file diff --git a/dist/vue-upload-component.min.js b/dist/vue-upload-component.min.js index b25bd69..33e7617 100644 --- a/dist/vue-upload-component.min.js +++ b/dist/vue-upload-component.min.js @@ -1,7 +1,7 @@ /*! Name: vue-upload-component Component URI: https://github.com/lian-yue/vue-upload-component#readme -Version: 3.1.5 +Version: 3.1.7 Author: LianYue License: Apache-2.0 Description: Vue.js file upload component, Multi-file upload, Upload directory, Drag upload, Drag the directory, Upload multiple files at the same time, html4 (IE 9), `PUT` method, Customize the filter @@ -10,10 +10,10 @@ Description: Vue.js file upload component, Multi-file upload, Upload directory, /*! Name: vue-upload-component Component URI: https://github.com/lian-yue/vue-upload-component#readme - Version: 3.1.5 + Version: 3.1.7 Author: LianYue License: Apache-2.0 Description: Vue.js file upload component, Multi-file upload, Upload directory, Drag upload, Drag the directory, Upload multiple files at the same time, html4 (IE 9), `PUT` method, Customize the filter */ -return function(e,t){e.exports=function(e){function t(e){return o(e)||i(e)||n(e)||r()}function r(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function n(e,t){if(e){if("string"==typeof e)return s(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?s(e,t):void 0}}function i(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function o(e){if(Array.isArray(e))return s(e)}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=200&&e.status<300){var t;try{t=JSON.parse(e.response)}catch(r){t=e.response}r(t)}else n(e.response)},e.onerror=function(){return n(e.response)},e.send(JSON.stringify(t))}))},b=function(e,t){var r=new FormData;for(var n in t)r.append(n,t[n]);return new Promise((function(t,n){e.onload=function(){if(e.status>=200&&e.status<300){var r;try{r=JSON.parse(e.response)}catch(t){r=e.response}t(r)}else n(e.response)},e.onerror=function(){return n(e.response)},e.send(r)}))};function k(e){var t=y(e);return g(t,e.body)}var w={headers:{},action:"",minSize:1048576,maxActive:3,maxRetries:5,handler:function(){function e(t,r){h(this,e),this.file=t,this.options=r,this.chunks=[],this.sessionId=null,this.chunkSize=null,this.speedInterval=null}return m(e,[{key:"maxRetries",get:function(){return parseInt(this.options.maxRetries,10)}},{key:"maxActiveChunks",get:function(){return parseInt(this.options.maxActive,10)}},{key:"fileType",get:function(){return this.file.type}},{key:"fileSize",get:function(){return this.file.size}},{key:"fileName",get:function(){return this.file.name}},{key:"action",get:function(){return this.options.action||null}},{key:"startBody",get:function(){return this.options.startBody||{}}},{key:"uploadBody",get:function(){return this.options.uploadBody||{}}},{key:"finishBody",get:function(){return this.options.finishBody||{}}},{key:"headers",get:function(){return this.options.headers||{}}},{key:"readyToUpload",get:function(){return!!this.chunks}},{key:"progress",get:function(){var e=this,t=this.chunksUploaded.length/this.chunks.length*100,r=this.chunksUploading.reduce((function(t,r){return t+(0|r.progress)/e.chunks.length}),0);return Math.min(t+r,100)}},{key:"chunksToUpload",get:function(){return this.chunks.filter((function(e){return!e.active&&!e.uploaded}))}},{key:"hasChunksToUpload",get:function(){return this.chunksToUpload.length>0}},{key:"chunksUploading",get:function(){return this.chunks.filter((function(e){return!!e.xhr&&!!e.active}))}},{key:"chunksUploaded",get:function(){return this.chunks.filter((function(e){return!!e.uploaded}))}},{key:"createChunks",value:function(){this.chunks=[];for(var e=0,t=this.chunkSize;e1&&i.length+this.files.length>=this.iMaximum)break;if(i.push(s),1===this.iMaximum)break}}if(i.length){var l;if(1===this.iMaximum&&this.clear(),!0===r||0===r)l=i.concat(this.files);else if(r){var c;(c=l=this.files.concat([])).splice.apply(c,[r,0].concat(t(i)))}else l=this.files.concat(i);this.files=l;var f=0;!0===r||0===r?f=0:r?r>=0?f=r+i.length>this.files.length?this.files.length-i.length:r:(f=this.files.length-i.length+r)<0&&(f=0):f=this.files.length-i.length,i=this.files.slice(f,f+i.length);for(var d=0;d0&&u.length>=a));l++);return Promise.resolve(this.add(u))}return Promise.resolve([])},getFileSystemEntry:function(e){var r=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return new Promise((function(i){var o=r.iMaximum;if(e)if(e instanceof Array){var s=[];!function a(u){var l=e[u];if(!l||o>0&&s.length>=o)return i(s);r.getFileSystemEntry(l,n).then((function(e){s.push.apply(s,t(e)),a(u+1)}))}(0)}else if(e instanceof Blob)i([{id:"",size:e.size,name:n+e.name,type:e.type,file:e}]);else if(e.isFile)e.file((function(e){i([{id:"",size:e.size,name:n+e.name,type:e.type,file:e}])}));else if(e.isDirectory&&r.dropDirectory){var a=e,u=[];r.createDirectory&&u.push({id:"",name:n+a.name,size:0,type:"text/directory",file:new File([],n+a.name,{type:"text/directory"})});var l=a.createReader(),c=function e(){l.readEntries((function(s){!function l(c){return!s[c]&&0===c||o>0&&u.length>=o?i(u):s[c]?void r.getFileSystemEntry(s[c],n+a.name+"/").then((function(e){u.push.apply(u,t(e)),l(c+1)})):e()}(0)}))};c()}else i([]);else i([])}))},replace:function(e,t){var r=this.get(e),n=this.get(t);if(!r||!n||r===n)return!1;var i=this.files.concat([]),o=i.indexOf(r),s=i.indexOf(n);return-1!==o&&-1!==s&&(i[o]=n,i[s]=r,this.files=i,this.emitInput(),!0)},remove:function(e){var t=this.get(e);if(t){if(this.emitFilter(void 0,t))return!1;var r=this.files.concat([]),n=r.indexOf(t);if(-1===n)return console.error("remove",t),!1;r.splice(n,1),this.files=r,delete this.maps[t.id],this.emitInput(),this.emitFile(void 0,t)}return t},update:function(e,t){var r=this.get(e);if(r){var n=u(u({},r),t);if(!r.fileObject||!r.active||n.active||n.error||n.success||(n.error="abort"),this.emitFilter(n,r))return!1;var i=this.files.concat([]),o=i.indexOf(r);return-1===o?(console.error("update",r),!1):(i.splice(o,1,n),this.files=i,n=this.files[o],delete this.maps[r.id],this.maps[n.id]=n,this.emitInput(),this.emitFile(n,r),n)}return!1},emitFilter:function(e,t){var r=!1;return this.$emit("input-filter",e,t,(function(){return r=!(arguments.length>0&&void 0!==arguments[0])||arguments[0]})),r},emitFile:function(e,t){var r,n=this;this.$emit("input-file",e,t),null===(r=e)||void 0===r||!r.fileObject||!e.active||t&&t.active?e&&e.fileObject&&e.active||!t||!t.fileObject||!t.active||this.uploading--:(this.uploading++,this.$nextTick((function(){setTimeout((function(){e&&n.upload(e).then((function(){var t;e&&(e=n.get(e)||void 0),null!==(t=e)&&void 0!==t&&t.fileObject&&n.update(e,{active:!1,success:!e.error})})).catch((function(t){e&&n.update(e,{active:!1,success:!1,error:t.code||t.error||t.message||t})}))}),Math.ceil(50*Math.random()+50))}))),!this.active||Boolean(e)===Boolean(t)&&e.active===t.active||this.watchActive(!0)},emitInput:function(){this.$emit("update:modelValue",this.files)},upload:function(e){var t=this.get(e);if(!t)return Promise.reject(new Error("not_exists"));if(!t.fileObject)return Promise.reject(new Error("file_object"));if(t.error)return t.error instanceof Error?Promise.reject(t.error):Promise.reject(new Error(t.error));if(t.success)return Promise.resolve(t);if(t.name&&this.iExtensions&&"text/directory"!==t.type&&-1===t.name.search(this.iExtensions))return Promise.reject(new Error("extension"));if(this.size>0&&void 0!==t.size&&t.size>=0&&t.size>this.size&&"text/directory"!==t.type)return Promise.reject(new Error("size"));if(this.customAction)return this.customAction(t,this);if(this.features.html5){if(this.shouldUseChunkUpload(t))return this.uploadChunk(t);if(t.putAction)return this.uploadPut(t);if(t.postAction)return this.uploadHtml5(t)}return t.postAction?this.uploadHtml4(t):Promise.reject(new Error("No action configured"))},shouldUseChunkUpload:function(e){return this.chunkEnabled&&!!this.chunkOptions.handler&&e.size&&e.size>this.chunkOptions.minSize},uploadChunk:function(e){var t=this.chunkOptions.handler;return e.chunk=new t(e,this.chunkOptions),e.chunk.upload().then((function(t){return e}))},uploadPut:function(e){var t,r=[];for(var n in e.data)null!=(t=e.data[n])&&r.push(encodeURIComponent(n)+"="+encodeURIComponent(t));var i=e.putAction||"",o=r.length?(-1===i.indexOf("?")?"?":"&")+r.join("&"):"",s=new XMLHttpRequest;return s.open("PUT",i+o),this.uploadXhr(s,e,e.file)},uploadHtml5:function(e){var t,r=new window.FormData;for(var n in e.data)(t=e.data[n])&&"object"===c(t)&&"function"!=typeof t.toString?t instanceof File?r.append(n,t,t.name):r.append(n,JSON.stringify(t)):null!=t&&r.append(n,t);r.append(this.name,e.file,e.name||e.file.name||e.file.filename);var i=new XMLHttpRequest;return i.open("POST",e.postAction||""),this.uploadXhr(i,e,r)},uploadXhr:function(e,t,r){var n=this,i=t,o=0,s=0;e.upload.onprogress=function(e){if(i&&(i=n.get(i),e.lengthComputable&&i&&i.fileObject&&i.active)){var t=Math.round(Date.now()/1e3);t!==o&&(o=t,i=n.update(i,{progress:(e.loaded/e.total*100).toFixed(2),speed:e.loaded-s}),s=e.loaded)}};var a=window.setInterval((function(){var t;if(!(i&&(i=n.get(i))&&null!==(t=i)&&void 0!==t&&t.fileObject)||i.success||i.error||!i.active){a&&(clearInterval(a),a=void 0);try{e.abort(),e.timeout=1}catch(e){}}}),100);return new Promise((function(t,o){if(i){var s,u=function(r){if(!s){if(s=!0,a&&(clearInterval(a),a=void 0),!i)return o(new Error("not_exists"));if(!(i=n.get(i)))return o(new Error("not_exists"));if(!i.fileObject)return o(new Error("file_object"));if(i.error)return i.error instanceof Error?o(i.error):o(new Error(i.error));if(!i.active)return o(new Error("abort"));if(i.success)return t(i);var u={};switch(r.type){case"timeout":case"abort":u.error=r.type;break;case"error":e.status?e.status>=500?u.error="server":e.status>=400&&(u.error="denied"):u.error="network";break;default:e.status>=500?u.error="server":e.status>=400?u.error="denied":u.progress="100.00"}if(e.responseText){var l=e.getResponseHeader("Content-Type");l&&-1!==l.indexOf("/json")?u.response=JSON.parse(e.responseText):u.response=e.responseText}return(i=n.update(i,u))?i.error?i.error instanceof Error?o(i.error):o(new Error(i.error)):t(i):o(new Error("abort"))}};for(var l in e.onload=u,e.onerror=u,e.onabort=u,e.ontimeout=u,i.timeout&&(e.timeout=i.timeout),i.headers)e.setRequestHeader(l,i.headers[l]);(i=n.update(i,{xhr:e}))&&e.send(r)}else o(new Error("not_exists"))}))},uploadHtml4:function(e){var t=this,r=e;if(!r)return Promise.reject(new Error("not_exists"));var n=function(e){27===e.keyCode&&e.preventDefault()},i=document.createElement("iframe");i.id="upload-iframe-"+r.id,i.name="upload-iframe-"+r.id,i.src="about:blank",i.setAttribute("style","width:1px;height:1px;top:-999em;position:absolute; margin-top:-999em;");var o=document.createElement("form");for(var s in o.setAttribute("action",r.postAction||""),o.name="upload-form-"+r.id,o.setAttribute("method","POST"),o.setAttribute("target","upload-iframe-"+r.id),o.setAttribute("enctype","multipart/form-data"),r.data){var a=r.data[s];if(a&&"object"===c(a)&&"function"!=typeof a.toString&&(a=JSON.stringify(a)),null!=a){var u=document.createElement("input");u.type="hidden",u.name=s,u.value=a,o.appendChild(u)}}o.appendChild(r.el),document.body.appendChild(i).appendChild(o);var l=function(){var e,t;try{i.contentWindow&&(t=i.contentWindow.document)}catch(e){}if(!t)try{t=i.contentDocument?i.contentDocument:i.document}catch(e){t=i.document}return null!==(e=t)&&void 0!==e&&e.body?t.body.innerHTML:null};return new Promise((function(e,s){setTimeout((function(){if(r){if(!(r=t.update(r,{iframe:i})))return s(new Error("not_exists"));var a,u=window.setInterval((function(){r&&(r=t.get(r))&&r.fileObject&&!r.success&&!r.error&&r.active||(u&&(clearInterval(u),u=void 0),i.onabort({type:r?"abort":"not_exists"}))}),100),c=function(i){var o;if(!a){if(a=!0,u&&(clearInterval(u),u=void 0),document.body.removeEventListener("keydown",n),!r)return s(new Error("not_exists"));if(!(r=t.get(r)))return s(new Error("not_exists"));if(!r.fileObject)return s(new Error("file_object"));if(r.error)return r.error instanceof Error?s(r.error):s(new Error(r.error));if(!r.active)return s(new Error("abort"));if(r.success)return e(r);var c=l(),f={};if("string"==typeof i)return s(new Error(i));switch(i.type){case"abort":f.error="abort";break;case"error":r.error?f.error=r.error:f.error=null===c?"network":"denied";break;default:r.error?f.error=r.error:null===c?f.error="network":f.progress="100.00"}if(null!==c){if(c&&"{"===c.substr(0,1)&&"}"===c.substr(c.length-1,1))try{c=JSON.parse(c)}catch(e){}f.response=c}return(r=t.update(r,f))?null!==(o=r)&&void 0!==o&&o.error?r.error instanceof Error?s(r.error):s(new Error(r.error)):e(r):s(new Error("not_exists"))}};i.onload=c,i.onerror=c,i.onabort=c,document.body.addEventListener("keydown",n),o.submit()}else s(new Error("not_exists"))}),50)})).then((function(e){var t;return null==i||null===(t=i.parentNode)||void 0===t||t.removeChild(i),e})).catch((function(e){var t;return null==i||null===(t=i.parentNode)||void 0===t||t.removeChild(i),e}))},watchActive:function(e){for(var t,r=0;t=this.files[r];)if(r++,t.fileObject)if(e&&!this.destroy){if(this.uploading>=this.thread||this.uploading&&!this.features.html5)break;t.active||t.error||t.success||this.update(t,{active:!0})}else t.active&&this.update(t,{active:!1});0===this.uploading&&(this.active=!1)},watchDrop:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;if(this.features.drop&&e!==t){if(this.dropElement)try{document.removeEventListener("dragenter",this.onDocumentDragenter,!1),document.removeEventListener("dragleave",this.onDocumentDragleave,!1),document.removeEventListener("dragover",this.onDocumentDragover,!1),document.removeEventListener("drop",this.onDocumentDrop,!1),this.dropElement.removeEventListener("dragover",this.onDragover,!1),this.dropElement.removeEventListener("drop",this.onDrop,!1)}catch(e){}var r=null;if(e)if("string"==typeof e)r=document.querySelector(e)||this.$root.$el.querySelector(e);else if(!0===e){var n,i;(r=this.$parent.$el)&&8!==(null===(n=r)||void 0===n?void 0:n.nodeType)||(r=this.$root.$el)&&8!==(null===(i=r)||void 0===i?void 0:i.nodeType)||(r=document.body)}else r=e;this.dropElement=r,this.dropElement&&(document.addEventListener("dragenter",this.onDocumentDragenter,!1),document.addEventListener("dragleave",this.onDocumentDragleave,!1),document.addEventListener("dragover",this.onDocumentDragover,!1),document.addEventListener("drop",this.onDocumentDrop,!1),this.dropElement.addEventListener("dragover",this.onDragover,!1),this.dropElement.addEventListener("drop",this.onDrop,!1))}},watchDropActive:function(e,t){e!==t&&(this.dropTimeout&&(clearTimeout(this.dropTimeout),this.dropTimeout=null),e&&(this.dropTimeout=setTimeout(this.onDocumentDrop,1e3)))},onDocumentDragenter:function(e){var t,r;if(!this.dropActive&&e.dataTransfer){var n=e.dataTransfer;null!=n&&null!==(t=n.files)&&void 0!==t&&t.length?this.dropActive=!0:n.types?(n.types.indexOf&&-1!==n.types.indexOf("Files")||null!==(r=n.types)&&void 0!==r&&r.contains&&n.types.contains("Files"))&&(this.dropActive=!0):this.dropActive=!0,this.dropActive&&this.watchDropActive(!0)}},onDocumentDragleave:function(e){this.dropActive&&(e.target===e.explicitOriginalTarget||!e.fromElement&&(e.clientX<=0||e.clientY<=0||e.clientX>=window.innerWidth||e.clientY>=window.innerHeight))&&(this.dropActive=!1,this.watchDropActive(!1))},onDocumentDragover:function(){this.watchDropActive(!0)},onDocumentDrop:function(){this.dropActive=!1,this.watchDropActive(!1)},onDragover:function(e){e.preventDefault()},onDrop:function(e){e.preventDefault(),e.dataTransfer&&this.addDataTransfer(e.dataTransfer)},inputOnChange:async function(e){var t=this;if(!(e.target instanceof HTMLInputElement))return Promise.reject(new Error("not HTMLInputElement"));e.target;var r=function(e){return t.reload=!0,t.$nextTick((function(){t.reload=!1})),e};return this.addInputFile(e.target).then(r).catch(r)}}}),E=["for"],O=["name","id","accept","capture","disabled","webkitdirectory","allowdirs","directory","multiple"];function j(t,r,n,i,o,s){return e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(t.className)},[e.renderSlot(t.$slots,"default"),e.createElementVNode("label",{for:t.forId},null,8,E),t.reload?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("input",{key:0,ref:"input",type:"file",name:t.name,id:t.forId,accept:t.accept,capture:t.capture,disabled:t.disabled,webkitdirectory:t.iDirectory,allowdirs:t.iDirectory,directory:t.iDirectory,multiple:t.multiple&&t.features.html5,onChange:r[0]||(r[0]=function(){return t.inputOnChange&&t.inputOnChange.apply(t,arguments)})},null,40,O))],2)}function D(e,t){void 0===t&&(t={});var r=t.insertAt;if(e&&"undefined"!=typeof document){var n=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===r&&n.firstChild?n.insertBefore(i,n.firstChild):n.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}return D("\n.file-uploads {\n overflow: hidden;\n position: relative;\n text-align: center;\n display: inline-block;\n}\n.file-uploads.file-uploads-html4 input,\n.file-uploads.file-uploads-html5 label {\n /* background fix ie click */\n background: #fff;\n opacity: 0;\n font-size: 20em;\n z-index: 1;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n position: absolute;\n width: 100%;\n height: 100%;\n}\n.file-uploads.file-uploads-html5 input,\n.file-uploads.file-uploads-html4 label {\n /* background fix ie click */\n background: rgba(255, 255, 255, 0);\n overflow: hidden;\n position: fixed;\n width: 1px;\n height: 1px;\n z-index: -1;\n opacity: 0;\n}\n"),x.render=j,x}(r.default)}(n),n.exports})); +return function(e,t){e.exports=function(e){function t(e){return o(e)||i(e)||n(e)||r()}function r(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function n(e,t){if(e){if("string"==typeof e)return s(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?s(e,t):void 0}}function i(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function o(e){if(Array.isArray(e))return s(e)}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r=200&&e.status<300){var t;try{t=JSON.parse(e.response)}catch(r){t=e.response}r(t)}else n(e.response)},e.onerror=function(){return n(e.response)},e.send(JSON.stringify(t))}))},b=function(e,t){var r=new FormData;for(var n in t)r.append(n,t[n]);return new Promise((function(t,n){e.onload=function(){if(e.status>=200&&e.status<300){var r;try{r=JSON.parse(e.response)}catch(t){r=e.response}t(r)}else n(e.response)},e.onerror=function(){return n(e.response)},e.send(r)}))};function k(e){var t=y(e);return g(t,e.body)}var w={headers:{},action:"",minSize:1048576,maxActive:3,maxRetries:5,handler:function(){function e(t,r){h(this,e),this.file=t,this.options=r,this.chunks=[],this.sessionId=null,this.chunkSize=null,this.speedInterval=null}return m(e,[{key:"maxRetries",get:function(){return parseInt(this.options.maxRetries,10)}},{key:"maxActiveChunks",get:function(){return parseInt(this.options.maxActive,10)}},{key:"fileType",get:function(){return this.file.type}},{key:"fileSize",get:function(){return this.file.size}},{key:"fileName",get:function(){return this.file.name}},{key:"action",get:function(){return this.options.action||null}},{key:"startBody",get:function(){return this.options.startBody||{}}},{key:"uploadBody",get:function(){return this.options.uploadBody||{}}},{key:"finishBody",get:function(){return this.options.finishBody||{}}},{key:"headers",get:function(){return this.options.headers||{}}},{key:"readyToUpload",get:function(){return!!this.chunks}},{key:"progress",get:function(){var e=this,t=this.chunksUploaded.length/this.chunks.length*100,r=this.chunksUploading.reduce((function(t,r){return t+(0|r.progress)/e.chunks.length}),0);return Math.min(t+r,100)}},{key:"chunksToUpload",get:function(){return this.chunks.filter((function(e){return!e.active&&!e.uploaded}))}},{key:"hasChunksToUpload",get:function(){return this.chunksToUpload.length>0}},{key:"chunksUploading",get:function(){return this.chunks.filter((function(e){return!!e.xhr&&!!e.active}))}},{key:"chunksUploaded",get:function(){return this.chunks.filter((function(e){return!!e.uploaded}))}},{key:"createChunks",value:function(){this.chunks=[];for(var e=0,t=this.chunkSize;e1&&i.length+this.files.length>=this.iMaximum)break;if(i.push(s),1===this.iMaximum)break}}if(i.length){var l;if(1===this.iMaximum&&this.clear(),!0===r||0===r)l=i.concat(this.files);else if(r){var c;(c=l=this.files.concat([])).splice.apply(c,[r,0].concat(t(i)))}else l=this.files.concat(i);this.files=l;var f=0;!0===r||0===r?f=0:r?r>=0?f=r+i.length>this.files.length?this.files.length-i.length:r:(f=this.files.length-i.length+r)<0&&(f=0):f=this.files.length-i.length,i=this.files.slice(f,f+i.length);for(var d=0;d0&&u.length>=a));l++);return Promise.resolve(this.add(u))}return Promise.resolve([])},getFileSystemEntry:function(e){var r=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return new Promise((function(i){var o=r.iMaximum;if(e)if(e instanceof Array){var s=[];!function a(u){var l=e[u];if(!l||o>0&&s.length>=o)return i(s);r.getFileSystemEntry(l,n).then((function(e){s.push.apply(s,t(e)),a(u+1)}))}(0)}else if(e instanceof Blob)i([{id:"",size:e.size,name:n+e.name,type:e.type,file:e}]);else if(e.isFile)e.file((function(e){i([{id:"",size:e.size,name:n+e.name,type:e.type,file:e}])}));else if(e.isDirectory&&r.dropDirectory){var a=e,u=[];r.createDirectory&&u.push({id:"",name:n+a.name,size:0,type:"text/directory",file:new File([],n+a.name,{type:"text/directory"})});var l=a.createReader(),c=function e(){l.readEntries((function(s){!function l(c){return!s[c]&&0===c||o>0&&u.length>=o?i(u):s[c]?void r.getFileSystemEntry(s[c],n+a.name+"/").then((function(e){u.push.apply(u,t(e)),l(c+1)})):e()}(0)}))};c()}else i([]);else i([])}))},replace:function(e,t){var r=this.get(e),n=this.get(t);if(!r||!n||r===n)return!1;var i=this.files.concat([]),o=i.indexOf(r),s=i.indexOf(n);return-1!==o&&-1!==s&&(i[o]=n,i[s]=r,this.files=i,this.emitInput(),!0)},remove:function(e){var t=this.get(e);if(t){if(this.emitFilter(void 0,t))return!1;var r=this.files.concat([]),n=r.indexOf(t);if(-1===n)return console.error("remove",t),!1;r.splice(n,1),this.files=r,delete this.maps[t.id],this.emitInput(),this.emitFile(void 0,t)}return t},update:function(e,t){var r=this.get(e);if(r){var n=u(u({},r),t);if(!r.fileObject||!r.active||n.active||n.error||n.success||(n.error="abort"),this.emitFilter(n,r))return!1;var i=this.files.concat([]),o=i.indexOf(r);return-1===o?(console.error("update",r),!1):(i.splice(o,1,n),this.files=i,n=this.files[o],delete this.maps[r.id],this.maps[n.id]=n,this.emitInput(),this.emitFile(n,r),n)}return!1},emitFilter:function(e,t){var r=!1;return this.$emit("input-filter",e,t,(function(){return r=!(arguments.length>0&&void 0!==arguments[0])||arguments[0]})),r},emitFile:function(e,t){var r,n=this;this.$emit("input-file",e,t),null===(r=e)||void 0===r||!r.fileObject||!e.active||t&&t.active?e&&e.fileObject&&e.active||!t||!t.fileObject||!t.active||this.uploading--:(this.uploading++,this.$nextTick((function(){setTimeout((function(){e&&n.upload(e).then((function(){var t;e&&(e=n.get(e)||void 0),null!==(t=e)&&void 0!==t&&t.fileObject&&n.update(e,{active:!1,success:!e.error})})).catch((function(t){e&&n.update(e,{active:!1,success:!1,error:t.code||t.error||t.message||t})}))}),Math.ceil(50*Math.random()+50))}))),!this.active||Boolean(e)===Boolean(t)&&e.active===t.active||this.watchActive(!0)},emitInput:function(){this.$emit("update:modelValue",this.files)},upload:function(e){var t=this.get(e);if(!t)return Promise.reject(new Error("not_exists"));if(!t.fileObject)return Promise.reject(new Error("file_object"));if(t.error)return t.error instanceof Error?Promise.reject(t.error):Promise.reject(new Error(t.error));if(t.success)return Promise.resolve(t);if(t.name&&this.iExtensions&&"text/directory"!==t.type&&-1===t.name.search(this.iExtensions))return Promise.reject(new Error("extension"));if(this.size>0&&void 0!==t.size&&t.size>=0&&t.size>this.size&&"text/directory"!==t.type)return Promise.reject(new Error("size"));if(this.customAction)return this.customAction(t,this);if(this.features.html5){if(this.shouldUseChunkUpload(t))return this.uploadChunk(t);if(t.putAction)return this.uploadPut(t);if(t.postAction)return this.uploadHtml5(t)}return t.postAction?this.uploadHtml4(t):Promise.reject(new Error("No action configured"))},shouldUseChunkUpload:function(e){return this.chunkEnabled&&!!this.chunkOptions.handler&&e.size&&e.size>this.chunkOptions.minSize},uploadChunk:function(e){var t=this.chunkOptions.handler;return e.chunk=new t(e,this.chunkOptions),e.chunk.upload().then((function(t){return e}))},uploadPut:function(e){var t,r=[];for(var n in e.data)null!=(t=e.data[n])&&r.push(encodeURIComponent(n)+"="+encodeURIComponent(t));var i=e.putAction||"",o=r.length?(-1===i.indexOf("?")?"?":"&")+r.join("&"):"",s=new XMLHttpRequest;return s.open("PUT",i+o),this.uploadXhr(s,e,e.file)},uploadHtml5:function(e){var t,r=new window.FormData;for(var n in e.data)(t=e.data[n])&&"object"===c(t)&&"function"!=typeof t.toString?t instanceof File?r.append(n,t,t.name):r.append(n,JSON.stringify(t)):null!=t&&r.append(n,t);r.append(this.name,e.file,e.name||e.file.name||e.file.filename);var i=new XMLHttpRequest;return i.open("POST",e.postAction||""),this.uploadXhr(i,e,r)},uploadXhr:function(e,t,r){var n=this,i=t,o=0,s=0;e.upload.onprogress=function(e){if(i&&(i=n.get(i),e.lengthComputable&&i&&i.fileObject&&i.active)){var t=Math.round(Date.now()/1e3);t!==o&&(o=t,i=n.update(i,{progress:(e.loaded/e.total*100).toFixed(2),speed:e.loaded-s}),s=e.loaded)}};var a=window.setInterval((function(){var t;if(!(i&&(i=n.get(i))&&null!==(t=i)&&void 0!==t&&t.fileObject)||i.success||i.error||!i.active){a&&(clearInterval(a),a=void 0);try{e.abort(),e.timeout=1}catch(e){}}}),100);return new Promise((function(t,o){if(i){var s,u=function(r){if(!s){if(s=!0,a&&(clearInterval(a),a=void 0),!i)return o(new Error("not_exists"));if(!(i=n.get(i)))return o(new Error("not_exists"));if(!i.fileObject)return o(new Error("file_object"));if(i.error)return i.error instanceof Error?o(i.error):o(new Error(i.error));if(!i.active)return o(new Error("abort"));if(i.success)return t(i);var u={};switch(r.type){case"timeout":case"abort":u.error=r.type;break;case"error":e.status?e.status>=500?u.error="server":e.status>=400&&(u.error="denied"):u.error="network";break;default:e.status>=500?u.error="server":e.status>=400?u.error="denied":u.progress="100.00"}if(e.responseText){var l=e.getResponseHeader("Content-Type");l&&-1!==l.indexOf("/json")?u.response=JSON.parse(e.responseText):u.response=e.responseText}return(i=n.update(i,u))?i.error?i.error instanceof Error?o(i.error):o(new Error(i.error)):t(i):o(new Error("abort"))}};for(var l in e.onload=u,e.onerror=u,e.onabort=u,e.ontimeout=u,i.timeout&&(e.timeout=i.timeout),i.headers)e.setRequestHeader(l,i.headers[l]);(i=n.update(i,{xhr:e}))&&e.send(r)}else o(new Error("not_exists"))}))},uploadHtml4:function(e){var t=this,r=e;if(!r)return Promise.reject(new Error("not_exists"));var n=function(e){27===e.keyCode&&e.preventDefault()},i=document.createElement("iframe");i.id="upload-iframe-"+r.id,i.name="upload-iframe-"+r.id,i.src="about:blank",i.setAttribute("style","width:1px;height:1px;top:-999em;position:absolute; margin-top:-999em;");var o=document.createElement("form");for(var s in o.setAttribute("action",r.postAction||""),o.name="upload-form-"+r.id,o.setAttribute("method","POST"),o.setAttribute("target","upload-iframe-"+r.id),o.setAttribute("enctype","multipart/form-data"),r.data){var a=r.data[s];if(a&&"object"===c(a)&&"function"!=typeof a.toString&&(a=JSON.stringify(a)),null!=a){var u=document.createElement("input");u.type="hidden",u.name=s,u.value=a,o.appendChild(u)}}o.appendChild(r.el),document.body.appendChild(i).appendChild(o);var l=function(){var e,t;try{i.contentWindow&&(t=i.contentWindow.document)}catch(e){}if(!t)try{t=i.contentDocument?i.contentDocument:i.document}catch(e){t=i.document}return null!==(e=t)&&void 0!==e&&e.body?t.body.innerHTML:null};return new Promise((function(e,s){setTimeout((function(){if(r){if(!(r=t.update(r,{iframe:i})))return s(new Error("not_exists"));var a,u=window.setInterval((function(){r&&(r=t.get(r))&&r.fileObject&&!r.success&&!r.error&&r.active||(u&&(clearInterval(u),u=void 0),i.onabort({type:r?"abort":"not_exists"}))}),100),c=function(i){var o;if(!a){if(a=!0,u&&(clearInterval(u),u=void 0),document.body.removeEventListener("keydown",n),!r)return s(new Error("not_exists"));if(!(r=t.get(r)))return s(new Error("not_exists"));if(!r.fileObject)return s(new Error("file_object"));if(r.error)return r.error instanceof Error?s(r.error):s(new Error(r.error));if(!r.active)return s(new Error("abort"));if(r.success)return e(r);var c=l(),f={};if("string"==typeof i)return s(new Error(i));switch(i.type){case"abort":f.error="abort";break;case"error":r.error?f.error=r.error:f.error=null===c?"network":"denied";break;default:r.error?f.error=r.error:null===c?f.error="network":f.progress="100.00"}if(null!==c){if(c&&"{"===c.substr(0,1)&&"}"===c.substr(c.length-1,1))try{c=JSON.parse(c)}catch(e){}f.response=c}return(r=t.update(r,f))?null!==(o=r)&&void 0!==o&&o.error?r.error instanceof Error?s(r.error):s(new Error(r.error)):e(r):s(new Error("not_exists"))}};i.onload=c,i.onerror=c,i.onabort=c,document.body.addEventListener("keydown",n),o.submit()}else s(new Error("not_exists"))}),50)})).then((function(e){var t;return null==i||null===(t=i.parentNode)||void 0===t||t.removeChild(i),e})).catch((function(e){var t;return null==i||null===(t=i.parentNode)||void 0===t||t.removeChild(i),e}))},watchActive:function(e){for(var t,r=0;t=this.files[r];)if(r++,t.fileObject)if(e&&!this.destroy){if(this.uploading>=this.thread||this.uploading&&!this.features.html5)break;t.active||t.error||t.success||this.update(t,{active:!0})}else t.active&&this.update(t,{active:!1});0===this.uploading&&(this.active=!1)},watchDrop:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;if(this.features.drop&&e!==t){if(this.dropElement)try{document.removeEventListener("dragenter",this.onDocumentDragenter,!1),document.removeEventListener("dragleave",this.onDocumentDragleave,!1),document.removeEventListener("dragover",this.onDocumentDragover,!1),document.removeEventListener("drop",this.onDocumentDrop,!1),this.dropElement.removeEventListener("dragover",this.onDragover,!1),this.dropElement.removeEventListener("drop",this.onDrop,!1)}catch(e){}var r=null;if(e)if("string"==typeof e)r=document.querySelector(e)||this.$root.$el.querySelector(e);else if(!0===e){var n,i;(r=this.$parent.$el)&&8!==(null===(n=r)||void 0===n?void 0:n.nodeType)||(r=this.$root.$el)&&8!==(null===(i=r)||void 0===i?void 0:i.nodeType)||(r=document.body)}else r=e;this.dropElement=r,this.dropElement&&(document.addEventListener("dragenter",this.onDocumentDragenter,!1),document.addEventListener("dragleave",this.onDocumentDragleave,!1),document.addEventListener("dragover",this.onDocumentDragover,!1),document.addEventListener("drop",this.onDocumentDrop,!1),this.dropElement.addEventListener("dragover",this.onDragover,!1),this.dropElement.addEventListener("drop",this.onDrop,!1))}},watchDropActive:function(e,t){e!==t&&(this.dropTimeout&&(clearTimeout(this.dropTimeout),this.dropTimeout=null),e&&(this.dropTimeout=setTimeout(this.onDocumentDrop,1e3)))},onDocumentDragenter:function(e){var t,r;if(!this.dropActive&&e.dataTransfer){var n=e.dataTransfer;null!=n&&null!==(t=n.files)&&void 0!==t&&t.length?this.dropActive=!0:n.types?(n.types.indexOf&&-1!==n.types.indexOf("Files")||null!==(r=n.types)&&void 0!==r&&r.contains&&n.types.contains("Files"))&&(this.dropActive=!0):this.dropActive=!0,this.dropActive&&this.watchDropActive(!0)}},onDocumentDragleave:function(e){this.dropActive&&(e.target===e.explicitOriginalTarget||!e.fromElement&&(e.clientX<=0||e.clientY<=0||e.clientX>=window.innerWidth||e.clientY>=window.innerHeight))&&(this.dropActive=!1,this.watchDropActive(!1))},onDocumentDragover:function(){this.watchDropActive(!0)},onDocumentDrop:function(){this.dropActive=!1,this.watchDropActive(!1)},onDragover:function(e){e.preventDefault()},onDrop:function(e){e.preventDefault(),e.dataTransfer&&this.addDataTransfer(e.dataTransfer)},inputOnChange:async function(e){var t=this;if(!(e.target instanceof HTMLInputElement))return Promise.reject(new Error("not HTMLInputElement"));e.target;var r=function(e){return t.reload=!0,t.$nextTick((function(){t.reload=!1})),e};return this.addInputFile(e.target).then(r).catch(r)}}}),E=["for"],O=["name","id","accept","capture","disabled","webkitdirectory","allowdirs","directory","multiple"];function j(t,r,n,i,o,s){return e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(t.className)},[e.renderSlot(t.$slots,"default"),e.createElementVNode("label",{for:t.forId},null,8,E),t.reload?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("input",{key:0,ref:"input",type:"file",name:t.name,id:t.forId,accept:t.accept,capture:t.capture,disabled:t.disabled,webkitdirectory:t.iDirectory,allowdirs:t.iDirectory,directory:t.iDirectory,multiple:t.multiple&&t.features.html5,onChange:r[0]||(r[0]=function(){return t.inputOnChange&&t.inputOnChange.apply(t,arguments)})},null,40,O))],2)}function D(e,t){void 0===t&&(t={});var r=t.insertAt;if(e&&"undefined"!=typeof document){var n=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===r&&n.firstChild?n.insertBefore(i,n.firstChild):n.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}return D("\n.file-uploads {\n overflow: hidden;\n position: relative;\n text-align: center;\n display: inline-block;\n}\n.file-uploads.file-uploads-html4 input,\n.file-uploads.file-uploads-html5 label {\n /* background fix ie click */\n background: #fff;\n opacity: 0;\n font-size: 20em;\n z-index: 1;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n position: absolute;\n width: 100%;\n height: 100%;\n}\n.file-uploads.file-uploads-html5 input,\n.file-uploads.file-uploads-html4 label {\n /* background fix ie click */\n background: rgba(255, 255, 255, 0);\n overflow: hidden;\n position: fixed;\n width: 1px;\n height: 1px;\n z-index: -1;\n opacity: 0;\n}\n"),x.render=j,x}(r.default)}(n),n.exports})); //# sourceMappingURL=vue-upload-component.min.js.map diff --git a/dist/vue-upload-component.min.js.map b/dist/vue-upload-component.min.js.map index a517cd3..836981e 100644 --- a/dist/vue-upload-component.min.js.map +++ b/dist/vue-upload-component.min.js.map @@ -1 +1 @@ -{"version":3,"file":"vue-upload-component.min.js","sources":["vue-upload-component.js"],"sourcesContent":["/*!\n Name: vue-upload-component \nComponent URI: https://github.com/lian-yue/vue-upload-component#readme \nVersion: 3.1.5 \nAuthor: LianYue \nLicense: Apache-2.0 \nDescription: Vue.js file upload component, Multi-file upload, Upload directory, Drag upload, Drag the directory, Upload multiple files at the same time, html4 (IE 9), `PUT` method, Customize the filter \n */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('vue')) :\n typeof define === 'function' && define.amd ? define(['vue'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.VueUploadComponent = factory(global.Vue));\n})(this, (function (vue) { 'use strict';\n\n function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\n function _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\n function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\n function _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\n function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\n function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n function _ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\n function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _ownKeys(Object(source), !0).forEach(function (key) { _defineProperty2(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : _ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\n function _defineProperty2(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\n function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n }\n\n function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n }\n\n function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n }\n /**\n * Creates a XHR request\n *\n * @param {Object} options\n */\n\n\n var createRequest = function createRequest(options) {\n var xhr = new XMLHttpRequest();\n xhr.open(options.method || 'GET', options.url);\n xhr.responseType = 'json';\n\n if (options.headers) {\n Object.keys(options.headers).forEach(function (key) {\n xhr.setRequestHeader(key, options.headers[key]);\n });\n }\n\n return xhr;\n };\n /**\n * Sends a XHR request with certain body\n *\n * @param {XMLHttpRequest} xhr\n * @param {Object} body\n */\n\n\n var sendRequest = function sendRequest(xhr, body) {\n return new Promise(function (resolve, reject) {\n xhr.onload = function () {\n if (xhr.status >= 200 && xhr.status < 300) {\n var response;\n\n try {\n response = JSON.parse(xhr.response);\n } catch (err) {\n response = xhr.response;\n }\n\n resolve(response);\n } else {\n reject(xhr.response);\n }\n };\n\n xhr.onerror = function () {\n return reject(xhr.response);\n };\n\n xhr.send(JSON.stringify(body));\n });\n };\n /**\n * Sends a XHR request with certain form data\n *\n * @param {XMLHttpRequest} xhr\n * @param {Object} data\n */\n\n\n var sendFormRequest = function sendFormRequest(xhr, data) {\n var body = new FormData();\n\n for (var name in data) {\n body.append(name, data[name]);\n }\n\n return new Promise(function (resolve, reject) {\n xhr.onload = function () {\n if (xhr.status >= 200 && xhr.status < 300) {\n var response;\n\n try {\n response = JSON.parse(xhr.response);\n } catch (err) {\n response = xhr.response;\n }\n\n resolve(response);\n } else {\n reject(xhr.response);\n }\n };\n\n xhr.onerror = function () {\n return reject(xhr.response);\n };\n\n xhr.send(body);\n });\n };\n /**\n * Creates and sends XHR request\n *\n * @param {Object} options\n *\n * @returns Promise\n */\n\n\n function request(options) {\n var xhr = createRequest(options);\n return sendRequest(xhr, options.body);\n }\n\n var ChunkUploadHandler = /*#__PURE__*/function () {\n /**\n * Constructor\n *\n * @param {File} file\n * @param {Object} options\n */\n function ChunkUploadHandler(file, options) {\n _classCallCheck(this, ChunkUploadHandler);\n\n this.file = file;\n this.options = options;\n this.chunks = [];\n this.sessionId = null;\n this.chunkSize = null;\n this.speedInterval = null;\n }\n /**\n * Gets the max retries from options\n */\n\n\n _createClass(ChunkUploadHandler, [{\n key: \"maxRetries\",\n get: function get() {\n return parseInt(this.options.maxRetries, 10);\n }\n /**\n * Gets the max number of active chunks being uploaded at once from options\n */\n\n }, {\n key: \"maxActiveChunks\",\n get: function get() {\n return parseInt(this.options.maxActive, 10);\n }\n /**\n * Gets the file type\n */\n\n }, {\n key: \"fileType\",\n get: function get() {\n return this.file.type;\n }\n /**\n * Gets the file size\n */\n\n }, {\n key: \"fileSize\",\n get: function get() {\n return this.file.size;\n }\n /**\n * Gets the file name\n */\n\n }, {\n key: \"fileName\",\n get: function get() {\n return this.file.name;\n }\n /**\n * Gets action (url) to upload the file\n */\n\n }, {\n key: \"action\",\n get: function get() {\n return this.options.action || null;\n }\n /**\n * Gets the body to be merged when sending the request in start phase\n */\n\n }, {\n key: \"startBody\",\n get: function get() {\n return this.options.startBody || {};\n }\n /**\n * Gets the body to be merged when sending the request in upload phase\n */\n\n }, {\n key: \"uploadBody\",\n get: function get() {\n return this.options.uploadBody || {};\n }\n /**\n * Gets the body to be merged when sending the request in finish phase\n */\n\n }, {\n key: \"finishBody\",\n get: function get() {\n return this.options.finishBody || {};\n }\n /**\n * Gets the headers of the requests from options\n */\n\n }, {\n key: \"headers\",\n get: function get() {\n return this.options.headers || {};\n }\n /**\n * Whether it's ready to upload files or not\n */\n\n }, {\n key: \"readyToUpload\",\n get: function get() {\n return !!this.chunks;\n }\n /**\n * Gets the progress of the chunk upload\n * - Gets all the completed chunks\n * - Gets the progress of all the chunks that are being uploaded\n */\n\n }, {\n key: \"progress\",\n get: function get() {\n var _this = this;\n\n var completedProgress = this.chunksUploaded.length / this.chunks.length * 100;\n var uploadingProgress = this.chunksUploading.reduce(function (progress, chunk) {\n return progress + (chunk.progress | 0) / _this.chunks.length;\n }, 0);\n return Math.min(completedProgress + uploadingProgress, 100);\n }\n /**\n * Gets all the chunks that are pending to be uploaded\n */\n\n }, {\n key: \"chunksToUpload\",\n get: function get() {\n return this.chunks.filter(function (chunk) {\n return !chunk.active && !chunk.uploaded;\n });\n }\n /**\n * Whether there are chunks to upload or not\n */\n\n }, {\n key: \"hasChunksToUpload\",\n get: function get() {\n return this.chunksToUpload.length > 0;\n }\n /**\n * Gets all the chunks that are uploading\n */\n\n }, {\n key: \"chunksUploading\",\n get: function get() {\n return this.chunks.filter(function (chunk) {\n return !!chunk.xhr && !!chunk.active;\n });\n }\n /**\n * Gets all the chunks that have finished uploading\n */\n\n }, {\n key: \"chunksUploaded\",\n get: function get() {\n return this.chunks.filter(function (chunk) {\n return !!chunk.uploaded;\n });\n }\n /**\n * Creates all the chunks in the initial state\n */\n\n }, {\n key: \"createChunks\",\n value: function createChunks() {\n this.chunks = [];\n var start = 0;\n var end = this.chunkSize;\n\n while (start < this.fileSize) {\n this.chunks.push({\n blob: this.file.file.slice(start, end),\n startOffset: start,\n active: false,\n retries: this.maxRetries\n });\n start = end;\n end = start + this.chunkSize;\n }\n }\n /**\n * Updates the progress of the file with the handler's progress\n */\n\n }, {\n key: \"updateFileProgress\",\n value: function updateFileProgress() {\n this.file.progress = this.progress;\n }\n /**\n * Paues the upload process\n * - Stops all active requests\n * - Sets the file not active\n */\n\n }, {\n key: \"pause\",\n value: function pause() {\n this.file.active = false;\n this.stopChunks();\n }\n /**\n * Stops all the current chunks\n */\n\n }, {\n key: \"stopChunks\",\n value: function stopChunks() {\n this.chunksUploading.forEach(function (chunk) {\n chunk.xhr.abort();\n chunk.active = false;\n });\n this.stopSpeedCalc();\n }\n /**\n * Resumes the file upload\n * - Sets the file active\n * - Starts the following chunks\n */\n\n }, {\n key: \"resume\",\n value: function resume() {\n this.file.active = true;\n this.startChunking();\n }\n /**\n * Starts the file upload\n *\n * @returns Promise\n * - resolve The file was uploaded\n * - reject The file upload failed\n */\n\n }, {\n key: \"upload\",\n value: function upload() {\n var _this2 = this;\n\n this.promise = new Promise(function (resolve, reject) {\n _this2.resolve = resolve;\n _this2.reject = reject;\n });\n this.start();\n return this.promise;\n }\n /**\n * Start phase\n * Sends a request to the backend to initialise the chunks\n */\n\n }, {\n key: \"start\",\n value: function start() {\n var _this3 = this;\n\n request({\n method: 'POST',\n headers: _objectSpread2(_objectSpread2({}, this.headers), {}, {\n 'Content-Type': 'application/json'\n }),\n url: this.action,\n body: Object.assign(this.startBody, {\n phase: 'start',\n mime_type: this.fileType,\n size: this.fileSize,\n name: this.fileName\n })\n }).then(function (res) {\n if (res.status !== 'success') {\n _this3.file.response = res;\n return _this3.reject('server');\n }\n\n _this3.sessionId = res.data.session_id;\n _this3.chunkSize = res.data.end_offset;\n\n _this3.createChunks();\n\n _this3.startChunking();\n }).catch(function (res) {\n _this3.file.response = res;\n\n _this3.reject('server');\n });\n }\n /**\n * Starts to upload chunks\n */\n\n }, {\n key: \"startChunking\",\n value: function startChunking() {\n for (var i = 0; i < this.maxActiveChunks; i++) {\n this.uploadNextChunk();\n }\n\n this.startSpeedCalc();\n }\n /**\n * Uploads the next chunk\n * - Won't do anything if the process is paused\n * - Will start finish phase if there are no more chunks to upload\n */\n\n }, {\n key: \"uploadNextChunk\",\n value: function uploadNextChunk() {\n if (this.file.active) {\n if (this.hasChunksToUpload) {\n return this.uploadChunk(this.chunksToUpload[0]);\n }\n\n if (this.chunksUploading.length === 0) {\n return this.finish();\n }\n }\n }\n /**\n * Uploads a chunk\n * - Sends the chunk to the backend\n * - Sets the chunk as uploaded if everything went well\n * - Decreases the number of retries if anything went wrong\n * - Fails if there are no more retries\n *\n * @param {Object} chunk\n */\n\n }, {\n key: \"uploadChunk\",\n value: function uploadChunk(chunk) {\n var _this4 = this;\n\n chunk.progress = 0;\n chunk.active = true;\n this.updateFileProgress();\n chunk.xhr = createRequest({\n method: 'POST',\n headers: this.headers,\n url: this.action\n });\n chunk.xhr.upload.addEventListener('progress', function (evt) {\n if (evt.lengthComputable) {\n chunk.progress = Math.round(evt.loaded / evt.total * 100);\n }\n }, false);\n sendFormRequest(chunk.xhr, Object.assign(this.uploadBody, {\n phase: 'upload',\n session_id: this.sessionId,\n start_offset: chunk.startOffset,\n chunk: chunk.blob\n })).then(function (res) {\n chunk.active = false;\n\n if (res.status === 'success') {\n chunk.uploaded = true;\n } else {\n if (chunk.retries-- <= 0) {\n _this4.stopChunks();\n\n return _this4.reject('upload');\n }\n }\n\n _this4.uploadNextChunk();\n }).catch(function () {\n chunk.active = false;\n\n if (chunk.retries-- <= 0) {\n _this4.stopChunks();\n\n return _this4.reject('upload');\n }\n\n _this4.uploadNextChunk();\n });\n }\n /**\n * Finish phase\n * Sends a request to the backend to finish the process\n */\n\n }, {\n key: \"finish\",\n value: function finish() {\n var _this5 = this;\n\n this.updateFileProgress();\n this.stopSpeedCalc();\n request({\n method: 'POST',\n headers: _objectSpread2(_objectSpread2({}, this.headers), {}, {\n 'Content-Type': 'application/json'\n }),\n url: this.action,\n body: Object.assign(this.finishBody, {\n phase: 'finish',\n session_id: this.sessionId\n })\n }).then(function (res) {\n _this5.file.response = res;\n\n if (res.status !== 'success') {\n return _this5.reject('server');\n }\n\n _this5.resolve(res);\n }).catch(function (res) {\n _this5.file.response = res;\n\n _this5.reject('server');\n });\n }\n /**\n * Sets an interval to calculate and\n * set upload speed every 3 seconds\n */\n\n }, {\n key: \"startSpeedCalc\",\n value: function startSpeedCalc() {\n var _this6 = this;\n\n this.file.speed = 0;\n var lastUploadedBytes = 0;\n\n if (!this.speedInterval) {\n this.speedInterval = window.setInterval(function () {\n var uploadedBytes = _this6.progress / 100 * _this6.fileSize;\n _this6.file.speed = uploadedBytes - lastUploadedBytes;\n lastUploadedBytes = uploadedBytes;\n }, 1000);\n }\n }\n /**\n * Removes the upload speed interval\n */\n\n }, {\n key: \"stopSpeedCalc\",\n value: function stopSpeedCalc() {\n this.speedInterval && window.clearInterval(this.speedInterval);\n this.speedInterval = null;\n this.file.speed = 0;\n }\n }]);\n\n return ChunkUploadHandler;\n }();\n\n var CHUNK_DEFAULT_OPTIONS = {\n headers: {},\n action: '',\n minSize: 1048576,\n maxActive: 3,\n maxRetries: 5,\n handler: ChunkUploadHandler\n };\n var script = vue.defineComponent({\n props: {\n inputId: {\n type: String\n },\n name: {\n type: String,\n default: 'file'\n },\n accept: {\n type: String\n },\n capture: {},\n disabled: {\n default: false\n },\n multiple: {\n type: Boolean,\n default: false\n },\n maximum: {\n type: Number\n },\n addIndex: {\n type: [Boolean, Number]\n },\n directory: {\n type: Boolean\n },\n createDirectory: {\n type: Boolean,\n default: false\n },\n postAction: {\n type: String\n },\n putAction: {\n type: String\n },\n customAction: {\n type: Function\n },\n headers: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n data: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n timeout: {\n type: Number,\n default: 0\n },\n drop: {\n default: false\n },\n dropDirectory: {\n type: Boolean,\n default: true\n },\n size: {\n type: Number,\n default: 0\n },\n extensions: {\n type: [RegExp, String, Array],\n default: function _default() {\n return [];\n }\n },\n modelValue: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n thread: {\n type: Number,\n default: 1\n },\n // Chunk upload enabled\n chunkEnabled: {\n type: Boolean,\n default: false\n },\n // Chunk upload properties\n chunk: {\n type: Object,\n default: function _default() {\n return CHUNK_DEFAULT_OPTIONS;\n }\n }\n },\n emits: ['update:modelValue', 'input-filter', 'input-file'],\n data: function data() {\n return {\n files: this.modelValue,\n features: {\n html5: true,\n directory: false,\n drop: false\n },\n active: false,\n dropActive: false,\n uploading: 0,\n destroy: false,\n maps: {},\n dropElement: null,\n dropTimeout: null,\n reload: false\n };\n },\n\n /**\r\n * mounted\r\n * @return {[type]} [description]\r\n */\n mounted: function mounted() {\n var _this7 = this;\n\n var input = document.createElement('input');\n input.type = 'file';\n input.multiple = true; // html5 特征\n\n if (window.FormData && input.files) {\n // 上传目录特征\n // @ts-ignore\n if (typeof input.webkitdirectory === 'boolean' || typeof input.directory === 'boolean') {\n this.features.directory = true;\n } // 拖拽特征\n\n\n if (this.features.html5 && typeof input.ondrop !== 'undefined') {\n this.features.drop = true;\n }\n } else {\n this.features.html5 = false;\n } // files 定位缓存\n\n\n this.maps = {};\n\n if (this.files) {\n for (var i = 0; i < this.files.length; i++) {\n var file = this.files[i];\n this.maps[file.id] = file;\n }\n } // @ts-ignore\n\n\n this.$nextTick(function () {\n // 更新下父级\n if (_this7.$parent) {\n _this7.$parent.$forceUpdate(); // 拖拽渲染\n\n\n _this7.$parent.$nextTick(function () {\n _this7.watchDrop(_this7.drop);\n });\n } else {\n // 拖拽渲染\n _this7.watchDrop(_this7.drop);\n }\n });\n },\n\n /**\r\n * beforeUnmount\r\n * @return {[type]} [description]\r\n */\n beforeUnmount: function beforeUnmount() {\n // 已销毁\n this.destroy = true; // 设置成不激活\n\n this.active = false; // 销毁拖拽事件\n\n this.watchDrop(false); // 销毁不激活\n\n this.watchActive(false);\n },\n computed: {\n /**\r\n * uploading 正在上传的线程\r\n * @return {[type]} [description]\r\n */\n\n /**\r\n * uploaded 文件列表是否全部已上传\r\n * @return {[type]} [description]\r\n */\n uploaded: function uploaded() {\n var file;\n\n for (var i = 0; i < this.files.length; i++) {\n file = this.files[i];\n\n if (file.fileObject && !file.error && !file.success) {\n return false;\n }\n }\n\n return true;\n },\n chunkOptions: function chunkOptions() {\n return Object.assign(CHUNK_DEFAULT_OPTIONS, this.chunk);\n },\n className: function className() {\n return ['file-uploads', this.features.html5 ? 'file-uploads-html5' : 'file-uploads-html4', this.features.directory && this.directory ? 'file-uploads-directory' : undefined, this.features.drop && this.drop ? 'file-uploads-drop' : undefined, this.disabled ? 'file-uploads-disabled' : undefined];\n },\n forId: function forId() {\n return this.inputId || this.name;\n },\n iMaximum: function iMaximum() {\n if (this.maximum === undefined) {\n return this.multiple ? 0 : 1;\n }\n\n return this.maximum;\n },\n iExtensions: function iExtensions() {\n if (!this.extensions) {\n return;\n }\n\n if (this.extensions instanceof RegExp) {\n return this.extensions;\n }\n\n if (!this.extensions.length) {\n return;\n }\n\n var exts = [];\n\n if (typeof this.extensions === 'string') {\n exts = this.extensions.split(',');\n } else {\n exts = this.extensions;\n }\n\n exts = exts.map(function (value) {\n return value.trim();\n }).filter(function (value) {\n return value;\n });\n return new RegExp('\\\\.(' + exts.join('|').replace(/\\./g, '\\\\.') + ')$', 'i');\n },\n iDirectory: function iDirectory() {\n if (this.directory && this.features.directory) {\n return true;\n }\n\n return undefined;\n }\n },\n watch: {\n active: function active(_active) {\n this.watchActive(_active);\n },\n dropActive: function dropActive(value) {\n this.watchDropActive(value);\n\n if (this.$parent) {\n this.$parent.$forceUpdate();\n }\n },\n drop: function drop(value) {\n this.watchDrop(value);\n },\n modelValue: function modelValue(files) {\n if (this.files === files) {\n return;\n }\n\n this.files = files;\n var oldMaps = this.maps; // 重写 maps 缓存\n\n this.maps = {};\n\n for (var i = 0; i < this.files.length; i++) {\n var file = this.files[i];\n this.maps[file.id] = file;\n } // add, update\n\n\n for (var key in this.maps) {\n var newFile = this.maps[key];\n var oldFile = oldMaps[key];\n\n if (newFile !== oldFile) {\n this.emitFile(newFile, oldFile);\n }\n } // delete\n\n\n for (var _key in oldMaps) {\n if (!this.maps[_key]) {\n this.emitFile(undefined, oldMaps[_key]);\n }\n }\n }\n },\n methods: {\n newId: function newId() {\n return Math.random().toString(36).substr(2);\n },\n // 清空\n clear: function clear() {\n if (this.files.length) {\n var files = this.files;\n this.files = []; // 定位\n\n this.maps = {}; // 事件\n\n this.emitInput();\n\n for (var i = 0; i < files.length; i++) {\n this.emitFile(undefined, files[i]);\n }\n }\n\n return true;\n },\n // 选择\n get: function get(id) {\n if (!id) {\n return false;\n }\n\n if (_typeof(id) === 'object') {\n return this.maps[id.id || ''] || false;\n }\n\n return this.maps[id] || false;\n },\n // 添加\n add: function add(_files, index) {\n // 不是数组整理成数组\n var files;\n\n if (_files instanceof Array) {\n files = _files;\n } else {\n files = [_files];\n }\n\n if (index === undefined) {\n // eslint-disable-next-line\n index = this.addIndex;\n } // 遍历规范对象\n\n\n var addFiles = [];\n\n for (var i = 0; i < files.length; i++) {\n var file = files[i];\n\n if (this.features.html5 && file instanceof Blob) {\n file = {\n id: '',\n file: file,\n size: file.size,\n // @ts-ignore\n name: file.webkitRelativePath || file.relativePath || file.name || 'unknown',\n type: file.type\n };\n }\n\n file = file;\n var fileObject = false;\n if (file.fileObject === false) ;else if (file.fileObject) {\n fileObject = true;\n } else if (typeof Element !== 'undefined' && file.el instanceof HTMLInputElement) {\n fileObject = true;\n } else if (typeof Blob !== 'undefined' && file.file instanceof Blob) {\n fileObject = true;\n }\n\n if (fileObject) {\n file = _objectSpread(_objectSpread({\n fileObject: true,\n size: -1,\n name: 'Filename',\n type: '',\n active: false,\n error: '',\n success: false,\n putAction: this.putAction,\n postAction: this.postAction,\n timeout: this.timeout\n }, file), {}, {\n response: {},\n progress: '0.00',\n speed: 0 // 只读\n // file: undefined,\n // xhr: undefined,\n // el: undefined,\n // iframe: undefined,\n\n });\n file.data = _objectSpread(_objectSpread({}, this.data), file.data ? file.data : {});\n file.headers = _objectSpread(_objectSpread({}, this.headers), file.headers ? file.headers : {});\n } // 必须包含 id\n\n\n if (!file.id) {\n file.id = this.newId();\n }\n\n if (this.emitFilter(file, undefined)) {\n continue;\n } // 最大数量限制\n\n\n if (this.iMaximum > 1 && addFiles.length + this.files.length >= this.iMaximum) {\n break;\n }\n\n addFiles.push(file); // 最大数量限制\n\n if (this.iMaximum === 1) {\n break;\n }\n } // 没有文件\n\n\n if (!addFiles.length) {\n return;\n } // 如果是 1 清空\n\n\n if (this.iMaximum === 1) {\n this.clear();\n } // 添加进去 files\n\n\n var newFiles;\n\n if (index === true || index === 0) {\n newFiles = addFiles.concat(this.files);\n } else if (index) {\n var _newFiles;\n\n newFiles = this.files.concat([]);\n\n (_newFiles = newFiles).splice.apply(_newFiles, [index, 0].concat(_toConsumableArray(addFiles)));\n } else {\n newFiles = this.files.concat(addFiles);\n }\n\n this.files = newFiles; // 读取代理后的数据\n\n var index2 = 0;\n\n if (index === true || index === 0) {\n index2 = 0;\n } else if (index) {\n if (index >= 0) {\n if (index + addFiles.length > this.files.length) {\n index2 = this.files.length - addFiles.length;\n } else {\n index2 = index;\n }\n } else {\n index2 = this.files.length - addFiles.length + index;\n\n if (index2 < 0) {\n index2 = 0;\n }\n }\n } else {\n index2 = this.files.length - addFiles.length;\n }\n\n addFiles = this.files.slice(index2, index2 + addFiles.length); // 定位\n\n for (var _i = 0; _i < addFiles.length; _i++) {\n var _file = addFiles[_i];\n this.maps[_file.id] = _file;\n } // 事件\n\n\n this.emitInput();\n\n for (var _i2 = 0; _i2 < addFiles.length; _i2++) {\n this.emitFile(addFiles[_i2], undefined);\n }\n\n return _files instanceof Array ? addFiles : addFiles[0];\n },\n // 添加表单文件\n addInputFile: function addInputFile(el) {\n var _this8 = this;\n\n var files = [];\n this.iMaximum; // @ts-ignore\n\n var entrys = el.webkitEntries || el.entries || undefined;\n\n if (entrys !== null && entrys !== void 0 && entrys.length) {\n return this.getFileSystemEntry(entrys).then(function (files) {\n return _this8.add(files);\n });\n }\n\n if (el.files) {\n for (var i = 0; i < el.files.length; i++) {\n var file = el.files[i];\n files.push({\n id: '',\n size: file.size,\n // @ts-ignore\n name: file.webkitRelativePath || file.relativePath || file.name,\n type: file.type,\n file: file\n });\n }\n } else {\n var names = el.value.replace(/\\\\/g, '/').split('/');\n\n if (!names || !names.length) {\n names = [el.value];\n } // @ts-ignore\n\n\n delete el.__vuex__;\n files.push({\n id: '',\n name: names[names.length - 1],\n el: el\n });\n }\n\n return Promise.resolve(this.add(files));\n },\n // 添加 DataTransfer\n addDataTransfer: function addDataTransfer(dataTransfer) {\n var _dataTransfer$items,\n _this9 = this;\n\n // dataTransfer.items 支持\n if (dataTransfer !== null && dataTransfer !== void 0 && (_dataTransfer$items = dataTransfer.items) !== null && _dataTransfer$items !== void 0 && _dataTransfer$items.length) {\n var entrys = []; // 遍历出所有 dataTransferVueUploadItem\n\n for (var i = 0; i < dataTransfer.items.length; i++) {\n var dataTransferTtem = dataTransfer.items[i];\n var entry = void 0; // @ts-ignore\n\n if (dataTransferTtem.getAsEntry) {\n // @ts-ignore\n entry = dataTransferTtem.getAsEntry() || dataTransferTtem.getAsFile();\n } else if (dataTransferTtem.webkitGetAsEntry) {\n entry = dataTransferTtem.webkitGetAsEntry() || dataTransferTtem.getAsFile();\n } else {\n entry = dataTransferTtem.getAsFile();\n }\n\n if (entry) {\n entrys.push(entry);\n }\n }\n\n return this.getFileSystemEntry(entrys).then(function (files) {\n return _this9.add(files);\n });\n } // dataTransfer.files 支持\n\n\n var maximumValue = this.iMaximum;\n var files = [];\n\n if (dataTransfer.files.length) {\n for (var _i3 = 0; _i3 < dataTransfer.files.length; _i3++) {\n files.push(dataTransfer.files[_i3]);\n\n if (maximumValue > 0 && files.length >= maximumValue) {\n break;\n }\n }\n\n return Promise.resolve(this.add(files));\n }\n\n return Promise.resolve([]);\n },\n // 获得 entrys \n getFileSystemEntry: function getFileSystemEntry(entry) {\n var _this10 = this;\n\n var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n // getFileSystemEntry(entry: any, path = ''): Promise {\n return new Promise(function (resolve) {\n var maximumValue = _this10.iMaximum;\n\n if (!entry) {\n resolve([]);\n return;\n }\n\n if (entry instanceof Array) {\n // 多个\n var uploadFiles = [];\n\n var forEach = function forEach(i) {\n var v = entry[i];\n\n if (!v || maximumValue > 0 && uploadFiles.length >= maximumValue) {\n return resolve(uploadFiles);\n }\n\n _this10.getFileSystemEntry(v, path).then(function (results) {\n uploadFiles.push.apply(uploadFiles, _toConsumableArray(results));\n forEach(i + 1);\n });\n };\n\n forEach(0);\n return;\n }\n\n if (entry instanceof Blob) {\n resolve([{\n id: '',\n size: entry.size,\n // @ts-ignore\n name: path + entry.name,\n type: entry.type,\n file: entry\n }]);\n return;\n }\n\n if (entry.isFile) {\n var fileEntry = entry;\n fileEntry.file(function (file) {\n resolve([{\n id: '',\n size: file.size,\n name: path + file.name,\n type: file.type,\n file: file\n }]);\n });\n return;\n }\n\n if (entry.isDirectory && _this10.dropDirectory) {\n var directoryEntry = entry;\n var _uploadFiles = []; // 目录也要添加到文件列表\n\n if (_this10.createDirectory) {\n _uploadFiles.push({\n id: '',\n name: path + directoryEntry.name,\n size: 0,\n type: 'text/directory',\n file: new File([], path + directoryEntry.name, {\n type: 'text/directory'\n })\n });\n }\n\n var dirReader = directoryEntry.createReader();\n\n var readEntries = function readEntries() {\n dirReader.readEntries(function (entries) {\n var forEach = function forEach(i) {\n if (!entries[i] && i === 0 || maximumValue > 0 && _uploadFiles.length >= maximumValue) {\n return resolve(_uploadFiles);\n }\n\n if (!entries[i]) {\n return readEntries();\n }\n\n _this10.getFileSystemEntry(entries[i], path + directoryEntry.name + '/').then(function (results) {\n _uploadFiles.push.apply(_uploadFiles, _toConsumableArray(results));\n\n forEach(i + 1);\n });\n };\n\n forEach(0);\n });\n };\n\n readEntries();\n return;\n }\n\n resolve([]);\n });\n },\n // 替换\n replace: function replace(id1, id2) {\n var file1 = this.get(id1);\n var file2 = this.get(id2);\n\n if (!file1 || !file2 || file1 === file2) {\n return false;\n }\n\n var files = this.files.concat([]);\n var index1 = files.indexOf(file1);\n var index2 = files.indexOf(file2);\n\n if (index1 === -1 || index2 === -1) {\n return false;\n }\n\n files[index1] = file2;\n files[index2] = file1;\n this.files = files;\n this.emitInput();\n return true;\n },\n // 移除\n remove: function remove(id) {\n var file = this.get(id);\n\n if (file) {\n if (this.emitFilter(undefined, file)) {\n return false;\n }\n\n var files = this.files.concat([]);\n var index = files.indexOf(file);\n\n if (index === -1) {\n console.error('remove', file);\n return false;\n }\n\n files.splice(index, 1);\n this.files = files; // 定位\n\n delete this.maps[file.id]; // 事件\n\n this.emitInput();\n this.emitFile(undefined, file);\n }\n\n return file;\n },\n // 更新\n update: function update(id, data) {\n var file = this.get(id);\n\n if (file) {\n var newFile = _objectSpread(_objectSpread({}, file), data); // 停用必须加上错误\n\n\n if (file.fileObject && file.active && !newFile.active && !newFile.error && !newFile.success) {\n newFile.error = 'abort';\n }\n\n if (this.emitFilter(newFile, file)) {\n return false;\n }\n\n var files = this.files.concat([]);\n var index = files.indexOf(file);\n\n if (index === -1) {\n console.error('update', file);\n return false;\n }\n\n files.splice(index, 1, newFile);\n this.files = files;\n newFile = this.files[index]; // 删除 旧定位 写入 新定位 (已便支持修改id)\n\n delete this.maps[file.id];\n this.maps[newFile.id] = newFile; // 事件\n\n this.emitInput();\n this.emitFile(newFile, file);\n return newFile;\n }\n\n return false;\n },\n // 预处理 事件 过滤器\n emitFilter: function emitFilter(newFile, oldFile) {\n var isPrevent = false;\n this.$emit('input-filter', newFile, oldFile, function () {\n var prevent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n isPrevent = prevent;\n return isPrevent;\n });\n return isPrevent;\n },\n // 处理后 事件 分发\n emitFile: function emitFile(newFile, oldFile) {\n var _newFile,\n _this11 = this;\n\n this.$emit('input-file', newFile, oldFile);\n\n if ((_newFile = newFile) !== null && _newFile !== void 0 && _newFile.fileObject && newFile.active && (!oldFile || !oldFile.active)) {\n this.uploading++; // 激活\n // @ts-ignore\n\n this.$nextTick(function () {\n setTimeout(function () {\n newFile && _this11.upload(newFile).then(function () {\n var _newFile2;\n\n if (newFile) {\n // eslint-disable-next-line\n newFile = _this11.get(newFile) || undefined;\n }\n\n if ((_newFile2 = newFile) !== null && _newFile2 !== void 0 && _newFile2.fileObject) {\n _this11.update(newFile, {\n active: false,\n success: !newFile.error\n });\n }\n }).catch(function (e) {\n newFile && _this11.update(newFile, {\n active: false,\n success: false,\n error: e.code || e.error || e.message || e\n });\n });\n }, Math.ceil(Math.random() * 50 + 50));\n });\n } else if ((!newFile || !newFile.fileObject || !newFile.active) && oldFile && oldFile.fileObject && oldFile.active) {\n // 停止\n this.uploading--;\n } // 自动延续激活\n // @ts-ignore\n\n\n if (this.active && (Boolean(newFile) !== Boolean(oldFile) || newFile.active !== oldFile.active)) {\n this.watchActive(true);\n }\n },\n emitInput: function emitInput() {\n this.$emit('update:modelValue', this.files);\n },\n // 上传\n upload: function upload(id) {\n var file = this.get(id); // 被删除\n\n if (!file) {\n return Promise.reject(new Error('not_exists'));\n } // 不是文件对象\n\n\n if (!file.fileObject) {\n return Promise.reject(new Error('file_object'));\n } // 有错误直接响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return Promise.reject(file.error);\n }\n\n return Promise.reject(new Error(file.error));\n } // 已完成直接响应\n\n\n if (file.success) {\n return Promise.resolve(file);\n } // 后缀\n\n\n if (file.name && this.iExtensions && file.type !== \"text/directory\") {\n if (file.name.search(this.iExtensions) === -1) {\n return Promise.reject(new Error('extension'));\n }\n } // 大小\n\n\n if (this.size > 0 && file.size !== undefined && file.size >= 0 && file.size > this.size && file.type !== \"text/directory\") {\n return Promise.reject(new Error('size'));\n }\n\n if (this.customAction) {\n return this.customAction(file, this);\n }\n\n if (this.features.html5) {\n if (this.shouldUseChunkUpload(file)) {\n return this.uploadChunk(file);\n }\n\n if (file.putAction) {\n return this.uploadPut(file);\n }\n\n if (file.postAction) {\n return this.uploadHtml5(file);\n }\n }\n\n if (file.postAction) {\n return this.uploadHtml4(file);\n }\n\n return Promise.reject(new Error('No action configured'));\n },\n\n /**\r\n * Whether this file should be uploaded using chunk upload or not\r\n *\r\n * @param Object file\r\n */\n shouldUseChunkUpload: function shouldUseChunkUpload(file) {\n return this.chunkEnabled && !!this.chunkOptions.handler && file.size && file.size > this.chunkOptions.minSize;\n },\n\n /**\r\n * Upload a file using Chunk method\r\n *\r\n * @param File file\r\n */\n uploadChunk: function uploadChunk(file) {\n var HandlerClass = this.chunkOptions.handler;\n file.chunk = new HandlerClass(file, this.chunkOptions);\n return file.chunk.upload().then(function (res) {\n return file;\n });\n },\n uploadPut: function uploadPut(file) {\n var querys = [];\n var value;\n\n for (var key in file.data) {\n value = file.data[key];\n\n if (value !== null && value !== undefined) {\n querys.push(encodeURIComponent(key) + '=' + encodeURIComponent(value));\n }\n }\n\n var putAction = file.putAction || '';\n var queryString = querys.length ? (putAction.indexOf('?') === -1 ? '?' : '&') + querys.join('&') : '';\n var xhr = new XMLHttpRequest();\n xhr.open('PUT', putAction + queryString);\n return this.uploadXhr(xhr, file, file.file);\n },\n uploadHtml5: function uploadHtml5(file) {\n var form = new window.FormData();\n var value;\n\n for (var key in file.data) {\n value = file.data[key];\n\n if (value && _typeof(value) === 'object' && typeof value.toString !== 'function') {\n if (value instanceof File) {\n form.append(key, value, value.name);\n } else {\n form.append(key, JSON.stringify(value));\n }\n } else if (value !== null && value !== undefined) {\n form.append(key, value);\n }\n } // Moved file.name as the first option to set the filename of the uploaded file, since file.name\n // contains the full (relative) path of the file not just the filename as in file.file.filename\n // @ts-ignore\n\n\n form.append(this.name, file.file, file.name || file.file.name || file.file.filename);\n var xhr = new XMLHttpRequest();\n xhr.open('POST', file.postAction || '');\n return this.uploadXhr(xhr, file, form);\n },\n uploadXhr: function uploadXhr(xhr, ufile, body) {\n var _this12 = this;\n\n var file = ufile;\n var speedTime = 0;\n var speedLoaded = 0; // 进度条\n\n xhr.upload.onprogress = function (e) {\n // 还未开始上传 已删除 未激活\n if (!file) {\n return;\n }\n\n file = _this12.get(file);\n\n if (!e.lengthComputable || !file || !file.fileObject || !file.active) {\n return;\n } // 进度 速度 每秒更新一次\n\n\n var speedTime2 = Math.round(Date.now() / 1000);\n\n if (speedTime2 === speedTime) {\n return;\n }\n\n speedTime = speedTime2;\n file = _this12.update(file, {\n progress: (e.loaded / e.total * 100).toFixed(2),\n speed: e.loaded - speedLoaded\n });\n speedLoaded = e.loaded;\n }; // 检查激活状态\n\n\n var interval = window.setInterval(function () {\n if (file) {\n if (file = _this12.get(file)) {\n var _file2;\n\n if ((_file2 = file) !== null && _file2 !== void 0 && _file2.fileObject && !file.success && !file.error && file.active) {\n return;\n }\n }\n }\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n }\n\n try {\n xhr.abort();\n xhr.timeout = 1;\n } catch (e) {}\n }, 100);\n return new Promise(function (resolve, reject) {\n if (!file) {\n reject(new Error('not_exists'));\n return;\n }\n\n var complete;\n\n var fn = function fn(e) {\n // 已经处理过了\n if (complete) {\n return;\n }\n\n complete = true;\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n }\n\n if (!file) {\n return reject(new Error('not_exists'));\n }\n\n file = _this12.get(file); // 不存在直接响应\n\n if (!file) {\n return reject(new Error('not_exists'));\n } // 不是文件对象\n\n\n if (!file.fileObject) {\n return reject(new Error('file_object'));\n } // 有错误自动响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 未激活\n\n\n if (!file.active) {\n return reject(new Error('abort'));\n } // 已完成 直接相应\n\n\n if (file.success) {\n return resolve(file);\n }\n\n var data = {};\n\n switch (e.type) {\n case 'timeout':\n case 'abort':\n data.error = e.type;\n break;\n\n case 'error':\n if (!xhr.status) {\n data.error = 'network';\n } else if (xhr.status >= 500) {\n data.error = 'server';\n } else if (xhr.status >= 400) {\n data.error = 'denied';\n }\n\n break;\n\n default:\n if (xhr.status >= 500) {\n data.error = 'server';\n } else if (xhr.status >= 400) {\n data.error = 'denied';\n } else {\n data.progress = '100.00';\n }\n\n }\n\n if (xhr.responseText) {\n var contentType = xhr.getResponseHeader('Content-Type');\n\n if (contentType && contentType.indexOf('/json') !== -1) {\n data.response = JSON.parse(xhr.responseText);\n } else {\n data.response = xhr.responseText;\n }\n } // 更新\n // @ts-ignore\n\n\n file = _this12.update(file, data);\n\n if (!file) {\n return reject(new Error('abort'));\n } // 有错误自动响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 响应\n\n\n return resolve(file);\n }; // 事件\n\n\n xhr.onload = fn;\n xhr.onerror = fn;\n xhr.onabort = fn;\n xhr.ontimeout = fn; // 超时\n\n if (file.timeout) {\n xhr.timeout = file.timeout;\n } // headers\n\n\n for (var key in file.headers) {\n xhr.setRequestHeader(key, file.headers[key]);\n } // 更新 xhr\n // @ts-ignore\n\n\n file = _this12.update(file, {\n xhr: xhr\n }); // 开始上传\n\n file && xhr.send(body);\n });\n },\n uploadHtml4: function uploadHtml4(ufile) {\n var _this13 = this;\n\n var file = ufile;\n\n if (!file) {\n return Promise.reject(new Error('not_exists'));\n }\n\n var onKeydown = function onKeydown(e) {\n if (e.keyCode === 27) {\n e.preventDefault();\n }\n };\n\n var iframe = document.createElement('iframe');\n iframe.id = 'upload-iframe-' + file.id;\n iframe.name = 'upload-iframe-' + file.id;\n iframe.src = 'about:blank';\n iframe.setAttribute('style', 'width:1px;height:1px;top:-999em;position:absolute; margin-top:-999em;');\n var form = document.createElement('form');\n form.setAttribute('action', file.postAction || '');\n form.name = 'upload-form-' + file.id;\n form.setAttribute('method', 'POST');\n form.setAttribute('target', 'upload-iframe-' + file.id);\n form.setAttribute('enctype', 'multipart/form-data');\n\n for (var key in file.data) {\n var value = file.data[key];\n\n if (value && _typeof(value) === 'object' && typeof value.toString !== 'function') {\n value = JSON.stringify(value);\n }\n\n if (value !== null && value !== undefined) {\n var el = document.createElement('input');\n el.type = 'hidden';\n el.name = key;\n el.value = value;\n form.appendChild(el);\n }\n }\n\n form.appendChild(file.el);\n document.body.appendChild(iframe).appendChild(form);\n\n var getResponseData = function getResponseData() {\n var _doc;\n\n var doc;\n\n try {\n if (iframe.contentWindow) {\n doc = iframe.contentWindow.document;\n }\n } catch (err) {}\n\n if (!doc) {\n try {\n // @ts-ignore\n doc = iframe.contentDocument ? iframe.contentDocument : iframe.document;\n } catch (err) {\n // @ts-ignore\n doc = iframe.document;\n }\n } // @ts-ignore\n\n\n if ((_doc = doc) !== null && _doc !== void 0 && _doc.body) {\n return doc.body.innerHTML;\n }\n\n return null;\n };\n\n return new Promise(function (resolve, reject) {\n setTimeout(function () {\n if (!file) {\n reject(new Error('not_exists'));\n return;\n }\n\n file = _this13.update(file, {\n iframe: iframe\n }); // 不存在\n\n if (!file) {\n return reject(new Error('not_exists'));\n } // 定时检查\n\n\n var interval = window.setInterval(function () {\n if (file) {\n if (file = _this13.get(file)) {\n if (file.fileObject && !file.success && !file.error && file.active) {\n return;\n }\n }\n }\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n } // @ts-ignore\n\n\n iframe.onabort({\n type: file ? 'abort' : 'not_exists'\n });\n }, 100);\n var complete;\n\n var fn = function fn(e) {\n var _file3;\n\n // 已经处理过了\n if (complete) {\n return;\n }\n\n complete = true;\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n } // 关闭 esc 事件\n\n\n document.body.removeEventListener('keydown', onKeydown);\n\n if (!file) {\n return reject(new Error('not_exists'));\n }\n\n file = _this13.get(file); // 不存在直接响应\n\n if (!file) {\n return reject(new Error('not_exists'));\n } // 不是文件对象\n\n\n if (!file.fileObject) {\n return reject(new Error('file_object'));\n } // 有错误自动响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 未激活\n\n\n if (!file.active) {\n return reject(new Error('abort'));\n } // 已完成 直接相应\n\n\n if (file.success) {\n return resolve(file);\n }\n\n var response = getResponseData();\n var data = {};\n\n if (typeof e === 'string') {\n return reject(new Error(e));\n }\n\n switch (e.type) {\n case 'abort':\n data.error = 'abort';\n break;\n\n case 'error':\n if (file.error) {\n data.error = file.error;\n } else if (response === null) {\n data.error = 'network';\n } else {\n data.error = 'denied';\n }\n\n break;\n\n default:\n if (file.error) {\n data.error = file.error;\n } else if (response === null) {\n data.error = 'network';\n } else {\n data.progress = '100.00';\n }\n\n }\n\n if (response !== null) {\n if (response && response.substr(0, 1) === '{' && response.substr(response.length - 1, 1) === '}') {\n try {\n response = JSON.parse(response);\n } catch (err) {}\n }\n\n data.response = response;\n } // 更新\n\n\n file = _this13.update(file, data);\n\n if (!file) {\n return reject(new Error('not_exists'));\n }\n\n if ((_file3 = file) !== null && _file3 !== void 0 && _file3.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 响应\n\n\n return resolve(file);\n }; // 添加事件\n\n\n iframe.onload = fn;\n iframe.onerror = fn;\n iframe.onabort = fn; // 禁止 esc 键\n\n document.body.addEventListener('keydown', onKeydown); // 提交\n\n form.submit();\n }, 50);\n }).then(function (res) {\n var _iframe$parentNode;\n\n iframe === null || iframe === void 0 ? void 0 : (_iframe$parentNode = iframe.parentNode) === null || _iframe$parentNode === void 0 ? void 0 : _iframe$parentNode.removeChild(iframe);\n return res;\n }).catch(function (res) {\n var _iframe$parentNode2;\n\n iframe === null || iframe === void 0 ? void 0 : (_iframe$parentNode2 = iframe.parentNode) === null || _iframe$parentNode2 === void 0 ? void 0 : _iframe$parentNode2.removeChild(iframe);\n return res;\n });\n },\n watchActive: function watchActive(active) {\n var file;\n var index = 0;\n\n while (file = this.files[index]) {\n index++;\n if (!file.fileObject) ;else if (active && !this.destroy) {\n if (this.uploading >= this.thread || this.uploading && !this.features.html5) {\n break;\n }\n\n if (!file.active && !file.error && !file.success) {\n this.update(file, {\n active: true\n });\n }\n } else {\n if (file.active) {\n this.update(file, {\n active: false\n });\n }\n }\n }\n\n if (this.uploading === 0) {\n this.active = false;\n }\n },\n watchDrop: function watchDrop(newDrop) {\n var oldDrop = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n\n if (!this.features.drop) {\n return;\n }\n\n if (newDrop === oldDrop) {\n return;\n } // 移除挂载\n\n\n if (this.dropElement) {\n try {\n document.removeEventListener('dragenter', this.onDocumentDragenter, false);\n document.removeEventListener('dragleave', this.onDocumentDragleave, false);\n document.removeEventListener('dragover', this.onDocumentDragover, false);\n document.removeEventListener('drop', this.onDocumentDrop, false);\n this.dropElement.removeEventListener('dragover', this.onDragover, false);\n this.dropElement.removeEventListener('drop', this.onDrop, false);\n } catch (e) {}\n }\n\n var el = null;\n if (!newDrop) ;else if (typeof newDrop === 'string') {\n // @ts-ignore\n el = document.querySelector(newDrop) || this.$root.$el.querySelector(newDrop);\n } else if (newDrop === true) {\n var _el;\n\n // @ts-ignore\n el = this.$parent.$el;\n\n if (!el || ((_el = el) === null || _el === void 0 ? void 0 : _el.nodeType) === 8) {\n var _el2;\n\n // @ts-ignore\n el = this.$root.$el;\n\n if (!el || ((_el2 = el) === null || _el2 === void 0 ? void 0 : _el2.nodeType) === 8) {\n el = document.body;\n }\n }\n } else {\n el = newDrop;\n }\n this.dropElement = el;\n\n if (this.dropElement) {\n document.addEventListener('dragenter', this.onDocumentDragenter, false);\n document.addEventListener('dragleave', this.onDocumentDragleave, false);\n document.addEventListener('dragover', this.onDocumentDragover, false);\n document.addEventListener('drop', this.onDocumentDrop, false);\n this.dropElement.addEventListener('dragover', this.onDragover, false);\n this.dropElement.addEventListener('drop', this.onDrop, false);\n }\n },\n watchDropActive: function watchDropActive(newDropActive, oldDropActive) {\n if (newDropActive === oldDropActive) {\n return;\n }\n\n if (this.dropTimeout) {\n clearTimeout(this.dropTimeout);\n this.dropTimeout = null;\n }\n\n if (newDropActive) {\n // @ts-ignore\n this.dropTimeout = setTimeout(this.onDocumentDrop, 1000);\n }\n },\n onDocumentDragenter: function onDocumentDragenter(e) {\n var _dt$files, _dt$types;\n\n if (this.dropActive) {\n return;\n }\n\n if (!e.dataTransfer) {\n return;\n }\n\n var dt = e.dataTransfer;\n\n if (dt !== null && dt !== void 0 && (_dt$files = dt.files) !== null && _dt$files !== void 0 && _dt$files.length) {\n this.dropActive = true;\n } else if (!dt.types) {\n this.dropActive = true;\n } else if (dt.types.indexOf && dt.types.indexOf('Files') !== -1) {\n this.dropActive = true; // @ts-ignore\n } else if ((_dt$types = dt.types) !== null && _dt$types !== void 0 && _dt$types.contains && dt.types.contains('Files')) {\n this.dropActive = true;\n }\n\n if (this.dropActive) {\n this.watchDropActive(true);\n }\n },\n onDocumentDragleave: function onDocumentDragleave(e) {\n if (!this.dropActive) {\n return;\n } // @ts-ignore\n\n\n if (e.target === e.explicitOriginalTarget || !e.fromElement && (e.clientX <= 0 || e.clientY <= 0 || e.clientX >= window.innerWidth || e.clientY >= window.innerHeight)) {\n this.dropActive = false;\n this.watchDropActive(false);\n }\n },\n onDocumentDragover: function onDocumentDragover() {\n this.watchDropActive(true);\n },\n onDocumentDrop: function onDocumentDrop() {\n this.dropActive = false;\n this.watchDropActive(false);\n },\n onDragover: function onDragover(e) {\n e.preventDefault();\n },\n onDrop: function onDrop(e) {\n e.preventDefault();\n e.dataTransfer && this.addDataTransfer(e.dataTransfer);\n },\n inputOnChange: async function inputOnChange(e) {\n var _this14 = this;\n\n if (!(e.target instanceof HTMLInputElement)) {\n return Promise.reject(new Error(\"not HTMLInputElement\"));\n }\n\n e.target;\n\n var reinput = function reinput(res) {\n _this14.reload = true; // @ts-ignore\n\n _this14.$nextTick(function () {\n _this14.reload = false;\n });\n\n return res;\n };\n\n return this.addInputFile(e.target).then(reinput).catch(reinput);\n }\n }\n });\n var _hoisted_1 = [\"for\"];\n var _hoisted_2 = [\"name\", \"id\", \"accept\", \"capture\", \"disabled\", \"webkitdirectory\", \"allowdirs\", \"directory\", \"multiple\"];\n\n function render(_ctx, _cache, $props, $setup, $data, $options) {\n return vue.openBlock(), vue.createElementBlock(\"span\", {\n class: vue.normalizeClass(_ctx.className)\n }, [vue.renderSlot(_ctx.$slots, \"default\"), vue.createElementVNode(\"label\", {\n for: _ctx.forId\n }, null, 8, _hoisted_1), !_ctx.reload ? (vue.openBlock(), vue.createElementBlock(\"input\", {\n key: 0,\n ref: \"input\",\n type: \"file\",\n name: _ctx.name,\n id: _ctx.forId,\n accept: _ctx.accept,\n capture: _ctx.capture,\n disabled: _ctx.disabled,\n webkitdirectory: _ctx.iDirectory,\n allowdirs: _ctx.iDirectory,\n directory: _ctx.iDirectory,\n multiple: _ctx.multiple && _ctx.features.html5,\n onChange: _cache[0] || (_cache[0] = function () {\n return _ctx.inputOnChange && _ctx.inputOnChange.apply(_ctx, arguments);\n })\n }, null, 40, _hoisted_2)) : vue.createCommentVNode(\"\", true)], 2);\n }\n\n function styleInject(css, ref) {\n if (ref === void 0) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') {\n return;\n }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n }\n\n var css_248z = \"\\n.file-uploads {\\n overflow: hidden;\\n position: relative;\\n text-align: center;\\n display: inline-block;\\n}\\n.file-uploads.file-uploads-html4 input,\\n.file-uploads.file-uploads-html5 label {\\n /* background fix ie click */\\n background: #fff;\\n opacity: 0;\\n font-size: 20em;\\n z-index: 1;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n position: absolute;\\n width: 100%;\\n height: 100%;\\n}\\n.file-uploads.file-uploads-html5 input,\\n.file-uploads.file-uploads-html4 label {\\n /* background fix ie click */\\n background: rgba(255, 255, 255, 0);\\n overflow: hidden;\\n position: fixed;\\n width: 1px;\\n height: 1px;\\n z-index: -1;\\n opacity: 0;\\n}\\n\";\n styleInject(css_248z);\n script.render = render;\n\n return script;\n\n}));\n//# sourceMappingURL=vue-upload-component.js.map\n"],"names":["module","vue","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","iter","Symbol","iterator","isArray","len","length","i","arr2","_ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","arguments","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","_typeof","ownKeys","_objectSpread2","_defineProperty","_classCallCheck","instance","Constructor","_defineProperties","props","descriptor","_createClass","protoProps","staticProps","createRequest","options","xhr","XMLHttpRequest","open","method","url","responseType","headers","setRequestHeader","sendRequest","body","Promise","resolve","reject","onload","status","response","JSON","parse","err","onerror","send","stringify","sendFormRequest","data","FormData","append","request","CHUNK_DEFAULT_OPTIONS","action","minSize","maxActive","maxRetries","handler","ChunkUploadHandler","file","this","chunks","sessionId","chunkSize","speedInterval","get","parseInt","type","size","startBody","uploadBody","finishBody","_this","completedProgress","chunksUploaded","uploadingProgress","chunksUploading","reduce","progress","chunk","Math","min","active","uploaded","chunksToUpload","start","end","fileSize","blob","startOffset","retries","stopChunks","abort","stopSpeedCalc","startChunking","_this2","promise","_this3","assign","phase","mime_type","fileType","fileName","then","res","session_id","end_offset","createChunks","catch","maxActiveChunks","uploadNextChunk","startSpeedCalc","hasChunksToUpload","uploadChunk","finish","_this4","updateFileProgress","upload","addEventListener","evt","lengthComputable","round","loaded","total","start_offset","_this5","_this6","speed","lastUploadedBytes","window","setInterval","uploadedBytes","clearInterval","script","defineComponent","inputId","String","default","accept","capture","disabled","multiple","Boolean","maximum","Number","addIndex","directory","createDirectory","postAction","putAction","customAction","Function","timeout","drop","dropDirectory","extensions","RegExp","modelValue","thread","chunkEnabled","emits","files","features","html5","dropActive","uploading","destroy","maps","dropElement","dropTimeout","reload","mounted","_this7","input","document","createElement","webkitdirectory","ondrop","id","$nextTick","$parent","$forceUpdate","watchDrop","beforeUnmount","watchActive","computed","fileObject","error","success","chunkOptions","className","undefined","forId","iMaximum","iExtensions","exts","split","map","trim","join","replace","iDirectory","watch","_active","watchDropActive","oldMaps","newFile","oldFile","emitFile","_key","methods","newId","random","substr","clear","emitInput","add","_files","index","addFiles","Blob","webkitRelativePath","relativePath","Element","el","HTMLInputElement","emitFilter","newFiles","concat","_newFiles","splice","index2","_i","_file","_i2","addInputFile","_this8","entrys","webkitEntries","entries","getFileSystemEntry","names","__vuex__","addDataTransfer","dataTransfer","_dataTransfer$items","_this9","items","dataTransferTtem","entry","getAsEntry","getAsFile","webkitGetAsEntry","maximumValue","_i3","_this10","path","uploadFiles","v","results","isFile","isDirectory","directoryEntry","_uploadFiles","File","dirReader","createReader","readEntries","id1","id2","file1","file2","index1","indexOf","remove","console","update","isPrevent","$emit","_newFile","_this11","setTimeout","_newFile2","e","code","message","ceil","Error","search","shouldUseChunkUpload","uploadPut","uploadHtml5","uploadHtml4","HandlerClass","querys","encodeURIComponent","queryString","uploadXhr","form","filename","ufile","_this12","speedTime","speedLoaded","onprogress","speedTime2","Date","now","toFixed","interval","_file2","complete","fn","responseText","contentType","getResponseHeader","onabort","ontimeout","_this13","onKeydown","keyCode","preventDefault","iframe","src","setAttribute","appendChild","getResponseData","_doc","doc","contentWindow","contentDocument","innerHTML","_file3","removeEventListener","submit","_iframe$parentNode","parentNode","removeChild","_iframe$parentNode2","newDrop","oldDrop","onDocumentDragenter","onDocumentDragleave","onDocumentDragover","onDocumentDrop","onDragover","onDrop","querySelector","$root","$el","_el","_el2","nodeType","newDropActive","oldDropActive","clearTimeout","_dt$files","_dt$types","dt","types","contains","explicitOriginalTarget","fromElement","clientX","clientY","innerWidth","innerHeight","inputOnChange","async","_this14","reinput","_hoisted_1","_hoisted_2","render","_ctx","_cache","$props","$setup","$data","$options","openBlock","createElementBlock","class","normalizeClass","renderSlot","$slots","createElementVNode","for","createCommentVNode","ref","allowdirs","onChange","styleInject","css","insertAt","head","getElementsByTagName","style","firstChild","insertBefore","styleSheet","cssText","createTextNode","factory","require$$0"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"vue-upload-component.min.js","sources":["vue-upload-component.js"],"sourcesContent":["/*!\n Name: vue-upload-component \nComponent URI: https://github.com/lian-yue/vue-upload-component#readme \nVersion: 3.1.7 \nAuthor: LianYue \nLicense: Apache-2.0 \nDescription: Vue.js file upload component, Multi-file upload, Upload directory, Drag upload, Drag the directory, Upload multiple files at the same time, html4 (IE 9), `PUT` method, Customize the filter \n */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('vue')) :\n typeof define === 'function' && define.amd ? define(['vue'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.VueUploadComponent = factory(global.Vue));\n})(this, (function (vue) { 'use strict';\n\n function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\n function _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\n function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\n function _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\n function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\n function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n function _ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\n function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _ownKeys(Object(source), !0).forEach(function (key) { _defineProperty2(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : _ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\n function _defineProperty2(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\n function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n }\n\n function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n }\n\n function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n }\n /**\n * Creates a XHR request\n *\n * @param {Object} options\n */\n\n\n var createRequest = function createRequest(options) {\n var xhr = new XMLHttpRequest();\n xhr.open(options.method || 'GET', options.url);\n xhr.responseType = 'json';\n\n if (options.headers) {\n Object.keys(options.headers).forEach(function (key) {\n xhr.setRequestHeader(key, options.headers[key]);\n });\n }\n\n return xhr;\n };\n /**\n * Sends a XHR request with certain body\n *\n * @param {XMLHttpRequest} xhr\n * @param {Object} body\n */\n\n\n var sendRequest = function sendRequest(xhr, body) {\n return new Promise(function (resolve, reject) {\n xhr.onload = function () {\n if (xhr.status >= 200 && xhr.status < 300) {\n var response;\n\n try {\n response = JSON.parse(xhr.response);\n } catch (err) {\n response = xhr.response;\n }\n\n resolve(response);\n } else {\n reject(xhr.response);\n }\n };\n\n xhr.onerror = function () {\n return reject(xhr.response);\n };\n\n xhr.send(JSON.stringify(body));\n });\n };\n /**\n * Sends a XHR request with certain form data\n *\n * @param {XMLHttpRequest} xhr\n * @param {Object} data\n */\n\n\n var sendFormRequest = function sendFormRequest(xhr, data) {\n var body = new FormData();\n\n for (var name in data) {\n body.append(name, data[name]);\n }\n\n return new Promise(function (resolve, reject) {\n xhr.onload = function () {\n if (xhr.status >= 200 && xhr.status < 300) {\n var response;\n\n try {\n response = JSON.parse(xhr.response);\n } catch (err) {\n response = xhr.response;\n }\n\n resolve(response);\n } else {\n reject(xhr.response);\n }\n };\n\n xhr.onerror = function () {\n return reject(xhr.response);\n };\n\n xhr.send(body);\n });\n };\n /**\n * Creates and sends XHR request\n *\n * @param {Object} options\n *\n * @returns Promise\n */\n\n\n function request(options) {\n var xhr = createRequest(options);\n return sendRequest(xhr, options.body);\n }\n\n var ChunkUploadHandler = /*#__PURE__*/function () {\n /**\n * Constructor\n *\n * @param {File} file\n * @param {Object} options\n */\n function ChunkUploadHandler(file, options) {\n _classCallCheck(this, ChunkUploadHandler);\n\n this.file = file;\n this.options = options;\n this.chunks = [];\n this.sessionId = null;\n this.chunkSize = null;\n this.speedInterval = null;\n }\n /**\n * Gets the max retries from options\n */\n\n\n _createClass(ChunkUploadHandler, [{\n key: \"maxRetries\",\n get: function get() {\n return parseInt(this.options.maxRetries, 10);\n }\n /**\n * Gets the max number of active chunks being uploaded at once from options\n */\n\n }, {\n key: \"maxActiveChunks\",\n get: function get() {\n return parseInt(this.options.maxActive, 10);\n }\n /**\n * Gets the file type\n */\n\n }, {\n key: \"fileType\",\n get: function get() {\n return this.file.type;\n }\n /**\n * Gets the file size\n */\n\n }, {\n key: \"fileSize\",\n get: function get() {\n return this.file.size;\n }\n /**\n * Gets the file name\n */\n\n }, {\n key: \"fileName\",\n get: function get() {\n return this.file.name;\n }\n /**\n * Gets action (url) to upload the file\n */\n\n }, {\n key: \"action\",\n get: function get() {\n return this.options.action || null;\n }\n /**\n * Gets the body to be merged when sending the request in start phase\n */\n\n }, {\n key: \"startBody\",\n get: function get() {\n return this.options.startBody || {};\n }\n /**\n * Gets the body to be merged when sending the request in upload phase\n */\n\n }, {\n key: \"uploadBody\",\n get: function get() {\n return this.options.uploadBody || {};\n }\n /**\n * Gets the body to be merged when sending the request in finish phase\n */\n\n }, {\n key: \"finishBody\",\n get: function get() {\n return this.options.finishBody || {};\n }\n /**\n * Gets the headers of the requests from options\n */\n\n }, {\n key: \"headers\",\n get: function get() {\n return this.options.headers || {};\n }\n /**\n * Whether it's ready to upload files or not\n */\n\n }, {\n key: \"readyToUpload\",\n get: function get() {\n return !!this.chunks;\n }\n /**\n * Gets the progress of the chunk upload\n * - Gets all the completed chunks\n * - Gets the progress of all the chunks that are being uploaded\n */\n\n }, {\n key: \"progress\",\n get: function get() {\n var _this = this;\n\n var completedProgress = this.chunksUploaded.length / this.chunks.length * 100;\n var uploadingProgress = this.chunksUploading.reduce(function (progress, chunk) {\n return progress + (chunk.progress | 0) / _this.chunks.length;\n }, 0);\n return Math.min(completedProgress + uploadingProgress, 100);\n }\n /**\n * Gets all the chunks that are pending to be uploaded\n */\n\n }, {\n key: \"chunksToUpload\",\n get: function get() {\n return this.chunks.filter(function (chunk) {\n return !chunk.active && !chunk.uploaded;\n });\n }\n /**\n * Whether there are chunks to upload or not\n */\n\n }, {\n key: \"hasChunksToUpload\",\n get: function get() {\n return this.chunksToUpload.length > 0;\n }\n /**\n * Gets all the chunks that are uploading\n */\n\n }, {\n key: \"chunksUploading\",\n get: function get() {\n return this.chunks.filter(function (chunk) {\n return !!chunk.xhr && !!chunk.active;\n });\n }\n /**\n * Gets all the chunks that have finished uploading\n */\n\n }, {\n key: \"chunksUploaded\",\n get: function get() {\n return this.chunks.filter(function (chunk) {\n return !!chunk.uploaded;\n });\n }\n /**\n * Creates all the chunks in the initial state\n */\n\n }, {\n key: \"createChunks\",\n value: function createChunks() {\n this.chunks = [];\n var start = 0;\n var end = this.chunkSize;\n\n while (start < this.fileSize) {\n this.chunks.push({\n blob: this.file.file.slice(start, end),\n startOffset: start,\n active: false,\n retries: this.maxRetries\n });\n start = end;\n end = start + this.chunkSize;\n }\n }\n /**\n * Updates the progress of the file with the handler's progress\n */\n\n }, {\n key: \"updateFileProgress\",\n value: function updateFileProgress() {\n this.file.progress = this.progress;\n }\n /**\n * Paues the upload process\n * - Stops all active requests\n * - Sets the file not active\n */\n\n }, {\n key: \"pause\",\n value: function pause() {\n this.file.active = false;\n this.stopChunks();\n }\n /**\n * Stops all the current chunks\n */\n\n }, {\n key: \"stopChunks\",\n value: function stopChunks() {\n this.chunksUploading.forEach(function (chunk) {\n chunk.xhr.abort();\n chunk.active = false;\n });\n this.stopSpeedCalc();\n }\n /**\n * Resumes the file upload\n * - Sets the file active\n * - Starts the following chunks\n */\n\n }, {\n key: \"resume\",\n value: function resume() {\n this.file.active = true;\n this.startChunking();\n }\n /**\n * Starts the file upload\n *\n * @returns Promise\n * - resolve The file was uploaded\n * - reject The file upload failed\n */\n\n }, {\n key: \"upload\",\n value: function upload() {\n var _this2 = this;\n\n this.promise = new Promise(function (resolve, reject) {\n _this2.resolve = resolve;\n _this2.reject = reject;\n });\n this.start();\n return this.promise;\n }\n /**\n * Start phase\n * Sends a request to the backend to initialise the chunks\n */\n\n }, {\n key: \"start\",\n value: function start() {\n var _this3 = this;\n\n request({\n method: 'POST',\n headers: _objectSpread2(_objectSpread2({}, this.headers), {}, {\n 'Content-Type': 'application/json'\n }),\n url: this.action,\n body: Object.assign(this.startBody, {\n phase: 'start',\n mime_type: this.fileType,\n size: this.fileSize,\n name: this.fileName\n })\n }).then(function (res) {\n if (res.status !== 'success') {\n _this3.file.response = res;\n return _this3.reject('server');\n }\n\n _this3.sessionId = res.data.session_id;\n _this3.chunkSize = res.data.end_offset;\n\n _this3.createChunks();\n\n _this3.startChunking();\n }).catch(function (res) {\n _this3.file.response = res;\n\n _this3.reject('server');\n });\n }\n /**\n * Starts to upload chunks\n */\n\n }, {\n key: \"startChunking\",\n value: function startChunking() {\n for (var i = 0; i < this.maxActiveChunks; i++) {\n this.uploadNextChunk();\n }\n\n this.startSpeedCalc();\n }\n /**\n * Uploads the next chunk\n * - Won't do anything if the process is paused\n * - Will start finish phase if there are no more chunks to upload\n */\n\n }, {\n key: \"uploadNextChunk\",\n value: function uploadNextChunk() {\n if (this.file.active) {\n if (this.hasChunksToUpload) {\n return this.uploadChunk(this.chunksToUpload[0]);\n }\n\n if (this.chunksUploading.length === 0) {\n return this.finish();\n }\n }\n }\n /**\n * Uploads a chunk\n * - Sends the chunk to the backend\n * - Sets the chunk as uploaded if everything went well\n * - Decreases the number of retries if anything went wrong\n * - Fails if there are no more retries\n *\n * @param {Object} chunk\n */\n\n }, {\n key: \"uploadChunk\",\n value: function uploadChunk(chunk) {\n var _this4 = this;\n\n chunk.progress = 0;\n chunk.active = true;\n this.updateFileProgress();\n chunk.xhr = createRequest({\n method: 'POST',\n headers: this.headers,\n url: this.action\n });\n chunk.xhr.upload.addEventListener('progress', function (evt) {\n if (evt.lengthComputable) {\n chunk.progress = Math.round(evt.loaded / evt.total * 100);\n }\n }, false);\n sendFormRequest(chunk.xhr, Object.assign(this.uploadBody, {\n phase: 'upload',\n session_id: this.sessionId,\n start_offset: chunk.startOffset,\n chunk: chunk.blob\n })).then(function (res) {\n chunk.active = false;\n\n if (res.status === 'success') {\n chunk.uploaded = true;\n } else {\n if (chunk.retries-- <= 0) {\n _this4.stopChunks();\n\n return _this4.reject('upload');\n }\n }\n\n _this4.uploadNextChunk();\n }).catch(function () {\n chunk.active = false;\n\n if (chunk.retries-- <= 0) {\n _this4.stopChunks();\n\n return _this4.reject('upload');\n }\n\n _this4.uploadNextChunk();\n });\n }\n /**\n * Finish phase\n * Sends a request to the backend to finish the process\n */\n\n }, {\n key: \"finish\",\n value: function finish() {\n var _this5 = this;\n\n this.updateFileProgress();\n this.stopSpeedCalc();\n request({\n method: 'POST',\n headers: _objectSpread2(_objectSpread2({}, this.headers), {}, {\n 'Content-Type': 'application/json'\n }),\n url: this.action,\n body: Object.assign(this.finishBody, {\n phase: 'finish',\n session_id: this.sessionId\n })\n }).then(function (res) {\n _this5.file.response = res;\n\n if (res.status !== 'success') {\n return _this5.reject('server');\n }\n\n _this5.resolve(res);\n }).catch(function (res) {\n _this5.file.response = res;\n\n _this5.reject('server');\n });\n }\n /**\n * Sets an interval to calculate and\n * set upload speed every 3 seconds\n */\n\n }, {\n key: \"startSpeedCalc\",\n value: function startSpeedCalc() {\n var _this6 = this;\n\n this.file.speed = 0;\n var lastUploadedBytes = 0;\n\n if (!this.speedInterval) {\n this.speedInterval = window.setInterval(function () {\n var uploadedBytes = _this6.progress / 100 * _this6.fileSize;\n _this6.file.speed = uploadedBytes - lastUploadedBytes;\n lastUploadedBytes = uploadedBytes;\n }, 1000);\n }\n }\n /**\n * Removes the upload speed interval\n */\n\n }, {\n key: \"stopSpeedCalc\",\n value: function stopSpeedCalc() {\n this.speedInterval && window.clearInterval(this.speedInterval);\n this.speedInterval = null;\n this.file.speed = 0;\n }\n }]);\n\n return ChunkUploadHandler;\n }();\n\n var CHUNK_DEFAULT_OPTIONS = {\n headers: {},\n action: '',\n minSize: 1048576,\n maxActive: 3,\n maxRetries: 5,\n handler: ChunkUploadHandler\n };\n var script = vue.defineComponent({\n props: {\n inputId: {\n type: String\n },\n name: {\n type: String,\n default: 'file'\n },\n accept: {\n type: String\n },\n capture: {},\n disabled: {\n default: false\n },\n multiple: {\n type: Boolean,\n default: false\n },\n maximum: {\n type: Number\n },\n addIndex: {\n type: [Boolean, Number]\n },\n directory: {\n type: Boolean\n },\n createDirectory: {\n type: Boolean,\n default: false\n },\n postAction: {\n type: String\n },\n putAction: {\n type: String\n },\n customAction: {\n type: Function\n },\n headers: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n data: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n timeout: {\n type: Number,\n default: 0\n },\n drop: {\n type: [Boolean, String, HTMLElement],\n default: function _default() {\n return false;\n }\n },\n dropDirectory: {\n type: Boolean,\n default: true\n },\n size: {\n type: Number,\n default: 0\n },\n extensions: {\n type: [RegExp, String, Array],\n default: function _default() {\n return [];\n }\n },\n modelValue: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n thread: {\n type: Number,\n default: 1\n },\n // Chunk upload enabled\n chunkEnabled: {\n type: Boolean,\n default: false\n },\n // Chunk upload properties\n chunk: {\n type: Object,\n default: function _default() {\n return CHUNK_DEFAULT_OPTIONS;\n }\n }\n },\n emits: ['update:modelValue', 'input-filter', 'input-file'],\n data: function data() {\n return {\n files: this.modelValue,\n features: {\n html5: true,\n directory: false,\n drop: false\n },\n active: false,\n dropActive: false,\n uploading: 0,\n destroy: false,\n maps: {},\n dropElement: null,\n dropTimeout: null,\n reload: false\n };\n },\n\n /**\r\n * mounted\r\n * @return {[type]} [description]\r\n */\n mounted: function mounted() {\n var _this7 = this;\n\n var input = document.createElement('input');\n input.type = 'file';\n input.multiple = true; // html5 特征\n\n if (window.FormData && input.files) {\n // 上传目录特征\n // @ts-ignore\n if (typeof input.webkitdirectory === 'boolean' || typeof input.directory === 'boolean') {\n this.features.directory = true;\n } // 拖拽特征\n\n\n if (this.features.html5 && typeof input.ondrop !== 'undefined') {\n this.features.drop = true;\n }\n } else {\n this.features.html5 = false;\n } // files 定位缓存\n\n\n this.maps = {};\n\n if (this.files) {\n for (var i = 0; i < this.files.length; i++) {\n var file = this.files[i];\n this.maps[file.id] = file;\n }\n } // @ts-ignore\n\n\n this.$nextTick(function () {\n // 更新下父级\n if (_this7.$parent) {\n _this7.$parent.$forceUpdate(); // 拖拽渲染\n\n\n _this7.$parent.$nextTick(function () {\n _this7.watchDrop(_this7.drop);\n });\n } else {\n // 拖拽渲染\n _this7.watchDrop(_this7.drop);\n }\n });\n },\n\n /**\r\n * beforeUnmount\r\n * @return {[type]} [description]\r\n */\n beforeUnmount: function beforeUnmount() {\n // 已销毁\n this.destroy = true; // 设置成不激活\n\n this.active = false; // 销毁拖拽事件\n\n this.watchDrop(false); // 销毁不激活\n\n this.watchActive(false);\n },\n computed: {\n /**\r\n * uploading 正在上传的线程\r\n * @return {[type]} [description]\r\n */\n\n /**\r\n * uploaded 文件列表是否全部已上传\r\n * @return {[type]} [description]\r\n */\n uploaded: function uploaded() {\n var file;\n\n for (var i = 0; i < this.files.length; i++) {\n file = this.files[i];\n\n if (file.fileObject && !file.error && !file.success) {\n return false;\n }\n }\n\n return true;\n },\n chunkOptions: function chunkOptions() {\n return Object.assign(CHUNK_DEFAULT_OPTIONS, this.chunk);\n },\n className: function className() {\n return ['file-uploads', this.features.html5 ? 'file-uploads-html5' : 'file-uploads-html4', this.features.directory && this.directory ? 'file-uploads-directory' : undefined, this.features.drop && this.drop ? 'file-uploads-drop' : undefined, this.disabled ? 'file-uploads-disabled' : undefined];\n },\n forId: function forId() {\n return this.inputId || this.name;\n },\n iMaximum: function iMaximum() {\n if (this.maximum === undefined) {\n return this.multiple ? 0 : 1;\n }\n\n return this.maximum;\n },\n iExtensions: function iExtensions() {\n if (!this.extensions) {\n return;\n }\n\n if (this.extensions instanceof RegExp) {\n return this.extensions;\n }\n\n if (!this.extensions.length) {\n return;\n }\n\n var exts = [];\n\n if (typeof this.extensions === 'string') {\n exts = this.extensions.split(',');\n } else {\n exts = this.extensions;\n }\n\n exts = exts.map(function (value) {\n return value.trim();\n }).filter(function (value) {\n return value;\n });\n return new RegExp('\\\\.(' + exts.join('|').replace(/\\./g, '\\\\.') + ')$', 'i');\n },\n iDirectory: function iDirectory() {\n if (this.directory && this.features.directory) {\n return true;\n }\n\n return undefined;\n }\n },\n watch: {\n active: function active(_active) {\n this.watchActive(_active);\n },\n dropActive: function dropActive(value) {\n this.watchDropActive(value);\n\n if (this.$parent) {\n this.$parent.$forceUpdate();\n }\n },\n drop: function drop(value) {\n this.watchDrop(value);\n },\n modelValue: function modelValue(files) {\n if (this.files === files) {\n return;\n }\n\n this.files = files;\n var oldMaps = this.maps; // 重写 maps 缓存\n\n this.maps = {};\n\n for (var i = 0; i < this.files.length; i++) {\n var file = this.files[i];\n this.maps[file.id] = file;\n } // add, update\n\n\n for (var key in this.maps) {\n var newFile = this.maps[key];\n var oldFile = oldMaps[key];\n\n if (newFile !== oldFile) {\n this.emitFile(newFile, oldFile);\n }\n } // delete\n\n\n for (var _key in oldMaps) {\n if (!this.maps[_key]) {\n this.emitFile(undefined, oldMaps[_key]);\n }\n }\n }\n },\n methods: {\n newId: function newId() {\n return Math.random().toString(36).substr(2);\n },\n // 清空\n clear: function clear() {\n if (this.files.length) {\n var files = this.files;\n this.files = []; // 定位\n\n this.maps = {}; // 事件\n\n this.emitInput();\n\n for (var i = 0; i < files.length; i++) {\n this.emitFile(undefined, files[i]);\n }\n }\n\n return true;\n },\n // 选择\n get: function get(id) {\n if (!id) {\n return false;\n }\n\n if (_typeof(id) === 'object') {\n return this.maps[id.id || ''] || false;\n }\n\n return this.maps[id] || false;\n },\n // 添加\n add: function add(_files, index) {\n // 不是数组整理成数组\n var files;\n\n if (_files instanceof Array) {\n files = _files;\n } else {\n files = [_files];\n }\n\n if (index === undefined) {\n // eslint-disable-next-line\n index = this.addIndex;\n } // 遍历规范对象\n\n\n var addFiles = [];\n\n for (var i = 0; i < files.length; i++) {\n var file = files[i];\n\n if (this.features.html5 && file instanceof Blob) {\n file = {\n id: '',\n file: file,\n size: file.size,\n // @ts-ignore\n name: file.webkitRelativePath || file.relativePath || file.name || 'unknown',\n type: file.type\n };\n }\n\n file = file;\n var fileObject = false;\n if (file.fileObject === false) ;else if (file.fileObject) {\n fileObject = true;\n } else if (typeof Element !== 'undefined' && file.el instanceof HTMLInputElement) {\n fileObject = true;\n } else if (typeof Blob !== 'undefined' && file.file instanceof Blob) {\n fileObject = true;\n }\n\n if (fileObject) {\n file = _objectSpread(_objectSpread({\n fileObject: true,\n size: -1,\n name: 'Filename',\n type: '',\n active: false,\n error: '',\n success: false,\n putAction: this.putAction,\n postAction: this.postAction,\n timeout: this.timeout\n }, file), {}, {\n response: {},\n progress: '0.00',\n speed: 0 // 只读\n // file: undefined,\n // xhr: undefined,\n // el: undefined,\n // iframe: undefined,\n\n });\n file.data = _objectSpread(_objectSpread({}, this.data), file.data ? file.data : {});\n file.headers = _objectSpread(_objectSpread({}, this.headers), file.headers ? file.headers : {});\n } // 必须包含 id\n\n\n if (!file.id) {\n file.id = this.newId();\n }\n\n if (this.emitFilter(file, undefined)) {\n continue;\n } // 最大数量限制\n\n\n if (this.iMaximum > 1 && addFiles.length + this.files.length >= this.iMaximum) {\n break;\n }\n\n addFiles.push(file); // 最大数量限制\n\n if (this.iMaximum === 1) {\n break;\n }\n } // 没有文件\n\n\n if (!addFiles.length) {\n return;\n } // 如果是 1 清空\n\n\n if (this.iMaximum === 1) {\n this.clear();\n } // 添加进去 files\n\n\n var newFiles;\n\n if (index === true || index === 0) {\n newFiles = addFiles.concat(this.files);\n } else if (index) {\n var _newFiles;\n\n newFiles = this.files.concat([]);\n\n (_newFiles = newFiles).splice.apply(_newFiles, [index, 0].concat(_toConsumableArray(addFiles)));\n } else {\n newFiles = this.files.concat(addFiles);\n }\n\n this.files = newFiles; // 读取代理后的数据\n\n var index2 = 0;\n\n if (index === true || index === 0) {\n index2 = 0;\n } else if (index) {\n if (index >= 0) {\n if (index + addFiles.length > this.files.length) {\n index2 = this.files.length - addFiles.length;\n } else {\n index2 = index;\n }\n } else {\n index2 = this.files.length - addFiles.length + index;\n\n if (index2 < 0) {\n index2 = 0;\n }\n }\n } else {\n index2 = this.files.length - addFiles.length;\n }\n\n addFiles = this.files.slice(index2, index2 + addFiles.length); // 定位\n\n for (var _i = 0; _i < addFiles.length; _i++) {\n var _file = addFiles[_i];\n this.maps[_file.id] = _file;\n } // 事件\n\n\n this.emitInput();\n\n for (var _i2 = 0; _i2 < addFiles.length; _i2++) {\n this.emitFile(addFiles[_i2], undefined);\n }\n\n return _files instanceof Array ? addFiles : addFiles[0];\n },\n // 添加表单文件\n addInputFile: function addInputFile(el) {\n var _this8 = this;\n\n var files = [];\n this.iMaximum; // @ts-ignore\n\n var entrys = el.webkitEntries || el.entries || undefined;\n\n if (entrys !== null && entrys !== void 0 && entrys.length) {\n return this.getFileSystemEntry(entrys).then(function (files) {\n return _this8.add(files);\n });\n }\n\n if (el.files) {\n for (var i = 0; i < el.files.length; i++) {\n var file = el.files[i];\n files.push({\n id: '',\n size: file.size,\n // @ts-ignore\n name: file.webkitRelativePath || file.relativePath || file.name,\n type: file.type,\n file: file\n });\n }\n } else {\n var names = el.value.replace(/\\\\/g, '/').split('/');\n\n if (!names || !names.length) {\n names = [el.value];\n } // @ts-ignore\n\n\n delete el.__vuex__;\n files.push({\n id: '',\n name: names[names.length - 1],\n el: el\n });\n }\n\n return Promise.resolve(this.add(files));\n },\n // 添加 DataTransfer\n addDataTransfer: function addDataTransfer(dataTransfer) {\n var _dataTransfer$items,\n _this9 = this;\n\n // dataTransfer.items 支持\n if (dataTransfer !== null && dataTransfer !== void 0 && (_dataTransfer$items = dataTransfer.items) !== null && _dataTransfer$items !== void 0 && _dataTransfer$items.length) {\n var entrys = []; // 遍历出所有 dataTransferVueUploadItem\n\n for (var i = 0; i < dataTransfer.items.length; i++) {\n var dataTransferTtem = dataTransfer.items[i];\n var entry = void 0; // @ts-ignore\n\n if (dataTransferTtem.getAsEntry) {\n // @ts-ignore\n entry = dataTransferTtem.getAsEntry() || dataTransferTtem.getAsFile();\n } else if (dataTransferTtem.webkitGetAsEntry) {\n entry = dataTransferTtem.webkitGetAsEntry() || dataTransferTtem.getAsFile();\n } else {\n entry = dataTransferTtem.getAsFile();\n }\n\n if (entry) {\n entrys.push(entry);\n }\n }\n\n return this.getFileSystemEntry(entrys).then(function (files) {\n return _this9.add(files);\n });\n } // dataTransfer.files 支持\n\n\n var maximumValue = this.iMaximum;\n var files = [];\n\n if (dataTransfer.files.length) {\n for (var _i3 = 0; _i3 < dataTransfer.files.length; _i3++) {\n files.push(dataTransfer.files[_i3]);\n\n if (maximumValue > 0 && files.length >= maximumValue) {\n break;\n }\n }\n\n return Promise.resolve(this.add(files));\n }\n\n return Promise.resolve([]);\n },\n // 获得 entrys \n getFileSystemEntry: function getFileSystemEntry(entry) {\n var _this10 = this;\n\n var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n // getFileSystemEntry(entry: any, path = ''): Promise {\n return new Promise(function (resolve) {\n var maximumValue = _this10.iMaximum;\n\n if (!entry) {\n resolve([]);\n return;\n }\n\n if (entry instanceof Array) {\n // 多个\n var uploadFiles = [];\n\n var forEach = function forEach(i) {\n var v = entry[i];\n\n if (!v || maximumValue > 0 && uploadFiles.length >= maximumValue) {\n return resolve(uploadFiles);\n }\n\n _this10.getFileSystemEntry(v, path).then(function (results) {\n uploadFiles.push.apply(uploadFiles, _toConsumableArray(results));\n forEach(i + 1);\n });\n };\n\n forEach(0);\n return;\n }\n\n if (entry instanceof Blob) {\n resolve([{\n id: '',\n size: entry.size,\n // @ts-ignore\n name: path + entry.name,\n type: entry.type,\n file: entry\n }]);\n return;\n }\n\n if (entry.isFile) {\n var fileEntry = entry;\n fileEntry.file(function (file) {\n resolve([{\n id: '',\n size: file.size,\n name: path + file.name,\n type: file.type,\n file: file\n }]);\n });\n return;\n }\n\n if (entry.isDirectory && _this10.dropDirectory) {\n var directoryEntry = entry;\n var _uploadFiles = []; // 目录也要添加到文件列表\n\n if (_this10.createDirectory) {\n _uploadFiles.push({\n id: '',\n name: path + directoryEntry.name,\n size: 0,\n type: 'text/directory',\n file: new File([], path + directoryEntry.name, {\n type: 'text/directory'\n })\n });\n }\n\n var dirReader = directoryEntry.createReader();\n\n var readEntries = function readEntries() {\n dirReader.readEntries(function (entries) {\n var forEach = function forEach(i) {\n if (!entries[i] && i === 0 || maximumValue > 0 && _uploadFiles.length >= maximumValue) {\n return resolve(_uploadFiles);\n }\n\n if (!entries[i]) {\n return readEntries();\n }\n\n _this10.getFileSystemEntry(entries[i], path + directoryEntry.name + '/').then(function (results) {\n _uploadFiles.push.apply(_uploadFiles, _toConsumableArray(results));\n\n forEach(i + 1);\n });\n };\n\n forEach(0);\n });\n };\n\n readEntries();\n return;\n }\n\n resolve([]);\n });\n },\n // 替换\n replace: function replace(id1, id2) {\n var file1 = this.get(id1);\n var file2 = this.get(id2);\n\n if (!file1 || !file2 || file1 === file2) {\n return false;\n }\n\n var files = this.files.concat([]);\n var index1 = files.indexOf(file1);\n var index2 = files.indexOf(file2);\n\n if (index1 === -1 || index2 === -1) {\n return false;\n }\n\n files[index1] = file2;\n files[index2] = file1;\n this.files = files;\n this.emitInput();\n return true;\n },\n // 移除\n remove: function remove(id) {\n var file = this.get(id);\n\n if (file) {\n if (this.emitFilter(undefined, file)) {\n return false;\n }\n\n var files = this.files.concat([]);\n var index = files.indexOf(file);\n\n if (index === -1) {\n console.error('remove', file);\n return false;\n }\n\n files.splice(index, 1);\n this.files = files; // 定位\n\n delete this.maps[file.id]; // 事件\n\n this.emitInput();\n this.emitFile(undefined, file);\n }\n\n return file;\n },\n // 更新\n update: function update(id, data) {\n var file = this.get(id);\n\n if (file) {\n var newFile = _objectSpread(_objectSpread({}, file), data); // 停用必须加上错误\n\n\n if (file.fileObject && file.active && !newFile.active && !newFile.error && !newFile.success) {\n newFile.error = 'abort';\n }\n\n if (this.emitFilter(newFile, file)) {\n return false;\n }\n\n var files = this.files.concat([]);\n var index = files.indexOf(file);\n\n if (index === -1) {\n console.error('update', file);\n return false;\n }\n\n files.splice(index, 1, newFile);\n this.files = files;\n newFile = this.files[index]; // 删除 旧定位 写入 新定位 (已便支持修改id)\n\n delete this.maps[file.id];\n this.maps[newFile.id] = newFile; // 事件\n\n this.emitInput();\n this.emitFile(newFile, file);\n return newFile;\n }\n\n return false;\n },\n // 预处理 事件 过滤器\n emitFilter: function emitFilter(newFile, oldFile) {\n var isPrevent = false;\n this.$emit('input-filter', newFile, oldFile, function () {\n var prevent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n isPrevent = prevent;\n return isPrevent;\n });\n return isPrevent;\n },\n // 处理后 事件 分发\n emitFile: function emitFile(newFile, oldFile) {\n var _newFile,\n _this11 = this;\n\n this.$emit('input-file', newFile, oldFile);\n\n if ((_newFile = newFile) !== null && _newFile !== void 0 && _newFile.fileObject && newFile.active && (!oldFile || !oldFile.active)) {\n this.uploading++; // 激活\n // @ts-ignore\n\n this.$nextTick(function () {\n setTimeout(function () {\n newFile && _this11.upload(newFile).then(function () {\n var _newFile2;\n\n if (newFile) {\n // eslint-disable-next-line\n newFile = _this11.get(newFile) || undefined;\n }\n\n if ((_newFile2 = newFile) !== null && _newFile2 !== void 0 && _newFile2.fileObject) {\n _this11.update(newFile, {\n active: false,\n success: !newFile.error\n });\n }\n }).catch(function (e) {\n newFile && _this11.update(newFile, {\n active: false,\n success: false,\n error: e.code || e.error || e.message || e\n });\n });\n }, Math.ceil(Math.random() * 50 + 50));\n });\n } else if ((!newFile || !newFile.fileObject || !newFile.active) && oldFile && oldFile.fileObject && oldFile.active) {\n // 停止\n this.uploading--;\n } // 自动延续激活\n // @ts-ignore\n\n\n if (this.active && (Boolean(newFile) !== Boolean(oldFile) || newFile.active !== oldFile.active)) {\n this.watchActive(true);\n }\n },\n emitInput: function emitInput() {\n this.$emit('update:modelValue', this.files);\n },\n // 上传\n upload: function upload(id) {\n var file = this.get(id); // 被删除\n\n if (!file) {\n return Promise.reject(new Error('not_exists'));\n } // 不是文件对象\n\n\n if (!file.fileObject) {\n return Promise.reject(new Error('file_object'));\n } // 有错误直接响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return Promise.reject(file.error);\n }\n\n return Promise.reject(new Error(file.error));\n } // 已完成直接响应\n\n\n if (file.success) {\n return Promise.resolve(file);\n } // 后缀\n\n\n if (file.name && this.iExtensions && file.type !== \"text/directory\") {\n if (file.name.search(this.iExtensions) === -1) {\n return Promise.reject(new Error('extension'));\n }\n } // 大小\n\n\n if (this.size > 0 && file.size !== undefined && file.size >= 0 && file.size > this.size && file.type !== \"text/directory\") {\n return Promise.reject(new Error('size'));\n }\n\n if (this.customAction) {\n return this.customAction(file, this);\n }\n\n if (this.features.html5) {\n if (this.shouldUseChunkUpload(file)) {\n return this.uploadChunk(file);\n }\n\n if (file.putAction) {\n return this.uploadPut(file);\n }\n\n if (file.postAction) {\n return this.uploadHtml5(file);\n }\n }\n\n if (file.postAction) {\n return this.uploadHtml4(file);\n }\n\n return Promise.reject(new Error('No action configured'));\n },\n\n /**\r\n * Whether this file should be uploaded using chunk upload or not\r\n *\r\n * @param Object file\r\n */\n shouldUseChunkUpload: function shouldUseChunkUpload(file) {\n return this.chunkEnabled && !!this.chunkOptions.handler && file.size && file.size > this.chunkOptions.minSize;\n },\n\n /**\r\n * Upload a file using Chunk method\r\n *\r\n * @param File file\r\n */\n uploadChunk: function uploadChunk(file) {\n var HandlerClass = this.chunkOptions.handler;\n file.chunk = new HandlerClass(file, this.chunkOptions);\n return file.chunk.upload().then(function (res) {\n return file;\n });\n },\n uploadPut: function uploadPut(file) {\n var querys = [];\n var value;\n\n for (var key in file.data) {\n value = file.data[key];\n\n if (value !== null && value !== undefined) {\n querys.push(encodeURIComponent(key) + '=' + encodeURIComponent(value));\n }\n }\n\n var putAction = file.putAction || '';\n var queryString = querys.length ? (putAction.indexOf('?') === -1 ? '?' : '&') + querys.join('&') : '';\n var xhr = new XMLHttpRequest();\n xhr.open('PUT', putAction + queryString);\n return this.uploadXhr(xhr, file, file.file);\n },\n uploadHtml5: function uploadHtml5(file) {\n var form = new window.FormData();\n var value;\n\n for (var key in file.data) {\n value = file.data[key];\n\n if (value && _typeof(value) === 'object' && typeof value.toString !== 'function') {\n if (value instanceof File) {\n form.append(key, value, value.name);\n } else {\n form.append(key, JSON.stringify(value));\n }\n } else if (value !== null && value !== undefined) {\n form.append(key, value);\n }\n } // Moved file.name as the first option to set the filename of the uploaded file, since file.name\n // contains the full (relative) path of the file not just the filename as in file.file.filename\n // @ts-ignore\n\n\n form.append(this.name, file.file, file.name || file.file.name || file.file.filename);\n var xhr = new XMLHttpRequest();\n xhr.open('POST', file.postAction || '');\n return this.uploadXhr(xhr, file, form);\n },\n uploadXhr: function uploadXhr(xhr, ufile, body) {\n var _this12 = this;\n\n var file = ufile;\n var speedTime = 0;\n var speedLoaded = 0; // 进度条\n\n xhr.upload.onprogress = function (e) {\n // 还未开始上传 已删除 未激活\n if (!file) {\n return;\n }\n\n file = _this12.get(file);\n\n if (!e.lengthComputable || !file || !file.fileObject || !file.active) {\n return;\n } // 进度 速度 每秒更新一次\n\n\n var speedTime2 = Math.round(Date.now() / 1000);\n\n if (speedTime2 === speedTime) {\n return;\n }\n\n speedTime = speedTime2;\n file = _this12.update(file, {\n progress: (e.loaded / e.total * 100).toFixed(2),\n speed: e.loaded - speedLoaded\n });\n speedLoaded = e.loaded;\n }; // 检查激活状态\n\n\n var interval = window.setInterval(function () {\n if (file) {\n if (file = _this12.get(file)) {\n var _file2;\n\n if ((_file2 = file) !== null && _file2 !== void 0 && _file2.fileObject && !file.success && !file.error && file.active) {\n return;\n }\n }\n }\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n }\n\n try {\n xhr.abort();\n xhr.timeout = 1;\n } catch (e) {}\n }, 100);\n return new Promise(function (resolve, reject) {\n if (!file) {\n reject(new Error('not_exists'));\n return;\n }\n\n var complete;\n\n var fn = function fn(e) {\n // 已经处理过了\n if (complete) {\n return;\n }\n\n complete = true;\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n }\n\n if (!file) {\n return reject(new Error('not_exists'));\n }\n\n file = _this12.get(file); // 不存在直接响应\n\n if (!file) {\n return reject(new Error('not_exists'));\n } // 不是文件对象\n\n\n if (!file.fileObject) {\n return reject(new Error('file_object'));\n } // 有错误自动响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 未激活\n\n\n if (!file.active) {\n return reject(new Error('abort'));\n } // 已完成 直接相应\n\n\n if (file.success) {\n return resolve(file);\n }\n\n var data = {};\n\n switch (e.type) {\n case 'timeout':\n case 'abort':\n data.error = e.type;\n break;\n\n case 'error':\n if (!xhr.status) {\n data.error = 'network';\n } else if (xhr.status >= 500) {\n data.error = 'server';\n } else if (xhr.status >= 400) {\n data.error = 'denied';\n }\n\n break;\n\n default:\n if (xhr.status >= 500) {\n data.error = 'server';\n } else if (xhr.status >= 400) {\n data.error = 'denied';\n } else {\n data.progress = '100.00';\n }\n\n }\n\n if (xhr.responseText) {\n var contentType = xhr.getResponseHeader('Content-Type');\n\n if (contentType && contentType.indexOf('/json') !== -1) {\n data.response = JSON.parse(xhr.responseText);\n } else {\n data.response = xhr.responseText;\n }\n } // 更新\n // @ts-ignore\n\n\n file = _this12.update(file, data);\n\n if (!file) {\n return reject(new Error('abort'));\n } // 有错误自动响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 响应\n\n\n return resolve(file);\n }; // 事件\n\n\n xhr.onload = fn;\n xhr.onerror = fn;\n xhr.onabort = fn;\n xhr.ontimeout = fn; // 超时\n\n if (file.timeout) {\n xhr.timeout = file.timeout;\n } // headers\n\n\n for (var key in file.headers) {\n xhr.setRequestHeader(key, file.headers[key]);\n } // 更新 xhr\n // @ts-ignore\n\n\n file = _this12.update(file, {\n xhr: xhr\n }); // 开始上传\n\n file && xhr.send(body);\n });\n },\n uploadHtml4: function uploadHtml4(ufile) {\n var _this13 = this;\n\n var file = ufile;\n\n if (!file) {\n return Promise.reject(new Error('not_exists'));\n }\n\n var onKeydown = function onKeydown(e) {\n if (e.keyCode === 27) {\n e.preventDefault();\n }\n };\n\n var iframe = document.createElement('iframe');\n iframe.id = 'upload-iframe-' + file.id;\n iframe.name = 'upload-iframe-' + file.id;\n iframe.src = 'about:blank';\n iframe.setAttribute('style', 'width:1px;height:1px;top:-999em;position:absolute; margin-top:-999em;');\n var form = document.createElement('form');\n form.setAttribute('action', file.postAction || '');\n form.name = 'upload-form-' + file.id;\n form.setAttribute('method', 'POST');\n form.setAttribute('target', 'upload-iframe-' + file.id);\n form.setAttribute('enctype', 'multipart/form-data');\n\n for (var key in file.data) {\n var value = file.data[key];\n\n if (value && _typeof(value) === 'object' && typeof value.toString !== 'function') {\n value = JSON.stringify(value);\n }\n\n if (value !== null && value !== undefined) {\n var el = document.createElement('input');\n el.type = 'hidden';\n el.name = key;\n el.value = value;\n form.appendChild(el);\n }\n }\n\n form.appendChild(file.el);\n document.body.appendChild(iframe).appendChild(form);\n\n var getResponseData = function getResponseData() {\n var _doc;\n\n var doc;\n\n try {\n if (iframe.contentWindow) {\n doc = iframe.contentWindow.document;\n }\n } catch (err) {}\n\n if (!doc) {\n try {\n // @ts-ignore\n doc = iframe.contentDocument ? iframe.contentDocument : iframe.document;\n } catch (err) {\n // @ts-ignore\n doc = iframe.document;\n }\n } // @ts-ignore\n\n\n if ((_doc = doc) !== null && _doc !== void 0 && _doc.body) {\n return doc.body.innerHTML;\n }\n\n return null;\n };\n\n return new Promise(function (resolve, reject) {\n setTimeout(function () {\n if (!file) {\n reject(new Error('not_exists'));\n return;\n }\n\n file = _this13.update(file, {\n iframe: iframe\n }); // 不存在\n\n if (!file) {\n return reject(new Error('not_exists'));\n } // 定时检查\n\n\n var interval = window.setInterval(function () {\n if (file) {\n if (file = _this13.get(file)) {\n if (file.fileObject && !file.success && !file.error && file.active) {\n return;\n }\n }\n }\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n } // @ts-ignore\n\n\n iframe.onabort({\n type: file ? 'abort' : 'not_exists'\n });\n }, 100);\n var complete;\n\n var fn = function fn(e) {\n var _file3;\n\n // 已经处理过了\n if (complete) {\n return;\n }\n\n complete = true;\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n } // 关闭 esc 事件\n\n\n document.body.removeEventListener('keydown', onKeydown);\n\n if (!file) {\n return reject(new Error('not_exists'));\n }\n\n file = _this13.get(file); // 不存在直接响应\n\n if (!file) {\n return reject(new Error('not_exists'));\n } // 不是文件对象\n\n\n if (!file.fileObject) {\n return reject(new Error('file_object'));\n } // 有错误自动响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 未激活\n\n\n if (!file.active) {\n return reject(new Error('abort'));\n } // 已完成 直接相应\n\n\n if (file.success) {\n return resolve(file);\n }\n\n var response = getResponseData();\n var data = {};\n\n if (typeof e === 'string') {\n return reject(new Error(e));\n }\n\n switch (e.type) {\n case 'abort':\n data.error = 'abort';\n break;\n\n case 'error':\n if (file.error) {\n data.error = file.error;\n } else if (response === null) {\n data.error = 'network';\n } else {\n data.error = 'denied';\n }\n\n break;\n\n default:\n if (file.error) {\n data.error = file.error;\n } else if (response === null) {\n data.error = 'network';\n } else {\n data.progress = '100.00';\n }\n\n }\n\n if (response !== null) {\n if (response && response.substr(0, 1) === '{' && response.substr(response.length - 1, 1) === '}') {\n try {\n response = JSON.parse(response);\n } catch (err) {}\n }\n\n data.response = response;\n } // 更新\n\n\n file = _this13.update(file, data);\n\n if (!file) {\n return reject(new Error('not_exists'));\n }\n\n if ((_file3 = file) !== null && _file3 !== void 0 && _file3.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 响应\n\n\n return resolve(file);\n }; // 添加事件\n\n\n iframe.onload = fn;\n iframe.onerror = fn;\n iframe.onabort = fn; // 禁止 esc 键\n\n document.body.addEventListener('keydown', onKeydown); // 提交\n\n form.submit();\n }, 50);\n }).then(function (res) {\n var _iframe$parentNode;\n\n iframe === null || iframe === void 0 ? void 0 : (_iframe$parentNode = iframe.parentNode) === null || _iframe$parentNode === void 0 ? void 0 : _iframe$parentNode.removeChild(iframe);\n return res;\n }).catch(function (res) {\n var _iframe$parentNode2;\n\n iframe === null || iframe === void 0 ? void 0 : (_iframe$parentNode2 = iframe.parentNode) === null || _iframe$parentNode2 === void 0 ? void 0 : _iframe$parentNode2.removeChild(iframe);\n return res;\n });\n },\n watchActive: function watchActive(active) {\n var file;\n var index = 0;\n\n while (file = this.files[index]) {\n index++;\n if (!file.fileObject) ;else if (active && !this.destroy) {\n if (this.uploading >= this.thread || this.uploading && !this.features.html5) {\n break;\n }\n\n if (!file.active && !file.error && !file.success) {\n this.update(file, {\n active: true\n });\n }\n } else {\n if (file.active) {\n this.update(file, {\n active: false\n });\n }\n }\n }\n\n if (this.uploading === 0) {\n this.active = false;\n }\n },\n watchDrop: function watchDrop(newDrop) {\n var oldDrop = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n\n if (!this.features.drop) {\n return;\n }\n\n if (newDrop === oldDrop) {\n return;\n } // 移除挂载\n\n\n if (this.dropElement) {\n try {\n document.removeEventListener('dragenter', this.onDocumentDragenter, false);\n document.removeEventListener('dragleave', this.onDocumentDragleave, false);\n document.removeEventListener('dragover', this.onDocumentDragover, false);\n document.removeEventListener('drop', this.onDocumentDrop, false);\n this.dropElement.removeEventListener('dragover', this.onDragover, false);\n this.dropElement.removeEventListener('drop', this.onDrop, false);\n } catch (e) {}\n }\n\n var el = null;\n if (!newDrop) ;else if (typeof newDrop === 'string') {\n // @ts-ignore\n el = document.querySelector(newDrop) || this.$root.$el.querySelector(newDrop);\n } else if (newDrop === true) {\n var _el;\n\n // @ts-ignore\n el = this.$parent.$el;\n\n if (!el || ((_el = el) === null || _el === void 0 ? void 0 : _el.nodeType) === 8) {\n var _el2;\n\n // @ts-ignore\n el = this.$root.$el;\n\n if (!el || ((_el2 = el) === null || _el2 === void 0 ? void 0 : _el2.nodeType) === 8) {\n el = document.body;\n }\n }\n } else {\n el = newDrop;\n }\n this.dropElement = el;\n\n if (this.dropElement) {\n document.addEventListener('dragenter', this.onDocumentDragenter, false);\n document.addEventListener('dragleave', this.onDocumentDragleave, false);\n document.addEventListener('dragover', this.onDocumentDragover, false);\n document.addEventListener('drop', this.onDocumentDrop, false);\n this.dropElement.addEventListener('dragover', this.onDragover, false);\n this.dropElement.addEventListener('drop', this.onDrop, false);\n }\n },\n watchDropActive: function watchDropActive(newDropActive, oldDropActive) {\n if (newDropActive === oldDropActive) {\n return;\n }\n\n if (this.dropTimeout) {\n clearTimeout(this.dropTimeout);\n this.dropTimeout = null;\n }\n\n if (newDropActive) {\n // @ts-ignore\n this.dropTimeout = setTimeout(this.onDocumentDrop, 1000);\n }\n },\n onDocumentDragenter: function onDocumentDragenter(e) {\n var _dt$files, _dt$types;\n\n if (this.dropActive) {\n return;\n }\n\n if (!e.dataTransfer) {\n return;\n }\n\n var dt = e.dataTransfer;\n\n if (dt !== null && dt !== void 0 && (_dt$files = dt.files) !== null && _dt$files !== void 0 && _dt$files.length) {\n this.dropActive = true;\n } else if (!dt.types) {\n this.dropActive = true;\n } else if (dt.types.indexOf && dt.types.indexOf('Files') !== -1) {\n this.dropActive = true; // @ts-ignore\n } else if ((_dt$types = dt.types) !== null && _dt$types !== void 0 && _dt$types.contains && dt.types.contains('Files')) {\n this.dropActive = true;\n }\n\n if (this.dropActive) {\n this.watchDropActive(true);\n }\n },\n onDocumentDragleave: function onDocumentDragleave(e) {\n if (!this.dropActive) {\n return;\n } // @ts-ignore\n\n\n if (e.target === e.explicitOriginalTarget || !e.fromElement && (e.clientX <= 0 || e.clientY <= 0 || e.clientX >= window.innerWidth || e.clientY >= window.innerHeight)) {\n this.dropActive = false;\n this.watchDropActive(false);\n }\n },\n onDocumentDragover: function onDocumentDragover() {\n this.watchDropActive(true);\n },\n onDocumentDrop: function onDocumentDrop() {\n this.dropActive = false;\n this.watchDropActive(false);\n },\n onDragover: function onDragover(e) {\n e.preventDefault();\n },\n onDrop: function onDrop(e) {\n e.preventDefault();\n e.dataTransfer && this.addDataTransfer(e.dataTransfer);\n },\n inputOnChange: async function inputOnChange(e) {\n var _this14 = this;\n\n if (!(e.target instanceof HTMLInputElement)) {\n return Promise.reject(new Error(\"not HTMLInputElement\"));\n }\n\n e.target;\n\n var reinput = function reinput(res) {\n _this14.reload = true; // @ts-ignore\n\n _this14.$nextTick(function () {\n _this14.reload = false;\n });\n\n return res;\n };\n\n return this.addInputFile(e.target).then(reinput).catch(reinput);\n }\n }\n });\n var _hoisted_1 = [\"for\"];\n var _hoisted_2 = [\"name\", \"id\", \"accept\", \"capture\", \"disabled\", \"webkitdirectory\", \"allowdirs\", \"directory\", \"multiple\"];\n\n function render(_ctx, _cache, $props, $setup, $data, $options) {\n return vue.openBlock(), vue.createElementBlock(\"span\", {\n class: vue.normalizeClass(_ctx.className)\n }, [vue.renderSlot(_ctx.$slots, \"default\"), vue.createElementVNode(\"label\", {\n for: _ctx.forId\n }, null, 8, _hoisted_1), !_ctx.reload ? (vue.openBlock(), vue.createElementBlock(\"input\", {\n key: 0,\n ref: \"input\",\n type: \"file\",\n name: _ctx.name,\n id: _ctx.forId,\n accept: _ctx.accept,\n capture: _ctx.capture,\n disabled: _ctx.disabled,\n webkitdirectory: _ctx.iDirectory,\n allowdirs: _ctx.iDirectory,\n directory: _ctx.iDirectory,\n multiple: _ctx.multiple && _ctx.features.html5,\n onChange: _cache[0] || (_cache[0] = function () {\n return _ctx.inputOnChange && _ctx.inputOnChange.apply(_ctx, arguments);\n })\n }, null, 40, _hoisted_2)) : vue.createCommentVNode(\"\", true)], 2);\n }\n\n function styleInject(css, ref) {\n if (ref === void 0) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') {\n return;\n }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n }\n\n var css_248z = \"\\n.file-uploads {\\n overflow: hidden;\\n position: relative;\\n text-align: center;\\n display: inline-block;\\n}\\n.file-uploads.file-uploads-html4 input,\\n.file-uploads.file-uploads-html5 label {\\n /* background fix ie click */\\n background: #fff;\\n opacity: 0;\\n font-size: 20em;\\n z-index: 1;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n position: absolute;\\n width: 100%;\\n height: 100%;\\n}\\n.file-uploads.file-uploads-html5 input,\\n.file-uploads.file-uploads-html4 label {\\n /* background fix ie click */\\n background: rgba(255, 255, 255, 0);\\n overflow: hidden;\\n position: fixed;\\n width: 1px;\\n height: 1px;\\n z-index: -1;\\n opacity: 0;\\n}\\n\";\n styleInject(css_248z);\n script.render = render;\n\n return script;\n\n}));\n//# sourceMappingURL=vue-upload-component.js.map\n"],"names":["module","vue","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","iter","Symbol","iterator","isArray","len","length","i","arr2","_ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","arguments","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","_typeof","ownKeys","_objectSpread2","_defineProperty","_classCallCheck","instance","Constructor","_defineProperties","props","descriptor","_createClass","protoProps","staticProps","createRequest","options","xhr","XMLHttpRequest","open","method","url","responseType","headers","setRequestHeader","sendRequest","body","Promise","resolve","reject","onload","status","response","JSON","parse","err","onerror","send","stringify","sendFormRequest","data","FormData","append","request","CHUNK_DEFAULT_OPTIONS","action","minSize","maxActive","maxRetries","handler","ChunkUploadHandler","file","this","chunks","sessionId","chunkSize","speedInterval","get","parseInt","type","size","startBody","uploadBody","finishBody","_this","completedProgress","chunksUploaded","uploadingProgress","chunksUploading","reduce","progress","chunk","Math","min","active","uploaded","chunksToUpload","start","end","fileSize","blob","startOffset","retries","stopChunks","abort","stopSpeedCalc","startChunking","_this2","promise","_this3","assign","phase","mime_type","fileType","fileName","then","res","session_id","end_offset","createChunks","catch","maxActiveChunks","uploadNextChunk","startSpeedCalc","hasChunksToUpload","uploadChunk","finish","_this4","updateFileProgress","upload","addEventListener","evt","lengthComputable","round","loaded","total","start_offset","_this5","_this6","speed","lastUploadedBytes","window","setInterval","uploadedBytes","clearInterval","script","defineComponent","inputId","String","default","accept","capture","disabled","multiple","Boolean","maximum","Number","addIndex","directory","createDirectory","postAction","putAction","customAction","Function","timeout","drop","HTMLElement","dropDirectory","extensions","RegExp","modelValue","thread","chunkEnabled","emits","files","features","html5","dropActive","uploading","destroy","maps","dropElement","dropTimeout","reload","mounted","_this7","input","document","createElement","webkitdirectory","ondrop","id","$nextTick","$parent","$forceUpdate","watchDrop","beforeUnmount","watchActive","computed","fileObject","error","success","chunkOptions","className","undefined","forId","iMaximum","iExtensions","exts","split","map","trim","join","replace","iDirectory","watch","_active","watchDropActive","oldMaps","newFile","oldFile","emitFile","_key","methods","newId","random","substr","clear","emitInput","add","_files","index","addFiles","Blob","webkitRelativePath","relativePath","Element","el","HTMLInputElement","emitFilter","newFiles","concat","_newFiles","splice","index2","_i","_file","_i2","addInputFile","_this8","entrys","webkitEntries","entries","getFileSystemEntry","names","__vuex__","addDataTransfer","dataTransfer","_dataTransfer$items","_this9","items","dataTransferTtem","entry","getAsEntry","getAsFile","webkitGetAsEntry","maximumValue","_i3","_this10","path","uploadFiles","v","results","isFile","isDirectory","directoryEntry","_uploadFiles","File","dirReader","createReader","readEntries","id1","id2","file1","file2","index1","indexOf","remove","console","update","isPrevent","$emit","_newFile","_this11","setTimeout","_newFile2","e","code","message","ceil","Error","search","shouldUseChunkUpload","uploadPut","uploadHtml5","uploadHtml4","HandlerClass","querys","encodeURIComponent","queryString","uploadXhr","form","filename","ufile","_this12","speedTime","speedLoaded","onprogress","speedTime2","Date","now","toFixed","interval","_file2","complete","fn","responseText","contentType","getResponseHeader","onabort","ontimeout","_this13","onKeydown","keyCode","preventDefault","iframe","src","setAttribute","appendChild","getResponseData","_doc","doc","contentWindow","contentDocument","innerHTML","_file3","removeEventListener","submit","_iframe$parentNode","parentNode","removeChild","_iframe$parentNode2","newDrop","oldDrop","onDocumentDragenter","onDocumentDragleave","onDocumentDragover","onDocumentDrop","onDragover","onDrop","querySelector","$root","$el","_el","_el2","nodeType","newDropActive","oldDropActive","clearTimeout","_dt$files","_dt$types","dt","types","contains","explicitOriginalTarget","fromElement","clientX","clientY","innerWidth","innerHeight","inputOnChange","async","_this14","reinput","_hoisted_1","_hoisted_2","render","_ctx","_cache","$props","$setup","$data","$options","openBlock","createElementBlock","class","normalizeClass","renderSlot","$slots","createElementVNode","for","createCommentVNode","ref","allowdirs","onChange","styleInject","css","insertAt","head","getElementsByTagName","style","firstChild","insertBefore","styleSheet","cssText","createTextNode","factory","require$$0"],"mappings":"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"} \ No newline at end of file diff --git a/dist/vue-upload-component.part.js b/dist/vue-upload-component.part.js index 56e7386..01933bc 100644 --- a/dist/vue-upload-component.part.js +++ b/dist/vue-upload-component.part.js @@ -1,7 +1,7 @@ /*! Name: vue-upload-component Component URI: https://github.com/lian-yue/vue-upload-component#readme -Version: 3.1.5 +Version: 3.1.7 Author: LianYue License: Apache-2.0 Description: Vue.js file upload component, Multi-file upload, Upload directory, Drag upload, Drag the directory, Upload multiple files at the same time, html4 (IE 9), `PUT` method, Customize the filter @@ -738,7 +738,10 @@ Description: Vue.js file upload component, Multi-file upload, Upload directory, default: 0 }, drop: { - default: false + type: [Boolean, String, HTMLElement], + default: function _default() { + return false; + } }, dropDirectory: { type: Boolean, diff --git a/dist/vue-upload-component.part.js.map b/dist/vue-upload-component.part.js.map index 6cc23a0..cdd93a9 100644 --- a/dist/vue-upload-component.part.js.map +++ b/dist/vue-upload-component.part.js.map @@ -1 +1 @@ -{"version":3,"file":"vue-upload-component.part.js","sources":["vue-upload-component.part.js"],"sourcesContent":["function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _ownKeys(Object(source), !0).forEach(function (key) { _defineProperty2(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : _ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty2(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nimport { defineComponent, openBlock, createElementBlock, normalizeClass, renderSlot, createElementVNode, createCommentVNode } from 'vue';\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n/**\n * Creates a XHR request\n *\n * @param {Object} options\n */\n\n\nvar createRequest = function createRequest(options) {\n var xhr = new XMLHttpRequest();\n xhr.open(options.method || 'GET', options.url);\n xhr.responseType = 'json';\n\n if (options.headers) {\n Object.keys(options.headers).forEach(function (key) {\n xhr.setRequestHeader(key, options.headers[key]);\n });\n }\n\n return xhr;\n};\n/**\n * Sends a XHR request with certain body\n *\n * @param {XMLHttpRequest} xhr\n * @param {Object} body\n */\n\n\nvar sendRequest = function sendRequest(xhr, body) {\n return new Promise(function (resolve, reject) {\n xhr.onload = function () {\n if (xhr.status >= 200 && xhr.status < 300) {\n var response;\n\n try {\n response = JSON.parse(xhr.response);\n } catch (err) {\n response = xhr.response;\n }\n\n resolve(response);\n } else {\n reject(xhr.response);\n }\n };\n\n xhr.onerror = function () {\n return reject(xhr.response);\n };\n\n xhr.send(JSON.stringify(body));\n });\n};\n/**\n * Sends a XHR request with certain form data\n *\n * @param {XMLHttpRequest} xhr\n * @param {Object} data\n */\n\n\nvar sendFormRequest = function sendFormRequest(xhr, data) {\n var body = new FormData();\n\n for (var name in data) {\n body.append(name, data[name]);\n }\n\n return new Promise(function (resolve, reject) {\n xhr.onload = function () {\n if (xhr.status >= 200 && xhr.status < 300) {\n var response;\n\n try {\n response = JSON.parse(xhr.response);\n } catch (err) {\n response = xhr.response;\n }\n\n resolve(response);\n } else {\n reject(xhr.response);\n }\n };\n\n xhr.onerror = function () {\n return reject(xhr.response);\n };\n\n xhr.send(body);\n });\n};\n/**\n * Creates and sends XHR request\n *\n * @param {Object} options\n *\n * @returns Promise\n */\n\n\nfunction request(options) {\n var xhr = createRequest(options);\n return sendRequest(xhr, options.body);\n}\n\nvar ChunkUploadHandler = /*#__PURE__*/function () {\n /**\n * Constructor\n *\n * @param {File} file\n * @param {Object} options\n */\n function ChunkUploadHandler(file, options) {\n _classCallCheck(this, ChunkUploadHandler);\n\n this.file = file;\n this.options = options;\n this.chunks = [];\n this.sessionId = null;\n this.chunkSize = null;\n this.speedInterval = null;\n }\n /**\n * Gets the max retries from options\n */\n\n\n _createClass(ChunkUploadHandler, [{\n key: \"maxRetries\",\n get: function get() {\n return parseInt(this.options.maxRetries, 10);\n }\n /**\n * Gets the max number of active chunks being uploaded at once from options\n */\n\n }, {\n key: \"maxActiveChunks\",\n get: function get() {\n return parseInt(this.options.maxActive, 10);\n }\n /**\n * Gets the file type\n */\n\n }, {\n key: \"fileType\",\n get: function get() {\n return this.file.type;\n }\n /**\n * Gets the file size\n */\n\n }, {\n key: \"fileSize\",\n get: function get() {\n return this.file.size;\n }\n /**\n * Gets the file name\n */\n\n }, {\n key: \"fileName\",\n get: function get() {\n return this.file.name;\n }\n /**\n * Gets action (url) to upload the file\n */\n\n }, {\n key: \"action\",\n get: function get() {\n return this.options.action || null;\n }\n /**\n * Gets the body to be merged when sending the request in start phase\n */\n\n }, {\n key: \"startBody\",\n get: function get() {\n return this.options.startBody || {};\n }\n /**\n * Gets the body to be merged when sending the request in upload phase\n */\n\n }, {\n key: \"uploadBody\",\n get: function get() {\n return this.options.uploadBody || {};\n }\n /**\n * Gets the body to be merged when sending the request in finish phase\n */\n\n }, {\n key: \"finishBody\",\n get: function get() {\n return this.options.finishBody || {};\n }\n /**\n * Gets the headers of the requests from options\n */\n\n }, {\n key: \"headers\",\n get: function get() {\n return this.options.headers || {};\n }\n /**\n * Whether it's ready to upload files or not\n */\n\n }, {\n key: \"readyToUpload\",\n get: function get() {\n return !!this.chunks;\n }\n /**\n * Gets the progress of the chunk upload\n * - Gets all the completed chunks\n * - Gets the progress of all the chunks that are being uploaded\n */\n\n }, {\n key: \"progress\",\n get: function get() {\n var _this = this;\n\n var completedProgress = this.chunksUploaded.length / this.chunks.length * 100;\n var uploadingProgress = this.chunksUploading.reduce(function (progress, chunk) {\n return progress + (chunk.progress | 0) / _this.chunks.length;\n }, 0);\n return Math.min(completedProgress + uploadingProgress, 100);\n }\n /**\n * Gets all the chunks that are pending to be uploaded\n */\n\n }, {\n key: \"chunksToUpload\",\n get: function get() {\n return this.chunks.filter(function (chunk) {\n return !chunk.active && !chunk.uploaded;\n });\n }\n /**\n * Whether there are chunks to upload or not\n */\n\n }, {\n key: \"hasChunksToUpload\",\n get: function get() {\n return this.chunksToUpload.length > 0;\n }\n /**\n * Gets all the chunks that are uploading\n */\n\n }, {\n key: \"chunksUploading\",\n get: function get() {\n return this.chunks.filter(function (chunk) {\n return !!chunk.xhr && !!chunk.active;\n });\n }\n /**\n * Gets all the chunks that have finished uploading\n */\n\n }, {\n key: \"chunksUploaded\",\n get: function get() {\n return this.chunks.filter(function (chunk) {\n return !!chunk.uploaded;\n });\n }\n /**\n * Creates all the chunks in the initial state\n */\n\n }, {\n key: \"createChunks\",\n value: function createChunks() {\n this.chunks = [];\n var start = 0;\n var end = this.chunkSize;\n\n while (start < this.fileSize) {\n this.chunks.push({\n blob: this.file.file.slice(start, end),\n startOffset: start,\n active: false,\n retries: this.maxRetries\n });\n start = end;\n end = start + this.chunkSize;\n }\n }\n /**\n * Updates the progress of the file with the handler's progress\n */\n\n }, {\n key: \"updateFileProgress\",\n value: function updateFileProgress() {\n this.file.progress = this.progress;\n }\n /**\n * Paues the upload process\n * - Stops all active requests\n * - Sets the file not active\n */\n\n }, {\n key: \"pause\",\n value: function pause() {\n this.file.active = false;\n this.stopChunks();\n }\n /**\n * Stops all the current chunks\n */\n\n }, {\n key: \"stopChunks\",\n value: function stopChunks() {\n this.chunksUploading.forEach(function (chunk) {\n chunk.xhr.abort();\n chunk.active = false;\n });\n this.stopSpeedCalc();\n }\n /**\n * Resumes the file upload\n * - Sets the file active\n * - Starts the following chunks\n */\n\n }, {\n key: \"resume\",\n value: function resume() {\n this.file.active = true;\n this.startChunking();\n }\n /**\n * Starts the file upload\n *\n * @returns Promise\n * - resolve The file was uploaded\n * - reject The file upload failed\n */\n\n }, {\n key: \"upload\",\n value: function upload() {\n var _this2 = this;\n\n this.promise = new Promise(function (resolve, reject) {\n _this2.resolve = resolve;\n _this2.reject = reject;\n });\n this.start();\n return this.promise;\n }\n /**\n * Start phase\n * Sends a request to the backend to initialise the chunks\n */\n\n }, {\n key: \"start\",\n value: function start() {\n var _this3 = this;\n\n request({\n method: 'POST',\n headers: _objectSpread2(_objectSpread2({}, this.headers), {}, {\n 'Content-Type': 'application/json'\n }),\n url: this.action,\n body: Object.assign(this.startBody, {\n phase: 'start',\n mime_type: this.fileType,\n size: this.fileSize,\n name: this.fileName\n })\n }).then(function (res) {\n if (res.status !== 'success') {\n _this3.file.response = res;\n return _this3.reject('server');\n }\n\n _this3.sessionId = res.data.session_id;\n _this3.chunkSize = res.data.end_offset;\n\n _this3.createChunks();\n\n _this3.startChunking();\n }).catch(function (res) {\n _this3.file.response = res;\n\n _this3.reject('server');\n });\n }\n /**\n * Starts to upload chunks\n */\n\n }, {\n key: \"startChunking\",\n value: function startChunking() {\n for (var i = 0; i < this.maxActiveChunks; i++) {\n this.uploadNextChunk();\n }\n\n this.startSpeedCalc();\n }\n /**\n * Uploads the next chunk\n * - Won't do anything if the process is paused\n * - Will start finish phase if there are no more chunks to upload\n */\n\n }, {\n key: \"uploadNextChunk\",\n value: function uploadNextChunk() {\n if (this.file.active) {\n if (this.hasChunksToUpload) {\n return this.uploadChunk(this.chunksToUpload[0]);\n }\n\n if (this.chunksUploading.length === 0) {\n return this.finish();\n }\n }\n }\n /**\n * Uploads a chunk\n * - Sends the chunk to the backend\n * - Sets the chunk as uploaded if everything went well\n * - Decreases the number of retries if anything went wrong\n * - Fails if there are no more retries\n *\n * @param {Object} chunk\n */\n\n }, {\n key: \"uploadChunk\",\n value: function uploadChunk(chunk) {\n var _this4 = this;\n\n chunk.progress = 0;\n chunk.active = true;\n this.updateFileProgress();\n chunk.xhr = createRequest({\n method: 'POST',\n headers: this.headers,\n url: this.action\n });\n chunk.xhr.upload.addEventListener('progress', function (evt) {\n if (evt.lengthComputable) {\n chunk.progress = Math.round(evt.loaded / evt.total * 100);\n }\n }, false);\n sendFormRequest(chunk.xhr, Object.assign(this.uploadBody, {\n phase: 'upload',\n session_id: this.sessionId,\n start_offset: chunk.startOffset,\n chunk: chunk.blob\n })).then(function (res) {\n chunk.active = false;\n\n if (res.status === 'success') {\n chunk.uploaded = true;\n } else {\n if (chunk.retries-- <= 0) {\n _this4.stopChunks();\n\n return _this4.reject('upload');\n }\n }\n\n _this4.uploadNextChunk();\n }).catch(function () {\n chunk.active = false;\n\n if (chunk.retries-- <= 0) {\n _this4.stopChunks();\n\n return _this4.reject('upload');\n }\n\n _this4.uploadNextChunk();\n });\n }\n /**\n * Finish phase\n * Sends a request to the backend to finish the process\n */\n\n }, {\n key: \"finish\",\n value: function finish() {\n var _this5 = this;\n\n this.updateFileProgress();\n this.stopSpeedCalc();\n request({\n method: 'POST',\n headers: _objectSpread2(_objectSpread2({}, this.headers), {}, {\n 'Content-Type': 'application/json'\n }),\n url: this.action,\n body: Object.assign(this.finishBody, {\n phase: 'finish',\n session_id: this.sessionId\n })\n }).then(function (res) {\n _this5.file.response = res;\n\n if (res.status !== 'success') {\n return _this5.reject('server');\n }\n\n _this5.resolve(res);\n }).catch(function (res) {\n _this5.file.response = res;\n\n _this5.reject('server');\n });\n }\n /**\n * Sets an interval to calculate and\n * set upload speed every 3 seconds\n */\n\n }, {\n key: \"startSpeedCalc\",\n value: function startSpeedCalc() {\n var _this6 = this;\n\n this.file.speed = 0;\n var lastUploadedBytes = 0;\n\n if (!this.speedInterval) {\n this.speedInterval = window.setInterval(function () {\n var uploadedBytes = _this6.progress / 100 * _this6.fileSize;\n _this6.file.speed = uploadedBytes - lastUploadedBytes;\n lastUploadedBytes = uploadedBytes;\n }, 1000);\n }\n }\n /**\n * Removes the upload speed interval\n */\n\n }, {\n key: \"stopSpeedCalc\",\n value: function stopSpeedCalc() {\n this.speedInterval && window.clearInterval(this.speedInterval);\n this.speedInterval = null;\n this.file.speed = 0;\n }\n }]);\n\n return ChunkUploadHandler;\n}();\n\nvar CHUNK_DEFAULT_OPTIONS = {\n headers: {},\n action: '',\n minSize: 1048576,\n maxActive: 3,\n maxRetries: 5,\n handler: ChunkUploadHandler\n};\nvar script = defineComponent({\n props: {\n inputId: {\n type: String\n },\n name: {\n type: String,\n default: 'file'\n },\n accept: {\n type: String\n },\n capture: {},\n disabled: {\n default: false\n },\n multiple: {\n type: Boolean,\n default: false\n },\n maximum: {\n type: Number\n },\n addIndex: {\n type: [Boolean, Number]\n },\n directory: {\n type: Boolean\n },\n createDirectory: {\n type: Boolean,\n default: false\n },\n postAction: {\n type: String\n },\n putAction: {\n type: String\n },\n customAction: {\n type: Function\n },\n headers: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n data: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n timeout: {\n type: Number,\n default: 0\n },\n drop: {\n default: false\n },\n dropDirectory: {\n type: Boolean,\n default: true\n },\n size: {\n type: Number,\n default: 0\n },\n extensions: {\n type: [RegExp, String, Array],\n default: function _default() {\n return [];\n }\n },\n modelValue: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n thread: {\n type: Number,\n default: 1\n },\n // Chunk upload enabled\n chunkEnabled: {\n type: Boolean,\n default: false\n },\n // Chunk upload properties\n chunk: {\n type: Object,\n default: function _default() {\n return CHUNK_DEFAULT_OPTIONS;\n }\n }\n },\n emits: ['update:modelValue', 'input-filter', 'input-file'],\n data: function data() {\n return {\n files: this.modelValue,\n features: {\n html5: true,\n directory: false,\n drop: false\n },\n active: false,\n dropActive: false,\n uploading: 0,\n destroy: false,\n maps: {},\n dropElement: null,\n dropTimeout: null,\n reload: false\n };\n },\n\n /**\r\n * mounted\r\n * @return {[type]} [description]\r\n */\n mounted: function mounted() {\n var _this7 = this;\n\n var input = document.createElement('input');\n input.type = 'file';\n input.multiple = true; // html5 特征\n\n if (window.FormData && input.files) {\n // 上传目录特征\n // @ts-ignore\n if (typeof input.webkitdirectory === 'boolean' || typeof input.directory === 'boolean') {\n this.features.directory = true;\n } // 拖拽特征\n\n\n if (this.features.html5 && typeof input.ondrop !== 'undefined') {\n this.features.drop = true;\n }\n } else {\n this.features.html5 = false;\n } // files 定位缓存\n\n\n this.maps = {};\n\n if (this.files) {\n for (var i = 0; i < this.files.length; i++) {\n var file = this.files[i];\n this.maps[file.id] = file;\n }\n } // @ts-ignore\n\n\n this.$nextTick(function () {\n // 更新下父级\n if (_this7.$parent) {\n _this7.$parent.$forceUpdate(); // 拖拽渲染\n\n\n _this7.$parent.$nextTick(function () {\n _this7.watchDrop(_this7.drop);\n });\n } else {\n // 拖拽渲染\n _this7.watchDrop(_this7.drop);\n }\n });\n },\n\n /**\r\n * beforeUnmount\r\n * @return {[type]} [description]\r\n */\n beforeUnmount: function beforeUnmount() {\n // 已销毁\n this.destroy = true; // 设置成不激活\n\n this.active = false; // 销毁拖拽事件\n\n this.watchDrop(false); // 销毁不激活\n\n this.watchActive(false);\n },\n computed: {\n /**\r\n * uploading 正在上传的线程\r\n * @return {[type]} [description]\r\n */\n\n /**\r\n * uploaded 文件列表是否全部已上传\r\n * @return {[type]} [description]\r\n */\n uploaded: function uploaded() {\n var file;\n\n for (var i = 0; i < this.files.length; i++) {\n file = this.files[i];\n\n if (file.fileObject && !file.error && !file.success) {\n return false;\n }\n }\n\n return true;\n },\n chunkOptions: function chunkOptions() {\n return Object.assign(CHUNK_DEFAULT_OPTIONS, this.chunk);\n },\n className: function className() {\n return ['file-uploads', this.features.html5 ? 'file-uploads-html5' : 'file-uploads-html4', this.features.directory && this.directory ? 'file-uploads-directory' : undefined, this.features.drop && this.drop ? 'file-uploads-drop' : undefined, this.disabled ? 'file-uploads-disabled' : undefined];\n },\n forId: function forId() {\n return this.inputId || this.name;\n },\n iMaximum: function iMaximum() {\n if (this.maximum === undefined) {\n return this.multiple ? 0 : 1;\n }\n\n return this.maximum;\n },\n iExtensions: function iExtensions() {\n if (!this.extensions) {\n return;\n }\n\n if (this.extensions instanceof RegExp) {\n return this.extensions;\n }\n\n if (!this.extensions.length) {\n return;\n }\n\n var exts = [];\n\n if (typeof this.extensions === 'string') {\n exts = this.extensions.split(',');\n } else {\n exts = this.extensions;\n }\n\n exts = exts.map(function (value) {\n return value.trim();\n }).filter(function (value) {\n return value;\n });\n return new RegExp('\\\\.(' + exts.join('|').replace(/\\./g, '\\\\.') + ')$', 'i');\n },\n iDirectory: function iDirectory() {\n if (this.directory && this.features.directory) {\n return true;\n }\n\n return undefined;\n }\n },\n watch: {\n active: function active(_active) {\n this.watchActive(_active);\n },\n dropActive: function dropActive(value) {\n this.watchDropActive(value);\n\n if (this.$parent) {\n this.$parent.$forceUpdate();\n }\n },\n drop: function drop(value) {\n this.watchDrop(value);\n },\n modelValue: function modelValue(files) {\n if (this.files === files) {\n return;\n }\n\n this.files = files;\n var oldMaps = this.maps; // 重写 maps 缓存\n\n this.maps = {};\n\n for (var i = 0; i < this.files.length; i++) {\n var file = this.files[i];\n this.maps[file.id] = file;\n } // add, update\n\n\n for (var key in this.maps) {\n var newFile = this.maps[key];\n var oldFile = oldMaps[key];\n\n if (newFile !== oldFile) {\n this.emitFile(newFile, oldFile);\n }\n } // delete\n\n\n for (var _key in oldMaps) {\n if (!this.maps[_key]) {\n this.emitFile(undefined, oldMaps[_key]);\n }\n }\n }\n },\n methods: {\n newId: function newId() {\n return Math.random().toString(36).substr(2);\n },\n // 清空\n clear: function clear() {\n if (this.files.length) {\n var files = this.files;\n this.files = []; // 定位\n\n this.maps = {}; // 事件\n\n this.emitInput();\n\n for (var i = 0; i < files.length; i++) {\n this.emitFile(undefined, files[i]);\n }\n }\n\n return true;\n },\n // 选择\n get: function get(id) {\n if (!id) {\n return false;\n }\n\n if (_typeof(id) === 'object') {\n return this.maps[id.id || ''] || false;\n }\n\n return this.maps[id] || false;\n },\n // 添加\n add: function add(_files, index) {\n // 不是数组整理成数组\n var files;\n\n if (_files instanceof Array) {\n files = _files;\n } else {\n files = [_files];\n }\n\n if (index === undefined) {\n // eslint-disable-next-line\n index = this.addIndex;\n } // 遍历规范对象\n\n\n var addFiles = [];\n\n for (var i = 0; i < files.length; i++) {\n var file = files[i];\n\n if (this.features.html5 && file instanceof Blob) {\n file = {\n id: '',\n file: file,\n size: file.size,\n // @ts-ignore\n name: file.webkitRelativePath || file.relativePath || file.name || 'unknown',\n type: file.type\n };\n }\n\n file = file;\n var fileObject = false;\n if (file.fileObject === false) ;else if (file.fileObject) {\n fileObject = true;\n } else if (typeof Element !== 'undefined' && file.el instanceof HTMLInputElement) {\n fileObject = true;\n } else if (typeof Blob !== 'undefined' && file.file instanceof Blob) {\n fileObject = true;\n }\n\n if (fileObject) {\n file = _objectSpread(_objectSpread({\n fileObject: true,\n size: -1,\n name: 'Filename',\n type: '',\n active: false,\n error: '',\n success: false,\n putAction: this.putAction,\n postAction: this.postAction,\n timeout: this.timeout\n }, file), {}, {\n response: {},\n progress: '0.00',\n speed: 0 // 只读\n // file: undefined,\n // xhr: undefined,\n // el: undefined,\n // iframe: undefined,\n\n });\n file.data = _objectSpread(_objectSpread({}, this.data), file.data ? file.data : {});\n file.headers = _objectSpread(_objectSpread({}, this.headers), file.headers ? file.headers : {});\n } // 必须包含 id\n\n\n if (!file.id) {\n file.id = this.newId();\n }\n\n if (this.emitFilter(file, undefined)) {\n continue;\n } // 最大数量限制\n\n\n if (this.iMaximum > 1 && addFiles.length + this.files.length >= this.iMaximum) {\n break;\n }\n\n addFiles.push(file); // 最大数量限制\n\n if (this.iMaximum === 1) {\n break;\n }\n } // 没有文件\n\n\n if (!addFiles.length) {\n return;\n } // 如果是 1 清空\n\n\n if (this.iMaximum === 1) {\n this.clear();\n } // 添加进去 files\n\n\n var newFiles;\n\n if (index === true || index === 0) {\n newFiles = addFiles.concat(this.files);\n } else if (index) {\n var _newFiles;\n\n newFiles = this.files.concat([]);\n\n (_newFiles = newFiles).splice.apply(_newFiles, [index, 0].concat(_toConsumableArray(addFiles)));\n } else {\n newFiles = this.files.concat(addFiles);\n }\n\n this.files = newFiles; // 读取代理后的数据\n\n var index2 = 0;\n\n if (index === true || index === 0) {\n index2 = 0;\n } else if (index) {\n if (index >= 0) {\n if (index + addFiles.length > this.files.length) {\n index2 = this.files.length - addFiles.length;\n } else {\n index2 = index;\n }\n } else {\n index2 = this.files.length - addFiles.length + index;\n\n if (index2 < 0) {\n index2 = 0;\n }\n }\n } else {\n index2 = this.files.length - addFiles.length;\n }\n\n addFiles = this.files.slice(index2, index2 + addFiles.length); // 定位\n\n for (var _i = 0; _i < addFiles.length; _i++) {\n var _file = addFiles[_i];\n this.maps[_file.id] = _file;\n } // 事件\n\n\n this.emitInput();\n\n for (var _i2 = 0; _i2 < addFiles.length; _i2++) {\n this.emitFile(addFiles[_i2], undefined);\n }\n\n return _files instanceof Array ? addFiles : addFiles[0];\n },\n // 添加表单文件\n addInputFile: function addInputFile(el) {\n var _this8 = this;\n\n var files = [];\n this.iMaximum; // @ts-ignore\n\n var entrys = el.webkitEntries || el.entries || undefined;\n\n if (entrys !== null && entrys !== void 0 && entrys.length) {\n return this.getFileSystemEntry(entrys).then(function (files) {\n return _this8.add(files);\n });\n }\n\n if (el.files) {\n for (var i = 0; i < el.files.length; i++) {\n var file = el.files[i];\n files.push({\n id: '',\n size: file.size,\n // @ts-ignore\n name: file.webkitRelativePath || file.relativePath || file.name,\n type: file.type,\n file: file\n });\n }\n } else {\n var names = el.value.replace(/\\\\/g, '/').split('/');\n\n if (!names || !names.length) {\n names = [el.value];\n } // @ts-ignore\n\n\n delete el.__vuex__;\n files.push({\n id: '',\n name: names[names.length - 1],\n el: el\n });\n }\n\n return Promise.resolve(this.add(files));\n },\n // 添加 DataTransfer\n addDataTransfer: function addDataTransfer(dataTransfer) {\n var _dataTransfer$items,\n _this9 = this;\n\n // dataTransfer.items 支持\n if (dataTransfer !== null && dataTransfer !== void 0 && (_dataTransfer$items = dataTransfer.items) !== null && _dataTransfer$items !== void 0 && _dataTransfer$items.length) {\n var entrys = []; // 遍历出所有 dataTransferVueUploadItem\n\n for (var i = 0; i < dataTransfer.items.length; i++) {\n var dataTransferTtem = dataTransfer.items[i];\n var entry = void 0; // @ts-ignore\n\n if (dataTransferTtem.getAsEntry) {\n // @ts-ignore\n entry = dataTransferTtem.getAsEntry() || dataTransferTtem.getAsFile();\n } else if (dataTransferTtem.webkitGetAsEntry) {\n entry = dataTransferTtem.webkitGetAsEntry() || dataTransferTtem.getAsFile();\n } else {\n entry = dataTransferTtem.getAsFile();\n }\n\n if (entry) {\n entrys.push(entry);\n }\n }\n\n return this.getFileSystemEntry(entrys).then(function (files) {\n return _this9.add(files);\n });\n } // dataTransfer.files 支持\n\n\n var maximumValue = this.iMaximum;\n var files = [];\n\n if (dataTransfer.files.length) {\n for (var _i3 = 0; _i3 < dataTransfer.files.length; _i3++) {\n files.push(dataTransfer.files[_i3]);\n\n if (maximumValue > 0 && files.length >= maximumValue) {\n break;\n }\n }\n\n return Promise.resolve(this.add(files));\n }\n\n return Promise.resolve([]);\n },\n // 获得 entrys \n getFileSystemEntry: function getFileSystemEntry(entry) {\n var _this10 = this;\n\n var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n // getFileSystemEntry(entry: any, path = ''): Promise {\n return new Promise(function (resolve) {\n var maximumValue = _this10.iMaximum;\n\n if (!entry) {\n resolve([]);\n return;\n }\n\n if (entry instanceof Array) {\n // 多个\n var uploadFiles = [];\n\n var forEach = function forEach(i) {\n var v = entry[i];\n\n if (!v || maximumValue > 0 && uploadFiles.length >= maximumValue) {\n return resolve(uploadFiles);\n }\n\n _this10.getFileSystemEntry(v, path).then(function (results) {\n uploadFiles.push.apply(uploadFiles, _toConsumableArray(results));\n forEach(i + 1);\n });\n };\n\n forEach(0);\n return;\n }\n\n if (entry instanceof Blob) {\n resolve([{\n id: '',\n size: entry.size,\n // @ts-ignore\n name: path + entry.name,\n type: entry.type,\n file: entry\n }]);\n return;\n }\n\n if (entry.isFile) {\n var fileEntry = entry;\n fileEntry.file(function (file) {\n resolve([{\n id: '',\n size: file.size,\n name: path + file.name,\n type: file.type,\n file: file\n }]);\n });\n return;\n }\n\n if (entry.isDirectory && _this10.dropDirectory) {\n var directoryEntry = entry;\n var _uploadFiles = []; // 目录也要添加到文件列表\n\n if (_this10.createDirectory) {\n _uploadFiles.push({\n id: '',\n name: path + directoryEntry.name,\n size: 0,\n type: 'text/directory',\n file: new File([], path + directoryEntry.name, {\n type: 'text/directory'\n })\n });\n }\n\n var dirReader = directoryEntry.createReader();\n\n var readEntries = function readEntries() {\n dirReader.readEntries(function (entries) {\n var forEach = function forEach(i) {\n if (!entries[i] && i === 0 || maximumValue > 0 && _uploadFiles.length >= maximumValue) {\n return resolve(_uploadFiles);\n }\n\n if (!entries[i]) {\n return readEntries();\n }\n\n _this10.getFileSystemEntry(entries[i], path + directoryEntry.name + '/').then(function (results) {\n _uploadFiles.push.apply(_uploadFiles, _toConsumableArray(results));\n\n forEach(i + 1);\n });\n };\n\n forEach(0);\n });\n };\n\n readEntries();\n return;\n }\n\n resolve([]);\n });\n },\n // 替换\n replace: function replace(id1, id2) {\n var file1 = this.get(id1);\n var file2 = this.get(id2);\n\n if (!file1 || !file2 || file1 === file2) {\n return false;\n }\n\n var files = this.files.concat([]);\n var index1 = files.indexOf(file1);\n var index2 = files.indexOf(file2);\n\n if (index1 === -1 || index2 === -1) {\n return false;\n }\n\n files[index1] = file2;\n files[index2] = file1;\n this.files = files;\n this.emitInput();\n return true;\n },\n // 移除\n remove: function remove(id) {\n var file = this.get(id);\n\n if (file) {\n if (this.emitFilter(undefined, file)) {\n return false;\n }\n\n var files = this.files.concat([]);\n var index = files.indexOf(file);\n\n if (index === -1) {\n console.error('remove', file);\n return false;\n }\n\n files.splice(index, 1);\n this.files = files; // 定位\n\n delete this.maps[file.id]; // 事件\n\n this.emitInput();\n this.emitFile(undefined, file);\n }\n\n return file;\n },\n // 更新\n update: function update(id, data) {\n var file = this.get(id);\n\n if (file) {\n var newFile = _objectSpread(_objectSpread({}, file), data); // 停用必须加上错误\n\n\n if (file.fileObject && file.active && !newFile.active && !newFile.error && !newFile.success) {\n newFile.error = 'abort';\n }\n\n if (this.emitFilter(newFile, file)) {\n return false;\n }\n\n var files = this.files.concat([]);\n var index = files.indexOf(file);\n\n if (index === -1) {\n console.error('update', file);\n return false;\n }\n\n files.splice(index, 1, newFile);\n this.files = files;\n newFile = this.files[index]; // 删除 旧定位 写入 新定位 (已便支持修改id)\n\n delete this.maps[file.id];\n this.maps[newFile.id] = newFile; // 事件\n\n this.emitInput();\n this.emitFile(newFile, file);\n return newFile;\n }\n\n return false;\n },\n // 预处理 事件 过滤器\n emitFilter: function emitFilter(newFile, oldFile) {\n var isPrevent = false;\n this.$emit('input-filter', newFile, oldFile, function () {\n var prevent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n isPrevent = prevent;\n return isPrevent;\n });\n return isPrevent;\n },\n // 处理后 事件 分发\n emitFile: function emitFile(newFile, oldFile) {\n var _newFile,\n _this11 = this;\n\n this.$emit('input-file', newFile, oldFile);\n\n if ((_newFile = newFile) !== null && _newFile !== void 0 && _newFile.fileObject && newFile.active && (!oldFile || !oldFile.active)) {\n this.uploading++; // 激活\n // @ts-ignore\n\n this.$nextTick(function () {\n setTimeout(function () {\n newFile && _this11.upload(newFile).then(function () {\n var _newFile2;\n\n if (newFile) {\n // eslint-disable-next-line\n newFile = _this11.get(newFile) || undefined;\n }\n\n if ((_newFile2 = newFile) !== null && _newFile2 !== void 0 && _newFile2.fileObject) {\n _this11.update(newFile, {\n active: false,\n success: !newFile.error\n });\n }\n }).catch(function (e) {\n newFile && _this11.update(newFile, {\n active: false,\n success: false,\n error: e.code || e.error || e.message || e\n });\n });\n }, Math.ceil(Math.random() * 50 + 50));\n });\n } else if ((!newFile || !newFile.fileObject || !newFile.active) && oldFile && oldFile.fileObject && oldFile.active) {\n // 停止\n this.uploading--;\n } // 自动延续激活\n // @ts-ignore\n\n\n if (this.active && (Boolean(newFile) !== Boolean(oldFile) || newFile.active !== oldFile.active)) {\n this.watchActive(true);\n }\n },\n emitInput: function emitInput() {\n this.$emit('update:modelValue', this.files);\n },\n // 上传\n upload: function upload(id) {\n var file = this.get(id); // 被删除\n\n if (!file) {\n return Promise.reject(new Error('not_exists'));\n } // 不是文件对象\n\n\n if (!file.fileObject) {\n return Promise.reject(new Error('file_object'));\n } // 有错误直接响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return Promise.reject(file.error);\n }\n\n return Promise.reject(new Error(file.error));\n } // 已完成直接响应\n\n\n if (file.success) {\n return Promise.resolve(file);\n } // 后缀\n\n\n if (file.name && this.iExtensions && file.type !== \"text/directory\") {\n if (file.name.search(this.iExtensions) === -1) {\n return Promise.reject(new Error('extension'));\n }\n } // 大小\n\n\n if (this.size > 0 && file.size !== undefined && file.size >= 0 && file.size > this.size && file.type !== \"text/directory\") {\n return Promise.reject(new Error('size'));\n }\n\n if (this.customAction) {\n return this.customAction(file, this);\n }\n\n if (this.features.html5) {\n if (this.shouldUseChunkUpload(file)) {\n return this.uploadChunk(file);\n }\n\n if (file.putAction) {\n return this.uploadPut(file);\n }\n\n if (file.postAction) {\n return this.uploadHtml5(file);\n }\n }\n\n if (file.postAction) {\n return this.uploadHtml4(file);\n }\n\n return Promise.reject(new Error('No action configured'));\n },\n\n /**\r\n * Whether this file should be uploaded using chunk upload or not\r\n *\r\n * @param Object file\r\n */\n shouldUseChunkUpload: function shouldUseChunkUpload(file) {\n return this.chunkEnabled && !!this.chunkOptions.handler && file.size && file.size > this.chunkOptions.minSize;\n },\n\n /**\r\n * Upload a file using Chunk method\r\n *\r\n * @param File file\r\n */\n uploadChunk: function uploadChunk(file) {\n var HandlerClass = this.chunkOptions.handler;\n file.chunk = new HandlerClass(file, this.chunkOptions);\n return file.chunk.upload().then(function (res) {\n return file;\n });\n },\n uploadPut: function uploadPut(file) {\n var querys = [];\n var value;\n\n for (var key in file.data) {\n value = file.data[key];\n\n if (value !== null && value !== undefined) {\n querys.push(encodeURIComponent(key) + '=' + encodeURIComponent(value));\n }\n }\n\n var putAction = file.putAction || '';\n var queryString = querys.length ? (putAction.indexOf('?') === -1 ? '?' : '&') + querys.join('&') : '';\n var xhr = new XMLHttpRequest();\n xhr.open('PUT', putAction + queryString);\n return this.uploadXhr(xhr, file, file.file);\n },\n uploadHtml5: function uploadHtml5(file) {\n var form = new window.FormData();\n var value;\n\n for (var key in file.data) {\n value = file.data[key];\n\n if (value && _typeof(value) === 'object' && typeof value.toString !== 'function') {\n if (value instanceof File) {\n form.append(key, value, value.name);\n } else {\n form.append(key, JSON.stringify(value));\n }\n } else if (value !== null && value !== undefined) {\n form.append(key, value);\n }\n } // Moved file.name as the first option to set the filename of the uploaded file, since file.name\n // contains the full (relative) path of the file not just the filename as in file.file.filename\n // @ts-ignore\n\n\n form.append(this.name, file.file, file.name || file.file.name || file.file.filename);\n var xhr = new XMLHttpRequest();\n xhr.open('POST', file.postAction || '');\n return this.uploadXhr(xhr, file, form);\n },\n uploadXhr: function uploadXhr(xhr, ufile, body) {\n var _this12 = this;\n\n var file = ufile;\n var speedTime = 0;\n var speedLoaded = 0; // 进度条\n\n xhr.upload.onprogress = function (e) {\n // 还未开始上传 已删除 未激活\n if (!file) {\n return;\n }\n\n file = _this12.get(file);\n\n if (!e.lengthComputable || !file || !file.fileObject || !file.active) {\n return;\n } // 进度 速度 每秒更新一次\n\n\n var speedTime2 = Math.round(Date.now() / 1000);\n\n if (speedTime2 === speedTime) {\n return;\n }\n\n speedTime = speedTime2;\n file = _this12.update(file, {\n progress: (e.loaded / e.total * 100).toFixed(2),\n speed: e.loaded - speedLoaded\n });\n speedLoaded = e.loaded;\n }; // 检查激活状态\n\n\n var interval = window.setInterval(function () {\n if (file) {\n if (file = _this12.get(file)) {\n var _file2;\n\n if ((_file2 = file) !== null && _file2 !== void 0 && _file2.fileObject && !file.success && !file.error && file.active) {\n return;\n }\n }\n }\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n }\n\n try {\n xhr.abort();\n xhr.timeout = 1;\n } catch (e) {}\n }, 100);\n return new Promise(function (resolve, reject) {\n if (!file) {\n reject(new Error('not_exists'));\n return;\n }\n\n var complete;\n\n var fn = function fn(e) {\n // 已经处理过了\n if (complete) {\n return;\n }\n\n complete = true;\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n }\n\n if (!file) {\n return reject(new Error('not_exists'));\n }\n\n file = _this12.get(file); // 不存在直接响应\n\n if (!file) {\n return reject(new Error('not_exists'));\n } // 不是文件对象\n\n\n if (!file.fileObject) {\n return reject(new Error('file_object'));\n } // 有错误自动响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 未激活\n\n\n if (!file.active) {\n return reject(new Error('abort'));\n } // 已完成 直接相应\n\n\n if (file.success) {\n return resolve(file);\n }\n\n var data = {};\n\n switch (e.type) {\n case 'timeout':\n case 'abort':\n data.error = e.type;\n break;\n\n case 'error':\n if (!xhr.status) {\n data.error = 'network';\n } else if (xhr.status >= 500) {\n data.error = 'server';\n } else if (xhr.status >= 400) {\n data.error = 'denied';\n }\n\n break;\n\n default:\n if (xhr.status >= 500) {\n data.error = 'server';\n } else if (xhr.status >= 400) {\n data.error = 'denied';\n } else {\n data.progress = '100.00';\n }\n\n }\n\n if (xhr.responseText) {\n var contentType = xhr.getResponseHeader('Content-Type');\n\n if (contentType && contentType.indexOf('/json') !== -1) {\n data.response = JSON.parse(xhr.responseText);\n } else {\n data.response = xhr.responseText;\n }\n } // 更新\n // @ts-ignore\n\n\n file = _this12.update(file, data);\n\n if (!file) {\n return reject(new Error('abort'));\n } // 有错误自动响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 响应\n\n\n return resolve(file);\n }; // 事件\n\n\n xhr.onload = fn;\n xhr.onerror = fn;\n xhr.onabort = fn;\n xhr.ontimeout = fn; // 超时\n\n if (file.timeout) {\n xhr.timeout = file.timeout;\n } // headers\n\n\n for (var key in file.headers) {\n xhr.setRequestHeader(key, file.headers[key]);\n } // 更新 xhr\n // @ts-ignore\n\n\n file = _this12.update(file, {\n xhr: xhr\n }); // 开始上传\n\n file && xhr.send(body);\n });\n },\n uploadHtml4: function uploadHtml4(ufile) {\n var _this13 = this;\n\n var file = ufile;\n\n if (!file) {\n return Promise.reject(new Error('not_exists'));\n }\n\n var onKeydown = function onKeydown(e) {\n if (e.keyCode === 27) {\n e.preventDefault();\n }\n };\n\n var iframe = document.createElement('iframe');\n iframe.id = 'upload-iframe-' + file.id;\n iframe.name = 'upload-iframe-' + file.id;\n iframe.src = 'about:blank';\n iframe.setAttribute('style', 'width:1px;height:1px;top:-999em;position:absolute; margin-top:-999em;');\n var form = document.createElement('form');\n form.setAttribute('action', file.postAction || '');\n form.name = 'upload-form-' + file.id;\n form.setAttribute('method', 'POST');\n form.setAttribute('target', 'upload-iframe-' + file.id);\n form.setAttribute('enctype', 'multipart/form-data');\n\n for (var key in file.data) {\n var value = file.data[key];\n\n if (value && _typeof(value) === 'object' && typeof value.toString !== 'function') {\n value = JSON.stringify(value);\n }\n\n if (value !== null && value !== undefined) {\n var el = document.createElement('input');\n el.type = 'hidden';\n el.name = key;\n el.value = value;\n form.appendChild(el);\n }\n }\n\n form.appendChild(file.el);\n document.body.appendChild(iframe).appendChild(form);\n\n var getResponseData = function getResponseData() {\n var _doc;\n\n var doc;\n\n try {\n if (iframe.contentWindow) {\n doc = iframe.contentWindow.document;\n }\n } catch (err) {}\n\n if (!doc) {\n try {\n // @ts-ignore\n doc = iframe.contentDocument ? iframe.contentDocument : iframe.document;\n } catch (err) {\n // @ts-ignore\n doc = iframe.document;\n }\n } // @ts-ignore\n\n\n if ((_doc = doc) !== null && _doc !== void 0 && _doc.body) {\n return doc.body.innerHTML;\n }\n\n return null;\n };\n\n return new Promise(function (resolve, reject) {\n setTimeout(function () {\n if (!file) {\n reject(new Error('not_exists'));\n return;\n }\n\n file = _this13.update(file, {\n iframe: iframe\n }); // 不存在\n\n if (!file) {\n return reject(new Error('not_exists'));\n } // 定时检查\n\n\n var interval = window.setInterval(function () {\n if (file) {\n if (file = _this13.get(file)) {\n if (file.fileObject && !file.success && !file.error && file.active) {\n return;\n }\n }\n }\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n } // @ts-ignore\n\n\n iframe.onabort({\n type: file ? 'abort' : 'not_exists'\n });\n }, 100);\n var complete;\n\n var fn = function fn(e) {\n var _file3;\n\n // 已经处理过了\n if (complete) {\n return;\n }\n\n complete = true;\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n } // 关闭 esc 事件\n\n\n document.body.removeEventListener('keydown', onKeydown);\n\n if (!file) {\n return reject(new Error('not_exists'));\n }\n\n file = _this13.get(file); // 不存在直接响应\n\n if (!file) {\n return reject(new Error('not_exists'));\n } // 不是文件对象\n\n\n if (!file.fileObject) {\n return reject(new Error('file_object'));\n } // 有错误自动响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 未激活\n\n\n if (!file.active) {\n return reject(new Error('abort'));\n } // 已完成 直接相应\n\n\n if (file.success) {\n return resolve(file);\n }\n\n var response = getResponseData();\n var data = {};\n\n if (typeof e === 'string') {\n return reject(new Error(e));\n }\n\n switch (e.type) {\n case 'abort':\n data.error = 'abort';\n break;\n\n case 'error':\n if (file.error) {\n data.error = file.error;\n } else if (response === null) {\n data.error = 'network';\n } else {\n data.error = 'denied';\n }\n\n break;\n\n default:\n if (file.error) {\n data.error = file.error;\n } else if (response === null) {\n data.error = 'network';\n } else {\n data.progress = '100.00';\n }\n\n }\n\n if (response !== null) {\n if (response && response.substr(0, 1) === '{' && response.substr(response.length - 1, 1) === '}') {\n try {\n response = JSON.parse(response);\n } catch (err) {}\n }\n\n data.response = response;\n } // 更新\n\n\n file = _this13.update(file, data);\n\n if (!file) {\n return reject(new Error('not_exists'));\n }\n\n if ((_file3 = file) !== null && _file3 !== void 0 && _file3.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 响应\n\n\n return resolve(file);\n }; // 添加事件\n\n\n iframe.onload = fn;\n iframe.onerror = fn;\n iframe.onabort = fn; // 禁止 esc 键\n\n document.body.addEventListener('keydown', onKeydown); // 提交\n\n form.submit();\n }, 50);\n }).then(function (res) {\n var _iframe$parentNode;\n\n iframe === null || iframe === void 0 ? void 0 : (_iframe$parentNode = iframe.parentNode) === null || _iframe$parentNode === void 0 ? void 0 : _iframe$parentNode.removeChild(iframe);\n return res;\n }).catch(function (res) {\n var _iframe$parentNode2;\n\n iframe === null || iframe === void 0 ? void 0 : (_iframe$parentNode2 = iframe.parentNode) === null || _iframe$parentNode2 === void 0 ? void 0 : _iframe$parentNode2.removeChild(iframe);\n return res;\n });\n },\n watchActive: function watchActive(active) {\n var file;\n var index = 0;\n\n while (file = this.files[index]) {\n index++;\n if (!file.fileObject) ;else if (active && !this.destroy) {\n if (this.uploading >= this.thread || this.uploading && !this.features.html5) {\n break;\n }\n\n if (!file.active && !file.error && !file.success) {\n this.update(file, {\n active: true\n });\n }\n } else {\n if (file.active) {\n this.update(file, {\n active: false\n });\n }\n }\n }\n\n if (this.uploading === 0) {\n this.active = false;\n }\n },\n watchDrop: function watchDrop(newDrop) {\n var oldDrop = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n\n if (!this.features.drop) {\n return;\n }\n\n if (newDrop === oldDrop) {\n return;\n } // 移除挂载\n\n\n if (this.dropElement) {\n try {\n document.removeEventListener('dragenter', this.onDocumentDragenter, false);\n document.removeEventListener('dragleave', this.onDocumentDragleave, false);\n document.removeEventListener('dragover', this.onDocumentDragover, false);\n document.removeEventListener('drop', this.onDocumentDrop, false);\n this.dropElement.removeEventListener('dragover', this.onDragover, false);\n this.dropElement.removeEventListener('drop', this.onDrop, false);\n } catch (e) {}\n }\n\n var el = null;\n if (!newDrop) ;else if (typeof newDrop === 'string') {\n // @ts-ignore\n el = document.querySelector(newDrop) || this.$root.$el.querySelector(newDrop);\n } else if (newDrop === true) {\n var _el;\n\n // @ts-ignore\n el = this.$parent.$el;\n\n if (!el || ((_el = el) === null || _el === void 0 ? void 0 : _el.nodeType) === 8) {\n var _el2;\n\n // @ts-ignore\n el = this.$root.$el;\n\n if (!el || ((_el2 = el) === null || _el2 === void 0 ? void 0 : _el2.nodeType) === 8) {\n el = document.body;\n }\n }\n } else {\n el = newDrop;\n }\n this.dropElement = el;\n\n if (this.dropElement) {\n document.addEventListener('dragenter', this.onDocumentDragenter, false);\n document.addEventListener('dragleave', this.onDocumentDragleave, false);\n document.addEventListener('dragover', this.onDocumentDragover, false);\n document.addEventListener('drop', this.onDocumentDrop, false);\n this.dropElement.addEventListener('dragover', this.onDragover, false);\n this.dropElement.addEventListener('drop', this.onDrop, false);\n }\n },\n watchDropActive: function watchDropActive(newDropActive, oldDropActive) {\n if (newDropActive === oldDropActive) {\n return;\n }\n\n if (this.dropTimeout) {\n clearTimeout(this.dropTimeout);\n this.dropTimeout = null;\n }\n\n if (newDropActive) {\n // @ts-ignore\n this.dropTimeout = setTimeout(this.onDocumentDrop, 1000);\n }\n },\n onDocumentDragenter: function onDocumentDragenter(e) {\n var _dt$files, _dt$types;\n\n if (this.dropActive) {\n return;\n }\n\n if (!e.dataTransfer) {\n return;\n }\n\n var dt = e.dataTransfer;\n\n if (dt !== null && dt !== void 0 && (_dt$files = dt.files) !== null && _dt$files !== void 0 && _dt$files.length) {\n this.dropActive = true;\n } else if (!dt.types) {\n this.dropActive = true;\n } else if (dt.types.indexOf && dt.types.indexOf('Files') !== -1) {\n this.dropActive = true; // @ts-ignore\n } else if ((_dt$types = dt.types) !== null && _dt$types !== void 0 && _dt$types.contains && dt.types.contains('Files')) {\n this.dropActive = true;\n }\n\n if (this.dropActive) {\n this.watchDropActive(true);\n }\n },\n onDocumentDragleave: function onDocumentDragleave(e) {\n if (!this.dropActive) {\n return;\n } // @ts-ignore\n\n\n if (e.target === e.explicitOriginalTarget || !e.fromElement && (e.clientX <= 0 || e.clientY <= 0 || e.clientX >= window.innerWidth || e.clientY >= window.innerHeight)) {\n this.dropActive = false;\n this.watchDropActive(false);\n }\n },\n onDocumentDragover: function onDocumentDragover() {\n this.watchDropActive(true);\n },\n onDocumentDrop: function onDocumentDrop() {\n this.dropActive = false;\n this.watchDropActive(false);\n },\n onDragover: function onDragover(e) {\n e.preventDefault();\n },\n onDrop: function onDrop(e) {\n e.preventDefault();\n e.dataTransfer && this.addDataTransfer(e.dataTransfer);\n },\n inputOnChange: async function inputOnChange(e) {\n var _this14 = this;\n\n if (!(e.target instanceof HTMLInputElement)) {\n return Promise.reject(new Error(\"not HTMLInputElement\"));\n }\n\n e.target;\n\n var reinput = function reinput(res) {\n _this14.reload = true; // @ts-ignore\n\n _this14.$nextTick(function () {\n _this14.reload = false;\n });\n\n return res;\n };\n\n return this.addInputFile(e.target).then(reinput).catch(reinput);\n }\n }\n});\nvar _hoisted_1 = [\"for\"];\nvar _hoisted_2 = [\"name\", \"id\", \"accept\", \"capture\", \"disabled\", \"webkitdirectory\", \"allowdirs\", \"directory\", \"multiple\"];\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", {\n class: normalizeClass(_ctx.className)\n }, [renderSlot(_ctx.$slots, \"default\"), createElementVNode(\"label\", {\n for: _ctx.forId\n }, null, 8, _hoisted_1), !_ctx.reload ? (openBlock(), createElementBlock(\"input\", {\n key: 0,\n ref: \"input\",\n type: \"file\",\n name: _ctx.name,\n id: _ctx.forId,\n accept: _ctx.accept,\n capture: _ctx.capture,\n disabled: _ctx.disabled,\n webkitdirectory: _ctx.iDirectory,\n allowdirs: _ctx.iDirectory,\n directory: _ctx.iDirectory,\n multiple: _ctx.multiple && _ctx.features.html5,\n onChange: _cache[0] || (_cache[0] = function () {\n return _ctx.inputOnChange && _ctx.inputOnChange.apply(_ctx, arguments);\n })\n }, null, 40, _hoisted_2)) : createCommentVNode(\"\", true)], 2);\n}\n\nfunction styleInject(css, ref) {\n if (ref === void 0) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') {\n return;\n }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar css_248z = \"\";\nstyleInject(css_248z);\nscript.render = render;\nexport { script as default };\n//# sourceMappingURL=vue-upload-component.part.js.map\n"],"names":["defineComponent","openBlock","createElementBlock","normalizeClass","renderSlot","createElementVNode","createCommentVNode"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"vue-upload-component.part.js","sources":["vue-upload-component.part.js"],"sourcesContent":["function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _ownKeys(Object(source), !0).forEach(function (key) { _defineProperty2(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : _ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty2(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nimport { defineComponent, openBlock, createElementBlock, normalizeClass, renderSlot, createElementVNode, createCommentVNode } from 'vue';\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n/**\n * Creates a XHR request\n *\n * @param {Object} options\n */\n\n\nvar createRequest = function createRequest(options) {\n var xhr = new XMLHttpRequest();\n xhr.open(options.method || 'GET', options.url);\n xhr.responseType = 'json';\n\n if (options.headers) {\n Object.keys(options.headers).forEach(function (key) {\n xhr.setRequestHeader(key, options.headers[key]);\n });\n }\n\n return xhr;\n};\n/**\n * Sends a XHR request with certain body\n *\n * @param {XMLHttpRequest} xhr\n * @param {Object} body\n */\n\n\nvar sendRequest = function sendRequest(xhr, body) {\n return new Promise(function (resolve, reject) {\n xhr.onload = function () {\n if (xhr.status >= 200 && xhr.status < 300) {\n var response;\n\n try {\n response = JSON.parse(xhr.response);\n } catch (err) {\n response = xhr.response;\n }\n\n resolve(response);\n } else {\n reject(xhr.response);\n }\n };\n\n xhr.onerror = function () {\n return reject(xhr.response);\n };\n\n xhr.send(JSON.stringify(body));\n });\n};\n/**\n * Sends a XHR request with certain form data\n *\n * @param {XMLHttpRequest} xhr\n * @param {Object} data\n */\n\n\nvar sendFormRequest = function sendFormRequest(xhr, data) {\n var body = new FormData();\n\n for (var name in data) {\n body.append(name, data[name]);\n }\n\n return new Promise(function (resolve, reject) {\n xhr.onload = function () {\n if (xhr.status >= 200 && xhr.status < 300) {\n var response;\n\n try {\n response = JSON.parse(xhr.response);\n } catch (err) {\n response = xhr.response;\n }\n\n resolve(response);\n } else {\n reject(xhr.response);\n }\n };\n\n xhr.onerror = function () {\n return reject(xhr.response);\n };\n\n xhr.send(body);\n });\n};\n/**\n * Creates and sends XHR request\n *\n * @param {Object} options\n *\n * @returns Promise\n */\n\n\nfunction request(options) {\n var xhr = createRequest(options);\n return sendRequest(xhr, options.body);\n}\n\nvar ChunkUploadHandler = /*#__PURE__*/function () {\n /**\n * Constructor\n *\n * @param {File} file\n * @param {Object} options\n */\n function ChunkUploadHandler(file, options) {\n _classCallCheck(this, ChunkUploadHandler);\n\n this.file = file;\n this.options = options;\n this.chunks = [];\n this.sessionId = null;\n this.chunkSize = null;\n this.speedInterval = null;\n }\n /**\n * Gets the max retries from options\n */\n\n\n _createClass(ChunkUploadHandler, [{\n key: \"maxRetries\",\n get: function get() {\n return parseInt(this.options.maxRetries, 10);\n }\n /**\n * Gets the max number of active chunks being uploaded at once from options\n */\n\n }, {\n key: \"maxActiveChunks\",\n get: function get() {\n return parseInt(this.options.maxActive, 10);\n }\n /**\n * Gets the file type\n */\n\n }, {\n key: \"fileType\",\n get: function get() {\n return this.file.type;\n }\n /**\n * Gets the file size\n */\n\n }, {\n key: \"fileSize\",\n get: function get() {\n return this.file.size;\n }\n /**\n * Gets the file name\n */\n\n }, {\n key: \"fileName\",\n get: function get() {\n return this.file.name;\n }\n /**\n * Gets action (url) to upload the file\n */\n\n }, {\n key: \"action\",\n get: function get() {\n return this.options.action || null;\n }\n /**\n * Gets the body to be merged when sending the request in start phase\n */\n\n }, {\n key: \"startBody\",\n get: function get() {\n return this.options.startBody || {};\n }\n /**\n * Gets the body to be merged when sending the request in upload phase\n */\n\n }, {\n key: \"uploadBody\",\n get: function get() {\n return this.options.uploadBody || {};\n }\n /**\n * Gets the body to be merged when sending the request in finish phase\n */\n\n }, {\n key: \"finishBody\",\n get: function get() {\n return this.options.finishBody || {};\n }\n /**\n * Gets the headers of the requests from options\n */\n\n }, {\n key: \"headers\",\n get: function get() {\n return this.options.headers || {};\n }\n /**\n * Whether it's ready to upload files or not\n */\n\n }, {\n key: \"readyToUpload\",\n get: function get() {\n return !!this.chunks;\n }\n /**\n * Gets the progress of the chunk upload\n * - Gets all the completed chunks\n * - Gets the progress of all the chunks that are being uploaded\n */\n\n }, {\n key: \"progress\",\n get: function get() {\n var _this = this;\n\n var completedProgress = this.chunksUploaded.length / this.chunks.length * 100;\n var uploadingProgress = this.chunksUploading.reduce(function (progress, chunk) {\n return progress + (chunk.progress | 0) / _this.chunks.length;\n }, 0);\n return Math.min(completedProgress + uploadingProgress, 100);\n }\n /**\n * Gets all the chunks that are pending to be uploaded\n */\n\n }, {\n key: \"chunksToUpload\",\n get: function get() {\n return this.chunks.filter(function (chunk) {\n return !chunk.active && !chunk.uploaded;\n });\n }\n /**\n * Whether there are chunks to upload or not\n */\n\n }, {\n key: \"hasChunksToUpload\",\n get: function get() {\n return this.chunksToUpload.length > 0;\n }\n /**\n * Gets all the chunks that are uploading\n */\n\n }, {\n key: \"chunksUploading\",\n get: function get() {\n return this.chunks.filter(function (chunk) {\n return !!chunk.xhr && !!chunk.active;\n });\n }\n /**\n * Gets all the chunks that have finished uploading\n */\n\n }, {\n key: \"chunksUploaded\",\n get: function get() {\n return this.chunks.filter(function (chunk) {\n return !!chunk.uploaded;\n });\n }\n /**\n * Creates all the chunks in the initial state\n */\n\n }, {\n key: \"createChunks\",\n value: function createChunks() {\n this.chunks = [];\n var start = 0;\n var end = this.chunkSize;\n\n while (start < this.fileSize) {\n this.chunks.push({\n blob: this.file.file.slice(start, end),\n startOffset: start,\n active: false,\n retries: this.maxRetries\n });\n start = end;\n end = start + this.chunkSize;\n }\n }\n /**\n * Updates the progress of the file with the handler's progress\n */\n\n }, {\n key: \"updateFileProgress\",\n value: function updateFileProgress() {\n this.file.progress = this.progress;\n }\n /**\n * Paues the upload process\n * - Stops all active requests\n * - Sets the file not active\n */\n\n }, {\n key: \"pause\",\n value: function pause() {\n this.file.active = false;\n this.stopChunks();\n }\n /**\n * Stops all the current chunks\n */\n\n }, {\n key: \"stopChunks\",\n value: function stopChunks() {\n this.chunksUploading.forEach(function (chunk) {\n chunk.xhr.abort();\n chunk.active = false;\n });\n this.stopSpeedCalc();\n }\n /**\n * Resumes the file upload\n * - Sets the file active\n * - Starts the following chunks\n */\n\n }, {\n key: \"resume\",\n value: function resume() {\n this.file.active = true;\n this.startChunking();\n }\n /**\n * Starts the file upload\n *\n * @returns Promise\n * - resolve The file was uploaded\n * - reject The file upload failed\n */\n\n }, {\n key: \"upload\",\n value: function upload() {\n var _this2 = this;\n\n this.promise = new Promise(function (resolve, reject) {\n _this2.resolve = resolve;\n _this2.reject = reject;\n });\n this.start();\n return this.promise;\n }\n /**\n * Start phase\n * Sends a request to the backend to initialise the chunks\n */\n\n }, {\n key: \"start\",\n value: function start() {\n var _this3 = this;\n\n request({\n method: 'POST',\n headers: _objectSpread2(_objectSpread2({}, this.headers), {}, {\n 'Content-Type': 'application/json'\n }),\n url: this.action,\n body: Object.assign(this.startBody, {\n phase: 'start',\n mime_type: this.fileType,\n size: this.fileSize,\n name: this.fileName\n })\n }).then(function (res) {\n if (res.status !== 'success') {\n _this3.file.response = res;\n return _this3.reject('server');\n }\n\n _this3.sessionId = res.data.session_id;\n _this3.chunkSize = res.data.end_offset;\n\n _this3.createChunks();\n\n _this3.startChunking();\n }).catch(function (res) {\n _this3.file.response = res;\n\n _this3.reject('server');\n });\n }\n /**\n * Starts to upload chunks\n */\n\n }, {\n key: \"startChunking\",\n value: function startChunking() {\n for (var i = 0; i < this.maxActiveChunks; i++) {\n this.uploadNextChunk();\n }\n\n this.startSpeedCalc();\n }\n /**\n * Uploads the next chunk\n * - Won't do anything if the process is paused\n * - Will start finish phase if there are no more chunks to upload\n */\n\n }, {\n key: \"uploadNextChunk\",\n value: function uploadNextChunk() {\n if (this.file.active) {\n if (this.hasChunksToUpload) {\n return this.uploadChunk(this.chunksToUpload[0]);\n }\n\n if (this.chunksUploading.length === 0) {\n return this.finish();\n }\n }\n }\n /**\n * Uploads a chunk\n * - Sends the chunk to the backend\n * - Sets the chunk as uploaded if everything went well\n * - Decreases the number of retries if anything went wrong\n * - Fails if there are no more retries\n *\n * @param {Object} chunk\n */\n\n }, {\n key: \"uploadChunk\",\n value: function uploadChunk(chunk) {\n var _this4 = this;\n\n chunk.progress = 0;\n chunk.active = true;\n this.updateFileProgress();\n chunk.xhr = createRequest({\n method: 'POST',\n headers: this.headers,\n url: this.action\n });\n chunk.xhr.upload.addEventListener('progress', function (evt) {\n if (evt.lengthComputable) {\n chunk.progress = Math.round(evt.loaded / evt.total * 100);\n }\n }, false);\n sendFormRequest(chunk.xhr, Object.assign(this.uploadBody, {\n phase: 'upload',\n session_id: this.sessionId,\n start_offset: chunk.startOffset,\n chunk: chunk.blob\n })).then(function (res) {\n chunk.active = false;\n\n if (res.status === 'success') {\n chunk.uploaded = true;\n } else {\n if (chunk.retries-- <= 0) {\n _this4.stopChunks();\n\n return _this4.reject('upload');\n }\n }\n\n _this4.uploadNextChunk();\n }).catch(function () {\n chunk.active = false;\n\n if (chunk.retries-- <= 0) {\n _this4.stopChunks();\n\n return _this4.reject('upload');\n }\n\n _this4.uploadNextChunk();\n });\n }\n /**\n * Finish phase\n * Sends a request to the backend to finish the process\n */\n\n }, {\n key: \"finish\",\n value: function finish() {\n var _this5 = this;\n\n this.updateFileProgress();\n this.stopSpeedCalc();\n request({\n method: 'POST',\n headers: _objectSpread2(_objectSpread2({}, this.headers), {}, {\n 'Content-Type': 'application/json'\n }),\n url: this.action,\n body: Object.assign(this.finishBody, {\n phase: 'finish',\n session_id: this.sessionId\n })\n }).then(function (res) {\n _this5.file.response = res;\n\n if (res.status !== 'success') {\n return _this5.reject('server');\n }\n\n _this5.resolve(res);\n }).catch(function (res) {\n _this5.file.response = res;\n\n _this5.reject('server');\n });\n }\n /**\n * Sets an interval to calculate and\n * set upload speed every 3 seconds\n */\n\n }, {\n key: \"startSpeedCalc\",\n value: function startSpeedCalc() {\n var _this6 = this;\n\n this.file.speed = 0;\n var lastUploadedBytes = 0;\n\n if (!this.speedInterval) {\n this.speedInterval = window.setInterval(function () {\n var uploadedBytes = _this6.progress / 100 * _this6.fileSize;\n _this6.file.speed = uploadedBytes - lastUploadedBytes;\n lastUploadedBytes = uploadedBytes;\n }, 1000);\n }\n }\n /**\n * Removes the upload speed interval\n */\n\n }, {\n key: \"stopSpeedCalc\",\n value: function stopSpeedCalc() {\n this.speedInterval && window.clearInterval(this.speedInterval);\n this.speedInterval = null;\n this.file.speed = 0;\n }\n }]);\n\n return ChunkUploadHandler;\n}();\n\nvar CHUNK_DEFAULT_OPTIONS = {\n headers: {},\n action: '',\n minSize: 1048576,\n maxActive: 3,\n maxRetries: 5,\n handler: ChunkUploadHandler\n};\nvar script = defineComponent({\n props: {\n inputId: {\n type: String\n },\n name: {\n type: String,\n default: 'file'\n },\n accept: {\n type: String\n },\n capture: {},\n disabled: {\n default: false\n },\n multiple: {\n type: Boolean,\n default: false\n },\n maximum: {\n type: Number\n },\n addIndex: {\n type: [Boolean, Number]\n },\n directory: {\n type: Boolean\n },\n createDirectory: {\n type: Boolean,\n default: false\n },\n postAction: {\n type: String\n },\n putAction: {\n type: String\n },\n customAction: {\n type: Function\n },\n headers: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n data: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n timeout: {\n type: Number,\n default: 0\n },\n drop: {\n type: [Boolean, String, HTMLElement],\n default: function _default() {\n return false;\n }\n },\n dropDirectory: {\n type: Boolean,\n default: true\n },\n size: {\n type: Number,\n default: 0\n },\n extensions: {\n type: [RegExp, String, Array],\n default: function _default() {\n return [];\n }\n },\n modelValue: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n thread: {\n type: Number,\n default: 1\n },\n // Chunk upload enabled\n chunkEnabled: {\n type: Boolean,\n default: false\n },\n // Chunk upload properties\n chunk: {\n type: Object,\n default: function _default() {\n return CHUNK_DEFAULT_OPTIONS;\n }\n }\n },\n emits: ['update:modelValue', 'input-filter', 'input-file'],\n data: function data() {\n return {\n files: this.modelValue,\n features: {\n html5: true,\n directory: false,\n drop: false\n },\n active: false,\n dropActive: false,\n uploading: 0,\n destroy: false,\n maps: {},\n dropElement: null,\n dropTimeout: null,\n reload: false\n };\n },\n\n /**\r\n * mounted\r\n * @return {[type]} [description]\r\n */\n mounted: function mounted() {\n var _this7 = this;\n\n var input = document.createElement('input');\n input.type = 'file';\n input.multiple = true; // html5 特征\n\n if (window.FormData && input.files) {\n // 上传目录特征\n // @ts-ignore\n if (typeof input.webkitdirectory === 'boolean' || typeof input.directory === 'boolean') {\n this.features.directory = true;\n } // 拖拽特征\n\n\n if (this.features.html5 && typeof input.ondrop !== 'undefined') {\n this.features.drop = true;\n }\n } else {\n this.features.html5 = false;\n } // files 定位缓存\n\n\n this.maps = {};\n\n if (this.files) {\n for (var i = 0; i < this.files.length; i++) {\n var file = this.files[i];\n this.maps[file.id] = file;\n }\n } // @ts-ignore\n\n\n this.$nextTick(function () {\n // 更新下父级\n if (_this7.$parent) {\n _this7.$parent.$forceUpdate(); // 拖拽渲染\n\n\n _this7.$parent.$nextTick(function () {\n _this7.watchDrop(_this7.drop);\n });\n } else {\n // 拖拽渲染\n _this7.watchDrop(_this7.drop);\n }\n });\n },\n\n /**\r\n * beforeUnmount\r\n * @return {[type]} [description]\r\n */\n beforeUnmount: function beforeUnmount() {\n // 已销毁\n this.destroy = true; // 设置成不激活\n\n this.active = false; // 销毁拖拽事件\n\n this.watchDrop(false); // 销毁不激活\n\n this.watchActive(false);\n },\n computed: {\n /**\r\n * uploading 正在上传的线程\r\n * @return {[type]} [description]\r\n */\n\n /**\r\n * uploaded 文件列表是否全部已上传\r\n * @return {[type]} [description]\r\n */\n uploaded: function uploaded() {\n var file;\n\n for (var i = 0; i < this.files.length; i++) {\n file = this.files[i];\n\n if (file.fileObject && !file.error && !file.success) {\n return false;\n }\n }\n\n return true;\n },\n chunkOptions: function chunkOptions() {\n return Object.assign(CHUNK_DEFAULT_OPTIONS, this.chunk);\n },\n className: function className() {\n return ['file-uploads', this.features.html5 ? 'file-uploads-html5' : 'file-uploads-html4', this.features.directory && this.directory ? 'file-uploads-directory' : undefined, this.features.drop && this.drop ? 'file-uploads-drop' : undefined, this.disabled ? 'file-uploads-disabled' : undefined];\n },\n forId: function forId() {\n return this.inputId || this.name;\n },\n iMaximum: function iMaximum() {\n if (this.maximum === undefined) {\n return this.multiple ? 0 : 1;\n }\n\n return this.maximum;\n },\n iExtensions: function iExtensions() {\n if (!this.extensions) {\n return;\n }\n\n if (this.extensions instanceof RegExp) {\n return this.extensions;\n }\n\n if (!this.extensions.length) {\n return;\n }\n\n var exts = [];\n\n if (typeof this.extensions === 'string') {\n exts = this.extensions.split(',');\n } else {\n exts = this.extensions;\n }\n\n exts = exts.map(function (value) {\n return value.trim();\n }).filter(function (value) {\n return value;\n });\n return new RegExp('\\\\.(' + exts.join('|').replace(/\\./g, '\\\\.') + ')$', 'i');\n },\n iDirectory: function iDirectory() {\n if (this.directory && this.features.directory) {\n return true;\n }\n\n return undefined;\n }\n },\n watch: {\n active: function active(_active) {\n this.watchActive(_active);\n },\n dropActive: function dropActive(value) {\n this.watchDropActive(value);\n\n if (this.$parent) {\n this.$parent.$forceUpdate();\n }\n },\n drop: function drop(value) {\n this.watchDrop(value);\n },\n modelValue: function modelValue(files) {\n if (this.files === files) {\n return;\n }\n\n this.files = files;\n var oldMaps = this.maps; // 重写 maps 缓存\n\n this.maps = {};\n\n for (var i = 0; i < this.files.length; i++) {\n var file = this.files[i];\n this.maps[file.id] = file;\n } // add, update\n\n\n for (var key in this.maps) {\n var newFile = this.maps[key];\n var oldFile = oldMaps[key];\n\n if (newFile !== oldFile) {\n this.emitFile(newFile, oldFile);\n }\n } // delete\n\n\n for (var _key in oldMaps) {\n if (!this.maps[_key]) {\n this.emitFile(undefined, oldMaps[_key]);\n }\n }\n }\n },\n methods: {\n newId: function newId() {\n return Math.random().toString(36).substr(2);\n },\n // 清空\n clear: function clear() {\n if (this.files.length) {\n var files = this.files;\n this.files = []; // 定位\n\n this.maps = {}; // 事件\n\n this.emitInput();\n\n for (var i = 0; i < files.length; i++) {\n this.emitFile(undefined, files[i]);\n }\n }\n\n return true;\n },\n // 选择\n get: function get(id) {\n if (!id) {\n return false;\n }\n\n if (_typeof(id) === 'object') {\n return this.maps[id.id || ''] || false;\n }\n\n return this.maps[id] || false;\n },\n // 添加\n add: function add(_files, index) {\n // 不是数组整理成数组\n var files;\n\n if (_files instanceof Array) {\n files = _files;\n } else {\n files = [_files];\n }\n\n if (index === undefined) {\n // eslint-disable-next-line\n index = this.addIndex;\n } // 遍历规范对象\n\n\n var addFiles = [];\n\n for (var i = 0; i < files.length; i++) {\n var file = files[i];\n\n if (this.features.html5 && file instanceof Blob) {\n file = {\n id: '',\n file: file,\n size: file.size,\n // @ts-ignore\n name: file.webkitRelativePath || file.relativePath || file.name || 'unknown',\n type: file.type\n };\n }\n\n file = file;\n var fileObject = false;\n if (file.fileObject === false) ;else if (file.fileObject) {\n fileObject = true;\n } else if (typeof Element !== 'undefined' && file.el instanceof HTMLInputElement) {\n fileObject = true;\n } else if (typeof Blob !== 'undefined' && file.file instanceof Blob) {\n fileObject = true;\n }\n\n if (fileObject) {\n file = _objectSpread(_objectSpread({\n fileObject: true,\n size: -1,\n name: 'Filename',\n type: '',\n active: false,\n error: '',\n success: false,\n putAction: this.putAction,\n postAction: this.postAction,\n timeout: this.timeout\n }, file), {}, {\n response: {},\n progress: '0.00',\n speed: 0 // 只读\n // file: undefined,\n // xhr: undefined,\n // el: undefined,\n // iframe: undefined,\n\n });\n file.data = _objectSpread(_objectSpread({}, this.data), file.data ? file.data : {});\n file.headers = _objectSpread(_objectSpread({}, this.headers), file.headers ? file.headers : {});\n } // 必须包含 id\n\n\n if (!file.id) {\n file.id = this.newId();\n }\n\n if (this.emitFilter(file, undefined)) {\n continue;\n } // 最大数量限制\n\n\n if (this.iMaximum > 1 && addFiles.length + this.files.length >= this.iMaximum) {\n break;\n }\n\n addFiles.push(file); // 最大数量限制\n\n if (this.iMaximum === 1) {\n break;\n }\n } // 没有文件\n\n\n if (!addFiles.length) {\n return;\n } // 如果是 1 清空\n\n\n if (this.iMaximum === 1) {\n this.clear();\n } // 添加进去 files\n\n\n var newFiles;\n\n if (index === true || index === 0) {\n newFiles = addFiles.concat(this.files);\n } else if (index) {\n var _newFiles;\n\n newFiles = this.files.concat([]);\n\n (_newFiles = newFiles).splice.apply(_newFiles, [index, 0].concat(_toConsumableArray(addFiles)));\n } else {\n newFiles = this.files.concat(addFiles);\n }\n\n this.files = newFiles; // 读取代理后的数据\n\n var index2 = 0;\n\n if (index === true || index === 0) {\n index2 = 0;\n } else if (index) {\n if (index >= 0) {\n if (index + addFiles.length > this.files.length) {\n index2 = this.files.length - addFiles.length;\n } else {\n index2 = index;\n }\n } else {\n index2 = this.files.length - addFiles.length + index;\n\n if (index2 < 0) {\n index2 = 0;\n }\n }\n } else {\n index2 = this.files.length - addFiles.length;\n }\n\n addFiles = this.files.slice(index2, index2 + addFiles.length); // 定位\n\n for (var _i = 0; _i < addFiles.length; _i++) {\n var _file = addFiles[_i];\n this.maps[_file.id] = _file;\n } // 事件\n\n\n this.emitInput();\n\n for (var _i2 = 0; _i2 < addFiles.length; _i2++) {\n this.emitFile(addFiles[_i2], undefined);\n }\n\n return _files instanceof Array ? addFiles : addFiles[0];\n },\n // 添加表单文件\n addInputFile: function addInputFile(el) {\n var _this8 = this;\n\n var files = [];\n this.iMaximum; // @ts-ignore\n\n var entrys = el.webkitEntries || el.entries || undefined;\n\n if (entrys !== null && entrys !== void 0 && entrys.length) {\n return this.getFileSystemEntry(entrys).then(function (files) {\n return _this8.add(files);\n });\n }\n\n if (el.files) {\n for (var i = 0; i < el.files.length; i++) {\n var file = el.files[i];\n files.push({\n id: '',\n size: file.size,\n // @ts-ignore\n name: file.webkitRelativePath || file.relativePath || file.name,\n type: file.type,\n file: file\n });\n }\n } else {\n var names = el.value.replace(/\\\\/g, '/').split('/');\n\n if (!names || !names.length) {\n names = [el.value];\n } // @ts-ignore\n\n\n delete el.__vuex__;\n files.push({\n id: '',\n name: names[names.length - 1],\n el: el\n });\n }\n\n return Promise.resolve(this.add(files));\n },\n // 添加 DataTransfer\n addDataTransfer: function addDataTransfer(dataTransfer) {\n var _dataTransfer$items,\n _this9 = this;\n\n // dataTransfer.items 支持\n if (dataTransfer !== null && dataTransfer !== void 0 && (_dataTransfer$items = dataTransfer.items) !== null && _dataTransfer$items !== void 0 && _dataTransfer$items.length) {\n var entrys = []; // 遍历出所有 dataTransferVueUploadItem\n\n for (var i = 0; i < dataTransfer.items.length; i++) {\n var dataTransferTtem = dataTransfer.items[i];\n var entry = void 0; // @ts-ignore\n\n if (dataTransferTtem.getAsEntry) {\n // @ts-ignore\n entry = dataTransferTtem.getAsEntry() || dataTransferTtem.getAsFile();\n } else if (dataTransferTtem.webkitGetAsEntry) {\n entry = dataTransferTtem.webkitGetAsEntry() || dataTransferTtem.getAsFile();\n } else {\n entry = dataTransferTtem.getAsFile();\n }\n\n if (entry) {\n entrys.push(entry);\n }\n }\n\n return this.getFileSystemEntry(entrys).then(function (files) {\n return _this9.add(files);\n });\n } // dataTransfer.files 支持\n\n\n var maximumValue = this.iMaximum;\n var files = [];\n\n if (dataTransfer.files.length) {\n for (var _i3 = 0; _i3 < dataTransfer.files.length; _i3++) {\n files.push(dataTransfer.files[_i3]);\n\n if (maximumValue > 0 && files.length >= maximumValue) {\n break;\n }\n }\n\n return Promise.resolve(this.add(files));\n }\n\n return Promise.resolve([]);\n },\n // 获得 entrys \n getFileSystemEntry: function getFileSystemEntry(entry) {\n var _this10 = this;\n\n var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n // getFileSystemEntry(entry: any, path = ''): Promise {\n return new Promise(function (resolve) {\n var maximumValue = _this10.iMaximum;\n\n if (!entry) {\n resolve([]);\n return;\n }\n\n if (entry instanceof Array) {\n // 多个\n var uploadFiles = [];\n\n var forEach = function forEach(i) {\n var v = entry[i];\n\n if (!v || maximumValue > 0 && uploadFiles.length >= maximumValue) {\n return resolve(uploadFiles);\n }\n\n _this10.getFileSystemEntry(v, path).then(function (results) {\n uploadFiles.push.apply(uploadFiles, _toConsumableArray(results));\n forEach(i + 1);\n });\n };\n\n forEach(0);\n return;\n }\n\n if (entry instanceof Blob) {\n resolve([{\n id: '',\n size: entry.size,\n // @ts-ignore\n name: path + entry.name,\n type: entry.type,\n file: entry\n }]);\n return;\n }\n\n if (entry.isFile) {\n var fileEntry = entry;\n fileEntry.file(function (file) {\n resolve([{\n id: '',\n size: file.size,\n name: path + file.name,\n type: file.type,\n file: file\n }]);\n });\n return;\n }\n\n if (entry.isDirectory && _this10.dropDirectory) {\n var directoryEntry = entry;\n var _uploadFiles = []; // 目录也要添加到文件列表\n\n if (_this10.createDirectory) {\n _uploadFiles.push({\n id: '',\n name: path + directoryEntry.name,\n size: 0,\n type: 'text/directory',\n file: new File([], path + directoryEntry.name, {\n type: 'text/directory'\n })\n });\n }\n\n var dirReader = directoryEntry.createReader();\n\n var readEntries = function readEntries() {\n dirReader.readEntries(function (entries) {\n var forEach = function forEach(i) {\n if (!entries[i] && i === 0 || maximumValue > 0 && _uploadFiles.length >= maximumValue) {\n return resolve(_uploadFiles);\n }\n\n if (!entries[i]) {\n return readEntries();\n }\n\n _this10.getFileSystemEntry(entries[i], path + directoryEntry.name + '/').then(function (results) {\n _uploadFiles.push.apply(_uploadFiles, _toConsumableArray(results));\n\n forEach(i + 1);\n });\n };\n\n forEach(0);\n });\n };\n\n readEntries();\n return;\n }\n\n resolve([]);\n });\n },\n // 替换\n replace: function replace(id1, id2) {\n var file1 = this.get(id1);\n var file2 = this.get(id2);\n\n if (!file1 || !file2 || file1 === file2) {\n return false;\n }\n\n var files = this.files.concat([]);\n var index1 = files.indexOf(file1);\n var index2 = files.indexOf(file2);\n\n if (index1 === -1 || index2 === -1) {\n return false;\n }\n\n files[index1] = file2;\n files[index2] = file1;\n this.files = files;\n this.emitInput();\n return true;\n },\n // 移除\n remove: function remove(id) {\n var file = this.get(id);\n\n if (file) {\n if (this.emitFilter(undefined, file)) {\n return false;\n }\n\n var files = this.files.concat([]);\n var index = files.indexOf(file);\n\n if (index === -1) {\n console.error('remove', file);\n return false;\n }\n\n files.splice(index, 1);\n this.files = files; // 定位\n\n delete this.maps[file.id]; // 事件\n\n this.emitInput();\n this.emitFile(undefined, file);\n }\n\n return file;\n },\n // 更新\n update: function update(id, data) {\n var file = this.get(id);\n\n if (file) {\n var newFile = _objectSpread(_objectSpread({}, file), data); // 停用必须加上错误\n\n\n if (file.fileObject && file.active && !newFile.active && !newFile.error && !newFile.success) {\n newFile.error = 'abort';\n }\n\n if (this.emitFilter(newFile, file)) {\n return false;\n }\n\n var files = this.files.concat([]);\n var index = files.indexOf(file);\n\n if (index === -1) {\n console.error('update', file);\n return false;\n }\n\n files.splice(index, 1, newFile);\n this.files = files;\n newFile = this.files[index]; // 删除 旧定位 写入 新定位 (已便支持修改id)\n\n delete this.maps[file.id];\n this.maps[newFile.id] = newFile; // 事件\n\n this.emitInput();\n this.emitFile(newFile, file);\n return newFile;\n }\n\n return false;\n },\n // 预处理 事件 过滤器\n emitFilter: function emitFilter(newFile, oldFile) {\n var isPrevent = false;\n this.$emit('input-filter', newFile, oldFile, function () {\n var prevent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n isPrevent = prevent;\n return isPrevent;\n });\n return isPrevent;\n },\n // 处理后 事件 分发\n emitFile: function emitFile(newFile, oldFile) {\n var _newFile,\n _this11 = this;\n\n this.$emit('input-file', newFile, oldFile);\n\n if ((_newFile = newFile) !== null && _newFile !== void 0 && _newFile.fileObject && newFile.active && (!oldFile || !oldFile.active)) {\n this.uploading++; // 激活\n // @ts-ignore\n\n this.$nextTick(function () {\n setTimeout(function () {\n newFile && _this11.upload(newFile).then(function () {\n var _newFile2;\n\n if (newFile) {\n // eslint-disable-next-line\n newFile = _this11.get(newFile) || undefined;\n }\n\n if ((_newFile2 = newFile) !== null && _newFile2 !== void 0 && _newFile2.fileObject) {\n _this11.update(newFile, {\n active: false,\n success: !newFile.error\n });\n }\n }).catch(function (e) {\n newFile && _this11.update(newFile, {\n active: false,\n success: false,\n error: e.code || e.error || e.message || e\n });\n });\n }, Math.ceil(Math.random() * 50 + 50));\n });\n } else if ((!newFile || !newFile.fileObject || !newFile.active) && oldFile && oldFile.fileObject && oldFile.active) {\n // 停止\n this.uploading--;\n } // 自动延续激活\n // @ts-ignore\n\n\n if (this.active && (Boolean(newFile) !== Boolean(oldFile) || newFile.active !== oldFile.active)) {\n this.watchActive(true);\n }\n },\n emitInput: function emitInput() {\n this.$emit('update:modelValue', this.files);\n },\n // 上传\n upload: function upload(id) {\n var file = this.get(id); // 被删除\n\n if (!file) {\n return Promise.reject(new Error('not_exists'));\n } // 不是文件对象\n\n\n if (!file.fileObject) {\n return Promise.reject(new Error('file_object'));\n } // 有错误直接响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return Promise.reject(file.error);\n }\n\n return Promise.reject(new Error(file.error));\n } // 已完成直接响应\n\n\n if (file.success) {\n return Promise.resolve(file);\n } // 后缀\n\n\n if (file.name && this.iExtensions && file.type !== \"text/directory\") {\n if (file.name.search(this.iExtensions) === -1) {\n return Promise.reject(new Error('extension'));\n }\n } // 大小\n\n\n if (this.size > 0 && file.size !== undefined && file.size >= 0 && file.size > this.size && file.type !== \"text/directory\") {\n return Promise.reject(new Error('size'));\n }\n\n if (this.customAction) {\n return this.customAction(file, this);\n }\n\n if (this.features.html5) {\n if (this.shouldUseChunkUpload(file)) {\n return this.uploadChunk(file);\n }\n\n if (file.putAction) {\n return this.uploadPut(file);\n }\n\n if (file.postAction) {\n return this.uploadHtml5(file);\n }\n }\n\n if (file.postAction) {\n return this.uploadHtml4(file);\n }\n\n return Promise.reject(new Error('No action configured'));\n },\n\n /**\r\n * Whether this file should be uploaded using chunk upload or not\r\n *\r\n * @param Object file\r\n */\n shouldUseChunkUpload: function shouldUseChunkUpload(file) {\n return this.chunkEnabled && !!this.chunkOptions.handler && file.size && file.size > this.chunkOptions.minSize;\n },\n\n /**\r\n * Upload a file using Chunk method\r\n *\r\n * @param File file\r\n */\n uploadChunk: function uploadChunk(file) {\n var HandlerClass = this.chunkOptions.handler;\n file.chunk = new HandlerClass(file, this.chunkOptions);\n return file.chunk.upload().then(function (res) {\n return file;\n });\n },\n uploadPut: function uploadPut(file) {\n var querys = [];\n var value;\n\n for (var key in file.data) {\n value = file.data[key];\n\n if (value !== null && value !== undefined) {\n querys.push(encodeURIComponent(key) + '=' + encodeURIComponent(value));\n }\n }\n\n var putAction = file.putAction || '';\n var queryString = querys.length ? (putAction.indexOf('?') === -1 ? '?' : '&') + querys.join('&') : '';\n var xhr = new XMLHttpRequest();\n xhr.open('PUT', putAction + queryString);\n return this.uploadXhr(xhr, file, file.file);\n },\n uploadHtml5: function uploadHtml5(file) {\n var form = new window.FormData();\n var value;\n\n for (var key in file.data) {\n value = file.data[key];\n\n if (value && _typeof(value) === 'object' && typeof value.toString !== 'function') {\n if (value instanceof File) {\n form.append(key, value, value.name);\n } else {\n form.append(key, JSON.stringify(value));\n }\n } else if (value !== null && value !== undefined) {\n form.append(key, value);\n }\n } // Moved file.name as the first option to set the filename of the uploaded file, since file.name\n // contains the full (relative) path of the file not just the filename as in file.file.filename\n // @ts-ignore\n\n\n form.append(this.name, file.file, file.name || file.file.name || file.file.filename);\n var xhr = new XMLHttpRequest();\n xhr.open('POST', file.postAction || '');\n return this.uploadXhr(xhr, file, form);\n },\n uploadXhr: function uploadXhr(xhr, ufile, body) {\n var _this12 = this;\n\n var file = ufile;\n var speedTime = 0;\n var speedLoaded = 0; // 进度条\n\n xhr.upload.onprogress = function (e) {\n // 还未开始上传 已删除 未激活\n if (!file) {\n return;\n }\n\n file = _this12.get(file);\n\n if (!e.lengthComputable || !file || !file.fileObject || !file.active) {\n return;\n } // 进度 速度 每秒更新一次\n\n\n var speedTime2 = Math.round(Date.now() / 1000);\n\n if (speedTime2 === speedTime) {\n return;\n }\n\n speedTime = speedTime2;\n file = _this12.update(file, {\n progress: (e.loaded / e.total * 100).toFixed(2),\n speed: e.loaded - speedLoaded\n });\n speedLoaded = e.loaded;\n }; // 检查激活状态\n\n\n var interval = window.setInterval(function () {\n if (file) {\n if (file = _this12.get(file)) {\n var _file2;\n\n if ((_file2 = file) !== null && _file2 !== void 0 && _file2.fileObject && !file.success && !file.error && file.active) {\n return;\n }\n }\n }\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n }\n\n try {\n xhr.abort();\n xhr.timeout = 1;\n } catch (e) {}\n }, 100);\n return new Promise(function (resolve, reject) {\n if (!file) {\n reject(new Error('not_exists'));\n return;\n }\n\n var complete;\n\n var fn = function fn(e) {\n // 已经处理过了\n if (complete) {\n return;\n }\n\n complete = true;\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n }\n\n if (!file) {\n return reject(new Error('not_exists'));\n }\n\n file = _this12.get(file); // 不存在直接响应\n\n if (!file) {\n return reject(new Error('not_exists'));\n } // 不是文件对象\n\n\n if (!file.fileObject) {\n return reject(new Error('file_object'));\n } // 有错误自动响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 未激活\n\n\n if (!file.active) {\n return reject(new Error('abort'));\n } // 已完成 直接相应\n\n\n if (file.success) {\n return resolve(file);\n }\n\n var data = {};\n\n switch (e.type) {\n case 'timeout':\n case 'abort':\n data.error = e.type;\n break;\n\n case 'error':\n if (!xhr.status) {\n data.error = 'network';\n } else if (xhr.status >= 500) {\n data.error = 'server';\n } else if (xhr.status >= 400) {\n data.error = 'denied';\n }\n\n break;\n\n default:\n if (xhr.status >= 500) {\n data.error = 'server';\n } else if (xhr.status >= 400) {\n data.error = 'denied';\n } else {\n data.progress = '100.00';\n }\n\n }\n\n if (xhr.responseText) {\n var contentType = xhr.getResponseHeader('Content-Type');\n\n if (contentType && contentType.indexOf('/json') !== -1) {\n data.response = JSON.parse(xhr.responseText);\n } else {\n data.response = xhr.responseText;\n }\n } // 更新\n // @ts-ignore\n\n\n file = _this12.update(file, data);\n\n if (!file) {\n return reject(new Error('abort'));\n } // 有错误自动响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 响应\n\n\n return resolve(file);\n }; // 事件\n\n\n xhr.onload = fn;\n xhr.onerror = fn;\n xhr.onabort = fn;\n xhr.ontimeout = fn; // 超时\n\n if (file.timeout) {\n xhr.timeout = file.timeout;\n } // headers\n\n\n for (var key in file.headers) {\n xhr.setRequestHeader(key, file.headers[key]);\n } // 更新 xhr\n // @ts-ignore\n\n\n file = _this12.update(file, {\n xhr: xhr\n }); // 开始上传\n\n file && xhr.send(body);\n });\n },\n uploadHtml4: function uploadHtml4(ufile) {\n var _this13 = this;\n\n var file = ufile;\n\n if (!file) {\n return Promise.reject(new Error('not_exists'));\n }\n\n var onKeydown = function onKeydown(e) {\n if (e.keyCode === 27) {\n e.preventDefault();\n }\n };\n\n var iframe = document.createElement('iframe');\n iframe.id = 'upload-iframe-' + file.id;\n iframe.name = 'upload-iframe-' + file.id;\n iframe.src = 'about:blank';\n iframe.setAttribute('style', 'width:1px;height:1px;top:-999em;position:absolute; margin-top:-999em;');\n var form = document.createElement('form');\n form.setAttribute('action', file.postAction || '');\n form.name = 'upload-form-' + file.id;\n form.setAttribute('method', 'POST');\n form.setAttribute('target', 'upload-iframe-' + file.id);\n form.setAttribute('enctype', 'multipart/form-data');\n\n for (var key in file.data) {\n var value = file.data[key];\n\n if (value && _typeof(value) === 'object' && typeof value.toString !== 'function') {\n value = JSON.stringify(value);\n }\n\n if (value !== null && value !== undefined) {\n var el = document.createElement('input');\n el.type = 'hidden';\n el.name = key;\n el.value = value;\n form.appendChild(el);\n }\n }\n\n form.appendChild(file.el);\n document.body.appendChild(iframe).appendChild(form);\n\n var getResponseData = function getResponseData() {\n var _doc;\n\n var doc;\n\n try {\n if (iframe.contentWindow) {\n doc = iframe.contentWindow.document;\n }\n } catch (err) {}\n\n if (!doc) {\n try {\n // @ts-ignore\n doc = iframe.contentDocument ? iframe.contentDocument : iframe.document;\n } catch (err) {\n // @ts-ignore\n doc = iframe.document;\n }\n } // @ts-ignore\n\n\n if ((_doc = doc) !== null && _doc !== void 0 && _doc.body) {\n return doc.body.innerHTML;\n }\n\n return null;\n };\n\n return new Promise(function (resolve, reject) {\n setTimeout(function () {\n if (!file) {\n reject(new Error('not_exists'));\n return;\n }\n\n file = _this13.update(file, {\n iframe: iframe\n }); // 不存在\n\n if (!file) {\n return reject(new Error('not_exists'));\n } // 定时检查\n\n\n var interval = window.setInterval(function () {\n if (file) {\n if (file = _this13.get(file)) {\n if (file.fileObject && !file.success && !file.error && file.active) {\n return;\n }\n }\n }\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n } // @ts-ignore\n\n\n iframe.onabort({\n type: file ? 'abort' : 'not_exists'\n });\n }, 100);\n var complete;\n\n var fn = function fn(e) {\n var _file3;\n\n // 已经处理过了\n if (complete) {\n return;\n }\n\n complete = true;\n\n if (interval) {\n clearInterval(interval);\n interval = undefined;\n } // 关闭 esc 事件\n\n\n document.body.removeEventListener('keydown', onKeydown);\n\n if (!file) {\n return reject(new Error('not_exists'));\n }\n\n file = _this13.get(file); // 不存在直接响应\n\n if (!file) {\n return reject(new Error('not_exists'));\n } // 不是文件对象\n\n\n if (!file.fileObject) {\n return reject(new Error('file_object'));\n } // 有错误自动响应\n\n\n if (file.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 未激活\n\n\n if (!file.active) {\n return reject(new Error('abort'));\n } // 已完成 直接相应\n\n\n if (file.success) {\n return resolve(file);\n }\n\n var response = getResponseData();\n var data = {};\n\n if (typeof e === 'string') {\n return reject(new Error(e));\n }\n\n switch (e.type) {\n case 'abort':\n data.error = 'abort';\n break;\n\n case 'error':\n if (file.error) {\n data.error = file.error;\n } else if (response === null) {\n data.error = 'network';\n } else {\n data.error = 'denied';\n }\n\n break;\n\n default:\n if (file.error) {\n data.error = file.error;\n } else if (response === null) {\n data.error = 'network';\n } else {\n data.progress = '100.00';\n }\n\n }\n\n if (response !== null) {\n if (response && response.substr(0, 1) === '{' && response.substr(response.length - 1, 1) === '}') {\n try {\n response = JSON.parse(response);\n } catch (err) {}\n }\n\n data.response = response;\n } // 更新\n\n\n file = _this13.update(file, data);\n\n if (!file) {\n return reject(new Error('not_exists'));\n }\n\n if ((_file3 = file) !== null && _file3 !== void 0 && _file3.error) {\n if (file.error instanceof Error) {\n return reject(file.error);\n }\n\n return reject(new Error(file.error));\n } // 响应\n\n\n return resolve(file);\n }; // 添加事件\n\n\n iframe.onload = fn;\n iframe.onerror = fn;\n iframe.onabort = fn; // 禁止 esc 键\n\n document.body.addEventListener('keydown', onKeydown); // 提交\n\n form.submit();\n }, 50);\n }).then(function (res) {\n var _iframe$parentNode;\n\n iframe === null || iframe === void 0 ? void 0 : (_iframe$parentNode = iframe.parentNode) === null || _iframe$parentNode === void 0 ? void 0 : _iframe$parentNode.removeChild(iframe);\n return res;\n }).catch(function (res) {\n var _iframe$parentNode2;\n\n iframe === null || iframe === void 0 ? void 0 : (_iframe$parentNode2 = iframe.parentNode) === null || _iframe$parentNode2 === void 0 ? void 0 : _iframe$parentNode2.removeChild(iframe);\n return res;\n });\n },\n watchActive: function watchActive(active) {\n var file;\n var index = 0;\n\n while (file = this.files[index]) {\n index++;\n if (!file.fileObject) ;else if (active && !this.destroy) {\n if (this.uploading >= this.thread || this.uploading && !this.features.html5) {\n break;\n }\n\n if (!file.active && !file.error && !file.success) {\n this.update(file, {\n active: true\n });\n }\n } else {\n if (file.active) {\n this.update(file, {\n active: false\n });\n }\n }\n }\n\n if (this.uploading === 0) {\n this.active = false;\n }\n },\n watchDrop: function watchDrop(newDrop) {\n var oldDrop = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n\n if (!this.features.drop) {\n return;\n }\n\n if (newDrop === oldDrop) {\n return;\n } // 移除挂载\n\n\n if (this.dropElement) {\n try {\n document.removeEventListener('dragenter', this.onDocumentDragenter, false);\n document.removeEventListener('dragleave', this.onDocumentDragleave, false);\n document.removeEventListener('dragover', this.onDocumentDragover, false);\n document.removeEventListener('drop', this.onDocumentDrop, false);\n this.dropElement.removeEventListener('dragover', this.onDragover, false);\n this.dropElement.removeEventListener('drop', this.onDrop, false);\n } catch (e) {}\n }\n\n var el = null;\n if (!newDrop) ;else if (typeof newDrop === 'string') {\n // @ts-ignore\n el = document.querySelector(newDrop) || this.$root.$el.querySelector(newDrop);\n } else if (newDrop === true) {\n var _el;\n\n // @ts-ignore\n el = this.$parent.$el;\n\n if (!el || ((_el = el) === null || _el === void 0 ? void 0 : _el.nodeType) === 8) {\n var _el2;\n\n // @ts-ignore\n el = this.$root.$el;\n\n if (!el || ((_el2 = el) === null || _el2 === void 0 ? void 0 : _el2.nodeType) === 8) {\n el = document.body;\n }\n }\n } else {\n el = newDrop;\n }\n this.dropElement = el;\n\n if (this.dropElement) {\n document.addEventListener('dragenter', this.onDocumentDragenter, false);\n document.addEventListener('dragleave', this.onDocumentDragleave, false);\n document.addEventListener('dragover', this.onDocumentDragover, false);\n document.addEventListener('drop', this.onDocumentDrop, false);\n this.dropElement.addEventListener('dragover', this.onDragover, false);\n this.dropElement.addEventListener('drop', this.onDrop, false);\n }\n },\n watchDropActive: function watchDropActive(newDropActive, oldDropActive) {\n if (newDropActive === oldDropActive) {\n return;\n }\n\n if (this.dropTimeout) {\n clearTimeout(this.dropTimeout);\n this.dropTimeout = null;\n }\n\n if (newDropActive) {\n // @ts-ignore\n this.dropTimeout = setTimeout(this.onDocumentDrop, 1000);\n }\n },\n onDocumentDragenter: function onDocumentDragenter(e) {\n var _dt$files, _dt$types;\n\n if (this.dropActive) {\n return;\n }\n\n if (!e.dataTransfer) {\n return;\n }\n\n var dt = e.dataTransfer;\n\n if (dt !== null && dt !== void 0 && (_dt$files = dt.files) !== null && _dt$files !== void 0 && _dt$files.length) {\n this.dropActive = true;\n } else if (!dt.types) {\n this.dropActive = true;\n } else if (dt.types.indexOf && dt.types.indexOf('Files') !== -1) {\n this.dropActive = true; // @ts-ignore\n } else if ((_dt$types = dt.types) !== null && _dt$types !== void 0 && _dt$types.contains && dt.types.contains('Files')) {\n this.dropActive = true;\n }\n\n if (this.dropActive) {\n this.watchDropActive(true);\n }\n },\n onDocumentDragleave: function onDocumentDragleave(e) {\n if (!this.dropActive) {\n return;\n } // @ts-ignore\n\n\n if (e.target === e.explicitOriginalTarget || !e.fromElement && (e.clientX <= 0 || e.clientY <= 0 || e.clientX >= window.innerWidth || e.clientY >= window.innerHeight)) {\n this.dropActive = false;\n this.watchDropActive(false);\n }\n },\n onDocumentDragover: function onDocumentDragover() {\n this.watchDropActive(true);\n },\n onDocumentDrop: function onDocumentDrop() {\n this.dropActive = false;\n this.watchDropActive(false);\n },\n onDragover: function onDragover(e) {\n e.preventDefault();\n },\n onDrop: function onDrop(e) {\n e.preventDefault();\n e.dataTransfer && this.addDataTransfer(e.dataTransfer);\n },\n inputOnChange: async function inputOnChange(e) {\n var _this14 = this;\n\n if (!(e.target instanceof HTMLInputElement)) {\n return Promise.reject(new Error(\"not HTMLInputElement\"));\n }\n\n e.target;\n\n var reinput = function reinput(res) {\n _this14.reload = true; // @ts-ignore\n\n _this14.$nextTick(function () {\n _this14.reload = false;\n });\n\n return res;\n };\n\n return this.addInputFile(e.target).then(reinput).catch(reinput);\n }\n }\n});\nvar _hoisted_1 = [\"for\"];\nvar _hoisted_2 = [\"name\", \"id\", \"accept\", \"capture\", \"disabled\", \"webkitdirectory\", \"allowdirs\", \"directory\", \"multiple\"];\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", {\n class: normalizeClass(_ctx.className)\n }, [renderSlot(_ctx.$slots, \"default\"), createElementVNode(\"label\", {\n for: _ctx.forId\n }, null, 8, _hoisted_1), !_ctx.reload ? (openBlock(), createElementBlock(\"input\", {\n key: 0,\n ref: \"input\",\n type: \"file\",\n name: _ctx.name,\n id: _ctx.forId,\n accept: _ctx.accept,\n capture: _ctx.capture,\n disabled: _ctx.disabled,\n webkitdirectory: _ctx.iDirectory,\n allowdirs: _ctx.iDirectory,\n directory: _ctx.iDirectory,\n multiple: _ctx.multiple && _ctx.features.html5,\n onChange: _cache[0] || (_cache[0] = function () {\n return _ctx.inputOnChange && _ctx.inputOnChange.apply(_ctx, arguments);\n })\n }, null, 40, _hoisted_2)) : createCommentVNode(\"\", true)], 2);\n}\n\nfunction styleInject(css, ref) {\n if (ref === void 0) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') {\n return;\n }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar css_248z = \"\";\nstyleInject(css_248z);\nscript.render = render;\nexport { script as default };\n//# sourceMappingURL=vue-upload-component.part.js.map\n"],"names":["defineComponent","openBlock","createElementBlock","normalizeClass","renderSlot","createElementVNode","createCommentVNode"],"mappings":"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"} \ No newline at end of file diff --git a/dist/vue-upload-component.ssr.js b/dist/vue-upload-component.ssr.js index 0547655..9fb7c99 100644 --- a/dist/vue-upload-component.ssr.js +++ b/dist/vue-upload-component.ssr.js @@ -1,7 +1,7 @@ /*! Name: vue-upload-component Component URI: https://github.com/lian-yue/vue-upload-component#readme -Version: 3.1.5 +Version: 3.1.7 Author: LianYue License: Apache-2.0 Description: Vue.js file upload component, Multi-file upload, Upload directory, Drag upload, Drag the directory, Upload multiple files at the same time, html4 (IE 9), `PUT` method, Customize the filter @@ -553,7 +553,10 @@ Description: Vue.js file upload component, Multi-file upload, Upload directory, default: 0, }, drop: { - default: false, + type: [Boolean, String, HTMLElement], + default: () => { + return false; + }, }, dropDirectory: { type: Boolean, diff --git a/dist/vue-upload-component.ssr.js.map b/dist/vue-upload-component.ssr.js.map index 0cc7209..1387f04 100644 --- a/dist/vue-upload-component.ssr.js.map +++ b/dist/vue-upload-component.ssr.js.map @@ -1 +1 @@ -{"version":3,"file":"vue-upload-component.ssr.js","sources":["../src/utils/request.js","../src/chunk/ChunkUploadHandler.js","../src/FileUpload.vue","../node_modules/@vue/shared/dist/shared.esm-bundler.js","../node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.js","../src/FileUpload.vue?vue&type=template&id=4d6f1055&lang.js","../node_modules/style-inject/dist/style-inject.es.js"],"sourcesContent":["/**\n * Creates a XHR request\n *\n * @param {Object} options\n */\nexport const createRequest = (options) => {\n const xhr = new XMLHttpRequest()\n xhr.open(options.method || 'GET', options.url)\n xhr.responseType = 'json'\n if (options.headers) {\n Object.keys(options.headers).forEach(key => {\n xhr.setRequestHeader(key, options.headers[key])\n })\n }\n\n return xhr\n}\n\n/**\n * Sends a XHR request with certain body\n *\n * @param {XMLHttpRequest} xhr\n * @param {Object} body\n */\nexport const sendRequest = (xhr, body) => {\n return new Promise((resolve, reject) => {\n xhr.onload = () => {\n if (xhr.status >= 200 && xhr.status < 300) {\n let response\n try {\n response = JSON.parse(xhr.response)\n } catch (err) {\n response = xhr.response\n }\n resolve(response)\n } else {\n reject(xhr.response)\n }\n }\n xhr.onerror = () => reject(xhr.response)\n xhr.send(JSON.stringify(body))\n })\n}\n\n/**\n * Sends a XHR request with certain form data\n *\n * @param {XMLHttpRequest} xhr\n * @param {Object} data\n */\nexport const sendFormRequest = (xhr, data) => {\n const body = new FormData()\n for (let name in data) {\n body.append(name, data[name])\n }\n\n return new Promise((resolve, reject) => {\n xhr.onload = () => {\n if (xhr.status >= 200 && xhr.status < 300) {\n let response\n try {\n response = JSON.parse(xhr.response)\n } catch (err) {\n response = xhr.response\n }\n resolve(response)\n } else {\n reject(xhr.response)\n }\n }\n xhr.onerror = () => reject(xhr.response)\n xhr.send(body)\n })\n}\n\n/**\n * Creates and sends XHR request\n *\n * @param {Object} options\n *\n * @returns Promise\n */\nexport default function (options) {\n const xhr = createRequest(options)\n\n return sendRequest(xhr, options.body)\n}\n","import {\n default as request,\n createRequest,\n sendFormRequest\n} from '../utils/request'\n\nexport default class ChunkUploadHandler {\n /**\n * Constructor\n *\n * @param {File} file\n * @param {Object} options\n */\n constructor(file, options) {\n this.file = file\n this.options = options\n this.chunks = []\n this.sessionId = null\n this.chunkSize = null\n this.speedInterval = null\n }\n\n /**\n * Gets the max retries from options\n */\n get maxRetries() {\n return parseInt(this.options.maxRetries, 10)\n }\n\n /**\n * Gets the max number of active chunks being uploaded at once from options\n */\n get maxActiveChunks() {\n return parseInt(this.options.maxActive, 10)\n }\n\n /**\n * Gets the file type\n */\n get fileType() {\n return this.file.type\n }\n\n /**\n * Gets the file size\n */\n get fileSize() {\n return this.file.size\n }\n\n /**\n * Gets the file name\n */\n get fileName() {\n return this.file.name\n }\n\n /**\n * Gets action (url) to upload the file\n */\n get action() {\n return this.options.action || null\n }\n\n /**\n * Gets the body to be merged when sending the request in start phase\n */\n get startBody() {\n return this.options.startBody || {}\n }\n\n /**\n * Gets the body to be merged when sending the request in upload phase\n */\n get uploadBody() {\n return this.options.uploadBody || {}\n }\n\n /**\n * Gets the body to be merged when sending the request in finish phase\n */\n get finishBody() {\n return this.options.finishBody || {}\n }\n\n /**\n * Gets the headers of the requests from options\n */\n get headers() {\n return this.options.headers || {}\n }\n\n /**\n * Whether it's ready to upload files or not\n */\n get readyToUpload() {\n return !!this.chunks\n }\n\n /**\n * Gets the progress of the chunk upload\n * - Gets all the completed chunks\n * - Gets the progress of all the chunks that are being uploaded\n */\n get progress() {\n const completedProgress = (this.chunksUploaded.length / this.chunks.length) * 100\n const uploadingProgress = this.chunksUploading.reduce((progress, chunk) => {\n return progress + ((chunk.progress | 0) / this.chunks.length)\n }, 0)\n\n return Math.min(completedProgress + uploadingProgress, 100)\n }\n\n /**\n * Gets all the chunks that are pending to be uploaded\n */\n get chunksToUpload() {\n return this.chunks.filter(chunk => {\n return !chunk.active && !chunk.uploaded\n })\n }\n\n /**\n * Whether there are chunks to upload or not\n */\n get hasChunksToUpload() {\n return this.chunksToUpload.length > 0\n }\n\n /**\n * Gets all the chunks that are uploading\n */\n get chunksUploading() {\n return this.chunks.filter(chunk => {\n return !!chunk.xhr && !!chunk.active\n })\n }\n\n /**\n * Gets all the chunks that have finished uploading\n */\n get chunksUploaded() {\n return this.chunks.filter(chunk => {\n return !!chunk.uploaded\n })\n }\n\n /**\n * Creates all the chunks in the initial state\n */\n createChunks() {\n this.chunks = []\n\n let start = 0\n let end = this.chunkSize\n while (start < this.fileSize) {\n this.chunks.push({\n blob: this.file.file.slice(start, end),\n startOffset: start,\n active: false,\n retries: this.maxRetries\n })\n start = end\n end = start + this.chunkSize\n }\n }\n\n /**\n * Updates the progress of the file with the handler's progress\n */\n updateFileProgress() {\n this.file.progress = this.progress\n }\n\n /**\n * Paues the upload process\n * - Stops all active requests\n * - Sets the file not active\n */\n pause() {\n this.file.active = false\n this.stopChunks()\n }\n\n /**\n * Stops all the current chunks\n */\n stopChunks() {\n this.chunksUploading.forEach(chunk => {\n chunk.xhr.abort()\n chunk.active = false\n })\n\n this.stopSpeedCalc()\n }\n\n /**\n * Resumes the file upload\n * - Sets the file active\n * - Starts the following chunks\n */\n resume() {\n this.file.active = true\n this.startChunking()\n }\n\n /**\n * Starts the file upload\n *\n * @returns Promise\n * - resolve The file was uploaded\n * - reject The file upload failed\n */\n upload() {\n this.promise = new Promise((resolve, reject) => {\n this.resolve = resolve\n this.reject = reject\n })\n this.start()\n\n return this.promise\n }\n\n /**\n * Start phase\n * Sends a request to the backend to initialise the chunks\n */\n start() {\n request({\n method: 'POST',\n headers: { ...this.headers, 'Content-Type': 'application/json'},\n url: this.action,\n body: Object.assign(this.startBody, {\n phase: 'start',\n mime_type: this.fileType,\n size: this.fileSize,\n name: this.fileName\n })\n }).then(res => {\n if (res.status !== 'success') {\n this.file.response = res\n return this.reject('server')\n }\n\n this.sessionId = res.data.session_id\n this.chunkSize = res.data.end_offset\n\n this.createChunks()\n this.startChunking()\n }).catch(res => {\n this.file.response = res\n this.reject('server')\n })\n }\n\n /**\n * Starts to upload chunks\n */\n startChunking() {\n for (let i = 0; i < this.maxActiveChunks; i++) {\n this.uploadNextChunk()\n }\n\n this.startSpeedCalc()\n }\n\n /**\n * Uploads the next chunk\n * - Won't do anything if the process is paused\n * - Will start finish phase if there are no more chunks to upload\n */\n uploadNextChunk() {\n if (this.file.active) {\n if (this.hasChunksToUpload) {\n return this.uploadChunk(this.chunksToUpload[0])\n }\n\n if (this.chunksUploading.length === 0) {\n return this.finish()\n }\n }\n }\n\n /**\n * Uploads a chunk\n * - Sends the chunk to the backend\n * - Sets the chunk as uploaded if everything went well\n * - Decreases the number of retries if anything went wrong\n * - Fails if there are no more retries\n *\n * @param {Object} chunk\n */\n uploadChunk(chunk) {\n chunk.progress = 0\n chunk.active = true\n this.updateFileProgress()\n chunk.xhr = createRequest({\n method: 'POST',\n headers: this.headers,\n url: this.action\n })\n\n chunk.xhr.upload.addEventListener('progress', function (evt) {\n if (evt.lengthComputable) {\n chunk.progress = Math.round(evt.loaded / evt.total * 100)\n }\n }, false)\n\n sendFormRequest(chunk.xhr, Object.assign(this.uploadBody, {\n phase: 'upload',\n session_id: this.sessionId,\n start_offset: chunk.startOffset,\n chunk: chunk.blob\n })).then(res => {\n chunk.active = false\n if (res.status === 'success') {\n chunk.uploaded = true\n } else {\n if (chunk.retries-- <= 0) {\n this.stopChunks()\n return this.reject('upload')\n }\n }\n\n this.uploadNextChunk()\n }).catch(() => {\n chunk.active = false\n if (chunk.retries-- <= 0) {\n this.stopChunks()\n return this.reject('upload')\n }\n\n this.uploadNextChunk()\n })\n }\n\n /**\n * Finish phase\n * Sends a request to the backend to finish the process\n */\n finish() {\n this.updateFileProgress()\n this.stopSpeedCalc()\n\n request({\n method: 'POST',\n headers: { ...this.headers, 'Content-Type': 'application/json' },\n url: this.action,\n body: Object.assign(this.finishBody, {\n phase: 'finish',\n session_id: this.sessionId\n })\n }).then(res => {\n this.file.response = res\n if (res.status !== 'success') {\n return this.reject('server')\n }\n\n this.resolve(res)\n }).catch(res => {\n this.file.response = res\n this.reject('server')\n })\n }\n\n\n /**\n * Sets an interval to calculate and\n * set upload speed every 3 seconds\n */\n startSpeedCalc() {\n this.file.speed = 0\n let lastUploadedBytes = 0\n if (!this.speedInterval) {\n this.speedInterval = window.setInterval(() => {\n let uploadedBytes = (this.progress / 100) * this.fileSize\n this.file.speed = (uploadedBytes - lastUploadedBytes)\n lastUploadedBytes = uploadedBytes\n }, 1000)\n }\n }\n\n /**\n * Removes the upload speed interval\n */\n stopSpeedCalc() {\n this.speedInterval && window.clearInterval(this.speedInterval)\n this.speedInterval = null\n this.file.speed = 0\n }\n}\n","\n\n\n","/**\r\n * Make a map and return a function for checking if a key\r\n * is in that map.\r\n * IMPORTANT: all calls of this function must be prefixed with\r\n * \\/\\*#\\_\\_PURE\\_\\_\\*\\/\r\n * So that rollup can tree-shake them if necessary.\r\n */\r\nfunction makeMap(str, expectsLowerCase) {\r\n const map = Object.create(null);\r\n const list = str.split(',');\r\n for (let i = 0; i < list.length; i++) {\r\n map[list[i]] = true;\r\n }\r\n return expectsLowerCase ? val => !!map[val.toLowerCase()] : val => !!map[val];\r\n}\n\n/**\r\n * dev only flag -> name mapping\r\n */\r\nconst PatchFlagNames = {\r\n [1 /* TEXT */]: `TEXT`,\r\n [2 /* CLASS */]: `CLASS`,\r\n [4 /* STYLE */]: `STYLE`,\r\n [8 /* PROPS */]: `PROPS`,\r\n [16 /* FULL_PROPS */]: `FULL_PROPS`,\r\n [32 /* HYDRATE_EVENTS */]: `HYDRATE_EVENTS`,\r\n [64 /* STABLE_FRAGMENT */]: `STABLE_FRAGMENT`,\r\n [128 /* KEYED_FRAGMENT */]: `KEYED_FRAGMENT`,\r\n [256 /* UNKEYED_FRAGMENT */]: `UNKEYED_FRAGMENT`,\r\n [512 /* NEED_PATCH */]: `NEED_PATCH`,\r\n [1024 /* DYNAMIC_SLOTS */]: `DYNAMIC_SLOTS`,\r\n [2048 /* DEV_ROOT_FRAGMENT */]: `DEV_ROOT_FRAGMENT`,\r\n [-1 /* HOISTED */]: `HOISTED`,\r\n [-2 /* BAIL */]: `BAIL`\r\n};\n\n/**\r\n * Dev only\r\n */\r\nconst slotFlagsText = {\r\n [1 /* STABLE */]: 'STABLE',\r\n [2 /* DYNAMIC */]: 'DYNAMIC',\r\n [3 /* FORWARDED */]: 'FORWARDED'\r\n};\n\nconst GLOBALS_WHITE_LISTED = 'Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,' +\r\n 'decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,' +\r\n 'Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt';\r\nconst isGloballyWhitelisted = /*#__PURE__*/ makeMap(GLOBALS_WHITE_LISTED);\n\nconst range = 2;\r\nfunction generateCodeFrame(source, start = 0, end = source.length) {\r\n // Split the content into individual lines but capture the newline sequence\r\n // that separated each line. This is important because the actual sequence is\r\n // needed to properly take into account the full line length for offset\r\n // comparison\r\n let lines = source.split(/(\\r?\\n)/);\r\n // Separate the lines and newline sequences into separate arrays for easier referencing\r\n const newlineSequences = lines.filter((_, idx) => idx % 2 === 1);\r\n lines = lines.filter((_, idx) => idx % 2 === 0);\r\n let count = 0;\r\n const res = [];\r\n for (let i = 0; i < lines.length; i++) {\r\n count +=\r\n lines[i].length +\r\n ((newlineSequences[i] && newlineSequences[i].length) || 0);\r\n if (count >= start) {\r\n for (let j = i - range; j <= i + range || end > count; j++) {\r\n if (j < 0 || j >= lines.length)\r\n continue;\r\n const line = j + 1;\r\n res.push(`${line}${' '.repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}`);\r\n const lineLength = lines[j].length;\r\n const newLineSeqLength = (newlineSequences[j] && newlineSequences[j].length) || 0;\r\n if (j === i) {\r\n // push underline\r\n const pad = start - (count - (lineLength + newLineSeqLength));\r\n const length = Math.max(1, end > count ? lineLength - pad : end - start);\r\n res.push(` | ` + ' '.repeat(pad) + '^'.repeat(length));\r\n }\r\n else if (j > i) {\r\n if (end > count) {\r\n const length = Math.max(Math.min(end - count, lineLength), 1);\r\n res.push(` | ` + '^'.repeat(length));\r\n }\r\n count += lineLength + newLineSeqLength;\r\n }\r\n }\r\n break;\r\n }\r\n }\r\n return res.join('\\n');\r\n}\n\n/**\r\n * On the client we only need to offer special cases for boolean attributes that\r\n * have different names from their corresponding dom properties:\r\n * - itemscope -> N/A\r\n * - allowfullscreen -> allowFullscreen\r\n * - formnovalidate -> formNoValidate\r\n * - ismap -> isMap\r\n * - nomodule -> noModule\r\n * - novalidate -> noValidate\r\n * - readonly -> readOnly\r\n */\r\nconst specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;\r\nconst isSpecialBooleanAttr = /*#__PURE__*/ makeMap(specialBooleanAttrs);\r\n/**\r\n * The full list is needed during SSR to produce the correct initial markup.\r\n */\r\nconst isBooleanAttr = /*#__PURE__*/ makeMap(specialBooleanAttrs +\r\n `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,` +\r\n `loop,open,required,reversed,scoped,seamless,` +\r\n `checked,muted,multiple,selected`);\r\n/**\r\n * Boolean attributes should be included if the value is truthy or ''.\r\n * e.g. `\r\nfunction ssrRenderDynamicModel(type, model, value) {\r\n switch (type) {\r\n case 'radio':\r\n return looseEqual(model, value) ? ' checked' : '';\r\n case 'checkbox':\r\n return (isArray(model) ? ssrLooseContain(model, value) : model)\r\n ? ' checked'\r\n : '';\r\n default:\r\n // text types\r\n return ssrRenderAttr('value', model);\r\n }\r\n}\r\n// for \r\nfunction ssrGetDynamicModelProps(existingProps = {}, model) {\r\n const { type, value } = existingProps;\r\n switch (type) {\r\n case 'radio':\r\n return looseEqual(model, value) ? { checked: true } : null;\r\n case 'checkbox':\r\n return (isArray(model) ? ssrLooseContain(model, value) : model)\r\n ? { checked: true }\r\n : null;\r\n default:\r\n // text types\r\n return { value: model };\r\n }\r\n}\n\ninitDirectivesForSSR();\n\nexport { pipeToNodeWritable, pipeToWebWritable, renderToNodeStream, renderToSimpleStream, renderToStream, renderToString, renderToWebStream, ssrGetDynamicModelProps, ssrInterpolate, ssrLooseContain, ssrLooseEqual, ssrRenderAttr, ssrRenderAttrs, ssrRenderClass, ssrRenderComponent, ssrRenderDynamicAttr, ssrRenderDynamicModel, ssrRenderList, ssrRenderSlot, ssrRenderStyle, ssrRenderSuspense, ssrRenderTeleport, renderVNode as ssrRenderVNode };\n","\n\n\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n"],"names":["ChunkUploadDefaultHandler","defineComponent","ssrContextKey","ssrUtils","warn$1","Text","Comment","Static","Fragment","mergeProps","initDirectivesForSSR","_mergeProps"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"vue-upload-component.ssr.js","sources":["../src/utils/request.js","../src/chunk/ChunkUploadHandler.js","../src/FileUpload.vue","../node_modules/@vue/shared/dist/shared.esm-bundler.js","../node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.js","../src/FileUpload.vue?vue&type=template&id=c45fb442&lang.js","../node_modules/style-inject/dist/style-inject.es.js"],"sourcesContent":["/**\n * Creates a XHR request\n *\n * @param {Object} options\n */\nexport const createRequest = (options) => {\n const xhr = new XMLHttpRequest()\n xhr.open(options.method || 'GET', options.url)\n xhr.responseType = 'json'\n if (options.headers) {\n Object.keys(options.headers).forEach(key => {\n xhr.setRequestHeader(key, options.headers[key])\n })\n }\n\n return xhr\n}\n\n/**\n * Sends a XHR request with certain body\n *\n * @param {XMLHttpRequest} xhr\n * @param {Object} body\n */\nexport const sendRequest = (xhr, body) => {\n return new Promise((resolve, reject) => {\n xhr.onload = () => {\n if (xhr.status >= 200 && xhr.status < 300) {\n let response\n try {\n response = JSON.parse(xhr.response)\n } catch (err) {\n response = xhr.response\n }\n resolve(response)\n } else {\n reject(xhr.response)\n }\n }\n xhr.onerror = () => reject(xhr.response)\n xhr.send(JSON.stringify(body))\n })\n}\n\n/**\n * Sends a XHR request with certain form data\n *\n * @param {XMLHttpRequest} xhr\n * @param {Object} data\n */\nexport const sendFormRequest = (xhr, data) => {\n const body = new FormData()\n for (let name in data) {\n body.append(name, data[name])\n }\n\n return new Promise((resolve, reject) => {\n xhr.onload = () => {\n if (xhr.status >= 200 && xhr.status < 300) {\n let response\n try {\n response = JSON.parse(xhr.response)\n } catch (err) {\n response = xhr.response\n }\n resolve(response)\n } else {\n reject(xhr.response)\n }\n }\n xhr.onerror = () => reject(xhr.response)\n xhr.send(body)\n })\n}\n\n/**\n * Creates and sends XHR request\n *\n * @param {Object} options\n *\n * @returns Promise\n */\nexport default function (options) {\n const xhr = createRequest(options)\n\n return sendRequest(xhr, options.body)\n}\n","import {\n default as request,\n createRequest,\n sendFormRequest\n} from '../utils/request'\n\nexport default class ChunkUploadHandler {\n /**\n * Constructor\n *\n * @param {File} file\n * @param {Object} options\n */\n constructor(file, options) {\n this.file = file\n this.options = options\n this.chunks = []\n this.sessionId = null\n this.chunkSize = null\n this.speedInterval = null\n }\n\n /**\n * Gets the max retries from options\n */\n get maxRetries() {\n return parseInt(this.options.maxRetries, 10)\n }\n\n /**\n * Gets the max number of active chunks being uploaded at once from options\n */\n get maxActiveChunks() {\n return parseInt(this.options.maxActive, 10)\n }\n\n /**\n * Gets the file type\n */\n get fileType() {\n return this.file.type\n }\n\n /**\n * Gets the file size\n */\n get fileSize() {\n return this.file.size\n }\n\n /**\n * Gets the file name\n */\n get fileName() {\n return this.file.name\n }\n\n /**\n * Gets action (url) to upload the file\n */\n get action() {\n return this.options.action || null\n }\n\n /**\n * Gets the body to be merged when sending the request in start phase\n */\n get startBody() {\n return this.options.startBody || {}\n }\n\n /**\n * Gets the body to be merged when sending the request in upload phase\n */\n get uploadBody() {\n return this.options.uploadBody || {}\n }\n\n /**\n * Gets the body to be merged when sending the request in finish phase\n */\n get finishBody() {\n return this.options.finishBody || {}\n }\n\n /**\n * Gets the headers of the requests from options\n */\n get headers() {\n return this.options.headers || {}\n }\n\n /**\n * Whether it's ready to upload files or not\n */\n get readyToUpload() {\n return !!this.chunks\n }\n\n /**\n * Gets the progress of the chunk upload\n * - Gets all the completed chunks\n * - Gets the progress of all the chunks that are being uploaded\n */\n get progress() {\n const completedProgress = (this.chunksUploaded.length / this.chunks.length) * 100\n const uploadingProgress = this.chunksUploading.reduce((progress, chunk) => {\n return progress + ((chunk.progress | 0) / this.chunks.length)\n }, 0)\n\n return Math.min(completedProgress + uploadingProgress, 100)\n }\n\n /**\n * Gets all the chunks that are pending to be uploaded\n */\n get chunksToUpload() {\n return this.chunks.filter(chunk => {\n return !chunk.active && !chunk.uploaded\n })\n }\n\n /**\n * Whether there are chunks to upload or not\n */\n get hasChunksToUpload() {\n return this.chunksToUpload.length > 0\n }\n\n /**\n * Gets all the chunks that are uploading\n */\n get chunksUploading() {\n return this.chunks.filter(chunk => {\n return !!chunk.xhr && !!chunk.active\n })\n }\n\n /**\n * Gets all the chunks that have finished uploading\n */\n get chunksUploaded() {\n return this.chunks.filter(chunk => {\n return !!chunk.uploaded\n })\n }\n\n /**\n * Creates all the chunks in the initial state\n */\n createChunks() {\n this.chunks = []\n\n let start = 0\n let end = this.chunkSize\n while (start < this.fileSize) {\n this.chunks.push({\n blob: this.file.file.slice(start, end),\n startOffset: start,\n active: false,\n retries: this.maxRetries\n })\n start = end\n end = start + this.chunkSize\n }\n }\n\n /**\n * Updates the progress of the file with the handler's progress\n */\n updateFileProgress() {\n this.file.progress = this.progress\n }\n\n /**\n * Paues the upload process\n * - Stops all active requests\n * - Sets the file not active\n */\n pause() {\n this.file.active = false\n this.stopChunks()\n }\n\n /**\n * Stops all the current chunks\n */\n stopChunks() {\n this.chunksUploading.forEach(chunk => {\n chunk.xhr.abort()\n chunk.active = false\n })\n\n this.stopSpeedCalc()\n }\n\n /**\n * Resumes the file upload\n * - Sets the file active\n * - Starts the following chunks\n */\n resume() {\n this.file.active = true\n this.startChunking()\n }\n\n /**\n * Starts the file upload\n *\n * @returns Promise\n * - resolve The file was uploaded\n * - reject The file upload failed\n */\n upload() {\n this.promise = new Promise((resolve, reject) => {\n this.resolve = resolve\n this.reject = reject\n })\n this.start()\n\n return this.promise\n }\n\n /**\n * Start phase\n * Sends a request to the backend to initialise the chunks\n */\n start() {\n request({\n method: 'POST',\n headers: { ...this.headers, 'Content-Type': 'application/json'},\n url: this.action,\n body: Object.assign(this.startBody, {\n phase: 'start',\n mime_type: this.fileType,\n size: this.fileSize,\n name: this.fileName\n })\n }).then(res => {\n if (res.status !== 'success') {\n this.file.response = res\n return this.reject('server')\n }\n\n this.sessionId = res.data.session_id\n this.chunkSize = res.data.end_offset\n\n this.createChunks()\n this.startChunking()\n }).catch(res => {\n this.file.response = res\n this.reject('server')\n })\n }\n\n /**\n * Starts to upload chunks\n */\n startChunking() {\n for (let i = 0; i < this.maxActiveChunks; i++) {\n this.uploadNextChunk()\n }\n\n this.startSpeedCalc()\n }\n\n /**\n * Uploads the next chunk\n * - Won't do anything if the process is paused\n * - Will start finish phase if there are no more chunks to upload\n */\n uploadNextChunk() {\n if (this.file.active) {\n if (this.hasChunksToUpload) {\n return this.uploadChunk(this.chunksToUpload[0])\n }\n\n if (this.chunksUploading.length === 0) {\n return this.finish()\n }\n }\n }\n\n /**\n * Uploads a chunk\n * - Sends the chunk to the backend\n * - Sets the chunk as uploaded if everything went well\n * - Decreases the number of retries if anything went wrong\n * - Fails if there are no more retries\n *\n * @param {Object} chunk\n */\n uploadChunk(chunk) {\n chunk.progress = 0\n chunk.active = true\n this.updateFileProgress()\n chunk.xhr = createRequest({\n method: 'POST',\n headers: this.headers,\n url: this.action\n })\n\n chunk.xhr.upload.addEventListener('progress', function (evt) {\n if (evt.lengthComputable) {\n chunk.progress = Math.round(evt.loaded / evt.total * 100)\n }\n }, false)\n\n sendFormRequest(chunk.xhr, Object.assign(this.uploadBody, {\n phase: 'upload',\n session_id: this.sessionId,\n start_offset: chunk.startOffset,\n chunk: chunk.blob\n })).then(res => {\n chunk.active = false\n if (res.status === 'success') {\n chunk.uploaded = true\n } else {\n if (chunk.retries-- <= 0) {\n this.stopChunks()\n return this.reject('upload')\n }\n }\n\n this.uploadNextChunk()\n }).catch(() => {\n chunk.active = false\n if (chunk.retries-- <= 0) {\n this.stopChunks()\n return this.reject('upload')\n }\n\n this.uploadNextChunk()\n })\n }\n\n /**\n * Finish phase\n * Sends a request to the backend to finish the process\n */\n finish() {\n this.updateFileProgress()\n this.stopSpeedCalc()\n\n request({\n method: 'POST',\n headers: { ...this.headers, 'Content-Type': 'application/json' },\n url: this.action,\n body: Object.assign(this.finishBody, {\n phase: 'finish',\n session_id: this.sessionId\n })\n }).then(res => {\n this.file.response = res\n if (res.status !== 'success') {\n return this.reject('server')\n }\n\n this.resolve(res)\n }).catch(res => {\n this.file.response = res\n this.reject('server')\n })\n }\n\n\n /**\n * Sets an interval to calculate and\n * set upload speed every 3 seconds\n */\n startSpeedCalc() {\n this.file.speed = 0\n let lastUploadedBytes = 0\n if (!this.speedInterval) {\n this.speedInterval = window.setInterval(() => {\n let uploadedBytes = (this.progress / 100) * this.fileSize\n this.file.speed = (uploadedBytes - lastUploadedBytes)\n lastUploadedBytes = uploadedBytes\n }, 1000)\n }\n }\n\n /**\n * Removes the upload speed interval\n */\n stopSpeedCalc() {\n this.speedInterval && window.clearInterval(this.speedInterval)\n this.speedInterval = null\n this.file.speed = 0\n }\n}\n","\n\n\n","/**\r\n * Make a map and return a function for checking if a key\r\n * is in that map.\r\n * IMPORTANT: all calls of this function must be prefixed with\r\n * \\/\\*#\\_\\_PURE\\_\\_\\*\\/\r\n * So that rollup can tree-shake them if necessary.\r\n */\r\nfunction makeMap(str, expectsLowerCase) {\r\n const map = Object.create(null);\r\n const list = str.split(',');\r\n for (let i = 0; i < list.length; i++) {\r\n map[list[i]] = true;\r\n }\r\n return expectsLowerCase ? val => !!map[val.toLowerCase()] : val => !!map[val];\r\n}\n\n/**\r\n * dev only flag -> name mapping\r\n */\r\nconst PatchFlagNames = {\r\n [1 /* TEXT */]: `TEXT`,\r\n [2 /* CLASS */]: `CLASS`,\r\n [4 /* STYLE */]: `STYLE`,\r\n [8 /* PROPS */]: `PROPS`,\r\n [16 /* FULL_PROPS */]: `FULL_PROPS`,\r\n [32 /* HYDRATE_EVENTS */]: `HYDRATE_EVENTS`,\r\n [64 /* STABLE_FRAGMENT */]: `STABLE_FRAGMENT`,\r\n [128 /* KEYED_FRAGMENT */]: `KEYED_FRAGMENT`,\r\n [256 /* UNKEYED_FRAGMENT */]: `UNKEYED_FRAGMENT`,\r\n [512 /* NEED_PATCH */]: `NEED_PATCH`,\r\n [1024 /* DYNAMIC_SLOTS */]: `DYNAMIC_SLOTS`,\r\n [2048 /* DEV_ROOT_FRAGMENT */]: `DEV_ROOT_FRAGMENT`,\r\n [-1 /* HOISTED */]: `HOISTED`,\r\n [-2 /* BAIL */]: `BAIL`\r\n};\n\n/**\r\n * Dev only\r\n */\r\nconst slotFlagsText = {\r\n [1 /* STABLE */]: 'STABLE',\r\n [2 /* DYNAMIC */]: 'DYNAMIC',\r\n [3 /* FORWARDED */]: 'FORWARDED'\r\n};\n\nconst GLOBALS_WHITE_LISTED = 'Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,' +\r\n 'decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,' +\r\n 'Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt';\r\nconst isGloballyWhitelisted = /*#__PURE__*/ makeMap(GLOBALS_WHITE_LISTED);\n\nconst range = 2;\r\nfunction generateCodeFrame(source, start = 0, end = source.length) {\r\n // Split the content into individual lines but capture the newline sequence\r\n // that separated each line. This is important because the actual sequence is\r\n // needed to properly take into account the full line length for offset\r\n // comparison\r\n let lines = source.split(/(\\r?\\n)/);\r\n // Separate the lines and newline sequences into separate arrays for easier referencing\r\n const newlineSequences = lines.filter((_, idx) => idx % 2 === 1);\r\n lines = lines.filter((_, idx) => idx % 2 === 0);\r\n let count = 0;\r\n const res = [];\r\n for (let i = 0; i < lines.length; i++) {\r\n count +=\r\n lines[i].length +\r\n ((newlineSequences[i] && newlineSequences[i].length) || 0);\r\n if (count >= start) {\r\n for (let j = i - range; j <= i + range || end > count; j++) {\r\n if (j < 0 || j >= lines.length)\r\n continue;\r\n const line = j + 1;\r\n res.push(`${line}${' '.repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}`);\r\n const lineLength = lines[j].length;\r\n const newLineSeqLength = (newlineSequences[j] && newlineSequences[j].length) || 0;\r\n if (j === i) {\r\n // push underline\r\n const pad = start - (count - (lineLength + newLineSeqLength));\r\n const length = Math.max(1, end > count ? lineLength - pad : end - start);\r\n res.push(` | ` + ' '.repeat(pad) + '^'.repeat(length));\r\n }\r\n else if (j > i) {\r\n if (end > count) {\r\n const length = Math.max(Math.min(end - count, lineLength), 1);\r\n res.push(` | ` + '^'.repeat(length));\r\n }\r\n count += lineLength + newLineSeqLength;\r\n }\r\n }\r\n break;\r\n }\r\n }\r\n return res.join('\\n');\r\n}\n\n/**\r\n * On the client we only need to offer special cases for boolean attributes that\r\n * have different names from their corresponding dom properties:\r\n * - itemscope -> N/A\r\n * - allowfullscreen -> allowFullscreen\r\n * - formnovalidate -> formNoValidate\r\n * - ismap -> isMap\r\n * - nomodule -> noModule\r\n * - novalidate -> noValidate\r\n * - readonly -> readOnly\r\n */\r\nconst specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;\r\nconst isSpecialBooleanAttr = /*#__PURE__*/ makeMap(specialBooleanAttrs);\r\n/**\r\n * The full list is needed during SSR to produce the correct initial markup.\r\n */\r\nconst isBooleanAttr = /*#__PURE__*/ makeMap(specialBooleanAttrs +\r\n `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,` +\r\n `loop,open,required,reversed,scoped,seamless,` +\r\n `checked,muted,multiple,selected`);\r\n/**\r\n * Boolean attributes should be included if the value is truthy or ''.\r\n * e.g. `\r\nfunction ssrRenderDynamicModel(type, model, value) {\r\n switch (type) {\r\n case 'radio':\r\n return looseEqual(model, value) ? ' checked' : '';\r\n case 'checkbox':\r\n return (isArray(model) ? ssrLooseContain(model, value) : model)\r\n ? ' checked'\r\n : '';\r\n default:\r\n // text types\r\n return ssrRenderAttr('value', model);\r\n }\r\n}\r\n// for \r\nfunction ssrGetDynamicModelProps(existingProps = {}, model) {\r\n const { type, value } = existingProps;\r\n switch (type) {\r\n case 'radio':\r\n return looseEqual(model, value) ? { checked: true } : null;\r\n case 'checkbox':\r\n return (isArray(model) ? ssrLooseContain(model, value) : model)\r\n ? { checked: true }\r\n : null;\r\n default:\r\n // text types\r\n return { value: model };\r\n }\r\n}\n\ninitDirectivesForSSR();\n\nexport { pipeToNodeWritable, pipeToWebWritable, renderToNodeStream, renderToSimpleStream, renderToStream, renderToString, renderToWebStream, ssrGetDynamicModelProps, ssrInterpolate, ssrLooseContain, ssrLooseEqual, ssrRenderAttr, ssrRenderAttrs, ssrRenderClass, ssrRenderComponent, ssrRenderDynamicAttr, ssrRenderDynamicModel, ssrRenderList, ssrRenderSlot, ssrRenderStyle, ssrRenderSuspense, ssrRenderTeleport, renderVNode as ssrRenderVNode };\n","\n\n\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n"],"names":["ChunkUploadDefaultHandler","defineComponent","ssrContextKey","ssrUtils","warn$1","Text","Comment","Static","Fragment","mergeProps","initDirectivesForSSR","_mergeProps"],"mappings":"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"} \ No newline at end of file diff --git a/docs/dist/docs.js b/docs/dist/docs.js index 1f6ea96..abf6868 100644 --- a/docs/dist/docs.js +++ b/docs/dist/docs.js @@ -1,3 +1,3 @@ /*! For license information please see docs.js.LICENSE.txt */ -(()=>{var e={635:(e,n,t)=>{var i={"./en.md":869,"./zh-cn.md":819};function o(e){var n=r(e);return t(n)}function r(e){if(!t.o(i,e)){var n=new Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}return i[e]}o.keys=function(){return Object.keys(i)},o.resolve=r,e.exports=o,o.id=635},757:function(e,n,t){var i,o,r,s;function a(e){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}s=function(e){"use strict";function n(e){return function(e){if(Array.isArray(e))return t(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,n){if(e){if("string"==typeof e)return t(e,n);var i=Object.prototype.toString.call(e).slice(8,-1);return"Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?t(e,n):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function t(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,i=new Array(n);t=200&&n.status<300){var t;try{t=JSON.parse(n.response)}catch(e){t=n.response}e(t)}else i(n.response)},n.onerror=function(){return i(n.response)},n.send(JSON.stringify(t))}));var n,t}var f={headers:{},action:"",minSize:1048576,maxActive:3,maxRetries:5,handler:function(){function e(n,t){!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),this.file=n,this.options=t,this.chunks=[],this.sessionId=null,this.chunkSize=null,this.speedInterval=null}var n,t;return n=e,(t=[{key:"maxRetries",get:function(){return parseInt(this.options.maxRetries,10)}},{key:"maxActiveChunks",get:function(){return parseInt(this.options.maxActive,10)}},{key:"fileType",get:function(){return this.file.type}},{key:"fileSize",get:function(){return this.file.size}},{key:"fileName",get:function(){return this.file.name}},{key:"action",get:function(){return this.options.action||null}},{key:"startBody",get:function(){return this.options.startBody||{}}},{key:"uploadBody",get:function(){return this.options.uploadBody||{}}},{key:"finishBody",get:function(){return this.options.finishBody||{}}},{key:"headers",get:function(){return this.options.headers||{}}},{key:"readyToUpload",get:function(){return!!this.chunks}},{key:"progress",get:function(){var e=this,n=this.chunksUploaded.length/this.chunks.length*100,t=this.chunksUploading.reduce((function(n,t){return n+(0|t.progress)/e.chunks.length}),0);return Math.min(n+t,100)}},{key:"chunksToUpload",get:function(){return this.chunks.filter((function(e){return!e.active&&!e.uploaded}))}},{key:"hasChunksToUpload",get:function(){return this.chunksToUpload.length>0}},{key:"chunksUploading",get:function(){return this.chunks.filter((function(e){return!!e.xhr&&!!e.active}))}},{key:"chunksUploaded",get:function(){return this.chunks.filter((function(e){return!!e.uploaded}))}},{key:"createChunks",value:function(){this.chunks=[];for(var e=0,n=this.chunkSize;e=200&&e.status<300){var t;try{t=JSON.parse(e.response)}catch(n){t=e.response}n(t)}else i(e.response)},e.onerror=function(){return i(e.response)},e.send(t)}))}(e.xhr,Object.assign(this.uploadBody,{phase:"upload",session_id:this.sessionId,start_offset:e.startOffset,chunk:e.blob})).then((function(t){if(e.active=!1,"success"===t.status)e.uploaded=!0;else if(e.retries--<=0)return n.stopChunks(),n.reject("upload");n.uploadNextChunk()})).catch((function(){if(e.active=!1,e.retries--<=0)return n.stopChunks(),n.reject("upload");n.uploadNextChunk()}))}},{key:"finish",value:function(){var e=this;this.updateFileProgress(),this.stopSpeedCalc(),d({method:"POST",headers:l(l({},this.headers),{},{"Content-Type":"application/json"}),url:this.action,body:Object.assign(this.finishBody,{phase:"finish",session_id:this.sessionId})}).then((function(n){if(e.file.response=n,"success"!==n.status)return e.reject("server");e.resolve(n)})).catch((function(n){e.file.response=n,e.reject("server")}))}},{key:"startSpeedCalc",value:function(){var e=this;this.file.speed=0;var n=0;this.speedInterval||(this.speedInterval=window.setInterval((function(){var t=e.progress/100*e.fileSize;e.file.speed=t-n,n=t}),1e3))}},{key:"stopSpeedCalc",value:function(){this.speedInterval&&window.clearInterval(this.speedInterval),this.speedInterval=null,this.file.speed=0}}])&&c(n.prototype,t),Object.defineProperty(n,"prototype",{writable:!1}),e}()},h=e.defineComponent({props:{inputId:{type:String},name:{type:String,default:"file"},accept:{type:String},capture:{},disabled:{default:!1},multiple:{type:Boolean,default:!1},maximum:{type:Number},addIndex:{type:[Boolean,Number]},directory:{type:Boolean},createDirectory:{type:Boolean,default:!1},postAction:{type:String},putAction:{type:String},customAction:{type:Function},headers:{type:Object,default:function(){return{}}},data:{type:Object,default:function(){return{}}},timeout:{type:Number,default:0},drop:{default:!1},dropDirectory:{type:Boolean,default:!0},size:{type:Number,default:0},extensions:{type:[RegExp,String,Array],default:function(){return[]}},modelValue:{type:Array,default:function(){return[]}},thread:{type:Number,default:1},chunkEnabled:{type:Boolean,default:!1},chunk:{type:Object,default:function(){return f}}},emits:["update:modelValue","input-filter","input-file"],data:function(){return{files:this.modelValue,features:{html5:!0,directory:!1,drop:!1},active:!1,dropActive:!1,uploading:0,destroy:!1,maps:{},dropElement:null,dropTimeout:null,reload:!1}},mounted:function(){var e=this,n=document.createElement("input");if(n.type="file",n.multiple=!0,window.FormData&&n.files?("boolean"!=typeof n.webkitdirectory&&"boolean"!=typeof n.directory||(this.features.directory=!0),this.features.html5&&void 0!==n.ondrop&&(this.features.drop=!0)):this.features.html5=!1,this.maps={},this.files)for(var t=0;t1&&r.length+this.files.length>=this.iMaximum)break;if(r.push(a),1===this.iMaximum)break}}if(r.length){var c;if(1===this.iMaximum&&this.clear(),!0===t||0===t)c=r.concat(this.files);else if(t){var u;(u=c=this.files.concat([])).splice.apply(u,[t,0].concat(n(r)))}else c=this.files.concat(r);this.files=c;var p=0;!0===t||0===t?p=0:t?t>=0?p=t+r.length>this.files.length?this.files.length-r.length:t:(p=this.files.length-r.length+t)<0&&(p=0):p=this.files.length-r.length,r=this.files.slice(p,p+r.length);for(var d=0;d0&&l.length>=a));c++);return Promise.resolve(this.add(l))}return Promise.resolve([])},getFileSystemEntry:function(e){var t=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return new Promise((function(o){var r=t.iMaximum;if(e)if(e instanceof Array){var s=[];!function a(l){var c=e[l];if(!c||r>0&&s.length>=r)return o(s);t.getFileSystemEntry(c,i).then((function(e){s.push.apply(s,n(e)),a(l+1)}))}(0)}else if(e instanceof Blob)o([{id:"",size:e.size,name:i+e.name,type:e.type,file:e}]);else if(e.isFile)e.file((function(e){o([{id:"",size:e.size,name:i+e.name,type:e.type,file:e}])}));else if(e.isDirectory&&t.dropDirectory){var a=e,l=[];t.createDirectory&&l.push({id:"",name:i+a.name,size:0,type:"text/directory",file:new File([],i+a.name,{type:"text/directory"})});var c=a.createReader();!function e(){c.readEntries((function(s){!function c(u){return!s[u]&&0===u||r>0&&l.length>=r?o(l):s[u]?void t.getFileSystemEntry(s[u],i+a.name+"/").then((function(e){l.push.apply(l,n(e)),c(u+1)})):e()}(0)}))}()}else o([]);else o([])}))},replace:function(e,n){var t=this.get(e),i=this.get(n);if(!t||!i||t===i)return!1;var o=this.files.concat([]),r=o.indexOf(t),s=o.indexOf(i);return-1!==r&&-1!==s&&(o[r]=i,o[s]=t,this.files=o,this.emitInput(),!0)},remove:function(e){var n=this.get(e);if(n){if(this.emitFilter(void 0,n))return!1;var t=this.files.concat([]),i=t.indexOf(n);if(-1===i)return console.error("remove",n),!1;t.splice(i,1),this.files=t,delete this.maps[n.id],this.emitInput(),this.emitFile(void 0,n)}return n},update:function(e,n){var t=this.get(e);if(t){var i=o(o({},t),n);if(!t.fileObject||!t.active||i.active||i.error||i.success||(i.error="abort"),this.emitFilter(i,t))return!1;var r=this.files.concat([]),s=r.indexOf(t);return-1===s?(console.error("update",t),!1):(r.splice(s,1,i),this.files=r,i=this.files[s],delete this.maps[t.id],this.maps[i.id]=i,this.emitInput(),this.emitFile(i,t),i)}return!1},emitFilter:function(e,n){var t=!1;return this.$emit("input-filter",e,n,(function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return t=e})),t},emitFile:function(e,n){var t,i=this;this.$emit("input-file",e,n),null===(t=e)||void 0===t||!t.fileObject||!e.active||n&&n.active?e&&e.fileObject&&e.active||!n||!n.fileObject||!n.active||this.uploading--:(this.uploading++,this.$nextTick((function(){setTimeout((function(){e&&i.upload(e).then((function(){var n;e&&(e=i.get(e)||void 0),null!==(n=e)&&void 0!==n&&n.fileObject&&i.update(e,{active:!1,success:!e.error})})).catch((function(n){e&&i.update(e,{active:!1,success:!1,error:n.code||n.error||n.message||n})}))}),Math.ceil(50*Math.random()+50))}))),!this.active||Boolean(e)===Boolean(n)&&e.active===n.active||this.watchActive(!0)},emitInput:function(){this.$emit("update:modelValue",this.files)},upload:function(e){var n=this.get(e);if(!n)return Promise.reject(new Error("not_exists"));if(!n.fileObject)return Promise.reject(new Error("file_object"));if(n.error)return n.error instanceof Error?Promise.reject(n.error):Promise.reject(new Error(n.error));if(n.success)return Promise.resolve(n);if(n.name&&this.iExtensions&&"text/directory"!==n.type&&-1===n.name.search(this.iExtensions))return Promise.reject(new Error("extension"));if(this.size>0&&void 0!==n.size&&n.size>=0&&n.size>this.size&&"text/directory"!==n.type)return Promise.reject(new Error("size"));if(this.customAction)return this.customAction(n,this);if(this.features.html5){if(this.shouldUseChunkUpload(n))return this.uploadChunk(n);if(n.putAction)return this.uploadPut(n);if(n.postAction)return this.uploadHtml5(n)}return n.postAction?this.uploadHtml4(n):Promise.reject(new Error("No action configured"))},shouldUseChunkUpload:function(e){return this.chunkEnabled&&!!this.chunkOptions.handler&&e.size&&e.size>this.chunkOptions.minSize},uploadChunk:function(e){var n=this.chunkOptions.handler;return e.chunk=new n(e,this.chunkOptions),e.chunk.upload().then((function(n){return e}))},uploadPut:function(e){var n,t=[];for(var i in e.data)null!=(n=e.data[i])&&t.push(encodeURIComponent(i)+"="+encodeURIComponent(n));var o=e.putAction||"",r=t.length?(-1===o.indexOf("?")?"?":"&")+t.join("&"):"",s=new XMLHttpRequest;return s.open("PUT",o+r),this.uploadXhr(s,e,e.file)},uploadHtml5:function(e){var n,t=new window.FormData;for(var i in e.data)(n=e.data[i])&&"object"===s(n)&&"function"!=typeof n.toString?n instanceof File?t.append(i,n,n.name):t.append(i,JSON.stringify(n)):null!=n&&t.append(i,n);t.append(this.name,e.file,e.name||e.file.name||e.file.filename);var o=new XMLHttpRequest;return o.open("POST",e.postAction||""),this.uploadXhr(o,e,t)},uploadXhr:function(e,n,t){var i=this,o=n,r=0,s=0;e.upload.onprogress=function(e){if(o&&(o=i.get(o),e.lengthComputable&&o&&o.fileObject&&o.active)){var n=Math.round(Date.now()/1e3);n!==r&&(r=n,o=i.update(o,{progress:(e.loaded/e.total*100).toFixed(2),speed:e.loaded-s}),s=e.loaded)}};var a=window.setInterval((function(){var n;if(!(o&&(o=i.get(o))&&null!==(n=o)&&void 0!==n&&n.fileObject)||o.success||o.error||!o.active){a&&(clearInterval(a),a=void 0);try{e.abort(),e.timeout=1}catch(e){}}}),100);return new Promise((function(n,r){if(o){var s,l=function(t){if(!s){if(s=!0,a&&(clearInterval(a),a=void 0),!o)return r(new Error("not_exists"));if(!(o=i.get(o)))return r(new Error("not_exists"));if(!o.fileObject)return r(new Error("file_object"));if(o.error)return o.error instanceof Error?r(o.error):r(new Error(o.error));if(!o.active)return r(new Error("abort"));if(o.success)return n(o);var l={};switch(t.type){case"timeout":case"abort":l.error=t.type;break;case"error":e.status?e.status>=500?l.error="server":e.status>=400&&(l.error="denied"):l.error="network";break;default:e.status>=500?l.error="server":e.status>=400?l.error="denied":l.progress="100.00"}if(e.responseText){var c=e.getResponseHeader("Content-Type");c&&-1!==c.indexOf("/json")?l.response=JSON.parse(e.responseText):l.response=e.responseText}return(o=i.update(o,l))?o.error?o.error instanceof Error?r(o.error):r(new Error(o.error)):n(o):r(new Error("abort"))}};for(var c in e.onload=l,e.onerror=l,e.onabort=l,e.ontimeout=l,o.timeout&&(e.timeout=o.timeout),o.headers)e.setRequestHeader(c,o.headers[c]);(o=i.update(o,{xhr:e}))&&e.send(t)}else r(new Error("not_exists"))}))},uploadHtml4:function(e){var n=this,t=e;if(!t)return Promise.reject(new Error("not_exists"));var i=function(e){27===e.keyCode&&e.preventDefault()},o=document.createElement("iframe");o.id="upload-iframe-"+t.id,o.name="upload-iframe-"+t.id,o.src="about:blank",o.setAttribute("style","width:1px;height:1px;top:-999em;position:absolute; margin-top:-999em;");var r=document.createElement("form");for(var a in r.setAttribute("action",t.postAction||""),r.name="upload-form-"+t.id,r.setAttribute("method","POST"),r.setAttribute("target","upload-iframe-"+t.id),r.setAttribute("enctype","multipart/form-data"),t.data){var l=t.data[a];if(l&&"object"===s(l)&&"function"!=typeof l.toString&&(l=JSON.stringify(l)),null!=l){var c=document.createElement("input");c.type="hidden",c.name=a,c.value=l,r.appendChild(c)}}return r.appendChild(t.el),document.body.appendChild(o).appendChild(r),new Promise((function(e,s){setTimeout((function(){if(t){if(!(t=n.update(t,{iframe:o})))return s(new Error("not_exists"));var a,l=window.setInterval((function(){t&&(t=n.get(t))&&t.fileObject&&!t.success&&!t.error&&t.active||(l&&(clearInterval(l),l=void 0),o.onabort({type:t?"abort":"not_exists"}))}),100),c=function(r){var c;if(!a){if(a=!0,l&&(clearInterval(l),l=void 0),document.body.removeEventListener("keydown",i),!t)return s(new Error("not_exists"));if(!(t=n.get(t)))return s(new Error("not_exists"));if(!t.fileObject)return s(new Error("file_object"));if(t.error)return t.error instanceof Error?s(t.error):s(new Error(t.error));if(!t.active)return s(new Error("abort"));if(t.success)return e(t);var u=function(){var e,n;try{o.contentWindow&&(n=o.contentWindow.document)}catch(e){}if(!n)try{n=o.contentDocument?o.contentDocument:o.document}catch(e){n=o.document}return null!==(e=n)&&void 0!==e&&e.body?n.body.innerHTML:null}(),p={};if("string"==typeof r)return s(new Error(r));switch(r.type){case"abort":p.error="abort";break;case"error":t.error?p.error=t.error:p.error=null===u?"network":"denied";break;default:t.error?p.error=t.error:null===u?p.error="network":p.progress="100.00"}if(null!==u){if(u&&"{"===u.substr(0,1)&&"}"===u.substr(u.length-1,1))try{u=JSON.parse(u)}catch(e){}p.response=u}return(t=n.update(t,p))?null!==(c=t)&&void 0!==c&&c.error?t.error instanceof Error?s(t.error):s(new Error(t.error)):e(t):s(new Error("not_exists"))}};o.onload=c,o.onerror=c,o.onabort=c,document.body.addEventListener("keydown",i),r.submit()}else s(new Error("not_exists"))}),50)})).then((function(e){var n;return null==o||null===(n=o.parentNode)||void 0===n||n.removeChild(o),e})).catch((function(e){var n;return null==o||null===(n=o.parentNode)||void 0===n||n.removeChild(o),e}))},watchActive:function(e){for(var n,t=0;n=this.files[t];)if(t++,n.fileObject)if(e&&!this.destroy){if(this.uploading>=this.thread||this.uploading&&!this.features.html5)break;n.active||n.error||n.success||this.update(n,{active:!0})}else n.active&&this.update(n,{active:!1});0===this.uploading&&(this.active=!1)},watchDrop:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;if(this.features.drop&&e!==n){if(this.dropElement)try{document.removeEventListener("dragenter",this.onDocumentDragenter,!1),document.removeEventListener("dragleave",this.onDocumentDragleave,!1),document.removeEventListener("dragover",this.onDocumentDragover,!1),document.removeEventListener("drop",this.onDocumentDrop,!1),this.dropElement.removeEventListener("dragover",this.onDragover,!1),this.dropElement.removeEventListener("drop",this.onDrop,!1)}catch(e){}var t=null;if(e)if("string"==typeof e)t=document.querySelector(e)||this.$root.$el.querySelector(e);else if(!0===e){var i,o;(t=this.$parent.$el)&&8!==(null===(i=t)||void 0===i?void 0:i.nodeType)||(t=this.$root.$el)&&8!==(null===(o=t)||void 0===o?void 0:o.nodeType)||(t=document.body)}else t=e;this.dropElement=t,this.dropElement&&(document.addEventListener("dragenter",this.onDocumentDragenter,!1),document.addEventListener("dragleave",this.onDocumentDragleave,!1),document.addEventListener("dragover",this.onDocumentDragover,!1),document.addEventListener("drop",this.onDocumentDrop,!1),this.dropElement.addEventListener("dragover",this.onDragover,!1),this.dropElement.addEventListener("drop",this.onDrop,!1))}},watchDropActive:function(e,n){e!==n&&(this.dropTimeout&&(clearTimeout(this.dropTimeout),this.dropTimeout=null),e&&(this.dropTimeout=setTimeout(this.onDocumentDrop,1e3)))},onDocumentDragenter:function(e){var n,t;if(!this.dropActive&&e.dataTransfer){var i=e.dataTransfer;null!=i&&null!==(n=i.files)&&void 0!==n&&n.length?this.dropActive=!0:i.types?(i.types.indexOf&&-1!==i.types.indexOf("Files")||null!==(t=i.types)&&void 0!==t&&t.contains&&i.types.contains("Files"))&&(this.dropActive=!0):this.dropActive=!0,this.dropActive&&this.watchDropActive(!0)}},onDocumentDragleave:function(e){this.dropActive&&(e.target===e.explicitOriginalTarget||!e.fromElement&&(e.clientX<=0||e.clientY<=0||e.clientX>=window.innerWidth||e.clientY>=window.innerHeight))&&(this.dropActive=!1,this.watchDropActive(!1))},onDocumentDragover:function(){this.watchDropActive(!0)},onDocumentDrop:function(){this.dropActive=!1,this.watchDropActive(!1)},onDragover:function(e){e.preventDefault()},onDrop:function(e){e.preventDefault(),e.dataTransfer&&this.addDataTransfer(e.dataTransfer)},inputOnChange:async function(e){var n=this;if(!(e.target instanceof HTMLInputElement))return Promise.reject(new Error("not HTMLInputElement"));e.target;var t=function(e){return n.reload=!0,n.$nextTick((function(){n.reload=!1})),e};return this.addInputFile(e.target).then(t).catch(t)}}}),m=["for"],v=["name","id","accept","capture","disabled","webkitdirectory","allowdirs","directory","multiple"];return function(e,n){void 0===n&&(n={});var t=n.insertAt;if("undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===t&&i.firstChild?i.insertBefore(o,i.firstChild):i.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}("\n.file-uploads {\n overflow: hidden;\n position: relative;\n text-align: center;\n display: inline-block;\n}\n.file-uploads.file-uploads-html4 input,\n.file-uploads.file-uploads-html5 label {\n /* background fix ie click */\n background: #fff;\n opacity: 0;\n font-size: 20em;\n z-index: 1;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n position: absolute;\n width: 100%;\n height: 100%;\n}\n.file-uploads.file-uploads-html5 input,\n.file-uploads.file-uploads-html4 label {\n /* background fix ie click */\n background: rgba(255, 255, 255, 0);\n overflow: hidden;\n position: fixed;\n width: 1px;\n height: 1px;\n z-index: -1;\n opacity: 0;\n}\n"),h.render=function(n,t,i,o,r,s){return e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(n.className)},[e.renderSlot(n.$slots,"default"),e.createElementVNode("label",{for:n.forId},null,8,m),n.reload?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("input",{key:0,ref:"input",type:"file",name:n.name,id:n.forId,accept:n.accept,capture:n.capture,disabled:n.disabled,webkitdirectory:n.iDirectory,allowdirs:n.iDirectory,directory:n.iDirectory,multiple:n.multiple&&n.features.html5,onChange:t[0]||(t[0]=function(){return n.inputOnChange&&n.inputOnChange.apply(n,arguments)})},null,40,v))],2)},h},"object"===a(n)?e.exports=s(t(632)):(o=[t(632)],void 0===(r="function"==typeof(i=s)?i.apply(n,o):i)||(e.exports=r))},350:(e,n,t)=>{"use strict";t.r(n),t.d(n,{BASE_TRANSITION:()=>p,CAMELIZE:()=>P,CAPITALIZE:()=>R,CREATE_BLOCK:()=>f,CREATE_COMMENT:()=>g,CREATE_ELEMENT_BLOCK:()=>h,CREATE_ELEMENT_VNODE:()=>v,CREATE_SLOTS:()=>C,CREATE_STATIC:()=>b,CREATE_TEXT:()=>y,CREATE_VNODE:()=>m,DOMDirectiveTransforms:()=>xi,DOMNodeTransforms:()=>ki,FRAGMENT:()=>a,GUARD_REACTIVE_PROPS:()=>j,IS_MEMO_SAME:()=>W,IS_REF:()=>z,KEEP_ALIVE:()=>u,MERGE_PROPS:()=>O,NORMALIZE_CLASS:()=>T,NORMALIZE_PROPS:()=>I,NORMALIZE_STYLE:()=>D,OPEN_BLOCK:()=>d,POP_SCOPE_ID:()=>B,PUSH_SCOPE_ID:()=>M,RENDER_LIST:()=>E,RENDER_SLOT:()=>F,RESOLVE_COMPONENT:()=>w,RESOLVE_DIRECTIVE:()=>k,RESOLVE_DYNAMIC_COMPONENT:()=>_,RESOLVE_FILTER:()=>x,SET_BLOCK_TRACKING:()=>L,SUSPENSE:()=>c,TELEPORT:()=>l,TO_DISPLAY_STRING:()=>S,TO_HANDLERS:()=>U,TO_HANDLER_KEY:()=>$,TRANSITION:()=>li,TRANSITION_GROUP:()=>ci,UNREF:()=>V,V_MODEL_CHECKBOX:()=>ni,V_MODEL_DYNAMIC:()=>oi,V_MODEL_RADIO:()=>ei,V_MODEL_SELECT:()=>ii,V_MODEL_TEXT:()=>ti,V_ON_WITH_KEYS:()=>si,V_ON_WITH_MODIFIERS:()=>ri,V_SHOW:()=>ai,WITH_CTX:()=>N,WITH_DIRECTIVES:()=>A,WITH_MEMO:()=>H,advancePositionWithClone:()=>Ee,advancePositionWithMutation:()=>Fe,assert:()=>Ce,baseCompile:()=>Zt,baseParse:()=>Qe,buildProps:()=>Ct,buildSlots:()=>wt,checkCompatEnabled:()=>Ge,compile:()=>Ai,createArrayExpression:()=>X,createAssignmentExpression:()=>ue,createBlockStatement:()=>ae,createCacheExpression:()=>se,createCallExpression:()=>ie,createCompilerError:()=>s,createCompoundExpression:()=>te,createConditionalExpression:()=>re,createDOMCompilerError:()=>mi,createForLoopParams:()=>mt,createFunctionExpression:()=>oe,createIfStatement:()=>ce,createInterpolation:()=>ne,createObjectExpression:()=>Z,createObjectProperty:()=>Q,createReturnStatement:()=>de,createRoot:()=>K,createSequenceExpression:()=>pe,createSimpleExpression:()=>ee,createStructuralDirectiveTransform:()=>Rn,createTemplateLiteral:()=>le,createTransformContext:()=>jn,createVNodeCall:()=>J,extractIdentifiers:()=>Xn,findDir:()=>Se,findProp:()=>Oe,generate:()=>Ln,generateCodeFrame:()=>i.generateCodeFrame,getBaseTransformPreset:()=>Xt,getInnerRange:()=>Ae,getMemoedVNodeCall:()=>ze,getVNodeBlockHelper:()=>$e,getVNodeHelper:()=>Re,hasDynamicKeyVBind:()=>De,hasScopeRef:()=>Ve,helperNameMap:()=>q,injectProp:()=>Be,isBuiltInType:()=>he,isCoreComponent:()=>me,isFunctionType:()=>Zn,isInDestructureAssignment:()=>Gn,isMemberExpression:()=>xe,isMemberExpressionBrowser:()=>_e,isMemberExpressionNode:()=>ke,isReferencedIdentifier:()=>Yn,isSimpleIdentifier:()=>ge,isSlotOutlet:()=>Pe,isStaticArgOf:()=>Te,isStaticExp:()=>fe,isStaticProperty:()=>Qn,isStaticPropertyKey:()=>et,isTemplateNode:()=>Ue,isText:()=>Ie,isVSlot:()=>je,locStub:()=>G,makeBlock:()=>He,noopDirectiveTransform:()=>Qt,parse:()=>Ei,parserOptions:()=>di,processExpression:()=>tt,processFor:()=>ct,processIf:()=>ot,processSlotOutlet:()=>Ut,registerRuntimeHelpers:()=>Y,resolveComponentType:()=>Ft,toValidAssetId:()=>Ne,trackSlotScopes:()=>gt,trackVForSlotScopes:()=>yt,transform:()=>Un,transformBind:()=>$t,transformElement:()=>Et,transformExpression:()=>nt,transformModel:()=>Vt,transformOn:()=>Rt,transformStyle:()=>fi,traverseNode:()=>Pn,walkBlockDeclarations:()=>Jn,walkFunctionParams:()=>Kn,walkIdentifiers:()=>qn,warnDeprecation:()=>Ke});var i=t(502);function o(e){throw e}function r(e){}function s(e,n,t,i){const o=new SyntaxError(String(e));return o.code=e,o.loc=n,o}const a=Symbol(""),l=Symbol(""),c=Symbol(""),u=Symbol(""),p=Symbol(""),d=Symbol(""),f=Symbol(""),h=Symbol(""),m=Symbol(""),v=Symbol(""),g=Symbol(""),y=Symbol(""),b=Symbol(""),w=Symbol(""),_=Symbol(""),k=Symbol(""),x=Symbol(""),A=Symbol(""),E=Symbol(""),F=Symbol(""),C=Symbol(""),S=Symbol(""),O=Symbol(""),T=Symbol(""),D=Symbol(""),I=Symbol(""),j=Symbol(""),U=Symbol(""),P=Symbol(""),R=Symbol(""),$=Symbol(""),L=Symbol(""),M=Symbol(""),B=Symbol(""),N=Symbol(""),V=Symbol(""),z=Symbol(""),H=Symbol(""),W=Symbol(""),q={[a]:"Fragment",[l]:"Teleport",[c]:"Suspense",[u]:"KeepAlive",[p]:"BaseTransition",[d]:"openBlock",[f]:"createBlock",[h]:"createElementBlock",[m]:"createVNode",[v]:"createElementVNode",[g]:"createCommentVNode",[y]:"createTextVNode",[b]:"createStaticVNode",[w]:"resolveComponent",[_]:"resolveDynamicComponent",[k]:"resolveDirective",[x]:"resolveFilter",[A]:"withDirectives",[E]:"renderList",[F]:"renderSlot",[C]:"createSlots",[S]:"toDisplayString",[O]:"mergeProps",[T]:"normalizeClass",[D]:"normalizeStyle",[I]:"normalizeProps",[j]:"guardReactiveProps",[U]:"toHandlers",[P]:"camelize",[R]:"capitalize",[$]:"toHandlerKey",[L]:"setBlockTracking",[M]:"pushScopeId",[B]:"popScopeId",[N]:"withCtx",[V]:"unref",[z]:"isRef",[H]:"withMemo",[W]:"isMemoSame"};function Y(e){Object.getOwnPropertySymbols(e).forEach((n=>{q[n]=e[n]}))}const G={source:"",start:{line:1,column:1,offset:0},end:{line:1,column:1,offset:0}};function K(e,n=G){return{type:0,children:e,helpers:[],components:[],directives:[],hoists:[],imports:[],cached:0,temps:0,codegenNode:void 0,loc:n}}function J(e,n,t,i,o,r,s,a=!1,l=!1,c=!1,u=G){return e&&(a?(e.helper(d),e.helper($e(e.inSSR,c))):e.helper(Re(e.inSSR,c)),s&&e.helper(A)),{type:13,tag:n,props:t,children:i,patchFlag:o,dynamicProps:r,directives:s,isBlock:a,disableTracking:l,isComponent:c,loc:u}}function X(e,n=G){return{type:17,loc:n,elements:e}}function Z(e,n=G){return{type:15,loc:n,properties:e}}function Q(e,n){return{type:16,loc:G,key:(0,i.isString)(e)?ee(e,!0):e,value:n}}function ee(e,n=!1,t=G,i=0){return{type:4,loc:t,content:e,isStatic:n,constType:n?3:i}}function ne(e,n){return{type:5,loc:n,content:(0,i.isString)(e)?ee(e,!1,n):e}}function te(e,n=G){return{type:8,loc:n,children:e}}function ie(e,n=[],t=G){return{type:14,loc:t,callee:e,arguments:n}}function oe(e,n,t=!1,i=!1,o=G){return{type:18,params:e,returns:n,newline:t,isSlot:i,loc:o}}function re(e,n,t,i=!0){return{type:19,test:e,consequent:n,alternate:t,newline:i,loc:G}}function se(e,n,t=!1){return{type:20,index:e,value:n,isVNode:t,loc:G}}function ae(e){return{type:21,body:e,loc:G}}function le(e){return{type:22,elements:e,loc:G}}function ce(e,n,t){return{type:23,test:e,consequent:n,alternate:t,loc:G}}function ue(e,n){return{type:24,left:e,right:n,loc:G}}function pe(e){return{type:25,expressions:e,loc:G}}function de(e){return{type:26,returns:e,loc:G}}const fe=e=>4===e.type&&e.isStatic,he=(e,n)=>e===n||e===(0,i.hyphenate)(n);function me(e){return he(e,"Teleport")?l:he(e,"Suspense")?c:he(e,"KeepAlive")?u:he(e,"BaseTransition")?p:void 0}const ve=/^\d|[^\$\w]/,ge=e=>!ve.test(e),ye=/[A-Za-z_$\xA0-\uFFFF]/,be=/[\.\?\w$\xA0-\uFFFF]/,we=/\s+[.[]\s*|\s*[.[]\s+/g,_e=e=>{e=e.trim().replace(we,(e=>e.trim()));let n=0,t=[],i=0,o=0,r=null;for(let s=0;s!(7!==e.type||"bind"!==e.name||e.arg&&4===e.arg.type&&e.arg.isStatic)))}function Ie(e){return 5===e.type||2===e.type}function je(e){return 7===e.type&&"slot"===e.name}function Ue(e){return 1===e.type&&3===e.tagType}function Pe(e){return 1===e.type&&2===e.tagType}function Re(e,n){return e||n?m:v}function $e(e,n){return e||n?f:h}const Le=new Set([I,j]);function Me(e,n=[]){if(e&&!(0,i.isString)(e)&&14===e.type){const t=e.callee;if(!(0,i.isString)(t)&&Le.has(t))return Me(e.arguments[0],n.concat(e))}return[e,n]}function Be(e,n,t){let o,r,s=13===e.type?e.props:e.arguments[2],a=[];if(s&&!(0,i.isString)(s)&&14===s.type){const e=Me(s);s=e[0],a=e[1],r=a[a.length-1]}if(null==s||(0,i.isString)(s))o=Z([n]);else if(14===s.type){const e=s.arguments[0];(0,i.isString)(e)||15!==e.type?s.callee===U?o=ie(t.helper(O),[Z([n]),s]):s.arguments.unshift(Z([n])):e.properties.unshift(n),!o&&(o=s)}else if(15===s.type){let e=!1;if(4===n.key.type){const t=n.key.content;e=s.properties.some((e=>4===e.key.type&&e.key.content===t))}e||s.properties.unshift(n),o=s}else o=ie(t.helper(O),[Z([n]),s]),r&&r.callee===j&&(r=a[a.length-2]);13===e.type?r?r.arguments[0]=o:e.props=o:r?r.arguments[0]=o:e.arguments[2]=o}function Ne(e,n){return`_${n}_${e.replace(/[^\w]/g,((n,t)=>"-"===n?"_":e.charCodeAt(t).toString()))}`}function Ve(e,n){if(!e||0===Object.keys(n).length)return!1;switch(e.type){case 1:for(let t=0;tVe(e,n)));case 11:return!!Ve(e.source,n)||e.children.some((e=>Ve(e,n)));case 9:return e.branches.some((e=>Ve(e,n)));case 10:return!!Ve(e.condition,n)||e.children.some((e=>Ve(e,n)));case 4:return!e.isStatic&&ge(e.content)&&!!n[e.content];case 8:return e.children.some((e=>(0,i.isObject)(e)&&Ve(e,n)));case 5:case 12:return Ve(e.content,n);default:return!1}}function ze(e){return 14===e.type&&e.callee===H?e.arguments[1].returns:e}function He(e,{helper:n,removeHelper:t,inSSR:i}){e.isBlock||(e.isBlock=!0,t(Re(i,e.isComponent)),n(d),n($e(i,e.isComponent)))}const We={COMPILER_IS_ON_ELEMENT:{message:'Platform-native elements with "is" prop will no longer be treated as components in Vue 3 unless the "is" value is explicitly prefixed with "vue:".',link:"https://v3.vuejs.org/guide/migration/custom-elements-interop.html"},COMPILER_V_BIND_SYNC:{message:e=>`.sync modifier for v-bind has been removed. Use v-model with argument instead. \`v-bind:${e}.sync\` should be changed to \`v-model:${e}\`.`,link:"https://v3.vuejs.org/guide/migration/v-model.html"},COMPILER_V_BIND_PROP:{message:".prop modifier for v-bind has been removed and no longer necessary. Vue 3 will automatically set a binding as DOM property when appropriate."},COMPILER_V_BIND_OBJECT_ORDER:{message:'v-bind="obj" usage is now order sensitive and behaves like JavaScript object spread: it will now overwrite an existing non-mergeable attribute that appears before v-bind in the case of conflict. To retain 2.x behavior, move v-bind to make it the first attribute. You can also suppress this warning if the usage is intended.',link:"https://v3.vuejs.org/guide/migration/v-bind.html"},COMPILER_V_ON_NATIVE:{message:".native modifier for v-on has been removed as is no longer necessary.",link:"https://v3.vuejs.org/guide/migration/v-on-native-modifier-removed.html"},COMPILER_V_IF_V_FOR_PRECEDENCE:{message:"v-if / v-for precedence when used on the same element has changed in Vue 3: v-if now takes higher precedence and will no longer have access to v-for scope variables. It is best to avoid the ambiguity with