@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
1 lines • 19.2 kB
JavaScript
module.exports=function(e){function i(a){if(t[a])return t[a].exports;var n=t[a]={exports:{},id:a,loaded:!1};return e[a].call(n.exports,n,n.exports,i),n.loaded=!0,n.exports}var t={};return i.m=e,i.c=t,i.p="",i(0)}({0:function(e,i,t){e.exports=t(1203)},3:function(e,i){e.exports=function(){throw Error("define cannot be used indirect")}},1158:function(e,i){e.exports=require("./kendo.resizable")},1201:function(e,i){e.exports=require("./kendo.upload")},1202:function(e,i){e.exports=require("./kendo.breadcrumb")},1203:function(e,i,t){var a,n,o;!function(r,define){n=[t(1208),t(1205),t(1206),t(1207),t(1204),t(1202),t(1201),t(1209),t(1158)],a=r,o="function"==typeof a?a.apply(i,n):a,!(void 0!==o&&(e.exports=o))}(function(){return function(e,i){var t=kendo.ui,a=e.extend,n=e.isPlainObject,o=e.isArray,r=t.DataBoundWidget,s=e.proxy,d=kendo.template,l=kendo._outerHeight,c="navigate",p="select",u="open",m="error",f="change",g="upload",v="success",w="close",h="hide",_="load",b="dataBinding",C="dataBound",k="drop",y="execute",D="keydownAction",x="tree",S=".",z={wrapper:"k-widget k-filemanager",header:"k-filemanager-header",navigation:"k-filemanager-navigation",contentContainer:"k-filemanager-content-container",content:"k-filemanager-content",preview:"k-filemanager-preview",toolbar:"k-filemanager-toolbar",treeview:"k-filemanager-treeview",breadcrumb:"k-filemanager-breadcrumb",view:"k-filemanager-view",grid:"k-filemanager-grid",list:"k-filemanager-listview",upload:"k-filemanager-upload",uploadDialog:"k-filemanager-upload-dialog",splitBar:"k-splitbar",splitBarHorizontal:"k-splitbar-horizontal k-splitbar-draggable-horizontal",splitBarHover:"k-splitbar-horizontal-hover",splitBarIcon:"k-icon k-resize-handle",splitBarNavigation:"k-filemanager-splitbar-navigation",splitBarPreview:"k-filemanager-splitbar-preview",resizable:"k-filemanager-resizable"},F={filePreview:"k-file-preview",fileInfo:"k-file-info",fileName:"k-file-name",fileMeta:"k-file-meta",metaLabel:"k-file-meta-label",metaValue:"k-file-meta-value",extension:"k-file-type",size:"k-file-size",created:"k-file-created",modified:"k-file-modified"},P={grid:"grid",list:"list"},T='<div class="#=styles.fileInfo#"><div class="#=styles.filePreview#"><span class="k-file-icon k-icon k-i-none"></span></div><span class="#=styles.fileName#" k-no-file-selected>#= messages.noFileSelected #</span></div>',V='<div class="#=styles.fileInfo#"><div class="#=styles.filePreview#"><span class="k-file-icon k-icon k-i-#= !selection[0].isDirectory ? kendo.getFileGroup(selection[0].extension, true) : "folder" #"></span></div><span class="#=styles.fileName#">#=selection[0].name#</span>#if(metaFields){#<dl class="#=styles.fileMeta#">#for(var i = 0; i < metaFields.length; i+=1){##var field = metaFields[i]#<dt class="#=styles.metaLabel#">#=messages[field]#: </dt><dd class="#=styles.metaValue# #=styles[field]#">#if(field == "size"){# #=kendo.getFileSizeMessage(selection[0][field])##} else if(selection[0][field] instanceof Date) {# #=kendo.toString(selection[0][field], "G")##} else if(field == "extension") {# #= !selection[0].isDirectory ? kendo.getFileGroup(selection[0].extension) : "folder"##} else {# #=selection[0][field]##}#</dd><dd class="k-line-break"></dd># } #</dl>#}#</div>',B='<div class="#=styles.fileInfo#"><div class="#=styles.filePreview#"><span class="k-icon k-i-file"></span></div><span class="#=styles.fileName#">#=selection.length# #=messages.items#</span></div>',U=r.extend({init:function(e,i){var t=this;r.fn.init.call(t,e,i),t.options=kendo.deepExtend({},t.options,i),t.defaultSortOption={field:"name",dir:"asc"},t.folderSortOption={field:"isDirectory",dir:"desc"},t._dataSource(),t._wrapper(),t._renderHeader(),t._renderContentContainer(),t._initContextMenu(),t._renderNavigation(),t._renderContent(),t._renderPreview(),t._initUploadDialog(),t._resizable(),t.resize(),kendo.notify(t,kendo.ui)},options:{name:"FileManager",height:500,resizable:!0,initialView:"list",toolbar:{resizable:!0},contextMenu:{},upload:{},uploadUrl:"",views:{},breadcrumb:{},draggable:!0,dialogs:{upload:{width:530},moveConfirm:{width:350,closable:!0},deleteConfirm:{width:360,closable:!0},renamePrompt:{width:350,closable:!0}},previewPane:{metaFields:["extension","size","created","modified"],noFileTemplate:T,singleFileTemplate:V,multipleFilesTemplate:B},messages:{toolbar:{createFolder:"New Folder",upload:"Upload",sortDirection:"Sort Direction",sortDirectionAsc:"Sort Direction Ascending",sortDirectionDesc:"Sort Direction Descending",sortField:"Sort By",nameField:"Name",sizeField:"File Size",typeField:"Type",dateModifiedField:"Date Modified",dateCreatedField:"Date Created",listView:"List View",gridView:"Grid View",search:"Search",details:"View Details",detailsChecked:"On",detailsUnchecked:"Off","delete":"Delete",rename:"Rename"},views:{nameField:"Name",sizeField:"File Size",typeField:"Type",dateModifiedField:"Date Modified",dateCreatedField:"Date Created",items:"items"},dialogs:{upload:{title:"Upload Files",clear:"Clear List",done:"Done"},moveConfirm:{title:"Confirm",content:"<p style='text-align: center;'>Do you want to move or copy?</p>",okText:"Copy",cancel:"Move",close:"close"},deleteConfirm:{title:"Confirm",content:"<p style='text-align: center;'>Are you sure you want to delete the selected file(s)?</br>You cannot undo this action.</p>",okText:"Delete",cancel:"Cancel",close:"close"},renamePrompt:{title:"Prompt",content:"<p style='text-align: center;'>Enter new name for the file.</p>",okText:"Rename",cancel:"Cancel",close:"close"}},previewPane:{noFileSelected:"No File Selected",extension:"Type",size:"Size",created:"Date Created",createdUtc:"Date Created UTC",modified:"Date Modified",modifiedUtc:"Date Modified UTC",items:"items"}}},events:[c,p,u,b,C,m,k,y],_dataSource:function(){var e,i=this,t=i.options,r=t.dataSource||{},d=i.folderSortOption,l=i.defaultSortOption;r instanceof kendo.data.FileManagerDataSource?e=r:(e=o(r)?{data:r,autoSync:!1,sort:[d,l]}:a(!0,r,{autoSync:!1,sort:[d,l]}),r&&n(r.schema)?e.schema=r.schema:n(kendo.data.schemas.filemanager)&&(e.schema=kendo.data.schemas.filemanager)),i.dataSource&&i._errorHandler?(i.dataSource.unbind(m,i._errorHandler),i.dataSource.unbind(f,i._changeHandler)):(i._errorHandler=s(i._error,i),i._changeHandler=s(i._change,i)),i.dataSource=kendo.data.FileManagerDataSource.create(e).bind(m,i._errorHandler).bind(f,i._changeHandler)},_error:function(e){if(!this.trigger(m,e))throw Error("Error! The requested URL returned "+e.xhr.status+" - "+e.xhr.statusText)},_wrapper:function(){var e=this,i=e.options,t=i.width,a=i.height;e.wrapper=e.element.addClass(z.wrapper),t&&e.wrapper.width(t),a&&e.wrapper.height(a),e._resizeHandler=kendo.onResize(function(){e.resize(!0)})},_renderHeader:function(){var i=this,t=i.options;t.toolbar&&(i.header=e("<div />").addClass(z.header),i.header.append(i._initToolbar().element)),i.wrapper.append(i.header)},_renderContentContainer:function(){var i=this,t=e("<div />").addClass(z.contentContainer);i.contentContainer=t,i.wrapper.append(i.contentContainer)},_initContextMenu:function(){var e=this,i=e.options,n=a({},i.contextMenu,{filemanager:e,messages:i.messages.toolbar,target:e.contentContainer,filter:"[data-uid]",action:e.executeCommand.bind(e)});e.options.contextMenu===!1||e.dataSource.isLocalBinding||(e.contextMenu=new t.filemanager.ContextMenu("<ul></ul>",n),e.contextMenu.bind(u,s(e._cacheFocus,e)))},_renderNavigation:function(){var i=this;i.navigation=e("<div />").addClass(z.navigation),i.navigation.append(i._initTreeView().element),i.contentContainer.append(i.navigation)},_renderContent:function(){var i=this,t=i.options,a=i.toolbar;i.content=e("<div />").addClass(z.content),t.breadcrumb&&i.content.append(i._initBreadcrumb().element),i.content.append(i._initView()),a&&a.isToolEnabled(a.defaultTools.upload.name)||i.content.append(i._initUpload().wrapper.hide()),i.contentContainer.append(i.content)},_renderPreview:function(){var i=this,t=i.options.previewPane;t&&(i.preview=e("<div />").addClass(z.preview),i.previewContainer=e("<div />").addClass(z.previewContainer),i.preview.append(i.previewContainer),i._setPreviewPaneContent(),i.contentContainer.append(i.preview.hide()))},_setPreviewPaneContent:function(){var e,t=this,a=t.options,n=a.messages.previewPane,o=a.previewPane,r=t.getSelected();return r?(e=1===r.length?o.singleFileTemplate:o.multipleFilesTemplate,e=d(e)({styles:F,messages:n,selection:r,metaFields:o.metaFields}),t.previewContainer.html(e),i):(e=d(o.noFileTemplate)({styles:F,messages:n}),t.previewContainer.html(e),i)},_initToolbar:function(){var i=this,n=i.options,o=e("<div />").addClass(z.toolbar),r=a({},n.toolbar,{filemanager:this,messages:n.messages.toolbar,action:i.executeCommand.bind(i)});return i.toolbar=new t.filemanager.ToolBar(o,r)},_initTreeView:function(){var i=this,n=e("<div />").addClass(z.treeview),o=i.options.views[x],r=a(!0,{},{dataSource:i.options.dataSource,messages:i.options.messages.views,draggable:i.options.draggable,isLocalBinding:i.dataSource.isLocalBinding});return i.treeView=new t.filemanager.ViewComponents[x](n,o,r),i.treeView.bind(c,s(i._navigate,i)).bind(_,s(i._load,i)).bind(k,s(i._drop,i)).bind(D,s(i._keydownAction,i)),i.treeView},_drop:function(e){var i=this;!i.trigger(k,e)&&e.items.indexOf(e.target)<0&&i._confirm({type:"move",target:e.target}).done(function(){i.executeCommand({command:"CopyCommand",options:e})}).fail(function(){i.executeCommand({command:"MoveCommand",options:e})})},_keydownAction:function(e){var i=this,t=e.keyCode,a=kendo.keys;t===a.DELETE&&i.executeCommand({command:"DeleteCommand",options:{target:e.target}}),t===a.F2&&i._viewType!==P.grid&&i.executeCommand({command:"RenameCommand",options:{target:e.target}})},_confirm:function(i){var t=this,n=t.options.messages.dialogs[i.type+"Confirm"],o=e("<div></div>").kendoConfirm(a({},{title:n.title,content:n.content,messages:n},t.options.dialogs[i.type+"Confirm"])).data("kendoConfirm");return o.bind(u,s(t._cacheFocus,t)),o.bind(h,s(t._restoreFocus,t,i.target)),o.open(),o.wrapper.removeClass("k-confirm"),o.result},_prompt:function(i){var t=this,n=this.options.messages.dialogs[i.type+"Prompt"],o=e("<div></div>").kendoPrompt(a({},{title:n.title,content:n.content,messages:n,value:i.defaultInput},this.options.dialogs[i.type+"Prompt"])).data("kendoPrompt");return o.bind(u,s(t._cacheFocus,t)),o.bind(w,s(t._restoreFocus,t,i.target)),o.open(),o.wrapper.removeClass("k-prompt"),o.result},_cacheFocus:function(){var t=this,a=e(document.activeElement),n=t.view(),o=t.treeView.widgetComponent;if(!t.contextMenu||!t.contextMenu.popup.visible())return t.treeView._shouldFocus=!1,o.current()&&o.current().find(".k-state-focused").length||a.hasClass(z.treeview)?(t.treeView._shouldFocus=!0,n._focusElement=a,i):(n._focusElement=a.hasClass(z[t._viewType])?a:null,i)},_restoreFocus:function(e){var i=this,t=i.view();e&&(t._focusElement?t._focusElement.focus():e.closest&&e.closest(":kendoFocusable").length&&e.closest(":kendoFocusable").focus())},_initView:function(){var i=this,t=e("<div />").addClass(z.view),a=i.options.initialView;return i.viewWrapper=t,i.viewWrapper.append(i.view(a)),t},_initBreadcrumb:function(){var i=this,n=i.options,o=e("<nav />").addClass(z.breadcrumb),r=a({},{items:[{type:"rootitem",text:""}],change:s(i._breadcrumbChange,i)},n.breadcrumb);return i.breadcrumb=new t.Breadcrumb(o,r)},_breadcrumbChange:function(e){this._navigate({path:e.value})},_initUploadDialog:function(){var i,n=this,o=n.options,r=o.messages.dialogs.upload,d=e("<div />"),l=a({},{title:r.title,modal:!0,visible:!1,width:500,actions:[{text:r.clear,action:s(n._clearUploadFilesList,n)},{text:r.done,primary:!0}],messages:r},o.dialogs.upload);if(n._shouldInitUpload())return i=n._initUpload(),n.uploadDialog=new t.Dialog(d,l),n.uploadDialog.wrapper.addClass(z.uploadDialog),n.uploadDialog.element.append(i.wrapper),n.uploadDialog.bind(u,s(n._toggleUploadDropZone,n,"")),n.uploadDialog.bind(w,s(n._toggleUploadDropZone,n,n.viewWrapper)),n.uploadDialog},_shouldInitUpload:function(){var e=this,i=e.options,t=!1;return(i.uploadUrl||i.upload.async&&i.upload.async.saveUrl)&&i.upload!==!1&&(t=!0),t},_initUpload:function(){var i=this,n=i.options,o=e("<input type='file' name='file'/>").addClass(z.upload),r=a(!0,{async:{autoUpload:!0,saveUrl:n.uploadUrl},dropZone:i.viewWrapper},n.upload);return i.upload=new t.Upload(o[0],r),i.upload.bind(g,s(i._sendUploadPathParameter,i)),i.upload.bind(v,s(i._success,i)),i.upload},_sendUploadPathParameter:function(e){e.data=a(e.data,{path:this.path()})},_success:function(){this._view.widgetComponent.dataSource.read()},_clearUploadFilesList:function(){var e=this,i=e.upload;i&&i.clearAllFiles()},_toggleUploadDropZone:function(e){var i=this,t=i.upload;t&&t.setOptions({dropZone:e})},_binding:function(e){this.trigger(b,{source:"view",action:e.action,items:e.items,index:e.index})&&e.preventDefault()},_bound:function(){this.options.previewPane&&this._setPreviewPaneContent(),this.trigger(C)},_createResizableSplitBar:function(i){var t=e("<div />").addClass(z.splitBar).addClass(z.splitBarHorizontal).addClass(i),a=e("<span />").addClass(z.splitBarIcon);return t.append(a),t.hover(function(){e(this).toggleClass(z.splitBarHover)}),t},_initResizableNavigation:function(){var e,i,t=this,a=t.wrapper,n=t._createResizableSplitBar(z.splitBarNavigation),o=a.find(S+z.content),r=a.find(S+z.navigation);n.insertAfter(r),t._resizeDraggable.navigation=t.wrapper.find(n).end().kendoResizable({handle:S+z.splitBarNavigation,start:function(){e=o.width(),i=r.width()},resize:function(t){var n=t.x.initialDelta;kendo.support.isRtl(a)&&(n*=-1),i+n<-2||e-n<-2||r.width(i+n)}}).getKendoResizable()},_initResizablePreview:function(){var e,i,t=this,a=t.wrapper,n=t._createResizableSplitBar(z.splitBarPreview),o=a.find(S+z.content),r=a.find(S+z.preview);t.options.previewPane&&(n.insertBefore(r).hide(),t._resizeDraggable.preview=a.find(n).end().kendoResizable({handle:S+z.splitBarPreview,start:function(){e=o.width(),i=r.width()},resize:function(t){var n=t.x.initialDelta;kendo.support.isRtl(a)&&(n*=-1),i-n<-2||e+n<-2||r.width(i-n)}}).getKendoResizable())},_resizable:function(){var e=this,i=e.options;e._resizeDraggable={},i.resizable&&(e.wrapper.addClass(z.resizable),e._initResizableNavigation(),e._initResizablePreview())},view:function(n){var o=this,r=e("<div></div>"),d=o.options.views[n],l=a(!0,{},{dataSource:o._viewDataSource||o.dataSource,messages:o.options.messages.views,draggable:o.options.draggable});if(n===i)return o._view;if(!t.filemanager.ViewComponents[n])throw Error(kendo.format("There is no {0} ViewComponent registered!",n));o._view&&o._view.destroy&&(o._view.destroy(),o.viewWrapper.empty()),o._viewType=n,o._view=new t.filemanager.ViewComponents[n](r,d,l),o._view.bind(p,s(o._select,o)),o._view.bind(u,s(o._open,o)),o._view.bind(b,s(o._binding,o)),o._view.bind(C,s(o._bound,o)),o._view.bind(k,s(o._drop,o)),o._view.bind(D,s(o._keydownAction,o)),o._view.element.addClass(z[n]),o.viewWrapper.removeClass(Object.keys(t.filemanager.ViewComponents).map(function(e){return z.view+"-"+e}).join(" ")).addClass(z.view+"-"+n),o.viewWrapper.append(o._view.element)},executeCommand:function(e){var i=e.command,o=a({filemanager:this},n(e.options)?e.options:{value:e.options}),r=new t.filemanager.commands[i](o);if(!this.trigger(y,e))return r.exec()},_navigate:function(e){var i=this,t=e.path;i.trigger(c,{path:t})||i.navigate(t)},_load:function(e){var i=this.dataSource.get(e.entryId);i.load()},_select:function(e){this.options.previewPane&&this._setPreviewPaneContent(),this.trigger(p,{entries:e.entries})},_open:function(e){var i=this,t=e.entry;i.trigger(u,{entry:t}),t.isDirectory&&i._navigate({path:t.id})},_change:function(e){var i=this,t=e.node?e.node.children:i.dataSource;i.trigger(b,{source:"tree",action:e.action,items:e.items,index:e.index})||(i.treeView._refreshDataSource(e),"remove"!==e.action&&"itemchange"!==e.action&&"add"!==e.action||t.sync(),"remove"===e.action&&i._viewDataSource&&i._viewDataSource.parent()&&e.items[0]===i._viewDataSource.parent()&&i._navigateToParent(e.items[0]),"itemchange"==e.action&&i._viewDataSource&&i._viewDataSource.parent()&&i.path().indexOf(e.items[0].id)>=0&&i._navigateToParent(e.items[0]),"itemchange"===e.action&&e.items[0].loaded(!1))},_navigateToParent:function(e){var i=this,t=e.parentNode(),a=t?t.id:"";i._navigate({path:a})},_buildBreadcrumbPath:function(e){for(var i=this,t=i.breadcrumb,a=[];e;)a.push(e.name),e=e.parentNode();a.push(""),t.value(a.reverse().join("/"))},_adjustDimensions:function(){var e=this,i=e.wrapper,t=S+z.grid,a=S+z.list,n=S+z.contentContainer,o=i.height(),r=0,s=0;e.toolbar&&(r=l(e.toolbar.wrapper)),e.breadcrumb&&(s=l(e.breadcrumb.wrapper)),"auto"!==e.options.height&&(i.find(t).height(o-(r+s+1)),i.find(a).parent().height(o-(r+s+1)),i.find(n).height(o-r))},_resize:function(){this._adjustDimensions(),kendo.resize(this.element.children())},setDataSource:function(e){var i=this;i.options.dataSource=e,i._dataSource(),i.toolbar&&(i.toolbar.destroy(),i.header.empty(),i.header.append(i._initToolbar().element)),i.treeView&&(i.treeView.destroy(),i.navigation.empty(),i.navigation.append(i._initTreeView().element)),i._view&&i.view(i._viewType||i.options.initialView),i._initContextMenu()},refresh:function(){var e=this,i=e._viewDataSource||e.dataSource;i.read()},getSize:function(){return kendo.dimensions(this.wrapper)},getSelected:function(){var e,t=this,a=t._view.getSelected(),n=t.treeView;return a&&a.length?a:(e=n.getSelected(),e?[t.dataSource.get(e.id)]:i)},path:function(){return this._path||""},navigate:function(t){var a=this,n=a.dataSource,o=n.get(t.replace(/^\//,"")),r=a._view,s=a.treeView,d=a.breadcrumb;if(a._path=t,!a.trigger(b,{source:"navigation",action:"rebind",items:[o]})){if(d&&a._buildBreadcrumbPath(o),""===t||"/"===t)return n.sort([a.folderSortOption,a.defaultSortOption]),a._viewDataSource=n,r.refresh(a._viewDataSource),s.treeView.select(e()),a.options.previewPane&&a._setPreviewPaneContent(),i;o.loaded&&!o.loaded()&&o.load(),r&&(a._viewDataSource=o.children,r.refresh(a._viewDataSource),a._viewDataSource.sort([a.folderSortOption,a.defaultSortOption])),s&&s.refresh(o.id),a.options.previewPane&&a._setPreviewPaneContent()}},destroy:function(){var e=this;r.fn.destroy.call(e),e.dataSource.unbind(m,e._errorHandler).unbind(f,e._changeHandler),e._resizeDraggable.navigation&&(e._resizeDraggable.navigation.destroy(),e._resizeDraggable.navigation=null),e._resizeDraggable.preview&&(e._resizeDraggable.preview.destroy(),e._resizeDraggable.preview=null),e.uploadDialog&&(e.uploadDialog.destroy(),e.uploadDialog=null),e.upload&&(e.upload.destroy(),e.upload=null),e.contextMenu&&(e.contextMenu.destroy(),e.contextMenu=null),kendo.unbindResize(e._resizeHandler),e.dataSource=null,e._viewDataSource=null,kendo.destroy(e.element)}});t.plugin(U)}(window.kendo.jQuery),window.kendo},t(3))},1204:function(e,i){e.exports=require("./filemanager/contextmenu")},1205:function(e,i){e.exports=require("./filemanager/view")},1206:function(e,i){e.exports=require("./filemanager/toolbar")},1207:function(e,i){e.exports=require("./filemanager/data")},1208:function(e,i){e.exports=require("./filemanager/commands")},1209:function(e,i){e.exports=require("./kendo.dialog")}});