UNPKG

@progress/kendo-ui

Version:

This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.

1 lines 44.5 kB
module.exports=function(a){var i={};function r(e){if(i[e])return i[e].exports;var t=i[e]={exports:{},id:e,loaded:!1};return a[e].call(t.exports,t,t.exports,r),t.loaded=!0,t.exports}return r.m=a,r.c=i,r.p="",r(0)}({0:function(e,t,a){e.exports=a(1516)},3:function(e,t){e.exports=function(){throw Error("define cannot be used indirect")}},1051:function(e,t){e.exports=require("./kendo.core")},1060:function(e,t){e.exports=require("jquery")},1516:function(e,t,a){var i,Y;Y=a(1060),a(3),a=[a(1051)],void 0===(t="function"==typeof(i=function(){var e={id:"upload",name:"Upload",category:"web",description:"The Upload widget uses progressive enhancement to deliver the best possible uploading experience to users.",depends:["core"]},u=window.kendo.jQuery,t=void 0,f=window.kendo,n=f.ui.Widget,v=f.antiForgeryTokens,m=f.logToConsole,a=/\.([^\.]+)$/,s=".kendoUpload",k="select",g="upload",_="success",y="error",i="complete",p="cancel",r="clear",F="pause",w="resume",C="progress",c="remove",d="validationErrors",b="invalidMaxFileSize",S="invalidMinFileSize",z="invalidFileExtension",U=1e3,E=2e3,l="k-state-focused",o="tabindex",x={loading:"k-i-upload",warning:"k-i-warning",success:"k-i-check"},A=n.extend({init:function(e,t){var a=this;n.fn.init.call(a,e,t);a.name=e.name;a.multiple=a.options.multiple;a.directory=a.options.directory;a.localization=a.options.localization;var i=a.element;a.wrapper=i.closest(".k-upload");if(a.wrapper.length===0)a.wrapper=a._wrapInput(i);a._activeInput(i);a.toggle(a.options.enabled);var r=a._ns=s+"-"+f.guid();i.closest("form").on("submit"+r,a._onParentFormSubmit.bind(a)).on("reset"+r,a._onParentFormReset.bind(a));a._initUploadModule();a._toggleDropZone();a.wrapper.on("click",".k-upload-action",a._onFileAction.bind(a)).on("click",".k-clear-selected",a._onClearSelected.bind(a)).on("click",".k-upload-selected",a._onUploadSelected.bind(a)).on("keydown",a._onKeyDown.bind(a)).on("focusout",a._focusout.bind(a));if(a.element.val())a._onInputChange({target:a.element})},events:[k,g,_,y,i,p,r,C,c,F,w],options:{name:"Upload",enabled:true,multiple:true,directory:false,showFileList:true,template:"",files:[],async:{autoRetryAfter:0,bufferChunkSize:1e7,maxAutoRetries:1,removeVerb:"POST",autoUpload:true,withCredentials:true,accept:"*/*; q=0.5, application/json",useArrayBuffer:false},localization:{select:"Select files...",cancel:"Cancel",retry:"Retry",remove:"Remove",pause:"Pause",resume:"Resume",clearSelectedFiles:"Clear",uploadSelectedFiles:"Upload",dropFilesHere:"Drop files here to upload",invalidFiles:"Invalid file(s). Please check file upload requirements.",statusUploading:"uploading",statusUploaded:"uploaded",statusWarning:"warning",statusFailed:"failed",headerStatusUploading:"Uploading...",headerStatusPaused:"Paused",headerStatusUploaded:"Done",uploadSuccess:"File(s) uploaded successfully.",uploadFail:"File(s) failed to upload.",invalidMaxFileSize:"File size too large.",invalidMinFileSize:"File size too small.",invalidFileExtension:"File type not allowed."},validation:{allowedExtensions:[],maxFileSize:0,minFileSize:0},dropZone:""},_initUploadModule:function(){var e=this,t=e.options;if(t.async.saveUrl){e._module=e._supportsFormData()?new P(e):new R(e);e._async=true;var a=t.files;if(a.length>0)e._renderInitialFiles(a)}else e._module=new D(e)},setOptions:function(e){var t=this,a=t.element;u(t.options.dropZone).off(t._ns);n.fn.setOptions.call(t,e);t.multiple=t.options.multiple;t.directory=t.options.directory;a.attr("multiple",t._supportsMultiple()?t.multiple:false);if(t.directory){a.attr("webkitdirectory",t.directory);a.attr("directory",t.directory)}t.toggle(t.options.enabled);t._initUploadModule();t._toggleDropZone()},enable:function(e){e=typeof e==="undefined"?true:e;this.toggle(e)},disable:function(){this.toggle(false)},toggle:function(e){e=typeof e==="undefined"?e:!e;this.wrapper.toggleClass("k-state-disabled",e);this.element.prop("disabled",e)},focus:function(){this.element.trigger("focus")},destroy:function(){var e=this;var t=u(e.options.dropZone);u(document).add(u(".k-dropzone",e.wrapper)).add(e.wrapper.closest("form")).off(e._ns);if(t.length>0)t.off(e._ns);u(e.element).off(s);n.fn.destroy.call(e)},pause:function(e){this._module.onPause({target:u(e,this.wrapper)});var t=e.find(".k-i-pause-sm");t.removeClass("k-i-pause-sm").addClass("k-i-play-sm").attr("title",this.localization.resume);u(t).parent().attr("aria-label",this.localization.resume)},resume:function(e){this._module.onResume({target:u(e,this.wrapper)});var t=e.find(".k-i-play-sm");t.removeClass("k-i-play-sm").addClass("k-i-pause-sm").attr("title",this.localization.pause);u(t).parent().attr("aria-label",this.localization.pause)},upload:function(){var e=this;e._module.onSaveSelected()},getFiles:function(){var e=this;var t;var a=[];var i=e.wrapper.find(".k-file");for(var r=0;r<i.length;r++){t=u(i[r]).data("fileNames");if(t)for(var n=0;n<t.length;n++)a.push(t[n])}return a},clearAllFiles:function(){var a=this;var e=a.wrapper.find(".k-file");e.each(function(e,t){a._removeFileByDomElement(t,false)})},removeAllFiles:function(){var a=this;var e=a.wrapper.find(".k-file");e.each(function(e,t){a._removeFileByDomElement(t,true)})},removeFileByUid:function(e){this._removeFileByUid(e,true)},clearFileByUid:function(e){this._removeFileByUid(e,false)},_removeFileByUid:function(e,t){var a=this;var i;if(typeof e!=="string")return;i=u(".k-file["+f.attr("uid")+'="'+e+'"]',a.wrapper);if(i.length>0)a._removeFileByDomElement(i,t)},clearFile:function(e){this._removeFile(e,false)},removeFile:function(e){this._removeFile(e,true)},_removeFile:function(a,i){var r=this;var e=r.wrapper.find(".k-file");var n;if(typeof a==="function")e.each(function(e,t){n=u(t).data("fileNames");if(a(n))r._removeFileByDomElement(t,i)})},_removeFileByDomElement:function(e,t){var a=this;var i={target:u(e,a.wrapper)};var r;if(a.options.async.saveUrl){if(u(e).hasClass("k-file-progress"))a._module.onCancel(i);else a._module.onRemove(i,{},t);r=u(".k-file",a.wrapper);if(r.length===0)a._hideHeaderUploadstatus();else a._updateHeaderUploadStatus()}else a._module.onRemove(i,{},t)},_addInput:function(e){if(!e[0].nodeType)return;var t=this,a=e.clone().val("");a.insertAfter(t.element).data("kendo"+t.options.prefix+t.options.name,t);u(t.element).hide().attr(o,"-1").removeAttr("id").off(s);t._activeInput(a);t.element.trigger("focus")},_activeInput:function(e){var t=this,a=t.wrapper;t.element=e;if(t.directory){e.attr("webkitdirectory",t.directory);e.attr("directory",t.directory)}e.attr("multiple",t._supportsMultiple()?t.multiple:false).attr("autocomplete","off").on("click"+s,function(e){if(a.hasClass("k-state-disabled"))e.preventDefault()}).on("focus"+s,function(){u(this).parent().addClass(l)}).on("blur"+s,function(){u(this).parent().removeClass(l)}).on("change"+s,t._onInputChange.bind(t))},_adjustFocusState:function(e,t){e.removeClass(l);e.attr(o,-1);t.addClass(l);t.attr(o,0)},_arrowKeyNavigation:function(e,t,a){var i=this,r=f.keys,n;if(t===r.DOWN){e.preventDefault();e.stopPropagation();n=i.wrapper.find(".k-upload-files .k-file").first();if(a.length>0){if(a.hasClass("k-upload-action")){a.removeClass(l);a=a.closest(".k-file")}n=a.next()}i._adjustFocusState(a,n);if(!n||n.length===0)n=i.wrapper.find(".k-clear-selected")}else if(t===r.UP){e.preventDefault();e.stopPropagation();n=i.wrapper.find(".k-upload-files .k-file:last");if(a.length>0){if(a.hasClass("k-upload-action")){a.removeClass(l);a=a.closest(".k-file")}n=a.prev()}i._adjustFocusState(a,n)}else if(t===r.RIGHT){if(a.hasClass("k-upload-action")){n=a.next(".k-upload-action");if(!n||n.length===0)n=a.parent().find(".k-upload-action:first")}else if(a.length>0)n=a.find(".k-upload-action:first");if(n&&n.length>0){a.removeClass(l);n.addClass(l)}}else if(t===r.LEFT){if(a.hasClass("k-upload-action")){n=a.prev(".k-upload-action");if(!n||n.length===0)n=a.parent().find(".k-upload-action:last")}else if(a.length>0)n=a.find(".k-upload-action:last");if(n&&n.length>0){a.removeClass(l);n.addClass(l)}}if((!n||n.length===0)&&(t===r.UP||t===r.DOWN))n=i.element;if(n&&n.length>0){i._preventFocusRemove=true;n.trigger("focus")}},_asyncCommandKeyNavigation:function(e,t,a){var i=this,r=f.keys,n=u(t,i.wrapper);i._retryClicked=false;if(e===r.ESC&&t.find(".k-i-cancel").length>0){i.trigger(p,a);i._module.onCancel({target:n});i._checkAllComplete();i._updateHeaderUploadStatus();i._preventFocusRemove=true;i.element.trigger("focus")}else if(e===r.SPACEBAR){if(t.find(".k-i-pause-sm").length>0){i.trigger(F,a);i.pause(t);i._updateHeaderUploadStatus()}else if(t.find(".k-i-play-sm").length>0){i.trigger(w,a);i.resume(t)}}else if(e===r.ENTER&&!t.is(".k-file-progress, .k-file-success, .k-file-invalid")){if(i.options.async.chunkSize&&!i.options.async.concurrent&&u(".k-file-progress",i.wrapper).length>0)return;u(".k-i-warning",t).remove();u(".k-progressbar",t).finish().show();if(!i._module.metaData[n.data("uid")])i._module.prepareChunk(n);i._module.onRetry({target:n});i._retryClicked=true}},_commandKeyNavigation:function(e,t){var a=this,i=f.keys,r=t.data("fileNames"),n=a._filesContainValidationErrors(r),s={files:r,headers:{}};if(e===i.DELETE){if(!a.trigger(c,s)){a._module.onRemove({target:u(t,a.wrapper)},s,!n);a._preventFocusRemove=true;a.element.trigger("focus")}}else if(e===i.TAB){t.removeClass(l);t.attr(o,-1)}else if(!!a.options.async.saveUrl)a._asyncCommandKeyNavigation(e,t,s)},_focusout:function(){var e=this.wrapper.find(".k-upload-files .k-file."+l);if(!this._preventFocusRemove){e.removeClass(l);e.attr(o,-1)}else this._preventFocusRemove=false},_onKeyDown:function(e){var t=this,a=t.wrapper.find(".k-upload-files .k-file."+l+","+".k-upload-action."+l),i=f.keys,r=[i.DELETE,i.ESC,i.ENTER,i.SPACEBAR,i.TAB],n=e.keyCode;if(n===i.DOWN||n===i.UP||n===i.LEFT||n===i.RIGHT)t._arrowKeyNavigation(e,n,a);else if(a.length>0&&a.hasClass("k-file")&&r.indexOf(n)>-1&&!t.wrapper.hasClass("k-state-disabled")){if(n===i.SPACEBAR){e.preventDefault();e.stopPropagation()}t._commandKeyNavigation(n,a)}},_onInputChange:function(e){var t=this;var a=u(e.target);var i=M(t._inputFiles(a),t._isAsyncNonBatch());L(i,t.options.validation);var r=t.trigger(k,{files:i});if(r){t._addInput(a);a.remove()}else t._module.onSelect({target:a},i)},_readDirectory:function(e){var t=new u.Deferred;var a=e.createReader();var i=[];var r=function(){a.readEntries(function(e){if(!e.length)t.resolve(i);else{i=i.concat(e);r()}},t.reject)};r();return t.promise()},_readFile:function(e){var t=this;var a=e.fullPath;e.file(function(e){e.relativePath=a.slice(1);t.droppedFolderFiles.push(e);t.droppedFolderCounter--;if(t.droppedFolderCounter===0)setTimeout(function(){if(t.droppedFolderCounter===0)if(t.droppedFolderFiles.length){t._proceedDroppedItems(t.droppedFolderFiles);t.droppedFolderFiles=[]}},0)},function(){m("File error.")})},_traverseFileTree:function(e,t){var a=this;if(!t)a.droppedFolderCounter--;this._readDirectory(e).then(function(e){a.droppedFolderCounter+=e.length;for(var t=0;t<e.length;t++)if(e[t].isFile)a._readFile(e[t]);else if(e[t].isDirectory)a._traverseFileTree(e[t])})},_onDrop:function(e){var t=e.originalEvent.dataTransfer;var a=this;var i=t.files;var r;J(e);if(a.options.directoryDrop&&t.items){r=t.items.length;a.droppedFolderCounter=0;a.droppedFolderFiles=[];for(var n=0;n<r;n++)if(t.items[n].webkitGetAsEntry){var s=t.items[n].webkitGetAsEntry();if(s.isDirectory)a._traverseFileTree(s,true);else if(s.isFile)a.droppedFolderFiles.push(t.files[n])}else a._proceedDroppedItems(i)}else a._proceedDroppedItems(i)},_proceedDroppedItems:function(e){var t=this;var a=M(I(e),t._isAsyncNonBatch());if(e.length>0&&!t.wrapper.hasClass("k-state-disabled")){if(!t.multiple&&a.length>1)a.splice(1,a.length-1);L(a,t.options.validation);var i=t.trigger(k,{files:a});if(!i)t._module.onSelect({target:u(".k-dropzone",t.wrapper)},a)}},_filesContainValidationErrors:function(e){var a=false;u(e).each(function(e,t){if(t[d]&&t[d].length>0){a=true;return false}});return a},_isAsyncNonBatch:function(){return this._async&&!this.options.async.batch||false},_renderInitialFiles:function(e){var t=this;var a=0;e=M(e,true);for(a=0;a<e.length;a++){var i=e[a];var r=t._enqueueFile(i.name,{fileNames:[i]});r.addClass("k-file-success").data("files",[e[a]]);if(t._supportsRemove())t._fileAction(r,c)}},_prepareTemplateData:function(e,t){var a=t.fileNames,i={},r=0,n=0;for(n=0;n<a.length;n++)r+=a[n].size;i.name=e;i.size=r;i.files=t.fileNames;return i},_prepareDefaultSingleFileEntryTemplate:function(e){var t=this;var a=e.fileNames[0];var i=V(e.fileNames);var r=f.getFileGroup(a.extension,true);var n=a[d];var s="";if(n&&n.length>0)s+="<li class='k-file k-file-invalid'><div class='k-progressbar k-hidden'><span class='k-progress'></span></div>"+"<span class='k-file-invalid-group-wrapper'>"+"<span class='k-file-group k-icon k-i-"+r+"'></span>"+"<span class='k-file-state'></span>"+"</span>"+"<span class='k-file-name-size-wrapper'>"+"<span class='k-file-name k-file-name-invalid' title='"+a.name+"'>"+a.name+"</span>"+"<span class='k-file-validation-message k-text-error'>"+t.localization[n[0]]+"</span>"+"</span>";else s+="<li class='k-file'><div class='k-progressbar k-hidden'><span class='k-progress'></span></div>"+"<span class='k-file-group-wrapper'>"+"<span class='k-file-group k-icon k-i-"+r+"'></span>"+"<span class='k-file-state'></span>"+"</span>"+"<span class='k-file-name-size-wrapper'><span class='k-file-name' title='"+a.name+"'>"+a.name+"</span>"+"<span class='k-file-size'>"+i+"</span></span>";s+="<strong class='k-upload-status'></strong>";return u(s)},_prepareDefaultMultipleFileEntriesTemplate:function(e){var t=this;var a=e.fileNames;var i=t._filesContainValidationErrors(a);var r=V(a);var n="";var s,o;if(i)n+="<li class='k-file k-file-invalid'><div class='k-progressbar k-hidden'><span class='k-progress'></span></div>"+"<span class='k-multiple-files-invalid-group-wrapper'>"+"<span class='k-file-group k-icon k-i-files'></span>";else n+="<li class='k-file'><div class='k-progressbar k-hidden'><span class='k-progress'></span></div>"+"<span class='k-multiple-files-group-wrapper'>"+"<span class='k-file-group k-icon k-i-files'></span>";n+="<span class='k-file-state'></span></span>";a.sort(function(e,t){if(e[d])return-1;if(t[d])return 1;return 0});n+="<span class='k-multiple-files-wrapper'>";for(s=0;s<a.length;s++){o=a[s];var l=V([o]);n+="<span class='k-file-name-size-wrapper'>";if(o[d]&&o[d].length>0)n+="<span class='k-file-name k-file-name-invalid' title='"+o.name+"'>"+o.name+"</span>";else n+="<span class='k-file-name' title='"+o.name+"'>"+o.name+"</span>";n+="<span class='k-file-size'>"+l+"</span></span>"}if(i)n+="<span class='k-file-validation-message k-text-error'>"+t.localization.invalidFiles+"</span>";else n+="<span class='k-file-information'>Total: "+a.length+" files, "+r+"</span>";n+="</span><strong class='k-upload-status'></strong>";return u(n)},_enqueueFile:function(e,t){var a=this;var i;var r;var n=t.fileNames[0].uid;var s=u(".k-upload-files",a.wrapper);var p=a.options;var o=p.template;var l;var d;if(s.length===0){s=u("<ul class='k-upload-files k-reset'></ul>").appendTo(a.wrapper);if(!a.options.showFileList)s.hide();a.wrapper.removeClass("k-upload-empty")}i=u(".k-file",s);if(!o)if(t.fileNames.length===1)r=a._prepareDefaultSingleFileEntryTemplate(t);else r=a._prepareDefaultMultipleFileEntriesTemplate(t);else{l=a._prepareTemplateData(e,t);o=f.template(o);r=u("<li class='k-file'>"+o(l)+"</li>");r.find(".k-upload-action").addClass("k-button k-icon-button k-button-md k-rounded-md k-button-flat k-button-flat-base");a.angular("compile",function(){return{elements:r,data:[l]}})}r.attr(f.attr("uid"),n).appendTo(s).data(t);if(!a._async)u(".k-progress",r).width("100%");if(!a.multiple&&i.length>0){d={files:i.data("fileNames"),headers:{}};if(!a.trigger(c,d))a._module.onRemove({target:u(i,a.wrapper)},d)}return r},_removeFileEntry:function(e){var t=this;var a=e.closest(".k-upload-files");var i,r,n;e.remove();i=u(".k-file",a);r=u(".k-file-success, .k-file-error",a);n=u(".k-file-invalid",a);if(r.length===i.length||n.length===i.length)this._hideActionButtons();if(i.length===0){a.remove();t.wrapper.addClass("k-upload-empty");t._hideHeaderUploadstatus()}else t._updateHeaderUploadStatus()},_fileAction:function(e,t,a){var i={remove:"k-i-x",cancel:"k-i-cancel",retry:"k-i-retry",pause:"k-i-pause-sm"};var r={remove:"k-i-close",cancel:"k-i-cancel",retry:"k-i-reload-sm",pause:"k-i-pause-sm"};var n;if(!i.hasOwnProperty(t))return;if(!a)this._clearFileAction(e);if(!this.options.template){if(!a)e.find(".k-upload-status .k-upload-action").remove();e.find(".k-upload-status").append(this._renderAction(i[t],this.localization[t],r[t]))}else{n=e.find(".k-upload-action").first();if(!n.find(".k-icon").length)n.addClass("k-button k-button-md k-rounded-md k-button-solid k-button-solid-base k-icon-button").append("<span class='k-button-icon k-icon "+r[t]+" "+i[t]+"' title='"+this.localization[t]+"'"+"aria-label='"+this.localization[t]+"'></span>").show();else if(n.next(".k-upload-action").length)n.next(".k-upload-action").addClass("k-button k-button-md k-rounded-md k-button-solid k-button-solid-base k-icon-button").append("<span class='k-button-icon k-icon "+r[t]+" "+i[t]+"' title='"+this.localization[t]+"'"+"aria-label='"+this.localization[t]+"'></span>").show()}},_fileState:function(e,t){var a=this.localization,i={uploading:{text:a.statusUploading},uploaded:{text:a.statusUploaded},failed:{text:a.statusFailed}},r=i[t];if(r)u("span.k-file-state",e).text(r.text)},_renderAction:function(e,t,a){if(e!=="")return u("<button type='button' class='k-button k-icon-button k-button-md k-rounded-md k-button-flat k-button-flat-base k-upload-action' aria-label='"+t+"' tabindex='-1'>"+"<span class='k-button-icon k-icon "+a+" "+e+"' title='"+t+"'></span>"+"</button>").on("focus",function(){u(this).addClass(l)}).on("blur",function(){u(this).removeClass(l)});else return u("<button type='button' class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-base'>"+'<span class="k-button-text">'+t+"</span>"+"</button>")},_clearFileAction:function(e){u(".k-upload-action",e).empty().hide()},_onFileAction:function(e){var t=this;if(!t.wrapper.hasClass("k-state-disabled")){var a=u(e.target).closest(".k-upload-action");var i=a.find(".k-icon");var r=a.closest(".k-file");var n=r.data("fileNames");var s=t._filesContainValidationErrors(n);var o={files:n,headers:{}};t._retryClicked=false;if(i.hasClass("k-i-x")){if(!t.trigger(c,o)){t._module.onRemove({target:u(r,t.wrapper)},o,!s);t.element.trigger("focus")}}else if(i.hasClass("k-i-cancel")){t.trigger(p,o);t._module.onCancel({target:u(r,t.wrapper)});t._checkAllComplete();t._updateHeaderUploadStatus();t.element.trigger("focus")}else if(i.hasClass("k-i-pause-sm")){t.trigger(F,o);t.pause(r);t._updateHeaderUploadStatus()}else if(i.hasClass("k-i-play-sm")){t.trigger(w,o);t.resume(r)}else if(i.hasClass("k-i-retry")){u(".k-i-warning",r).remove();u(".k-progressbar",r).finish().show();t._module.onRetry({target:u(r,t.wrapper)});t._retryClicked=true}r.addClass(l)}return false},_onUploadSelected:function(){var e=this;var t=e.wrapper;if(!t.hasClass("k-state-disabled"))this._module.onSaveSelected();return false},_onClearSelected:function(){var e=this;var t=e.wrapper;var a={};if(!t.hasClass("k-state-disabled")&&!e.trigger(r,a))e.clearAllFiles();return false},_onFileProgress:function(e,t){var a;if(t>100)t=100;u(".k-progressbar",e.target).removeClass("k-hidden");if(!this.options.template){a=u(".k-upload-pct",e.target);if(a.length===0)u(".k-upload-status",e.target).prepend("<span class='k-upload-pct'></span>");if(t!==100)u(".k-upload-pct",e.target).text(t+"%");else u(".k-upload-pct",e.target).remove();u(".k-progress",e.target).width(t+"%")}else u(".k-progress",e.target).width(t+"%");this.trigger(C,{files:h(e).data("fileNames"),percentComplete:t})},_onUploadSuccess:function(e,t,a){var i=this;var r=h(e);var n=r.data("fileNames");var s=r.find(".k-file-information");var o=r.find(".k-file-size");var l=i.trigger(_,{files:r.data("fileNames"),response:t,operation:"upload",XMLHttpRequest:a});if(l)i._setUploadErrorState(r);else{i._fileState(r,"uploaded");r.removeClass("k-file-progress").addClass("k-file-success");if(s.length>0)s.addClass("k-hidden").after('<span class="k-file-validation-message k-text-success">'+n.length+" "+i.localization.uploadSuccess+"</span>");else if(o.length>0)o.addClass("k-hidden").after('<span class="k-file-validation-message k-text-success">'+i.localization.uploadSuccess+"</span>");i._updateHeaderUploadStatus();if(i._supportsRemove())i._fileAction(r,c);else i._clearFileAction(r)}i._hideUploadProgress(r);i._checkAllComplete()},_onUploadError:function(e,t){var a=this;var i=a._module;var r=h(e);var n=r.data("uid");a._setUploadErrorState(r);a.trigger(y,{operation:"upload",files:r.data("fileNames"),XMLHttpRequest:t});m("Server response: "+t.responseText);if(!a.options.async.chunkSize)a._hideUploadProgress(r);else if(i._decreasePosition)i._decreasePosition(n);a._checkAllComplete();if(this.options.async.autoRetryAfter)this._autoRetryAfter(r)},_autoRetryAfter:function(e){var t=this;var a=this._module.retries;if(!a)return;if(!a[e.data("uid")])a[e.data("uid")]=1;if(a[e.data("uid")]<=this.options.async.maxAutoRetries){a[e.data("uid")]++;setTimeout(function(){t._module.performUpload(e)},this.options.async.autoRetryAfter)}},_setUploadErrorState:function(e){var t=this,a,i=e.data("fileNames"),r=e.find(".k-file-information"),n=e.find(".k-file-size");t._fileState(e,"failed");e.removeClass("k-file-progress").addClass("k-file-error");if(r.length>0)r.addClass("k-hidden").after('<span class="k-file-validation-message k-text-error">'+i.length+" "+t.localization.uploadFail+"</span>");else if(n.length>0)n.addClass("k-hidden").after('<span class="k-file-validation-message k-text-error">'+t.localization.uploadFail+"</span>");t._updateUploadProgress(e);a=u(".k-upload-pct",e);if(a.length>0)a.remove();this._updateHeaderUploadStatus();this._fileAction(e,"retry");this._fileAction(e,c,true);if(t._retryClicked)e.trigger("focus")},_updateUploadProgress:function(e){var t=this;if(!t.options.async.chunkSize)u(".k-progress",e).width("100%");else{var a=e.data("uid");if(t._module.metaData){var i=t._module.metaData[a];if(i){var r=i.totalChunks?Math.round(i.chunkIndex/i.totalChunks*100):100;t._onFileProgress({target:u(e,t.wrapper)},r)}}}},_hideUploadProgress:function(e){u(".k-progressbar",e).delay(U).fadeOut(E,function(){u(this).find(".k-progress").css("width","0%")})},_showActionButtons:function(){var e=this;var t=u(".k-action-buttons",e.wrapper);var a=u(".k-upload-selected",e.wrapper);var i=u(".k-clear-selected",e.wrapper);if(a.length===0){a=e._renderAction("",this.localization.uploadSelectedFiles).addClass("k-upload-selected").addClass("k-button-solid-primary").removeClass("k-button-solid-base");i=e._renderAction("",this.localization.clearSelectedFiles).addClass("k-clear-selected")}if(!t.length)t=u("<div />").addClass("k-action-buttons").append(i,a);this.wrapper.append(t)},_hideActionButtons:function(){u(".k-action-buttons",this.wrapper).remove()},_showHeaderUploadStatus:function(e){var t=this;var a=t.localization;var i=u(".k-dropzone",t.wrapper);var r=u(".k-upload-status-total",t.wrapper);if(r.length!==0)r.remove();u(".k-dropzone-hint",t.wrapper).addClass("k-hidden");r='<strong class="k-upload-status k-upload-status-total"><span class="k-icon"></span></strong>';if(e){r=u(r).append(a.headerStatusUploading);r.find(".k-icon").addClass(x.loading)}else{r=u(r).append(a.headerStatusUploaded);r.find(".k-icon").addClass(x.warning)}if(i.length>0)i.append(r);else u(".k-upload-button",t.wrapper).after(r)},_updateHeaderUploadStatus:function(){var e=this;var t=u(".k-upload-status-total",this.wrapper);var a=u(".k-file",e.wrapper).not(".k-file-success, .k-file-error, .k-file-invalid");var i=u(".k-file-invalid",e.wrapper);var r=u(".k-file-error",e.wrapper);var n=u(".k-file",e.wrapper).find(".k-i-play-sm");var s,o;if(n.length&&(n.length===a.length||!e.options.async.concurrent)){o=u(".k-icon",t).removeClass().addClass("k-icon").addClass("k-i-pause-sm");t.html(o).append(e.localization.headerStatusPaused)}else if(a.length===0||i.length>0||r.length>0){s=u(".k-file.k-file-error, .k-file.k-file-invalid",e.wrapper);t=u(".k-upload-status-total",e.wrapper);o=u(".k-icon",t).removeClass().addClass("k-icon").addClass(s.length!==0?x.warning:x.success);t.html(o).append(e.localization.headerStatusUploaded)}},_hideHeaderUploadstatus:function(){var e=this,t=e.options.dropZone;u(".k-upload-status-total",this.wrapper).remove();if(t==="")u(".k-dropzone-hint",e.wrapper).removeClass("k-hidden")},_onParentFormSubmit:function(){var e=this,t=e.element;if(typeof this._module.onAbort!=="undefined")this._module.onAbort();if(!t.value){var a=u(t);a.attr("disabled","disabled");window.setTimeout(function(){a.prop("disabled",false)},0)}},_onParentFormReset:function(){u(".k-upload-files",this.wrapper).remove()},_supportsFormData:function(){return typeof FormData!="undefined"},_supportsMultiple:function(){var e=this._userAgent().indexOf("Windows")>-1;return!f.support.browser.opera&&!(f.support.browser.safari&&e)},_supportsDrop:function(){var e=this._userAgent().toLowerCase();var t=/chrome/.test(e);var a=!t&&/safari/.test(e);var i=a&&/windows/.test(e);return!i&&this._supportsFormData()&&this.options.async.saveUrl},_userAgent:function(){return navigator.userAgent},_setupDropZone:function(){var e=this;var t=e._ns;var a=u(".k-dropzone",e.wrapper).on("dragenter"+t,J).on("dragover"+t,function(e){if(e.originalEvent)e.originalEvent.dataTransfer.dropEffect="copy";e.preventDefault()}).on("drop"+t,e._onDrop.bind(e));if(!a.find(".k-dropzone-hint").length)a.append(u("<em class='k-dropzone-hint'>"+e.localization.dropFilesHere+"</em>"));Q(a,t,function(){if(!a.closest(".k-upload").hasClass("k-state-disabled"))a.addClass("k-dropzone-hovered")},function(){a.removeClass("k-dropzone-hovered")});e._bindDocumentDragEventWrappers(a)},_setupCustomDropZone:function(){var t=this;var a=u(t.options.dropZone);if(!t.wrapper.find(".k-dropzone-hint").length)u(".k-dropzone",t.wrapper).append(u("<em class='k-dropzone-hint k-hidden'>"+t.localization.dropFilesHere+"</em>"));else u(".k-dropzone-hint",t.wrapper).addClass("k-hidden");var e=t._ns;a.on("dragenter"+e,J).on("dragover"+e,function(e){if(e.originalEvent)e.originalEvent.dataTransfer.dropEffect="copy";e.preventDefault()}).on("drop"+e,t._onDrop.bind(t));Q(a,e,function(e){if(!t.wrapper.hasClass("k-state-disabled")){a.removeClass("k-dropzone-hovered");a.addClass("k-dropzone-hovered");u(e.target).addClass("k-dropzone-hovered")}},function(){a.removeClass("k-dropzone-hovered");a.find(".k-dropzone-hovered").removeClass("k-dropzone-hovered")});t._bindDocumentDragEventWrappers(a)},_bindDocumentDragEventWrappers:function(e){var t=this;var a=t._ns;Q(u(document),a,function(){if(!t.wrapper.hasClass("k-state-disabled")){e.addClass("k-dropzone-active");e.closest(".k-upload").removeClass("k-upload-empty");e.find(".k-dropzone-hint").removeClass("k-hidden")}},function(){e.removeClass("k-dropzone-active");e.find(".k-dropzone-hint").addClass("k-hidden");if(u("li.k-file",e.closest(".k-upload")).length===0)e.closest(".k-upload").addClass("k-upload-empty")})},_toggleDropZone:function(){var e=this,t=e.options.dropZone;if(!e._supportsDrop())return;u(t).off(e._ns);u(".k-dropzone",e.wrapper).off(e._ns);if(t!=="")e._setupCustomDropZone();else e._setupDropZone()},_supportsRemove:function(){return!!this.options.async.removeUrl},_submitRemove:function(e,t,a,i){var r=this,n=r.options.async.removeField||"fileNames",s=u.extend(t.data,v());s[n]=e;Y.ajax({type:this.options.async.removeVerb,dataType:"json",dataFilter:G,url:this.options.async.removeUrl,traditional:true,data:s,headers:t.headers,success:a,error:i,xhrFields:{withCredentials:this.options.async.withCredentials}})},_wrapInput:function(e){var t=this;var a=t.options;var i=!!e.attr("id")&&u("[for='"+e.attr("id")+"']").length>0;e.wrap("<div class='k-widget k-upload'><div class='k-dropzone'><div class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-base k-upload-button'></div></div></div>");if(!a.async.saveUrl)e.closest(".k-upload").addClass("k-upload-sync");else e.closest(".k-upload").addClass("k-upload-async");e.closest(".k-upload").addClass("k-upload-empty");e.closest(".k-button").append("<span>"+t.localization.select+"</span>");if(!i&&!e.attr("aria-label"))e.attr("aria-label",t.localization.select);return e.closest(".k-upload")},_checkAllComplete:function(){if(u(".k-file.k-file-progress",this.wrapper).length===0)this.trigger(i)},_inputFiles:function(e){return N(e)}}),D=function(e){this.name="syncUploadModule";this.element=e.wrapper;this.upload=e;this.element.closest("form").attr("enctype","multipart/form-data").attr("encoding","multipart/form-data")},R=(D.prototype={onSelect:function(e,t){var a=this.upload;var i=u(e.target);var r=a._filesContainValidationErrors(t);a._addInput(i);var n={fileNames:t};if(r)i.remove();else n.relatedInput=i;var s=a._enqueueFile(T(i),n);if(r)a._hideUploadProgress(s);a._fileAction(s,c)},onRemove:function(e){var t=h(e);var a=t.data("relatedInput");if(a)a.remove();this.upload._removeFileEntry(t)}},function(e){this.name="iframeUploadModule";this.element=e.wrapper;this.upload=e;this.iframes=[]}),P=(A._frameId=0,R.prototype={onSelect:function(e,t){var a=this.upload;var i=u(e.target);var r=a._filesContainValidationErrors(t);var n=this.prepareUpload(i,t,r);if(a.options.async.autoUpload)if(!r)this.performUpload(n);else{a._fileAction(n,c);a._showHeaderUploadStatus(false)}else{a._fileAction(n,c);if(!r)a._showActionButtons();else a._updateHeaderUploadStatus()}if(r)a._hideUploadProgress(n)},prepareUpload:function(e,t,a){var i=this.upload;var r=u(i.element);var n=i.options.async.saveField||e.attr("name");var s,o,l,d;i._addInput(e);e.attr("name",n);if(!a){l=this.createFrame(i.name+"_"+A._frameId++);this.registerFrame(l);d=this.createForm(i.options.async.saveUrl,l.attr("name")).append(r);o={frame:l,relatedInput:r,fileNames:t}}else{e.remove();o={fileNames:t}}s=i._enqueueFile(T(e),o);if(l)l.data({form:d,file:s});return s},performUpload:function(e){var t={files:e.data("fileNames")};var a=e.data("frame");var i=this.upload;var r=e.find(".k-file-validation-message");var n=e.find(".k-file-information");var s=e.find(".k-file-size");if(!i.trigger(g,t)){i._hideActionButtons();i._showHeaderUploadStatus(true);a.appendTo(document.body);var o=a.data("form").attr("action",i.options.async.saveUrl).appendTo(document.body);t.data=u.extend({},t.data,v());for(var l in t.data){var d=o.find("input[name='"+l+"']");if(d.length===0)d=u("<input>",{type:"hidden",name:l}).prependTo(o);d.val(t.data[l])}i._fileAction(e,p);i._fileState(e,"uploading");u(e).removeClass("k-file-error").addClass("k-file-progress");if(r.length>0)r.remove();if(n.length>0)n.removeClass("k-hidden");else if(s.length>0)s.removeClass("k-hidden");a.one("load",this.onIframeLoad.bind(this));o[0].submit()}else{i._removeFileEntry(a.data("file"));this.cleanupFrame(a);this.unregisterFrame(a)}},onSaveSelected:function(){var i=this;var r=i.upload;u(".k-file",this.element).each(function(){var e=u(this);var t=$(e);var a=r._filesContainValidationErrors(e.data("fileNames"));if(!t&&!a)i.performUpload(e)})},onIframeLoad:function(e){var t=u(e.target),a;try{a=t.contents().text()}catch(e){a="Error trying to get server response: "+e}this.processResponse(t,a)},processResponse:function(t,e){var a=t.data("file"),i=this,r={responseText:e};X(e,function(e){u.extend(r,{statusText:"OK",status:"200"});i.upload._onFileProgress({target:u(a,i.upload.wrapper)},100);i.upload._onUploadSuccess({target:u(a,i.upload.wrapper)},e,r);i.cleanupFrame(t);i.unregisterFrame(t)},function(){u.extend(r,{statusText:"error",status:"500"});i.upload._onUploadError({target:u(a,i.upload.wrapper)},r)})},onCancel:function(e){var t=u(e.target).data("frame");this.stopFrameSubmit(t);this.cleanupFrame(t);this.unregisterFrame(t);this.upload._removeFileEntry(t.data("file"))},onRetry:function(e){var t=h(e);this.performUpload(t)},onRemove:function(e,t,a){var i=this;var r=i.upload;var n=h(e);var s=n.data("frame");if(s){i.unregisterFrame(s);r._removeFileEntry(n);i.cleanupFrame(s)}else if(n.hasClass("k-file-success"))W(n,r,t,a);else r._removeFileEntry(n)},onAbort:function(){var e=this.element,t=this;u.each(this.iframes,function(){u("input",this.data("form")).appendTo(e);t.stopFrameSubmit(this[0]);this.data("form").remove();this.remove()});this.iframes=[]},createFrame:function(e){return u("<iframe"+" name='"+e+"'"+" id='"+e+"'"+" style='display:none;' />")},createForm:function(e,t){return u("<form enctype='multipart/form-data' method='POST'"+" action='"+e+"'"+" target='"+t+"'"+"/>")},stopFrameSubmit:function(e){if(typeof e.stop!="undefined")e.stop();else if(e.document)e.document.execCommand("Stop")},registerFrame:function(e){this.iframes.push(e)},unregisterFrame:function(t){this.iframes=u.grep(this.iframes,function(e){return e.attr("name")!=t.attr("name")})},cleanupFrame:function(e){var t=e.data("form");e.data("file").data("frame",null);setTimeout(function(){t.remove();e.remove()},1)}},function(e){this.name="formDataUploadModule";this.element=e.wrapper;this.upload=e;this.position={};this.metaData={};this.cancelled={};this.resume={};this.paused={};this.retries={}});function T(e){return u.map(N(e),function(e){return e.name}).join(", ")}function N(e){var t=e[0];if(t.files)return I(t.files);else return[{name:q(t.value),extension:H(t.value),size:null}]}function I(e){return u.map(e,function(e){return B(e)})}function B(e){var t=e.name||e.fileName;return{name:f.htmlEncode(t),extension:H(t),size:typeof e.size=="number"?e.size:e.fileSize,rawFile:e}}function H(e){var t=e.match(a);return t?t[0]:""}function q(e){var t=e.lastIndexOf("\\");return t!=-1?e.substr(t+1):e}function M(e,t){var a=f.guid();return u.map(e,function(e){e.uid=t?f.guid():a;return e})}function L(e,t){var a=O(t.allowedExtensions);var i=t.maxFileSize;var r=t.minFileSize;for(var n=0;n<e.length;n++){Z(e[n],a);j(e[n],r,i)}}function O(e){var t=u.map(e,function(e){var t=e.substring(0,1)==="."?e:"."+e;return t.toLowerCase()});return t}function Z(e,t){if(t.length>0)if(t.indexOf(e.extension.toLowerCase())<0){e.validationErrors=e.validationErrors||[];if(u.inArray(z,e.validationErrors)===-1)e.validationErrors.push(z)}}function j(e,t,a){if(t!==0&&e.size<t){e.validationErrors=e.validationErrors||[];if(u.inArray(S,e.validationErrors)===-1)e.validationErrors.push(S)}if(a!==0&&e.size>a){e.validationErrors=e.validationErrors||[];if(u.inArray(b,e.validationErrors)===-1)e.validationErrors.push(b)}}function V(e){var t=0;if(typeof e[0].size=="number"){for(var a=0;a<e.length;a++)if(e[a].size)t+=e[a].size}else return"";t/=1024;if(t<1024)return t.toFixed(2)+" KB";else return(t/1024).toFixed(2)+" MB"}function K(e){return!e.multiple&&u(".k-file",e.wrapper).length>1}function W(n,s,e,t){if(!s._supportsRemove()){if(K(s)||!t)s._removeFileEntry(n);return}var o=n.data("fileNames");var a=u.map(o,function(e){return e.name});if(t===false){s._removeFileEntry(n);return}s._submitRemove(a,e,function e(t,a,i){var r=s.trigger(_,{operation:"remove",files:o,response:t,XMLHttpRequest:i});if(!r)s._removeFileEntry(n)},function e(t){if(K(s))s._removeFileEntry(n);s.trigger(y,{operation:"remove",files:o,XMLHttpRequest:t});m("Server response: "+t.responseText)})}function X(e,t,a){var i=false,r="";try{r=JSON.parse(G(e));i=true}catch(e){a()}if(i)t(r)}function G(e){if(typeof e==="undefined"||e==="")e="{}";return e}function J(e){if(e.originalEvent)e.originalEvent.dataTransfer.dropEffect="copy";e.stopPropagation();e.preventDefault()}function Q(e,t,a,i){var r,n;e.on("dragenter"+t,function(e){a(e);n=new Date;if(!r)r=setInterval(function(){var e=new Date-n;if(e>100){i();clearInterval(r);r=null}},100)}).on("dragover"+t,function(){n=new Date})}function $(e){return e.is(".k-file-progress, .k-file-success, .k-file-error")}function h(e){return u(e.target).closest(".k-file")}return P.prototype={onSelect:function(e,t){var a=this.upload;var i=this;var r=u(e.target);var n=this.prepareUpload(r,t);var s;var o;u.each(n,function(e){s=a._filesContainValidationErrors(u(this.data("fileNames")));if(a.options.async.autoUpload)if(!s)if(a.options.async.chunkSize){i.prepareChunk(this);o=this.prev();if(a.options.async.concurrent||e===0&&!o.length||e===0&&o.hasClass("k-file-success"))i.performUpload(this)}else i.performUpload(this);else{a._fileAction(this,c);a._showHeaderUploadStatus(false)}else{a._fileAction(this,c);if(!s){a._showActionButtons();this.addClass("k-toupload")}else a._updateHeaderUploadStatus()}if(s)a._hideUploadProgress(this)})},prepareUpload:function(e,t){var a=this.enqueueFiles(t);if(e.is("input")){u.each(a,function(){u(this).data("relatedInput",e)});e.data("relatedFileEntries",a);this.upload._addInput(e)}return a},enqueueFiles:function(e){var t=this.upload;var a;var i;var r=e.length;var n;var s;var o=[];if(t.options.async.batch===true){a=u.map(e,function(e){return e.name}).join(", ");if(t.directory||t.options.directoryDrop)u(e).each(function(){if(this.rawFile.webkitRelativePath||this.rawFile.relativePath)this.name=this.rawFile.webkitRelativePath||this.rawFile.relativePath});s=t._enqueueFile(a,{fileNames:e});s.data("files",e);o.push(s)}else for(i=0;i<r;i++){n=e[i];a=n.name;if(t.directory||t.options.directoryDrop)if(n.rawFile.webkitRelativePath||n.rawFile.relativePath)n.name=n.rawFile.webkitRelativePath||n.rawFile.relativePath;s=t._enqueueFile(a,{fileNames:[n]});s.data("files",[n]);o.push(s)}return o},performUpload:function(e){var t=this.upload,a=this.createFormData(),i=this.createXHR(),r={files:e.data("fileNames"),XMLHttpRequest:i},n;var s=e.find(".k-file-validation-message");var o=e.find(".k-file-information");var l=e.find(".k-file-size");if(!t.trigger(g,r)){if(e.find(".k-i-cancel").length===0){if(t.options.async.chunkSize)t._fileAction(e,F);t._fileAction(e,p,t.options.async.chunkSize)}if(!t.wrapper.find(".k-toupload").length)t._hideActionButtons();t._showHeaderUploadStatus(true);if(r.formData)a=r.formData;else{r.data=u.extend({},r.data,v());for(var d in r.data)a.append(d,r.data[d]);n=e.data("files");if(n)this.populateFormData(a,n)}t._fileState(e,"uploading");u(e).removeClass("k-file-error").addClass("k-file-progress");if(s.length>0)s.remove();if(o.length>0)o.removeClass("k-hidden");else if(l.length>0)l.removeClass("k-hidden");if(t.options.async.useArrayBuffer&&window.FileReader)this._readFile(t.options.async.saveUrl,a,e,i);else this.postFormData(t.options.async.saveUrl,a,e,i)}else this.removeFileEntry(e)},_readFile:function(t,a,i,r){var n=this;var s=n.upload;var o=i.data("files")[0];var e=new FileReader;e.onload=function(e){try{if(!n.fileArrayBuffer)n.fileArrayBuffer=e.target.result;else n.fileArrayBuffer=n._appendBuffer(n.fileArrayBuffer,e.target.result)}catch(e){s._onUploadError({target:u(i,s.wrapper)},r);return}if(n.position[o.uid]>o.size){n.postFormData(s.options.async.saveUrl,n.fileArrayBuffer,i,r);n.fileArrayBuffer=null}else n._readFile(t,a,i,r)};e.onerror=function(){s._onUploadError({target:u(i,s.wrapper)},r)};e.readAsArrayBuffer(n._getCurrentChunk(o.rawFile,o.uid))},_appendBuffer:function(e,t){var a=new Uint8Array(e.byteLength+t.byteLength);a.set(new Uint8Array(e),0);a.set(new Uint8Array(t),e.byteLength);return a.buffer},onSaveSelected:function(){var i=this;var r=i.upload;u(".k-toupload",this.element).filter(function(){var e=u(this);var t=$(e);var a=r._filesContainValidationErrors(e.data("fileNames"));return!t&&!a}).each(function(e){var t=u(this);var a=t.prev();t.removeClass("k-toupload");if(r.options.async.chunkSize){i.prepareChunk(t);if(r.options.async.concurrent||e===0&&!a.length||(e===0&&a.hasClass("k-file-success")||a.hasClass("k-file-error")))i.performUpload(t)}else i.performUpload(t)})},onCancel:function(e){var t=h(e);if(this.upload.options.async.chunkSize)this.cancelled[t.data("uid")]=true;this.stopUploadRequest(t);this.removeFileEntry(t)},onPause:function(e){var t=h(e);var a=t.data("uid");var i=this.upload.options.async;if(i.chunkSize){this.retries[a]=i.maxAutoRetries+1;this.paused[a]=true;this.resume[a]=false}},onResume:function(e){var t=h(e);var a=t.data("uid");if(this.upload.options.async.chunkSize){delete this.paused[a];this.resume[a]=true;this.retries[t.data("uid")]=1;this._increaseChunkIndex(a);this.performUpload(t)}},onRetry:function(e){var t=h(e);var a=this.upload.options.async;if(a.chunkSize){this.retries[t.data("uid")]=a.maxAutoRetries+1;delete this.paused[t.data("uid")]}this.performUpload(t)},onRemove:function(e,t,a){var i=this;var r=i.upload;var n=h(e);var s=this.upload.options.async;if(s.chunkSize)this.retries[n.data("uid")]=s.maxAutoRetries+1;if(n.hasClass("k-file-success"))W(n,r,t,a);else i.removeFileEntry(n)},createXHR:function(){return new XMLHttpRequest},postFormData:function(e,t,a,i){var r=this;a.data("request",i);i.addEventListener("load",function(e){r.onRequestSuccess.call(r,e,a)},false);i.addEventListener(y,function(e){r.onRequestError.call(r,e,a)},false);i.upload.addEventListener("progress",function(e){r.onRequestProgress.call(r,e,a)},false);i.open("POST",e,true);i.withCredentials=this.upload.options.async.withCredentials;var n=this.upload.options.async.accept;if(n)i.setRequestHeader("Accept",n);i.send(t)},createFormData:function(){return new FormData},populateFormData:function(e,t){var a;var i;var r=t.length;var n;var s=this.upload;if(s.options.async.chunkSize){n=t[0].uid;a=this._getCurrentChunk(t[0].rawFile,n);e.append(s.options.async.saveField||s.name,a);var o=JSON.stringify(this.metaData[n]);e.append("metadata",o)}else for(i=0;i<r;i++)e.append(s.options.async.saveField||s.name,t[i].rawFile);return e},onRequestSuccess:function(e,n){var s=e.target,o=this;function t(){o.upload._onUploadError({target:u(n,o.upload.wrapper)},s)}function a(e){var t=o.upload.options.async.batch;var a=o.upload.options.async.chunkSize;var i=o.upload.options.async.concurrent;var r=e.fileUid;if(o.paused[r]||o.cancelled[r])return;delete o.retries[r];if(a&&!t&&!e.uploaded){o._increaseChunkIndex(r);o.performUpload(n)}else if(a&&!t&&!i&&n.next().length&&!n.next().hasClass("k-toupload")){o.upload._onFileProgress({target:u(n,o.upload.wrapper)},100);o._resetChunkIndex(r);o.upload._onUploadSuccess({target:u(n,o.upload.wrapper)},e,s);o.performUpload(n.next())}else{o.upload._onFileProgress({target:u(n,o.upload.wrapper)},100);o.upload._onUploadSuccess({target:u(n,o.upload.wrapper)},e,s);o.cleanupFileEntry(n)}}if(s.status>=200&&s.status<=299)X(s.responseText,a,t);else t()},onRequestError:function(e,t){var a=e.target;this.upload._onUploadError({target:u(t,this.upload.wrapper)},a)},cleanupFileEntry:function(e){var t=e.data("relatedInput"),a=true;if(t){u.each(t.data("relatedFileEntries")||[],function(){if(this.parent().length>0&&this[0]!=e[0])a=a&&this.hasClass("k-file-success")});if(a)t.remove()}},removeFileEntry:function(e){var t=this.upload.options.async.chunkSize;var a=this.upload.options.async.concurrent;var i=this.upload.wrapper.find(".k-upload-selected").length>0;this.cleanupFileEntry(e);if(t&&!a&&!i)if(e.next().length)this.performUpload(e.next());this.upload._removeFileEntry(e)},onRequestProgress:function(e,t){var a=Math.round(e.loaded*100/e.total);var i=t.data("uid");var r;if(this.upload.options.async.chunkSize){r=this.metaData[i];a=r&&r.totalChunks?Math.round(r.chunkIndex/r.totalChunks*100):100}this.upload._onFileProgress({target:u(t,this.upload.wrapper)},a)},stopUploadRequest:function(e){if(e.data("request"))e.data("request").abort()},prepareChunk:function(e){var t=e.data("files")[0];var a=t.rawFile;var i=t.uid;var r=this.upload.options.async.chunkSize;this.position[i]=0;this.metaData[i]={chunkIndex:0,contentType:a.type,fileName:a.name,relativePath:t.name,totalFileSize:a.size,totalChunks:Math.ceil(a.size/r),uploadUid:i}},_decreaseChunkIndex:function(e){this.metaData[e].chunkIndex--},_increaseChunkIndex:function(e){this.metaData[e].chunkIndex++},_resetChunkIndex:function(e){this.metaData[e].chunkIndex=0},_decreasePosition:function(e){this.position[e]-=this.upload.options.async.chunkSize},_getCurrentChunk:function(e,t){var a=this.position[t];var i;var r=this.upload.options.async;var n=r.chunkSize||r.bufferChunkSize;if(!this.position[t])this.position[t]=0;this.position[t]+=n;if(!!(i=this._getChunker(e)))return e[i](a,this.position[t]);else return e},_getChunker:function(e){if(e.slice)return"slice";else if(e.mozSlice)return"mozSlice";else if(e.webkitSlice)return"webkitSlice";else return null}},f.ui.plugin(A),window.kendo})?i.apply(t,a):i)||(e.exports=t)}});