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