Файл: templates/backend/default/assets/plugins/jquery-file-upload/js/jquery.fileupload.min.js
Строк: 815
<?php
!function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery","jquery.ui.widget"],e):e(window.jQuery)}(function(e){"use strict";e.support.xhrFileUpload=!(!window.XMLHttpRequestUpload||!window.FileReader),e.support.xhrFormDataFileUpload=!!window.FormData,e.propHooks.elements={get:function(t){return e.nodeName(t,"form")?e.grep(t.elements,function(t){return!e.nodeName(t,"input")||"file"!==t.type}):null}},e.widget("blueimp.fileupload",{options:{dropZone:e(document),pasteZone:e(document),fileInput:void 0,replaceFileInput:!0,paramName:void 0,singleFileUploads:!0,limitMultiFileUploads:void 0,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,formData:function(e){return e.serializeArray()},add:function(e,t){t.submit()},processData:!1,contentType:!1,cache:!1},_refreshOptionsList:["fileInput","dropZone","pasteZone","multipart","forceIframeTransport"],_BitrateTimer:function(){this.timestamp=+new Date,this.loaded=0,this.bitrate=0,this.getBitrate=function(e,t,n){var i=e-this.timestamp;return(!this.bitrate||!n||i>n)&&(this.bitrate=8*(t-this.loaded)*(1e3/i),this.loaded=t,this.timestamp=e),this.bitrate}},_isXHRUpload:function(t){return!t.forceIframeTransport&&(!t.multipart&&e.support.xhrFileUpload||e.support.xhrFormDataFileUpload)},_getFormData:function(t){var n;return"function"==typeof t.formData?t.formData(t.form):e.isArray(t.formData)?t.formData:t.formData?(n=[],e.each(t.formData,function(e,t){n.push({name:e,value:t})}),n):[]},_getTotal:function(t){var n=0;return e.each(t,function(e,t){n+=t.size||1}),n},_onProgress:function(e,t){if(e.lengthComputable){var n,i,o=+new Date;if(t._time&&t.progressInterval&&o-t._time<t.progressInterval&&e.loaded!==e.total)return;t._time=o,n=t.total||this._getTotal(t.files),i=parseInt(e.loaded/e.total*(t.chunkSize||n),10)+(t.uploadedBytes||0),this._loaded+=i-(t.loaded||t.uploadedBytes||0),t.lengthComputable=!0,t.loaded=i,t.total=n,t.bitrate=t._bitrateTimer.getBitrate(o,i,t.bitrateInterval),this._trigger("progress",e,t),this._trigger("progressall",e,{lengthComputable:!0,loaded:this._loaded,total:this._total,bitrate:this._bitrateTimer.getBitrate(o,this._loaded,t.bitrateInterval)})}},_initProgressListener:function(t){var n=this,i=t.xhr?t.xhr():e.ajaxSettings.xhr();i.upload&&(e(i.upload).bind("progress",function(e){var i=e.originalEvent;e.lengthComputable=i.lengthComputable,e.loaded=i.loaded,e.total=i.total,n._onProgress(e,t)}),t.xhr=function(){return i})},_initXHRData:function(t){var n,i=t.files[0],o=t.multipart||!e.support.xhrFileUpload,a=t.paramName[0];t.headers=t.headers||{},t.contentRange&&(t.headers["Content-Range"]=t.contentRange),o?e.support.xhrFormDataFileUpload&&(t.postMessage?(n=this._getFormData(t),t.blob?n.push({name:a,value:t.blob}):e.each(t.files,function(e,i){n.push({name:t.paramName[e]||a,value:i})})):(t.formData instanceof FormData?n=t.formData:(n=new FormData,e.each(this._getFormData(t),function(e,t){n.append(t.name,t.value)})),t.blob?(t.headers["Content-Disposition"]='attachment; filename="'+encodeURI(i.name)+'"',n.append(a,t.blob,i.name)):e.each(t.files,function(e,i){(window.Blob&&i instanceof Blob||window.File&&i instanceof File)&&n.append(t.paramName[e]||a,i,i.name)})),t.data=n):(t.headers["Content-Disposition"]='attachment; filename="'+encodeURI(i.name)+'"',t.contentType=i.type,t.data=t.blob||i),t.blob=null},_initIframeSettings:function(t){t.dataType="iframe "+(t.dataType||""),t.formData=this._getFormData(t),t.redirect&&e("<a></a>").prop("href",t.url).prop("host")!==location.host&&t.formData.push({name:t.redirectParamName||"redirect",value:t.redirect})},_initDataSettings:function(e){this._isXHRUpload(e)?(this._chunkedUpload(e,!0)||(e.data||this._initXHRData(e),this._initProgressListener(e)),e.postMessage&&(e.dataType="postmessage "+(e.dataType||""))):this._initIframeSettings(e,"iframe")},_getParamName:function(t){var n=e(t.fileInput),i=t.paramName;return i?e.isArray(i)||(i=[i]):(i=[],n.each(function(){for(var t=e(this),n=t.prop("name")||"files[]",o=(t.prop("files")||[1]).length;o;)i.push(n),o-=1}),i.length||(i=[n.prop("name")||"files[]"])),i},_initFormSettings:function(t){t.form&&t.form.length||(t.form=e(t.fileInput.prop("form")),t.form.length||(t.form=e(this.options.fileInput.prop("form")))),t.paramName=this._getParamName(t),t.url||(t.url=t.form.prop("action")||location.href),t.type=(t.type||t.form.prop("method")||"").toUpperCase(),"POST"!==t.type&&"PUT"!==t.type&&"PATCH"!==t.type&&(t.type="POST"),t.formAcceptCharset||(t.formAcceptCharset=t.form.attr("accept-charset"))},_getAJAXSettings:function(t){var n=e.extend({},this.options,t);return this._initFormSettings(n),this._initDataSettings(n),n},_enhancePromise:function(e){return e.success=e.done,e.error=e.fail,e.complete=e.always,e},_getXHRPromise:function(t,n,i){var o=e.Deferred(),a=o.promise();return n=n||this.options.context||a,t===!0?o.resolveWith(n,i):t===!1&&o.rejectWith(n,i),a.abort=o.promise,this._enhancePromise(a)},_getUploadedBytes:function(e){var t=e.getResponseHeader("Range"),n=t&&t.split("-"),i=n&&n.length>1&&parseInt(n[1],10);return i&&i+1},_chunkedUpload:function(t,n){var i,o,a=this,s=t.files[0],r=s.size,l=t.uploadedBytes=t.uploadedBytes||0,c=t.maxChunkSize||r,u=s.slice||s.webkitSlice||s.mozSlice,d=e.Deferred(),h=d.promise();return this._isXHRUpload(t)&&u&&(l||r>c)&&!t.data?n?!0:l>=r?(s.error="Uploaded bytes exceed file size",this._getXHRPromise(!1,t.context,[null,"error",s.error])):(o=function(){var n=e.extend({},t);n.blob=u.call(s,l,l+c,s.type),n.chunkSize=n.blob.size,n.contentRange="bytes "+l+"-"+(l+n.chunkSize-1)+"/"+r,a._initXHRData(n),a._initProgressListener(n),i=(a._trigger("chunksend",null,n)!==!1&&e.ajax(n)||a._getXHRPromise(!1,n.context)).done(function(i,s,c){l=a._getUploadedBytes(c)||l+n.chunkSize,(!n.loaded||n.loaded<n.total)&&a._onProgress(e.Event("progress",{lengthComputable:!0,loaded:l-n.uploadedBytes,total:l-n.uploadedBytes}),n),t.uploadedBytes=n.uploadedBytes=l,n.result=i,n.textStatus=s,n.jqXHR=c,a._trigger("chunkdone",null,n),a._trigger("chunkalways",null,n),r>l?o():d.resolveWith(n.context,[i,s,c])}).fail(function(e,t,i){n.jqXHR=e,n.textStatus=t,n.errorThrown=i,a._trigger("chunkfail",null,n),a._trigger("chunkalways",null,n),d.rejectWith(n.context,[e,t,i])})},this._enhancePromise(h),h.abort=function(){return i.abort()},o(),h):!1},_beforeSend:function(e,t){0===this._active&&(this._trigger("start"),this._bitrateTimer=new this._BitrateTimer),this._active+=1,this._loaded+=t.uploadedBytes||0,this._total+=this._getTotal(t.files)},_onDone:function(t,n,i,o){if(!this._isXHRUpload(o)||!o.loaded||o.loaded<o.total){var a=this._getTotal(o.files)||1;this._onProgress(e.Event("progress",{lengthComputable:!0,loaded:a,total:a}),o)}o.result=t,o.textStatus=n,o.jqXHR=i,this._trigger("done",null,o)},_onFail:function(e,t,n,i){i.jqXHR=e,i.textStatus=t,i.errorThrown=n,this._trigger("fail",null,i),i.recalculateProgress&&(this._loaded-=i.loaded||i.uploadedBytes||0,this._total-=i.total||this._getTotal(i.files))},_onAlways:function(e,t,n,i){this._active-=1,this._trigger("always",null,i),0===this._active&&(this._trigger("stop"),this._loaded=this._total=0,this._bitrateTimer=null)},_onSend:function(t,n){var i,o,a,s,r=this,l=r._getAJAXSettings(n),c=function(){return r._sending+=1,l._bitrateTimer=new r._BitrateTimer,i=i||((o||r._trigger("send",t,l)===!1)&&r._getXHRPromise(!1,l.context,o)||r._chunkedUpload(l)||e.ajax(l)).done(function(e,t,n){r._onDone(e,t,n,l)}).fail(function(e,t,n){r._onFail(e,t,n,l)}).always(function(e,t,n){if(r._sending-=1,r._onAlways(e,t,n,l),l.limitConcurrentUploads&&l.limitConcurrentUploads>r._sending)for(var i,o=r._slots.shift();o;){if(i=o.state?"pending"===o.state():!o.isRejected()){o.resolve();break}o=r._slots.shift()}})};return this._beforeSend(t,l),this.options.sequentialUploads||this.options.limitConcurrentUploads&&this.options.limitConcurrentUploads<=this._sending?(this.options.limitConcurrentUploads>1?(a=e.Deferred(),this._slots.push(a),s=a.pipe(c)):s=this._sequence=this._sequence.pipe(c,c),s.abort=function(){return o=[void 0,"abort","abort"],i?i.abort():(a&&a.rejectWith(l.context,o),c())},this._enhancePromise(s)):c()},_onAdd:function(t,n){var i,o,a,s,r=this,l=!0,c=e.extend({},this.options,n),u=c.limitMultiFileUploads,d=this._getParamName(c);if((c.singleFileUploads||u)&&this._isXHRUpload(c))if(!c.singleFileUploads&&u)for(a=[],i=[],s=0;s<n.files.length;s+=u)a.push(n.files.slice(s,s+u)),o=d.slice(s,s+u),o.length||(o=d),i.push(o);else i=d;else a=[n.files],i=[d];return n.originalFiles=n.files,e.each(a||n.files,function(o,s){var c=e.extend({},n);return c.files=a?s:[s],c.paramName=i[o],c.submit=function(){return c.jqXHR=this.jqXHR=r._trigger("submit",t,this)!==!1&&r._onSend(t,this),this.jqXHR},l=r._trigger("add",t,c)}),l},_replaceFileInput:function(t){var n=t.clone(!0);e("<form></form>").append(n)[0].reset(),t.after(n).detach(),e.cleanData(t.unbind("remove")),this.options.fileInput=this.options.fileInput.map(function(e,i){return i===t[0]?n[0]:i}),t[0]===this.element[0]&&(this.element=n)},_handleFileTreeEntry:function(t,n){var i,o=this,a=e.Deferred(),s=function(e){e&&!e.entry&&(e.entry=t),a.resolve([e])};return n=n||"",t.isFile?t._file?(t._file.relativePath=n,a.resolve(t._file)):t.file(function(e){e.relativePath=n,a.resolve(e)},s):t.isDirectory?(i=t.createReader(),i.readEntries(function(e){o._handleFileTreeEntries(e,n+t.name+"/").done(function(e){a.resolve(e)}).fail(s)},s)):a.resolve([]),a.promise()},_handleFileTreeEntries:function(t,n){var i=this;return e.when.apply(e,e.map(t,function(e){return i._handleFileTreeEntry(e,n)})).pipe(function(){return Array.prototype.concat.apply([],arguments)})},_getDroppedFiles:function(t){t=t||{};var n=t.items;return n&&n.length&&(n[0].webkitGetAsEntry||n[0].getAsEntry)?this._handleFileTreeEntries(e.map(n,function(e){var t;return e.webkitGetAsEntry?(t=e.webkitGetAsEntry(),t&&(t._file=e.getAsFile()),t):e.getAsEntry()})):e.Deferred().resolve(e.makeArray(t.files)).promise()},_getSingleFileInputFiles:function(t){t=e(t);var n,i,o=t.prop("webkitEntries")||t.prop("entries");if(o&&o.length)return this._handleFileTreeEntries(o);if(n=e.makeArray(t.prop("files")),n.length)void 0===n[0].name&&n[0].fileName&&e.each(n,function(e,t){t.name=t.fileName,t.size=t.fileSize});else{if(i=t.prop("value"),!i)return e.Deferred().resolve([]).promise();n=[{name:i.replace(/^.*\/,"")}]}return e.Deferred().resolve(n).promise()},_getFileInputFiles:function(t){return t instanceof e&&1!==t.length?e.when.apply(e,e.map(t,this._getSingleFileInputFiles)).pipe(function(){return Array.prototype.concat.apply([],arguments)}):this._getSingleFileInputFiles(t)},_onChange:function(t){var n=this,i={fileInput:e(t.target),form:e(t.target.form)};this._getFileInputFiles(i.fileInput).always(function(e){i.files=e,n.options.replaceFileInput&&n._replaceFileInput(i.fileInput),n._trigger("change",t,i)!==!1&&n._onAdd(t,i)})},_onPaste:function(t){var n=t.originalEvent.clipboardData,i=n&&n.items||[],o={files:[]};return e.each(i,function(e,t){var n=t.getAsFile&&t.getAsFile();n&&o.files.push(n)}),this._trigger("paste",t,o)===!1||this._onAdd(t,o)===!1?!1:void 0},_onDrop:function(e){var t=this,n=e.dataTransfer=e.originalEvent.dataTransfer,i={};n&&n.files&&n.files.length&&e.preventDefault(),this._getDroppedFiles(n).always(function(n){i.files=n,t._trigger("drop",e,i)!==!1&&t._onAdd(e,i)})},_onDragOver:function(t){var n=t.dataTransfer=t.originalEvent.dataTransfer;return this._trigger("dragover",t)===!1?!1:(n&&-1!==e.inArray("Files",n.types)&&(n.dropEffect="copy",t.preventDefault()),void 0)},_initEventHandlers:function(){this._isXHRUpload(this.options)&&(this._on(this.options.dropZone,{dragover:this._onDragOver,drop:this._onDrop}),this._on(this.options.pasteZone,{paste:this._onPaste})),this._on(this.options.fileInput,{change:this._onChange})},_destroyEventHandlers:function(){this._off(this.options.dropZone,"dragover drop"),this._off(this.options.pasteZone,"paste"),this._off(this.options.fileInput,"change")},_setOption:function(t,n){var i=-1!==e.inArray(t,this._refreshOptionsList);i&&this._destroyEventHandlers(),this._super(t,n),i&&(this._initSpecialOptions(),this._initEventHandlers())},_initSpecialOptions:function(){var t=this.options;void 0===t.fileInput?t.fileInput=this.element.is('input[type="file"]')?this.element:this.element.find('input[type="file"]'):t.fileInput instanceof e||(t.fileInput=e(t.fileInput)),t.dropZone instanceof e||(t.dropZone=e(t.dropZone)),t.pasteZone instanceof e||(t.pasteZone=e(t.pasteZone))},_create:function(){var t=this.options;e.extend(t,e(this.element[0].cloneNode(!1)).data()),this._initSpecialOptions(),this._slots=[],this._sequence=this._getXHRPromise(!0),this._sending=this._active=this._loaded=this._total=0,this._initEventHandlers()},_destroy:function(){this._destroyEventHandlers()},add:function(t){var n=this;t&&!this.options.disabled&&(t.fileInput&&!t.files?this._getFileInputFiles(t.fileInput).always(function(e){t.files=e,n._onAdd(null,t)}):(t.files=e.makeArray(t.files),this._onAdd(null,t)))},send:function(t){if(t&&!this.options.disabled){if(t.fileInput&&!t.files){var n,i,o=this,a=e.Deferred(),s=a.promise();return s.abort=function(){return i=!0,n?n.abort():(a.reject(null,"abort","abort"),s)},this._getFileInputFiles(t.fileInput).always(function(e){i||(t.files=e,n=o._onSend(null,t).then(function(e,t,n){a.resolve(e,t,n)},function(e,t,n){a.reject(e,t,n)}))}),this._enhancePromise(s)}if(t.files=e.makeArray(t.files),t.files.length)return this._onSend(null,t)}return this._getXHRPromise(!1,t&&t.context)}})});
?>