1/** 2 * CodeDropz Uploader v1.1.8 3 * Copyright 2019 Glen Mongaya 4 * CodeDropz - Drag & Drop Uploader 5 * @version 1.1.8 6 * @author CodeDropz, Glen Don L. Mongaya 7 * @license The MIT License (MIT) 8 */ 9 10!function(e){e.fn.CodeDropz_Uploader_WC=function(a){var r,s=[],o=[];!window.dnd_wc_auth&&(window.dnd_wc_auth=((r=new FormData).append("action","wc_upload_nonce"),fetch(dnd_wc_uploader.ajax_url,{method:"POST",body:r}).then(function(e){return e.json()}).then(function(e){return e&&e.success&&e.data&&(dnd_wc_uploader.nonce=e.data.nonce,dnd_wc_uploader.token=e.data.token),e}).catch(function(e){console.error(e)}))),this.each(function(){var r=e(this),n=e.extend({is_pro:!1,handler:r,form:r.parents("form"),color:"#000",background:"",upload_dir:null,server_max_error:"Uploaded file exceeds the maximum upload size of your server.",max_file:r.data("max")?r.data("max"):5,max_upload_size:r.data("limit")?r.data("limit"):"10485760",supported_type:r.data("type")?r.data("type"):"jpg|jpeg|JPG|png|gif|pdf|doc|docx|ppt|pptx|odt|avi|ogg|m4a|mov|mp3|mp4|mpg|wav|wmv|xls",max_total_size:"100MB",parallel_uploads:2,chunks:!1,chunk_size:1e4,text:"Drag & Drop Files Here",separator:"or",button_text:"Browse Files",err_message:{maxNumFiles:"You have reached the maximum number of files ( Only %s files allowed )",maxUploadLimit:"Note : Some of the files could not be uploaded ( Only %s files allowed )",maxTotalSize:"The total file(s) size exceeding the max size limit of %s."},on_success:"",in_progress:"",completed:""},a),t={parallelUploads:n.parallel_uploads,chunking:n.chunks,chunkSize:n.chunk_size,progress__id:"codedropz--results"},d=1048576*parseInt(n.max_total_size.replace("[^0-9]/g","")),i=r.data("name"),l='<div class="codedropz-upload-handler wc-upload-wrap"><div class="codedropz-upload-container"><div class="codedropz-upload-inner"><div class="codedropz-label"><span class="cd-icon"><i class="icon-cloud-upload"></i></span><span class="text">'+n.text+'</span><span class="cd-separator">'+n.separator+'</span><a class="cd-upload-btn" href="javascript:void(0)">'+n.button_text+'</a></div></div></div><span class="dnd-upload-counter"><span>0</span> '+dnd_wc_uploader.uploader_text.of+" "+parseInt(n.max_file)+"</span></div>";n.handler.wrapAll('<div class="codedropz-upload-wrapper"></div>');var p=n.form,u=n.handler.parents(".codedropz-upload-wrapper");n.handler.after(l);var c={init:function(){var a=this;o[i=this.getFieldName(i)]=[],s[i]={total:0,uploaded:0,uploading:!0,maxTotalSize:0,maxSize:n.max_upload_size,maxFile:n.max_file},e(".codedropz-upload-handler",u).on("drag dragstart dragend dragover dragenter dragleave drop",function(e){e.preventDefault(),e.stopPropagation()}),e(".codedropz-upload-handler",u).on("dragover dragenter",function(a){e(this).addClass("codedropz-dragover")}),e(".codedropz-upload-handler",u).on("dragleave dragend drop",function(a){e(this).removeClass("codedropz-dragover")}),!e("."+t.progress__id,u).length>0&&u.append('<div class="'+t.progress__id+'"></div>'),this.getUploadFiles(),e(document).on("click","a.remove-file",function(r){e(this).hasClass("deleting")||a.deleteFiles(e(this).data("index"),e(this),e(this).data("name"))}),e("body").on("added_to_cart",function(){})},getFieldName:function(e){return e.replace(/[^a-zA-Z0-9_-]/g,"")},deleteFiles:function(a,r,s){var t,d=o[s],i=this;r.addClass("deleting").text(dnd_wc_uploader.uploader_text.delete);for(var l=0;l<d.length;l++)if(t=d[l],d[l].hasOwnProperty("file")&&("undefined"===e.type(a)||t.index===a)){if(t.queued&&!1==t.complete&&!t.error)r.addClass("deleting").text("aborting..."),this.abortFile(t),this.removeFile(t,l,s);else if(t.complete){var p={_file:t,_index:l,_name:s};data={action:"dnd_codedropz_upload_delete_wc",security:dnd_wc_uploader.nonce,token:dnd_wc_uploader.token||"",path:e('input[data-index="'+t.progressbar+'"]').val()},e.post(n.ajax_url,data,function(e){e.success&&(i.removeFile(p._file,p._index,p._name),console.log(p._file.name+" - file deleted."))})}else this.removeFile(t,l,s)}},abortFile:function(e){t.chunking?e.chunkTransfer&&e.chunkTransfer.abort():e.transfer&&e.transfer.abort()},removeFile:function(a,r,o){var t=e("#"+a.progressbar).parents(".codedropz-upload-wrapper");a&&a.hasOwnProperty("file")&&null!=a.progressbar&&((progressBar=t.find("#"+a.progressbar)).length>0?(a.deleted=!0,s[o].total--,s[o].maxTotalSize=s[o].maxTotalSize-a.size,a.complete&&s[o].uploaded>0&&s[o].uploaded--,progressBar.remove(),e('input[data-index="'+a.progressbar+'"]').remove(),this.resetQueue(o)):console.log("Progress Bar not exists!"),s[o].uploaded<s[o].maxFile&&t.find("span.has-error-msg").remove(),s[o].maxTotalSize>d&&!0==n.is_pro&&(u=t,this.validateFiles.setError(n.err_message.maxTotalSize,!1,n.max_total_size)),e(".dnd-upload-counter span",e('input[data-name="'+o+'"]').parents(".codedropz-upload-wrapper")).text(s[o].total))},getUploadFiles:function(){var a=this;e(".codedropz-upload-handler",u).on("drop",function(e){a.handleFiles(e.originalEvent.dataTransfer.files)}),e("a.cd-upload-btn",u).on("click",function(e){e.preventDefault(),n.handler.val(null),n.handler.click()}),n.handler.on("change",function(e){a.handleFiles(this.files)})},handleFiles:function(a){var r=a.length,t=[];if(s[i].maxFile){var l=s[i].maxFile-s[i].uploaded;l>=0&&a.length>l&&(r=l),0==s[i].uploaded&&s[i].total>0&&(r=s[i].maxFile-s[i].total)}if(e("span.has-error-msg",u).remove(),s[i].total>=s[i].maxFile)return this.validateFiles.setError(n.err_message.maxNumFiles,!0,n.max_file);if(r>0)for(var p=0;p<r;p++)t={index:$unique_index="index-"+Date.now().toString(36)+Math.random().toString(36).substr(2,5),file:a[p],name:a[p].name,size:a[p].size,queued:!1,complete:!1,error:!1,pause:!1,transfer:null,progressbar:null,deleted:!1},a.length-r>0&&this.validateFiles.setError(n.err_message.maxUploadLimit,!1,n.max_file),s[i].total++,s[i].maxTotalSize+=t.size,t.progressbar=this.progressBar.make(t),!1===this.validateFiles.check(t,i)&&(t.error=!0),s[i].maxTotalSize>d&&!0==n.is_pro&&(this.validateFiles.setError(n.err_message.maxTotalSize,!0,n.max_total_size),t.pause=!0),o[i].push(t);s[i].uploading=!0,this.processQueue(o[i],i)},validateFiles:{setError:function(a,r,s){if(e("span.has-error-msg",u).remove(),e("."+t.progress__id,u).after('<span class="has-error-msg">'+a.replace("%s",s)+"</span>"),r)return!1},check:function(a,r){if(!a)return!0;
10if(a.progressbar){var o=e("#"+a.progressbar).find(".dnd-upload-details");if(e("#"+a.progressbar).find(".has-error").remove(),a.size>s[r].maxSize)return o.append('<span class="has-error">'+dnd_wc_uploader.drag_n_drop_upload.large_file+"</span>"),!1;if(!(regex_type=RegExp("(.*?).("+n.supported_type+")$")).test(a.name.toLowerCase()))return o.append('<span class="has-error">'+dnd_wc_uploader.drag_n_drop_upload.inavalid_type+"</span>"),!1}return a}},resetQueue:function(e){var a=[];if(s[e].uploading=!0,o[e].length>0)for(var r in o[e])!0==!o[e][r].deleted&&a.push(o[e][r]),!0==o[e][r].pause&&s[e].maxTotalSize<d&&(o[e][r].pause=!1);a.length>0&&(o[e]=a),this.processQueue(o[e],e),console.log(o[e]),console.log(s[e]),console.log(c.bytesToSize(s[e].maxTotalSize)+" of "+n.max_total_size)},processQueue:function(a,r){var d=0,i=[];if(s[r].uploading){for(var l in a)!1==a[l].complete&&!1==a[l].error&&!1==a[l].pause&&i.push(a[l]);e.isFunction(n.in_progress)&&n.in_progress.call(this,p,i,o[r]);for(var l=0;l<i.length;l++)if(i[l].hasOwnProperty("file")&&(!1==i[l].queued&&this.uploadFile(o[r],i[l],r),++d>=t.parallelUploads&&!0==n.is_pro))return;0==d&&(s[r].uploading=!1,e.isFunction(n.completed)&&n.completed.call(this,p,r,o[r]))}},progressBar:{make:function(a){var r="dnd-file-"+Math.random().toString(36).substr(2,9),s='<div class="dnd-upload-image"><span class="icon-images"></span></div><div class="dnd-upload-details"><span class="name"><span>'+a.name+"</span> <em>("+c.bytesToSize(a.size)+')</em></span><a href="javascript:void(0)" title="'+dnd_wc_uploader.uploader_text.remove+'" class="remove-file" data-name="'+i+'" data-index="'+a.index+'"><span class="icon-close-outline"></span></a><span class="dnd-progress-bar"><span></span></span></div>';return e("."+t.progress__id,u).append('<div id="'+r+'" class="dnd-upload-status">'+s+"</div>"),r},setProgress:function(a,r){var s=e(".dnd-progress-bar",e("#"+a));return s.length>0&&(progress_width=r*s.width()/100,e("span",s).addClass("in-progress").animate({width:progress_width},10).text(r+"% "),100==r&&e("span",s).addClass("complete").removeClass("in-progress")),!1}},uploadFile:function(a,r,o){var d=this;if(window.dnd_wc_auth&&!dnd_wc_uploader.token){window.dnd_wc_auth.then(function(){d.uploadFile(a,r,o)});return}var i=new FormData,l=1024*t.chunkSize;i.append("size_limit",n.max_upload_size),i.append("action","dnd_codedropz_upload_wc"),i.append("security",dnd_wc_uploader.nonce),i.append("token",dnd_wc_uploader.token||""),t.chunking&&r.size>l&&!0==n.is_pro?(r.queued=!0,r.chunkSize=l,r.totalChunks=Math.ceil(r.size/r.chunkSize),r.currentChunk=0,this.uploadChunks(a,r,o)):(r.queued=!0,i.append("dnd-wc-upload-file",r.file),r.transfer=e.ajax({url:n.ajax_url,type:p.attr("method"),data:i,dataType:"json",cache:!1,contentType:!1,processData:!1,xhr:function(){var e=new window.XMLHttpRequest;return e.upload.addEventListener("progress",function(e){if(e.lengthComputable){var a=parseInt(100*(e.loaded/e.total));d.progressBar.setProgress(r.progressbar,a)}},!1),e},complete:function(){d.progressBar.setProgress(r.progressbar,100)},success:function(t){t.success?(r.complete=!0,s[o].uploaded++,d.processQueue(a,o),e.isFunction(n.on_success)&&n.on_success.call(this,r.progressbar,t,o,s[o])):(e("#"+r.progressbar).find(".dnd-upload-details").append('<span class="has-error">'+t.data+"</span>"),r.error=!0,d.processQueue(a,o))},error:function(s,n,t){e("#"+r.progressbar).find(".dnd-upload-details").append('<span class="has-error">'+t+"</span>"),r.error=!0,d.processQueue(a,o)}}))},uploadChunks:function(a,o,t){var d=o.chunkSize*o.currentChunk,i=d+o.chunkSize,l=this;i>o.size&&(i=o.size);var u=this.sliceFile(o.file,d,i),c=new FormData;c.append("security",dnd_wc_uploader.nonce),c.append("start",d),c.append("end",i),c.append("total_chunks",o.totalChunks),c.append("chunk_size",o.chunkSize),c.append("chunk",o.currentChunk),c.append("chunks-file",u,o.file.name),c.append("post_id",r.data("id")),c.append("action","dnd_codedropz_upload_chunks_wc"),o.chunkTransfer=e.ajax({url:n.ajax_url,type:p.attr("method"),dataType:"json",data:c,type:"POST",contentType:!1,processData:!1,cache:!1,success:function(r,d,i){o.currentChunk++,chunks_percentage=Math.ceil(o.currentChunk/o.totalChunks*100),l.progressBar.setProgress(o.progressbar,chunks_percentage),o.currentChunk<o.totalChunks&&l.uploadChunks(a,o,t),console.log(o.name+" [chunk -"+o.currentChunk+" of "+o.totalChunks+"]"),r&&void 0!==r&&(o.complete=!0,s[t].uploaded++,l.processQueue(a,t),e.isFunction(n.on_success)&&n.on_success.call(this,o.progressbar,r,t,s[t]))},error:function(r,s,n){e("#"+o.progressbar).find(".dnd-upload-details").append('<span class="has-error">'+n+"</span>"),o.error=!0,l.processQueue(a,t)}})},sliceFile:function(e,a,r){return(e.mozSlice?e.mozSlice:e.webkitSlice?e.webkitSlice:e.slice?e.slice:{}).bind(e)(a,r)},bytesToSize:function(e){return 0===e?"0":fileSize=(kBytes=e/1024)>=1024?(kBytes/1024).toFixed(2)+"MB":kBytes.toFixed(2)+"KB"}};c.init()})}}(jQuery);
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.