UNPKG

@progress/kendo-ui

Version:

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

1 lines 14.5 kB
module.exports=function(e){function t(i){if(a[i])return a[i].exports;var o=a[i]={exports:{},id:i,loaded:!1};return e[i].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var a={};return t.m=e,t.c=a,t.p="",t(0)}({0:function(e,t,a){e.exports=a(1236)},3:function(e,t){e.exports=function(){throw Error("define cannot be used indirect")}},1054:function(e,t){e.exports=require("./kendo.dropdownlist")},1236:function(e,t,a){var i,o,r;!function(n,define){o=[a(1237),a(1054),a(1238),a(1239)],i=n,r="function"==typeof i?i.apply(t,o):i,!(void 0!==r&&(e.exports=r))}(function(){return function(e,t){function a(e,t,a){var i,o;e.on("dragenter"+_,function(){t(),o=new Date,i||(i=setInterval(function(){var e=new Date-o;e>100&&(a(),clearInterval(i),i=null)},100))}).on("dragover"+_,function(){o=new Date})}function i(e,a){return e!==t&&e.match(/\/$/)||(e=(e||"")+"/"),e+a}function o(e){if(!e)return"";var t=" bytes";return e>=1073741824?(t=" GB",e/=1073741824):e>=1048576?(t=" MB",e/=1048576):e>=1024&&(t=" KB",e/=1024),Math.round(100*e)/100+t}function r(e,t){var a=e[t];return c(a)?a.from||a.field||t:a}var n,s,l=window.kendo,d=l.ui.Widget,c=e.isPlainObject,u=e.proxy,p=e.extend,f=l.support.placeholder,h=l.isFunction,v=/(^\/|\/$)/g,m="change",k="apply",w="error",g="click",_=".kendoFileBrowser",b=".kendoSearchBox",y="name",x="size",S="type",F={field:S,dir:"asc"},B=l.template('<div class="k-listview-item k-listview-item-empty"><span class="k-file-preview"><span class="k-file-icon k-icon k-i-none"></span></span><span class="k-file-name">${text}</span></div>'),T='<div class="k-widget k-filebrowser-toolbar k-toolbar k-floatwrap"># if (showCreate) { #<button type="button" class="k-button k-icon-button"><span class="k-icon k-i-folder-add"></span></button># } ## if (showUpload) { # <div class="k-widget k-upload"><div class="k-button k-button-icontext k-upload-button"><span class="k-icon k-i-plus"></span>#=messages.uploadFile#<input type="file" name="file" /></div></div># } ## if (showDelete) { #<button type="button" class="k-button k-button-icon k-state-disabled"><span class="k-icon k-i-close"></span></button># } #<div class="k-tiles-arrange"><label>#=messages.orderBy#: <select></select></label></div><span class="k-toolbar-spacer" /><input data-role="searchbox" /></div>';p(!0,l.data,{schemas:{filebrowser:{data:function(e){return e.items||e||[]},model:{id:"name",fields:{name:"name",size:"size",type:"type"}}}}}),p(!0,l.data,{transports:{filebrowser:l.data.RemoteTransport.extend({init:function(t){l.data.RemoteTransport.fn.init.call(this,e.extend(!0,{},this.options,t))},_call:function(t,a){a.data=e.extend({},a.data,{path:this.options.path()}),h(this.options[t])?this.options[t].call(this,a):l.data.RemoteTransport.fn[t].call(this,a)},read:function(e){this._call("read",e)},create:function(e){this._call("create",e)},destroy:function(e){this._call("destroy",e)},update:function(){},options:{read:{type:"POST"},update:{type:"POST"},create:{type:"POST"},destroy:{type:"POST"}}})}}),n=d.extend({init:function(e,t){var a=this;t=t||{},d.fn.init.call(a,e,t),a.element.addClass("k-filebrowser"),a.element.on(g+_,".k-filebrowser-toolbar button:not(.k-state-disabled):has(.k-i-close)",u(a._deleteClick,a)).on(g+_,".k-filebrowser-toolbar button:not(.k-state-disabled):has(.k-i-folder-add)",u(a._addClick,a)).on("keydown"+_,".k-listview-item.k-state-selected input",u(a._directoryKeyDown,a)).on("blur"+_,".k-listview-item.k-state-selected input",u(a._directoryBlur,a)),a._dataSource(),a.refresh(),a.path(a.options.path)},options:{name:"FileBrowser",messages:{uploadFile:"Upload",orderBy:"Arrange by",orderByName:"Name",orderBySize:"Size",directoryNotFound:"A directory with this name was not found.",emptyFolder:"Empty Folder",deleteFile:'Are you sure you want to delete "{0}"?',invalidFileType:'The selected file "{0}" is not valid. Supported file types are {1}.',overwriteFile:'A file with name "{0}" already exists in the current directory. Do you want to overwrite it?',dropFilesHere:"drop file here to upload",search:"Search"},transport:{},path:"/",fileTypes:"*.*"},events:[w,m,k],destroy:function(){var e=this;d.fn.destroy.call(e),e.dataSource.unbind(w,e._errorHandler),e.element.add(e.list).add(e.toolbar).off(_),l.destroy(e.element)},value:function(){var e,t=this,a=t._selectedItem(),o=t.options.transport.fileUrl;if(a&&"f"===a.get(S))return e=i(t.path(),a.get(y)).replace(v,""),o&&(e=h(o)?o(e):l.format(o,encodeURIComponent(e))),e},_selectedItem:function(){var e=this.listView,t=e.select();if(t.length)return this.dataSource.getByUid(t.attr(l.attr("uid")))},_toolbar:function(){var t=this,a=l.template(T),i=t.options.messages,o=[{text:i.orderByName,value:"name"},{text:i.orderBySize,value:"size"}];t.toolbar=e(a({messages:i,showUpload:t.options.transport.uploadUrl,showCreate:t.options.transport.create,showDelete:t.options.transport.destroy})).appendTo(t.element).find(".k-upload input").kendoUpload({multiple:!1,localization:{dropFilesHere:i.dropFilesHere},async:{saveUrl:t.options.transport.uploadUrl,autoUpload:!0},upload:u(t._fileUpload,t),error:function(e){t._error({xhr:e.XMLHttpRequest,status:"error"})}}).end(),t.upload=t.toolbar.find(".k-upload input").data("kendoUpload"),t.arrangeBy=t.toolbar.find(".k-tiles-arrange select").kendoDropDownList({dataSource:o,dataTextField:"text",dataValueField:"value",change:function(){t.orderBy(this.value())}}).data("kendoDropDownList"),t.searchBox=t.toolbar.find("input[data-role='searchbox']").kendoSearchBox({label:t.options.messages.search,change:function(){t.search(this.value())}}).data("kendoSearchBox"),t._attachDropzoneEvents()},_attachDropzoneEvents:function(){var t=this;t.options.transport.uploadUrl&&(a(e(document.documentElement),e.proxy(t._dropEnter,t),e.proxy(t._dropLeave,t)),t._scrollHandler=u(t._positionDropzone,t))},_dropEnter:function(){this._positionDropzone(),e(document).on("scroll"+_,this._scrollHandler)},_dropLeave:function(){this._removeDropzone(),e(document).off("scroll"+_,this._scrollHandler)},_positionDropzone:function(){var e=this,t=e.element,a=t.offset();e.toolbar.find(".k-dropzone").addClass("k-filebrowser-dropzone").offset(a).css({width:t[0].clientWidth,height:t[0].clientHeight,lineHeight:t[0].clientHeight+"px"})},_removeDropzone:function(){this.toolbar.find(".k-dropzone").removeClass("k-filebrowser-dropzone").css({width:"",height:"",lineHeight:"",top:"",left:""})},_deleteClick:function(){var e=this,t=e.listView.select(),a=l.format(e.options.messages.deleteFile,t.find(".k-file-name").text());t.length&&e._showMessage(a,"confirm")&&e.listView.remove(t)},_addClick:function(){this.createDirectory()},_getFieldName:function(e){return r(this.dataSource.reader.model.fields,e)},_fileUpload:function(e){var t,a=this,i=a.options,o=i.fileTypes,r=RegExp(("("+o.split(",").join(")|(")+")").replace(/\*\./g,".*."),"i"),n=e.files[0].name,s=e.files[0].size,d=y,c=x;r.test(n)?(e.data={path:a.path()},t=a._createFile(n,s),t?a.upload.one("success",function(e){var i=a._insertFileToList(t);i._override&&(i.set(d,e.response[a._getFieldName(d)]),i.set(c,e.response[a._getFieldName(c)]),a.listView.dataSource.pushUpdate(i)),a._tiles=a.listView.items().filter("["+l.attr("type")+"=f]")}):e.preventDefault()):(e.preventDefault(),a._showMessage(l.format(i.messages.invalidFileType,n,o)))},_findFile:function(e){var t,a,i,o=this.dataSource.data(),r=S,n=y;for(e=e.toLowerCase(),t=0,i=o.length;t<i;t++)if("f"===o[t].get(r)&&o[t].get(n).toLowerCase()===e){a=o[t];break}return a},_createFile:function(e,t){var a=this,i={},o=S,r=a._findFile(e);return r?a._showMessage(l.format(a.options.messages.overwriteFile,e),"confirm")?(r._override=!0,r):null:(i[o]="f",i[y]=e,i[x]=t,i)},_insertFileToList:function(e){var t,a,i,o,r;if(e._override)return e;for(a=this.dataSource,i=a.view(),o=0,r=i.length;o<r;o++)if("f"===i[o].get(S)){t=o;break}return a.insert(++t,e)},createDirectory:function(){var e,t,a=this,i=0,o=S,r=y,n=a.dataSource.data(),s=a._nameDirectory(),d=new a.dataSource.reader.model;for(e=0,t=n.length;e<t;e++)"d"===n[e].get(o)&&(i=e);d.set(o,"d"),d.set(r,s),a.listView.one("dataBound",function(){var e=a.listView.items().filter("["+l.attr("uid")+"="+d.uid+"]");e.length&&this.edit(e),this.element.scrollTop(e.attr("offsetTop")-this.element[0].offsetHeight),setTimeout(function(){a.listView.element.find(".k-edit-item input").select()})}).one("save",function(e){var t=e.model.get(r);t?e.model.set(r,a._nameExists(t,d.uid)?a._nameDirectory():t):e.model.set(r,s)}),a.dataSource.insert(++i,d)},_directoryKeyDown:function(e){13==e.keyCode&&e.currentTarget.blur()},_directoryBlur:function(){this.listView.save()},_nameExists:function(e,t){var a,i,o=this.dataSource.data(),r=S,n=y;for(a=0,i=o.length;a<i;a++)if("d"===o[a].get(r)&&o[a].get(n).toLowerCase()===e.toLowerCase()&&o[a].uid!==t)return!0;return!1},_nameDirectory:function(){var t,a,i,o="New folder",r=this.dataSource.data(),n=[],s=S,l=y;for(a=0,i=r.length;a<i;a++)"d"===r[a].get(s)&&r[a].get(l).toLowerCase().indexOf(o.toLowerCase())>-1&&n.push(r[a].get(l));if(e.inArray(o,n)>-1){a=2;do t=o+" ("+a+")",a++;while(e.inArray(t,n)>-1);o=t}return o},orderBy:function(e){this.dataSource.sort([{field:S,dir:"asc"},{field:e,dir:"asc"}])},search:function(e){this.dataSource.filter({field:y,operator:"contains",value:e})},_content:function(){var t=this;t.list=e('<div class="k-filemanager-listview" />').appendTo(t.element).on("dblclick"+_,".k-listview-item",u(t._dblClick,t)),t.listView=new l.ui.ListView(t.list,{layout:"flex",flex:{direction:"row",wrap:"wrap"},dataSource:t.dataSource,template:t._itemTmpl(),editTemplate:t._editTmpl(),selectable:!0,autoBind:!1,dataBinding:function(e){t.toolbar.find(".k-i-close").parent().addClass("k-state-disabled"),"remove"!==e.action&&"sync"!==e.action||(e.preventDefault(),l.ui.progress(t.listView.content,!1))},dataBound:function(){t.dataSource.view().length?t._tiles=this.items().filter("["+l.attr("type")+"=f]"):this.content.append(B({text:t.options.messages.emptyFolder}))},change:u(t._listViewChange,t)})},_dblClick:function(t){var a,o=this,r=e(t.currentTarget);r.hasClass("k-edit-item")&&o._directoryBlur(),r.filter("["+l.attr("type")+"=d]").length?(a=o.dataSource.getByUid(r.attr(l.attr("uid"))),a&&(o.path(i(o.path(),a.get(y))),o.breadcrumbs.value("/"+o.path()))):r.filter("["+l.attr("type")+"=f]").length&&o.trigger(k)},_listViewChange:function(){var e=this._selectedItem();e&&(this.toolbar.find(".k-i-close").parent().removeClass("k-state-disabled"),this.trigger(m,{selected:e}))},_dataSource:function(){var e,t=this,a=t.options,i=a.transport,o=p({},F),r={field:y,dir:"asc"},n={type:i.type||"filebrowser",sort:[o,r]};c(i)&&(i.path=u(t.path,t),n.transport=i),c(a.schema)?n.schema=a.schema:i.type&&c(l.data.schemas[i.type])&&(e=l.data.schemas[i.type]),t.dataSource&&t._errorHandler?t.dataSource.unbind(w,t._errorHandler):t._errorHandler=u(t._error,t),t.dataSource=l.data.DataSource.create(n).bind(w,t._errorHandler)},_navigation:function(){var t=this,a=e('<div class="k-floatwrap"><nav></nav></div>').appendTo(this.element);t.breadcrumbs=a.find("nav:first").kendoBreadcrumb({editable:!0,gap:50,value:t.options.path||"/",change:function(){t.path(this.value())}}).data("kendoBreadcrumb")},_error:function(e){var t,a,i=this;i.trigger(w,e)||(t=e.xhr.status,"error"==e.status?"404"==t?i._showMessage(i.options.messages.directoryNotFound):"0"!=t&&i._showMessage("Error! The requested URL returned "+t+" - "+e.xhr.statusText):"timeout"==t&&i._showMessage("Error! Server timeout."),a=i.dataSource,a.hasChanges()&&a.cancelChanges())},_showMessage:function(e,t){return window[t||"alert"](e)},refresh:function(){var e=this;e._navigation(),e._toolbar(),e._content()},_editTmpl:function(){var e='<div class="k-listview-item k-state-selected" '+l.attr("uid")+'="#=uid#" ';return e+=l.attr("type")+'="${'+S+'}">',e+="#if("+S+' == "d") { #',e+='<div class="k-file-preview"><span class="k-file-icon k-icon k-i-folder"></span></div>',e+="#}else{#",e+='<div class="k-file-preview"><span class="k-file-icon k-icon k-i-loading"></span></div>',e+="#}#",e+="#if("+S+' == "d") { #',e+='<span class="k-file-name"><input class="k-textbox" '+l.attr("bind")+'="value:'+y+'"/></span>',e+="#}#",e+="</div>",u(l.template(e),{sizeFormatter:o})},_itemTmpl:function(){var e='<div class="k-listview-item" '+l.attr("uid")+'="#=uid#" ';return e+=l.attr("type")+'="${'+S+'}">',e+="#if("+S+' == "d") { #',e+='<div class="k-file-preview"><span class="k-file-icon k-icon k-i-folder"></span></div>',e+="#}else{#",e+='<div class="k-file-preview"><span class="k-file-icon k-icon k-i-file"></span></div>',e+="#}#",e+='<span class="k-file-name">${'+y+"}</span>",e+="#if("+S+' == "f") { # <span class="k-file-size">${this.sizeFormatter('+x+")}</span> #}#",e+="</div>",u(l.template(e),{sizeFormatter:o})},path:function(e){var a=this,i=a._path||"";return e!==t?(a._path=e.replace(v,"")+"/",a.dataSource.read({path:a._path}),t):(i&&(i=i.replace(v,"")),"/"===i||""===i?"":i+"/")}}),s=d.extend({init:function(e,t){var a=this;t=t||{},d.fn.init.call(a,e,t),f&&a.element.attr("placeholder",a.options.label),a._wrapper(),a.element.on("keydown"+b,u(a._keydown,a)).on("change"+b,u(a._updateValue,a)),a.wrapper.on(g+b,"a",u(a._click,a)),f||a.element.on("focus"+b,u(a._focus,a)).on("blur"+b,u(a._blur,a))},options:{name:"SearchBox",label:"Search",value:""},events:[m],destroy:function(){var e=this;e.wrapper.add(e.element).add(e.label).off(b),d.fn.destroy.call(e)},_keydown:function(e){13===e.keyCode&&this._updateValue()},_click:function(e){e.preventDefault(),this._updateValue()},_updateValue:function(){var e=this,t=e.element.val();t!==e.value()&&(e.value(t),e.trigger(m))},_blur:function(){this._updateValue(),this._toggleLabel()},_toggleLabel:function(){f||this.label.toggle(!this.element.val())},_focus:function(){this.label.hide()},_wrapper:function(){var t=this.element,a=t.parents(".k-search-wrap");t[0].style.width="",t.addClass("k-input"),a.length||(a=t.wrap(e('<div class="k-widget k-search-wrap k-textbox"/>')).parent(),f||e('<label style="display:block">'+this.options.label+"</label>").insertBefore(t),e('<a href="#" class="k-icon k-i-zoom k-search"/>').appendTo(a)),this.wrapper=a,this.label=a.find(">label")},value:function(e){var a=this;return e!==t?(a.options.value=e,a.element.val(e),a._toggleLabel(),t):a.options.value}}),l.ui.plugin(n),l.ui.plugin(s)}(window.kendo.jQuery),window.kendo},a(3))},1237:function(e,t){e.exports=require("./kendo.listview")},1238:function(e,t){e.exports=require("./kendo.upload")},1239:function(e,t){e.exports=require("./kendo.breadcrumb")}});