From ea3767df64a3292471ec3edb303e662ea71b41f3 Mon Sep 17 00:00:00 2001 From: Haluk Keskin Date: Mon, 21 May 2018 18:31:15 +0300 Subject: [PATCH] fixed ie11 upload error --- .gitignore | 1 + dist/vue-upload-component.js | 20 ++++++++++++++++---- dist/vue-upload-component.js.map | 2 +- dist/vue-upload-component.min.js | 4 ++-- dist/vue-upload-component.min.js.map | 2 +- dist/vue-upload-component.part.js | 20 ++++++++++++++++---- dist/vue-upload-component.part.js.map | 2 +- docs/dist/index.js | 20 ++++++++++++++++---- docs/dist/index.js.map | 2 +- package-lock.json | 2 +- src/utils/request.js | 18 +++++++++++++++--- 11 files changed, 71 insertions(+), 22 deletions(-) diff --git a/.gitignore b/.gitignore index 153216e..051cb59 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ .DS_Store node_modules/ npm-debug.log +.idea \ No newline at end of file diff --git a/dist/vue-upload-component.js b/dist/vue-upload-component.js index f4054be..a3b6326 100644 --- a/dist/vue-upload-component.js +++ b/dist/vue-upload-component.js @@ -1,6 +1,6 @@ /*! * Name: vue-upload-component - * Version: 2.8.2 + * Version: 2.8.5 * Author: LianYue */ (function (global, factory) { @@ -16,8 +16,8 @@ */ var createRequest = function createRequest(options) { var xhr = new XMLHttpRequest(); - xhr.responseType = 'json'; xhr.open(options.method || 'GET', options.url); + xhr.responseType = 'json'; if (options.headers) { Object.keys(options.headers).forEach(function (key) { xhr.setRequestHeader(key, options.headers[key]); @@ -37,7 +37,13 @@ var sendRequest = function sendRequest(xhr, body) { return new Promise(function (resolve, reject) { xhr.onload = function () { if (xhr.status >= 200 && xhr.status < 300) { - resolve(xhr.response); + var response; + try { + response = JSON.parse(xhr.response); + } catch (err) { + response = xhr.response; + } + resolve(response); } else { reject(xhr.response); } @@ -64,7 +70,13 @@ var sendFormRequest = function sendFormRequest(xhr, data) { return new Promise(function (resolve, reject) { xhr.onload = function () { if (xhr.status >= 200 && xhr.status < 300) { - resolve(xhr.response); + var response; + try { + response = JSON.parse(xhr.response); + } catch (err) { + response = xhr.response; + } + resolve(response); } else { reject(xhr.response); } diff --git a/dist/vue-upload-component.js.map b/dist/vue-upload-component.js.map index 1cbc1c1..d28aeb7 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":["../src/utils/request.js","../src/chunk/ChunkUploadHandler.js","../src/InputFile.vue","../src/FileUpload.vue","../src/index.js"],"sourcesContent":["/**\n * Creates a XHR request\n *\n * @param {Object} options\n */\nexport const createRequest = (options) => {\n const xhr = new XMLHttpRequest()\n xhr.responseType = 'json'\n xhr.open(options.method || 'GET', options.url)\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 resolve(xhr.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 (var 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 resolve(xhr.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 }\n\n /**\n * Gets the max retries from options\n */\n get maxRetries () {\n return parseInt(this.options.maxRetries)\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)\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 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\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: Object.assign({}, 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 })\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\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\n request({\n method: 'POST',\n headers: Object.assign({}, 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(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","\n\n\n","module.exports = require('./FileUpload.vue')\n"],"names":["createRequest","options","xhr","XMLHttpRequest","responseType","open","method","url","headers","keys","forEach","setRequestHeader","key","sendRequest","body","Promise","resolve","reject","onload","status","response","onerror","send","JSON","stringify","sendFormRequest","data","FormData","name","append","ChunkUploadHandler","file","chunks","start","end","chunkSize","fileSize","push","slice","maxRetries","progress","active","stopChunks","chunksUploading","abort","startChunking","promise","Object","assign","action","startBody","fileType","then","res","sessionId","session_id","end_offset","createChunks","catch","i","maxActiveChunks","uploadNextChunk","hasChunksToUpload","uploadChunk","chunksToUpload","length","finish","chunk","updateFileProgress","upload","addEventListener","evt","lengthComputable","Math","round","loaded","total","uploadBody","startOffset","blob","uploaded","retries","finishBody","parseInt","maxActive","type","size","completedProgress","chunksUploaded","uploadingProgress","reduce","min","filter","render","e","$destroy","$parent","addInputFile","target","constructor","$el","CHUNK_DEFAULT_OPTIONS","ChunkUploadDefaultHandler","String","Boolean","Number","multiple","Function","Array","value","input","document","createElement","window","files","webkitdirectory","directory","features","html5","ondrop","drop","maps","$nextTick","$forceUpdate","watchDrop","destroy","fileObject","error","success","undefined","watchActive","oldMaps","id","newFile","oldFile","emitFile","emitInput","_files","index","addIndex","isArray","addFiles","Blob","webkitRelativePath","relativePath","Element","el","putAction","postAction","timeout","random","toString","substr","emitFilter","maximum","clear","newFiles","concat","splice","replace","add","dataTransfer","items","item","getAsEntry","getAsFile","webkitGetAsEntry","getEntry","results","entry","path","isFile","isDirectory","dropDirectory","dirReader","createReader","readEntries","entries","id1","id2","file1","get","file2","index1","indexOf","index2","isPrevent","$emit","uploading","update","code","message","extensions","RegExp","split","map","trim","join","search","customAction","shouldUseChunkUpload","uploadPut","uploadHtml5","uploadHtml4","chunkEnabled","chunkOptions","handler","minSize","HandlerClass","querys","encodeURIComponent","queryString","uploadXhr","form","File","filename","_file","speedTime","speedLoaded","onprogress","speedTime2","Date","now","toFixed","interval","setInterval","complete","fn","responseText","contentType","getResponseHeader","parse","onabort","ontimeout","onKeydown","keyCode","preventDefault","iframe","src","setAttribute","appendChild","getResponseData","doc","contentWindow","err","contentDocument","innerHTML","removeEventListener","submit","parentNode","removeChild","thread","_el","dropElement","onDragenter","onDragleave","onDocumentDrop","onDragover","onDrop","querySelector","$root","dropActive","nodeName","screenX","screenY","fromElement","offsetX","addDataTransfer","require$$0"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"vue-upload-component.js","sources":["../src/utils/request.js","../src/chunk/ChunkUploadHandler.js","../src/InputFile.vue","../src/FileUpload.vue","../src/index.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 var 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 (var 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 var 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 }\n\n /**\n * Gets the max retries from options\n */\n get maxRetries () {\n return parseInt(this.options.maxRetries)\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)\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 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\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: Object.assign({}, 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 })\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\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\n request({\n method: 'POST',\n headers: Object.assign({}, 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(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","\n\n\n","module.exports = require('./FileUpload.vue')\n"],"names":["createRequest","options","xhr","XMLHttpRequest","open","method","url","responseType","headers","keys","forEach","setRequestHeader","key","sendRequest","body","Promise","resolve","reject","onload","status","response","JSON","parse","err","onerror","send","stringify","sendFormRequest","data","FormData","name","append","ChunkUploadHandler","file","chunks","start","end","chunkSize","fileSize","push","slice","maxRetries","progress","active","stopChunks","chunksUploading","abort","startChunking","promise","Object","assign","action","startBody","fileType","then","res","sessionId","session_id","end_offset","createChunks","catch","i","maxActiveChunks","uploadNextChunk","hasChunksToUpload","uploadChunk","chunksToUpload","length","finish","chunk","updateFileProgress","upload","addEventListener","evt","lengthComputable","Math","round","loaded","total","uploadBody","startOffset","blob","uploaded","retries","finishBody","parseInt","maxActive","type","size","completedProgress","chunksUploaded","uploadingProgress","reduce","min","filter","render","e","$destroy","$parent","addInputFile","target","constructor","$el","CHUNK_DEFAULT_OPTIONS","ChunkUploadDefaultHandler","String","Boolean","Number","multiple","Function","Array","value","input","document","createElement","window","files","webkitdirectory","directory","features","html5","ondrop","drop","maps","$nextTick","$forceUpdate","watchDrop","destroy","fileObject","error","success","undefined","watchActive","oldMaps","id","newFile","oldFile","emitFile","emitInput","_files","index","addIndex","isArray","addFiles","Blob","webkitRelativePath","relativePath","Element","el","putAction","postAction","timeout","random","toString","substr","emitFilter","maximum","clear","newFiles","concat","splice","replace","add","dataTransfer","items","item","getAsEntry","getAsFile","webkitGetAsEntry","getEntry","results","entry","path","isFile","isDirectory","dropDirectory","dirReader","createReader","readEntries","entries","id1","id2","file1","get","file2","index1","indexOf","index2","isPrevent","$emit","uploading","update","code","message","extensions","RegExp","split","map","trim","join","search","customAction","shouldUseChunkUpload","uploadPut","uploadHtml5","uploadHtml4","chunkEnabled","chunkOptions","handler","minSize","HandlerClass","querys","encodeURIComponent","queryString","uploadXhr","form","File","filename","_file","speedTime","speedLoaded","onprogress","speedTime2","Date","now","toFixed","interval","setInterval","complete","fn","responseText","contentType","getResponseHeader","onabort","ontimeout","onKeydown","keyCode","preventDefault","iframe","src","setAttribute","appendChild","getResponseData","doc","contentWindow","contentDocument","innerHTML","removeEventListener","submit","parentNode","removeChild","thread","_el","dropElement","onDragenter","onDragleave","onDocumentDrop","onDragover","onDrop","querySelector","$root","dropActive","nodeName","screenX","screenY","fromElement","offsetX","addDataTransfer","require$$0"],"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 b1a010f..d30c488 100644 --- a/dist/vue-upload-component.min.js +++ b/dist/vue-upload-component.min.js @@ -1,7 +1,7 @@ /*! * Name: vue-upload-component - * Version: 2.8.2 + * Version: 2.8.5 * Author: LianYue */ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.VueUploadComponent=t()}(this,function(){"use strict";var e=function(e){var t=new XMLHttpRequest;return t.responseType="json",t.open(e.method||"GET",e.url),e.headers&&Object.keys(e.headers).forEach(function(i){t.setRequestHeader(i,e.headers[i])}),t},t=function(t){var i,n,r=e(t);return i=r,n=t.body,new Promise(function(e,t){i.onload=function(){i.status>=200&&i.status<300?e(i.response):t(i.response)},i.onerror=function(){return t(i.response)},i.send(JSON.stringify(n))})},i=function(){function e(e,t){for(var i=0;i=200&&e.status<300?t(e.response):n(e.response)},e.onerror=function(){return n(e.response)},e.send(i)})}(t.xhr,Object.assign(this.uploadBody,{phase:"upload",session_id:this.sessionId,start_offset:t.startOffset,chunk:t.blob})).then(function(e){if(t.active=!1,"success"===e.status)t.uploaded=!0;else if(t.retries--<=0)return i.stopChunks(),i.reject("upload");i.uploadNextChunk()}).catch(function(){if(t.active=!1,t.retries--<=0)return i.stopChunks(),i.reject("upload");i.uploadNextChunk()})}},{key:"finish",value:function(){var e=this;this.updateFileProgress(),t({method:"POST",headers:Object.assign({},this.headers,{"Content-Type":"application/json"}),url:this.action,body:Object.assign(this.finishBody,{phase:"finish",session_id:this.sessionId})}).then(function(t){if(e.file.response=t,"success"!==t.status)return e.reject("server");e.resolve(t)}).catch(function(t){e.file.response=t,e.reject("server")})}},{key:"maxRetries",get:function(){return parseInt(this.options.maxRetries)}},{key:"maxActiveChunks",get:function(){return parseInt(this.options.maxActive)}},{key:"fileType",get:function(){return this.file.type}},{key:"fileSize",get:function(){return this.file.size}},{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,i=this.chunksUploading.reduce(function(t,i){return t+(0|i.progress)/e.chunks.length},0);return Math.min(t+i,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})}}]),n}();!function(){if("undefined"!=typeof document){var e=document.head||document.getElementsByTagName("head")[0],t=document.createElement("style");t.type="text/css",t.styleSheet?t.styleSheet.cssText="":t.appendChild(document.createTextNode("")),e.appendChild(t)}}();var r=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:this.addIndex,i=e,n=i instanceof Array;n||(i=[i]);for(var o=[],s=0;s1&&o.length+this.files.length>=this.maximum)break;if(o.push(a),1===this.maximum)break}}if(!o.length)return!1;1===this.maximum&&this.clear();var c=void 0;!0===t||0===t?c=o.concat(this.files):t?(c=o.concat([])).splice(t,0,o):c=this.files.concat(o),this.files=c;for(var d=0;d0&&i.length>=t.maximum)return e(t.add(i));t.getEntry(a).then(function(e){i.push.apply(i,s(e)),r(o+1)})}(0)})}if(e.files.length){for(var a=0;a0&&i.length>=this.maximum));a++);return Promise.resolve(this.add(i))}return Promise.resolve([])},getEntry:function(e){var t=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return new Promise(function(n,r){if(e.isFile)e.file(function(e){n([{size:e.size,name:i+e.name,type:e.type,file:e}])});else if(e.isDirectory&&t.dropDirectory){var o=[],a=e.createReader();!function r(){a.readEntries(function(a){!function u(c){return!a[c]&&0===c||t.maximum>0&&o.length>=t.maximum?n(o):a[c]?void t.getEntry(a[c],i+e.name+"/").then(function(e){o.push.apply(o,s(e)),u(c+1)}):r()}(0)})}()}else n([])})},replace:function(e,t){var i=this.get(e),n=this.get(t);if(!i||!n||i===n)return!1;var r=this.files.concat([]),o=r.indexOf(i),s=r.indexOf(n);return-1!==o&&-1!==s&&(r[o]=n,r[s]=i,this.files=r,this.emitInput(),!0)},remove:function(e){var t=this.get(e);if(t){if(this.emitFilter(void 0,t))return!1;var i=this.files.concat([]),n=i.indexOf(t);if(-1===n)return console.error("remove",t),!1;i.splice(n,1),this.files=i,delete this.maps[t.id],this.emitInput(),this.emitFile(void 0,t)}return t},update:function(e,t){var i=this.get(e);if(i){var n=r({},i,t);if(!i.fileObject||!i.active||n.active||n.error||n.success||(n.error="abort"),this.emitFilter(n,i))return!1;var o=this.files.concat([]),s=o.indexOf(i);return-1===s?(console.error("update",i),!1):(o.splice(s,1,n),this.files=o,delete this.maps[i.id],this.maps[n.id]=n,this.emitInput(),this.emitFile(n,i),n)}return!1},emitFilter:function(e,t){var i=!1;return this.$emit("input-filter",e,t,function(){return i=!0}),i},emitFile:function(e,t){this.$emit("input-file",e,t),!(e&&e.fileObject&&e.active)||t&&t.active?e&&e.fileObject&&e.active||!t||!t.fileObject||!t.active||this.uploading--:(this.uploading++,this.$nextTick(function(){var t=this;setTimeout(function(){t.upload(e).then(function(){(e=t.get(e))&&e.fileObject&&t.update(e,{active:!1,success:!e.error})}).catch(function(i){t.update(e,{active:!1,success:!1,error:i.code||i.error||i.message||i})})},parseInt(50*Math.random()+50,10))})),!this.active||Boolean(e)===Boolean(t)&&e.active===t.active||this.watchActive(!0)},emitInput:function(){this.$emit("input",this.files)},upload:function(e){var t=this.get(e);if(!t)return Promise.reject("not_exists");if(!t.fileObject)return Promise.reject("file_object");if(t.error)return Promise.reject(t.error);if(t.success)return Promise.resolve(t);var i=this.extensions;if(i&&(i.length||void 0===i.length)&&("object"===(void 0===i?"undefined":o(i))&&i instanceof RegExp||("string"==typeof i&&(i=i.split(",").map(function(e){return e.trim()}).filter(function(e){return e})),i=new RegExp("\\.("+i.join("|").replace(/\./g,"\\.")+")$","i")),-1===t.name.search(i)))return Promise.reject("extension");if(this.size>0&&t.size>=0&&t.size>this.size)return Promise.reject("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("No action configured")},shouldUseChunkUpload:function(e){return this.chunkEnabled&&!!this.chunkOptions.handler&&e.size>this.chunkOptions.minSize},uploadChunk:function(e){var t=this.chunkOptions.handler;return e.chunk=new t(e,this.chunkOptions),e.chunk.upload()},uploadPut:function(e){var t=[],i=void 0;for(var n in e.data)null!==(i=e.data[n])&&void 0!==i&&t.push(encodeURIComponent(n)+"="+encodeURIComponent(i));var r=t.length?(-1===e.putAction.indexOf("?")?"?":"&")+t.join("&"):"",o=new XMLHttpRequest;return o.open("PUT",e.putAction+r),this.uploadXhr(o,e,e.file)},uploadHtml5:function(e){var t=new window.FormData,i=void 0;for(var n in e.data)(i=e.data[n])&&"object"===(void 0===i?"undefined":o(i))&&"function"!=typeof i.toString?i instanceof File?t.append(n,i,i.name):t.append(n,JSON.stringify(i)):null!==i&&void 0!==i&&t.append(n,i);t.append(this.name,e.file,e.file.filename||e.name);var r=new XMLHttpRequest;return r.open("POST",e.postAction),this.uploadXhr(r,e,t)},uploadXhr:function(e,t,i){var n=this,r=t,o=0,s=0;e.upload.onprogress=function(e){if(r=n.get(r),e.lengthComputable&&r&&r.fileObject&&r.active){var t=Math.round(Date.now()/1e3);t!==o&&(o=t,r=n.update(r,{progress:(e.loaded/e.total*100).toFixed(2),speed:e.loaded-s}),s=e.loaded)}};var a=setInterval(function(){if(!(r=n.get(r))||!r.fileObject||r.success||r.error||!r.active){a&&(clearInterval(a),a=!1);try{e.abort(),e.timeout=1}catch(e){}}},100);return new Promise(function(t,o){var s=void 0,u=function(i){if(!s){if(s=!0,a&&(clearInterval(a),a=!1),!(r=n.get(r)))return o("not_exists");if(!r.fileObject)return o("file_object");if(r.error)return o(r.error);if(!r.active)return o("abort");if(r.success)return t(r);var u={};switch(i.type){case"timeout":case"abort":u.error=i.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 c=e.getResponseHeader("Content-Type");c&&-1!==c.indexOf("/json")?u.response=JSON.parse(e.responseText):u.response=e.responseText}return(r=n.update(r,u)).error?o(r.error):t(r)}};for(var c in e.onload=u,e.onerror=u,e.onabort=u,e.ontimeout=u,r.timeout&&(e.timeout=r.timeout),r.headers)e.setRequestHeader(c,r.headers[c]);r=n.update(r,{xhr:e}),e.send(i)})},uploadHtml4:function(e){var t=this,i=e,n=function(e){27===e.keyCode&&e.preventDefault()},r=document.createElement("iframe");r.id="upload-iframe-"+i.id,r.name="upload-iframe-"+i.id,r.src="about:blank",r.setAttribute("style","width:1px;height:1px;top:-999em;position:absolute; margin-top:-999em;");var s=document.createElement("form");s.action=i.postAction,s.name="upload-form-"+i.id,s.setAttribute("method","POST"),s.setAttribute("target","upload-iframe-"+i.id),s.setAttribute("enctype","multipart/form-data");var a=void 0,u=void 0;for(var c in i.data)(a=i.data[c])&&"object"===(void 0===a?"undefined":o(a))&&"function"!=typeof a.toString&&(a=JSON.stringify(a)),null!==a&&void 0!==a&&((u=document.createElement("input")).type="hidden",u.name=c,u.value=a,s.appendChild(u));s.appendChild(i.el),document.body.appendChild(r).appendChild(s);return new Promise(function(e,o){setTimeout(function(){if(!(i=t.update(i,{iframe:r})))return o("not_exists");var a=setInterval(function(){(i=t.get(i))&&i.fileObject&&!i.success&&!i.error&&i.active||(a&&(clearInterval(a),a=!1),r.onabort({type:i?"abort":"not_exists"}))},100),u=void 0,c=function(s){if(!u){if(u=!0,a&&(clearInterval(a),a=!1),document.body.removeEventListener("keydown",n),!(i=t.get(i)))return o("not_exists");if(!i.fileObject)return o("file_object");if(i.error)return o(i.error);if(!i.active)return o("abort");if(i.success)return e(i);var c=function(){var e=void 0;try{r.contentWindow&&(e=r.contentWindow.document)}catch(e){}if(!e)try{e=r.contentDocument?r.contentDocument:r.document}catch(t){e=r.document}return e&&e.body?e.body.innerHTML:null}(),d={};switch(s.type){case"abort":d.error="abort";break;case"error":i.error?d.error=i.error:d.error=null===c?"network":"denied";break;default:i.error?d.error=i.error:null===d?d.error="network":d.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){}d.response=c}return(i=t.update(i,d)).error?o(i.error):e(i)}};r.onload=c,r.onerror=c,r.onabort=c,document.body.addEventListener("keydown",n),s.submit()},50)}).then(function(e){return r.parentNode&&r.parentNode.removeChild(r),e}).catch(function(e){return r.parentNode&&r.parentNode.removeChild(r),e})},watchActive:function(e){for(var t=void 0,i=0;t=this.files[i];)if(i++,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});else;0===this.uploading&&(this.active=!1)},watchDrop:function(e){var t=e;if(this.features.drop){if(this.dropElement)try{document.removeEventListener("dragenter",this.onDragenter,!1),document.removeEventListener("dragleave",this.onDragleave,!1),document.removeEventListener("drop",this.onDocumentDrop,!1),this.dropElement.removeEventListener("dragover",this.onDragover,!1),this.dropElement.removeEventListener("drop",this.onDrop,!1)}catch(e){}t?"string"==typeof t?t=document.querySelector(t)||this.$root.$el.querySelector(t):!0===t&&(t=this.$parent.$el):t=!1,this.dropElement=t,this.dropElement&&(document.addEventListener("dragenter",this.onDragenter,!1),document.addEventListener("dragleave",this.onDragleave,!1),document.addEventListener("drop",this.onDocumentDrop,!1),this.dropElement.addEventListener("dragover",this.onDragover,!1),this.dropElement.addEventListener("drop",this.onDrop,!1))}},onDragenter:function(e){e.preventDefault(),this.dropActive||(this.dropActive=!0)},onDragleave:function(e){e.preventDefault(),("HTML"===e.target.nodeName||0===e.screenX&&0===e.screenY&&!e.fromElement&&e.offsetX<=0)&&(this.dropActive=!1)},onDragover:function(e){e.preventDefault()},onDocumentDrop:function(){this.dropActive=!1},onDrop:function(e){e.preventDefault(),this.addDataTransfer(e.dataTransfer)}}},c=Object.freeze({default:u});return c&&u||c}); +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.VueUploadComponent=t()}(this,function(){"use strict";var e=function(e){var t=new XMLHttpRequest;return t.open(e.method||"GET",e.url),t.responseType="json",e.headers&&Object.keys(e.headers).forEach(function(i){t.setRequestHeader(i,e.headers[i])}),t},t=function(t){var i,n,r=e(t);return i=r,n=t.body,new Promise(function(e,t){i.onload=function(){if(i.status>=200&&i.status<300){var n;try{n=JSON.parse(i.response)}catch(e){n=i.response}e(n)}else t(i.response)},i.onerror=function(){return t(i.response)},i.send(JSON.stringify(n))})},i=function(){function e(e,t){for(var i=0;i=200&&e.status<300){var i;try{i=JSON.parse(e.response)}catch(t){i=e.response}t(i)}else n(e.response)},e.onerror=function(){return n(e.response)},e.send(i)})}(t.xhr,Object.assign(this.uploadBody,{phase:"upload",session_id:this.sessionId,start_offset:t.startOffset,chunk:t.blob})).then(function(e){if(t.active=!1,"success"===e.status)t.uploaded=!0;else if(t.retries--<=0)return i.stopChunks(),i.reject("upload");i.uploadNextChunk()}).catch(function(){if(t.active=!1,t.retries--<=0)return i.stopChunks(),i.reject("upload");i.uploadNextChunk()})}},{key:"finish",value:function(){var e=this;this.updateFileProgress(),t({method:"POST",headers:Object.assign({},this.headers,{"Content-Type":"application/json"}),url:this.action,body:Object.assign(this.finishBody,{phase:"finish",session_id:this.sessionId})}).then(function(t){if(e.file.response=t,"success"!==t.status)return e.reject("server");e.resolve(t)}).catch(function(t){e.file.response=t,e.reject("server")})}},{key:"maxRetries",get:function(){return parseInt(this.options.maxRetries)}},{key:"maxActiveChunks",get:function(){return parseInt(this.options.maxActive)}},{key:"fileType",get:function(){return this.file.type}},{key:"fileSize",get:function(){return this.file.size}},{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,i=this.chunksUploading.reduce(function(t,i){return t+(0|i.progress)/e.chunks.length},0);return Math.min(t+i,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})}}]),n}();!function(){if("undefined"!=typeof document){var e=document.head||document.getElementsByTagName("head")[0],t=document.createElement("style");t.type="text/css",t.styleSheet?t.styleSheet.cssText="":t.appendChild(document.createTextNode("")),e.appendChild(t)}}();var r=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:this.addIndex,i=e,n=i instanceof Array;n||(i=[i]);for(var o=[],s=0;s1&&o.length+this.files.length>=this.maximum)break;if(o.push(a),1===this.maximum)break}}if(!o.length)return!1;1===this.maximum&&this.clear();var c=void 0;!0===t||0===t?c=o.concat(this.files):t?(c=o.concat([])).splice(t,0,o):c=this.files.concat(o),this.files=c;for(var d=0;d0&&i.length>=t.maximum)return e(t.add(i));t.getEntry(a).then(function(e){i.push.apply(i,s(e)),r(o+1)})}(0)})}if(e.files.length){for(var a=0;a0&&i.length>=this.maximum));a++);return Promise.resolve(this.add(i))}return Promise.resolve([])},getEntry:function(e){var t=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return new Promise(function(n,r){if(e.isFile)e.file(function(e){n([{size:e.size,name:i+e.name,type:e.type,file:e}])});else if(e.isDirectory&&t.dropDirectory){var o=[],a=e.createReader();!function r(){a.readEntries(function(a){!function u(c){return!a[c]&&0===c||t.maximum>0&&o.length>=t.maximum?n(o):a[c]?void t.getEntry(a[c],i+e.name+"/").then(function(e){o.push.apply(o,s(e)),u(c+1)}):r()}(0)})}()}else n([])})},replace:function(e,t){var i=this.get(e),n=this.get(t);if(!i||!n||i===n)return!1;var r=this.files.concat([]),o=r.indexOf(i),s=r.indexOf(n);return-1!==o&&-1!==s&&(r[o]=n,r[s]=i,this.files=r,this.emitInput(),!0)},remove:function(e){var t=this.get(e);if(t){if(this.emitFilter(void 0,t))return!1;var i=this.files.concat([]),n=i.indexOf(t);if(-1===n)return console.error("remove",t),!1;i.splice(n,1),this.files=i,delete this.maps[t.id],this.emitInput(),this.emitFile(void 0,t)}return t},update:function(e,t){var i=this.get(e);if(i){var n=r({},i,t);if(!i.fileObject||!i.active||n.active||n.error||n.success||(n.error="abort"),this.emitFilter(n,i))return!1;var o=this.files.concat([]),s=o.indexOf(i);return-1===s?(console.error("update",i),!1):(o.splice(s,1,n),this.files=o,delete this.maps[i.id],this.maps[n.id]=n,this.emitInput(),this.emitFile(n,i),n)}return!1},emitFilter:function(e,t){var i=!1;return this.$emit("input-filter",e,t,function(){return i=!0}),i},emitFile:function(e,t){this.$emit("input-file",e,t),!(e&&e.fileObject&&e.active)||t&&t.active?e&&e.fileObject&&e.active||!t||!t.fileObject||!t.active||this.uploading--:(this.uploading++,this.$nextTick(function(){var t=this;setTimeout(function(){t.upload(e).then(function(){(e=t.get(e))&&e.fileObject&&t.update(e,{active:!1,success:!e.error})}).catch(function(i){t.update(e,{active:!1,success:!1,error:i.code||i.error||i.message||i})})},parseInt(50*Math.random()+50,10))})),!this.active||Boolean(e)===Boolean(t)&&e.active===t.active||this.watchActive(!0)},emitInput:function(){this.$emit("input",this.files)},upload:function(e){var t=this.get(e);if(!t)return Promise.reject("not_exists");if(!t.fileObject)return Promise.reject("file_object");if(t.error)return Promise.reject(t.error);if(t.success)return Promise.resolve(t);var i=this.extensions;if(i&&(i.length||void 0===i.length)&&("object"===(void 0===i?"undefined":o(i))&&i instanceof RegExp||("string"==typeof i&&(i=i.split(",").map(function(e){return e.trim()}).filter(function(e){return e})),i=new RegExp("\\.("+i.join("|").replace(/\./g,"\\.")+")$","i")),-1===t.name.search(i)))return Promise.reject("extension");if(this.size>0&&t.size>=0&&t.size>this.size)return Promise.reject("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("No action configured")},shouldUseChunkUpload:function(e){return this.chunkEnabled&&!!this.chunkOptions.handler&&e.size>this.chunkOptions.minSize},uploadChunk:function(e){var t=this.chunkOptions.handler;return e.chunk=new t(e,this.chunkOptions),e.chunk.upload()},uploadPut:function(e){var t=[],i=void 0;for(var n in e.data)null!==(i=e.data[n])&&void 0!==i&&t.push(encodeURIComponent(n)+"="+encodeURIComponent(i));var r=t.length?(-1===e.putAction.indexOf("?")?"?":"&")+t.join("&"):"",o=new XMLHttpRequest;return o.open("PUT",e.putAction+r),this.uploadXhr(o,e,e.file)},uploadHtml5:function(e){var t=new window.FormData,i=void 0;for(var n in e.data)(i=e.data[n])&&"object"===(void 0===i?"undefined":o(i))&&"function"!=typeof i.toString?i instanceof File?t.append(n,i,i.name):t.append(n,JSON.stringify(i)):null!==i&&void 0!==i&&t.append(n,i);t.append(this.name,e.file,e.file.filename||e.name);var r=new XMLHttpRequest;return r.open("POST",e.postAction),this.uploadXhr(r,e,t)},uploadXhr:function(e,t,i){var n=this,r=t,o=0,s=0;e.upload.onprogress=function(e){if(r=n.get(r),e.lengthComputable&&r&&r.fileObject&&r.active){var t=Math.round(Date.now()/1e3);t!==o&&(o=t,r=n.update(r,{progress:(e.loaded/e.total*100).toFixed(2),speed:e.loaded-s}),s=e.loaded)}};var a=setInterval(function(){if(!(r=n.get(r))||!r.fileObject||r.success||r.error||!r.active){a&&(clearInterval(a),a=!1);try{e.abort(),e.timeout=1}catch(e){}}},100);return new Promise(function(t,o){var s=void 0,u=function(i){if(!s){if(s=!0,a&&(clearInterval(a),a=!1),!(r=n.get(r)))return o("not_exists");if(!r.fileObject)return o("file_object");if(r.error)return o(r.error);if(!r.active)return o("abort");if(r.success)return t(r);var u={};switch(i.type){case"timeout":case"abort":u.error=i.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 c=e.getResponseHeader("Content-Type");c&&-1!==c.indexOf("/json")?u.response=JSON.parse(e.responseText):u.response=e.responseText}return(r=n.update(r,u)).error?o(r.error):t(r)}};for(var c in e.onload=u,e.onerror=u,e.onabort=u,e.ontimeout=u,r.timeout&&(e.timeout=r.timeout),r.headers)e.setRequestHeader(c,r.headers[c]);r=n.update(r,{xhr:e}),e.send(i)})},uploadHtml4:function(e){var t=this,i=e,n=function(e){27===e.keyCode&&e.preventDefault()},r=document.createElement("iframe");r.id="upload-iframe-"+i.id,r.name="upload-iframe-"+i.id,r.src="about:blank",r.setAttribute("style","width:1px;height:1px;top:-999em;position:absolute; margin-top:-999em;");var s=document.createElement("form");s.action=i.postAction,s.name="upload-form-"+i.id,s.setAttribute("method","POST"),s.setAttribute("target","upload-iframe-"+i.id),s.setAttribute("enctype","multipart/form-data");var a=void 0,u=void 0;for(var c in i.data)(a=i.data[c])&&"object"===(void 0===a?"undefined":o(a))&&"function"!=typeof a.toString&&(a=JSON.stringify(a)),null!==a&&void 0!==a&&((u=document.createElement("input")).type="hidden",u.name=c,u.value=a,s.appendChild(u));s.appendChild(i.el),document.body.appendChild(r).appendChild(s);return new Promise(function(e,o){setTimeout(function(){if(!(i=t.update(i,{iframe:r})))return o("not_exists");var a=setInterval(function(){(i=t.get(i))&&i.fileObject&&!i.success&&!i.error&&i.active||(a&&(clearInterval(a),a=!1),r.onabort({type:i?"abort":"not_exists"}))},100),u=void 0,c=function(s){if(!u){if(u=!0,a&&(clearInterval(a),a=!1),document.body.removeEventListener("keydown",n),!(i=t.get(i)))return o("not_exists");if(!i.fileObject)return o("file_object");if(i.error)return o(i.error);if(!i.active)return o("abort");if(i.success)return e(i);var c=function(){var e=void 0;try{r.contentWindow&&(e=r.contentWindow.document)}catch(e){}if(!e)try{e=r.contentDocument?r.contentDocument:r.document}catch(t){e=r.document}return e&&e.body?e.body.innerHTML:null}(),d={};switch(s.type){case"abort":d.error="abort";break;case"error":i.error?d.error=i.error:d.error=null===c?"network":"denied";break;default:i.error?d.error=i.error:null===d?d.error="network":d.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){}d.response=c}return(i=t.update(i,d)).error?o(i.error):e(i)}};r.onload=c,r.onerror=c,r.onabort=c,document.body.addEventListener("keydown",n),s.submit()},50)}).then(function(e){return r.parentNode&&r.parentNode.removeChild(r),e}).catch(function(e){return r.parentNode&&r.parentNode.removeChild(r),e})},watchActive:function(e){for(var t=void 0,i=0;t=this.files[i];)if(i++,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});else;0===this.uploading&&(this.active=!1)},watchDrop:function(e){var t=e;if(this.features.drop){if(this.dropElement)try{document.removeEventListener("dragenter",this.onDragenter,!1),document.removeEventListener("dragleave",this.onDragleave,!1),document.removeEventListener("drop",this.onDocumentDrop,!1),this.dropElement.removeEventListener("dragover",this.onDragover,!1),this.dropElement.removeEventListener("drop",this.onDrop,!1)}catch(e){}t?"string"==typeof t?t=document.querySelector(t)||this.$root.$el.querySelector(t):!0===t&&(t=this.$parent.$el):t=!1,this.dropElement=t,this.dropElement&&(document.addEventListener("dragenter",this.onDragenter,!1),document.addEventListener("dragleave",this.onDragleave,!1),document.addEventListener("drop",this.onDocumentDrop,!1),this.dropElement.addEventListener("dragover",this.onDragover,!1),this.dropElement.addEventListener("drop",this.onDrop,!1))}},onDragenter:function(e){e.preventDefault(),this.dropActive||(this.dropActive=!0)},onDragleave:function(e){e.preventDefault(),("HTML"===e.target.nodeName||0===e.screenX&&0===e.screenY&&!e.fromElement&&e.offsetX<=0)&&(this.dropActive=!1)},onDragover:function(e){e.preventDefault()},onDocumentDrop:function(){this.dropActive=!1},onDrop:function(e){e.preventDefault(),this.addDataTransfer(e.dataTransfer)}}},c=Object.freeze({default:u});return c&&u||c}); //# 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 ca7c256..b02c7aa 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":["../src/utils/request.js","../src/chunk/ChunkUploadHandler.js","../src/InputFile.vue","../src/FileUpload.vue"],"sourcesContent":["/**\n * Creates a XHR request\n *\n * @param {Object} options\n */\nexport const createRequest = (options) => {\n const xhr = new XMLHttpRequest()\n xhr.responseType = 'json'\n xhr.open(options.method || 'GET', options.url)\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 resolve(xhr.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 (var 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 resolve(xhr.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 }\n\n /**\n * Gets the max retries from options\n */\n get maxRetries () {\n return parseInt(this.options.maxRetries)\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)\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 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\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: Object.assign({}, 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 })\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\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\n request({\n method: 'POST',\n headers: Object.assign({}, 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(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","\n\n\n"],"names":["createRequest","options","xhr","XMLHttpRequest","responseType","open","method","url","headers","keys","forEach","setRequestHeader","key","body","Promise","resolve","reject","onload","status","response","onerror","send","JSON","stringify","ChunkUploadHandler","file","chunks","start","end","this","chunkSize","fileSize","push","slice","maxRetries","progress","active","stopChunks","chunksUploading","abort","startChunking","promise","Object","assign","action","startBody","fileType","then","res","_this2","sessionId","data","session_id","end_offset","createChunks","catch","i","maxActiveChunks","uploadNextChunk","hasChunksToUpload","uploadChunk","chunksToUpload","length","finish","chunk","updateFileProgress","upload","addEventListener","evt","lengthComputable","Math","round","loaded","total","FormData","name","append","uploadBody","startOffset","blob","uploaded","retries","_this3","finishBody","_this4","parseInt","maxActive","type","size","completedProgress","chunksUploaded","uploadingProgress","reduce","_this5","min","filter","CHUNK_DEFAULT_OPTIONS","ChunkUploadDefaultHandler","render","e","$destroy","$parent","addInputFile","target","constructor","$el","String","Boolean","Number","multiple","Function","Array","value","input","document","createElement","window","files","webkitdirectory","directory","features","html5","ondrop","drop","maps","$nextTick","$forceUpdate","watchDrop","destroy","fileObject","error","success","undefined","watchActive","oldMaps","id","newFile","oldFile","emitFile","emitInput","_files","index","addIndex","isArray","addFiles","Blob","webkitRelativePath","relativePath","Element","el","putAction","postAction","timeout","random","toString","substr","emitFilter","maximum","clear","newFiles","concat","splice","replace","add","dataTransfer","items","item","getAsEntry","getAsFile","webkitGetAsEntry","_this","getEntry","results","entry","path","isFile","isDirectory","dropDirectory","dirReader","createReader","readEntries","entries","id1","id2","file1","get","file2","index1","indexOf","index2","isPrevent","$emit","uploading","update","code","message","extensions","RegExp","split","map","trim","join","search","customAction","shouldUseChunkUpload","uploadPut","uploadHtml5","uploadHtml4","chunkEnabled","chunkOptions","handler","minSize","HandlerClass","querys","encodeURIComponent","queryString","uploadXhr","form","File","filename","_file","speedTime","speedLoaded","onprogress","speedTime2","Date","now","toFixed","interval","setInterval","complete","fn","responseText","contentType","getResponseHeader","parse","onabort","ontimeout","onKeydown","keyCode","preventDefault","iframe","src","setAttribute","appendChild","removeEventListener","doc","contentWindow","err","contentDocument","innerHTML","getResponseData","submit","parentNode","removeChild","thread","_el","dropElement","onDragenter","onDragleave","onDocumentDrop","onDragover","onDrop","querySelector","$root","dropActive","nodeName","screenX","screenY","fromElement","offsetX","addDataTransfer"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"vue-upload-component.min.js","sources":["../src/utils/request.js","../src/chunk/ChunkUploadHandler.js","../src/InputFile.vue","../src/FileUpload.vue"],"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 var 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 (var 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 var 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 }\n\n /**\n * Gets the max retries from options\n */\n get maxRetries () {\n return parseInt(this.options.maxRetries)\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)\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 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\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: Object.assign({}, 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 })\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\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\n request({\n method: 'POST',\n headers: Object.assign({}, 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(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","\n\n\n"],"names":["createRequest","options","xhr","XMLHttpRequest","open","method","url","responseType","headers","keys","forEach","setRequestHeader","key","body","Promise","resolve","reject","onload","status","response","JSON","parse","err","onerror","send","stringify","ChunkUploadHandler","file","chunks","start","end","this","chunkSize","fileSize","push","slice","maxRetries","progress","active","stopChunks","chunksUploading","abort","startChunking","promise","Object","assign","action","startBody","fileType","then","res","_this2","sessionId","data","session_id","end_offset","createChunks","catch","i","maxActiveChunks","uploadNextChunk","hasChunksToUpload","uploadChunk","chunksToUpload","length","finish","chunk","updateFileProgress","upload","addEventListener","evt","lengthComputable","Math","round","loaded","total","FormData","name","append","uploadBody","startOffset","blob","uploaded","retries","_this3","finishBody","_this4","parseInt","maxActive","type","size","completedProgress","chunksUploaded","uploadingProgress","reduce","_this5","min","filter","CHUNK_DEFAULT_OPTIONS","ChunkUploadDefaultHandler","render","e","$destroy","$parent","addInputFile","target","constructor","$el","String","Boolean","Number","multiple","Function","Array","value","input","document","createElement","window","files","webkitdirectory","directory","features","html5","ondrop","drop","maps","$nextTick","$forceUpdate","watchDrop","destroy","fileObject","error","success","undefined","watchActive","oldMaps","id","newFile","oldFile","emitFile","emitInput","_files","index","addIndex","isArray","addFiles","Blob","webkitRelativePath","relativePath","Element","el","putAction","postAction","timeout","random","toString","substr","emitFilter","maximum","clear","newFiles","concat","splice","replace","add","dataTransfer","items","item","getAsEntry","getAsFile","webkitGetAsEntry","_this","getEntry","results","entry","path","isFile","isDirectory","dropDirectory","dirReader","createReader","readEntries","entries","id1","id2","file1","get","file2","index1","indexOf","index2","isPrevent","$emit","uploading","update","code","message","extensions","RegExp","split","map","trim","join","search","customAction","shouldUseChunkUpload","uploadPut","uploadHtml5","uploadHtml4","chunkEnabled","chunkOptions","handler","minSize","HandlerClass","querys","encodeURIComponent","queryString","uploadXhr","form","File","filename","_file","speedTime","speedLoaded","onprogress","speedTime2","Date","now","toFixed","interval","setInterval","complete","fn","responseText","contentType","getResponseHeader","onabort","ontimeout","onKeydown","keyCode","preventDefault","iframe","src","setAttribute","appendChild","removeEventListener","doc","contentWindow","contentDocument","innerHTML","getResponseData","submit","parentNode","removeChild","thread","_el","dropElement","onDragenter","onDragleave","onDocumentDrop","onDragover","onDrop","querySelector","$root","dropActive","nodeName","screenX","screenY","fromElement","offsetX","addDataTransfer"],"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 8a8f1e3..e952a68 100644 --- a/dist/vue-upload-component.part.js +++ b/dist/vue-upload-component.part.js @@ -1,6 +1,6 @@ /*! * Name: vue-upload-component - * Version: 2.8.2 + * Version: 2.8.5 * Author: LianYue */ (function (global, factory) { @@ -16,8 +16,8 @@ */ var createRequest = function createRequest(options) { var xhr = new XMLHttpRequest(); - xhr.responseType = 'json'; xhr.open(options.method || 'GET', options.url); + xhr.responseType = 'json'; if (options.headers) { Object.keys(options.headers).forEach(function (key) { xhr.setRequestHeader(key, options.headers[key]); @@ -37,7 +37,13 @@ var sendRequest = function sendRequest(xhr, body) { return new Promise(function (resolve, reject) { xhr.onload = function () { if (xhr.status >= 200 && xhr.status < 300) { - resolve(xhr.response); + var response; + try { + response = JSON.parse(xhr.response); + } catch (err) { + response = xhr.response; + } + resolve(response); } else { reject(xhr.response); } @@ -64,7 +70,13 @@ var sendFormRequest = function sendFormRequest(xhr, data) { return new Promise(function (resolve, reject) { xhr.onload = function () { if (xhr.status >= 200 && xhr.status < 300) { - resolve(xhr.response); + var response; + try { + response = JSON.parse(xhr.response); + } catch (err) { + response = xhr.response; + } + resolve(response); } else { reject(xhr.response); } diff --git a/dist/vue-upload-component.part.js.map b/dist/vue-upload-component.part.js.map index fd383a0..a5e0ce2 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":["../src/utils/request.js","../src/chunk/ChunkUploadHandler.js","../src/InputFile.vue","../src/FileUpload.vue","../src/index.js"],"sourcesContent":["/**\n * Creates a XHR request\n *\n * @param {Object} options\n */\nexport const createRequest = (options) => {\n const xhr = new XMLHttpRequest()\n xhr.responseType = 'json'\n xhr.open(options.method || 'GET', options.url)\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 resolve(xhr.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 (var 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 resolve(xhr.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 }\n\n /**\n * Gets the max retries from options\n */\n get maxRetries () {\n return parseInt(this.options.maxRetries)\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)\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 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\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: Object.assign({}, 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 })\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\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\n request({\n method: 'POST',\n headers: Object.assign({}, 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(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","\n\n\n","module.exports = require('./FileUpload.vue')\n"],"names":["createRequest","options","xhr","XMLHttpRequest","responseType","open","method","url","headers","keys","forEach","setRequestHeader","key","sendRequest","body","Promise","resolve","reject","onload","status","response","onerror","send","JSON","stringify","sendFormRequest","data","FormData","name","append","ChunkUploadHandler","file","chunks","start","end","chunkSize","fileSize","push","slice","maxRetries","progress","active","stopChunks","chunksUploading","abort","startChunking","promise","Object","assign","action","startBody","fileType","then","res","sessionId","session_id","end_offset","createChunks","catch","i","maxActiveChunks","uploadNextChunk","hasChunksToUpload","uploadChunk","chunksToUpload","length","finish","chunk","updateFileProgress","upload","addEventListener","evt","lengthComputable","Math","round","loaded","total","uploadBody","startOffset","blob","uploaded","retries","finishBody","parseInt","maxActive","type","size","completedProgress","chunksUploaded","uploadingProgress","reduce","min","filter","render","e","$destroy","$parent","addInputFile","target","constructor","$el","CHUNK_DEFAULT_OPTIONS","ChunkUploadDefaultHandler","String","Boolean","Number","multiple","Function","Array","value","input","document","createElement","window","files","webkitdirectory","directory","features","html5","ondrop","drop","maps","$nextTick","$forceUpdate","watchDrop","destroy","fileObject","error","success","undefined","watchActive","oldMaps","id","newFile","oldFile","emitFile","emitInput","_files","index","addIndex","isArray","addFiles","Blob","webkitRelativePath","relativePath","Element","el","putAction","postAction","timeout","random","toString","substr","emitFilter","maximum","clear","newFiles","concat","splice","replace","add","dataTransfer","items","item","getAsEntry","getAsFile","webkitGetAsEntry","getEntry","results","entry","path","isFile","isDirectory","dropDirectory","dirReader","createReader","readEntries","entries","id1","id2","file1","get","file2","index1","indexOf","index2","isPrevent","$emit","uploading","update","code","message","extensions","RegExp","split","map","trim","join","search","customAction","shouldUseChunkUpload","uploadPut","uploadHtml5","uploadHtml4","chunkEnabled","chunkOptions","handler","minSize","HandlerClass","querys","encodeURIComponent","queryString","uploadXhr","form","File","filename","_file","speedTime","speedLoaded","onprogress","speedTime2","Date","now","toFixed","interval","setInterval","complete","fn","responseText","contentType","getResponseHeader","parse","onabort","ontimeout","onKeydown","keyCode","preventDefault","iframe","src","setAttribute","appendChild","getResponseData","doc","contentWindow","err","contentDocument","innerHTML","removeEventListener","submit","parentNode","removeChild","thread","_el","dropElement","onDragenter","onDragleave","onDocumentDrop","onDragover","onDrop","querySelector","$root","dropActive","nodeName","screenX","screenY","fromElement","offsetX","addDataTransfer","require$$0"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"vue-upload-component.part.js","sources":["../src/utils/request.js","../src/chunk/ChunkUploadHandler.js","../src/InputFile.vue","../src/FileUpload.vue","../src/index.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 var 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 (var 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 var 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 }\n\n /**\n * Gets the max retries from options\n */\n get maxRetries () {\n return parseInt(this.options.maxRetries)\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)\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 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\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: Object.assign({}, 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 })\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\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\n request({\n method: 'POST',\n headers: Object.assign({}, 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(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","\n\n\n","module.exports = require('./FileUpload.vue')\n"],"names":["createRequest","options","xhr","XMLHttpRequest","open","method","url","responseType","headers","keys","forEach","setRequestHeader","key","sendRequest","body","Promise","resolve","reject","onload","status","response","JSON","parse","err","onerror","send","stringify","sendFormRequest","data","FormData","name","append","ChunkUploadHandler","file","chunks","start","end","chunkSize","fileSize","push","slice","maxRetries","progress","active","stopChunks","chunksUploading","abort","startChunking","promise","Object","assign","action","startBody","fileType","then","res","sessionId","session_id","end_offset","createChunks","catch","i","maxActiveChunks","uploadNextChunk","hasChunksToUpload","uploadChunk","chunksToUpload","length","finish","chunk","updateFileProgress","upload","addEventListener","evt","lengthComputable","Math","round","loaded","total","uploadBody","startOffset","blob","uploaded","retries","finishBody","parseInt","maxActive","type","size","completedProgress","chunksUploaded","uploadingProgress","reduce","min","filter","render","e","$destroy","$parent","addInputFile","target","constructor","$el","CHUNK_DEFAULT_OPTIONS","ChunkUploadDefaultHandler","String","Boolean","Number","multiple","Function","Array","value","input","document","createElement","window","files","webkitdirectory","directory","features","html5","ondrop","drop","maps","$nextTick","$forceUpdate","watchDrop","destroy","fileObject","error","success","undefined","watchActive","oldMaps","id","newFile","oldFile","emitFile","emitInput","_files","index","addIndex","isArray","addFiles","Blob","webkitRelativePath","relativePath","Element","el","putAction","postAction","timeout","random","toString","substr","emitFilter","maximum","clear","newFiles","concat","splice","replace","add","dataTransfer","items","item","getAsEntry","getAsFile","webkitGetAsEntry","getEntry","results","entry","path","isFile","isDirectory","dropDirectory","dirReader","createReader","readEntries","entries","id1","id2","file1","get","file2","index1","indexOf","index2","isPrevent","$emit","uploading","update","code","message","extensions","RegExp","split","map","trim","join","search","customAction","shouldUseChunkUpload","uploadPut","uploadHtml5","uploadHtml4","chunkEnabled","chunkOptions","handler","minSize","HandlerClass","querys","encodeURIComponent","queryString","uploadXhr","form","File","filename","_file","speedTime","speedLoaded","onprogress","speedTime2","Date","now","toFixed","interval","setInterval","complete","fn","responseText","contentType","getResponseHeader","onabort","ontimeout","onKeydown","keyCode","preventDefault","iframe","src","setAttribute","appendChild","getResponseData","doc","contentWindow","contentDocument","innerHTML","removeEventListener","submit","parentNode","removeChild","thread","_el","dropElement","onDragenter","onDragleave","onDocumentDrop","onDragover","onDrop","querySelector","$root","dropActive","nodeName","screenX","screenY","fromElement","offsetX","addDataTransfer","require$$0"],"mappings":"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"} \ No newline at end of file diff --git a/docs/dist/index.js b/docs/dist/index.js index b12fe82..f4ee0da 100644 --- a/docs/dist/index.js +++ b/docs/dist/index.js @@ -1,6 +1,6 @@ /*! * Name: vue-upload-component - * Version: 2.8.2 + * Version: 2.8.5 * Author: LianYue */ /******/ (function(modules) { // webpackBootstrap @@ -4883,8 +4883,8 @@ var ChunkUploadHandler = function () { */ var createRequest = function createRequest(options) { var xhr = new XMLHttpRequest(); - xhr.responseType = 'json'; xhr.open(options.method || 'GET', options.url); + xhr.responseType = 'json'; if (options.headers) { Object.keys(options.headers).forEach(function (key) { xhr.setRequestHeader(key, options.headers[key]); @@ -4904,7 +4904,13 @@ var sendRequest = function sendRequest(xhr, body) { return new Promise(function (resolve, reject) { xhr.onload = function () { if (xhr.status >= 200 && xhr.status < 300) { - resolve(xhr.response); + var response; + try { + response = JSON.parse(xhr.response); + } catch (err) { + response = xhr.response; + } + resolve(response); } else { reject(xhr.response); } @@ -4931,7 +4937,13 @@ var sendFormRequest = function sendFormRequest(xhr, data) { return new Promise(function (resolve, reject) { xhr.onload = function () { if (xhr.status >= 200 && xhr.status < 300) { - resolve(xhr.response); + var response; + try { + response = JSON.parse(xhr.response); + } catch (err) { + response = xhr.response; + } + resolve(response); } else { reject(xhr.response); } diff --git a/docs/dist/index.js.map b/docs/dist/index.js.map index e5cdaa8..07d7fa0 100644 --- a/docs/dist/index.js.map +++ b/docs/dist/index.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap 46670fd33bf5d52beac6","webpack:///./node_modules/vue-loader/lib/component-normalizer.js","webpack:///./node_modules/css-loader/lib/css-base.js","webpack:///./node_modules/vue-style-loader/lib/addStylesClient.js","webpack:///./src/index.js","webpack:///external \"marked\"","webpack:///external \"Vuex\"","webpack:///./docs/i18n/index.js","webpack:///docs/views/Document.vue","webpack:///./docs/docs/en.md","webpack:///./docs/docs/zh-cn.md","webpack:///docs/views/examples/Full.vue","webpack:///external \"Cropper\"","webpack:///src/FileUpload.vue","webpack:///src/InputFile.vue","webpack:///docs/views/examples/Simple.vue","webpack:///docs/views/examples/Avatar.vue","webpack:///docs/views/examples/Drag.vue","webpack:///docs/views/examples/Multiple.vue","webpack:///docs/views/examples/Chunk.vue","webpack:///docs/views/examples/Vuex.vue","webpack:///docs/views/App.vue","webpack:///./docs/index.js","webpack:///external \"Vue\"","webpack:///external \"hljs\"","webpack:///./docs/store.js","webpack:///./docs/router.js","webpack:///external \"VueRouter\"","webpack:///external \"VueI18n\"","webpack:///./docs/i18n/en.js","webpack:///./docs/i18n/zh-cn.js","webpack:///./docs/views/Router.vue","webpack:///./docs/views/Router.vue?8731","webpack:///./docs/views/Document.vue","webpack:///./docs/views/Document.vue?e8d1","webpack:///./docs/views/Document.vue?196e","webpack:///./node_modules/vue-style-loader/lib/listToStyles.js","webpack:///./docs/docs ^\\.\\/.*$","webpack:///./docs/views/Document.vue?f44d","webpack:///./docs/views/Example.vue","webpack:///./docs/views/Example.vue?b1ad","webpack:///./docs/views/examples/Full.vue","webpack:///./docs/views/examples/Full.vue?9050","webpack:///./docs/views/examples/Full.vue?5c4d","webpack:///external \"ImageCompressor\"","webpack:///./src/FileUpload.vue","webpack:///./src/FileUpload.vue?deed","webpack:///./src/FileUpload.vue?df55","webpack:///./src/chunk/ChunkUploadHandler.js","webpack:///./src/utils/request.js","webpack:///./src/InputFile.vue","webpack:///./src/InputFile.vue?09dd","webpack:///./src/FileUpload.vue?2ab5","webpack:///./docs/views/examples/Full.vue?21b9","webpack:///./docs/views/examples/Simple.vue","webpack:///./docs/views/examples/Simple.vue?7e10","webpack:///./docs/views/examples/Simple.vue?0b59","webpack:///./docs/views/examples/Simple.vue?78f1","webpack:///./docs/views/examples/Avatar.vue","webpack:///./docs/views/examples/Avatar.vue?a35d","webpack:///./docs/views/examples/Avatar.vue?0d3d","webpack:///./docs/views/examples/Avatar.vue?a6bd","webpack:///./docs/views/examples/Drag.vue","webpack:///./docs/views/examples/Drag.vue?9dae","webpack:///./docs/views/examples/Drag.vue?25de","webpack:///./docs/views/examples/Drag.vue?79ea","webpack:///./docs/views/examples/Multiple.vue","webpack:///./docs/views/examples/Multiple.vue?abb5","webpack:///./docs/views/examples/Multiple.vue?a84a","webpack:///./docs/views/examples/Multiple.vue?0922","webpack:///./docs/views/examples/Chunk.vue","webpack:///./docs/views/examples/Chunk.vue?0c7e","webpack:///./docs/views/examples/Chunk.vue?14b1","webpack:///./docs/views/examples/Chunk.vue?109b","webpack:///./docs/views/examples/Chunk.vue?0533","webpack:///./docs/views/examples/Chunk.vue?3662","webpack:///./docs/views/examples/Vuex.vue","webpack:///./docs/views/examples/Vuex.vue?6a59","webpack:///./docs/views/examples/Vuex.vue?11fa","webpack:///./docs/views/examples/Vuex.vue?8a1a","webpack:///./docs/views/App.vue","webpack:///./docs/views/App.vue?23dd","webpack:///./docs/views/App.vue?d284","webpack:///./docs/views/App.vue?8136"],"names":["module","exports","useSourceMap","list","toString","map","item","content","cssWithMappingToString","join","i","modules","mediaQuery","alreadyImportedModules","length","id","push","cssMapping","btoa","sourceMapping","toComment","sourceURLs","sources","source","sourceRoot","concat","sourceMap","base64","unescape","encodeURIComponent","JSON","stringify","data","require","locale","messages","en","Vue","config","silent","devtools","Renderer","text","level","raw","rawName","toLowerCase","replace","options","headers","pop","parent","filter","value","headerPrefix","marked","setOptions","renderer","gfm","tables","breaks","pedantic","sanitize","smartLists","smartypants","highlight","code","lang","highlightjs","highlightAuto","directive","el","binding","vnode","className","test","children","markdown","innerHTML","selectorList","querySelectorAll","onclick","e","metaKey","ctrlKey","shiftKey","defaultPrevented","button","undefined","host","window","location","href","getAttribute","charAt","preventDefault","router","size","toFixed","to","i18n","store","$mount","state","files","mutations","updateFiles","Vuex","Store","strict","examples","path","component","FullExampleComponent","SimpleExampleComponent","AvatarExampleComponent","DragExampleComponent","MultipleExampleComponent","ChunkExampleComponent","VuexExampleComponent","mode","fallback","scrollBehavior","from","savedPosition","hash","document","querySelector","x","y","offsetTop","routes","Object","keys","DocumentComponent","header","logo","home","documents","blog","issues","github","title","example","full","simple","avatar","drag","multiple","chunk","vuex","listToStyles","parentId","styles","newStyles","css","media","part","parts","ChunkUploadHandler","file","chunks","start","end","chunkSize","fileSize","blob","slice","startOffset","active","retries","maxRetries","progress","stopChunks","chunksUploading","forEach","xhr","abort","startChunking","promise","Promise","resolve","reject","request","method","assign","url","action","body","startBody","phase","mime_type","fileType","then","res","status","response","sessionId","session_id","end_offset","createChunks","catch","maxActiveChunks","uploadNextChunk","hasChunksToUpload","uploadChunk","chunksToUpload","finish","updateFileProgress","createRequest","upload","addEventListener","evt","lengthComputable","Math","round","loaded","total","sendFormRequest","uploadBody","start_offset","uploaded","finishBody","parseInt","maxActive","type","completedProgress","chunksUploaded","uploadingProgress","reduce","min","XMLHttpRequest","responseType","open","setRequestHeader","key","sendRequest","onload","onerror","send","FormData","name","append"],"mappings":";;;;;;AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;AC7DA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtGA;;;;AAIA;AACAA,OAAOC,OAAP,GAAiB,UAASC,YAAT,EAAuB;AACvC,KAAIC,OAAO,EAAX;;AAEA;AACAA,MAAKC,QAAL,GAAgB,SAASA,QAAT,GAAoB;AACnC,SAAO,KAAKC,GAAL,CAAS,UAAUC,IAAV,EAAgB;AAC/B,OAAIC,UAAUC,uBAAuBF,IAAvB,EAA6BJ,YAA7B,CAAd;AACA,OAAGI,KAAK,CAAL,CAAH,EAAY;AACX,WAAO,YAAYA,KAAK,CAAL,CAAZ,GAAsB,GAAtB,GAA4BC,OAA5B,GAAsC,GAA7C;AACA,IAFD,MAEO;AACN,WAAOA,OAAP;AACA;AACD,GAPM,EAOJE,IAPI,CAOC,EAPD,CAAP;AAQA,EATD;;AAWA;AACAN,MAAKO,CAAL,GAAS,UAASC,OAAT,EAAkBC,UAAlB,EAA8B;AACtC,MAAG,OAAOD,OAAP,KAAmB,QAAtB,EACCA,UAAU,CAAC,CAAC,IAAD,EAAOA,OAAP,EAAgB,EAAhB,CAAD,CAAV;AACD,MAAIE,yBAAyB,EAA7B;AACA,OAAI,IAAIH,IAAI,CAAZ,EAAeA,IAAI,KAAKI,MAAxB,EAAgCJ,GAAhC,EAAqC;AACpC,OAAIK,KAAK,KAAKL,CAAL,EAAQ,CAAR,CAAT;AACA,OAAG,OAAOK,EAAP,KAAc,QAAjB,EACCF,uBAAuBE,EAAvB,IAA6B,IAA7B;AACD;AACD,OAAIL,IAAI,CAAR,EAAWA,IAAIC,QAAQG,MAAvB,EAA+BJ,GAA/B,EAAoC;AACnC,OAAIJ,OAAOK,QAAQD,CAAR,CAAX;AACA;AACA;AACA;AACA;AACA,OAAG,OAAOJ,KAAK,CAAL,CAAP,KAAmB,QAAnB,IAA+B,CAACO,uBAAuBP,KAAK,CAAL,CAAvB,CAAnC,EAAoE;AACnE,QAAGM,cAAc,CAACN,KAAK,CAAL,CAAlB,EAA2B;AAC1BA,UAAK,CAAL,IAAUM,UAAV;AACA,KAFD,MAEO,IAAGA,UAAH,EAAe;AACrBN,UAAK,CAAL,IAAU,MAAMA,KAAK,CAAL,CAAN,GAAgB,SAAhB,GAA4BM,UAA5B,GAAyC,GAAnD;AACA;AACDT,SAAKa,IAAL,CAAUV,IAAV;AACA;AACD;AACD,EAxBD;AAyBA,QAAOH,IAAP;AACA,CA1CD;;AA4CA,SAASK,sBAAT,CAAgCF,IAAhC,EAAsCJ,YAAtC,EAAoD;AACnD,KAAIK,UAAUD,KAAK,CAAL,KAAW,EAAzB;AACA,KAAIW,aAAaX,KAAK,CAAL,CAAjB;AACA,KAAI,CAACW,UAAL,EAAiB;AAChB,SAAOV,OAAP;AACA;;AAED,KAAIL,gBAAgB,OAAOgB,IAAP,KAAgB,UAApC,EAAgD;AAC/C,MAAIC,gBAAgBC,UAAUH,UAAV,CAApB;AACA,MAAII,aAAaJ,WAAWK,OAAX,CAAmBjB,GAAnB,CAAuB,UAAUkB,MAAV,EAAkB;AACzD,UAAO,mBAAmBN,WAAWO,UAA9B,GAA2CD,MAA3C,GAAoD,KAA3D;AACA,GAFgB,CAAjB;;AAIA,SAAO,CAAChB,OAAD,EAAUkB,MAAV,CAAiBJ,UAAjB,EAA6BI,MAA7B,CAAoC,CAACN,aAAD,CAApC,EAAqDV,IAArD,CAA0D,IAA1D,CAAP;AACA;;AAED,QAAO,CAACF,OAAD,EAAUE,IAAV,CAAe,IAAf,CAAP;AACA;;AAED;AACA,SAASW,SAAT,CAAmBM,SAAnB,EAA8B;AAC7B;AACA,KAAIC,SAAST,KAAKU,SAASC,mBAAmBC,KAAKC,SAAL,CAAeL,SAAf,CAAnB,CAAT,CAAL,CAAb;AACA,KAAIM,OAAO,iEAAiEL,MAA5E;;AAEA,QAAO,SAASK,IAAT,GAAgB,KAAvB;AACA,C;;;;;;AC3ED;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,UAAU,iBAAiB;AAC3B;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA,uBAAuB,2BAA2B;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;AACA,YAAY,uBAAuB;AACnC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AA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;AACA;aACA;AAEA;0CACA;uDACA;AAEA;oCACA;aACA,CACA,6DACA,6FACA,mEAEA;AAIA;AAnCA;;;qCAqCA;uBACA;AAEA;sCACA;wBACA;qBACA;AACA;AAEA;+BACA;qBACA;AAEA;iCACA;gCACA;AACA;AACA;mBAEA;;yBAEA;;AACA;kBACA;kDACA;8BACA;6BACA;AAEA;;AACA;iCACA;gCACA;8BACA;iCACA;iCACA;AACA;AAEA;;AACA;gCACA;8BACA;2CACA;AACA;AACA;AAGA;AA/CA;;;;AAkDA;4BACA;6BACA;yBACA;qBAEA;;AACA;oBAEA;;AACA;aACA;+CACA;yCACA;AACA;AACA;aACA;AAEA;;;AACA;0BACA;eACA;eACA;AAEA;;gFACA;mCACA;AAEA;;8BACA;AAEA;;;AACA;;AACA;;kBACA;qCAEA;;AACA;oBACA;iBACA;AAEA;;AACA;qBACA;6CACA;yBACA;yDACA;;AAEA;uBACA;+EACA;uBAEA;AALA;AAMA;yBACA;uCACA;AACA;oCACA;uBACA;iFACA;uBACA;6EACA;uBACA;AACA;wBACA;AACA;wBACA;mBACA;kBACA;kBACA;oBACA;mBACA;qBACA;4BACA;6BACA;0BACA;aACA;sBAEA;;8BACA;qBACA;AACA;AAGA;;;eACA,yBACA,8BAGA;;eACA,4BACA,uCAEA;AAEA;;AACA;sBACA;sDACA;AAEA;;8CACA;AACA;AAEA;;AACA;qFACA;AACA;AAEA;;sBAEA;;AACA;gCACA;AACA;AACA;AAEA;;AACA;4BACA;eACA;AAEA;;AACA;8BACA;aACA;AAGA;;AACA;UACA;yCACA;wCACA;wBACA;mCACA;kCACA;aACA;qCACA;AAEA;;mBAEA;;AACA;mDACA;8BACA;+BACA;AAEA;;AACA;WACA;sDACA;qCACA;AAEA;;2CACA;AAIA;;;AACA;4CACA;kBACA;oBACA;kDACA;8BACA;;uBAEA;uEACA;uBACA;AACA;AAEA;AANA;AAOA;aACA;;wDAEA;AAEA;AAHA;AAIA;sBACA;AAGA;;;AACA;;AACA;;kBACA;2DACA;oBACA;4DACA;wCACA;+BACA;6CACA;4CACA;mDACA;iBACA;wBACA;AACA;oBACA;uBACA;AACA;AAEA;;sDACA;4CACA;6BACA;AACA;6EACA;uCACA;AACA;yDACA;yDACA;0BACA;AACA;AACA;kBACA;AACA;AAEA;;qCACA;kEACA;wCACA;gEACA;AACA;AACA;AACA;wCACA;AAEA;;6BACA;AAGA;;;AACA;;AACA;;;;oDACA;0BACA;qCACA;;yBAGA;gCACA;yBACA;AAGA;AANA,aADA;AAQA;8DACA;sBACA;gCACA;mDACA;qDACA;gDACA;oGACA;iCACA;AACA;iCACA;yBACA;AACA;6FACA;6DACA;8BACA;AACA;AACA;sBACA;AACA;AACA;AACA;eACA;kBACA;AACA;AACA;AAGA;wCACA;2BACA;2BACA;+CACA;eACA;AACA;oCACA;iCACA;iCACA;0CACA;eACA;AACA;sBACA;sBACA;mBACA;WACA;aACA;AAEA;;;AACA;gCACA;0BACA;gBACA;8CACA;iBACA;AACA;sCACA;kCACA;0BACA;kCACA;iBACA;AACA;4BACA;qBAEA;;AACA;8BAEA;;AACA;aACA;iCACA;AACA;aACA;AAEA;;;AACA;sCACA;0BACA;gBACA;YACA,uBACA,MAEA;AACA;qGACA;0BACA;AAEA;;4CACA;iBACA;AAEA;;sCACA;kCACA;0BACA;kCACA;iBACA;AACA;+BACA;qBAEA;;AACA;8BACA;gCAEA;;AACA;aACA;+BACA;eACA;AACA;aACA;AAIA;;;AACA;sDACA;sBACA;+DACA;oBACA;eACA;AACA;aACA;AAEA;;;AACA;kDACA;wCACA;4FACA;aACA;AACA;;AACA;;iCACA;oDACA;AACA;mCACA;iDACA;;0BAEA;oCAEA;AAHA;AAIA;kCACA;;wBAEA;yBACA;yDAEA;AAJA;AAKA;+CACA;AACA;0HACA;AACA;aACA;AAEA;;AACA;uGACA;yBACA;AACA;AAEA;oCACA;+BACA;AAGA;;;AACA;gCACA;0BAEA;;AACA;iBACA;8BACA;AAEA;;AACA;4BACA;8BACA;AAEA;;AACA;sBACA;mCACA;AAEA;;AACA;wBACA;+BACA;AAEA;;AACA;4BACA;yFACA;qIACA;8CACA;;;;qBACA;;AACA;8FACA;AACA;iDACA;gCACA;AACA;AAEA;;AACA;oEACA;8BACA;AAEA;;6BACA;uCACA;AAEA;;+BACA;6CACA;kCACA;AACA;4BACA;gCACA;AACA;6BACA;kCACA;AACA;AACA;2BACA;gCACA;AACA;4BACA;AAEA;;;AAKA;;;;;8DACA;kBACA,oCACA,yCACA;AAEA;;;AAKA;;;;;4CACA;2CACA;+CAEA;;wBACA;AAEA;wCACA;mBACA;UACA;iCACA;0BACA;mDACA;yEACA;AACA;AACA;8GACA;oBACA;uCACA;4CACA;AAEA;4CACA;4BACA;UACA;iCACA;0BACA;yIACA;qCACA;0CACA;iBACA;4CACA;AACA;0DACA;2BACA;AACA;AACA;mEACA;oBACA;4BACA;uCACA;AAEA;;AACA;;iBACA;sBACA;wBAEA;;AACA;2CACA;AACA;0BACA;8EACA;AACA;AAEA;;AACA;iDACA;sCACA;AACA;AACA;oBAEA;;;uDAEA;4BAEA;AAHA;wBAIA;AAEA;;AACA;6CACA;0BACA;oFACA;AACA;AAEA;;sBACA;wBACA;qBACA;AAEA;;YACA;cACA;wBACA;oBACA,CACA;SAEA;;oDACA;YACA;gCACA;AACA;wBACA;AACA;AACA;qBACA;wBACA;0BACA;uBACA;AAEA;;4BAEA;;AACA;qBACA;0BACA;AAEA;;AACA;gCACA;0BACA;AAEA;;AACA;0BACA;+BACA;AAEA;;AACA;4BACA;0BACA;AAGA;;AACA;4BACA;2BACA;AAEA;;qBAEA;;oBACA;iBACA;iBACA;6BACA;AACA;iBACA;+BACA;6BACA;4CACA;6BACA;4CACA;6BACA;AACA;AACA;AACA;qCACA;6BACA;4CACA;6BACA;qBACA;gCACA;AAGA;;;gCACA;oDACA;oEACA;6CACA;mBACA;kCACA;AACA;AAEA;;AACA;qCAEA;;AACA;0BACA;+BACA;AAEA;;AACA;yBACA;AAEA;;AACA;qBACA;sBACA;sBACA;wBAEA;;AACA;0BACA;6BACA;AAEA;;AACA;sCACA;iDACA;AAEA;;AACA;qCAEA;;AACA;iBACA;AACA;AAKA;;AACA;;iBACA;4CACA;8BACA;YACA;AACA;AAEA;;0CACA;0CACA;4CACA;mBACA;mCAGA;;wCAEA;;yBAEA;;wCAGA;;kCACA;0DACA;mCAEA;;UACA;UACA;iCACA;0BACA;yIACA;iCACA;AACA;mDACA;yCACA;uBACA;uBACA;wBACA;2BACA;AACA;AACA;4BAEA;;oDAKA;;uDACA;YACA;YACA;oCACA;uCACA;AACA;sBACA,CACA;kBACA;cACA;2EACA;wBACA;yBACA;AACA;AACA;6BACA;0BACA;AACA;eACA;AAGA;;oDACA;+BACA;uCAEA;;AACA;qBACA;0BACA;AAEA;;AACA;iDACA;8BACA;wFACA;AACA;AAEA;;0BACA;4BACA;yBACA;AAEA;;oDACA;aAGA;;cACA;kCACA;AACA;0BACA;AACA;AACA;uBAGA;;0BACA;4BACA;yBACA;AAEA;;AACA;yDAEA;;8BAEA;;AACA;uBACA;4BACA;AAEA;;AACA;kCACA;4BACA;AAEA;;AACA;4BACA;iCACA;AAEA;;AACA;8BACA;4BACA;AAEA;;AACA;8BACA;6BACA;AAEA;;2BACA;uBACA;sBACA;mBACA;6BACA;AACA;mBACA;gCACA;oCACA;8CACA;+BACA;uBACA;+BACA;AACA;AACA;AACA;gCACA;oCACA;0CACA;+BACA;uBACA;kCACA;AAGA;;;mCACA;gHACA;oBACA;wCACA;8BACA,CACA;AACA;8BACA;AAEA;;AACA;uCAEA;;4BACA;iCACA;AAEA;;AACA;2BACA;AAGA;;AACA;0BACA;2BACA;2BAGA;;AACA;oDAEA;;AACA;eACA;WACA;6BACA;2DACA;eACA;8BACA;2DACA;eACA;AACA;AAIA;8CACA;UACA;kBACA;uCACA;AACA;8BACA;AACA;4CACA;uFACA;AACA;AACA;4DACA;wCACA;AACA;eACA;2BACA;wCACA;AACA;AACA;AACA;gCACA;sBACA;AACA;AAGA;uCACA;eACA;+BACA;AACA;AAEA;;AACA;4BACA;YACA;sEACA;sEACA;oEACA;4EACA;oEACA;oBACA,CACA;AAEA;;eACA;aACA;yCACA;wEACA;8BACA;0BACA;AAEA;;yBAEA;;4BACA;iEACA;iEACA;+DACA;uEACA;+DACA;AACA;AAGA;yCACA;QACA;4BACA;0BACA;AACA;AAEA;yCACA;QACA;kHACA;0BACA;AACA;AAEA;uCACA;QACA;AAEA;8CACA;wBACA;AAEA;+BACA;QACA;6BACA;AAEA;AAl+BA;AA3QA,G;;;;;;;;;;;;;;;;;;;;;ACnCA;;+BAGA;WACA;kCACA;AACA;;qBAEA;iBAEA;AAHA;AAKA;AAVA;AADA,G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACsCA;AACA;;AAKA;AAHA;;wBAIA;;aAGA;AAFA;AAIA;;;;iEAEA;+BACA;AACA;AAEA;;AACA;AACA;wEACA;iBACA;AAEA;;AACA;AACA;yDACA;iBACA;AACA;AACA;AAEA;oDACA;+BACA;AACA;2BACA;AACA;8BACA;AACA;8BACA;AAEA;;+BACA;AACA;8BACA;AACA;AAEA;AAnCA;AAXA,G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC+BA;AACA;AACA;;AAKA;AAHA;;wBAIA;;aAEA;YACA;eAEA;AAJA;AAMA;;;;+BAEA;iBACA;mCACA;qCACA;AACA;AACA;;6BAEA;sBAEA;AAHA;yBAIA;AACA;aACA;0BACA;uBACA;yBACA;AACA;AACA;AAGA;AArBA;;;kCAuBA;kBAEA;;+BAEA;;2FACA;sCACA;8CACA;mCACA;AAEA;;+DAEA;;;AAEA;mBACA;mBACA;gBAEA;AALA;AAOA;;AArBA;;;;;;;;;yBAsBA;YACA;AAEA;6DACA;+BACA;mCACA;sBACA;AACA;AACA;+BACA;oBACA;AACA;AAEA;iEACA;+BACA;+DACA;qBACA;iBACA;AACA;AAEA;;kEACA;sBACA;uCACA;wCACA;oDACA;AACA;AACA;AAEA;;AAxFA,G;;;;;;;;;;;;;;;;;;;;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","file":"index.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/dist\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 21);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 46670fd33bf5d52beac6","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file.\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nmodule.exports = function normalizeComponent (\n rawScriptExports,\n compiledTemplate,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */\n) {\n var esModule\n var scriptExports = rawScriptExports = rawScriptExports || {}\n\n // ES6 modules interop\n var type = typeof rawScriptExports.default\n if (type === 'object' || type === 'function') {\n esModule = rawScriptExports\n scriptExports = rawScriptExports.default\n }\n\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (compiledTemplate) {\n options.render = compiledTemplate.render\n options.staticRenderFns = compiledTemplate.staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = injectStyles\n }\n\n if (hook) {\n var functional = options.functional\n var existing = functional\n ? options.render\n : options.beforeCreate\n\n if (!functional) {\n // inject component registration as beforeCreate hook\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n } else {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return existing(h, context)\n }\n }\n }\n\n return {\n esModule: esModule,\n exports: scriptExports,\n options: options\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/component-normalizer.js\n// module id = 0\n// module chunks = 0","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function(useSourceMap) {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\treturn this.map(function (item) {\n\t\t\tvar content = cssWithMappingToString(item, useSourceMap);\n\t\t\tif(item[2]) {\n\t\t\t\treturn \"@media \" + item[2] + \"{\" + content + \"}\";\n\t\t\t} else {\n\t\t\t\treturn content;\n\t\t\t}\n\t\t}).join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n\tvar content = item[1] || '';\n\tvar cssMapping = item[3];\n\tif (!cssMapping) {\n\t\treturn content;\n\t}\n\n\tif (useSourceMap && typeof btoa === 'function') {\n\t\tvar sourceMapping = toComment(cssMapping);\n\t\tvar sourceURLs = cssMapping.sources.map(function (source) {\n\t\t\treturn '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'\n\t\t});\n\n\t\treturn [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n\t}\n\n\treturn [content].join('\\n');\n}\n\n// Adapted from convert-source-map (MIT)\nfunction toComment(sourceMap) {\n\t// eslint-disable-next-line no-undef\n\tvar base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n\tvar data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n\n\treturn '/*# ' + data + ' */';\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/css-loader/lib/css-base.js","/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n Modified by Evan You @yyx990803\n*/\n\nvar hasDocument = typeof document !== 'undefined'\n\nif (typeof DEBUG !== 'undefined' && DEBUG) {\n if (!hasDocument) {\n throw new Error(\n 'vue-style-loader cannot be used in a non-browser environment. ' +\n \"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\"\n ) }\n}\n\nvar listToStyles = require('./listToStyles')\n\n/*\ntype StyleObject = {\n id: number;\n parts: Array\n}\n\ntype StyleObjectPart = {\n css: string;\n media: string;\n sourceMap: ?string\n}\n*/\n\nvar stylesInDom = {/*\n [id: number]: {\n id: number,\n refs: number,\n parts: Array<(obj?: StyleObjectPart) => void>\n }\n*/}\n\nvar head = hasDocument && (document.head || document.getElementsByTagName('head')[0])\nvar singletonElement = null\nvar singletonCounter = 0\nvar isProduction = false\nvar noop = function () {}\nvar options = null\nvar ssrIdKey = 'data-vue-ssr-id'\n\n// Force single-tag solution on IE6-9, which has a hard limit on the # of \n\n\n\n\n// WEBPACK FOOTER //\n// docs/views/Document.vue","module.exports = \"\\n> **The document uses Google Translate**\\n\\n## Getting Started\\n\\n### NPM\\n\\n``` bash\\nnpm install vue-upload-component --save\\n```\\n\\n``` js\\nconst VueUploadComponent = require('vue-upload-component')\\nVue.component('file-upload', VueUploadComponent)\\n```\\n\\n### Curated\\n\\n**No data**\\n\\n\\n### Script\\n\\n\\nunpkg\\n\\n``` html\\n\\n\\n\\n```\\n\\njsDelivr\\n\\n``` html\\n\\n\\n\\n```\\n\\n\\n### Simple example\\n\\n\\n\\n```html\\n\\n\\n\\n \\n Vue-upload-component Test\\n \\n \\n\\n\\n
\\n
    \\n
  • {{file.name}} - Error: {{file.error}}, Success: {{file.success}}
  • \\n
\\n \\n Upload file\\n \\n \\n \\n
\\n\\n\\n\\n```\\n\\n### Chunk Upload\\n\\nThis package allows chunk uploads, which means you can upload a file in different parts.\\n\\nThis process is divided in three phases: start, upload,finish

\\n\\n#### start\\n\\nThis is the first phase of the process. We'll tell the backend that we are going to upload a file, with certain `size` and `mime_type`.\\n\\nUse the option `startBody` to add more parameters to the body of this request.\\n\\nThe backend should provide a `session_id` (to identify the upload) and a `end_offset` which is the size of every chunk\\n\\n#### upload\\n\\nIn this phase we'll upload every chunk until all of them are uploaded. This step allows some failures in the backend, and will retry up to `maxRetries` times.\\n\\nWe'll send the `session_id`, `start_chunk` and `chunk` (the sliced blob - part of file we are uploading). We expect the backend to return `{ status: 'success' }`, we'll retry otherwise.\\n\\nUse the option `uploadBody` to add more parameters to the body of this request.\\n\\n#### finish\\n\\nIn this phase we tell the backend that there are no more chunks to upload, so it can wrap everything. We send the `session_id` in this phase.\\n\\nUse the option `finishBody` to add more parameters to the body of this request.\\n\\n#### Example\\n\\nIn the following example we are going to add `Chunk Upload Functionality`. This component will use `Chunk Upload` when the size of the file is > `1MB`, it will behave as the `Simple example` when the size of the file is lower.\\n\\n```html\\n \\n Upload file\\n \\n```\\n\\n#### Extending the handler\\n\\nWe are using the class `src/chunk/ChunkUploadHandler` class to implement this protocol. You can extend this class (or even create a different one from scratch) to implement your own way to communicat with the backend.\\n\\nThis class must implement a method called `upload` which **must** return a promise. This promise will be used by the `FileUpload` component to determinate whether the file was uploaded or failed.\\n\\nUse the `handler` parameter to use a different Handler\\n\\n```html\\n :chunk=\\\"{\\n action: '/upload/chunk',\\n minSize: 1048576,\\n maxActive: 3,\\n maxRetries: 5,\\n\\n handler: MyHandlerClass\\n }\\n```\\n\\n### SSR (Server isomorphism)\\n\\n\\n```html\\n\\n\\n\\n```\\n\\n\\n** OR **\\n\\n\\n```js\\nimport FileUpload from 'vue-upload-component/src'\\n```\\n\\n\\nwebpack.config.js\\n\\n```js\\nconst nodeExternals = require('webpack-node-externals');\\n{\\n //.....\\n externals: [\\n nodeExternals({whitelist:[/^vue-upload-component\\\\/src/]})\\n ]\\n //.....\\n}\\n```\\n\\n* [https://github.com/liady/webpack-node-externals](https://github.com/liady/webpack-node-externals)\\n\\n* [**`vue-hackernews` demo**](https://github.com/lian-yue/vue-hackernews-2.0/)\\n\\n* [**View changes**](https://github.com/lian-yue/vue-hackernews-2.0/commit/bd6c58a30cc6b8ba6c0148e737b3ce9336b99cf8)\\n\\n\\n\\n\\n## Options / Props\\n\\n\\n### input-id\\n\\nThe `id` attribute of the input tag\\n\\n* **Type:** `String`\\n\\n* **Default:** `this.name`\\n\\n* **Usage:**\\n ```html\\n \\n \\n \\n ```\\n\\n\\n\\n\\n\\n### name\\n\\nThe `name` attribute of the input tag\\n\\n* **Type:** `String`\\n\\n* **Default:** `file`\\n\\n* **Usage:**\\n ```html\\n \\n \\n \\n ```\\n\\n\\n\\n\\n\\n### post-action\\n\\n`POST` Request upload URL\\n\\n* **Type:** `String`\\n\\n* **Default:** `undefined`\\n\\n* **Usage:**\\n ```html\\n \\n ```\\n\\n\\n\\n\\n\\n### put-action\\n\\n`PUT` Request upload URL\\n\\n* **Type:** `String`\\n\\n* **Default:** `undefined`\\n\\n* **Browser:** `> IE9`\\n\\n* **Details:**\\n\\n `put-action` is not empty Please give priority to` PUT` request\\n\\n* **Usage:**\\n ```html\\n \\n ```\\n\\n\\n\\n### custom-action\\n\\nCustom upload method\\n\\n* **Type:** `async Function`\\n\\n* **Default:** `undefined`\\n\\n* **Details:** \\n\\n `custom-action` priority than `put-action, post-action`\\n\\n* **Usage:**\\n ```html\\n \\n ```\\n ```js\\n async function customAction(file, component) {\\n // return await component.uploadPut(file)\\n return await component.uploadHtml4(file)\\n }\\n ```\\n\\n\\n\\n\\n\\n### headers\\n\\nAttach `header` data\\n\\n* **Type:** `Object`\\n\\n* **Default:** `{}`\\n\\n* **Browser:** `> IE9`\\n\\n* **Usage:**\\n ```html\\n \\n ```\\n\\n\\n\\n\\n\\n### data\\n\\n`POST request`: Append request `body`\\n`PUT request`: Append request `query`\\n\\n* **Type:** `Object`\\n\\n* **Default:** `{}`\\n\\n* **Usage:**\\n ```html\\n \\n ```\\n\\n\\n\\n\\n### value, v-model\\n\\nFile List\\n\\n* **Type:** `Array`\\n\\n* **Default:** `[]`\\n\\n* **Details:**\\n\\n View **[`File`](#file)** details\\n > In order to prevent unpredictable errors, can not directly modify the `files`, please use [`add`](#instance-methods-add), [`update`](#instance-methods-update), [`remove`](#instance-methods-remove) method to modify\\n\\n* **Usage:**\\n ```html\\n \\n \\n \\n ```\\n\\n\\n\\n\\n\\n### accept\\n\\nThe `accept` attribute of the input tag, MIME type\\n\\n* **Type:** `String`\\n\\n* **Default:** `undefined`\\n\\n* **Browser:** `> IE9`\\n\\n* **Usage:**\\n ```html\\n \\n \\n \\n ```\\n\\n\\n\\n\\n\\n### multiple\\n\\nThe `multiple` attribute of the input tag\\nWhether to allow multiple files to be selected\\n\\n* **Type:** `Boolean`\\n\\n* **Default:** `false`\\n\\n* **Details:**\\n\\n If it is `false` file inside only one file will be automatically deleted\\n\\n* **Usage:**\\n ```html\\n \\n ```\\n\\n\\n\\n### directory\\n\\nThe `directory` attribute of the input tag\\nWhether it is a upload folder\\n\\n* **Type:** `Boolean`\\n\\n* **Default:** `false`\\n\\n* **Browser:** [http://caniuse.com/#feat=input-file-directory](http://caniuse.com/#feat=input-file-directory)\\n\\n* **Usage:**\\n ```html\\n \\n ```\\n\\n\\n\\n\\n\\n### extensions\\n\\nAllow upload file extensions\\n\\n* **Type:** `Array | String | RegExp`\\n\\n* **Default:** `undefined`\\n\\n* **Usage:**\\n ```html\\n \\n \\n \\n \\n \\n ```\\n\\n\\n\\n\\n### size\\n\\nAllow the maximum byte to upload\\n\\n* **Type:** `Number`\\n\\n* **Default:** `0`\\n\\n* **Browser:** `> IE9`\\n\\n* **Details:**\\n\\n `0` is equal to not limit\\n\\n* **Usage:**\\n ```html\\n \\n ```\\n\\n\\n\\n\\n### timeout\\n\\nUpload timeout time in milliseconds\\n\\n* **Type:** `Number`\\n\\n* **Default:** `0`\\n\\n* **Browser:** `> IE9`\\n\\n* **Usage:**\\n ```html\\n \\n ```\\n\\n### maximum\\n\\nList the maximum number of files\\n\\n* **Type:** `Number`\\n\\n* **Default:** `props.multiple ? 0 : 1`\\n\\n* **Usage:**\\n ```html\\n \\n ```\\n\\n\\n\\n### thread\\n\\nAlso upload the number of files at the same time (number of threads)\\n\\n* **Type:** `Number`\\n\\n* **Default:** `1`\\n\\n* **Browser:** `> IE9`\\n\\n* **Usage:**\\n ```html\\n \\n ```\\n\\n### chunk-enabled\\n\\nWhether chunk uploads is enabled or not\\n\\n* **Type:** `Boolean`\\n\\n* **Default:** `false`\\n\\n* **Usage:**\\n ```html\\n \\n \\n ```\\n\\n### chunk\\n\\nAll the options to handle chunk uploads\\n\\n* **Type:** `Object`\\n\\n* **Default:**\\n```js\\n{\\n headers: {\\n 'Content-Type': 'application/json'\\n },\\n action: '',\\n minSize: 1048576,\\n maxActive: 3,\\n maxRetries: 5,\\n\\n // This is the default Handler implemented in this package\\n // you can use your own handler if your protocol is different\\n handler: ChunkUploadDefaultHandler\\n}\\n```\\n\\n### drop\\n\\nDrag and drop upload\\n\\n* **Type:** `Boolean | Element | CSS selector`\\n\\n* **Default:** `false`\\n\\n* **Browser:** [http://caniuse.com/#feat=dragndrop](http://caniuse.com/#feat=dragndrop)\\n\\n* **Details:**\\n\\n If set to `true`, read the parent component as a container\\n\\n* **Usage:**\\n ```html\\n \\n ```\\n\\n\\n\\n\\n\\n### drop-directory\\n\\nWhether to open the drag directory\\n\\n* **Type:** `Boolean`\\n\\n* **Default:** `true`\\n\\n* **Details:**\\n\\n If set to `false` filter out the directory\\n\\n* **Usage:**\\n ```html\\n \\n ```\\n\\n\\n\\n### add-index\\n\\n* **Type:** `Boolean, Number`\\n\\n* **Default:** `undefined`\\n\\n* **Version:** : `>=2.6.1`\\n\\n* **Details:**\\n\\n The default value of the `index` parameter for the [`add()`](#instance-methods-add) method\\n\\n* **Usage:**\\n ```html\\n \\n ```\\n\\n\\n\\n\\n## Options / Events\\n\\nThe files is changed to trigger the method\\nDefault for `v-model` binding\\n\\n### @input\\n* **Arguments:**\\n\\n * `files: Array`\\n\\n\\n* **Usage:**\\n ```html\\n \\n \\n ```\\n\\n\\n\\n### @input-filter\\n\\nAdd, update, remove pre-filter\\n\\n* **Arguments:**\\n\\n * `newFile: File | Object | undefined` `Read and write`\\n * `oldFile: File | Object | undefined` `Read only`\\n * `prevent: Function` Call this function to prevent modification\\n\\n\\n* **Details:**\\n\\n If the `newFile` value is `undefined` 'is deleted\\n If the `oldFile` value is `undefined` 'is added\\n If `newFile`, `oldFile` is exist, it is updated\\n\\n > Synchronization modify `newFile`\\n > Asynchronous Please use `update`,` add`, `remove`,` clear` method\\n > Asynchronous Please set an error first to prevent being uploaded\\n\\n > Synchronization can not use `update`,` add`, `remove`,` clear` methods\\n > Asynchronous can not modify `newFile`\\n\\n* **Usage:**\\n ```html\\n \\n \\n ```\\n\\n### @input-file\\n\\nAdd, update, remove after\\n\\n* **Arguments:**\\n\\n * `newFile: File | Object | undefined` `Read only`\\n * `oldFile: File | Object | undefined` `Read only`\\n\\n\\n* **Details:**\\n\\n If the `newFile` value is `undefined` 'is deleted\\n If the `oldFile` value is `undefined` 'is added\\n If `newFile`, `oldFile` is exist, it is updated\\n\\n\\n >You can use `update`,` add`, `remove`,` clear` methods in the event\\n >You can not modify the `newFile` object in the event\\n >You can not modify the `oldFile` object in the event\\n\\n* **Usage:**\\n ```html\\n \\n \\n ```\\n\\n\\n\\n## Instance / Data\\n\\n### features\\n\\nUsed to determine the browser support features\\n\\n* **Type:** `Object`\\n\\n* **Read only:** `true`\\n\\n* **Default:** `{ html5: true, directory: false, drag: false }`\\n\\n* **Usage:**\\n ```html\\n \\n \\n Support drag and drop upload\\n Support folder upload\\n Support for HTML5\\n \\n ```\\n\\n\\n\\n### active\\n\\nActivation or abort upload\\n\\n* **Type:** `Boolean`\\n\\n* **Read only:** `false`\\n\\n* **Default:** `false`\\n\\n* **Usage:**\\n ```html\\n \\n \\n Start upload\\n Stop upload\\n \\n ```\\n\\n\\n\\n### dropActive\\n\\nIs dragging\\n\\n* **Type:** `Boolean`\\n\\n* **Read only:** `true`\\n\\n* **Default:** `false`\\n\\n* **Usage:**\\n ```html\\n \\n \\n Drag and drop here for upload\\n \\n ```\\n\\n\\n\\n\\n\\n### uploaded\\n\\nAll uploaded\\n\\n* **Type:** `Boolean`\\n\\n* **Read only:** `true`\\n\\n* **Default:** `true`\\n\\n* **Usage:**\\n ```html\\n \\n \\n All files have been uploaded\\n \\n ```\\n\\n\\n\\n\\n\\n## Instance / Methods\\n\\n\\n\\n### get()\\n\\nUse `id` to get a file object\\n\\n* **Arguments:**\\n\\n * `id: File | Object | String`\\n\\n\\n* **Result:** `File | Object | Boolean` There is a return file, object that otherwise returns `false`\\n\\n\\n\\n### add()\\n\\nAdd one or more files\\n\\n* **Arguments:**\\n\\n * `files: Array | File | window.File | Object` If it is an array of responses will be an array\\n * `index: Number | Boolean` = [`props.add-index`](#options-props-add-index) `true = ` Start, `false = ` End, `Number = ` Index\\n\\n\\n* **Result:** `Object | Array | Boolean` The incoming array is returned to the array otherwise the object or `false`\\n\\n* **Usage:**\\n ```html\\n \\n \\n ```\\n\\n\\n### addInputFile()\\n\\nAdd the file selected by `` to the upload list\\n\\n* **Arguments:**\\n\\n * `el: HTMLInputElement` File element\\n\\n\\n* **Result:** `Array` Added list of files\\n\\n* **Version:** : `>=2.5.1`\\n\\n\\n\\n### addDataTransfer()\\n\\nAdd files that are dragged or pasted into the upload list\\n\\n* **Arguments:**\\n\\n * `dataTransfer: DataTransfer` Drag or paste data\\n\\n\\n* **Result:** `Promise>` Added list of files\\n\\n\\n* **Version:** : `>=2.5.1`\\n\\n\\n\\n### update()\\n\\nUpdate a file object\\n\\n* **Arguments:**\\n\\n * `id: File | Object | String`\\n * `data: Object` Updated data object\\n\\n\\n* **Result:** `Object | Boolean` Successfully returned `newFile` failed to return` false`\\n\\n\\n* **Usage:**\\n ```html\\n \\n \\n ```\\n\\n### remove()\\n\\nRemove a file object\\n\\n* **Arguments:**\\n\\n * `id: File | Object | String`\\n\\n\\n* **Result:** `Object | Boolean` Successfully returned `oldFile` failed to return` false`\\n\\n* **Usage:**\\n ```html\\n \\n \\n ```\\n\\n### replace()\\n Replace the location of the two files\\n\\n* **Arguments:**\\n\\n * `id1: File | Object | String`\\n * `id2: File | Object | String`\\n\\n\\n* **Result:** `Boolean`\\n\\n\\n### clear()\\n\\nEmpty the file list\\n\\n* **Result:** `Boolean` Always return `true`\\n\\n\\n\\n## Instance / File\\n\\n\\n\\n> **File object in the `@input-filter` event outside the use of [`update`](#instance-methods-update) method**\\n\\n\\n\\n\\n### fileObject\\n\\n* **Type:** `Boolean`\\n\\n* **Read only:** `true`\\n\\n* **Required:** `true`\\n\\n* **Default:** `true`\\n\\n* **Version:** : `>=2.6.0`\\n\\n* **Details:**\\n\\n If the attribute does not exist, the object will not be processed internally\\n If the attribute does not exist, it is not `File` but `Object`\\n\\n\\n\\n\\n### id\\n\\nFile ID\\n\\n* **Type:** `String | Number`\\n\\n* **Read only:** `false`\\n\\n* **Default:** `Math.random().toString(36).substr(2)`\\n\\n* **Details:**\\n\\n >`id` can not be repeated\\n >Upload can not modify `id`\\n\\n\\n### size\\n\\nFile size\\n\\n* **Type:** `Number`\\n\\n* **Read only:** `false`\\n\\n* **Default:** `-1`\\n\\n* **Browser:** `> IE9`\\n\\n\\n### name\\n\\nFilename\\n\\n* **Type:** `String`\\n\\n* **Read only:** `false`\\n\\n* **Default:** ` `\\n\\n* **Details:**\\n\\n Format: `directory/filename.gif` `filename.gif`\\n\\n\\n\\n### type\\n\\nMIME type\\n\\n* **Type:** `String`\\n\\n* **Read only:** `false`\\n\\n* **Default:** ` `\\n\\n* **Browser:** `> IE9`\\n\\n* **Details:**\\n\\n Format: `image/gif` `image/png` `text/html`\\n\\n\\n\\n\\n### active\\n\\nActivation or abort upload\\n\\n* **Type:** `Boolean`\\n\\n* **Read only:** `false`\\n\\n* **Default:** `false`\\n\\n* **Details:**\\n\\n `true` = Upload\\n `false` = Abort\\n\\n\\n\\n\\n\\n\\n### error\\n\\nUpload failed error code\\n\\n* **Type:** `String`\\n\\n* **Read only:** `false`\\n\\n* **Default:** ` `\\n\\n* **Details:**\\n\\n Built-in\\n `size`, `extension`, `timeout`, `abort`, `network`, `server`, `denied`\\n\\n\\n\\n\\n### success\\n\\nWhether the upload was successful\\n\\n* **Type:** `Boolean`\\n\\n* **Read only:** `false`\\n\\n* **Default:** `false`\\n\\n\\n### putAction\\n\\nCustomize the current file `PUT` URL\\n\\n* **Type:** `String`\\n\\n* **Read only:** `false`\\n\\n* **Default:** `this.putAction`\\n\\n\\n\\n### postAction\\n\\nCustomize the current file `POST` URL\\n\\n* **Type:** `String`\\n\\n* **Read only:** `false`\\n\\n* **Default:** `this.postAction`\\n\\n\\n\\n\\n### headers\\n\\nCustomize the current file `HTTP` Header\\n\\n* **Type:** `Object`\\n\\n* **Read only:** `false`\\n\\n* **Default:** `this.headers`\\n\\n\\n### data\\n\\nCustomize the current file `body` or` query` to attach content\\n\\n* **Type:** `Object`\\n\\n* **Read only:** `false`\\n\\n* **Default:** `this.data`\\n\\n\\n### timeout\\n\\nCustomize the upload timeout for a current single file\\n\\n* **Type:** `Number`\\n\\n* **Read only:** `false`\\n\\n* **Default:** `this.timeout`\\n\\n\\n### response\\n\\nResponse data\\n\\n* **Type:** `Object | String`\\n\\n* **Read only:** `false`\\n\\n* **Default:** `{}`\\n\\n\\n\\n\\n### progress\\n\\nUpload progress\\n\\n* **Type:** `String`\\n\\n* **Read only:** `false`\\n\\n* **Default:** `0.00`\\n\\n* **Browser:** `> IE9`\\n\\n\\n\\n### speed\\n\\nPer second upload speed\\n\\n* **Type:** `Number`\\n\\n* **Read only:** `true`\\n\\n* **Default:** `0`\\n\\n* **Browser:** `> IE9`\\n\\n\\n\\n\\n### xhr\\n\\n`HTML5` upload` XMLHttpRequest` object\\n\\n* **Type:** `XMLHttpRequest`\\n\\n* **Read only:** `true`\\n\\n* **Default:** `undefined`\\n\\n* **Browser:** `> IE9`\\n\\n\\n\\n\\n### iframe\\n\\n`HTML4` upload` iframe` element\\n\\n* **Type:** `Element`\\n\\n* **Read only:** `true`\\n\\n* **Default:** `undefined`\\n\\n* **Browser:** `= IE9`\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./docs/docs/en.md\n// module id = 8\n// module chunks = 0","module.exports = \"## 入门开始\\n\\n### NPM\\n\\n``` bash\\nnpm install vue-upload-component --save\\n```\\n\\n``` js\\nconst VueUploadComponent = require('vue-upload-component')\\nVue.component('file-upload', VueUploadComponent)\\n```\\n\\n### Curated\\n\\n**No data**\\n\\n\\n### 直接使用\\n\\n\\nunpkg\\n\\n``` html\\n\\n\\n\\n```\\n\\njsDelivr\\n\\n``` html\\n\\n\\n\\n```\\n\\n\\n### 简单的例子\\n\\n\\n\\n```html\\n\\n\\n\\n \\n Vue-upload-component Test\\n \\n \\n\\n\\n
\\n
    \\n
  • {{file.name}} - Error: {{file.error}}, Success: {{file.success}}
  • \\n
\\n \\n 上传文件\\n \\n \\n \\n
\\n\\n\\n\\n```\\n\\n\\n\\n### SSR (服务器同构)\\n\\n\\n```html\\n\\n\\n\\n```\\n\\n\\n** 或者 **\\n\\n\\n```js\\nimport FileUpload from 'vue-upload-component/src'\\n```\\n\\nwebpack.config.js\\n\\n```js\\nconst nodeExternals = require('webpack-node-externals');\\n{\\n //...\\n externals: [\\n nodeExternals({whitelist:[/^vue-upload-component\\\\/src/]})\\n ]\\n //...\\n}\\n```\\n\\n* [https://github.com/liady/webpack-node-externals](https://github.com/liady/webpack-node-externals) \\n\\n* [**`vue-hackernews` 演示**](https://github.com/lian-yue/vue-hackernews-2.0/) \\n\\n* [**浏览修改文件**](https://github.com/lian-yue/vue-hackernews-2.0/commit/bd6c58a30cc6b8ba6c0148e737b3ce9336b99cf8)\\n\\n\\n\\n\\n## 选项 / 属性\\n\\n\\n### input-id\\n\\ninput 标签的 `id` 属性\\n\\n* **类型:** `String`\\n\\n* **默认值:** `this.name`\\n\\n* **示例:**\\n ```html\\n \\n \\n \\n ```\\n\\n\\n\\n\\n\\n### name\\n\\ninput标签的 `name` 属性\\n\\n* **类型:** `String`\\n\\n* **默认值:** `file`\\n\\n* **示例:**\\n ```html\\n \\n \\n \\n ```\\n\\n\\n\\n\\n\\n### post-action\\n\\n`POST` 请求的上传URL\\n\\n* **类型:** `String`\\n\\n* **默认值:** `undefined`\\n\\n* **示例:**\\n ```html\\n \\n ```\\n\\n\\n\\n\\n\\n### put-action\\n\\n`PUT` 请求的上传URL\\n\\n* **类型:** `String`\\n\\n* **默认值:** `undefined`\\n\\n* **浏览器:** `> IE9`\\n\\n* **详细:** \\n\\n `put-action` 不为空请优先 `PUT` 请求 \\n\\n* **示例:**\\n ```html\\n \\n ```\\n\\n\\n\\n### custom-action\\n\\n自定义上传方法\\n\\n* **类型:** `async Function`\\n\\n* **默认值:** `undefined`\\n\\n* **详细:** \\n\\n `custom-action` 优先级高于 `put-action, post-action`\\n\\n* **示例:**\\n ```html\\n \\n ```\\n ```js\\n async function customAction(file, component) {\\n // return await component.uploadPut(file)\\n return await component.uploadHtml4(file)\\n }\\n ```\\n\\n\\n\\n### headers\\n\\n自定义上传请求 `header` 数据\\n\\n* **类型:** `Object`\\n\\n* **默认值:** `{}`\\n\\n* **浏览器:** `> IE9`\\n\\n* **示例:**\\n ```html\\n \\n ```\\n\\n\\n\\n\\n\\n### data\\n\\n`POST 请求`: 附加请求的 body \\n`PUT 请求`: 附加请求的 query \\n\\n* **类型:** `Object`\\n\\n* **默认值:** `{}`\\n\\n* **示例:**\\n ```html\\n \\n ```\\n\\n\\n\\n\\n### value, v-model\\n\\n文件列表\\n\\n* **类型:** `Array`\\n\\n* **默认值:** `[]`\\n\\n* **详细:** \\n\\n 浏览 **[`File`](#file)** 详细信息 \\n > 为了防止不可预知的错误,不可直接修改 `files`,请使用 [`add`](#实例-方法-add), [`update`](#实例-方法-update), [`remove`](#实例-方法-remove) 方法修改\\n\\n* **示例:**\\n ```html\\n \\n \\n \\n ```\\n\\n\\n\\n\\n\\n### accept\\n\\n表单的`accept`属性, MIME type \\n\\n* **类型:** `String`\\n\\n* **默认值:** `undefined`\\n\\n* **浏览器:** `> IE9`\\n\\n* **示例:**\\n ```html\\n \\n \\n \\n ```\\n\\n\\n\\n\\n\\n### multiple\\n\\n文件表单的 `multiple` 属性 \\n是否允许选择多个文件 \\n\\n* **类型:** `Boolean`\\n\\n* **默认值:** `false`\\n\\n* **详细:** \\n\\n 如果是 `false` `files` 里面最多只有一个文件 多的会自动删除 \\n\\n* **示例:**\\n ```html\\n \\n ```\\n\\n\\n\\n### directory\\n\\n文件表单的 `directory` 属性 \\n是否是上传文件夹 \\n\\n* **类型:** `Boolean`\\n\\n* **默认值:** `false`\\n\\n* **浏览器:** [http://caniuse.com/#feat=input-file-directory](http://caniuse.com/#feat=input-file-directory)\\n\\n* **示例:**\\n ```html\\n \\n ```\\n\\n\\n\\n\\n\\n### extensions\\n\\n允许上传的文件后缀\\n\\n* **类型:** `Array | String | RegExp`\\n\\n* **默认值:** `undefined`\\n\\n* **示例:**\\n ```html\\n \\n \\n \\n \\n \\n ```\\n\\n\\n\\n\\n### size\\n\\n允许上传的最大字节\\n\\n* **类型:** `Number`\\n\\n* **默认值:** `0`\\n\\n* **浏览器:** `> IE9`\\n\\n* **详细:**\\n\\n `0` 等于不限制\\n\\n* **示例:**\\n ```html\\n \\n ```\\n\\n\\n\\n\\n### timeout\\n\\n上传超时时间毫秒\\n\\n* **类型:** `Number`\\n\\n* **默认值:** `0`\\n\\n* **浏览器:** `> IE9`\\n\\n* **示例:**\\n ```html\\n \\n ```\\n\\n\\n### maximum\\n\\n列表最大文件数\\n\\n* **类型:** `Number`\\n\\n* **默认值:** `props.multiple ? 0 : 1`\\n\\n* **示例:**\\n ```html\\n \\n ```\\n\\n\\n\\n\\n### thread\\n\\n同时并发上传的文件数量 线程数 \\n\\n* **类型:** `Number`\\n\\n* **默认值:** `1`\\n\\n* **浏览器:** `> IE9`\\n\\n* **示例:**\\n ```html\\n \\n ```\\n\\n\\n\\n\\n\\n### drop\\n\\n拖拽上传 \\n\\n* **类型:** `Boolean | Element | CSS selector`\\n\\n* **默认值:** `false`\\n\\n* **浏览器:** [http://caniuse.com/#feat=dragndrop](http://caniuse.com/#feat=dragndrop)\\n\\n* **详细:**\\n\\n 如果设置成 `true` 则读取父组件作为容器 \\n\\n* **示例:**\\n ```html\\n \\n ```\\n\\n\\n\\n\\n\\n### drop-directory\\n\\n是否开启拖拽目录 \\n\\n* **类型:** `Boolean`\\n\\n* **默认值:** `true`\\n\\n* **详细:**\\n\\n 如果设置成 `false` 则过滤掉目录\\n\\n* **示例:**\\n ```html\\n \\n ```\\n\\n\\n### add-index\\n\\n* **类型:** `Boolean, Number`\\n\\n* **默认值:** `undefined`\\n\\n* **版本:** `>= 2.6.1`\\n\\n* **详细:**\\n\\n [`add()`](#实例-方法-add) 方法 `index` 参数的默认值\\n\\n* **示例:**\\n ```html\\n \\n ```\\n\\n\\n\\n## 选项 / 事件\\n\\n文件被改变触发的方法 \\n默认用于`v-model`绑定\\n\\n### @input\\n* **参数:**\\n\\n * `files: Array`\\n\\n\\n* **示例:**\\n ```html\\n \\n \\n ```\\n\\n\\n\\n### @input-filter\\n\\nAdd, update, remove pre-filter \\n\\n* **参数:**\\n\\n * `newFile: File | Object | undefined` `读写`\\n * `oldFile: File | Object | undefined` `只读`\\n * `prevent: Function` 调用该方法 阻止修改\\n\\n\\n* **详细:**\\n\\n 如果 `newFile` 值为 `undefined` 则是删除 \\n 如果 `oldFile` 值为 `undefined` 则是添加 \\n 如果 `newFile`, `oldFile` 都存在则是更新\\n\\n > 事件内同步处理请直接修改 `newFile` \\n > 事件内异步处理请使用 `update`, `add`, `remove`, `clear` 方法 \\n > 异步请先设置一个错误以防止被上传\\n\\n > 同步不能使用 `update`, `add`, `remove`, `clear` 方法 \\n > 异步不能修改 `newFile`\\n\\n\\n* **示例:** \\n ```html\\n \\n \\n ```\\n\\n### @input-file\\n\\n添加,更新,移除 后\\n\\n* **参数:**\\n\\n * `newFile: File | Object | undefined` `只读`\\n * `oldFile: File | Object | undefined` `只读`\\n\\n\\n* **详细:**\\n\\n 如果 `newFile` 值为 `undefined` 则是删除 \\n 如果 `oldFile` 值为 `undefined` 则是添加 \\n 如果 `newFile`, `oldFile` 都存在则是更新\\n\\n >事件内可使用 `update`, `add`, `remove`, `clear` 方法 \\n >事件内不可修改 `newFile` 对象 \\n >事件内不可修改 `oldFile` 对象\\n\\n* **示例:**\\n ```html\\n \\n \\n ```\\n\\n\\n\\n## 实例 / 数据\\n\\n### features\\n\\n用于判断浏览器支持的特性\\n\\n* **类型:** `Object`\\n\\n* **只读:** `true`\\n\\n* **默认值:** `{ html5: true, directory: false, drag: false }`\\n\\n* **示例:**\\n ```html\\n \\n \\n 支持拖拽上传\\n 支持文件夹上传\\n 支持HTML5\\n \\n ```\\n\\n\\n\\n### active\\n\\n激活或停止上传\\n\\n* **类型:** `Boolean`\\n\\n* **只读:** `false`\\n\\n* **默认值:** `false`\\n\\n* **示例:**\\n ```html\\n \\n \\n 开始上传\\n 停止上传\\n \\n ```\\n\\n\\n\\n### dropActive\\n\\n是否正在拖拽\\n\\n* **类型:** `Boolean`\\n\\n* **只读:** `true`\\n\\n* **默认值:** `false`\\n\\n* **示例:**\\n ```html\\n \\n \\n 拖拽到这里上传\\n \\n ```\\n\\n\\n\\n\\n\\n### uploaded\\n\\n是否全部已上传\\n\\n* **类型:** `Boolean`\\n\\n* **只读:** `true`\\n\\n* **默认值:** `true`\\n\\n* **示例:**\\n ```html\\n \\n \\n 全部文件已上传完毕\\n \\n ```\\n\\n\\n\\n\\n\\n## 实例 / 方法\\n\\n\\n\\n### get()\\n\\n使用`id`获得某个对象\\n\\n* **参数:**\\n\\n * `id: File | Object | String`\\n\\n\\n* **结果:** `File | Object | Boolean` 存在返回文件对象否则返回 `false`\\n\\n\\n\\n### add()\\n\\n添加一个或多个文件\\n\\n* **参数:**\\n\\n * `files: Array | File | window.File | Object` 如果它是一个数组的响应将是一个数组\\n * `index: Number | Boolean` = [`props.add-index`](#选项-属性-add-index) `true = ` 开始位置, `false = ` 结束位置, `Number = ` 下标位置\\n\\n\\n* **结果:** `Object | Array | Boolean` 传入的是数组返回数组否则对象或`false`\\n\\n* **示例:**\\n ```html\\n \\n \\n ```\\n\\n\\n### addInputFile()\\n\\n把``选择的文件添加进上传列表 \\n\\n* **参数:**\\n\\n * `el: HTMLInputElement` 文件元素\\n\\n\\n* **结果:** `Array` 返回已添加的文件列表\\n\\n* **版本:** : `>=2.5.1`\\n\\n\\n\\n### addDataTransfer()\\n\\n把拖拽或者粘贴的数据的文件添加进上传列表 \\n\\n* **参数:**\\n\\n * `dataTransfer: DataTransfer` 拖拽或者粘贴的数据\\n\\n\\n* **结果:** `Promise>` 返回已添加的文件列表\\n\\n\\n* **版本:** : `>=2.5.1`\\n\\n\\n\\n### update()\\n\\n更新某个对象\\n\\n* **参数:**\\n\\n * `id: File | Object | String`\\n * `data: Object` 更新的数据对象\\n\\n\\n* **结果:** `Object | Boolean` 成功返回 `newFile` 失败返回 `false`\\n\\n\\n* **示例:**\\n ```html\\n \\n \\n ```\\n\\n### remove()\\n\\n移除某个文件对象\\n\\n* **参数:**\\n\\n * `id: File | Object | String`\\n\\n\\n* **结果:** `Object | Boolean` 成功返回 `oldFile` 失败返回 `false`\\n\\n* **示例:**\\n ```html\\n \\n \\n ```\\n\\n\\n### replace()\\n 替换两个文件的位置\\n\\n* **参数:**\\n\\n * `id1: File | Object | String`\\n * `id2: File | Object | String`\\n\\n\\n* **结果:** `Boolean`\\n\\n\\n\\n### clear()\\n\\n清空文件列表\\n\\n* **结果:** `Boolean` 总是返回 `true`\\n\\n\\n\\n## 实例 / File\\n\\n\\n> **文件对象在`input-filter`事件外修改请使用 [`update`](#实例-方法-update) 方法**\\n\\n\\n### fileObject\\n\\n* **类型:** `Boolean`\\n\\n* **只读:** `true`\\n\\n* **Required:** `true`\\n\\n* **默认值:** `true`\\n\\n* **版本:** : `>=2.6.0`\\n\\n* **详细:**\\n\\n 如果属性不存在,则不会在内部处理该对象 \\n 如果属性不存在,它不是 `File` 而是 `Object`\\n\\n\\n\\n### id\\n\\n文件id\\n\\n* **类型:** `String | Number`\\n\\n* **只读:** `false`\\n\\n* **默认值:** `Math.random().toString(36).substr(2)`\\n\\n* **详细:**\\n\\n >`id` can not be repeated \\n >Upload can not modify `id`\\n\\n\\n### size\\n\\n文件大小\\n\\n* **类型:** `Number`\\n\\n* **只读:** `false`\\n\\n* **默认值:** `-1`\\n\\n* **浏览器:** `> IE9`\\n\\n\\n### name\\n\\n文件名 \\n\\n* **类型:** `String`\\n\\n* **只读:** `false`\\n\\n* **默认值:** ` `\\n\\n* **详细:**\\n\\n 格式: `directory/filename.gif` `filename.gif` \\n\\n\\n\\n### type\\n\\nMIME类型\\n\\n* **类型:** `String`\\n\\n* **只读:** `false`\\n\\n* **默认值:** ` `\\n\\n* **浏览器:** `> IE9`\\n\\n* **详细:**\\n\\n 格式: `image/gif` `image/png` `text/html`\\n\\n\\n\\n\\n### active\\n\\n激活或终止上传\\n\\n* **类型:** `Boolean`\\n\\n* **只读:** `false`\\n\\n* **默认值:** `false`\\n\\n* **详细:**\\n\\n `true` = 上传 \\n `false` = 停止 \\n\\n\\n\\n\\n\\n\\n### error\\n\\n上传失败错误代码\\n\\n* **类型:** `String`\\n\\n* **只读:** `false`\\n\\n* **默认值:** ` `\\n\\n* **详细:**\\n\\n 内置\\n `size`, `extension`, `timeout`, `abort`, `network`, `server`, `denied`\\n\\n\\n\\n\\n### success\\n\\n是否上传成功\\n\\n* **类型:** `Boolean`\\n\\n* **只读:** `false`\\n\\n* **默认值:** `false`\\n\\n\\n### putAction\\n\\n自定义当前文件 `PUT` 地址\\n\\n* **类型:** `String`\\n\\n* **只读:** `false`\\n\\n* **默认值:** `this.putAction`\\n\\n\\n\\n### postAction\\n\\n自定义当前文件 `POST` 地址\\n\\n* **类型:** `String`\\n\\n* **只读:** `false`\\n\\n* **默认值:** `this.postAction`\\n\\n\\n\\n\\n### headers\\n\\n自定义当前文件 `HTTP` Header\\n\\n* **类型:** `Object`\\n\\n* **只读:** `false`\\n\\n* **默认值:** `this.headers`\\n\\n\\n### data\\n\\n自定义当前文件 `body` 或 `query` 附加内容\\n\\n* **类型:** `Object`\\n\\n* **只读:** `false`\\n\\n* **默认值:** `this.data`\\n\\n\\n### timeout\\n\\n自定义当前单个文件的上传超时时间\\n\\n* **类型:** `Number`\\n\\n* **只读:** `false`\\n\\n* **默认值:** `this.timeout`\\n\\n\\n### response\\n\\n响应的数据\\n\\n* **类型:** `Object | String`\\n\\n* **只读:** `false`\\n\\n* **默认值:** `{}`\\n\\n\\n\\n\\n### progress\\n\\n上传进度\\n\\n* **类型:** `String`\\n\\n* **只读:** `false`\\n\\n* **默认值:** `0.00`\\n\\n* **浏览器:** `> IE9`\\n\\n\\n\\n### speed\\n\\n每秒的上传速度\\n\\n* **类型:** `Number`\\n\\n* **只读:** `true`\\n\\n* **默认值:** `0`\\n\\n* **浏览器:** `> IE9`\\n\\n\\n\\n\\n### xhr\\n\\n`HTML5` 上传 `XMLHttpRequest` 对象\\n\\n* **类型:** `XMLHttpRequest`\\n\\n* **只读:** `true`\\n\\n* **默认值:** `undefined`\\n\\n* **浏览器:** `> IE9`\\n\\n\\n\\n\\n### iframe\\n\\n`HTML4` 上传 `iframe` 元素\\n\\n* **类型:** `Element`\\n\\n* **只读:** `true`\\n\\n* **默认值:** `undefined`\\n\\n* **浏览器:** `= IE9`\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./docs/docs/zh-cn.md\n// module id = 9\n// module chunks = 0","\n\n\n\n\n\n\n// WEBPACK FOOTER //\n// docs/views/examples/Full.vue","module.exports = Cropper;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"Cropper\"\n// module id = 11\n// module chunks = 0","\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/FileUpload.vue","\n\n\n\n\n// WEBPACK FOOTER //\n// src/InputFile.vue","\n\n\n\n\n\n\n// WEBPACK FOOTER //\n// docs/views/examples/Simple.vue","\n\n\n\n\n\n\n\n// WEBPACK FOOTER //\n// docs/views/examples/Avatar.vue","\n\n\n\n\n\n\n// WEBPACK FOOTER //\n// docs/views/examples/Drag.vue","\n\n\n\n\n\n\n// WEBPACK FOOTER //\n// docs/views/examples/Multiple.vue","\n\n\n\n\n\n\n\n\n\n// WEBPACK FOOTER //\n// docs/views/examples/Chunk.vue","\n\n\n\n\n\n\n// WEBPACK FOOTER //\n// docs/views/examples/Vuex.vue","\n\n\n\n\n\n// WEBPACK FOOTER //\n// docs/views/App.vue","import Vue from 'vue'\nimport marked from 'marked'\nimport highlightjs from 'highlight.js'\nimport store from './store'\nimport router from './router'\nimport i18n from './i18n'\nimport App from './views/App'\n\nVue.config.silent = false\nVue.config.devtools = true\n\n\nclass Renderer extends marked.Renderer {\n heading(text, level, raw) {\n let rawName = raw.toLowerCase().replace(/([\\u0000-\\u002F\\u003A-\\u0060\\u007B-\\u007F]+)/g, '-').replace(/^\\-+|\\-+$/, '')\n\n if (!this.options.headers) {\n this.options.headers = []\n }\n while (this.options.headers.length >= level) {\n this.options.headers.pop()\n }\n let parent = this.options.headers.filter(value => !!value).join('-')\n if (parent) {\n parent = parent + '-'\n }\n while (this.options.headers.length < (level - 1)) {\n this.options.headers.push('')\n }\n this.options.headers.push(rawName)\n return ''\n + text\n + '\\n'\n }\n}\n\nmarked.setOptions({\n renderer: new Renderer(),\n gfm: true,\n tables: true,\n breaks: false,\n pedantic: false,\n sanitize: false,\n smartLists: true,\n smartypants: false,\n highlight(code, lang) {\n if (lang) {\n return highlightjs.highlight(lang, code).value\n } else {\n return highlightjs.highlightAuto(code).value\n }\n }\n})\n\nVue.directive('markdown', function (el, binding, vnode) {\n if (!el.className || !/vue-markdown/.test(el.className)) {\n el.className += ' vue-markdown'\n }\n let text = ''\n for (let i = 0; i < vnode.children.length; i++) {\n text += vnode.children[i].text || ''\n }\n if (el.markdown === text) {\n return\n }\n\n el.markdown = text\n\n el.innerHTML = marked(text)\n let selectorList = el.querySelectorAll('a')\n for (let i = 0; i < selectorList.length; i++) {\n selectorList[i].onclick = function (e) {\n if (e.metaKey || e.ctrlKey || e.shiftKey) {\n return\n }\n if (e.defaultPrevented) {\n return\n }\n if (e.button !== undefined && e.button !== 0) {\n return\n }\n\n if (this.host !== window.location.host) {\n return\n }\n\n let href = this.getAttribute('href')\n if (!href) {\n return\n }\n\n if (href.charAt(0) !== '#') {\n return\n }\n\n e.preventDefault()\n router.push(href)\n }\n }\n})\n\n\n\nVue.filter('formatSize', function (size) {\n if (size > 1024 * 1024 * 1024 * 1024) {\n return (size / 1024 / 1024 / 1024 / 1024).toFixed(2) + ' TB'\n } else if (size > 1024 * 1024 * 1024) {\n return (size / 1024 / 1024 / 1024).toFixed(2) + ' GB'\n } else if (size > 1024 * 1024) {\n return (size / 1024 / 1024).toFixed(2) + ' MB'\n } else if (size > 1024) {\n return (size / 1024).toFixed(2) + ' KB'\n }\n return size.toString() + ' B'\n})\n\nVue.filter('toLocale', function (to) {\n return '/' + i18n.locale + to\n})\n\n\n\nnew Vue({\n store,\n router,\n i18n,\n ...App\n}).$mount('#app')\n\n\n\n// WEBPACK FOOTER //\n// ./docs/index.js","module.exports = Vue;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"Vue\"\n// module id = 23\n// module chunks = 0","module.exports = hljs;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"hljs\"\n// module id = 24\n// module chunks = 0","// import Vue from 'vue'\nimport Vuex from 'vuex'\n//\n// Vue.use(Vuex)\n\n\nconst state = {\n files: [],\n}\n\nconst mutations = {\n updateFiles(state, files) {\n state.files = files\n }\n}\nexport default new Vuex.Store({\n strict: true,\n state,\n mutations\n})\n\n\n\n// WEBPACK FOOTER //\n// ./docs/store.js","// import Vue from 'vue'\nimport VueRouter from 'vue-router'\n\nimport i18n from './i18n'\nimport RouterComponent from './views/Router'\nimport DocumentComponent from './views/Document'\nimport ExampleComponent from './views/Example'\n\nimport FullExampleComponent from './views/examples/Full'\nimport SimpleExampleComponent from './views/examples/Simple'\nimport AvatarExampleComponent from './views/examples/Avatar'\nimport DragExampleComponent from './views/examples/Drag'\nimport MultipleExampleComponent from './views/examples/Multiple'\nimport ChunkExampleComponent from './views/examples/Chunk'\nimport VuexExampleComponent from './views/examples/Vuex'\n\n\n\n// Vue.use(VueRouter)\n\n\nlet examples = [\n {\n path: '',\n component: FullExampleComponent,\n },\n {\n path: 'full',\n component: FullExampleComponent,\n },\n {\n path: 'simple',\n component: SimpleExampleComponent,\n },\n {\n path: 'avatar',\n component: AvatarExampleComponent,\n },\n {\n path: 'drag',\n component: DragExampleComponent,\n },\n {\n path: 'multiple',\n component: MultipleExampleComponent,\n },\n {\n path: 'chunk',\n component: ChunkExampleComponent,\n },\n {\n path: 'vuex',\n component: VuexExampleComponent,\n },\n]\n\n\n\nconst router = new VueRouter({\n mode: 'hash',\n fallback: false,\n scrollBehavior(to, from, savedPosition) {\n if (savedPosition) {\n return savedPosition\n } else if (to.hash) {\n let el = document.querySelector(to.hash)\n return { x: 0, y: el ? el.offsetTop : 0 }\n } else {\n return { x: 0, y: 0 }\n }\n },\n routes: [\n {\n path: '/:locale(' + Object.keys(i18n.messages).join('|') + ')?',\n component: RouterComponent,\n children: [\n {\n path: 'documents',\n component: DocumentComponent,\n },\n {\n path: 'examples',\n component: ExampleComponent,\n children: examples,\n },\n {\n path: '',\n component: ExampleComponent,\n children: examples,\n },\n ]\n },\n ]\n})\nexport default router\n\n\n\n// WEBPACK FOOTER //\n// ./docs/router.js","module.exports = VueRouter;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"VueRouter\"\n// module id = 27\n// module chunks = 0","module.exports = VueI18n;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"VueI18n\"\n// module id = 28\n// module chunks = 0","export default {\n header: {\n logo: 'Vuejs',\n home: 'Home',\n examples: 'Examples',\n documents: 'Documentation',\n blog: 'Blog',\n locale: 'Language(语言)',\n issues: 'Issues',\n github: 'Github',\n },\n\n locale: {\n en: 'English',\n 'zh-cn': '中文(简体)',\n },\n\n document: {\n title: 'Documentation',\n },\n\n example: {\n full: 'Full Example',\n simple: 'Simple',\n avatar: 'Upload avatar',\n drag: 'Drag and drop',\n multiple: 'Multiple instances',\n chunk: 'Chunk upload',\n vuex: 'Vuex',\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./docs/i18n/en.js","export default {\n header: {\n logo: 'Vuejs',\n home: '首页',\n examples: '演示',\n documents: '文档',\n blog: 'Blog',\n locale: 'Language(语言)',\n issues: 'Issues',\n github: 'Github',\n },\n\n locale: {\n en: 'English',\n 'zh-cn': '中文(简体)',\n },\n\n document: {\n title: '文档',\n },\n\n\n example: {\n full: '完整例子',\n simple: '简单例子',\n avatar: '上传头像',\n drag: '拖拽上传',\n multiple: '多个实例',\n vuex: 'Vuex',\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./docs/i18n/zh-cn.js","var normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nvar __vue_script__ = null\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-3075fd62\\\",\\\"hasScoped\\\":false,\\\"preserveWhitespace\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./Router.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./docs/views/Router.vue\n// module id = 31\n// module chunks = 0","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('router-view')}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-3075fd62\",\"hasScoped\":false,\"preserveWhitespace\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./docs/views/Router.vue\n// module id = 32\n// module chunks = 0","function injectStyle (ssrContext) {\n require(\"!!vue-style-loader!css-loader?minimize!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-61209807\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Document.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader?{\\\"presets\\\":[[\\\"env\\\",{\\\"modules\\\":false}],\\\"stage-0\\\"],\\\"plugins\\\":[[\\\"transform-runtime\\\",{\\\"helpers\\\":false,\\\"polyfill\\\":false,\\\"regenerator\\\":true,\\\"moduleName\\\":\\\"babel-runtime\\\"}]],\\\"cacheDirectory\\\":false}!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Document.vue\"\nimport __vue_script__ from \"!!babel-loader?{\\\"presets\\\":[[\\\"env\\\",{\\\"modules\\\":false}],\\\"stage-0\\\"],\\\"plugins\\\":[[\\\"transform-runtime\\\",{\\\"helpers\\\":false,\\\"polyfill\\\":false,\\\"regenerator\\\":true,\\\"moduleName\\\":\\\"babel-runtime\\\"}]],\\\"cacheDirectory\\\":false}!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Document.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-61209807\\\",\\\"hasScoped\\\":false,\\\"preserveWhitespace\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./Document.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./docs/views/Document.vue\n// module id = 33\n// module chunks = 0","// style-loader: Adds some css to the DOM by adding a \n\n\n\n\n// WEBPACK FOOTER //\n// docs/views/Document.vue","module.exports = \"\\n> **The document uses Google Translate**\\n\\n## Getting Started\\n\\n### NPM\\n\\n``` bash\\nnpm install vue-upload-component --save\\n```\\n\\n``` js\\nconst VueUploadComponent = require('vue-upload-component')\\nVue.component('file-upload', VueUploadComponent)\\n```\\n\\n### Curated\\n\\n**No data**\\n\\n\\n### Script\\n\\n\\nunpkg\\n\\n``` html\\n\\n\\n\\n```\\n\\njsDelivr\\n\\n``` html\\n\\n\\n\\n```\\n\\n\\n### Simple example\\n\\n\\n\\n```html\\n\\n\\n\\n \\n Vue-upload-component Test\\n \\n \\n\\n\\n
\\n
    \\n
  • {{file.name}} - Error: {{file.error}}, Success: {{file.success}}
  • \\n
\\n \\n Upload file\\n \\n \\n \\n
\\n\\n\\n\\n```\\n\\n### Chunk Upload\\n\\nThis package allows chunk uploads, which means you can upload a file in different parts.\\n\\nThis process is divided in three phases: start, upload,finish

\\n\\n#### start\\n\\nThis is the first phase of the process. We'll tell the backend that we are going to upload a file, with certain `size` and `mime_type`.\\n\\nUse the option `startBody` to add more parameters to the body of this request.\\n\\nThe backend should provide a `session_id` (to identify the upload) and a `end_offset` which is the size of every chunk\\n\\n#### upload\\n\\nIn this phase we'll upload every chunk until all of them are uploaded. This step allows some failures in the backend, and will retry up to `maxRetries` times.\\n\\nWe'll send the `session_id`, `start_chunk` and `chunk` (the sliced blob - part of file we are uploading). We expect the backend to return `{ status: 'success' }`, we'll retry otherwise.\\n\\nUse the option `uploadBody` to add more parameters to the body of this request.\\n\\n#### finish\\n\\nIn this phase we tell the backend that there are no more chunks to upload, so it can wrap everything. We send the `session_id` in this phase.\\n\\nUse the option `finishBody` to add more parameters to the body of this request.\\n\\n#### Example\\n\\nIn the following example we are going to add `Chunk Upload Functionality`. This component will use `Chunk Upload` when the size of the file is > `1MB`, it will behave as the `Simple example` when the size of the file is lower.\\n\\n```html\\n \\n Upload file\\n \\n```\\n\\n#### Extending the handler\\n\\nWe are using the class `src/chunk/ChunkUploadHandler` class to implement this protocol. You can extend this class (or even create a different one from scratch) to implement your own way to communicat with the backend.\\n\\nThis class must implement a method called `upload` which **must** return a promise. This promise will be used by the `FileUpload` component to determinate whether the file was uploaded or failed.\\n\\nUse the `handler` parameter to use a different Handler\\n\\n```html\\n :chunk=\\\"{\\n action: '/upload/chunk',\\n minSize: 1048576,\\n maxActive: 3,\\n maxRetries: 5,\\n\\n handler: MyHandlerClass\\n }\\n```\\n\\n### SSR (Server isomorphism)\\n\\n\\n```html\\n\\n\\n\\n```\\n\\n\\n** OR **\\n\\n\\n```js\\nimport FileUpload from 'vue-upload-component/src'\\n```\\n\\n\\nwebpack.config.js\\n\\n```js\\nconst nodeExternals = require('webpack-node-externals');\\n{\\n //.....\\n externals: [\\n nodeExternals({whitelist:[/^vue-upload-component\\\\/src/]})\\n ]\\n //.....\\n}\\n```\\n\\n* [https://github.com/liady/webpack-node-externals](https://github.com/liady/webpack-node-externals)\\n\\n* [**`vue-hackernews` demo**](https://github.com/lian-yue/vue-hackernews-2.0/)\\n\\n* [**View changes**](https://github.com/lian-yue/vue-hackernews-2.0/commit/bd6c58a30cc6b8ba6c0148e737b3ce9336b99cf8)\\n\\n\\n\\n\\n## Options / Props\\n\\n\\n### input-id\\n\\nThe `id` attribute of the input tag\\n\\n* **Type:** `String`\\n\\n* **Default:** `this.name`\\n\\n* **Usage:**\\n ```html\\n \\n \\n \\n ```\\n\\n\\n\\n\\n\\n### name\\n\\nThe `name` attribute of the input tag\\n\\n* **Type:** `String`\\n\\n* **Default:** `file`\\n\\n* **Usage:**\\n ```html\\n \\n \\n \\n ```\\n\\n\\n\\n\\n\\n### post-action\\n\\n`POST` Request upload URL\\n\\n* **Type:** `String`\\n\\n* **Default:** `undefined`\\n\\n* **Usage:**\\n ```html\\n \\n ```\\n\\n\\n\\n\\n\\n### put-action\\n\\n`PUT` Request upload URL\\n\\n* **Type:** `String`\\n\\n* **Default:** `undefined`\\n\\n* **Browser:** `> IE9`\\n\\n* **Details:**\\n\\n `put-action` is not empty Please give priority to` PUT` request\\n\\n* **Usage:**\\n ```html\\n \\n ```\\n\\n\\n\\n### custom-action\\n\\nCustom upload method\\n\\n* **Type:** `async Function`\\n\\n* **Default:** `undefined`\\n\\n* **Details:** \\n\\n `custom-action` priority than `put-action, post-action`\\n\\n* **Usage:**\\n ```html\\n \\n ```\\n ```js\\n async function customAction(file, component) {\\n // return await component.uploadPut(file)\\n return await component.uploadHtml4(file)\\n }\\n ```\\n\\n\\n\\n\\n\\n### headers\\n\\nAttach `header` data\\n\\n* **Type:** `Object`\\n\\n* **Default:** `{}`\\n\\n* **Browser:** `> IE9`\\n\\n* **Usage:**\\n ```html\\n \\n ```\\n\\n\\n\\n\\n\\n### data\\n\\n`POST request`: Append request `body`\\n`PUT request`: Append request `query`\\n\\n* **Type:** `Object`\\n\\n* **Default:** `{}`\\n\\n* **Usage:**\\n ```html\\n \\n ```\\n\\n\\n\\n\\n### value, v-model\\n\\nFile List\\n\\n* **Type:** `Array`\\n\\n* **Default:** `[]`\\n\\n* **Details:**\\n\\n View **[`File`](#file)** details\\n > In order to prevent unpredictable errors, can not directly modify the `files`, please use [`add`](#instance-methods-add), [`update`](#instance-methods-update), [`remove`](#instance-methods-remove) method to modify\\n\\n* **Usage:**\\n ```html\\n \\n \\n \\n ```\\n\\n\\n\\n\\n\\n### accept\\n\\nThe `accept` attribute of the input tag, MIME type\\n\\n* **Type:** `String`\\n\\n* **Default:** `undefined`\\n\\n* **Browser:** `> IE9`\\n\\n* **Usage:**\\n ```html\\n \\n \\n \\n ```\\n\\n\\n\\n\\n\\n### multiple\\n\\nThe `multiple` attribute of the input tag\\nWhether to allow multiple files to be selected\\n\\n* **Type:** `Boolean`\\n\\n* **Default:** `false`\\n\\n* **Details:**\\n\\n If it is `false` file inside only one file will be automatically deleted\\n\\n* **Usage:**\\n ```html\\n \\n ```\\n\\n\\n\\n### directory\\n\\nThe `directory` attribute of the input tag\\nWhether it is a upload folder\\n\\n* **Type:** `Boolean`\\n\\n* **Default:** `false`\\n\\n* **Browser:** [http://caniuse.com/#feat=input-file-directory](http://caniuse.com/#feat=input-file-directory)\\n\\n* **Usage:**\\n ```html\\n \\n ```\\n\\n\\n\\n\\n\\n### extensions\\n\\nAllow upload file extensions\\n\\n* **Type:** `Array | String | RegExp`\\n\\n* **Default:** `undefined`\\n\\n* **Usage:**\\n ```html\\n \\n \\n \\n \\n \\n ```\\n\\n\\n\\n\\n### size\\n\\nAllow the maximum byte to upload\\n\\n* **Type:** `Number`\\n\\n* **Default:** `0`\\n\\n* **Browser:** `> IE9`\\n\\n* **Details:**\\n\\n `0` is equal to not limit\\n\\n* **Usage:**\\n ```html\\n \\n ```\\n\\n\\n\\n\\n### timeout\\n\\nUpload timeout time in milliseconds\\n\\n* **Type:** `Number`\\n\\n* **Default:** `0`\\n\\n* **Browser:** `> IE9`\\n\\n* **Usage:**\\n ```html\\n \\n ```\\n\\n### maximum\\n\\nList the maximum number of files\\n\\n* **Type:** `Number`\\n\\n* **Default:** `props.multiple ? 0 : 1`\\n\\n* **Usage:**\\n ```html\\n \\n ```\\n\\n\\n\\n### thread\\n\\nAlso upload the number of files at the same time (number of threads)\\n\\n* **Type:** `Number`\\n\\n* **Default:** `1`\\n\\n* **Browser:** `> IE9`\\n\\n* **Usage:**\\n ```html\\n \\n ```\\n\\n### chunk-enabled\\n\\nWhether chunk uploads is enabled or not\\n\\n* **Type:** `Boolean`\\n\\n* **Default:** `false`\\n\\n* **Usage:**\\n ```html\\n \\n \\n ```\\n\\n### chunk\\n\\nAll the options to handle chunk uploads\\n\\n* **Type:** `Object`\\n\\n* **Default:**\\n```js\\n{\\n headers: {\\n 'Content-Type': 'application/json'\\n },\\n action: '',\\n minSize: 1048576,\\n maxActive: 3,\\n maxRetries: 5,\\n\\n // This is the default Handler implemented in this package\\n // you can use your own handler if your protocol is different\\n handler: ChunkUploadDefaultHandler\\n}\\n```\\n\\n### drop\\n\\nDrag and drop upload\\n\\n* **Type:** `Boolean | Element | CSS selector`\\n\\n* **Default:** `false`\\n\\n* **Browser:** [http://caniuse.com/#feat=dragndrop](http://caniuse.com/#feat=dragndrop)\\n\\n* **Details:**\\n\\n If set to `true`, read the parent component as a container\\n\\n* **Usage:**\\n ```html\\n \\n ```\\n\\n\\n\\n\\n\\n### drop-directory\\n\\nWhether to open the drag directory\\n\\n* **Type:** `Boolean`\\n\\n* **Default:** `true`\\n\\n* **Details:**\\n\\n If set to `false` filter out the directory\\n\\n* **Usage:**\\n ```html\\n \\n ```\\n\\n\\n\\n### add-index\\n\\n* **Type:** `Boolean, Number`\\n\\n* **Default:** `undefined`\\n\\n* **Version:** : `>=2.6.1`\\n\\n* **Details:**\\n\\n The default value of the `index` parameter for the [`add()`](#instance-methods-add) method\\n\\n* **Usage:**\\n ```html\\n \\n ```\\n\\n\\n\\n\\n## Options / Events\\n\\nThe files is changed to trigger the method\\nDefault for `v-model` binding\\n\\n### @input\\n* **Arguments:**\\n\\n * `files: Array`\\n\\n\\n* **Usage:**\\n ```html\\n \\n \\n ```\\n\\n\\n\\n### @input-filter\\n\\nAdd, update, remove pre-filter\\n\\n* **Arguments:**\\n\\n * `newFile: File | Object | undefined` `Read and write`\\n * `oldFile: File | Object | undefined` `Read only`\\n * `prevent: Function` Call this function to prevent modification\\n\\n\\n* **Details:**\\n\\n If the `newFile` value is `undefined` 'is deleted\\n If the `oldFile` value is `undefined` 'is added\\n If `newFile`, `oldFile` is exist, it is updated\\n\\n > Synchronization modify `newFile`\\n > Asynchronous Please use `update`,` add`, `remove`,` clear` method\\n > Asynchronous Please set an error first to prevent being uploaded\\n\\n > Synchronization can not use `update`,` add`, `remove`,` clear` methods\\n > Asynchronous can not modify `newFile`\\n\\n* **Usage:**\\n ```html\\n \\n \\n ```\\n\\n### @input-file\\n\\nAdd, update, remove after\\n\\n* **Arguments:**\\n\\n * `newFile: File | Object | undefined` `Read only`\\n * `oldFile: File | Object | undefined` `Read only`\\n\\n\\n* **Details:**\\n\\n If the `newFile` value is `undefined` 'is deleted\\n If the `oldFile` value is `undefined` 'is added\\n If `newFile`, `oldFile` is exist, it is updated\\n\\n\\n >You can use `update`,` add`, `remove`,` clear` methods in the event\\n >You can not modify the `newFile` object in the event\\n >You can not modify the `oldFile` object in the event\\n\\n* **Usage:**\\n ```html\\n \\n \\n ```\\n\\n\\n\\n## Instance / Data\\n\\n### features\\n\\nUsed to determine the browser support features\\n\\n* **Type:** `Object`\\n\\n* **Read only:** `true`\\n\\n* **Default:** `{ html5: true, directory: false, drag: false }`\\n\\n* **Usage:**\\n ```html\\n \\n \\n Support drag and drop upload\\n Support folder upload\\n Support for HTML5\\n \\n ```\\n\\n\\n\\n### active\\n\\nActivation or abort upload\\n\\n* **Type:** `Boolean`\\n\\n* **Read only:** `false`\\n\\n* **Default:** `false`\\n\\n* **Usage:**\\n ```html\\n \\n \\n Start upload\\n Stop upload\\n \\n ```\\n\\n\\n\\n### dropActive\\n\\nIs dragging\\n\\n* **Type:** `Boolean`\\n\\n* **Read only:** `true`\\n\\n* **Default:** `false`\\n\\n* **Usage:**\\n ```html\\n \\n \\n Drag and drop here for upload\\n \\n ```\\n\\n\\n\\n\\n\\n### uploaded\\n\\nAll uploaded\\n\\n* **Type:** `Boolean`\\n\\n* **Read only:** `true`\\n\\n* **Default:** `true`\\n\\n* **Usage:**\\n ```html\\n \\n \\n All files have been uploaded\\n \\n ```\\n\\n\\n\\n\\n\\n## Instance / Methods\\n\\n\\n\\n### get()\\n\\nUse `id` to get a file object\\n\\n* **Arguments:**\\n\\n * `id: File | Object | String`\\n\\n\\n* **Result:** `File | Object | Boolean` There is a return file, object that otherwise returns `false`\\n\\n\\n\\n### add()\\n\\nAdd one or more files\\n\\n* **Arguments:**\\n\\n * `files: Array | File | window.File | Object` If it is an array of responses will be an array\\n * `index: Number | Boolean` = [`props.add-index`](#options-props-add-index) `true = ` Start, `false = ` End, `Number = ` Index\\n\\n\\n* **Result:** `Object | Array | Boolean` The incoming array is returned to the array otherwise the object or `false`\\n\\n* **Usage:**\\n ```html\\n \\n \\n ```\\n\\n\\n### addInputFile()\\n\\nAdd the file selected by `` to the upload list\\n\\n* **Arguments:**\\n\\n * `el: HTMLInputElement` File element\\n\\n\\n* **Result:** `Array` Added list of files\\n\\n* **Version:** : `>=2.5.1`\\n\\n\\n\\n### addDataTransfer()\\n\\nAdd files that are dragged or pasted into the upload list\\n\\n* **Arguments:**\\n\\n * `dataTransfer: DataTransfer` Drag or paste data\\n\\n\\n* **Result:** `Promise>` Added list of files\\n\\n\\n* **Version:** : `>=2.5.1`\\n\\n\\n\\n### update()\\n\\nUpdate a file object\\n\\n* **Arguments:**\\n\\n * `id: File | Object | String`\\n * `data: Object` Updated data object\\n\\n\\n* **Result:** `Object | Boolean` Successfully returned `newFile` failed to return` false`\\n\\n\\n* **Usage:**\\n ```html\\n \\n \\n ```\\n\\n### remove()\\n\\nRemove a file object\\n\\n* **Arguments:**\\n\\n * `id: File | Object | String`\\n\\n\\n* **Result:** `Object | Boolean` Successfully returned `oldFile` failed to return` false`\\n\\n* **Usage:**\\n ```html\\n \\n \\n ```\\n\\n### replace()\\n Replace the location of the two files\\n\\n* **Arguments:**\\n\\n * `id1: File | Object | String`\\n * `id2: File | Object | String`\\n\\n\\n* **Result:** `Boolean`\\n\\n\\n### clear()\\n\\nEmpty the file list\\n\\n* **Result:** `Boolean` Always return `true`\\n\\n\\n\\n## Instance / File\\n\\n\\n\\n> **File object in the `@input-filter` event outside the use of [`update`](#instance-methods-update) method**\\n\\n\\n\\n\\n### fileObject\\n\\n* **Type:** `Boolean`\\n\\n* **Read only:** `true`\\n\\n* **Required:** `true`\\n\\n* **Default:** `true`\\n\\n* **Version:** : `>=2.6.0`\\n\\n* **Details:**\\n\\n If the attribute does not exist, the object will not be processed internally\\n If the attribute does not exist, it is not `File` but `Object`\\n\\n\\n\\n\\n### id\\n\\nFile ID\\n\\n* **Type:** `String | Number`\\n\\n* **Read only:** `false`\\n\\n* **Default:** `Math.random().toString(36).substr(2)`\\n\\n* **Details:**\\n\\n >`id` can not be repeated\\n >Upload can not modify `id`\\n\\n\\n### size\\n\\nFile size\\n\\n* **Type:** `Number`\\n\\n* **Read only:** `false`\\n\\n* **Default:** `-1`\\n\\n* **Browser:** `> IE9`\\n\\n\\n### name\\n\\nFilename\\n\\n* **Type:** `String`\\n\\n* **Read only:** `false`\\n\\n* **Default:** ` `\\n\\n* **Details:**\\n\\n Format: `directory/filename.gif` `filename.gif`\\n\\n\\n\\n### type\\n\\nMIME type\\n\\n* **Type:** `String`\\n\\n* **Read only:** `false`\\n\\n* **Default:** ` `\\n\\n* **Browser:** `> IE9`\\n\\n* **Details:**\\n\\n Format: `image/gif` `image/png` `text/html`\\n\\n\\n\\n\\n### active\\n\\nActivation or abort upload\\n\\n* **Type:** `Boolean`\\n\\n* **Read only:** `false`\\n\\n* **Default:** `false`\\n\\n* **Details:**\\n\\n `true` = Upload\\n `false` = Abort\\n\\n\\n\\n\\n\\n\\n### error\\n\\nUpload failed error code\\n\\n* **Type:** `String`\\n\\n* **Read only:** `false`\\n\\n* **Default:** ` `\\n\\n* **Details:**\\n\\n Built-in\\n `size`, `extension`, `timeout`, `abort`, `network`, `server`, `denied`\\n\\n\\n\\n\\n### success\\n\\nWhether the upload was successful\\n\\n* **Type:** `Boolean`\\n\\n* **Read only:** `false`\\n\\n* **Default:** `false`\\n\\n\\n### putAction\\n\\nCustomize the current file `PUT` URL\\n\\n* **Type:** `String`\\n\\n* **Read only:** `false`\\n\\n* **Default:** `this.putAction`\\n\\n\\n\\n### postAction\\n\\nCustomize the current file `POST` URL\\n\\n* **Type:** `String`\\n\\n* **Read only:** `false`\\n\\n* **Default:** `this.postAction`\\n\\n\\n\\n\\n### headers\\n\\nCustomize the current file `HTTP` Header\\n\\n* **Type:** `Object`\\n\\n* **Read only:** `false`\\n\\n* **Default:** `this.headers`\\n\\n\\n### data\\n\\nCustomize the current file `body` or` query` to attach content\\n\\n* **Type:** `Object`\\n\\n* **Read only:** `false`\\n\\n* **Default:** `this.data`\\n\\n\\n### timeout\\n\\nCustomize the upload timeout for a current single file\\n\\n* **Type:** `Number`\\n\\n* **Read only:** `false`\\n\\n* **Default:** `this.timeout`\\n\\n\\n### response\\n\\nResponse data\\n\\n* **Type:** `Object | String`\\n\\n* **Read only:** `false`\\n\\n* **Default:** `{}`\\n\\n\\n\\n\\n### progress\\n\\nUpload progress\\n\\n* **Type:** `String`\\n\\n* **Read only:** `false`\\n\\n* **Default:** `0.00`\\n\\n* **Browser:** `> IE9`\\n\\n\\n\\n### speed\\n\\nPer second upload speed\\n\\n* **Type:** `Number`\\n\\n* **Read only:** `true`\\n\\n* **Default:** `0`\\n\\n* **Browser:** `> IE9`\\n\\n\\n\\n\\n### xhr\\n\\n`HTML5` upload` XMLHttpRequest` object\\n\\n* **Type:** `XMLHttpRequest`\\n\\n* **Read only:** `true`\\n\\n* **Default:** `undefined`\\n\\n* **Browser:** `> IE9`\\n\\n\\n\\n\\n### iframe\\n\\n`HTML4` upload` iframe` element\\n\\n* **Type:** `Element`\\n\\n* **Read only:** `true`\\n\\n* **Default:** `undefined`\\n\\n* **Browser:** `= IE9`\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./docs/docs/en.md\n// module id = 8\n// module chunks = 0","module.exports = \"## 入门开始\\n\\n### NPM\\n\\n``` bash\\nnpm install vue-upload-component --save\\n```\\n\\n``` js\\nconst VueUploadComponent = require('vue-upload-component')\\nVue.component('file-upload', VueUploadComponent)\\n```\\n\\n### Curated\\n\\n**No data**\\n\\n\\n### 直接使用\\n\\n\\nunpkg\\n\\n``` html\\n\\n\\n\\n```\\n\\njsDelivr\\n\\n``` html\\n\\n\\n\\n```\\n\\n\\n### 简单的例子\\n\\n\\n\\n```html\\n\\n\\n\\n \\n Vue-upload-component Test\\n \\n \\n\\n\\n
\\n
    \\n
  • {{file.name}} - Error: {{file.error}}, Success: {{file.success}}
  • \\n
\\n \\n 上传文件\\n \\n \\n \\n
\\n\\n\\n\\n```\\n\\n\\n\\n### SSR (服务器同构)\\n\\n\\n```html\\n\\n\\n\\n```\\n\\n\\n** 或者 **\\n\\n\\n```js\\nimport FileUpload from 'vue-upload-component/src'\\n```\\n\\nwebpack.config.js\\n\\n```js\\nconst nodeExternals = require('webpack-node-externals');\\n{\\n //...\\n externals: [\\n nodeExternals({whitelist:[/^vue-upload-component\\\\/src/]})\\n ]\\n //...\\n}\\n```\\n\\n* [https://github.com/liady/webpack-node-externals](https://github.com/liady/webpack-node-externals) \\n\\n* [**`vue-hackernews` 演示**](https://github.com/lian-yue/vue-hackernews-2.0/) \\n\\n* [**浏览修改文件**](https://github.com/lian-yue/vue-hackernews-2.0/commit/bd6c58a30cc6b8ba6c0148e737b3ce9336b99cf8)\\n\\n\\n\\n\\n## 选项 / 属性\\n\\n\\n### input-id\\n\\ninput 标签的 `id` 属性\\n\\n* **类型:** `String`\\n\\n* **默认值:** `this.name`\\n\\n* **示例:**\\n ```html\\n \\n \\n \\n ```\\n\\n\\n\\n\\n\\n### name\\n\\ninput标签的 `name` 属性\\n\\n* **类型:** `String`\\n\\n* **默认值:** `file`\\n\\n* **示例:**\\n ```html\\n \\n \\n \\n ```\\n\\n\\n\\n\\n\\n### post-action\\n\\n`POST` 请求的上传URL\\n\\n* **类型:** `String`\\n\\n* **默认值:** `undefined`\\n\\n* **示例:**\\n ```html\\n \\n ```\\n\\n\\n\\n\\n\\n### put-action\\n\\n`PUT` 请求的上传URL\\n\\n* **类型:** `String`\\n\\n* **默认值:** `undefined`\\n\\n* **浏览器:** `> IE9`\\n\\n* **详细:** \\n\\n `put-action` 不为空请优先 `PUT` 请求 \\n\\n* **示例:**\\n ```html\\n \\n ```\\n\\n\\n\\n### custom-action\\n\\n自定义上传方法\\n\\n* **类型:** `async Function`\\n\\n* **默认值:** `undefined`\\n\\n* **详细:** \\n\\n `custom-action` 优先级高于 `put-action, post-action`\\n\\n* **示例:**\\n ```html\\n \\n ```\\n ```js\\n async function customAction(file, component) {\\n // return await component.uploadPut(file)\\n return await component.uploadHtml4(file)\\n }\\n ```\\n\\n\\n\\n### headers\\n\\n自定义上传请求 `header` 数据\\n\\n* **类型:** `Object`\\n\\n* **默认值:** `{}`\\n\\n* **浏览器:** `> IE9`\\n\\n* **示例:**\\n ```html\\n \\n ```\\n\\n\\n\\n\\n\\n### data\\n\\n`POST 请求`: 附加请求的 body \\n`PUT 请求`: 附加请求的 query \\n\\n* **类型:** `Object`\\n\\n* **默认值:** `{}`\\n\\n* **示例:**\\n ```html\\n \\n ```\\n\\n\\n\\n\\n### value, v-model\\n\\n文件列表\\n\\n* **类型:** `Array`\\n\\n* **默认值:** `[]`\\n\\n* **详细:** \\n\\n 浏览 **[`File`](#file)** 详细信息 \\n > 为了防止不可预知的错误,不可直接修改 `files`,请使用 [`add`](#实例-方法-add), [`update`](#实例-方法-update), [`remove`](#实例-方法-remove) 方法修改\\n\\n* **示例:**\\n ```html\\n \\n \\n \\n ```\\n\\n\\n\\n\\n\\n### accept\\n\\n表单的`accept`属性, MIME type \\n\\n* **类型:** `String`\\n\\n* **默认值:** `undefined`\\n\\n* **浏览器:** `> IE9`\\n\\n* **示例:**\\n ```html\\n \\n \\n \\n ```\\n\\n\\n\\n\\n\\n### multiple\\n\\n文件表单的 `multiple` 属性 \\n是否允许选择多个文件 \\n\\n* **类型:** `Boolean`\\n\\n* **默认值:** `false`\\n\\n* **详细:** \\n\\n 如果是 `false` `files` 里面最多只有一个文件 多的会自动删除 \\n\\n* **示例:**\\n ```html\\n \\n ```\\n\\n\\n\\n### directory\\n\\n文件表单的 `directory` 属性 \\n是否是上传文件夹 \\n\\n* **类型:** `Boolean`\\n\\n* **默认值:** `false`\\n\\n* **浏览器:** [http://caniuse.com/#feat=input-file-directory](http://caniuse.com/#feat=input-file-directory)\\n\\n* **示例:**\\n ```html\\n \\n ```\\n\\n\\n\\n\\n\\n### extensions\\n\\n允许上传的文件后缀\\n\\n* **类型:** `Array | String | RegExp`\\n\\n* **默认值:** `undefined`\\n\\n* **示例:**\\n ```html\\n \\n \\n \\n \\n \\n ```\\n\\n\\n\\n\\n### size\\n\\n允许上传的最大字节\\n\\n* **类型:** `Number`\\n\\n* **默认值:** `0`\\n\\n* **浏览器:** `> IE9`\\n\\n* **详细:**\\n\\n `0` 等于不限制\\n\\n* **示例:**\\n ```html\\n \\n ```\\n\\n\\n\\n\\n### timeout\\n\\n上传超时时间毫秒\\n\\n* **类型:** `Number`\\n\\n* **默认值:** `0`\\n\\n* **浏览器:** `> IE9`\\n\\n* **示例:**\\n ```html\\n \\n ```\\n\\n\\n### maximum\\n\\n列表最大文件数\\n\\n* **类型:** `Number`\\n\\n* **默认值:** `props.multiple ? 0 : 1`\\n\\n* **示例:**\\n ```html\\n \\n ```\\n\\n\\n\\n\\n### thread\\n\\n同时并发上传的文件数量 线程数 \\n\\n* **类型:** `Number`\\n\\n* **默认值:** `1`\\n\\n* **浏览器:** `> IE9`\\n\\n* **示例:**\\n ```html\\n \\n ```\\n\\n\\n\\n\\n\\n### drop\\n\\n拖拽上传 \\n\\n* **类型:** `Boolean | Element | CSS selector`\\n\\n* **默认值:** `false`\\n\\n* **浏览器:** [http://caniuse.com/#feat=dragndrop](http://caniuse.com/#feat=dragndrop)\\n\\n* **详细:**\\n\\n 如果设置成 `true` 则读取父组件作为容器 \\n\\n* **示例:**\\n ```html\\n \\n ```\\n\\n\\n\\n\\n\\n### drop-directory\\n\\n是否开启拖拽目录 \\n\\n* **类型:** `Boolean`\\n\\n* **默认值:** `true`\\n\\n* **详细:**\\n\\n 如果设置成 `false` 则过滤掉目录\\n\\n* **示例:**\\n ```html\\n \\n ```\\n\\n\\n### add-index\\n\\n* **类型:** `Boolean, Number`\\n\\n* **默认值:** `undefined`\\n\\n* **版本:** `>= 2.6.1`\\n\\n* **详细:**\\n\\n [`add()`](#实例-方法-add) 方法 `index` 参数的默认值\\n\\n* **示例:**\\n ```html\\n \\n ```\\n\\n\\n\\n## 选项 / 事件\\n\\n文件被改变触发的方法 \\n默认用于`v-model`绑定\\n\\n### @input\\n* **参数:**\\n\\n * `files: Array`\\n\\n\\n* **示例:**\\n ```html\\n \\n \\n ```\\n\\n\\n\\n### @input-filter\\n\\nAdd, update, remove pre-filter \\n\\n* **参数:**\\n\\n * `newFile: File | Object | undefined` `读写`\\n * `oldFile: File | Object | undefined` `只读`\\n * `prevent: Function` 调用该方法 阻止修改\\n\\n\\n* **详细:**\\n\\n 如果 `newFile` 值为 `undefined` 则是删除 \\n 如果 `oldFile` 值为 `undefined` 则是添加 \\n 如果 `newFile`, `oldFile` 都存在则是更新\\n\\n > 事件内同步处理请直接修改 `newFile` \\n > 事件内异步处理请使用 `update`, `add`, `remove`, `clear` 方法 \\n > 异步请先设置一个错误以防止被上传\\n\\n > 同步不能使用 `update`, `add`, `remove`, `clear` 方法 \\n > 异步不能修改 `newFile`\\n\\n\\n* **示例:** \\n ```html\\n \\n \\n ```\\n\\n### @input-file\\n\\n添加,更新,移除 后\\n\\n* **参数:**\\n\\n * `newFile: File | Object | undefined` `只读`\\n * `oldFile: File | Object | undefined` `只读`\\n\\n\\n* **详细:**\\n\\n 如果 `newFile` 值为 `undefined` 则是删除 \\n 如果 `oldFile` 值为 `undefined` 则是添加 \\n 如果 `newFile`, `oldFile` 都存在则是更新\\n\\n >事件内可使用 `update`, `add`, `remove`, `clear` 方法 \\n >事件内不可修改 `newFile` 对象 \\n >事件内不可修改 `oldFile` 对象\\n\\n* **示例:**\\n ```html\\n \\n \\n ```\\n\\n\\n\\n## 实例 / 数据\\n\\n### features\\n\\n用于判断浏览器支持的特性\\n\\n* **类型:** `Object`\\n\\n* **只读:** `true`\\n\\n* **默认值:** `{ html5: true, directory: false, drag: false }`\\n\\n* **示例:**\\n ```html\\n \\n \\n 支持拖拽上传\\n 支持文件夹上传\\n 支持HTML5\\n \\n ```\\n\\n\\n\\n### active\\n\\n激活或停止上传\\n\\n* **类型:** `Boolean`\\n\\n* **只读:** `false`\\n\\n* **默认值:** `false`\\n\\n* **示例:**\\n ```html\\n \\n \\n 开始上传\\n 停止上传\\n \\n ```\\n\\n\\n\\n### dropActive\\n\\n是否正在拖拽\\n\\n* **类型:** `Boolean`\\n\\n* **只读:** `true`\\n\\n* **默认值:** `false`\\n\\n* **示例:**\\n ```html\\n \\n \\n 拖拽到这里上传\\n \\n ```\\n\\n\\n\\n\\n\\n### uploaded\\n\\n是否全部已上传\\n\\n* **类型:** `Boolean`\\n\\n* **只读:** `true`\\n\\n* **默认值:** `true`\\n\\n* **示例:**\\n ```html\\n \\n \\n 全部文件已上传完毕\\n \\n ```\\n\\n\\n\\n\\n\\n## 实例 / 方法\\n\\n\\n\\n### get()\\n\\n使用`id`获得某个对象\\n\\n* **参数:**\\n\\n * `id: File | Object | String`\\n\\n\\n* **结果:** `File | Object | Boolean` 存在返回文件对象否则返回 `false`\\n\\n\\n\\n### add()\\n\\n添加一个或多个文件\\n\\n* **参数:**\\n\\n * `files: Array | File | window.File | Object` 如果它是一个数组的响应将是一个数组\\n * `index: Number | Boolean` = [`props.add-index`](#选项-属性-add-index) `true = ` 开始位置, `false = ` 结束位置, `Number = ` 下标位置\\n\\n\\n* **结果:** `Object | Array | Boolean` 传入的是数组返回数组否则对象或`false`\\n\\n* **示例:**\\n ```html\\n \\n \\n ```\\n\\n\\n### addInputFile()\\n\\n把``选择的文件添加进上传列表 \\n\\n* **参数:**\\n\\n * `el: HTMLInputElement` 文件元素\\n\\n\\n* **结果:** `Array` 返回已添加的文件列表\\n\\n* **版本:** : `>=2.5.1`\\n\\n\\n\\n### addDataTransfer()\\n\\n把拖拽或者粘贴的数据的文件添加进上传列表 \\n\\n* **参数:**\\n\\n * `dataTransfer: DataTransfer` 拖拽或者粘贴的数据\\n\\n\\n* **结果:** `Promise>` 返回已添加的文件列表\\n\\n\\n* **版本:** : `>=2.5.1`\\n\\n\\n\\n### update()\\n\\n更新某个对象\\n\\n* **参数:**\\n\\n * `id: File | Object | String`\\n * `data: Object` 更新的数据对象\\n\\n\\n* **结果:** `Object | Boolean` 成功返回 `newFile` 失败返回 `false`\\n\\n\\n* **示例:**\\n ```html\\n \\n \\n ```\\n\\n### remove()\\n\\n移除某个文件对象\\n\\n* **参数:**\\n\\n * `id: File | Object | String`\\n\\n\\n* **结果:** `Object | Boolean` 成功返回 `oldFile` 失败返回 `false`\\n\\n* **示例:**\\n ```html\\n \\n \\n ```\\n\\n\\n### replace()\\n 替换两个文件的位置\\n\\n* **参数:**\\n\\n * `id1: File | Object | String`\\n * `id2: File | Object | String`\\n\\n\\n* **结果:** `Boolean`\\n\\n\\n\\n### clear()\\n\\n清空文件列表\\n\\n* **结果:** `Boolean` 总是返回 `true`\\n\\n\\n\\n## 实例 / File\\n\\n\\n> **文件对象在`input-filter`事件外修改请使用 [`update`](#实例-方法-update) 方法**\\n\\n\\n### fileObject\\n\\n* **类型:** `Boolean`\\n\\n* **只读:** `true`\\n\\n* **Required:** `true`\\n\\n* **默认值:** `true`\\n\\n* **版本:** : `>=2.6.0`\\n\\n* **详细:**\\n\\n 如果属性不存在,则不会在内部处理该对象 \\n 如果属性不存在,它不是 `File` 而是 `Object`\\n\\n\\n\\n### id\\n\\n文件id\\n\\n* **类型:** `String | Number`\\n\\n* **只读:** `false`\\n\\n* **默认值:** `Math.random().toString(36).substr(2)`\\n\\n* **详细:**\\n\\n >`id` can not be repeated \\n >Upload can not modify `id`\\n\\n\\n### size\\n\\n文件大小\\n\\n* **类型:** `Number`\\n\\n* **只读:** `false`\\n\\n* **默认值:** `-1`\\n\\n* **浏览器:** `> IE9`\\n\\n\\n### name\\n\\n文件名 \\n\\n* **类型:** `String`\\n\\n* **只读:** `false`\\n\\n* **默认值:** ` `\\n\\n* **详细:**\\n\\n 格式: `directory/filename.gif` `filename.gif` \\n\\n\\n\\n### type\\n\\nMIME类型\\n\\n* **类型:** `String`\\n\\n* **只读:** `false`\\n\\n* **默认值:** ` `\\n\\n* **浏览器:** `> IE9`\\n\\n* **详细:**\\n\\n 格式: `image/gif` `image/png` `text/html`\\n\\n\\n\\n\\n### active\\n\\n激活或终止上传\\n\\n* **类型:** `Boolean`\\n\\n* **只读:** `false`\\n\\n* **默认值:** `false`\\n\\n* **详细:**\\n\\n `true` = 上传 \\n `false` = 停止 \\n\\n\\n\\n\\n\\n\\n### error\\n\\n上传失败错误代码\\n\\n* **类型:** `String`\\n\\n* **只读:** `false`\\n\\n* **默认值:** ` `\\n\\n* **详细:**\\n\\n 内置\\n `size`, `extension`, `timeout`, `abort`, `network`, `server`, `denied`\\n\\n\\n\\n\\n### success\\n\\n是否上传成功\\n\\n* **类型:** `Boolean`\\n\\n* **只读:** `false`\\n\\n* **默认值:** `false`\\n\\n\\n### putAction\\n\\n自定义当前文件 `PUT` 地址\\n\\n* **类型:** `String`\\n\\n* **只读:** `false`\\n\\n* **默认值:** `this.putAction`\\n\\n\\n\\n### postAction\\n\\n自定义当前文件 `POST` 地址\\n\\n* **类型:** `String`\\n\\n* **只读:** `false`\\n\\n* **默认值:** `this.postAction`\\n\\n\\n\\n\\n### headers\\n\\n自定义当前文件 `HTTP` Header\\n\\n* **类型:** `Object`\\n\\n* **只读:** `false`\\n\\n* **默认值:** `this.headers`\\n\\n\\n### data\\n\\n自定义当前文件 `body` 或 `query` 附加内容\\n\\n* **类型:** `Object`\\n\\n* **只读:** `false`\\n\\n* **默认值:** `this.data`\\n\\n\\n### timeout\\n\\n自定义当前单个文件的上传超时时间\\n\\n* **类型:** `Number`\\n\\n* **只读:** `false`\\n\\n* **默认值:** `this.timeout`\\n\\n\\n### response\\n\\n响应的数据\\n\\n* **类型:** `Object | String`\\n\\n* **只读:** `false`\\n\\n* **默认值:** `{}`\\n\\n\\n\\n\\n### progress\\n\\n上传进度\\n\\n* **类型:** `String`\\n\\n* **只读:** `false`\\n\\n* **默认值:** `0.00`\\n\\n* **浏览器:** `> IE9`\\n\\n\\n\\n### speed\\n\\n每秒的上传速度\\n\\n* **类型:** `Number`\\n\\n* **只读:** `true`\\n\\n* **默认值:** `0`\\n\\n* **浏览器:** `> IE9`\\n\\n\\n\\n\\n### xhr\\n\\n`HTML5` 上传 `XMLHttpRequest` 对象\\n\\n* **类型:** `XMLHttpRequest`\\n\\n* **只读:** `true`\\n\\n* **默认值:** `undefined`\\n\\n* **浏览器:** `> IE9`\\n\\n\\n\\n\\n### iframe\\n\\n`HTML4` 上传 `iframe` 元素\\n\\n* **类型:** `Element`\\n\\n* **只读:** `true`\\n\\n* **默认值:** `undefined`\\n\\n* **浏览器:** `= IE9`\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./docs/docs/zh-cn.md\n// module id = 9\n// module chunks = 0","\n\n\n\n\n\n\n// WEBPACK FOOTER //\n// docs/views/examples/Full.vue","module.exports = Cropper;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"Cropper\"\n// module id = 11\n// module chunks = 0","\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/FileUpload.vue","\n\n\n\n\n// WEBPACK FOOTER //\n// src/InputFile.vue","\n\n\n\n\n\n\n// WEBPACK FOOTER //\n// docs/views/examples/Simple.vue","\n\n\n\n\n\n\n\n// WEBPACK FOOTER //\n// docs/views/examples/Avatar.vue","\n\n\n\n\n\n\n// WEBPACK FOOTER //\n// docs/views/examples/Drag.vue","\n\n\n\n\n\n\n// WEBPACK FOOTER //\n// docs/views/examples/Multiple.vue","\n\n\n\n\n\n\n\n\n\n// WEBPACK FOOTER //\n// docs/views/examples/Chunk.vue","\n\n\n\n\n\n\n// WEBPACK FOOTER //\n// docs/views/examples/Vuex.vue","\n\n\n\n\n\n// WEBPACK FOOTER //\n// docs/views/App.vue","import Vue from 'vue'\nimport marked from 'marked'\nimport highlightjs from 'highlight.js'\nimport store from './store'\nimport router from './router'\nimport i18n from './i18n'\nimport App from './views/App'\n\nVue.config.silent = false\nVue.config.devtools = true\n\n\nclass Renderer extends marked.Renderer {\n heading(text, level, raw) {\n let rawName = raw.toLowerCase().replace(/([\\u0000-\\u002F\\u003A-\\u0060\\u007B-\\u007F]+)/g, '-').replace(/^\\-+|\\-+$/, '')\n\n if (!this.options.headers) {\n this.options.headers = []\n }\n while (this.options.headers.length >= level) {\n this.options.headers.pop()\n }\n let parent = this.options.headers.filter(value => !!value).join('-')\n if (parent) {\n parent = parent + '-'\n }\n while (this.options.headers.length < (level - 1)) {\n this.options.headers.push('')\n }\n this.options.headers.push(rawName)\n return ''\n + text\n + '\\n'\n }\n}\n\nmarked.setOptions({\n renderer: new Renderer(),\n gfm: true,\n tables: true,\n breaks: false,\n pedantic: false,\n sanitize: false,\n smartLists: true,\n smartypants: false,\n highlight(code, lang) {\n if (lang) {\n return highlightjs.highlight(lang, code).value\n } else {\n return highlightjs.highlightAuto(code).value\n }\n }\n})\n\nVue.directive('markdown', function (el, binding, vnode) {\n if (!el.className || !/vue-markdown/.test(el.className)) {\n el.className += ' vue-markdown'\n }\n let text = ''\n for (let i = 0; i < vnode.children.length; i++) {\n text += vnode.children[i].text || ''\n }\n if (el.markdown === text) {\n return\n }\n\n el.markdown = text\n\n el.innerHTML = marked(text)\n let selectorList = el.querySelectorAll('a')\n for (let i = 0; i < selectorList.length; i++) {\n selectorList[i].onclick = function (e) {\n if (e.metaKey || e.ctrlKey || e.shiftKey) {\n return\n }\n if (e.defaultPrevented) {\n return\n }\n if (e.button !== undefined && e.button !== 0) {\n return\n }\n\n if (this.host !== window.location.host) {\n return\n }\n\n let href = this.getAttribute('href')\n if (!href) {\n return\n }\n\n if (href.charAt(0) !== '#') {\n return\n }\n\n e.preventDefault()\n router.push(href)\n }\n }\n})\n\n\n\nVue.filter('formatSize', function (size) {\n if (size > 1024 * 1024 * 1024 * 1024) {\n return (size / 1024 / 1024 / 1024 / 1024).toFixed(2) + ' TB'\n } else if (size > 1024 * 1024 * 1024) {\n return (size / 1024 / 1024 / 1024).toFixed(2) + ' GB'\n } else if (size > 1024 * 1024) {\n return (size / 1024 / 1024).toFixed(2) + ' MB'\n } else if (size > 1024) {\n return (size / 1024).toFixed(2) + ' KB'\n }\n return size.toString() + ' B'\n})\n\nVue.filter('toLocale', function (to) {\n return '/' + i18n.locale + to\n})\n\n\n\nnew Vue({\n store,\n router,\n i18n,\n ...App\n}).$mount('#app')\n\n\n\n// WEBPACK FOOTER //\n// ./docs/index.js","module.exports = Vue;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"Vue\"\n// module id = 23\n// module chunks = 0","module.exports = hljs;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"hljs\"\n// module id = 24\n// module chunks = 0","// import Vue from 'vue'\nimport Vuex from 'vuex'\n//\n// Vue.use(Vuex)\n\n\nconst state = {\n files: [],\n}\n\nconst mutations = {\n updateFiles(state, files) {\n state.files = files\n }\n}\nexport default new Vuex.Store({\n strict: true,\n state,\n mutations\n})\n\n\n\n// WEBPACK FOOTER //\n// ./docs/store.js","// import Vue from 'vue'\nimport VueRouter from 'vue-router'\n\nimport i18n from './i18n'\nimport RouterComponent from './views/Router'\nimport DocumentComponent from './views/Document'\nimport ExampleComponent from './views/Example'\n\nimport FullExampleComponent from './views/examples/Full'\nimport SimpleExampleComponent from './views/examples/Simple'\nimport AvatarExampleComponent from './views/examples/Avatar'\nimport DragExampleComponent from './views/examples/Drag'\nimport MultipleExampleComponent from './views/examples/Multiple'\nimport ChunkExampleComponent from './views/examples/Chunk'\nimport VuexExampleComponent from './views/examples/Vuex'\n\n\n\n// Vue.use(VueRouter)\n\n\nlet examples = [\n {\n path: '',\n component: FullExampleComponent,\n },\n {\n path: 'full',\n component: FullExampleComponent,\n },\n {\n path: 'simple',\n component: SimpleExampleComponent,\n },\n {\n path: 'avatar',\n component: AvatarExampleComponent,\n },\n {\n path: 'drag',\n component: DragExampleComponent,\n },\n {\n path: 'multiple',\n component: MultipleExampleComponent,\n },\n {\n path: 'chunk',\n component: ChunkExampleComponent,\n },\n {\n path: 'vuex',\n component: VuexExampleComponent,\n },\n]\n\n\n\nconst router = new VueRouter({\n mode: 'hash',\n fallback: false,\n scrollBehavior(to, from, savedPosition) {\n if (savedPosition) {\n return savedPosition\n } else if (to.hash) {\n let el = document.querySelector(to.hash)\n return { x: 0, y: el ? el.offsetTop : 0 }\n } else {\n return { x: 0, y: 0 }\n }\n },\n routes: [\n {\n path: '/:locale(' + Object.keys(i18n.messages).join('|') + ')?',\n component: RouterComponent,\n children: [\n {\n path: 'documents',\n component: DocumentComponent,\n },\n {\n path: 'examples',\n component: ExampleComponent,\n children: examples,\n },\n {\n path: '',\n component: ExampleComponent,\n children: examples,\n },\n ]\n },\n ]\n})\nexport default router\n\n\n\n// WEBPACK FOOTER //\n// ./docs/router.js","module.exports = VueRouter;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"VueRouter\"\n// module id = 27\n// module chunks = 0","module.exports = VueI18n;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"VueI18n\"\n// module id = 28\n// module chunks = 0","export default {\n header: {\n logo: 'Vuejs',\n home: 'Home',\n examples: 'Examples',\n documents: 'Documentation',\n blog: 'Blog',\n locale: 'Language(语言)',\n issues: 'Issues',\n github: 'Github',\n },\n\n locale: {\n en: 'English',\n 'zh-cn': '中文(简体)',\n },\n\n document: {\n title: 'Documentation',\n },\n\n example: {\n full: 'Full Example',\n simple: 'Simple',\n avatar: 'Upload avatar',\n drag: 'Drag and drop',\n multiple: 'Multiple instances',\n chunk: 'Chunk upload',\n vuex: 'Vuex',\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./docs/i18n/en.js","export default {\n header: {\n logo: 'Vuejs',\n home: '首页',\n examples: '演示',\n documents: '文档',\n blog: 'Blog',\n locale: 'Language(语言)',\n issues: 'Issues',\n github: 'Github',\n },\n\n locale: {\n en: 'English',\n 'zh-cn': '中文(简体)',\n },\n\n document: {\n title: '文档',\n },\n\n\n example: {\n full: '完整例子',\n simple: '简单例子',\n avatar: '上传头像',\n drag: '拖拽上传',\n multiple: '多个实例',\n vuex: 'Vuex',\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./docs/i18n/zh-cn.js","var normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nvar __vue_script__ = null\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-3075fd62\\\",\\\"hasScoped\\\":false,\\\"preserveWhitespace\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./Router.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./docs/views/Router.vue\n// module id = 31\n// module chunks = 0","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('router-view')}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-3075fd62\",\"hasScoped\":false,\"preserveWhitespace\":false,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./docs/views/Router.vue\n// module id = 32\n// module chunks = 0","function injectStyle (ssrContext) {\n require(\"!!vue-style-loader!css-loader?minimize!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-61209807\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Document.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader?{\\\"presets\\\":[[\\\"env\\\",{\\\"modules\\\":false}],\\\"stage-0\\\"],\\\"plugins\\\":[[\\\"transform-runtime\\\",{\\\"helpers\\\":false,\\\"polyfill\\\":false,\\\"regenerator\\\":true,\\\"moduleName\\\":\\\"babel-runtime\\\"}]],\\\"cacheDirectory\\\":false}!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Document.vue\"\nimport __vue_script__ from \"!!babel-loader?{\\\"presets\\\":[[\\\"env\\\",{\\\"modules\\\":false}],\\\"stage-0\\\"],\\\"plugins\\\":[[\\\"transform-runtime\\\",{\\\"helpers\\\":false,\\\"polyfill\\\":false,\\\"regenerator\\\":true,\\\"moduleName\\\":\\\"babel-runtime\\\"}]],\\\"cacheDirectory\\\":false}!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Document.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-61209807\\\",\\\"hasScoped\\\":false,\\\"preserveWhitespace\\\":false,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./Document.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./docs/views/Document.vue\n// module id = 33\n// module chunks = 0","// style-loader: Adds some css to the DOM by adding a