MWF.xDesktop.requireApp("Template","MSelector",null,false);MWF.xApplication.MinderEditor.ExpandLevel=new Class({Extends:MSelector,options:{style:"arrow",width:"150px",height:"30px",textField:"text",valueField:"value",defaultOptionLp:"展开节点",isSetSelectedValue:false,isChangeOptionStyle:false,emptyOptionEnable:false,event:"mouseenter",containerIsTarget:true,tooltipsOptions:{axis:"x",hasArrow:true}},_selectItem:function(e,t){},_loadData:function(e){var t=[{value:"1",text:"展开到一级节点"},{value:"2",text:"展开到二级节点"},{value:"3",text:"展开到三级节点"},{value:"4",text:"展开到四级节点"},{value:"5",text:"展开到五级节点"},{value:"6",text:"展开到六级节点"},{value:"999",text:"展开全部"}];if(e)e(t)},_postCreateItem:function(e,t){e.setStyles({"font-size":"14px","min-height":"26px","line-height":"26px"})}});MWF.xApplication.MinderEditor.SelectAll=new Class({Extends:MSelector,options:{style:"arrow",width:"150px",height:"30px",textField:"text",valueField:"value",defaultOptionLp:"选择节点",isSetSelectedValue:false,isChangeOptionStyle:false,emptyOptionEnable:false,event:"mouseenter",containerIsTarget:true,tooltipsOptions:{axis:"x",hasArrow:true}},_selectItem:function(e,t){},_loadData:function(e){var t=[{value:"all",text:"全选"},{value:"revert",text:"反选"},{value:"siblings",text:"选择兄弟节点"},{value:"level",text:"选择同级节点"},{value:"path_",text:"选择路径"},{value:"tree",text:"选择子树"}];if(e)e(t)},_postCreateItem:function(e,t){e.setStyles({"font-size":"14px","min-height":"26px","line-height":"26px"})},_selectItem:function(e,t){this[t.value]()},all:function(){var t=[];this.app.minder.getRoot().traverse(function(e){t.push(e)});this.app.minder.select(t,true);this.app.minder.fire("receiverfocus")},revert:function(){var t=this.app.minder.getSelectedNodes();var i=[];this.app.minder.getRoot().traverse(function(e){if(t.indexOf(e)==-1){i.push(e)}});this.app.minder.select(i,true);this.app.minder.fire("receiverfocus")},siblings:function(){var e=this.app.minder.getSelectedNodes();var t=[];e.forEach(function(e){if(!e.parent)return;e.parent.children.forEach(function(e){if(t.indexOf(e)==-1)t.push(e)})});this.app.minder.select(t,true);this.app.minder.fire("receiverfocus")},level:function(){var t=this.app.minder.getSelectedNodes().map(function(e){return e.getLevel()});var i=[];this.app.minder.getRoot().traverse(function(e){if(t.indexOf(e.getLevel())!=-1){i.push(e)}});this.app.minder.select(i,true);this.app.minder.fire("receiverfocus")},path_:function(){var e=this.app.minder.getSelectedNodes();var t=[];e.forEach(function(e){while(e&&t.indexOf(e)==-1){t.push(e);e=e.parent}});this.app.minder.select(t,true);this.app.minder.fire("receiverfocus")},tree:function(){var e=this.app.minder.getSelectedNodes();var t=[];e.forEach(function(e){e.traverse(function(e){if(t.indexOf(e)==-1)t.push(e)})});this.app.minder.select(t,true);this.app.minder.fire("receiverfocus")}});MWF.xApplication.MinderEditor.Template=new Class({Extends:MSelector,options:{style:"minderTemplate",width:"195px",height:"30px",defaultOptionLp:"",isSetSelectedValue:false,isChangeOptionStyle:true,emptyOptionEnable:false,event:"mouseenter"},_selectItem:function(e,t){},_loadData:function(e){var t=[{command:"default",picture:"default.png",title:"思维导图"},{command:"structure",picture:"structure.png",title:"目录组织图"},{command:"filetree",picture:"filetree.png",title:"组织结构图"},{command:"right",picture:"right.png",title:"逻辑结构图"},{command:"fish-bone",picture:"fish-bone.png",title:"鱼骨图"},{command:"tianpan",picture:"tianpan.png",title:"天盘"}];var i=this.app.options.template;if(i&&i.length>0){for(var s=0;s0){for(var s=0;s$1')}this.contentNode.set("html",s);this.setCoondinates()}.bind(this))}});MWF.xApplication.MinderEditor.Help=new Class({Implements:[Options,Events],Extends:MTooltips,options:{style:"default",axis:"y",position:{x:"auto",y:"auto"},overflow:"scroll",hasCloseAction:true,event:"click"},_customNode:function(e,t){var i=new Element("table").inject(t);var s=this.commands.commands;for(var n in s){var o=s[n];if(o.key){var r=new Element("tr").inject(i);new Element("td",{text:o.locale||o.title}).inject(r);new Element("td",{text:o.key}).inject(r)}}}});MWF.xApplication.MinderEditor.Preview=new Class({options:{show:"true"},Implements:[Options,Events],initialize:function(e,t,i,s){this.container=e;this.app=i;this.lp=MWF.xApplication.MinderEditor.LP;this.css=s;this.minder=t},load:function(e){this.previewer=new Element("div",{styles:this.css.previewer}).inject(this.container);this.initPreViewer();if(this.options.show){this.toggleOpen(true)}},initPreViewer:function(){var e=this.paper=new kity.Paper(this.previewer);this.nodeThumb=e.put(new kity.Path);this.connectionThumb=e.put(new kity.Path);this.visibleRect=e.put(new kity.Rect(100,100).stroke("red","1%"));this.contentView=new kity.Box;this.visibleView=new kity.Box;this.pathHandler=this.getPathHandler(this.minder.getTheme());this.navigate()},getPathHandler:function(e){switch(e){case"tianpan":case"tianpan-compact":return function(e,t,i,s,n){var o=s>>1;e.push("M",t,i+o,"a",o,o,0,1,1,0,.01,"z")};default:{return function(e,t,i,s,n){e.push("M",t,i,"h",s,"v",n,"h",-s,"z")}}}},toggleOpen:function(e){if(e){this.previewer.setStyle("display","block");this.bindPreviewerEvent();this.updateContentView();this.updateVisibleView()}else{this.previewer.setStyle("display","none");this.unbindPreviewerEvent()}},bindPreviewerEvent:function(){this.updateContentViewFun=this.updateContentViewFun||this.updateContentView.bind(this);this.updateVisibleViewFun=this.updateVisibleViewFun||this.updateVisibleView.bind(this);this.minder.on("layout layoutallfinish",this.updateContentViewFun);this.minder.on("viewchange",this.updateVisibleViewFun)},unbindPreviewerEvent:function(){this.minder.off("layout layoutallfinish",this.updateContentViewFun);this.minder.off("viewchange",this.updateVisibleViewFun)},moveView:function(e,t){var i=this.visibleView;e.x=-e.x;e.y=-e.y;var s=this.minder.getPaper().getViewPortMatrix();i=s.transformBox(i);var n=e.offset(i.width/2,i.height/2);this.minder.getViewDragger().moveTo(n,t)},navigate:function(){var t=this;this.dragging=false;this.paper.on("mousedown",function(e){t.dragging=true;t.moveView(e.getPosition("top"),200);t.previewer.setStyles(t.css.previewerGrab)});this.paper.on("mousemove",function(e){if(t.dragging){t.moveView(e.getPosition("top"))}});this.paper.on("mouseup",function(){t.dragging=false;if(t.previewer)t.previewer.setStyles(t.css.previewerNoGrab)});this.app.contentNode.addEvent("mouseup",function(){t.dragging=false;if(t.previewer)t.previewer.setStyles(t.css.previewerNoGrab)})},updateContentView:function(){var e=this.minder.getRenderContainer().getBoundaryBox();this.contentView=e;var t=30;this.paper.setViewBox(e.x-t-.5,e.y-t-.5,e.width+t*2+1,e.height+t*2+1);var i=[];var s=[];this.minder.getRoot().traverse(function(e){var t=e.getLayoutBox();this.pathHandler(i,t.x,t.y,t.width,t.height);if(e.getConnection()&&e.parent&&e.parent.isExpanded()){s.push(e.getConnection().getPathData())}}.bind(this));this.paper.setStyle("background",this.minder.getStyle("background"));if(i.length){this.nodeThumb.fill(this.minder.getStyle("root-background")).setPathData(i)}else{this.nodeThumb.setPathData(null)}if(s.length){this.connectionThumb.stroke(this.minder.getStyle("connect-color"),"0.5%").setPathData(s)}else{this.connectionThumb.setPathData(null)}this.updateVisibleView()},updateVisibleView:function(){this.visibleView=this.minder.getViewDragger().getView();this.visibleRect.setBox(this.visibleView.intersect(this.contentView))}});MWF.xApplication.MinderEditor.SearchBar=new Class({Implements:[Options,Events],options:{},initialize:function(e,t,i,s,n){this.setOptions(n);this.container=e;this.app=i;this.lp=MWF.xApplication.MinderEditor.LP;this.css=s;this.minder=t},enterSearch:function(){if(!this.nodeSequence){this.load()}else{this.show();this.searchInput.focus()}},load:function(e){this.createSearchBar();this.nodeSequence=[];this.searchSequence=[]},show:function(){this.container.setStyle("display","block");this.node.setStyle("display","block");this.fireEvent("show")},hide:function(){this.container.setStyle("display","none");this.node.setStyle("display","none");this.fireEvent("hide")},createSearchBar:function(){this.node=new Element("div",{styles:this.css.searchBar}).inject(this.container);this.searchInput=new Element("input",{type:"text",styles:this.css.searchInput,value:this.lp.searchText}).inject(this.node);this.searchInput.addEvents({focus:function(e){if(this.searchInput.get("value")==this.lp.searchText){this.searchInput.set("value","")}this.makeNodeSequence()}.bind(this),blur:function(e){if(this.searchInput.get("value").trim()==""){this.searchInput.set("value",this.lp.searchText)}}.bind(this),keyup:function(){this.doSearch(this.searchInput.get("value"),"next")}.bind(this)});this.resultInforNode=new Element("div",{styles:this.css.resultInforNode,text:"0/0"}).inject(this.node);this.prevButton=new Element("div",{styles:this.css.prevButton,title:this.lp.prev}).inject(this.node);this.prevButton.addEvent("click",function(){this.goPrev()}.bind(this));this.nextButton=new Element("div",{styles:this.css.nextButton,title:this.lp.next}).inject(this.node);this.nextButton.addEvent("click",function(){this.goNext()}.bind(this));this.closeButton=new Element("div",{styles:this.css.closeButton,title:this.lp.close}).inject(this.node);this.closeButton.addEvent("click",function(){this.close()}.bind(this))},goNext:function(){this.doSearch(this.searchInput.get("value"),"next")},goPrev:function(){this.doSearch(this.searchInput.get("value"),"prev")},close:function(){this.hide()},makeNodeSequence:function(){this.nodeSequence=[];this.minder.getRoot().traverse(function(e){this.nodeSequence.push(e)}.bind(this))},makeSearchSequence:function(e){this.searchSequence=[];for(var t=0;t