1/* 2 * jQuery File Upload Plugin v10.2.0 3 * https://github.com/blueimp/jQuery-File-Upload 4 * 5 * Copyright 2010, Sebastian Tschan 6 * https://blueimp.net 7 * 8 * Licensed under the MIT license: 9 * https://opensource.org/licenses/MIT 10 */ 11 12/* global define, require */ 13/* eslint-disable new-cap */ 14 15(function(d){"function"===typeof define&&define.amd?define(["jquery","jquery-ui/ui/widget"],d):"object"===typeof exports?d(require("jquery"),require("./vendor/jquery.ui.widget")):d(window.jQuery)})(function(d){function u(a){var b="dragover"===a;return function(c){c.dataTransfer=c.originalEvent&&c.originalEvent.dataTransfer;var e=c.dataTransfer;e&&-1!==d.inArray("Files",e.types)&&!1!==this._trigger(a,d.Event(a,{delegatedEvent:c}))&&(c.preventDefault(),b&&(e.dropEffect="copy"))}}d.support.fileInput= 16!(/(Android (1\.[0156]|2\.[01]))|(Windows Phone (OS 7|8\.0))|(XBLWP)|(ZuneWP)|(WPDesktop)|(w(eb)?OSBrowser)|(webOS)|(Kindle\/(1\.0|2\.[05]|3\.0))/.test(window.navigator.userAgent)||d('<input type="file"/>').prop("disabled"));d.support.xhrFileUpload=!(!window.ProgressEvent||!window.FileReader);d.support.xhrFormDataFileUpload=!!window.FormData;d.support.blobSlice=window.Blob&&(Blob.prototype.slice||Blob.prototype.webkitSlice||Blob.prototype.mozSlice);d.widget("blueimp.fileupload",{options:{dropZone:d(document), 17pasteZone:void 0,fileInput:void 0,replaceFileInput:!0,paramName:void 0,singleFileUploads:!0,limitMultiFileUploads:void 0,limitMultiFileUploadSize:void 0,limitMultiFileUploadSizeOverhead:512,sequentialUploads:!1,limitConcurrentUploads:void 0,forceIframeTransport:!1,redirect:void 0,redirectParamName:void 0,postMessage:void 0,multipart:!0,maxChunkSize:void 0,uploadedBytes:void 0,recalculateProgress:!0,progressInterval:100,bitrateInterval:500,autoUpload:!0,uniqueFilenames:void 0,messages:{uploadedBytes:"Uploaded bytes exceed file size"}, 18i18n:function(a,b){a=this.messages[a]||a.toString();b&&d.each(b,function(b,e){a=a.replace("{"+b+"}",e)});return a},formData:function(a){return a.serializeArray()},add:function(a,b){if(a.isDefaultPrevented())return!1;(b.autoUpload||!1!==b.autoUpload&&d(this).fileupload("option","autoUpload"))&&b.process().done(function(){b.submit()})},processData:!1,contentType:!1,cache:!1,timeout:0},_specialOptions:["fileInput","dropZone","pasteZone","multipart","forceIframeTransport"],_blobSlice:d.support.blobSlice&& 19function(){return(this.slice||this.webkitSlice||this.mozSlice).apply(this,arguments)},_BitrateTimer:function(){this.timestamp=Date.now?Date.now():(new Date).getTime();this.bitrate=this.loaded=0;this.getBitrate=function(a,b,c){var e=a-this.timestamp;if(!this.bitrate||!c||e>c)this.bitrate=1E3/e*(b-this.loaded)*8,this.loaded=b,this.timestamp=a;return this.bitrate}},_isXHRUpload:function(a){return!a.forceIframeTransport&&(!a.multipart&&d.support.xhrFileUpload||d.support.xhrFormDataFileUpload)},_getFormData:function(a){if("function"=== 20d.type(a.formData))return a.formData(a.form);if(d.isArray(a.formData))return a.formData;if("object"===d.type(a.formData)){var b=[];d.each(a.formData,function(a,e){b.push({name:a,value:e})});return b}return[]},_getTotal:function(a){var b=0;d.each(a,function(a,e){b+=e.size||1});return b},_initProgressObject:function(a){var b={loaded:0,total:0,bitrate:0};a._progress?d.extend(a._progress,b):a._progress=b},_initResponseObject:function(a){var b;if(a._response)for(b in a._response)Object.prototype.hasOwnProperty.call(a._response, 21b)&&delete a._response[b];else a._response={}},_onProgress:function(a,b){if(a.lengthComputable){var c=Date.now?Date.now():(new Date).getTime();if(!(b._time&&b.progressInterval&&c-b._time<b.progressInterval&&a.loaded!==a.total)){b._time=c;var e=Math.floor(a.loaded/a.total*(b.chunkSize||b._progress.total))+(b.uploadedBytes||0);this._progress.loaded+=e-b._progress.loaded;this._progress.bitrate=this._bitrateTimer.getBitrate(c,this._progress.loaded,b.bitrateInterval);b._progress.loaded=b.loaded=e;b._progress.bitrate= 22b.bitrate=b._bitrateTimer.getBitrate(c,e,b.bitrateInterval);this._trigger("progress",d.Event("progress",{delegatedEvent:a}),b);this._trigger("progressall",d.Event("progressall",{delegatedEvent:a}),this._progress)}}},_initProgressListener:function(a){var b=this,c=a.xhr?a.xhr():d.ajaxSettings.xhr();c.upload&&(d(c.upload).bind("progress",function(c){var e=c.originalEvent;c.lengthComputable=e.lengthComputable;c.loaded=e.loaded;c.total=e.total;b._onProgress(c,a)}),a.xhr=function(){return c})},_deinitProgressListener:function(a){a= 23a.xhr?a.xhr():d.ajaxSettings.xhr();a.upload&&d(a.upload).unbind("progress")},_isInstanceOf:function(a,b){return Object.prototype.toString.call(b)==="[object "+a+"]"},_getUniqueFilename:function(a,b){a=String(a);if(b[a])return a=a.replace(/(?: \(([\d]+)\))?(\.[^.]+)?$/,function(a,b,d){return" ("+(b?Number(b)+1:1)+")"+(d||"")}),this._getUniqueFilename(a,b);b[a]=!0;return a},_initXHRData:function(a){var b=this,c=a.files[0],e=a.multipart||!d.support.xhrFileUpload,f="array"===d.type(a.paramName)?a.paramName[0]: 24a.paramName;a.headers=d.extend({},a.headers);a.contentRange&&(a.headers["Content-Range"]=a.contentRange);e&&!a.blob&&this._isInstanceOf("File",c)||(a.headers["Content-Disposition"]='attachment; filename="'+encodeURI(c.uploadName||c.name)+'"');if(!e)a.contentType=c.type||"application/octet-stream",a.data=a.blob||c;else if(d.support.xhrFormDataFileUpload){if(a.postMessage){var g=this._getFormData(a);a.blob?g.push({name:f,value:a.blob}):d.each(a.files,function(b,c){g.push({name:"array"===d.type(a.paramName)&& 25a.paramName[b]||f,value:c})})}else b._isInstanceOf("FormData",a.formData)?g=a.formData:(g=new FormData,d.each(this._getFormData(a),function(a,b){g.append(b.name,b.value)})),a.blob?g.append(f,a.blob,c.uploadName||c.name):d.each(a.files,function(c,e){if(b._isInstanceOf("File",e)||b._isInstanceOf("Blob",e)){var h=e.uploadName||e.name;a.uniqueFilenames&&(h=b._getUniqueFilename(h,a.uniqueFilenames));g.append("array"===d.type(a.paramName)&&a.paramName[c]||f,e,h)}});a.data=g}a.blob=null},_initIframeSettings:function(a){var b= 26d("<a></a>").prop("href",a.url).prop("host");a.dataType="iframe "+(a.dataType||"");a.formData=this._getFormData(a);a.redirect&&b&&b!==location.host&&a.formData.push({name:a.redirectParamName||"redirect",value:a.redirect})},_initDataSettings:function(a){this._isXHRUpload(a)?(this._chunkedUpload(a,!0)||(a.data||this._initXHRData(a),this._initProgressListener(a)),a.postMessage&&(a.dataType="postmessage "+(a.dataType||""))):this._initIframeSettings(a)},_getParamName:function(a){var b=d(a.fileInput),c= 27a.paramName;c?d.isArray(c)||(c=[c]):(c=[],b.each(function(){var a=d(this),b=a.prop("name")||"files[]";
27for(a=(a.prop("files")||[1]).length;a;)c.push(b),--a}),c.length||(c=[b.prop("name")||"files[]"]));return c},_initFormSettings:function(a){a.form&&a.form.length||(a.form=d(a.fileInput.prop("form")),a.form.length||(a.form=d(this.options.fileInput.prop("form"))));a.paramName=this._getParamName(a);a.url||(a.url=a.form.prop("action")||location.href);a.type=(a.type||"string"===d.type(a.form.prop("method"))&& 28a.form.prop("method")||"").toUpperCase();"POST"!==a.type&&"PUT"!==a.type&&"PATCH"!==a.type&&(a.type="POST");a.formAcceptCharset||(a.formAcceptCharset=a.form.attr("accept-charset"))},_getAJAXSettings:function(a){a=d.extend({},this.options,a);this._initFormSettings(a);this._initDataSettings(a);return a},_getDeferredState:function(a){return a.state?a.state():a.isResolved()?"resolved":a.isRejected()?"rejected":"pending"},_enhancePromise:function(a){a.success=a.done;a.error=a.fail;a.complete=a.always; 29return a},_getXHRPromise:function(a,b,c){var e=d.Deferred(),f=e.promise();b=b||this.options.context||f;!0===a?e.resolveWith(b,c):!1===a&&e.rejectWith(b,c);f.abort=e.promise;return this._enhancePromise(f)},_addConvenienceMethods:function(a,b){var c=this,e=function(a){return d.Deferred().resolveWith(c,a).promise()};b.process=function(a,g){if(a||g)b._processQueue=this._processQueue=(this._processQueue||e([this])).then(function(){return b.errorThrown?d.Deferred().rejectWith(c,[b]).promise():e(arguments)}).then(a, 30g);return this._processQueue||e([this])};b.submit=function(){"pending"!==this.state()&&(b.jqXHR=this.jqXHR=!1!==c._trigger("submit",d.Event("submit",{delegatedEvent:a}),this)&&c._onSend(a,this));return this.jqXHR||c._getXHRPromise()};b.abort=function(){if(this.jqXHR)return this.jqXHR.abort();this.errorThrown="abort";c._trigger("fail",null,this);return c._getXHRPromise(!1)};b.state=function(){if(this.jqXHR)return c._getDeferredState(this.jqXHR);if(this._processQueue)return c._getDeferredState(this._processQueue)}; 31b.processing=function(){return!this.jqXHR&&this._processQueue&&"pending"===c._getDeferredState(this._processQueue)};b.progress=function(){return this._progress};b.response=function(){return this._response}},_getUploadedBytes:function(a){return(a=(a=(a=a.getResponseHeader("Range"))&&a.split("-"))&&1<a.length&&parseInt(a[1],10))&&a+1},_chunkedUpload:function(a,b){a.uploadedBytes=a.uploadedBytes||0;var c=this,e=a.files[0],f=e.size,g=a.uploadedBytes,h=a.maxChunkSize||f,k=this._blobSlice,l=d.Deferred(), 32p=l.promise(),m;if(!(this._isXHRUpload(a)&&k&&(g||("function"===d.type(h)?h(a):h)<f))||a.data)return!1;if(b)return!0;if(g>=f)return e.error=a.i18n("uploadedBytes"),this._getXHRPromise(!1,a.context,[null,"error",e.error]);var n=function(){var b=d.extend({},a),p=b._progress.loaded;b.blob=k.call(e,g,g+("function"===d.type(h)?h(b):h),e.type);b.chunkSize=b.blob.size;b.contentRange="bytes "+g+"-"+(g+b.chunkSize-1)+"/"+f;c._trigger("chunkbeforesend",null,b);c._initXHRData(b);c._initProgressListener(b);m= 33(!1!==c._trigger("chunksend",null,b)&&d.ajax(b)||c._getXHRPromise(!1,b.context)).done(function(e,h,k){g=c._getUploadedBytes(k)||g+b.chunkSize;p+b.chunkSize-b._progress.loaded&&c._onProgress(d.Event("progress",{lengthComputable:!0,loaded:g-b.uploadedBytes,total:g-b.uploadedBytes}),b);a.uploadedBytes=b.uploadedBytes=g;b.result=e;b.textStatus=h;b.jqXHR=k;c._trigger("chunkdone",null,b);c._trigger("chunkalways",null,b);g<f?n():l.resolveWith(b.context,[e,h,k])}).fail(function(a,e,d){b.jqXHR=a;b.textStatus= 34e;b.errorThrown=d;c._trigger("chunkfail",null,b);c._trigger("chunkalways",null,b);l.rejectWith(b.context,[a,e,d])}).always(function(){c._deinitProgressListener(b)})};this._enhancePromise(p);p.abort=function(){return m.abort()};n();return p},_beforeSend:function(a,b){0===this._active&&(this._trigger("start"),this._bitrateTimer=new this._BitrateTimer,this._progress.loaded=this._progress.total=0,this._progress.bitrate=0);this._initResponseObject(b);this._initProgressObject(b);b._progress.loaded=b.loaded= 35b.uploadedBytes||0;b._progress.total=b.total=this._getTotal(b.files)||1;b._progress.bitrate=b.bitrate=0;this._active+=1;this._progress.loaded+=b.loaded;this._progress.total+=b.total},_onDone:function(a,b,c,e){var f=e._progress.total,g=e._response;e._progress.loaded<f&&this._onProgress(d.Event("progress",{lengthComputable:!0,loaded:f,total:f}),e);g.result=e.result=a;g.textStatus=e.textStatus=b;g.jqXHR=e.jqXHR=c;this._trigger("done",null,e)},_onFail:function(a,b,c,e){var d=e._response;e.recalculateProgress&& 36(this._progress.loaded-=e._progress.loaded,this._progress.total-=e._progress.total);d.jqXHR=e.jqXHR=a;d.textStatus=e.textStatus=b;d.errorThrown=e.errorThrown=c;this._trigger("fail",null,e)},_onAlways:function(a,b,c,d){this._trigger("always",null,d)},_onSend:function(a,b){b.submit||this._addConvenienceMethods(a,b);var c=this,e,f,g=c._getAJAXSettings(b),h=function(){c._sending+=1;g._bitrateTimer=new c._BitrateTimer;return e=e||((f||!1===c._trigger("send",d.Event("send",{delegatedEvent:a}),g))&&c._getXHRPromise(!1,
37g.context,f)||c._chunkedUpload(g)||d.ajax(g)).done(function(a,b,d){c._onDone(a,b,d,g)}).fail(function(a,b,d){c._onFail(a,b,d,g)}).always(function(a,b,d){c._deinitProgressListener(g);c._onAlways(a,b,d,g);--c._sending;--c._active;if(g.limitConcurrentUploads&&g.limitConcurrentUploads>c._sending)for(a=c._slots.shift();a;){if("pending"===c._getDeferredState(a)){a.resolve();break}a=c._slots.shift()}0===c._active&&c._trigger("stop")})};this._beforeSend(a,g);if(this.options.sequentialUploads||this.options.limitConcurrentUploads&& 38this.options.limitConcurrentUploads<=this._sending){if(1<this.options.limitConcurrentUploads){var k=d.Deferred();this._slots.push(k);var l=k.then(h)}else l=this._sequence=this._sequence.then(h,h);l.abort=function(){f=[void 0,"abort","abort"];return e?e.abort():(k&&k.rejectWith(g.context,f),h())};return this._enhancePromise(l)}return h()},_onAdd:function(a,b){var c=this,e=!0,f=d.extend({},this.options,b),g=b.files,h=g.length,k=f.limitMultiFileUploads,l=f.limitMultiFileUploadSize,p=f.limitMultiFileUploadSizeOverhead, 39m=0,n=this._getParamName(f),t=0;if(!h)return!1;l&&void 0===g[0].size&&(l=void 0);if((f.singleFileUploads||k||l)&&this._isXHRUpload(f))if(f.singleFileUploads||l||!k)if(!f.singleFileUploads&&l){var q=[];var r=[];for(f=0;f<h;f+=1)if(m+=g[f].size+p,f+1===h||m+g[f+1].size+p>l||k&&f+1-t>=k)q.push(g.slice(t,f+1)),m=n.slice(t,f+1),m.length||(m=n),r.push(m),t=f+1,m=0}else r=n;else for(q=[],r=[],f=0;f<h;f+=k)q.push(g.slice(f,f+k)),m=n.slice(f,f+k),m.length||(m=n),r.push(m);else q=[g],r=[n];b.originalFiles= 40g;d.each(q||g,function(g,f){var h=d.extend({},b);h.files=q?f:[f];h.paramName=r[g];c._initResponseObject(h);c._initProgressObject(h);c._addConvenienceMethods(a,h);return e=c._trigger("add",d.Event("add",{delegatedEvent:a}),h)});return e},_replaceFileInput:function(a){var b=a.fileInput,c=b.clone(!0),e=b.is(document.activeElement);a.fileInputClone=c;d("<form></form>").append(c)[0].reset();b.after(c).detach();e&&c.focus();d.cleanData(b.unbind("remove"));this.options.fileInput=this.options.fileInput.map(function(a, 41d){return d===b[0]?c[0]:d});b[0]===this.element[0]&&(this.element=c)},_handleFileTreeEntry:function(a,b){var c=this,e=d.Deferred(),f=[],g=function(b){b&&!b.entry&&(b.entry=a);e.resolve([b])},h=function(d){c._handleFileTreeEntries(d,b+a.name+"/").done(function(a){e.resolve(a)}).fail(g)},k=function(){l.readEntries(function(a){a.length?(f=f.concat(a),k()):h(f)},g)};b=b||"";if(a.isFile)a._file?(a._file.relativePath=b,e.resolve(a._file)):a.file(function(a){a.relativePath=b;e.resolve(a)},g);else if(a.isDirectory){var l= 42a.createReader();k()}else e.resolve([]);return e.promise()},_handleFileTreeEntries:function(a,b){var c=this;return d.when.apply(d,d.map(a,function(a){return c._handleFileTreeEntry(a,b)})).then(function(){return Array.prototype.concat.apply([],arguments)})},_getDroppedFiles:function(a){a=a||{};var b=a.items;return b&&b.length&&(b[0].webkitGetAsEntry||b[0].getAsEntry)?this._handleFileTreeEntries(d.map(b,function(a){var b;if(a.webkitGetAsEntry){if(b=a.webkitGetAsEntry())b._file=a.getAsFile();return b}return a.getAsEntry()})): 43d.Deferred().resolve(d.makeArray(a.files)).promise()},_getSingleFileInputFiles:function(a){a=d(a);var b=a.prop("webkitEntries")||a.prop("entries");if(b&&b.length)return this._handleFileTreeEntries(b);b=d.makeArray(a.prop("files"));if(b.length)void 0===b[0].name&&b[0].fileName&&d.each(b,function(a,b){b.name=b.fileName;b.size=b.fileSize});else{a=a.prop("value");if(!a)return d.Deferred().resolve([]).promise();b=[{name:a.replace(/^.*\\/,"")}]}return d.Deferred().resolve(b).promise()},_getFileInputFiles:function(a){return a instanceof 44d&&1!==a.length?d.when.apply(d,d.map(a,this._getSingleFileInputFiles)).then(function(){return Array.prototype.concat.apply([],arguments)}):this._getSingleFileInputFiles(a)},_onChange:function(a){var b=this,c={fileInput:d(a.target),form:d(a.target.form)};this._getFileInputFiles(c.fileInput).always(function(e){c.files=e;b.options.replaceFileInput&&b._replaceFileInput(c);!1!==b._trigger("change",d.Event("change",{delegatedEvent:a}),c)&&b._onAdd(a,c)})},_onPaste:function(a){var b=a.originalEvent&&a.originalEvent.clipboardData&& 45a.originalEvent.clipboardData.items,c={files:[]};b&&b.length&&(d.each(b,function(a,b){var d=b.getAsFile&&b.getAsFile();d&&c.files.push(d)}),!1!==this._trigger("paste",d.Event("paste",{delegatedEvent:a}),c)&&this._onAdd(a,c))},_onDrop:function(a){a.dataTransfer=a.originalEvent&&a.originalEvent.dataTransfer;var b=this,c=a.dataTransfer,e={};c&&c.files&&c.files.length&&(a.preventDefault(),this._getDroppedFiles(c).always(function(c){e.files=c;!1!==b._trigger("drop",d.Event("drop",{delegatedEvent:a}),e)&& 46b._onAdd(a,e)}))},_onDragOver:u("dragover"),_onDragEnter:u("dragenter"),_onDragLeave:u("dragleave"),_initEventHandlers:function(){this._isXHRUpload(this.options)&&(this._on(this.options.dropZone,{dragover:this._onDragOver,drop:this._onDrop,dragenter:this._onDragEnter,dragleave:this._onDragLeave}),this._on(this.options.pasteZone,{paste:this._onPaste}));d.support.fileInput&&this._on(this.options.fileInput,{change:this._onChange})},_destroyEventHandlers:function(){this._off(this.options.dropZone,"dragenter dragleave dragover drop"); 47this._off(this.options.pasteZone,"paste");this._off(this.options.fileInput,"change")},_destroy:function(){this._destroyEventHandlers()},_setOption:function(a,b){var c=-1!==d.inArray(a,this._specialOptions);c&&this._destroyEventHandlers();this._super(a,b);c&&(this._initSpecialOptions(),this._initEventHandlers())},_initSpecialOptions:function(){var a=this.options;void 0===a.fileInput?a.fileInput=this.element.is('input[type="file"]')?this.element:this.element.find('input[type="file"]'):a.fileInput instanceof 48d||(a.fileInput=d(a.fileInput));
48a.dropZone instanceof d||(a.dropZone=d(a.dropZone));a.pasteZone instanceof d||(a.pasteZone=d(a.pasteZone))},_getRegExp:function(a){a=a.split("/");var b=a.pop();a.shift();return new RegExp(a.join("/"),b)},_isRegExpOption:function(a,b){return"url"!==a&&"string"===d.type(b)&&/^\/.*\/[igm]{0,3}$/.test(b)},_initDataAttributes:function(){var a=this,b=this.options,c=this.element.data();d.each(this.element[0].attributes,function(d,f){var e=f.name.toLowerCase();if(/^data-/.test(e)){e= 49e.slice(5).replace(/-[a-z]/g,function(a){return a.charAt(1).toUpperCase()});var h=c[e];a._isRegExpOption(e,h)&&(h=a._getRegExp(h));b[e]=h}})},_create:function(){this._initDataAttributes();this._initSpecialOptions();this._slots=[];this._sequence=this._getXHRPromise(!0);this._sending=this._active=0;this._initProgressObject(this);this._initEventHandlers()},active:function(){return this._active},progress:function(){return this._progress},add:function(a){var b=this;a&&!this.options.disabled&&(a.fileInput&& 50!a.files?this._getFileInputFiles(a.fileInput).always(function(c){a.files=c;b._onAdd(null,a)}):(a.files=d.makeArray(a.files),this._onAdd(null,a)))},send:function(a){if(a&&!this.options.disabled){if(a.fileInput&&!a.files){var b=this,c=d.Deferred(),e=c.promise(),f,g;e.abort=function(){g=!0;if(f)return f.abort();c.reject(null,"abort","abort");return e};this._getFileInputFiles(a.fileInput).always(function(d){g||(d.length?(a.files=d,f=b._onSend(null,a),f.then(function(a,b,d){c.resolve(a,b,d)},function(a, 51b,d){c.reject(a,b,d)})):c.reject())});return this._enhancePromise(e)}a.files=d.makeArray(a.files);if(a.files.length)return this._onSend(null,a)}return this._getXHRPromise(!1,a&&a.context)}})}); 52;
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.