1 line
28 KiB
JavaScript
1 line
28 KiB
JavaScript
function fileupload_file_init(e){$("#fileupload_"+e.name).fileupload({disableImageResize:!1,autoUpload:!0,maxFileSize:e.size,url:e.url,dataType:"json",acceptFileTypes:e.ext,maxChunkSize:e.chunk,progressall:function(t,i){var r=parseInt(i.loaded/i.total*100,10);$("#fileupload_"+e.name+" .fileupload-progress").show(),$("#fileupload_"+e.name+" .fileupload-progress").removeClass("fade"),$("#fileupload_"+e.name+" .progress-bar-success").attr("style","width: "+r+"%")},add:function(t,i){$("#fileupload_"+e.name+" .fileupload-progress").hide(),i.submit()},done:function(t,i){if(dr_tips(i.result.code,i.result.msg),$("#fileupload_"+e.name+" .fileupload-progress").addClass("fade"),$("#fileupload_"+e.name+" .fileupload-progress").hide(),0==i.result.code)return!1;if(null==i.result.id||"undefined"==i.result.id)return!1;var r=e.tpl;r=(r=(r=(r=(r=r.replace(/\{preview\}/g,i.result.info.preview)).replace(/\{id\}/g,i.result.id)).replace(/\{filepath\}/g,i.result.info.file)).replace(/\{title\}/g,i.result.info.name)).replace(/\{upload\}/g,'<input type="file" name="file_data"></button>'),$("#fileupload_"+e.name+"_files").html(r),$("#fileupload_"+e.name).find(".fileinput-delete").show()},fail:function(t,i){dr_tips(0,dr_lang("上传请求错误:")+i.errorThrown),$("#fileupload_"+e.name+" .fileupload-progress").addClass("fade"),$("#fileupload_"+e.name+" .fileupload-progress").hide()}}),$("#fileupload_"+e.name+" .fileinput-unused").click(function(){var t=$("#fileupload_"+e.name+" .files_row").length,i=e.unused_url+"&ct="+t+"&rand="+Math.random();layer.open({type:2,title:'<i class="fa fa-folder-open"></i>',fix:!0,scrollbar:!1,shadeClose:!0,shade:0,area:e.area,btn:[lang.ok],yes:function(t,r){var a=layer.getChildFrame("body",t),n=layer.load(2,{time:1e7});return $.ajax({type:"POST",dataType:"json",url:i,data:$(a).find("#myform").serialize(),success:function(i){if(layer.close(n),1==i.code){layer.close(t);var r=e.tpl,a="",s=i.data.result[0];a+=r=(r=(r=(r=(r=r.replace(/\{preview\}/g,s.preview)).replace(/\{id\}/g,s.id)).replace(/\{filepath\}/g,s.file)).replace(/\{title\}/g,s.name)).replace(/\{upload\}/g,s.upload),$("#fileupload_"+e.name+"_files").html(a),$("#fileupload_"+e.name).find(".fileinput-delete").show(),dr_tips(1,i.msg)}else dr_tips(0,i.msg);return!1}}),!1},success:function(e,t){var i=layer.getChildFrame("body",t),r=$(i).html();if(r.indexOf('"code":0')>0&&jso2n.length<150){var a=JSON.parse(r);layer.close(t),dr_tips(0,a.msg)}if(r.indexOf('"code":1')>0&&r.length<150){a=JSON.parse(r);layer.close(t),dr_tips(1,a.msg)}},content:i+"&is_iframe=1"})}),$("#fileupload_"+e.name+" .fileinput-url").click(function(){layer.open({type:2,title:'<i class="fa fa-edit"></i> ',fix:!0,scrollbar:!1,shadeClose:!0,shade:0,area:e.url_area,btn:[lang.ok],yes:function(t,i){var r=layer.getChildFrame("body",t),a=layer.load(2,{time:1e7});return $.ajax({type:"POST",dataType:"json",url:e.input_url,data:$(r).find("#myform").serialize(),success:function(i){if(layer.close(a),1==i.code){layer.close(t);var r=e.tpl;r=(r=(r=(r=(r=r.replace(/\{preview\}/g,i.data.preview)).replace(/\{id\}/g,i.data.id)).replace(/\{filepath\}/g,i.data.file)).replace(/\{title\}/g,i.data.name)).replace(/\{upload\}/g,i.data.upload),$("#fileupload_"+e.name+"_files").html(r),$("#fileupload_"+e.name).find(".fileinput-delete").show(),dr_tips(1,i.msg)}else dr_tips(0,i.msg);return!1}}),!1},success:function(e,t){var i=layer.getChildFrame("body",t),r=$(i).html();if(r.indexOf('"code":0')>0&&r.length<150){var a=JSON.parse(r);layer.close(t),dr_tips(0,a.msg)}if(r.indexOf('"code":1')>0&&r.length<150){a=JSON.parse(r);layer.close(t),dr_tips(1,a.msg)}},content:e.input_url+"&is_iframe=1"})})}function fileupload_file_remove(e){$("#fileupload_"+e+"_files").html(""),$("#fileupload_"+e).find(".fileinput-delete").hide()}function fileupload_files_init(e){$("#fileupload_"+e.name+"_files").sortable(),dr_slimScroll_init(".scroller_"+e.name+"_files",300),$("#fileupload_"+e.name).fileupload({disableImageResize:!1,autoUpload:!0,maxFileSize:e.size,acceptFileTypes:e.ext,maxChunkSize:e.chunk,url:e.url,dataType:"json",progressall:function(t,i){var r=parseInt(i.loaded/i.total*100,10);$("#fileupload_"+e.name+" .fileupload-progress").show(),$("#fileupload_"+e.name+" .fileupload-progress").removeClass("fade"),$("#fileupload_"+e.name+" .progress-bar-success").attr("style","width: "+r+"%")},add:function(t,i){var r=i.originalFiles.length;if($("#fileupload_"+e.name+"_files .files_row").length+r>e.count)return dr_tips(0,e.error),!1;i.submit()},done:function(t,i){if(dr_tips(i.result.code,i.result.msg),$("#fileupload_"+e.name+" .fileupload-progress").hide(),$("#fileupload_"+e.name+" .fileupload-progress").addClass("fade"),0==i.result.code)return!1;if(null==i.result.id||"undefined"==i.result.id)return!1;var r=e.tpl;r=(r=(r=(r=(r=(r=(r=r.replace(/\{preview\}/g,i.result.info.preview)).replace(/\{id\}/g,i.result.id)).replace(/\{disabled\}/g,"disabled")).replace(/\{filepath\}/g,i.result.info.file)).replace(/\{title\}/g,i.result.info.name)).replace(/\{description\}/g,"")).replace(/\{upload\}/g,'<input type="file" name="file_data"></button>'),$("#fileupload_"+e.name+"_files").append(r),dr_slimScroll_init(".scroller_"+e.name+"_files",300)},fail:function(t,i){dr_tips(0,dr_lang("上传请求错误:")+i.errorThrown),$("#fileupload_"+e.name+" .fileupload-progress").addClass("fade"),$("#fileupload_"+e.name+" .fileupload-progress").hide()}}),$("#fileupload_"+e.name+"_files .file_edit").fileupload({disableImageResize:!1,autoUpload:!0,maxFileSize:e.size,acceptFileTypes:e.ext,url:e.url,maxChunkSize:e.chunk,dataType:"json",progressall:function(t,i){var r=parseInt(i.loaded/i.total*100,10);$("#fileupload_"+e.name+" .fileupload-progress").show(),$("#fileupload_"+e.name+" .fileupload-progress").removeClass("fade"),$("#fileupload_"+e.name+" .progress-bar-success").attr("style","width: "+r+"%")},done:function(t,i){return $("#fileupload_"+e.name+" .fileupload-progress").addClass("fade"),$("#fileupload_"+e.name+" .fileupload-progress").hide(),dr_tips(i.result.code,i.result.msg),0!=i.result.code&&(null!=i.result.id&&"undefined"!=i.result.id&&($(this).parents(".files_row").find(".files_row_id").val(i.result.id),$(this).parents(".files_row").find(".files_row_name").val(i.result.info.file),void $(this).parents(".files_row").find(".files_row_preview").html(i.result.info.preview)))},fail:function(t,i){dr_tips(0,dr_lang("上传请求错误:")+i.errorThrown),$("#fileupload_"+e.name+" .fileupload-progress").addClass("fade"),$("#fileupload_"+e.name+" .fileupload-progress").hide()}}),$("#fileupload_"+e.name+" .fileinput-unused").click(function(){var t=$("#fileupload_"+e.name+"_files .files_row").length,i=e.unused_url+"&ct="+t+"&rand="+Math.random();layer.open({type:2,title:'<i class="fa fa-folder-open"></i>',fix:!0,scrollbar:!1,shadeClose:!0,shade:0,area:e.area,btn:[lang.ok],yes:function(t,r){var a=layer.getChildFrame("body",t),n=layer.load(2,{time:1e7});return $.ajax({type:"POST",dataType:"json",url:i,data:$(a).find("#myform").serialize(),success:function(i){if(layer.close(n),1==i.code){layer.close(t);var r=e.count;if($("#fileupload_"+e.name+"_files .files_row").length+i.data.count>r)return dr_tips(0,e.error),!1;var a="",s=e.tpl;for(var o in i.data.result){var l=s,p=i.data.result[o];null!=p.id&&"undefined"!=p.id&&(a+=l=(l=(l=(l=(l=(l=(l=l.replace(/\{preview\}/g,p.preview)).replace(/\{id\}/g,p.id)).replace(/\{disabled\}/g,p.disabled)).replace(/\{filepath\}/g,p.file)).replace(/\{title\}/g,p.name)).replace(/\{description\}/g,"")).replace(/\{upload\}/g,p.upload))}$("#fileupload_"+e.name+"_files").append(a),dr_slimScroll_init(".scroller_"+e.name+"_files",300),dr_tips(1,i.msg)}else dr_tips(0,i.msg);return!1}}),!1},success:function(e,t){var i=layer.getChildFrame("body",t),r=$(i).html();if(r.indexOf('"code":0')>0&&jso2n.length<150){var a=JSON.parse(r);layer.close(t),dr_tips(0,a.msg)}if(r.indexOf('"code":1')>0&&r.length<150){a=JSON.parse(r);layer.close(t),dr_tips(1,a.msg)}},content:i+"&is_iframe=1"})}),$("#fileupload_"+e.name+" .fileinput-url").click(function(){layer.open({type:2,title:'<i class="fa fa-edit"></i> ',fix:!0,scrollbar:!1,shadeClose:!0,shade:0,area:e.url_area,btn:[lang.ok],yes:function(t,i){var r=layer.getChildFrame("body",t),a=layer.load(2,{time:1e7});return $.ajax({type:"POST",dataType:"json",url:e.input_url,data:$(r).find("#myform").serialize(),success:function(i){if(layer.close(a),1==i.code){layer.close(t);var r=e.tpl;r=(r=(r=(r=(r=(r=(r=r.replace(/\{preview\}/g,i.data.preview)).replace(/\{id\}/g,i.data.id)).replace(/\{disabled\}/g,i.data.disabled)).replace(/\{filepath\}/g,i.data.file)).replace(/\{title\}/g,i.data.name)).replace(/\{description\}/g,"")).replace(/\{upload\}/g,i.data.upload),$("#fileupload_"+e.name+"_files").append(r),dr_tips(1,i.msg)}else dr_tips(0,i.msg);return!1}}),!1},success:function(e,t){var i=layer.getChildFrame("body",t),r=$(i).html();if(r.indexOf('"code":0')>0&&r.length<150){var a=JSON.parse(r);layer.close(t),dr_tips(0,a.msg)}if(r.indexOf('"code":1')>0&&r.length<150){a=JSON.parse(r);layer.close(t),dr_tips(1,a.msg)}},content:e.input_url+"&is_iframe=1"})})}function fileupload_file_edit(name,e){var json=eval("files_json_"+name),html=$(e).html();if(-1==html.indexOf("file_data")){var obj=$(e).parents(".files_row"),file=encodeURIComponent(obj.find(".files_row_name").val()),name=encodeURIComponent(obj.find(".files_row_title").val()),only=obj.find(".files_row_name").attr("readonly");"readonly"!=only&&1!=only&&layer.open({type:2,title:'<i class="fa fa-edit"></i> ',fix:!0,scrollbar:!1,shadeClose:!0,shade:0,area:json.url_area,btn:[lang.ok],yes:function(e,t){var i=layer.getChildFrame("body",e),r=layer.load(2,{time:1e7});return $.ajax({type:"POST",dataType:"json",url:json.input_url,data:$(i).find("#myform").serialize(),success:function(t){if(layer.close(r),1==t.code){layer.close(e);var i=json.tpl;i=(i=(i=(i=(i=(i=(i=i.replace(/\{preview\}/g,t.data.preview)).replace(/\{id\}/g,t.data.id)).replace(/\{disabled\}/g,t.data.disabled)).replace(/\{filepath\}/g,t.data.file)).replace(/\{title\}/g,t.data.name)).replace(/\{description\}/g,"")).replace(/\{upload\}/g,t.data.upload),obj.remove(),$("#fileupload_"+json.name+"_files").append(i),dr_tips(1,t.msg)}else dr_tips(0,t.msg);return!1}}),!1},success:function(e,t){var i=layer.getChildFrame("body",t),r=$(i).html();if(r.indexOf('"code":0')>0&&r.length<150){var a=JSON.parse(r);layer.close(t),dr_tips(0,a.msg)}if(r.indexOf('"code":1')>0&&r.length<150){a=JSON.parse(r);layer.close(t),dr_tips(1,a.msg)}},content:json.input_url+"&is_iframe=1&file="+file+"&name="+name})}}!function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery","jquery.ui.widget"],e):"object"==typeof exports?e(require("jquery"),require("./vendor/jquery.ui.widget")):e(window.jQuery)}(function(e){"use strict";function t(t){var i="dragover"===t;return function(r){r.dataTransfer=r.originalEvent&&r.originalEvent.dataTransfer;var a=r.dataTransfer;a&&-1!==e.inArray("Files",a.types)&&!1!==this._trigger(t,e.Event(t,{delegatedEvent:r}))&&(r.preventDefault(),i&&(a.dropEffect="copy"))}}e.support.fileInput=!(new RegExp("(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)||e('<input type="file">').prop("disabled")),e.support.xhrFileUpload=!(!window.ProgressEvent||!window.FileReader),e.support.xhrFormDataFileUpload=!!window.FormData,e.support.blobSlice=window.Blob&&(Blob.prototype.slice||Blob.prototype.webkitSlice||Blob.prototype.mozSlice),e.widget("blueimp.fileupload",{options:{dropZone:e(this),pasteZone: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,messages:{uploadedBytes:"Uploaded bytes exceed file size"},i18n:function(t,i){return t=this.messages[t]||t.toString(),i&&e.each(i,function(e,i){t=t.replace("{"+e+"}",i)}),t},formData:function(e){return e.serializeArray()},add:function(t,i){if(t.isDefaultPrevented())return!1;(i.autoUpload||!1!==i.autoUpload&&e(this).fileupload("option","autoUpload"))&&i.process().done(function(){i.submit()})},processData:!1,contentType:!1,cache:!1,timeout:0},_specialOptions:["fileInput","dropZone","pasteZone","multipart","forceIframeTransport"],_blobSlice:e.support.blobSlice&&function(){return(this.slice||this.webkitSlice||this.mozSlice).apply(this,arguments)},_BitrateTimer:function(){this.timestamp=Date.now?Date.now():(new Date).getTime(),this.loaded=0,this.bitrate=0,this.getBitrate=function(e,t,i){var r=e-this.timestamp;return(!this.bitrate||!i||r>i)&&(this.bitrate=(t-this.loaded)*(1e3/r)*8,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 i;return"function"===e.type(t.formData)?t.formData(t.form):e.isArray(t.formData)?t.formData:"object"===e.type(t.formData)?(i=[],e.each(t.formData,function(e,t){i.push({name:e,value:t})}),i):[]},_getTotal:function(t){var i=0;return e.each(t,function(e,t){i+=t.size||1}),i},_initProgressObject:function(t){var i={loaded:0,total:0,bitrate:0};t._progress?e.extend(t._progress,i):t._progress=i},_initResponseObject:function(e){var t;if(e._response)for(t in e._response)e._response.hasOwnProperty(t)&&delete e._response[t];else e._response={}},_onProgress:function(t,i){if(t.lengthComputable){var r,a=Date.now?Date.now():(new Date).getTime();if(i._time&&i.progressInterval&&a-i._time<i.progressInterval&&t.loaded!==t.total)return;i._time=a,r=Math.floor(t.loaded/t.total*(i.chunkSize||i._progress.total))+(i.uploadedBytes||0),this._progress.loaded+=r-i._progress.loaded,this._progress.bitrate=this._bitrateTimer.getBitrate(a,this._progress.loaded,i.bitrateInterval),i._progress.loaded=i.loaded=r,i._progress.bitrate=i.bitrate=i._bitrateTimer.getBitrate(a,r,i.bitrateInterval),this._trigger("progress",e.Event("progress",{delegatedEvent:t}),i),this._trigger("progressall",e.Event("progressall",{delegatedEvent:t}),this._progress)}},_initProgressListener:function(t){var i=this,r=t.xhr?t.xhr():e.ajaxSettings.xhr();r.upload&&(e(r.upload).bind("progress",function(e){var r=e.originalEvent;e.lengthComputable=r.lengthComputable,e.loaded=r.loaded,e.total=r.total,i._onProgress(e,t)}),t.xhr=function(){return r})},_isInstanceOf:function(e,t){return Object.prototype.toString.call(t)==="[object "+e+"]"},_initXHRData:function(t){var i,r=this,a=t.files[0],n=t.multipart||!e.support.xhrFileUpload,s="array"===e.type(t.paramName)?t.paramName[0]:t.paramName;t.headers=e.extend({},t.headers),t.contentRange&&(t.headers["Content-Range"]=t.contentRange),n&&!t.blob&&this._isInstanceOf("File",a)||(t.headers["Content-Disposition"]='attachment; filename="'+encodeURI(a.name)+'"'),n?e.support.xhrFormDataFileUpload&&(t.postMessage?(i=this._getFormData(t),t.blob?i.push({name:s,value:t.blob}):e.each(t.files,function(r,a){i.push({name:"array"===e.type(t.paramName)&&t.paramName[r]||s,value:a})})):(r._isInstanceOf("FormData",t.formData)?i=t.formData:(i=new FormData,e.each(this._getFormData(t),function(e,t){i.append(t.name,t.value)})),t.blob?i.append(s,t.blob,a.name):e.each(t.files,function(a,n){(r._isInstanceOf("File",n)||r._isInstanceOf("Blob",n))&&i.append("array"===e.type(t.paramName)&&t.paramName[a]||s,n,n.uploadName||n.name)})),t.data=i):(t.contentType=a.type||"application/octet-stream",t.data=t.blob||a),t.blob=null},_initIframeSettings:function(t){var i=e("<a></a>").prop("href",t.url).prop("host");t.dataType="iframe "+(t.dataType||""),t.formData=this._getFormData(t),t.redirect&&i&&i!==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)},_getParamName:function(t){var i=e(t.fileInput),r=t.paramName;return r?e.isArray(r)||(r=[r]):(r=[],i.each(function(){for(var t=e(this),i=t.prop("name")||"files[]",a=(t.prop("files")||[1]).length;a;)r.push(i),a-=1}),r.length||(r=[i.prop("name")||"files[]"])),r},_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||"string"===e.type(t.form.prop("method"))&&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 i=e.extend({},this.options,t);return this._initFormSettings(i),this._initDataSettings(i),i},_getDeferredState:function(e){return e.state?e.state():e.isResolved()?"resolved":e.isRejected()?"rejected":"pending"},_enhancePromise:function(e){return e.success=e.done,e.error=e.fail,e.complete=e.always,e},_getXHRPromise:function(t,i,r){var a=e.Deferred(),n=a.promise();return i=i||this.options.context||n,!0===t?a.resolveWith(i,r):!1===t&&a.rejectWith(i,r),n.abort=a.promise,this._enhancePromise(n)},_addConvenienceMethods:function(t,i){var r=this,a=function(t){return e.Deferred().resolveWith(r,t).promise()};i.process=function(t,n){return(t||n)&&(i._processQueue=this._processQueue=(this._processQueue||a([this])).pipe(function(){return i.errorThrown?e.Deferred().rejectWith(r,[i]).promise():a(arguments)}).pipe(t,n)),this._processQueue||a([this])},i.submit=function(){return"pending"!==this.state()&&(i.jqXHR=this.jqXHR=!1!==r._trigger("submit",e.Event("submit",{delegatedEvent:t}),this)&&r._onSend(t,this)),this.jqXHR||r._getXHRPromise()},i.abort=function(){return this.jqXHR?this.jqXHR.abort():(this.errorThrown="abort",r._trigger("fail",null,this),r._getXHRPromise(!1))},i.state=function(){return this.jqXHR?r._getDeferredState(this.jqXHR):this._processQueue?r._getDeferredState(this._processQueue):void 0},i.processing=function(){return!this.jqXHR&&this._processQueue&&"pending"===r._getDeferredState(this._processQueue)},i.progress=function(){return this._progress},i.response=function(){return this._response}},_getUploadedBytes:function(e){var t=e.getResponseHeader("Range"),i=t&&t.split("-"),r=i&&i.length>1&&parseInt(i[1],10);return r&&r+1},_chunkedUpload:function(t,i){var r=t.files[0];if((o=r.size)<t.maxChunkSize||0==t.maxChunkSize)return console.log("普通上传"),!1;t.uploadedBytes=t.uploadedBytes||0;var a,n,s=this,o=(r=t.files[0]).size,l=t.uploadedBytes,p=t.maxChunkSize||o,d=this._blobSlice,u=e.Deferred(),f=u.promise();return!(!(this._isXHRUpload(t)&&d&&(l||p<o))||t.data)&&(!!i||(l>=o?(r.error=t.i18n("uploadedBytes"),this._getXHRPromise(!1,t.context,[null,"error",r.error])):(n=function(){var i=e.extend({},t),f=i._progress.loaded;i.blob=d.call(r,l,l+p,r.type),i.chunkSize=i.blob.size,i.contentRange="bytes "+l+"-"+(l+i.chunkSize-1)+"/"+o,s._initXHRData(i),s._initProgressListener(i),a=(!1!==s._trigger("chunksend",null,i)&&e.ajax(i)||s._getXHRPromise(!1,i.context)).done(function(r,a,p){l=s._getUploadedBytes(p)||l+i.chunkSize,f+i.chunkSize-i._progress.loaded&&s._onProgress(e.Event("progress",{lengthComputable:!0,loaded:l-i.uploadedBytes,total:l-i.uploadedBytes}),i),t.uploadedBytes=i.uploadedBytes=l,i.result=r,i.textStatus=a,i.jqXHR=p,s._trigger("chunkdone",null,i),s._trigger("chunkalways",null,i),l<o?n():u.resolveWith(i.context,[r,a,p])}).fail(function(e,t,r){i.jqXHR=e,i.textStatus=t,i.errorThrown=r,s._trigger("chunkfail",null,i),s._trigger("chunkalways",null,i),u.rejectWith(i.context,[e,t,r])})},this._enhancePromise(f),f.abort=function(){return a.abort()},n(),f)))},_beforeSend:function(e,t){0===this._active&&(this._trigger("start"),this._bitrateTimer=new this._BitrateTimer,this._progress.loaded=this._progress.total=0,this._progress.bitrate=0),this._initResponseObject(t),this._initProgressObject(t),t._progress.loaded=t.loaded=t.uploadedBytes||0,t._progress.total=t.total=this._getTotal(t.files)||1,t._progress.bitrate=t.bitrate=0,this._active+=1,this._progress.loaded+=t.loaded,this._progress.total+=t.total},_onDone:function(t,i,r,a){var n=a._progress.total,s=a._response;a._progress.loaded<n&&this._onProgress(e.Event("progress",{lengthComputable:!0,loaded:n,total:n}),a),s.result=a.result=t,s.textStatus=a.textStatus=i,s.jqXHR=a.jqXHR=r,this._trigger("done",null,a)},_onFail:function(e,t,i,r){var a=r._response;r.recalculateProgress&&(this._progress.loaded-=r._progress.loaded,this._progress.total-=r._progress.total),a.jqXHR=r.jqXHR=e,a.textStatus=r.textStatus=t,a.errorThrown=r.errorThrown=i,this._trigger("fail",null,r)},_onAlways:function(e,t,i,r){this._trigger("always",null,r)},_onSend:function(t,i){i.submit||this._addConvenienceMethods(t,i);var r,a,n,s,o=this,l=o._getAJAXSettings(i),p=function(){return o._sending+=1,l._bitrateTimer=new o._BitrateTimer,r=r||((a||!1===o._trigger("send",e.Event("send",{delegatedEvent:t}),l))&&o._getXHRPromise(!1,l.context,a)||o._chunkedUpload(l)||e.ajax(l)).done(function(e,t,i){o._onDone(e,t,i,l)}).fail(function(e,t,i){o._onFail(e,t,i,l)}).always(function(e,t,i){if(o._onAlways(e,t,i,l),o._sending-=1,o._active-=1,l.limitConcurrentUploads&&l.limitConcurrentUploads>o._sending)for(var r=o._slots.shift();r;){if("pending"===o._getDeferredState(r)){r.resolve();break}r=o._slots.shift()}0===o._active&&o._trigger("stop")})};return this._beforeSend(t,l),this.options.sequentialUploads||this.options.limitConcurrentUploads&&this.options.limitConcurrentUploads<=this._sending?(this.options.limitConcurrentUploads>1?(n=e.Deferred(),this._slots.push(n),s=n.pipe(p)):(this._sequence=this._sequence.pipe(p,p),s=this._sequence),s.abort=function(){return a=[void 0,"abort","abort"],r?r.abort():(n&&n.rejectWith(l.context,a),p())},this._enhancePromise(s)):p()},_onAdd:function(t,i){var r,a,n,s,o=this,l=!0,p=e.extend({},this.options,i),d=i.files,u=d.length,f=p.limitMultiFileUploads,c=p.limitMultiFileUploadSize,h=p.limitMultiFileUploadSizeOverhead,_=0,g=this._getParamName(p),m=0;if(!u)return!1;if(c&&void 0===d[0].size&&(c=void 0),(p.singleFileUploads||f||c)&&this._isXHRUpload(p))if(p.singleFileUploads||c||!f)if(!p.singleFileUploads&&c)for(n=[],r=[],s=0;s<u;s+=1)_+=d[s].size+h,(s+1===u||_+d[s+1].size+h>c||f&&s+1-m>=f)&&(n.push(d.slice(m,s+1)),(a=g.slice(m,s+1)).length||(a=g),r.push(a),m=s+1,_=0);else r=g;else for(n=[],r=[],s=0;s<u;s+=f)n.push(d.slice(s,s+f)),(a=g.slice(s,s+f)).length||(a=g),r.push(a);else n=[d],r=[g];return i.originalFiles=d,e.each(n||d,function(a,s){var p=e.extend({},i);return p.files=n?s:[s],p.paramName=r[a],o._initResponseObject(p),o._initProgressObject(p),o._addConvenienceMethods(t,p),l=o._trigger("add",e.Event("add",{delegatedEvent:t}),p)}),l},_replaceFileInput:function(t){var i=t.fileInput,r=i.clone(!0),a=i.is(document.activeElement);t.fileInputClone=r,e("<form></form>").append(r)[0].reset(),i.after(r).detach(),a&&r.focus(),e.cleanData(i.unbind("remove")),this.options.fileInput=this.options.fileInput.map(function(e,t){return t===i[0]?r[0]:t}),i[0]===this.element[0]&&(this.element=r)},_handleFileTreeEntry:function(t,i){var r,a=this,n=e.Deferred(),s=function(e){e&&!e.entry&&(e.entry=t),n.resolve([e])},o=function(){r.readEntries(function(e){e.length?(l=l.concat(e),o()):function(e){a._handleFileTreeEntries(e,i+t.name+"/").done(function(e){n.resolve(e)}).fail(s)}(l)},s)},l=[];return i=i||"",t.isFile?t._file?(t._file.relativePath=i,n.resolve(t._file)):t.file(function(e){e.relativePath=i,n.resolve(e)},s):t.isDirectory?(r=t.createReader(),o()):n.resolve([]),n.promise()},_handleFileTreeEntries:function(t,i){var r=this;return e.when.apply(e,e.map(t,function(e){return r._handleFileTreeEntry(e,i)})).pipe(function(){return Array.prototype.concat.apply([],arguments)})},_getDroppedFiles:function(t){var i=(t=t||{}).items;return i&&i.length&&(i[0].webkitGetAsEntry||i[0].getAsEntry)?this._handleFileTreeEntries(e.map(i,function(e){var t;return e.webkitGetAsEntry?((t=e.webkitGetAsEntry())&&(t._file=e.getAsFile()),t):e.getAsEntry()})):e.Deferred().resolve(e.makeArray(t.files)).promise()},_getSingleFileInputFiles:function(t){var i,r,a=(t=e(t)).prop("webkitEntries")||t.prop("entries");if(a&&a.length)return this._handleFileTreeEntries(a);if((i=e.makeArray(t.prop("files"))).length)void 0===i[0].name&&i[0].fileName&&e.each(i,function(e,t){t.name=t.fileName,t.size=t.fileSize});else{if(!(r=t.prop("value")))return e.Deferred().resolve([]).promise();i=[{name:r.replace(/^.*\\/,"")}]}return e.Deferred().resolve(i).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 i=this,r={fileInput:e(t.target),form:e(t.target.form)};this._getFileInputFiles(r.fileInput).always(function(a){r.files=a,i.options.replaceFileInput&&i._replaceFileInput(r),!1!==i._trigger("change",e.Event("change",{delegatedEvent:t}),r)&&i._onAdd(t,r)})},_onPaste:function(t){var i=t.originalEvent&&t.originalEvent.clipboardData&&t.originalEvent.clipboardData.items,r={files:[]};i&&i.length&&(e.each(i,function(e,t){var i=t.getAsFile&&t.getAsFile();i&&r.files.push(i)}),!1!==this._trigger("paste",e.Event("paste",{delegatedEvent:t}),r)&&this._onAdd(t,r))},_onDrop:function(t){t.dataTransfer=t.originalEvent&&t.originalEvent.dataTransfer;var i=this,r=t.dataTransfer,a={};r&&r.files&&r.files.length&&(t.preventDefault(),this._getDroppedFiles(r).always(function(r){a.files=r,!1!==i._trigger("drop",e.Event("drop",{delegatedEvent:t}),a)&&i._onAdd(t,a)}))},_onDragOver:t("dragover"),_onDragEnter:t("dragenter"),_onDragLeave:t("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})),e.support.fileInput&&this._on(this.options.fileInput,{change:this._onChange})},_destroyEventHandlers:function(){this._off(this.options.dropZone,"dragenter dragleave dragover drop"),this._off(this.options.pasteZone,"paste"),this._off(this.options.fileInput,"change")},_setOption:function(t,i){var r=-1!==e.inArray(t,this._specialOptions);r&&this._destroyEventHandlers(),this._super(t,i),r&&(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))},_getRegExp:function(e){var t=e.split("/"),i=t.pop();return t.shift(),new RegExp(t.join("/"),i)},_isRegExpOption:function(t,i){return"url"!==t&&"string"===e.type(i)&&/^\/.*\/[igm]{0,3}$/.test(i)},_initDataAttributes:function(){var t=this,i=this.options,r=this.element.data();e.each(this.element[0].attributes,function(e,a){var n,s=a.name.toLowerCase();/^data-/.test(s)&&(s=s.slice(5).replace(/-[a-z]/g,function(e){return e.charAt(1).toUpperCase()}),n=r[s],t._isRegExpOption(s,n)&&(n=t._getRegExp(n)),i[s]=n)})},_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(t){var i=this;t&&!this.options.disabled&&(t.fileInput&&!t.files?this._getFileInputFiles(t.fileInput).always(function(e){t.files=e,i._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 i,r,a=this,n=e.Deferred(),s=n.promise();return s.abort=function(){return r=!0,i?i.abort():(n.reject(null,"abort","abort"),s)},this._getFileInputFiles(t.fileInput).always(function(e){r||(e.length?(t.files=e,(i=a._onSend(null,t)).then(function(e,t,i){n.resolve(e,t,i)},function(e,t,i){n.reject(e,t,i)})):n.reject())}),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)}})}); |