@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
1 lines • 20 kB
JavaScript
module.exports=function(e){function t(a){if(i[a])return i[a].exports;var n=i[a]={exports:{},id:a,loaded:!1};return e[a].call(n.exports,n,n.exports,t),n.loaded=!0,n.exports}var i={};return t.m=e,t.c=i,t.p="",t(0)}({0:function(e,t,i){e.exports=i(1240)},3:function(e,t){e.exports=function(){throw Error("define cannot be used indirect")}},1194:function(e,t){e.exports=require("./kendo.resizable")},1238:function(e,t){e.exports=require("./kendo.upload")},1239:function(e,t){e.exports=require("./kendo.breadcrumb")},1240:function(e,t,i){var a,n,o;!function(r,define){n=[i(1245),i(1242),i(1243),i(1244),i(1241),i(1239),i(1238),i(1246),i(1194)],a=r,o="function"==typeof a?a.apply(t,n):a,!(void 0!==o&&(e.exports=o))}(function(){return function(e,t){var i=kendo.ui,a=e.extend,n=e.isPlainObject,o=e.isArray,r=i.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="command",S="keydownAction",x="cancel",z="tree",F=".",P={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"},T={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"},V={grid:"grid",list:"list"},B='<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>',M='<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>',U='<div class="#:styles.fileInfo#"><div class="#:styles.filePreview#"><span class="k-file-icon k-icon k-i-file"></span></div><span class="#:styles.fileName#">#:selection.length# #:messages.items#</span></div>',R=r.extend({init:function(e,t){var a=this;r.fn.init.call(a,e,t),a.options=kendo.deepExtend({},a.options,t),a.defaultSortOption={field:"name",dir:"asc"},a.folderSortOption={field:"isDirectory",dir:"desc"},a._commandStack=new i.filemanager.CommandStack,a._dataSource(),a._wrapper(),a._renderHeader(),a._renderContentContainer(),a._initContextMenu(),a._renderNavigation(),a._renderContent(),a._renderPreview(),a._initUploadDialog(),a._resizable(),a.resize(),kendo.notify(a,kendo.ui)},options:{name:"FileManager",height:500,resizable:!0,initialView:V.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:B,singleFileTemplate:M,multipleFilesTemplate:U},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,D],_dataSource:function(){var e,t=this,i=t.options,r=i.dataSource||{},d=t.folderSortOption,l=t.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)),t.dataSource&&t._errorHandler?(t.dataSource.unbind(m,t._errorHandler),t.dataSource.unbind(f,t._changeHandler)):(t._errorHandler=s(t._error,t),t._changeHandler=s(t._change,t)),t.dataSource=kendo.data.FileManagerDataSource.create(e).bind(m,t._errorHandler).bind(f,t._changeHandler)},_error:function(e){this.trigger(m,e)||window.console.warn("Error! The requested URL returned "+e.xhr.status+" - "+e.xhr.statusText)},_wrapper:function(){var e=this,t=e.options,i=t.width,a=t.height;e.wrapper=e.element.addClass(P.wrapper),i&&e.wrapper.width(i),a&&e.wrapper.height(a),e._resizeHandler=kendo.onResize(function(){e.resize(!0)})},_renderHeader:function(){var t=this,i=t.options;i.toolbar&&(t.header=e("<div />").addClass(P.header),t.header.append(t._initToolbar().element)),t.wrapper.append(t.header)},_renderContentContainer:function(){var t=this,i=e("<div />").addClass(P.contentContainer);t.contentContainer=i,t.wrapper.append(t.contentContainer)},_initContextMenu:function(){var e=this,t=e.options,n=a({},t.contextMenu,{filemanager:e,messages:t.messages.toolbar,target:e.contentContainer,filter:"[data-uid]",action:e.executeCommand.bind(e),isLocalBinding:e.dataSource.isLocalBinding});t.contextMenu!==!1&&(e.contextMenu=new i.filemanager.ContextMenu("<ul></ul>",n),e.contextMenu.bind(u,s(e._cacheFocus,e)))},_renderNavigation:function(){var t=this;t.navigation=e("<div />").addClass(P.navigation),t.navigation.append(t._initTreeView().element),t.contentContainer.append(t.navigation)},_renderContent:function(){var t=this,i=t.options,a=t.toolbar;t.content=e("<div />").addClass(P.content),i.breadcrumb&&t.content.append(t._initBreadcrumb().element),t.content.append(t._initView()),a&&a.isToolEnabled(a.defaultTools.upload.name)||t.content.append(t._initUpload().wrapper.hide()),t.contentContainer.append(t.content)},_renderPreview:function(){var t=this,i=t.options.previewPane;i&&(t.preview=e("<div />").addClass(P.preview),t.previewContainer=e("<div />").addClass(P.previewContainer),t.preview.append(t.previewContainer),t._setPreviewPaneContent(),t.contentContainer.append(t.preview.hide()))},_setPreviewPaneContent:function(){var e,i=this,a=i.options,n=a.messages.previewPane,o=a.previewPane,r=i.getSelected();return r?(e=1===r.length?o.singleFileTemplate:o.multipleFilesTemplate,e=d(e)({styles:T,messages:n,selection:r,metaFields:o.metaFields}),i.previewContainer.html(e),t):(e=d(o.noFileTemplate)({styles:T,messages:n}),i.previewContainer.html(e),t)},_initToolbar:function(){var t=this,n=t.options,o=e("<div />").addClass(P.toolbar),r=a({},n.toolbar,{filemanager:this,messages:n.messages.toolbar,action:t.executeCommand.bind(t)});return t.toolbar=new i.filemanager.ToolBar(o,r)},_initTreeView:function(){var t=this,n=e("<div />").addClass(P.treeview),o=t.options.views[z],r=a(!0,{},{dataSource:t.options.dataSource,messages:t.options.messages.views,draggable:t.options.draggable,isLocalBinding:t.dataSource.isLocalBinding});return t.treeView=new i.filemanager.ViewComponents[z](n,o,r),t.treeView.bind(c,s(t._navigate,t)).bind(_,s(t._load,t)).bind(k,s(t._drop,t)).bind(S,s(t._keydownAction,t)),t.treeView},_drop:function(e){var t=this;!t.trigger(k,e)&&e.items.indexOf(e.target)<0&&t._confirm({type:"move",target:e.target}).done(function(){t.executeCommand({command:"CopyCommand",options:e})}).fail(function(){t.executeCommand({command:"MoveCommand",options:e})})},_keydownAction:function(e){var t=this,i=e.keyCode,a=kendo.keys;i===a.DELETE&&t.executeCommand({command:"DeleteCommand",options:{target:e.target}}),i===a.F2&&t.executeCommand({command:"RenameCommand",options:{target:e.target}})},_confirm:function(t){var i=this,n=i.options.messages.dialogs[t.type+"Confirm"],o=e("<div></div>").kendoConfirm(a({},{title:n.title,content:n.content,messages:n},i.options.dialogs[t.type+"Confirm"])).data("kendoConfirm");return o.bind(u,s(i._cacheFocus,i)),o.bind(h,s(i._restoreFocus,i,t.target)),o.open(),o.wrapper.removeClass("k-confirm"),o.result},_prompt:function(t){var i=this,n=this.options.messages.dialogs[t.type+"Prompt"],o=e("<div></div>").kendoPrompt(a({},{title:n.title,content:n.content,messages:n,value:t.defaultInput},this.options.dialogs[t.type+"Prompt"])).data("kendoPrompt");return o.bind(u,s(i._cacheFocus,i)),o.bind(w,s(i._restoreFocus,i,t.target)),o.open(),o.wrapper.removeClass("k-prompt"),o.result},_cacheFocus:function(){var i=this,a=e(document.activeElement),n=i.view(),o=i.treeView.widgetComponent;if(!i.contextMenu||!i.contextMenu.popup.visible())return i.treeView._shouldFocus=!1,o.current()&&o.current().find(".k-state-focused").length||a.hasClass(P.treeview)?(i.treeView._shouldFocus=!0,n._focusElement=a,t):(n._focusElement=a.hasClass(P[i._viewType])?a:null,t)},_restoreFocus:function(e){var t=this,i=t.view();e&&(i._focusElement?i._focusElement.focus():e.closest&&e.closest(":kendoFocusable").length&&e.closest(":kendoFocusable").focus())},_initView:function(){var t=this,i=e("<div />").addClass(P.view),a=t.options.initialView;return t.viewWrapper=i,t.viewWrapper.append(t.view(a)),i},_initBreadcrumb:function(){var t=this,n=t.options,o=e("<nav />").addClass(P.breadcrumb),r=a({},{items:[{type:"rootitem",text:""}],change:s(t._breadcrumbChange,t)},n.breadcrumb);return t.breadcrumb=new i.Breadcrumb(o,r)},_breadcrumbChange:function(e){this._navigate({path:e.value})},_initUploadDialog:function(){var t,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 t=n._initUpload(),n.uploadDialog=new i.Dialog(d,l),n.uploadDialog.wrapper.addClass(P.uploadDialog),n.uploadDialog.element.append(t.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,t=e.options,i=!1;return(t.uploadUrl||t.upload.async&&t.upload.async.saveUrl)&&t.upload!==!1&&(i=!0),i},_initUpload:function(){var t=this,n=t.options,o=e("<input type='file' name='file'/>").addClass(P.upload),r=a(!0,{async:{autoUpload:!0,saveUrl:n.uploadUrl},dropZone:t.viewWrapper},n.upload);return t.upload=new i.Upload(o[0],r),t.upload.bind(g,s(t._sendUploadPathParameter,t)),t.upload.bind(v,s(t._success,t)),t.upload},_sendUploadPathParameter:function(e){e.data=a(e.data,{path:this.path()})},_success:function(){this._view.widgetComponent.dataSource.read()},_clearUploadFilesList:function(){var e=this,t=e.upload;t&&t.clearAllFiles()},_toggleUploadDropZone:function(e){var t=this,i=t.upload;i&&i.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(t){var i=e("<div />").addClass(P.splitBar).addClass(P.splitBarHorizontal).addClass(t),a=e("<span />").addClass(P.splitBarIcon);return i.append(a),i.hover(function(){e(this).toggleClass(P.splitBarHover)}),i},_initResizableNavigation:function(){var e,t,i=this,a=i.wrapper,n=i._createResizableSplitBar(P.splitBarNavigation),o=a.find(F+P.content),r=a.find(F+P.navigation);n.insertAfter(r),i._resizeDraggable.navigation=i.wrapper.find(n).end().kendoResizable({handle:F+P.splitBarNavigation,start:function(){e=o.width(),t=r.width()},resize:function(i){var n=i.x.initialDelta;kendo.support.isRtl(a)&&(n*=-1),t+n<-2||e-n<-2||r.width(t+n)}}).getKendoResizable()},_initResizablePreview:function(){var e,t,i=this,a=i.wrapper,n=i._createResizableSplitBar(P.splitBarPreview),o=a.find(F+P.content),r=a.find(F+P.preview);i.options.previewPane&&(n.insertBefore(r).hide(),i._resizeDraggable.preview=a.find(n).end().kendoResizable({handle:F+P.splitBarPreview,start:function(){e=o.width(),t=r.width()},resize:function(i){var n=i.x.initialDelta;kendo.support.isRtl(a)&&(n*=-1),t-n<-2||e+n<-2||r.width(t-n)}}).getKendoResizable())},_resizable:function(){var e=this,t=e.options;e._resizeDraggable={},t.resizable&&(e.wrapper.addClass(P.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===t)return o._view;if(!i.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 i.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(S,s(o._keydownAction,o)),o._view.bind(x,s(o._cancel,o)),o._view.element.addClass(P[n]),o.viewWrapper.removeClass(Object.keys(i.filemanager.ViewComponents).map(function(e){return P.view+"-"+e}).join(" ")).addClass(P.view+"-"+n),o.viewWrapper.append(o._view.element)},executeCommand:function(e){var t=e.command,o=a({filemanager:this},n(e.options)?e.options:{value:e.options}),r=new i.filemanager.commands[t](o);if(!this.trigger(y,e))return r.exec()},_navigate:function(e){var t=this,i=e.path;t.trigger(c,{path:i})||t.navigate(i)},_load:function(e){var t=this.dataSource.get(e.entryId);t.load()},_select:function(e){this.options.previewPane&&this._setPreviewPaneContent(),this.trigger(p,{entries:e.entries})},_open:function(e){var t=this,i=e.entry;t.trigger(u,{entry:i}),i.isDirectory&&t._navigate({path:i.id})},_cancel:function(){var e=this,t=e._commandStack,i=t.next();t.reject(i),e.trigger(D,{status:"cancel",action:"itemchange",data:i.data})},_change:function(e){var t,i=this,a=i._commandStack,n=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||(a.empty()?n.sync():(t=a.next(),n.sync().then(function(n){a.resolve(t),i.trigger(D,{status:"success",action:e.action,data:t.data,response:n})}).fail(function(n){a.reject(t),i.trigger(D,{status:"fail",action:e.action,data:t.data,response:n})}))),"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 t=this,i=e.parentNode(),a=i?i.id:"";t._navigate({path:a})},_buildBreadcrumbPath:function(e){for(var t=this,i=t.breadcrumb,a=[];e;)a.push(e.name),e=e.parentNode&&e.parentNode();a.push(""),i.value(a.reverse().join("/"))},_adjustDimensions:function(){var e=this,t=e.wrapper,i=F+P.grid,a=F+P.list,n=F+P.contentContainer,o=t.height(),r=0,s=0;e.toolbar&&(r=l(e.toolbar.wrapper)),e.breadcrumb&&(s=l(e.breadcrumb.wrapper)),"auto"!==e.options.height&&(t.find(i).height(o-(r+s+1)),t.find(a).parent().height(o-(r+s+1)),t.find(n).height(o-r))},_resize:function(){this._adjustDimensions(),kendo.resize(this.element.children())},setDataSource:function(e){var t=this;t.options.dataSource=e,t._dataSource(),t.toolbar&&(t.toolbar.destroy(),t.header.empty(),t.header.append(t._initToolbar().element)),t.treeView&&(t.treeView.destroy(),t.navigation.empty(),t.navigation.append(t._initTreeView().element)),t._view&&t.view(t._viewType||t.options.initialView),t._initContextMenu()},refresh:function(){var e=this,t=e._viewDataSource||e.dataSource;t.read()},getSize:function(){return kendo.dimensions(this.wrapper)},getSelected:function(){var e,i=this,a=i._view.getSelected(),n=i.treeView;return a&&a.length?a:(e=n.getSelected(),e?[i.dataSource.get(e.id)]:t)},path:function(){return this._path||""},navigate:function(i){var a=this,n=a.dataSource,o=n.get(i.replace(/^\//,"")),r=a._view,s=a.treeView,d=a.breadcrumb,l=""===i||"/"===i;if(!o&&!l)return window.console.warn("Error! Could not navigate to the folder at the requested path("+i+"). Make sure that the parent folder of the target folder has already been loaded."),t;if(a._path=i,!a.trigger(b,{source:"navigation",action:"rebind",items:[o]})){if(d&&a._buildBreadcrumbPath(o),l)return n.sort([a.folderSortOption,a.defaultSortOption]),a._viewDataSource=n,r.refresh(a._viewDataSource),s.treeView.select(e()),a.options.previewPane&&a._setPreviewPaneContent(),t;o.loaded&&!o.loaded()&&o.load(),r&&(a._viewDataSource=o.children,a._viewDataSource._sort=[a.folderSortOption,a.defaultSortOption],r.refresh(a._viewDataSource)),s&&s.refresh(o.id),a.options.previewPane&&a._setPreviewPaneContent()}},items:function(){var e=this;return e.treeView.widgetComponent.items().add(e._view.widgetComponent.items())},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)}});i.plugin(R)}(window.kendo.jQuery),window.kendo},i(3))},1241:function(e,t){e.exports=require("./filemanager/contextmenu")},1242:function(e,t){e.exports=require("./filemanager/view")},1243:function(e,t){e.exports=require("./filemanager/toolbar")},1244:function(e,t){e.exports=require("./filemanager/data")},1245:function(e,t){e.exports=require("./filemanager/commands")},1246:function(e,t){e.exports=require("./kendo.dialog")}});