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