MWF.xDesktop.requireApp("File","Actions.RestActions",null,false);MWF.xDesktop.requireApp("File","AttachmentController",null,false);MWF.require("MWF.widget.Tree",null,false);MWF.xApplication.File.Main=new Class({Extends:MWF.xApplication.Common.Main,Implements:[Options,Events],options:{style:"default",name:"File",icon:"icon.png",width:"1000",height:"600",title:MWF.xApplication.File.LP.title},onQueryLoad:function(){this.lp=MWF.xApplication.File.LP},loadApplication:function(e){this.history=[];this.currentHistory=1;this.currentFolder=null;this.restActions=new MWF.xApplication.File.Actions.RestActions;MWF.getJSON("/x_component_File/$Main/icon.json",function(e){this.icons=e}.bind(this),false,false);this.createNode();this.loadApplicationContent();if(e)e()},createNode:function(){this.content.setStyle("overflow","hidden");this.node=new Element("div",{styles:{width:"100%",height:"100%",overflow:"hidden"}}).inject(this.content)},loadApplicationContent:function(){this.loadTop();this.fileContentNode=new Element("div",{styles:this.css.fileContentNode}).inject(this.node);this.folderContentNode=new Element("div",{styles:this.css.folderContentNode}).inject(this.fileContentNode);this.attachmentContentNode=new Element("div",{styles:this.css.attachmentContentNode}).inject(this.fileContentNode);this.resizeContentNode=new Element("div",{styles:this.css.resizeContentNode}).inject(this.folderContentNode);this.folderTreeAreaNode=new Element("div",{styles:this.css.folderTreeAreaNode}).inject(this.folderContentNode);this.folderTreeAreaScrollNode=new Element("div",{styles:this.css.folderTreeAreaScrollNode}).inject(this.folderContentNode);this.shareTreeAreaScrollNode=new Element("div",{styles:this.css.folderTreeAreaScrollNode}).inject(this.folderContentNode);this.editorTreeAreaScrollNode=new Element("div",{styles:this.css.folderTreeAreaScrollNode}).inject(this.folderContentNode);this.loadFileContentAreaNode();this.loadFolderTreeNode();this.loadShareTreeNode();this.loadEditorTreeNode();this.shareTree.loadCallback=function(){if(this.shareTab.isShow){if(this.status){if(this.status.node){var e=false;for(var t=0;ts.x/2)r=s.x/2;if(r<200)r=200;this.attachmentContentNode.setStyle("margin-left",r);this.folderContentNode.setStyle("width",r)}.bind(this)});MWF.require("MWF.widget.Tab",function(){this.treeTab=new MWF.widget.Tab(this.folderTreeAreaNode,{style:"processlayout"});this.treeTab.load();this.fileTabe=this.treeTab.addTab(this.folderTreeAreaScrollNode,this.lp.myFiles,false);this.shareTab=this.treeTab.addTab(this.shareTreeAreaScrollNode,this.lp.shareFiles,false);this.editorTab=this.treeTab.addTab(this.editorTreeAreaScrollNode,this.lp.editorFiles,false);this.fileTabe.addEvent("show",function(){if(this.folderTree.currentNode){this.folderTree.currentNode.clickNode()}else{if(this.folderTree.firstChild){this.folderTree.firstChild.clickNode()}else{if(this.controller)this.controller.clear()}}this.checkControllerActionsFile()}.bind(this));this.shareTab.addEvent("show",function(){if(this.shareTree.currentNode){this.shareTree.currentNode.clickNode()}else{if(this.shareTree.firstChild){this.shareTree.firstChild.clickNode()}else{if(this.controller)this.controller.clear()}}this.checkControllerActionsShare()}.bind(this));this.editorTab.addEvent("show",function(){if(this.editorTree.currentNode){this.editorTree.currentNode.clickNode()}else{if(this.editorTree.firstChild){this.editorTree.firstChild.clickNode()}else{if(this.controller)this.controller.clear()}}this.checkControllerActionsEditor()}.bind(this));var e="file";if(this.status){if(this.status.tab){e=this.status.tab}}if(e=="file")this.fileTabe.showIm();if(e=="share")this.shareTab.showIm();if(e=="editor")this.editorTab.showIm();this.setContentHeight();this.addEvent("resize",function(){this.setContentHeight()}.bind(this))}.bind(this));MWF.require("MWF.widget.ScrollBar",function(){new MWF.widget.ScrollBar(this.folderTreeAreaScrollNode,{style:"xApp_Organization_Explorer",where:"before",distance:100,friction:4,axis:{x:false,y:true}});new MWF.widget.ScrollBar(this.shareTreeAreaScrollNode,{style:"xApp_Organization_Explorer",where:"before",distance:100,friction:4,axis:{x:false,y:true}});new MWF.widget.ScrollBar(this.editorTreeAreaScrollNode,{style:"xApp_Organization_Explorer",where:"before",distance:100,friction:4,axis:{x:false,y:true}})}.bind(this))},checkControllerActionsFile:function(){this.controller.folderActionBoxNode.setStyle("display","block");this.controller.uploadAction.setStyle("display","block");this.controller.deleteAction.setStyle("display","block");this.controller.replaceAction.setStyle("display","block");this.controller.editActionSeparateNode.setStyle("display","block");this.controller.shareActionBoxNode.setStyle("display","block")},checkControllerActionsShare:function(){this.controller.folderActionBoxNode.setStyle("display","none");this.controller.uploadAction.setStyle("display","none");this.controller.deleteAction.setStyle("display","none");this.controller.replaceAction.setStyle("display","none");this.controller.editActionSeparateNode.setStyle("display","none");this.controller.shareActionBoxNode.setStyle("display","none")},checkControllerActionsEditor:function(){this.controller.folderActionBoxNode.setStyle("display","none");this.controller.uploadAction.setStyle("display","none");this.controller.deleteAction.setStyle("display","none");this.controller.replaceAction.setStyle("display","block");this.controller.editActionSeparateNode.setStyle("display","block");this.controller.shareActionBoxNode.setStyle("display","none")},loadTop:function(){this.topNode=new Element("div",{styles:this.css.topNode}).inject(this.node);this.leftNode=new Element("div",{styles:this.css.leftNode}).inject(this.topNode);this.leftNode.addEvent("click",function(){this.leftPath()}.bind(this));this.rightNode=new Element("div",{styles:this.css.rightNode}).inject(this.topNode);this.rightNode.addEvent("click",function(){this.rightPath()}.bind(this));this.refreshNode=new Element("div",{styles:this.css.refreshNode}).inject(this.topNode);this.searchNode=new Element("div",{styles:this.css.searchNode}).inject(this.topNode);this.pathNode=new Element("div",{styles:this.css.pathNode}).inject(this.topNode)},openAttachment:function(e,t,i){this.restActions.getFileUrl(i[0].data.id,function(e){window.open(e)})},downloadAttachment:function(e,t,i){i.each(function(e){this.restActions.getFileDownloadUrl(e.data.id,function(e){window.open(e)})}.bind(this))},downloadCurrentFile:function(){if(this.selectedItem){if(this.selectedItem.type=="file"){this.selectedItem.open()}}},moveFileFolder:function(){},renameFileFolder:function(){this.content.mask({style:{opacity:.7,"background-color":"#999"}});var e=new Element("div",{styles:this.css.createFolderNode}).inject(this.content);e.position({relativeTo:this.node,position:"center"});var t=this.controller.selectedAttachments[0];var i=t.treeNode;var s=new Element("div",{styles:this.css.createFolderTitleNode,text:this.lp.rename}).inject(e);var n=new Element("div",{styles:this.css.createFolderInforNode,text:this.lp.inputName}).inject(e);var o=new Element("div",{styles:this.css.createFolderInputAreaNode}).inject(e);var l=new Element("input",{type:"text",styles:this.css.createFolderInputNode,value:t.data.name}).inject(o);var r=new Element("div",{styles:this.css.createFolderActionNode}).inject(e);var d=new Element("button",{styles:this.css.createFolderCancelButton,text:this.lp.cancel}).inject(r);var a=new Element("button",{styles:this.css.createFolderOkButton,text:this.lp.ok}).inject(r);d.addEvent("click",function(){this.content.unmask();e.destroy()}.bind(this));a.addEvent("click",function(){if(l.get("value")){t.data.name=l.get("value");if(t.type=="folder"){this.restActions.saveFolder(t.data,function(e){if(this.currentFolder){this.currentFolder.clickNode()}else{this.topTreeNode.clickNode()}i.setText(l.get("value"))}.bind(this))}else{this.restActions.updateAttachment(this.controller.selectedAttachments[0].data,function(e){if(this.currentFolder){this.currentFolder.clickNode()}else{this.topTreeNode.clickNode()}}.bind(this))}e.destroy();this.content.unmask()}else{this.notice(this.lp.nameNotEmpty,"error",e)}}.bind(this))},deleteAttachments:function(e,t,i){this.deleteFileFolder(e,i)},deleteFileFolder:function(e,t){if(t.length){var i=this;var s=this.lp.deleteFolderFilesTitle;var n=this.lp.deleteFolderFiles;if(t.length==1){var s=t[0].type=="folder"?this.lp.deleteFolderTitle:this.lp.deleteFileTitle;var n=t[0].type=="folder"?this.lp.deleteFolder:this.lp.deleteFile;n=n+"("+t[0].data.name+")"}var o=this.node.getSize();var l={event:{x:(o.x-300)/2,y:(o.y-120)/2}};this.confirm("infor",l,s,n,300,120,function(){var e=t.length;var s=0;var n=function(){if(s==e){if(this.currentFolder){this.currentFolder.loaded=false;this.currentFolder.clickNode()}else{this.topTreeNode.loaded=false;this.topTreeNode.clickNode()}}};t.each(function(e){if(e.type=="folder"){e.treeNode.destroy();i.restActions.deleteFolder(e.data.id,function(){s++;n.apply(i)})}else{i.restActions.deleteFile(e.data.id,function(){s++;n.apply(i)})}});this.close()},function(){this.close()})}},shareAttachment:function(){this.shareFile()},shareFile:function(){this.content.mask({style:{opacity:.7,"background-color":"#999"}});var e=new Element("div",{styles:this.css.createFolderNode}).inject(this.content);e.position({relativeTo:this.node,position:"center"});var t=new Element("div",{styles:this.css.createFolderTitleNode,text:this.lp.shareFile}).inject(e);var i=new Element("div",{styles:this.css.createFolderInforNode,text:this.lp.selectShareUser}).inject(e);var s=new Element("div",{styles:this.css.createFolderInputAreaNode}).inject(e);var n=new Element("input",{type:"text",readonly:true,styles:this.css.shareFileInputNode}).inject(s);n.addEvent("click",function(){MWF.xDesktop.requireApp("Organization","Selector.Person",function(){var e=new MWF.xApplication.Organization.Selector.Person(this.node,{onComplete:function(e){var t=[];e.each(function(e){t.push(e.data.name)});n.set("value",t.join(", "))}.bind(this)});e.load()}.bind(this))}.bind(this));var o=new Element("div",{styles:this.css.createFolderActionNode}).inject(e);var l=new Element("button",{styles:this.css.createFolderCancelButton,text:this.lp.cancel}).inject(o);var r=new Element("button",{styles:this.css.createFolderOkButton,text:this.lp.ok}).inject(o);l.addEvent("click",function(){this.content.unmask();e.destroy()}.bind(this));r.addEvent("click",function(){var t=this.controller.selectedAttachments.length;var i=0;var s=function(){if(i==t){if(n.get("value"))this.notice(this.lp.fileShareSuccess+n.get("value"),"success",this.content);e.destroy();this.content.unmask()}};this.controller.selectedAttachments.each(function(e){if(e.type!="folder"){e.data.shareList=n.get("value").split(/,\s*/g);this.restActions.updateAttachment(e.data,function(e){i++;s.apply(this)}.bind(this))}else{i++;s.apply(this)}}.bind(this))}.bind(this))},sendAttachment:function(){this.sendFile()},sendFile:function(){this.content.mask({style:{opacity:.7,"background-color":"#999"}});var e=new Element("div",{styles:this.css.createFolderNode}).inject(this.content);e.position({relativeTo:this.node,position:"center"});var t=new Element("div",{styles:this.css.createFolderTitleNode,text:this.lp.sendFile}).inject(e);var i=new Element("div",{styles:this.css.createFolderInforNode,text:this.lp.selectSendUser}).inject(e);var s=new Element("div",{styles:this.css.createFolderInputAreaNode}).inject(e);var n=new Element("input",{type:"text",readonly:true,styles:this.css.shareFileInputNode}).inject(s);n.addEvent("click",function(){MWF.xDesktop.requireApp("Organization","Selector.Person",function(){var e=new MWF.xApplication.Organization.Selector.Person(this.node,{onComplete:function(e){var t=[];e.each(function(e){t.push(e.data.name)});n.set("value",t.join(", "))}.bind(this)});e.load()}.bind(this))}.bind(this));var o=new Element("div",{styles:this.css.createFolderActionNode}).inject(e);var l=new Element("button",{styles:this.css.createFolderCancelButton,text:this.lp.cancel}).inject(o);var r=new Element("button",{styles:this.css.createFolderOkButton,text:this.lp.ok}).inject(o);l.addEvent("click",function(){this.content.unmask();e.destroy()}.bind(this));r.addEvent("click",function(){var t=this.controller.selectedAttachments.length;var i=0;var s=function(){if(i==t){if(n.get("value"))this.notice(this.lp.fileSendSuccess+n.get("value"),"success",this.content);e.destroy();this.content.unmask()}};this.controller.selectedAttachments.each(function(e){if(e.type!="folder"){e.data.editorList=n.get("value").split(/,\s*/g);this.restActions.updateAttachment(e.data,function(e){i++;s.apply(this)}.bind(this))}else{i++;s.apply(this)}}.bind(this))}.bind(this))},uploadAttachment:function(){this.createUploadFile()},createUploadFile:function(e){if(!this.uploadFileAreaNode){this.uploadFileAreaNode=new Element("div");var t='';this.uploadFileAreaNode.set("html",t);this.fileUploadNode=this.uploadFileAreaNode.getFirst();this.fileUploadNode.addEvent("change",function(){var t="";if(e){t=e.data.id}else{t=this.currentFolder&&this.currentFolder.data?this.currentFolder.data.id:""}var s=i.files;if(s.length){var n=s.length;var o=0;var l=function(){if(o==n){if(this.currentFolder){this.currentFolder.clickNode()}else{this.topTreeNode.clickNode()}}};for(var r=0;r1){if(this.currentHistory>0){this.enabledLeftNode()}else{this.disabledLeftNode()}if(this.currentHistory0){this.currentHistory--;var e=this.history[this.currentHistory];if(e){e.selectNode();this.loadSub(e);this.checkHistory()}}},rightPath:function(){if(this.currentHistory