UNPKG

@progress/kendo-ui

Version:

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

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