{"version":3,"sources":["kendo.upload.js"],"names":["f","define","$","undefined","getFileName","input","map","inputFiles","file","name","join","$input","files","getAllFileInfo","stripPath","value","extension","getFileExtension","size","rawFiles","getFileInfo","rawFile","fileName","kendo","htmlEncode","fileSize","matches","match","rFileExtension","slashIndex","lastIndexOf","substr","assignGuidToFiles","unique","uid","guid","validateFiles","validationInfo","i","allowedExtensions","parseAllowedExtensions","maxFileSize","minFileSize","length","validateFileExtension","validateFileSize","extensions","ext","parsedExt","substring","toLowerCase","indexOf","validationErrors","inArray","INVALIDFILEEXTENSION","push","INVALIDMINFILESIZE","INVALIDMAXFILESIZE","getTotalFilesSizeMessage","totalSize","toFixed","shouldRemoveFileEntry","upload","multiple","wrapper","removeUploadedFile","fileEntry","eventArgs","shouldSendRemoveRequest","fileNames","_supportsRemove","data","_removeFileEntry","_submitRemove","textStatus","xhr","prevented","trigger","SUCCESS","operation","response","XMLHttpRequest","ERROR","logToConsole","responseText","tryParseJSON","onSuccess","onError","success","json","JSON","parse","normalizeJSON","e","stopEvent","originalEvent","dataTransfer","dropEffect","stopPropagation","preventDefault","bindDragEventWrappers","element","namespace","onDragEnter","onDragLeave","hideInterval","lastDrag","on","Date","setInterval","sinceLastDrag","clearInterval","isFileUploadStarted","is","getFileEntry","target","closest","iframeUploadModule","formDataUploadModule","window","Widget","ui","antiForgeryTokens","NS","SELECT","UPLOAD","COMPLETE","CANCEL","CLEAR","PAUSE","RESUME","PROGRESS","REMOVE","VALIDATIONERRORS","PROGRESSHIDEDELAY","PROGRESSHIDEDURATION","FOCUS_STATE","TABINDEX","headerStatusIcon","loading","warning","Upload","extend","init","options","activeInput","ns","that","this","fn","call","directory","localization","_wrapInput","_activeInput","toggle","enabled","_ns","proxy","_onParentFormSubmit","_onParentFormReset","_initUploadModule","_toggleDropZone","_onFileAction","_onClearSelected","_onUploadSelected","_onKeyDown","_focusout","val","_onInputChange","events","showFileList","template","async","autoRetryAfter","bufferChunkSize","maxAutoRetries","removeVerb","autoUpload","withCredentials","accept","useArrayBuffer","select","cancel","retry","remove","pause","resume","clearSelectedFiles","uploadSelectedFiles","dropFilesHere","invalidFiles","statusUploading","statusUploaded","statusWarning","statusFailed","headerStatusUploading","headerStatusPaused","headerStatusUploaded","uploadSuccess","uploadFail","invalidMaxFileSize","invalidMinFileSize","invalidFileExtension","validation","dropZone","initialFiles","saveUrl","_module","_supportsFormData","_async","_renderInitialFiles","syncUploadModule","setOptions","off","attr","_supportsMultiple","enable","disable","toggleClass","prop","focus","destroy","customDropZone","document","add","onPause","pauseIcon","find","removeClass","addClass","parent","onResume","playIcon","onSaveSelected","getFiles","filesData","j","allFiles","listItems","clearAllFiles","each","index","_removeFileByDomElement","removeAllFiles","removeFileByUid","_removeFileByUid","clearFileByUid","clearFile","callback","_removeFile","removeFile","fileData","hasClass","onCancel","onRemove","_hideHeaderUploadstatus","_updateHeaderUploadStatus","_addInput","sourceInput","nodeType","clone","insertAfter","prefix","hide","removeAttr","_adjustFocusState","focusedItem","toFocus","_arrowKeyNavigation","key","kendoKeys","keys","DOWN","first","next","UP","prev","RIGHT","LEFT","_preventFocusRemove","_asyncCommandKeyNavigation","_retryClicked","ESC","_checkAllComplete","SPACEBAR","ENTER","chunkSize","concurrent","finish","show","metaData","prepareChunk","onRetry","_commandKeyNavigation","hasValidationErrors","_filesContainValidationErrors","headers","DELETE","TAB","commandKeys","keyCode","_inputFiles","_isAsyncNonBatch","onSelect","_readDirectory","item","deferred","Deferred","dirReader","createReader","allFolderFiles","readEntries","entries","concat","resolve","reject","promise","_readFile","fullpath","fullPath","relativePath","slice","droppedFolderFiles","droppedFolderCounter","setTimeout","_proceedDroppedItems","_traverseFileTree","skipCounter","then","items","isFile","isDirectory","_onDrop","entry","dt","droppedFiles","directoryDrop","webkitGetAsEntry","splice","hasErrors","batch","currentFile","idx","_enqueueFile","_fileAction","_prepareTemplateData","templateData","_prepareDefaultSingleFileEntryTemplate","fileGroup","getFileGroup","errors","_prepareDefaultMultipleFileEntriesTemplate","filesHaveValidationErrors","totalFileSize","sort","a","b","existingFileEntries","removeEventArgs","fileUid","fileList","appendTo","angular","elements","width","allCompletedFiles","allInvalidFiles","_hideActionButtons","fileElement","actionKey","skipClear","firstActionButton","classDictionary","iconsClassDictionary","hasOwnProperty","_clearFileAction","append","_renderAction","_fileState","stateKey","states","uploading","text","uploaded","failed","currentState","actionClass","actionText","iconClass","empty","button","icon","clearEventArgs","_onFileProgress","percentComplete","progressPct","prepend","_onUploadSuccess","fileInfo","_setUploadErrorState","after","_hideUploadProgress","_onUploadError","module","_decreasePosition","_autoRetryAfter","retries","performUpload","uploadPercentage","_updateUploadProgress","fileMetaData","totalChunks","Math","round","chunkIndex","delay","fadeOut","css","_showActionButtons","actionsWrapper","uploadButton","clearButton","_showHeaderUploadStatus","isUploading","headerUploadStatus","failedUploads","headerUploadStatusIcon","currentlyUploading","not","currentlyInvalid","currentlyFailed","currentlyPaused","html","onAbort","FormData","windows","_userAgent","support","browser","opera","safari","_supportsDrop","userAgent","isChrome","test","isSafari","isWindowsSafari","navigator","_setupDropZone","_bindDocumentDragEventWrappers","_setupCustomDropZone","removeUrl","removeField","params","jQuery","ajax","type","dataType","dataFilter","url","traditional","error","xhrFields","hasLabel","wrap","prototype","filesContainErrors","relatedInput","iframes","_frameId","prepareUpload","iframe","form","saveField","createFrame","registerFrame","createForm","frame","dataInput","fileValidation","cleanupFrame","unregisterFrame","body","prependTo","one","onIframeLoad","submit","started","contents","ex","processResponse","fakeXHR","jsonResult","statusText","status","stopFrameSubmit","id","action","stop","execCommand","grep","position","cancelled","paused","sourceElement","fileEntries","enqueueFiles","filesLength","webkitRelativePath","formData","createFormData","createXHR","removeFileEntry","populateFormData","FileReader","postFormData","reader","onload","fileArrayBuffer","_appendBuffer","result","err","onerror","readAsArrayBuffer","_getCurrentChunk","buffer1","buffer2","tmp","Uint8Array","byteLength","set","buffer","filter","prevEntry","stopUploadRequest","_increaseChunkIndex","addEventListener","onRequestSuccess","onRequestError","onRequestProgress","open","setRequestHeader","send","chunk","serializedMetaData","stringify","raiseError","parseSuccess","cleanupFileEntry","_resetChunkIndex","uploadComplete","isUploadButtonVisible","loaded","total","abort","contentType","ceil","uploadUid","_decreaseChunkIndex","methodToInvoke","oldPosition","_getChunker","mozSlice","webkitSlice","plugin","amd","a1","a2","a3"],"mappings":"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","file":"kendo.upload.min.js","sourcesContent":["/*!\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n*/\n(function (f, define) {\n define('kendo.upload', ['kendo.core'], f);\n}(function () {\n var __meta__ = {\n id: 'upload',\n name: 'Upload',\n category: 'web',\n description: 'The Upload widget uses progressive enhancement to deliver the best possible uploading experience to users.',\n depends: ['core']\n };\n (function ($, undefined) {\n var kendo = window.kendo, Widget = kendo.ui.Widget, antiForgeryTokens = kendo.antiForgeryTokens, logToConsole = kendo.logToConsole, rFileExtension = /\\.([^\\.]+)$/, NS = '.kendoUpload', SELECT = 'select', UPLOAD = 'upload', SUCCESS = 'success', ERROR = 'error', COMPLETE = 'complete', CANCEL = 'cancel', CLEAR = 'clear', PAUSE = 'pause', RESUME = 'resume', PROGRESS = 'progress', REMOVE = 'remove', VALIDATIONERRORS = 'validationErrors', INVALIDMAXFILESIZE = 'invalidMaxFileSize', INVALIDMINFILESIZE = 'invalidMinFileSize', INVALIDFILEEXTENSION = 'invalidFileExtension', PROGRESSHIDEDELAY = 1000, PROGRESSHIDEDURATION = 2000, FOCUS_STATE = 'k-state-focused', TABINDEX = 'tabindex';\n var headerStatusIcon = {\n loading: 'k-i-upload',\n warning: 'k-i-warning',\n success: 'k-i-check'\n };\n var Upload = Widget.extend({\n init: function (element, options) {\n var that = this;\n Widget.fn.init.call(that, element, options);\n that.name = element.name;\n that.multiple = that.options.multiple;\n that.directory = that.options.directory;\n that.localization = that.options.localization;\n var activeInput = that.element;\n that.wrapper = activeInput.closest('.k-upload');\n if (that.wrapper.length === 0) {\n that.wrapper = that._wrapInput(activeInput);\n }\n that._activeInput(activeInput);\n that.toggle(that.options.enabled);\n var ns = that._ns = NS + '-' + kendo.guid();\n activeInput.closest('form').on('submit' + ns, $.proxy(that._onParentFormSubmit, that)).on('reset' + ns, $.proxy(that._onParentFormReset, that));\n that._initUploadModule();\n that._toggleDropZone();\n that.wrapper.on('click', '.k-upload-action', $.proxy(that._onFileAction, that)).on('click', '.k-clear-selected', $.proxy(that._onClearSelected, that)).on('click', '.k-upload-selected', $.proxy(that._onUploadSelected, that)).on('keydown', $.proxy(that._onKeyDown, that)).on('focusout', $.proxy(that._focusout, that));\n if (that.element.val()) {\n that._onInputChange({ target: that.element });\n }\n },\n events: [\n SELECT,\n UPLOAD,\n SUCCESS,\n ERROR,\n COMPLETE,\n CANCEL,\n CLEAR,\n PROGRESS,\n REMOVE,\n PAUSE,\n RESUME\n ],\n options: {\n name: 'Upload',\n enabled: true,\n multiple: true,\n directory: false,\n showFileList: true,\n template: '',\n files: [],\n async: {\n autoRetryAfter: 0,\n bufferChunkSize: 10000000,\n maxAutoRetries: 1,\n removeVerb: 'POST',\n autoUpload: true,\n withCredentials: true,\n accept: '*/*; q=0.5, application/json',\n useArrayBuffer: false\n },\n localization: {\n 'select': 'Select files...',\n 'cancel': 'Cancel',\n 'retry': 'Retry',\n 'remove': 'Remove',\n 'pause': 'Pause',\n 'resume': 'Resume',\n 'clearSelectedFiles': 'Clear',\n 'uploadSelectedFiles': 'Upload',\n 'dropFilesHere': 'Drop files here to upload',\n 'invalidFiles': 'Invalid file(s). Please check file upload requirements.',\n 'statusUploading': 'uploading',\n 'statusUploaded': 'uploaded',\n 'statusWarning': 'warning',\n 'statusFailed': 'failed',\n 'headerStatusUploading': 'Uploading...',\n 'headerStatusPaused': 'Paused',\n 'headerStatusUploaded': 'Done',\n 'uploadSuccess': 'File(s) uploaded successfully.',\n 'uploadFail': 'File(s) failed to upload.',\n 'invalidMaxFileSize': 'File size too large.',\n 'invalidMinFileSize': 'File size too small.',\n 'invalidFileExtension': 'File type not allowed.'\n },\n validation: {\n allowedExtensions: [],\n maxFileSize: 0,\n minFileSize: 0\n },\n dropZone: ''\n },\n _initUploadModule: function () {\n var that = this, options = that.options;\n if (options.async.saveUrl) {\n that._module = that._supportsFormData() ? new formDataUploadModule(that) : new iframeUploadModule(that);\n that._async = true;\n var initialFiles = options.files;\n if (initialFiles.length > 0) {\n that._renderInitialFiles(initialFiles);\n }\n } else {\n that._module = new syncUploadModule(that);\n }\n },\n setOptions: function (options) {\n var that = this, activeInput = that.element;\n $(that.options.dropZone).off(that._ns);\n Widget.fn.setOptions.call(that, options);\n that.multiple = that.options.multiple;\n that.directory = that.options.directory;\n activeInput.attr('multiple', that._supportsMultiple() ? that.multiple : false);\n if (that.directory) {\n activeInput.attr('webkitdirectory', that.directory);\n activeInput.attr('directory', that.directory);\n }\n that.toggle(that.options.enabled);\n that._initUploadModule();\n that._toggleDropZone();\n },\n enable: function (enable) {\n enable = typeof enable === 'undefined' ? true : enable;\n this.toggle(enable);\n },\n disable: function () {\n this.toggle(false);\n },\n toggle: function (enable) {\n enable = typeof enable === 'undefined' ? enable : !enable;\n this.wrapper.toggleClass('k-state-disabled', enable);\n this.element.prop('disabled', enable);\n },\n focus: function () {\n this.element.trigger('focus');\n },\n destroy: function () {\n var that = this;\n var customDropZone = $(that.options.dropZone);\n $(document).add($('.k-dropzone', that.wrapper)).add(that.wrapper.closest('form')).off(that._ns);\n if (customDropZone.length > 0) {\n customDropZone.off(that._ns);\n }\n $(that.element).off(NS);\n Widget.fn.destroy.call(that);\n },\n pause: function (fileEntry) {\n this._module.onPause({ target: $(fileEntry, this.wrapper) });\n var pauseIcon = fileEntry.find('.k-i-pause-sm');\n pauseIcon.removeClass('k-i-pause-sm').addClass('k-i-play-sm').attr('title', this.localization.resume);\n $(pauseIcon).parent().attr('aria-label', this.localization.resume);\n },\n resume: function (fileEntry) {\n this._module.onResume({ target: $(fileEntry, this.wrapper) });\n var playIcon = fileEntry.find('.k-i-play-sm');\n playIcon.removeClass('k-i-play-sm').addClass('k-i-pause-sm').attr('title', this.localization.pause);\n $(playIcon).parent().attr('aria-label', this.localization.pause);\n },\n upload: function () {\n var that = this;\n that._module.onSaveSelected();\n },\n getFiles: function () {\n var that = this;\n var filesData;\n var allFiles = [];\n var listItems = that.wrapper.find('.k-file');\n for (var i = 0; i < listItems.length; i++) {\n filesData = $(listItems[i]).data('fileNames');\n if (filesData) {\n for (var j = 0; j < filesData.length; j++) {\n allFiles.push(filesData[j]);\n }\n }\n }\n return allFiles;\n },\n clearAllFiles: function () {\n var that = this;\n var files = that.wrapper.find('.k-file');\n files.each(function (index, file) {\n that._removeFileByDomElement(file, false);\n });\n },\n removeAllFiles: function () {\n var that = this;\n var files = that.wrapper.find('.k-file');\n files.each(function (index, file) {\n that._removeFileByDomElement(file, true);\n });\n },\n removeFileByUid: function (uid) {\n this._removeFileByUid(uid, true);\n },\n clearFileByUid: function (uid) {\n this._removeFileByUid(uid, false);\n },\n _removeFileByUid: function (uid, shouldSendRemoveRequest) {\n var that = this;\n var fileEntry;\n if (typeof uid !== 'string') {\n return;\n }\n fileEntry = $('.k-file[' + kendo.attr('uid') + '=\"' + uid + '\"]', that.wrapper);\n if (fileEntry.length > 0) {\n that._removeFileByDomElement(fileEntry, shouldSendRemoveRequest);\n }\n },\n clearFile: function (callback) {\n this._removeFile(callback, false);\n },\n removeFile: function (callback) {\n this._removeFile(callback, true);\n },\n _removeFile: function (callback, shouldSendRemoveRequest) {\n var that = this;\n var files = that.wrapper.find('.k-file');\n var fileData;\n if (typeof callback === 'function') {\n files.each(function (index, file) {\n fileData = $(file).data('fileNames');\n if (callback(fileData)) {\n that._removeFileByDomElement(file, shouldSendRemoveRequest);\n }\n });\n }\n },\n _removeFileByDomElement: function (fileEntry, shouldSendRemoveRequest) {\n var that = this;\n var fileData = { target: $(fileEntry, that.wrapper) };\n var allFiles;\n if (that.options.async.saveUrl) {\n if ($(fileEntry).hasClass('k-file-progress')) {\n that._module.onCancel(fileData);\n } else {\n that._module.onRemove(fileData, {}, shouldSendRemoveRequest);\n }\n allFiles = $('.k-file', that.wrapper);\n if (allFiles.length === 0) {\n that._hideHeaderUploadstatus();\n } else {\n that._updateHeaderUploadStatus();\n }\n } else {\n that._module.onRemove(fileData, {}, shouldSendRemoveRequest);\n }\n },\n _addInput: function (sourceInput) {\n if (!sourceInput[0].nodeType) {\n return;\n }\n var that = this, input = sourceInput.clone().val('');\n input.insertAfter(that.element).data('kendo' + that.options.prefix + that.options.name, that);\n $(that.element).hide().attr(TABINDEX, '-1').removeAttr('id').off(NS);\n that._activeInput(input);\n that.element.trigger('focus');\n },\n _activeInput: function (input) {\n var that = this, wrapper = that.wrapper;\n that.element = input;\n if (that.directory) {\n input.attr('webkitdirectory', that.directory);\n input.attr('directory', that.directory);\n }\n input.attr('multiple', that._supportsMultiple() ? that.multiple : false).attr('autocomplete', 'off').on('click' + NS, function (e) {\n if (wrapper.hasClass('k-state-disabled')) {\n e.preventDefault();\n }\n }).on('focus' + NS, function () {\n $(this).parent().addClass(FOCUS_STATE);\n }).on('blur' + NS, function () {\n $(this).parent().removeClass(FOCUS_STATE);\n }).on('change' + NS, $.proxy(that._onInputChange, that));\n },\n _adjustFocusState: function (focusedItem, toFocus) {\n focusedItem.removeClass(FOCUS_STATE);\n focusedItem.attr(TABINDEX, -1);\n toFocus.addClass(FOCUS_STATE);\n toFocus.attr(TABINDEX, 0);\n },\n _arrowKeyNavigation: function (key, focusedItem) {\n var that = this, kendoKeys = kendo.keys, toFocus;\n if (key === kendoKeys.DOWN) {\n toFocus = that.wrapper.find('.k-upload-files .k-file').first();\n if (focusedItem.length > 0) {\n if (focusedItem.hasClass('k-upload-action')) {\n focusedItem.removeClass(FOCUS_STATE);\n focusedItem = focusedItem.closest('.k-file');\n }\n toFocus = focusedItem.next();\n }\n that._adjustFocusState(focusedItem, toFocus);\n if (!toFocus || toFocus.length === 0) {\n toFocus = that.wrapper.find('.k-clear-selected');\n }\n } else if (key === kendoKeys.UP) {\n toFocus = that.wrapper.find('.k-upload-files .k-file:last');\n if (focusedItem.length > 0) {\n if (focusedItem.hasClass('k-upload-action')) {\n focusedItem.removeClass(FOCUS_STATE);\n focusedItem = focusedItem.closest('.k-file');\n }\n toFocus = focusedItem.prev();\n }\n that._adjustFocusState(focusedItem, toFocus);\n } else if (key === kendoKeys.RIGHT) {\n if (focusedItem.hasClass('k-upload-action')) {\n toFocus = focusedItem.next('.k-upload-action');\n if (!toFocus || toFocus.length === 0) {\n toFocus = focusedItem.parent().find('.k-upload-action:first');\n }\n } else if (focusedItem.length > 0) {\n toFocus = focusedItem.find('.k-upload-action:first');\n }\n if (toFocus && toFocus.length > 0) {\n focusedItem.removeClass(FOCUS_STATE);\n toFocus.addClass(FOCUS_STATE);\n }\n } else if (key === kendoKeys.LEFT) {\n if (focusedItem.hasClass('k-upload-action')) {\n toFocus = focusedItem.prev('.k-upload-action');\n if (!toFocus || toFocus.length === 0) {\n toFocus = focusedItem.parent().find('.k-upload-action:last');\n }\n } else if (focusedItem.length > 0) {\n toFocus = focusedItem.find('.k-upload-action:last');\n }\n if (toFocus && toFocus.length > 0) {\n focusedItem.removeClass(FOCUS_STATE);\n toFocus.addClass(FOCUS_STATE);\n }\n }\n if ((!toFocus || toFocus.length === 0) && (key === kendoKeys.UP || key === kendoKeys.DOWN)) {\n toFocus = that.element;\n }\n if (toFocus && toFocus.length > 0) {\n that._preventFocusRemove = true;\n toFocus.trigger('focus');\n }\n },\n _asyncCommandKeyNavigation: function (key, focusedItem, eventArgs) {\n var that = this, kendoKeys = kendo.keys, fileEntry = $(focusedItem, that.wrapper);\n that._retryClicked = false;\n if (key === kendoKeys.ESC && focusedItem.find('.k-i-cancel').length > 0) {\n that.trigger(CANCEL, eventArgs);\n that._module.onCancel({ target: fileEntry });\n that._checkAllComplete();\n that._updateHeaderUploadStatus();\n that._preventFocusRemove = true;\n that.element.trigger('focus');\n } else if (key === kendoKeys.SPACEBAR) {\n if (focusedItem.find('.k-i-pause-sm').length > 0) {\n that.trigger(PAUSE, eventArgs);\n that.pause(focusedItem);\n that._updateHeaderUploadStatus();\n } else if (focusedItem.find('.k-i-play-sm').length > 0) {\n that.trigger(RESUME, eventArgs);\n that.resume(focusedItem);\n }\n } else if (key === kendoKeys.ENTER && !focusedItem.is('.k-file-progress, .k-file-success, .k-file-invalid')) {\n if (that.options.async.chunkSize && !that.options.async.concurrent && $('.k-file-progress', that.wrapper).length > 0) {\n return;\n }\n $('.k-i-warning', focusedItem).remove();\n $('.k-progressbar', focusedItem).finish().show();\n if (!that._module.metaData[fileEntry.data('uid')]) {\n that._module.prepareChunk(fileEntry);\n }\n that._module.onRetry({ target: fileEntry });\n that._retryClicked = true;\n }\n },\n _commandKeyNavigation: function (key, focusedItem) {\n var that = this, kendoKeys = kendo.keys, files = focusedItem.data('fileNames'), hasValidationErrors = that._filesContainValidationErrors(files), eventArgs = {\n files: files,\n headers: {}\n };\n if (key === kendoKeys.DELETE) {\n if (!that.trigger(REMOVE, eventArgs)) {\n that._module.onRemove({ target: $(focusedItem, that.wrapper) }, eventArgs, !hasValidationErrors);\n that._preventFocusRemove = true;\n that.element.trigger('focus');\n }\n } else if (key === kendoKeys.TAB) {\n focusedItem.removeClass(FOCUS_STATE);\n focusedItem.attr(TABINDEX, -1);\n } else if (!!that.options.async.saveUrl) {\n that._asyncCommandKeyNavigation(key, focusedItem, eventArgs);\n }\n },\n _focusout: function () {\n var focusedItem = this.wrapper.find('.k-upload-files .k-file.' + FOCUS_STATE);\n if (!this._preventFocusRemove) {\n focusedItem.removeClass(FOCUS_STATE);\n focusedItem.attr(TABINDEX, -1);\n } else {\n this._preventFocusRemove = false;\n }\n },\n _onKeyDown: function (e) {\n var that = this, focusedItem = that.wrapper.find('.k-upload-files .k-file.' + FOCUS_STATE + ',' + '.k-upload-action.' + FOCUS_STATE), kendoKeys = kendo.keys, commandKeys = [\n kendoKeys.DELETE,\n kendoKeys.ESC,\n kendoKeys.ENTER,\n kendoKeys.SPACEBAR,\n kendoKeys.TAB\n ], key = e.keyCode;\n if (key === kendoKeys.DOWN || key === kendoKeys.UP || key === kendoKeys.LEFT || key === kendoKeys.RIGHT) {\n e.preventDefault();\n e.stopPropagation();\n that._arrowKeyNavigation(key, focusedItem);\n } else if (focusedItem.length > 0 && focusedItem.hasClass('k-file') && commandKeys.indexOf(key) > -1 && !that.wrapper.hasClass('k-state-disabled')) {\n if (key === kendoKeys.SPACEBAR) {\n e.preventDefault();\n e.stopPropagation();\n }\n that._commandKeyNavigation(key, focusedItem);\n }\n },\n _onInputChange: function (e) {\n var that = this;\n var input = $(e.target);\n var files = assignGuidToFiles(that._inputFiles(input), that._isAsyncNonBatch());\n validateFiles(files, that.options.validation);\n var prevented = that.trigger(SELECT, { files: files });\n if (prevented) {\n that._addInput(input);\n input.remove();\n } else {\n that._module.onSelect({ target: input }, files);\n }\n },\n _readDirectory: function (item) {\n var deferred = new $.Deferred();\n var dirReader = item.createReader();\n var allFolderFiles = [];\n var readEntries = function () {\n dirReader.readEntries(function (entries) {\n if (!entries.length) {\n deferred.resolve(allFolderFiles);\n } else {\n allFolderFiles = allFolderFiles.concat(entries);\n readEntries();\n }\n }, deferred.reject);\n };\n readEntries();\n return deferred.promise();\n },\n _readFile: function (item) {\n var that = this;\n var fullpath = item.fullPath;\n item.file(function (file) {\n file.relativePath = fullpath.slice(1);\n that.droppedFolderFiles.push(file);\n that.droppedFolderCounter--;\n if (that.droppedFolderCounter === 0) {\n setTimeout(function () {\n if (that.droppedFolderCounter === 0) {\n if (that.droppedFolderFiles.length) {\n that._proceedDroppedItems(that.droppedFolderFiles);\n that.droppedFolderFiles = [];\n }\n }\n }, 0);\n }\n }, function () {\n logToConsole('File error.');\n });\n },\n _traverseFileTree: function (item, skipCounter) {\n var that = this;\n if (!skipCounter) {\n that.droppedFolderCounter--;\n }\n this._readDirectory(item).then(function (items) {\n that.droppedFolderCounter += items.length;\n for (var i = 0; i < items.length; i++) {\n if (items[i].isFile) {\n that._readFile(items[i]);\n } else if (items[i].isDirectory) {\n that._traverseFileTree(items[i]);\n }\n }\n });\n },\n _onDrop: function (e) {\n var dt = e.originalEvent.dataTransfer;\n var that = this;\n var droppedFiles = dt.files;\n var length;\n stopEvent(e);\n if (that.options.directoryDrop && dt.items) {\n length = dt.items.length;\n that.droppedFolderCounter = 0;\n that.droppedFolderFiles = [];\n for (var i = 0; i < length; i++) {\n if (dt.items[i].webkitGetAsEntry) {\n var entry = dt.items[i].webkitGetAsEntry();\n if (entry.isDirectory) {\n that._traverseFileTree(entry, true);\n } else if (entry.isFile) {\n that.droppedFolderFiles.push(dt.files[i]);\n }\n } else {\n that._proceedDroppedItems(droppedFiles);\n }\n }\n } else {\n that._proceedDroppedItems(droppedFiles);\n }\n },\n _proceedDroppedItems: function (droppedFiles) {\n var that = this;\n var files = assignGuidToFiles(getAllFileInfo(droppedFiles), that._isAsyncNonBatch());\n if (droppedFiles.length > 0 && !that.wrapper.hasClass('k-state-disabled')) {\n if (!that.multiple && files.length > 1) {\n files.splice(1, files.length - 1);\n }\n validateFiles(files, that.options.validation);\n var prevented = that.trigger(SELECT, { files: files });\n if (!prevented) {\n that._module.onSelect({ target: $('.k-dropzone', that.wrapper) }, files);\n }\n }\n },\n _filesContainValidationErrors: function (files) {\n var hasErrors = false;\n $(files).each(function (index, file) {\n if (file[VALIDATIONERRORS] && file[VALIDATIONERRORS].length > 0) {\n hasErrors = true;\n return false;\n }\n });\n return hasErrors;\n },\n _isAsyncNonBatch: function () {\n return this._async && !this.options.async.batch || false;\n },\n _renderInitialFiles: function (files) {\n var that = this;\n var idx = 0;\n files = assignGuidToFiles(files, true);\n for (idx = 0; idx < files.length; idx++) {\n var currentFile = files[idx];\n var fileEntry = that._enqueueFile(currentFile.name, { fileNames: [currentFile] });\n fileEntry.addClass('k-file-success').data('files', [files[idx]]);\n if (that._supportsRemove()) {\n that._fileAction(fileEntry, REMOVE);\n }\n }\n },\n _prepareTemplateData: function (name, data) {\n var filesData = data.fileNames, templateData = {}, totalSize = 0, idx = 0;\n for (idx = 0; idx < filesData.length; idx++) {\n totalSize += filesData[idx].size;\n }\n templateData.name = name;\n templateData.size = totalSize;\n templateData.files = data.fileNames;\n return templateData;\n },\n _prepareDefaultSingleFileEntryTemplate: function (data) {\n var that = this;\n var file = data.fileNames[0];\n var fileSize = getTotalFilesSizeMessage(data.fileNames);\n var fileGroup = kendo.getFileGroup(file.extension, true);\n var errors = file[VALIDATIONERRORS];\n var template = '';\n if (errors && errors.length > 0) {\n template += '