| 1 |
- MWF.xDesktop.requireApp("MinderEditor","LeftToolbar",null,false);MWF.xApplication.Template=MWF.xApplication.Template||{};MWF.xApplication.Template.Minder=new Class({Extends:MWF.widget.Common,Implements:[Options,Events],options:{style:"default",template:"default",theme:"fresh-blue",hasNavi:true,align:"center"},initialize:function(e,t,i,n){this.setOptions(n);this.content=t.content;this.container=this.contentNode=e;this.container.classList.add("km-editor");this.app=t;this.actions=this.app.restActions;this.data=i},load:function(){this.loadResource(function(){this.loadKityMinder(this.data)}.bind(this))},reload:function(e){this.container.empty();this.loadKityMinder(e||this.data)},refresh:function(){this.moveToCenter()},destroy:function(){if(this.navi){this.navi.destroy();delete this.navi}if(this.km)delete this.km},loadResource:function(e){var t="/x_desktop/res/framework/kityminder/";COMMON.AjaxModule.loadCss(t+"core/src/kityminder.css",function(){COMMON.AjaxModule.load("kity",function(){COMMON.AjaxModule.load("kityminder",function(){if(e)e()}.bind(this))}.bind(this))}.bind(this))},loadKityMinder:function(e){var i=this;this.isMovingCenter=true;var n=this.km=this.minder=new kityminder.Minder;n.renderTo(this.container);e.theme=e.theme||this.options.theme;e.template=e.template||this.options.template;this.deepestLevel=0;n.on("import",function(e){if(!i.alreadyBind){var t=n.getAllNode();t.forEach(function(e){var t=e.getLevel();i.deepestLevel=t>i.deepestLevel?t:i.deepestLevel;i.fireEvent("postLoadNode",e)});i.alreadyBind=true;if(i.options.hasNavi)i.loadNavi();i.fireEvent("postLoad",i)}});n.on("layoutallfinish",function(){if(i.templateChanged||i.isMovingCenter){i.moveToCenter();i.templateChanged=false;i.isMovingCenter=false}});n.importJson(e);n.execCommand("hand")},loadNavi:function(e){this.navi=new MWF.xApplication.MinderEditor.LeftToolbar(e||this.container,this,this.km,this.app);this.navi.load()},moveToCenter:function(){this._moveToCenter()},_moveToCenter:function(){if(this.options.align!="center")return;var e=this.km.getRenderContainer().getRenderBox("screen");var t=this.container.getCoordinates();var i=this.km.getRoot();var n=i.getRenderContainer().getRenderBox("screen");var o=n.top-e.top;var s=n.left-e.left;var a=i.getChildren().length;var r=this.km.queryCommandValue("template");var h,d,l=false;if(e.width>t.width){if(r=="fish-bone"||a<2){h=50}else{l=true}}else{h=parseInt((t.width-e.width)/2+s+50)}if(e.height>t.height){if(o>t.height){if(r=="fish-bone"){d=t.height-n.height}else if(a<2){d=parseInt(t.width/2)}else{l=true}}else{d=o+50}}else{d=parseInt((t.height-e.height)/2)+o}if(l){this.km.execCommand("camera",this.km.getRoot(),600)}else{var m=this.km.getViewDragger();m.moveTo(new kity.Point(h,d),300)}}});
|