Main.min.js 28 KB

1
  1. 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;this.restActions=MWF.Actions.get("x_file_assemble_control")},loadApplication:function(e){this.history=[];this.currentHistory=1;this.currentFolder=null;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;t<this.shareTree.children.length;t++){if(this.shareTree.children[t].data.name==this.status.node){this.shareTree.children[t].clickNode();e=true;break}}if(!e)this.shareTree.firstChild.clickNode()}else{this.shareTree.firstChild.clickNode()}}else{this.shareTree.firstChild.clickNode()}}};this.editorTree.loadCallback=function(){if(this.editorTab.isShow){if(this.status){if(this.status.node){var e=false;for(var t=0;t<this.editorTree.children.length;t++){if(this.editorTree.children[t].data.name==this.status.node){this.editorTree.children[t].clickNode();e=true;break}}if(!e)this.editorTree.firstChild.clickNode()}else{this.editorTree.firstChild.clickNode()}}else{this.editorTree.firstChild.clickNode()}}};this.treeResize=new Drag(this.resizeContentNode,{snap:1,onStart:function(e,t){var i=t.event.clientX;var s=t.event.clientY;e.store("position",{x:i,y:s});var n=this.folderContentNode.getSize();e.store("initialWidth",n.x)}.bind(this),onDrag:function(e,t){var i=t.event.clientX;var s=this.content.getSize();var n=e.retrieve("position");var o=e.retrieve("initialWidth").toFloat();var l=i.toFloat()-n.x.toFloat();var r=o+l;if(r>s.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.id,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,s){if(s.length){var n=this;var t=this.lp.deleteFolderFilesTitle;var i=this.lp.deleteFolderFiles;if(s.length==1){var t=s[0].type=="folder"?this.lp.deleteFolderTitle:this.lp.deleteFileTitle;var i=s[0].type=="folder"?this.lp.deleteFolder:this.lp.deleteFile;i=i+"("+s[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,t,i,300,120,function(){var e=s.length;var t=0;var i=function(){if(t==e){if(this.currentFolder){this.currentFolder.loaded=false;this.currentFolder.clickNode()}else{this.topTreeNode.loaded=false;this.topTreeNode.clickNode()}}};s.each(function(e){if(e.type=="folder"){e.treeNode.destroy();n.restActions.deleteFolder(e.data.id,function(){t++;i.apply(n)})}else{n.restActions.deleteFile(e.data.id,function(){t++;i.apply(n)})}});this.close()},function(){this.close()})}},shareAttachment:function(){this.shareFile()},shareFile:function(){this.content.mask({style:{opacity:.7,"background-color":"#999"}});var s=new Element("div",{styles:this.css.createFolderNode}).inject(this.content);s.position({relativeTo:this.node,position:"center"});var e=new Element("div",{styles:this.css.createFolderTitleNode,text:this.lp.shareFile}).inject(s);var t=new Element("div",{styles:this.css.createFolderInforNode,text:this.lp.selectShareUser}).inject(s);var i=new Element("div",{styles:this.css.createFolderInputAreaNode}).inject(s);var n=new Element("div",{type:"text",readonly:true,styles:this.css.shareFileInputNode}).inject(i);debugger;n.addEvent("click",function(){MWF.xDesktop.requireApp("Selector","Person",function(){var e=new MWF.xApplication.Selector.Person(this.node,{onComplete:function(e){MWF.require("MWF.widget.O2Identity",function(){var t=[];var i=[];n.empty();e.each(function(e){t.push(e.data.distinguishedName);i.push(e.data.name);new MWF.widget.O2Person({name:e.data.distinguishedName},n,{style:"xform"})});n.store("texts",i);n.set("value",t.join(", "))}.bind(this))}.bind(this)});e.load()}.bind(this))}.bind(this));var o=new Element("div",{styles:this.css.createFolderActionNode}).inject(s);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();s.destroy()}.bind(this));r.addEvent("click",function(){var e=this.controller.selectedAttachments.length;var t=0;var i=function(){if(t===e){if(n.get("value"))this.notice(this.lp.fileShareSuccess+n.retrieve("texts",[]).join(","),"success",this.content);s.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.id,e.data,function(e){t++;i.apply(this)}.bind(this))}else{t++;i.apply(this)}}.bind(this))}.bind(this))},sendAttachment:function(){this.sendFile()},sendFile:function(){this.content.mask({style:{opacity:.7,"background-color":"#999"}});var s=new Element("div",{styles:this.css.createFolderNode}).inject(this.content);s.position({relativeTo:this.node,position:"center"});var e=new Element("div",{styles:this.css.createFolderTitleNode,text:this.lp.sendFile}).inject(s);var t=new Element("div",{styles:this.css.createFolderInforNode,text:this.lp.selectSendUser}).inject(s);var i=new Element("div",{styles:this.css.createFolderInputAreaNode}).inject(s);var n=new Element("div",{type:"text",readonly:true,styles:this.css.shareFileInputNode}).inject(i);n.addEvent("click",function(){MWF.xDesktop.requireApp("Selector","Person",function(){var e=new MWF.xApplication.Selector.Person(this.node,{onComplete:function(e){MWF.require("MWF.widget.O2Identity",function(){var t=[];var i=[];n.empty();e.each(function(e){t.push(e.data.distinguishedName);i.push(e.data.name);new MWF.widget.O2Person({name:e.data.distinguishedName},n,{style:"xform"})});n.store("texts",i);n.set("value",t.join(", "))}.bind(this))}.bind(this)});e.load()}.bind(this))}.bind(this));var o=new Element("div",{styles:this.css.createFolderActionNode}).inject(s);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();s.destroy()}.bind(this));r.addEvent("click",function(){var e=this.controller.selectedAttachments.length;var t=0;var i=function(){if(t==e){if(n.get("value"))this.notice(this.lp.fileSendSuccess+n.retrieve("texts",[]).join(","),"success",this.content);s.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.id,e.data,function(e){t++;i.apply(this)}.bind(this))}else{t++;i.apply(this)}}.bind(this))}.bind(this))},uploadAttachment:function(e,t){debugger;folderId=this.currentFolder&&this.currentFolder.data?this.currentFolder.data.id:"";this.controller.doUploadAttachment(null,this.restActions.action,"addAttachment",{folder:folderId||"(0)"},function(){if(this.currentFolder){this.currentFolder.clickNode()}else{this.topTreeNode.clickNode()}}.bind(this))},replaceAttachment:function(e,t,i){var s=i.data.id;debugger;this.controller.doReplaceAttachment(null,this.restActions.action,"updateAttachmentData",{id:s},function(){if(this.currentFolder){this.currentFolder.clickNode()}else{this.topTreeNode.clickNode()}}.bind(this))},createFolder: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.createFolder}).inject(e);var i=new Element("div",{styles:this.css.createFolderInforNode,text:this.lp.inputFolderName}).inject(e);var s=new Element("div",{styles:this.css.createFolderInputAreaNode}).inject(e);var n=new Element("input",{type:"text",styles:this.css.createFolderInputNode}).inject(s);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(){if(n.get("value")){var t={name:n.get("value"),superior:this.currentFolder&&this.currentFolder.data?this.currentFolder.data.id:""};debugger;this.restActions.saveFolder(t,function(e){t.id=e.data.id;this.restActions.getFolder(t.id,function(e){if(this.currentFolder){var t={data:[e.data]};this.createTreeNode(t,this.currentFolder);this.currentFolder.clickNode()}else{this.topTreeNode.clickNode()}}.bind(this))}.bind(this));e.destroy();this.content.unmask()}else{this.notice(this.lp.folderNameNotEmpty,"error",e)}}.bind(this))},getAttachmentUrl:function(e,t){this.restActions.getFileUrl(e.data.id,t)},loadFolderTreeNode:function(){this.folderTreeNode=new Element("div",{styles:this.css.folderTreeNode}).inject(this.folderTreeAreaScrollNode);this.folderTree=new MWF.widget.Tree(this.folderTreeNode,{style:"file"});this.folderTree.load();var e={expand:false,title:"root",text:"root",action:function(e){this.recordHistory(e);this.expand(e,function(){this.loadSub(e)}.bind(this))}.bind(this),icon:"folder.png"};this.topTreeNode=this.folderTree.appendChild(e)},createShareTreeNode:function(e){e.data.each(function(e){var t=e.name.substring(0,e.name.indexOf("@"));var i={expand:false,title:t+"("+e.count+")",text:t+"("+e.count+")",action:function(e){this.loadShareFile(e)}.bind(this),icon:"folder.png"};var s=this.shareTree.appendChild(i);s.data=e}.bind(this))},loadShareTreeNode:function(){this.shareTreeNode=new Element("div",{styles:this.css.folderTreeNode}).inject(this.shareTreeAreaScrollNode);this.shareTree=new MWF.widget.Tree(this.shareTreeNode,{style:"file"});this.shareTree.load();this.restActions.listShare(function(e){this.createShareTreeNode(e);if(this.shareTree.loadCallback)this.shareTree.loadCallback.apply(this)}.bind(this),null,false)},loadShareFile:function(e){var t=e.data.name;this.restActions.listShareAttachment(t,function(e){this.controller.clear();e.data.each(function(e){this.controller.addAttachment(e)}.bind(this))}.bind(this))},createEditorTreeNode:function(e){e.data.each(function(e){var t=MWF.name.cn(e.name);var i={expand:false,title:t+"("+e.count+")",text:t+"("+e.count+")",action:function(e){this.loadEditorFile(e)}.bind(this),icon:"folder.png"};var s=this.editorTree.appendChild(i);s.data=e}.bind(this))},loadEditorTreeNode:function(){this.editorTreeNode=new Element("div",{styles:this.css.folderTreeNode}).inject(this.editorTreeAreaScrollNode);this.editorTree=new MWF.widget.Tree(this.editorTreeNode,{style:"file"});this.editorTree.load();this.restActions.listEditor(function(e){this.createEditorTreeNode(e);if(this.editorTree.loadCallback)this.editorTree.loadCallback.apply(this)}.bind(this),null,false)},loadEditorFile:function(e){var t=e.data.name;this.restActions.listEditorAttachment(t,function(e){this.controller.clear();e.data.each(function(e){this.controller.addAttachment(e)}.bind(this))}.bind(this))},loadFileContentAreaNode:function(){this.controller=new MWF.xApplication.File.AttachmentController(this.attachmentContentNode,this,{resize:false,isSizeChange:false});this.controller.load()},createTreeNode:function(e,s){e.data.each(function(e){var t={expand:false,title:e.name,text:e.name,action:function(e){this.recordHistory(e);this.expand(e,function(){this.loadSub(e)}.bind(this))}.bind(this),icon:"folder.png"};var i=s.appendChild(t);i.data=e}.bind(this))},loadFolderTree:function(t,i){if(!t.loaded){t.loaded=true;if(t.data){this.restActions.listFolder(t.data.id,function(e){this.createTreeNode(e,t);t.setOperateIcon();if(i)i()}.bind(this),null,false)}else{this.restActions.listTopFolder(function(e){this.createTreeNode(e,t);t.setOperateIcon();if(i)i()}.bind(this),null,false)}}else{if(i)i()}},setContentHeight:function(e){var t=this.node.getSize();var i=this.topNode.getSize();var s=this.topNode.getStyle("margin-top").toFloat();var n=this.topNode.getStyle("margin-bottom").toFloat();var o=this.fileContentNode.getStyle("margin-top").toFloat();var l=this.fileContentNode.getStyle("margin-bottom").toFloat();var r=t.y-i.y-s-n-o-l;this.fileContentNode.setStyle("height",r);this.attachmentContentNode.setStyle("height",r);var d=this.controller.topNode.getSize();var a=r-d.y;this.controller.contentScrollNode.setStyle("height",""+a+"px");var h=this.treeTab.tabNodeContainer.getSize();var r=r-h.y;this.folderTreeAreaScrollNode.setStyle("height",r);this.shareTreeAreaScrollNode.setStyle("height",r);this.editorTreeAreaScrollNode.setStyle("height",r)},expand:function(e,t){if(!e.options.expand){this.loadFolderTree(e,function(){if(t)t()}.bind(this));this.folderTree.expand(e);e.options.expand=true;e.setOperateIcon()}else{if(t)t()}},checkHistory:function(){if(this.history.length>1){if(this.currentHistory>0){this.enabledLeftNode()}else{this.disabledLeftNode()}if(this.currentHistory<this.history.length-1){this.enabledRightNode()}else{this.disabledRightNode()}}else{this.disabledLeftNode();this.disabledRightNode()}},enabledLeftNode:function(){this.leftNode.setStyle("background-image","url("+"/x_component_File/$Main/default/icon/left_enabled.png)")},enabledRightNode:function(){this.rightNode.setStyle("background-image","url("+"/x_component_File/$Main/default/icon/right_enabled.png)")},disabledLeftNode:function(){this.leftNode.setStyle("background-image","url("+"/x_component_File/$Main/default/icon/left.png)")},disabledRightNode:function(){this.rightNode.setStyle("background-image","url("+"/x_component_File/$Main/default/icon/right.png)")},leftPath:function(){if(this.currentHistory>0){this.currentHistory--;var e=this.history[this.currentHistory];if(e){e.selectNode();this.loadSub(e);this.checkHistory()}}},rightPath:function(){if(this.currentHistory<this.history.length-1){this.currentHistory++;var e=this.history[this.currentHistory];if(e){e.selectNode();this.loadSub(e);this.checkHistory()}}},recordHistory:function(e){if(!this.history.length||this.history[this.history.length-1]!=e){this.history.push(e);this.currentHistory=this.history.length-1;this.checkHistory()}},setPathNode:function(e){this.pathNode.empty();var s=[];var t=e;while(t){s.unshift(t);t=t.parentNode}var n=this;s.each(function(e,t){this.expand(e);var i=new Element("div",{styles:this.css.pathItemNode,text:e.data?e.data.name:"root",events:{mouseover:function(){this.setStyles(n.css.pathItemNode_over)},mouseout:function(){this.setStyles(n.css.pathItemNode)},click:function(){e.clickNode()}}}).inject(this.pathNode);if(t<s.length-1)new Element("div",{styles:this.css.pathItemIconNode}).inject(this.pathNode)}.bind(this))},loadSub:function(e){this.setPathNode(e);this.controller.clear();e.children.each(function(e){var t=this.controller.addAttachmentFolder(e.data);t.treeNode=e}.bind(this));this.currentFolder=e;if(e.data){this.restActions.listAttachment(e.data.id,function(e){e.data.each(function(e){this.controller.addAttachment(e)}.bind(this))}.bind(this))}else{this.restActions.listAttachmentTop(function(e){e.data.each(function(e){this.controller.addAttachment(e)}.bind(this))}.bind(this))}},uploadFiles:function(e){if(!this.uploadFileList)this.uploadFileList=[];if(!this.uploadFileTotalSize)this.uploadFileTotalSize=0;if(!e||!e.length)return;for(var t=0;t<e.length&&t<5;t++){this.uploadFileList.push(e[t]);this.uploadFileTotalSize+=e[t].size}this.uploadNext()},uploadNext:function(){if(this.uploadFileList.length){var e=this.uploadFileList.shift();if(e){this.uploadFile(e);this.uploadNext()}}},uploadFile:function(e){var t=new FormData;t.append("file",e);t.append("name",e.name);t.append("folder",this.currentFolder&&this.currentFolder.data?this.currentFolder.data.id:"");this.restActions.addAttachment(this.currentFolder&&this.currentFolder.data?this.currentFolder.data.id:"(0)",t,e,function(){if(!this.uploadFileList.length){if(this.currentFolder){this.currentFolder.clickNode()}else{this.topTreeNode.clickNode()}}}.bind(this))},initDropUpLoad:function(){this.fileContentAreaNode.addEventListener("drop",function(e){e.stopPropagation();e.preventDefault();if(this.dropUploadInforNode){this.dropUploadInforNode.destroy();this.dropUploadInforNode=null}if(e.dataTransfer.types.length<2){this.uploadFiles(e.dataTransfer.files)}}.bind(this),false);this.fileContentAreaNode.addEventListener("dragover",function(e){if(e.dataTransfer.types.length<2){e.stopPropagation();e.preventDefault();if(!this.dropUploadInforNode){this.dropUploadInforNode=new Element("div",{styles:this.css.dropUploadInforNode,text:this.lp.dropUpload}).inject(this.node);this.dropUploadInforNode.position({relativeTo:this.fileContentAreaNode,position:"centerBottom",edge:"centerBottom",offset:{x:0,y:-100}});this.dropUploadInforNode.fade(.7)}}}.bind(this),false);this.fileContentAreaNode.addEventListener("dragleave",function(e){e.stopPropagation();e.preventDefault();if(this.dropUploadInforNode)window.setTimeout(function(){if(this.dropUploadInforNode){this.dropUploadInforNode.destroy();this.dropUploadInforNode=null}}.bind(this),2e3)}.bind(this),false)}});MWF.xApplication.File.Attachment=new Class({initialize:function(e,t){this.data=e;this.file=t;this.type="file";this.extension=this.data.name.substr(this.data.name.lastIndexOf(".")+1,this.data.name.length);this.load()},getIcon:function(){var e=this.file.icons[this.extension]||this.file.icons.unknow;return"/x_component_File/$Main/default/file/"+e},load:function(){this.node=new Element("div",{styles:this.file.css.attachmentNode});this.iconNode=new Element("div",{styles:this.file.css.attachmentIconNode}).inject(this.node);this.imgNode=new Element("div",{styles:this.file.css.attachmentImgNode}).inject(this.iconNode);this.imgNode.setStyle("background-image","url("+this.getIcon()+")");this.textNode=new Element("div",{styles:this.file.css.attachmentTextNode,text:this.data.name,title:this.data.name}).inject(this.node);if(this.data.shareList){if(this.data.shareList.length){this.shareIconNode=new Element("div",{styles:this.file.css.shareIconNode}).inject(this.node)}}this.node.inject(this.file.fileContentAreaNode);this.setEvents()},setEvents:function(){this.node.addEvents({mouseover:function(){if(!this.isSelected)this.node.setStyles(this.file.css.attachmentNode_over)}.bind(this),mouseout:function(){if(!this.isSelected)this.node.setStyles(this.file.css.attachmentNode)}.bind(this),click:function(e){this.selected();e.stop();e.stopPropagation()}.bind(this),dblclick:function(){this.open()}.bind(this)});this.node.makeLnk({par:{icon:this.getIcon(),title:this.data.name,par:'FileOpen#{"id": "'+this.data.id+'", "type": "file"}'}})},selected:function(){if(this.file.selectedItem)this.file.selectedItem.unSelected();this.isSelected=true;this.node.setStyles(this.file.css.attachmentNode_select);this.file.selectedItem=this},unSelected:function(){this.isSelected=false;this.node.setStyles(this.file.css.attachmentNode);this.file.selectedItem=null},open:function(){this.file.restActions.getAttachment(this.data.id)}});MWF.xApplication.File.Folder=new Class({initialize:function(e,t){this.data=e;this.file=t;this.type="folder";this.load()},getIcon:function(){return"/x_component_File/$Main/default/file/folder.png"},load:function(){this.node=new Element("div",{styles:this.file.css.attachmentNode});this.iconNode=new Element("div",{styles:this.file.css.attachmentIconNode}).inject(this.node);this.imgNode=new Element("img",{styles:this.file.css.attachmentImgNode,src:this.getIcon(),border:"0"}).inject(this.iconNode);this.textNode=new Element("div",{styles:this.file.css.attachmentTextNode,text:this.data.name}).inject(this.node);this.node.inject(this.file.fileContentAreaNode);this.setEvents()},setEvents:function(){this.node.addEvents({mouseover:function(){if(!this.isSelected)this.node.setStyles(this.file.css.attachmentNode_over)}.bind(this),mouseout:function(){if(!this.isSelected)this.node.setStyles(this.file.css.attachmentNode)}.bind(this),click:function(e){this.selected();e.stop();e.stopPropagation()}.bind(this),dblclick:function(){this.open()}.bind(this)})},selected:function(){if(this.file.selectedItem)this.file.selectedItem.unSelected();this.isSelected=true;this.node.setStyles(this.file.css.attachmentNode_select);this.file.selectedItem=this},unSelected:function(){this.isSelected=false;this.node.setStyles(this.file.css.attachmentNode);this.file.selectedItem=null},open:function(){this.treeNode.clickNode()}});MWF.xApplication.File.ShareAttachment=new Class({Extends:MWF.xApplication.File.Attachment,initialize:function(e,t){this.data=e;this.file=t;this.type="share";this.extension=this.data.name.substr(this.data.name.lastIndexOf(".")+1,this.data.name.length);this.load()}});