MWF.xApplication.MinderEditor=MWF.xApplication.MinderEditor||{};MWF.xDesktop.requireApp("MinderEditor","Tools",null,false);MWF.xDesktop.requireApp("MinderEditor","RuntimeInCommon",null,false);MWF.xDesktop.requireApp("MinderEditor","WidgetInCommon",null,false);MWF.xDesktop.requireApp("MinderEditor","Commands",null,false);MWF.xDesktop.requireApp("MinderEditor","LeftToolbar",null,false);MWF.xApplication.MinderEditor.options={multitask:true,executable:true};MWF.xApplication.MinderEditor.Main=new Class({Extends:MWF.xApplication.Common.Main,Implements:[Options,Events],options:{isEdited:false,style:"default",name:"MinderEditor",icon:"icon.png",width:"1200",height:"700",isResize:false,isMax:true,title:MWF.xApplication.MinderEditor.LP.title,align:"center",folderId:"root",minderName:"",menuAction:"",id:"",defaultTheme:"fresh-blue",defaultTemplate:"default",isSetDataWhenExpand:false,leftToolbarEnable:true,notePreviewerEnable:true,tools:{top:["menu","|","save","|","undoredo","|","append","|","arrange","|","edit_remove","|","hyperLink","image","priority","progress","|","style","help"],left:["zoom","camera","resetlayout","move","expandLevel","selectAll","preview","template","theme","search"],right:["font","resource","note"]},disableTools:[],template:[],theme:[],dataMode:"restful"},onQueryLoad:function(){this.lp=MWF.xApplication.MinderEditor.LP},loadApplication:function(t){this.autoSaveInter=3*60*1e3;this.userName=layout.desktop.session.user.distinguishedName||layout.desktop.session.user.name;this.restActions=MWF.Actions.get("x_mind_assemble_control");if(this.status){this.options.isEdited=this.status.isEdited||false;this.options.isNew=this.status.isNew||false;this.options.dataMode=this.status.dataMode}if(this.options.isEdited){MWF.xDesktop.requireApp("MinderEditor","RuntimeInEditMode",null,false);MWF.xDesktop.requireApp("MinderEditor","WidgetInEditMode",null,false);MWF.xDesktop.requireApp("MinderEditor","ToolbarInEditMode",null,false);MWF.xDesktop.requireApp("MinderEditor","PopMenu",null,false)}else{MWF.xDesktop.requireApp("MinderEditor","RuntimeInReadMode",null,false)}this.createNode();this.getData(function(){var t=this.data.name||this.options.title||"新建脑图";t=t.length>30?t.substr(0,30):t;this.setTitle(t);this.loadApplicationContent()}.bind(this));if(this.options.noticeText)this.notice(this.options.noticeText,"info")},getData:function(e){var t;if(this.options.dataMode=="outer"||this.status&&this.status.dataMode=="outer"){if(this.status&&this.status.data){this.data=this.status.data}}else{if(this.status&&this.status.id){t=this.status.id}else if(this.options.id){t=this.options.id}else if(this.data&&this.data.id){t=this.data.id}}if(t){this.restActions.getMind(t,function(t){this.data=t.data;this.data.content=JSON.parse(this.data.content);if(e)e()}.bind(this))}else if(this.data){if(this.data.content){if(typeOf(this.data.content)=="string"){this.data.content=JSON.parse(this.data.content)}}else{this.data.content={data:{}}}if(e)e()}else{this.data={content:{data:{}}};if(e)e()}},createNode:function(){this.content.setStyle("overflow","hidden");this.node=new Element("div.node",{styles:{width:"100%",height:"100%",overflow:"hidden"}}).inject(this.content);this._createNode()},_createNode:function(){if(this.options.isEdited){this.topToolbarNode=new Element("div.topToolbar").inject(this.node);this.topToolbarNode.setStyles(this.css.topToolbar)}this.contentNode=new Element("div.contentNode").inject(this.node);this.contentNode.classList.add("km-editor");if(this.options.isEdited){this.rightToolbarNode=new Element("div.rightToolbar").inject(this.node);this.rightToolbarNode.setStyles(this.css.rightToolbar)}this.Content_Offset_Top=this.contentNode.getCoordinates(this.node).top;this.resizeContentFun=this.resizeContent.bind(this);this.addEvent("resize",this.resizeContentFun);this.resizeContent()},loadApplicationContent:function(){this.loadResource(function(){this.loadKityMinder(this.data.content);this.debug=new MWF.xApplication.MinderEditor.Debug(true);this.key=new MWF.xApplication.MinderEditor.Key;this.fsm=new MWF.xApplication.MinderEditor.FSM("normal");this.receiver=new MWF.xApplication.MinderEditor.Receiver(this);if(this.options.isEdited){this.popmenu=new MWF.xApplication.MinderEditor.PopMenu(this.content,this,this.minder,this);this.input=new MWF.xApplication.MinderEditor.Input(this);if(this.minder.supportClipboardEvent&&!kity.Browser.gecko){this.MimeType=new MWF.xApplication.MinderEditor.ClipboardMimeType;this.clipboard=new MWF.xApplication.MinderEditor.Clipboard(this)}this.history=new MWF.xApplication.MinderEditor.History(this.minder);this.commands=new MWF.xApplication.MinderEditor.Commands(this);this.commands.load();this.topToolbar=new MWF.xApplication.MinderEditor.TopToolbar(this,this.topToolbarNode);this.topToolbar.load();this.rightToolbar=new MWF.xApplication.MinderEditor.RightToolbar(this,this.rightToolbarNode);this.rightToolbar.load();this.drag=new MWF.xApplication.MinderEditor.Drag(this);MWF.xApplication.MinderEditor.JumpingInEditMode(this);if(this.status&&this.status.autoSave){this.startAutoSave()}}else{this.commands=new MWF.xApplication.MinderEditor.Commands(this);this.commands.load();this.drag=new MWF.xApplication.MinderEditor.Drag(this);MWF.xApplication.MinderEditor.JumpingInReadMode(this)}if(this.options.notePreviewerEnable)new MWF.xApplication.MinderEditor.NotePrviewer(this)}.bind(this))},openMainMenu:function(t){var e=this.topToolbar.getCommandNode("menu");e.click();this.commands.mainMenu.show(t)},loadResource:function(t){var e="/x_desktop/res/framework/kityminder/";COMMON.AjaxModule.loadCss("/x_component_MinderEditor/$Main/default/kityminder.editor.css",function(){COMMON.AjaxModule.loadCss(e+"core/src/kityminder.css",function(){COMMON.AjaxModule.load("kity",function(){COMMON.AjaxModule.load("kityminder",function(){if(t)t()}.bind(this))}.bind(this))}.bind(this))}.bind(this))},loadExtentResource:function(e){var t="/x_desktop/res/framework/kityminder/";COMMON.AjaxModule.load("/x_desktop/res/framework/jquery/jquery-2.2.4.min.js",function(){COMMON.AjaxModule.load(t+"core/dist/kityminder.core.extend.js",function(){var t=jQuery.noConflict();if(e)e()}.bind(this))}.bind(this))},loadKityMinder:function(t){var i=this;this.isMovingCenter=true;var o=this.minder=new kityminder.Minder;o.renderTo(this.contentNode);t.theme=t.theme||this.options.defaultTheme;t.template=t.template||this.options.defaultTemplate;this.deepestLevel=0;o.on("contentchange",function(){this.updateTime=new Date}.bind(this));o.on("import",function(t){if(!i.alreadyBind){var e=o.getAllNode();e.forEach(function(t){i._loadMinderNode(t)});i.alreadyBind=true;if(i.options.leftToolbarEnable)i.loadLeftToolbar();i.fireEvent("postLoadMinder",i)}});o.on("execCommand",function(t){if(t.commandName==="template"){i.moveToCenter()}});o.on("layoutallfinish",function(){if(i.templateChanged||i.isMovingCenter){i.moveToCenter();i.templateChanged=false;i.isMovingCenter=false}});o.importJson(t)},_loadMinderNode:function(t){var e=t.getLevel();this.deepestLevel=e>this.deepestLevel?e:this.deepestLevel;this.fireEvent("postLoadMinderNode",t)},addMinderNodeEvents:function(i,o){var t=i.getRenderContainer().node;for(var e in o){t.addEventListener(e,function(t){var e=i.getRenderBox("screen");o[this](t,i,e)}.bind(e))}},addMinderNoteIconEvents:function(i,o){var t=i.getRenderer("NoteIconRenderer");if(t&&t.getRenderShape()){var e=t.getRenderShape();for(var n in o){e.addEventListener(n,function(t){var e=i.getRenderBox("screen");o[this](t,i,e)}.bind(n))}}},onExpandMinderNode:function(i,o){var t=i.getRenderer("ExpanderRenderer").getRenderShape();if(t){t.addEventListener("mousedown",function(t){var e=i.getRenderBox("screen");if(o)o(t,i,e)}.bind(i))}},replaceMinderNodeWithData:function(e,t){var i=this.minder;while(e.getChildren().length){var o=e.getChildren()[0];i.removeNode(o)}i.importNode(e,t);i.refresh();setTimeout(function(){var t=e.getChildren();if(t.length){t.forEach(function(t){this._loadMinderNode(t)}.bind(this))}}.bind(this),100)},resizeContent:function(){var t=this.content.getSize();this.contentNode.setStyles({height:t.y-this.Content_Offset_Top+"px"});if(this.rightToolbar){this.rightToolbar.setTooltipsSize()}if(this.minder){this.moveToCenter()}},loadLeftToolbar:function(){this.leftToolbar=new MWF.xApplication.MinderEditor.LeftToolbar(this.node,this,this.minder,this);this.leftToolbar.load()},moveToCenter:function(){this._moveToCenter()},_moveToCenter:function(){if(this.options.align!="center")return;var t=this.minder.getRenderContainer().getRenderBox("screen");var e=this.contentNode.getCoordinates();var i=this.minder.getRoot();var o=i.getRenderContainer().getRenderBox("screen");var n=o.top-t.top;var s=o.left-t.left;var r=i.getChildren().length;var a=this.minder.queryCommandValue("template");var d,h,l=false;if(t.width>e.width){if(a=="fish-bone"||r<2){d=50}else{l=true}}else{d=parseInt((e.width-t.width)/2+s+50)}if(t.height>e.height){if(n>e.height){if(a=="fish-bone"){h=e.height-o.height}else if(r<2){h=parseInt(e.width/2)}else{l=true}}else{h=n+50}}else{h=parseInt((e.height-t.height)/2)+n}if(l){this.minder.execCommand("camera",this.minder.getRoot(),600)}else{var p=this.minder.getViewDragger();p.moveTo(new kity.Point(d,h),300)}},recordStatus:function(){var t={id:this.data?this.data.id:"",autoSave:this.autoSave,isEdited:this.options.isEdited,isNew:this.options.isNew,dataMode:this.options.dataMode};if(this.options.dataMode=="outer"){t.data=this.data}if(this.rightToolbar){t.styleActive=this.rightToolbar.styleActive;t.noteActive=this.rightToolbar.noteActive;t.resourceActive=this.rightToolbar.resourceActive}return t},startAutoSave:function(){this.notice("开启自动保存");this.autoSave=true;this.autosaveInterval=setInterval(function(){if(this.updateTime){if(!this.saveTime||this.saveTimee.x&&v>e.y){if(M>e.x){i+=(M-e.x)/2;n=M}if(v>e.y){o+=(v-e.y)/2;s=v}}var a,d,h,l,p;if(M=d){p=d;h=(M-p*e.x)/2;l=0}else{p=a;h=0;l=(v-p*e.y)/2}r=p+" 0 0 "+p+" "+h+" "+l}}var c=/(.*?)<\/svg>/gi;t=''+c.exec(t)[1]+"";var f=t.split("");var u=t.split('"+''+''+'n.right){n=e}if(e.bottom>s.bottom){s=e}}.bind(this));return{top:i.top,right:n.right,bottom:s.bottom,left:o.left,width:n.right-o.left+1,height:s.bottom-i.top+1,x:n.right-o.left+1,y:s.bottom-i.top+1}}});