Commands.min.js 30 KB

1
  1. MWF.xApplication.MinderEditor.Commands=new Class({Extends:MWF.widget.Common,Implements:[Options,Events],options:{type:"common",style:"default"},initialize:function(e,t){this.setOptions(t);this.app=e;this.lp=MWF.xApplication.MinderEditor.LP;this.editor=e;this.minder=e.minder;if(!e.debug){MWF.xDesktop.requireApp("MinderEditor","Tools",null,false);MWF.xDesktop.requireApp("MinderEditor","RuntimeInCommon",null,false);MWF.xDesktop.requireApp("MinderEditor","WidgetInCommon",null,false);this.editor.debug=new MWF.xApplication.MinderEditor.Debug(true)}if(!e.fsm){this.editor.fsm=new MWF.xApplication.MinderEditor.FSM("normal")}if(!e.key){this.editor.key=new MWF.xApplication.MinderEditor.Key}if(!e.receiver){this.editor.receiver=new MWF.xApplication.MinderEditor.Receiver(this.editor)}this.fsm=this.editor.fsm;this.receiver=this.editor.receiver;this.history=this.editor.history;this.path="/x_component_MinderEditor/$Commands/";this.cssPath=this.path+this.options.style+"/css.wcss";this.commands={undo:{icon:"undo",locale:"撤销",modle:["edit"],key:"Ctrl + Z",disable:function(){return this.history.hasUndo()==false}.bind(this),action:function(){this.history.hasUndo()==false||this.history.undo()}.bind(this)},redo:{icon:"redo",locale:"重做",modle:["edit"],key:"Ctrl + Y",disable:function(){return this.history.hasRedo()==false}.bind(this),action:function(){this.history.hasRedo()==false||this.history.redo()}.bind(this)},appendChild:{icon:"insert_sub",modle:["edit"],locale:"插入下级主题",key:["Tab","Insert"],isDefaultKey:true,disable:function(){return this.minder.queryCommandState("AppendChildNode")===-1}.bind(this),action:function(){this.minder.queryCommandState("AppendChildNode")===-1||this.minder.execCommand("AppendChildNode")}.bind(this)},appendParent:{icon:"insert_par",modle:["edit"],locale:"插入上级主题",key:"Shit + Tab",disable:function(){return this.minder.queryCommandState("AppendParentNode")===-1}.bind(this),action:function(){this.minder.queryCommandState("AppendParentNode")===-1||this.minder.execCommand("AppendParentNode")}.bind(this)},appendSibling:{icon:"insert_sibling",modle:["edit"],locale:"插入同级主题",key:"Enter",isDefaultKey:true,disable:function(){return this.minder.queryCommandState("AppendSiblingNode")===-1}.bind(this),action:function(){this.minder.queryCommandState("AppendSiblingNode")===-1||this.minder.execCommand("AppendSiblingNode")}.bind(this)},arrangeUp:{icon:"up",modle:["edit"],locale:"上移",key:"Alt + Up",isDefaultKey:true,disable:function(){return this.minder.queryCommandState("ArrangeUp")===-1}.bind(this),action:function(){this.minder.queryCommandState("ArrangeUp")===-1||this.minder.execCommand("ArrangeUp")}.bind(this)},arrangeDown:{icon:"down",modle:["edit"],locale:"下移",key:"Alt + Down",isDefaultKey:true,disable:function(){return this.minder.queryCommandState("ArrangeDown")===-1}.bind(this),action:function(){this.minder.queryCommandState("ArrangeDown")===-1||this.minder.execCommand("ArrangeDown")}.bind(this)},edit:{icon:"edit",modle:["edit"],locale:"编辑",key:"F2",disable:function(){return this.minder.queryCommandState("text")===-1}.bind(this),action:function(){this.minder.queryCommandState("text")===-1||this.editNode()}.bind(this)},remove:{icon:"delete",modle:["edit"],locale:"删除",key:"Delete",isDefaultKey:true,disable:function(){return this.minder.queryCommandState("RemoveNode")===-1}.bind(this),action:function(){this.minder.queryCommandState("RemoveNode")===-1||this.minder.execCommand("RemoveNode")}.bind(this)},hyperLink:{icon:"link",modle:["edit"],locale:"链接",key:"Alt + L",disable:function(){return this.minder.queryCommandState("HyperLink")===-1}.bind(this),action:function(){this.minder.queryCommandState("HyperLink")===-1||this.openHyperLinkForm("hyperLink")}.bind(this)},image:{icon:"image",modle:["edit"],locale:"图片",key:"Alt + M",disable:function(){return this.minder.queryCommandState("Image")===-1}.bind(this),action:function(){this.minder.queryCommandState("Image")===-1||this.openImageForm("image")}.bind(this)},note:{title:"备注",modle:["edit"],disable:function(){return this.minder.queryCommandState("note")===-1}.bind(this),init:function(e,t){this.createNoteEditor(e,"note")}.bind(this),setDisable:function(){this.setNoteDisable()}.bind(this),setNormal:function(){this.setNoteNormal()}.bind(this)},priority:{icon:"priority",modle:["edit"],locale:"优先级",key:"Alt + G",disable:function(){return this.minder.queryCommandState("priority")===-1}.bind(this),keyAction:function(){this.prioritySelector.showTooltip()}.bind(this),init:function(e,t){this.initPriority(e,t)}.bind(this)},progress:{icon:"progress",modle:["edit"],locale:"进度",key:"Alt + P",disable:function(){return this.minder.queryCommandState("progress")===-1}.bind(this),keyAction:function(){this.progressSelector.showTooltip()}.bind(this),init:function(e,t){this.initProgress(e,t)}.bind(this)},resource:{title:"标签",modle:["edit"],disable:function(){return this.minder.queryCommandState("resource")===-1}.bind(this),init:function(e,t){this.initResource(e,t)}.bind(this),setDisable:function(){this.setResourceDisable()}.bind(this),setNormal:function(){this.setResourceNormal()}.bind(this)},template:{icon:"template",modle:["edit","read"],title:"模板",disable:function(){return this.minder.queryCommandState("template")===-1}.bind(this),init:function(e,t){this.initTemplate(e,t)}.bind(this)},theme:{icon:"theme",modle:["edit","read"],title:"主题",disable:function(){return this.minder.queryCommandState("theme")===-1}.bind(this),init:function(e,t){this.initTheme(e,t)}.bind(this)},resetlayout:{icon:"resetlayout",modle:["edit","read"],title:"整理布局",key:"Ctrl + Shift + L",isDefaultKey:true,disable:function(){return this.minder.queryCommandState("resetlayout")===-1}.bind(this),action:function(){this.minder.queryCommandState("resetlayout")===-1||this.minder.execCommand("resetlayout")}.bind(this)},clearstyle:{icon:"clear",modle:["edit"],locale:"清除样式",disable:function(){return this.minder.queryCommandState("clearstyle")===-1}.bind(this),action:function(){this.minder.queryCommandState("clearstyle")===-1||this.minder.execCommand("clearstyle")}.bind(this)},copystyle:{icon:"copystyle",modle:["edit"],locale:"拷贝样式",disable:function(){return this.minder.queryCommandState("copystyle")===-1}.bind(this),action:function(){this.minder.queryCommandState("copystyle")===-1||this.minder.execCommand("copystyle")}.bind(this)},pastestyle:{icon:"pastestyle",modle:["edit"],locale:"粘贴样式",disable:function(){return this.minder.queryCommandState("pastestyle")===-1}.bind(this),action:function(){this.minder.queryCommandState("pastestyle")===-1||this.minder.execCommand("pastestyle")}.bind(this)},fontfamily:{title:"字体",modle:["edit"],disable:function(){return this.minder.queryCommandState("fontfamily")===-1}.bind(this),keyAction:function(){this.fontfamilySelector.showTooltip()}.bind(this),init:function(e,t){this.initFontFamily(e,t)}.bind(this)},fontsize:{title:"字号",modle:["edit"],disable:function(){return this.minder.queryCommandState("fontsize")===-1}.bind(this),keyAction:function(){this.fontsizeSelector.showTooltip()}.bind(this),init:function(e,t){this.initFontSize(e,t)}.bind(this)},italic:{icon:"italic",modle:["edit"],title:"斜体",key:"Ctrl + I",isDefaultKey:true,disable:function(){return this.minder.queryCommandState("italic")===-1}.bind(this),action:function(){this.minder.queryCommandState("italic")===-1||this.minder.execCommand("italic")}.bind(this)},bold:{icon:"bold",modle:["edit"],title:"加粗",key:"Ctrl + B",isDefaultKey:true,disable:function(){return this.minder.queryCommandState("bold")===-1}.bind(this),action:function(){this.minder.queryCommandState("bold")===-1||this.minder.execCommand("bold")}.bind(this)},forecolor:{icon:"forecolor",modle:["edit"],title:"字体颜色",action:function(){this.minder.queryCommandState("forecolor")===-1||!this.currentForecolor||this.minder.execCommand("forecolor",this.currentForecolor)}.bind(this),disable:function(){return this.minder.queryCommandState("forecolor")===-1}.bind(this),init:function(e,t){this.initFontColor(e,t)}.bind(this)},background:{icon:"background",modle:["edit"],title:"背景颜色",action:function(){this.minder.queryCommandState("background")===-1||!this.currentBackgroundcolor||this.minder.execCommand("background",this.currentBackgroundcolor)}.bind(this),disable:function(){return this.minder.queryCommandState("background")===-1}.bind(this),init:function(e,t){this.initBackground(e,t)}.bind(this)},expandLevel:{icon:"expand",modle:["edit","read"],title:"展开节点",disable:function(){return false}.bind(this),keyAction:function(){this.expandlevelSelector.showTooltip()}.bind(this),init:function(e,t){this.initExpandLevel(e,t)}.bind(this)},selectAll:{icon:"select",modle:["edit","read"],title:"选择",disable:function(){return false}.bind(this),keyAction:function(){this.selectallSelector.showTooltip()}.bind(this),init:function(e,t){this.initSelectAll(e,t)}.bind(this)},zoom:{module:["edit","read"],title:"缩放",disable:function(){return false},init:function(e,t){this.initZoomArea(e,t)}.bind(this)},camera:{icon:"camera",module:["edit","read"],title:"根节点居中",disable:function(){return false}.bind(this),action:function(){this.minder.execCommand("camera",this.minder.getRoot(),600)}.bind(this)},preview:{icon:"preview",module:["edit","read"],title:"预览",active:true,disable:function(){return false}.bind(this),action:function(){this.toggleOpenPreViewer()}.bind(this),setDisable:function(){}.bind(this),setNormal:function(){}.bind(this),init:function(e,t){this.initPreViewer(e)}.bind(this)},move:{icon:"move",module:["edit","read"],title:"允许拖拽",disable:function(){return false}.bind(this),active:false,setDisable:function(){}.bind(this),setNormal:function(){}.bind(this),action:function(){this.minder.execCommand("hand")}.bind(this)},search:{icon:"search",module:["edit","read"],title:"搜索",key:"Ctrl + F",active:false,setDisable:function(){}.bind(this),setNormal:function(){}.bind(this),disable:function(){return false}.bind(this),action:function(){this.toggerSearch()}.bind(this),init:function(e){this.initSearch(e)}.bind(this)},help:{icon:"help",modle:["edit","read"],title:"帮助",key:"Ctrl + Alt + H",disable:function(){return false}.bind(this),keyAction:function(){this.helpTootips.load()}.bind(this),init:function(e,t){this.initHelp(e,t)}.bind(this)},save:{icon:"save",modle:["edit"],locale:"保存",key:"Ctrl + S",disable:function(){return false}.bind(this),action:function(){this.save()}.bind(this),init:function(e,t){this.initSaveTooltip(e,t)}.bind(this)},export:{icon:"export",modle:["edit"],locale:"导出",disable:function(){return false}.bind(this),init:function(e,t){this.initExportTooltip(e,t)}.bind(this)},menu:{icon:"menu",modle:["edit"],locale:"菜单",disable:function(){return false}.bind(this),action:function(e,t,i){this.initMainMenu(t,i)}.bind(this),init:function(e,t){if(this.app.options.menuAction){this.initMainMenu(e,t)}}.bind(this)}};for(var i in this.commands){this.commands[i].name=i}this.setKeyCommand();this.tooltipOptions={displayDelay:300,onPostCreate:function(t){t.node.addEvents({mouseenter:function(){var e=t.command;if(!e.disable()){this.setActiveStye(t.target,e)}else{this.setDisableStye(t.target,e)}}.bind(this)})}.bind(this),onHide:function(e){var t=e.command;if(!t.disable()){this.setNormalStye(e.target,t)}else{this.setDisableStye(e.target,t)}}.bind(this)};this.selectOptions={tooltipsOptions:{displayDelay:300,onPostCreate:function(e){var t=e.selector;e.node.addEvents({mouseenter:function(){var e=t.command;if(!e.disable()){this.setActiveStye(t.container,e)}else{this.setDisableStye(t.container,e)}}.bind(this)})}.bind(this),onQueryLoad:function(e){var t=e.selector;if(t.command){e.disable=t.command.disable()}}.bind(this),onPostLoad:function(e){var t=e.selector;if(t.selectArrowNode)t.selectArrowNode.setStyles(t.css.selectArrowNode_up);this.activeTooltip=e}.bind(this),onHide:function(e){var t=e.selector;if(this.activeTooltip==e)this.activeTooltip=null;if(t.selectArrowNode)t.selectArrowNode.setStyles(t.css.selectArrowNode);var i=t.command;if(!i.disable()){this.setNormalStye(t.container,i)}else{this.setDisableStye(t.container,i)}}.bind(this),event:"mouseenter"}}},load:function(){this._loadCss();this.containerObject={};this.cssObject={};this.itemNodeObject={};this.fsm.when("normal -> normal",function(e,t,i,n){if(i=="shortcut-handle"){var o=this.dispatchKey(n);if(o){n.preventDefault()}else{this.minder.dispatchKeyEvent(n)}}}.bind(this));this.minder.on("interactchange",function(){if(this.queryInteractchange()){if(this.activeTooltip)this.activeTooltip.hide();this.checkStatus()}}.bind(this))},addContainer:function(e,t,i){this.containerObject[e]=t;this.cssObject[e]=i;this.loadItemsByContainer(e)},loadItemsByContainer:function(e){var t=this.containerObject[e];var i=this.cssObject[e];t.getElements("[item]").each(function(e){if(e.get("lazyLoading")=="true")return;this.loadItemNode(e,i)}.bind(this))},loadItemsByNameList:function(i,e){var t=this.containerObject[e];var n=this.cssObject[e];t.getElements("[item]").each(function(e){var t=e.get("item");if(i.contains(t)){this.loadItemNode(e,n)}}.bind(this))},loadItemByName:function(e,t){var i=this.containerObject[t];var n=this.cssObject[t];var o=i.getElement("[item='"+e+"']");this.loadItemNode(o,n)},getItemNode:function(e,t){var i=this.containerObject[t];var n=i.getElement("[item='"+e+"']");return n},loadItemNode:function(t,e){var i=this;t.store("css",e);var n=t.get("item");var o=t.get("subtype");var s=t.get("itemevent");if(this.commands[n]){var r=this.commands[n];if(!o||o=="button"){this.itemNodeObject[n]=t;if(r.active){t.setStyles(e[t.get("styles")]);this.setActiveStye(t,r);t.store("active",true)}else if(r.disable()){t.setStyles(e[t.get("styles")]);this.setDisableStye(t,r)}else{this.setNormalStye(t,r)}var a=r.title||"";t.set("title",a);if(!s||s=="mouseover"){t.addEvents({mouseover:function(){if(!r.disable()){this.setActiveStye(t,r)}else{this.setDisableStye(t,r)}}.bind(this),mouseleave:function(){if(!r.disable()){this.setNormalStye(t,r)}else{this.setDisableStye(t,r)}}.bind(this)})}else{t.addEvents({click:function(){if(!t.retrieve("active")){this.setActiveStye(t,r);t.store("active",true)}else{this.setNormalStye(t,r);t.store("active",false)}}.bind(this)})}var d=new Element("div",{text:r.locale||null}).inject(t);if(r.action){t.addEvent("click",function(e){if(!r.disable()){r.action(e,t,r);i.fireEvent("postExecCommand",[i,this])}}.bind(n))}}if(!o||o=="container"){if(r.init){r.init(t,r);if(r.active===false){t.setStyle("display","none")}}}}},setDisableStye:function(e,t){var i=e.retrieve("css");e.setStyles(i[e.get("styles")+"_disable"]);if(t.icon){e.setStyle("background-image","url(/x_component_MinderEditor/$Main/"+this.options.style+"/icon/"+t.icon+"_disable.png)")}},setActiveStye:function(e,t){var i=e.retrieve("css");e.setStyles(i[e.get("styles")+"_over"]);if(t.icon){e.setStyle("background-image","url(/x_component_MinderEditor/$Main/"+this.options.style+"/icon/"+t.icon+"_active.png)")}},setNormalStye:function(e,t){var i=e.retrieve("css");e.setStyles(i[e.get("styles")]);if(t.icon){e.setStyle("background-image","url(/x_component_MinderEditor/$Main/"+this.options.style+"/icon/"+t.icon+"_normal.png)")}},checkStatus:function(){for(var e in this.itemNodeObject){var t=this.itemNodeObject[e];var e=t.get("item");if(this.commands[e]){var i=this.commands[e];if(i.disable()){i.setDisable?i.setDisable():this.setDisableStye(t,i)}else{i.setNormal?i.setNormal():this.setNormalStye(t,i)}}}},setKeyCommand:function(){this.keyCommands={};this.defaultKeyCommands={};for(var e in this.commands){var t=this.commands[e];if(t.key){var i=t.isDefaultKey?this.defaultKeyCommands:this.keyCommands;if(typeOf(t.key)=="array"){for(var n=0;n<t.key.length;n++){i[t.key[n]]=t}}else{i[t.key]=t}}}},getKey:function(e){var t=[];if(e.ctrlKey)t.push("Ctrl");if(e.shiftKey)t.push("Shift");if(e.altKey)t.push("Alt");if(![16,17,18].contains(e.keyCode)){return t.length==0?e.key.capitalize():t.join(" + ")+" + "+e.key.capitalize()}else{return t.join(" + ")}},dispatchKey:function(e,t){var i=this.getKey(e);var n=this.keyCommands[i];if(n&&!n.disable()&&this.itemNodeObject[n.name]){if(n.action){n.action();if(t)t(e,true);return true}else if(n.keyAction){if(this.activeTooltip)this.activeTooltip.hide();n.keyAction();if(t)t(e,true);return true}else{if(t)t(e,true);return false}}else{if(t)t(e,false);return false}},save:function(){this.editor.save()},initSelectAll:function(e,i){var t=this.selectallSelector=new MWF.xApplication.MinderEditor.SelectAll(e,Object.merge(Object.clone(this.selectOptions),{onSelectItem:function(e,t){this.fireEvent("postExecCommand",[this,i])}.bind(this)}),this.app,null,this.app.node);t.command=i;t.load()},initExpandLevel:function(e,i){var t=this.expandlevelSelector=new MWF.xApplication.MinderEditor.ExpandLevel(e,Object.merge(Object.clone(this.selectOptions),{onSelectItem:function(e,t){this.minder.execCommand("ExpandToLevel",t.value);this.fireEvent("postExecCommand",[this,i])}.bind(this)}),this.app,null,this.app.node);t.command=i;t.load()},initBackground:function(e,t){var i=this.backgroundSelector=new MWF.xApplication.Template.widget.ColorPicker(this.app.node,e,this.app,{},Object.merge(this.tooltipOptions,{onQueryLoad:function(e){e.disable=this.commands.background.disable()}.bind(this),onSelect:function(e){this.currentBackgroundcolor=e;this.minder.queryCommandState("background")===-1||this.minder.execCommand("background",e);this.fireEvent("postExecCommand",[this,t])}.bind(this)}));i.command=t},initFontColor:function(e,t){var i=this.forecolorSelector=new MWF.xApplication.Template.widget.ColorPicker(this.app.node,e,this.app,{},Object.merge(this.tooltipOptions,{onQueryLoad:function(e){e.disable=this.commands.forecolor.disable()}.bind(this),onSelect:function(e){this.currentForecolor=e;this.minder.queryCommandState("forecolor")===-1||this.minder.execCommand("forecolor",e);this.fireEvent("postExecCommand",[this,t])}.bind(this)}));i.command=t},initFontFamily:function(e,i){var t=this.fontfamilySelector=new MWF.xApplication.MinderEditor.FontFamily(e,Object.merge(Object.clone(this.selectOptions),{containerIsTarget:false,onPostLoad:function(e){e.selectValueNode.addEvent("click",function(){if(e.currentItemData){this.minder.queryCommandState("fontfamily")===-1||this.minder.execCommand("fontfamily",e.currentItemData.val)}}.bind(this))}.bind(this),onSelectItem:function(e,t){this.minder.queryCommandState("fontfamily")===-1||this.minder.execCommand("fontfamily",t.val);this.fireEvent("postExecCommand",[this,i])}.bind(this)}),this.app,null,this.app.node);t.command=i;t.load()},initFontSize:function(e,i){var t=this.fontsizeSelector=new MWF.xApplication.MinderEditor.FontSize(e,Object.merge(Object.clone(this.selectOptions),{containerIsTarget:false,onPostLoad:function(e){e.selectValueNode.addEvent("click",function(){if(e.currentItemData){this.minder.queryCommandState("fontsize")===-1||this.minder.execCommand("fontsize",e.currentItemData.value)}}.bind(this))}.bind(this),onSelectItem:function(e,t){this.minder.queryCommandState("fontsize")===-1||this.minder.execCommand("fontsize",t.value);this.fireEvent("postExecCommand",[this,i])}.bind(this)}),this.app,null,this.app.node);t.command=i;t.load()},initTheme:function(e,i){var n=this;var t=this.themeSelector=new MWF.xApplication.MinderEditor.Theme(e,Object.merge(Object.clone(this.selectOptions),{style:"minderTheme",containerIsTarget:true,onPostCreateItem:function(e,t){e.setStyles(n.getThemeThumbStyle(t.command))},onSelectItem:function(e,t){this.minder.queryCommandState("theme")===-1||this.minder.execCommand("theme",t.command);this.fireEvent("postExecCommand",[this,i])}.bind(this)}),this.app,null,this.app.node);t.command=i;t.load()},initTemplate:function(e,i){var t=this;var n=this.templateSelector=new MWF.xApplication.MinderEditor.Template(e,Object.merge(Object.clone(this.selectOptions),{style:"minderTemplate",containerIsTarget:true,onSelectItem:function(e,t){this.minder.execCommand("template",t.command);this.fireEvent("postExecCommand",[this,i])}.bind(this)}),this.app,null,this.app.node);n.command=i;n.load()},initPriority:function(e,n){var t=this;var i=this.prioritySelector=new MWF.xApplication.MinderEditor.PriorityImage(e,Object.merge(Object.clone(this.selectOptions),{containerIsTarget:true,onSelectItem:function(e,t){var i=t.command=="0"?null:parseInt(t.command);this.minder.execCommand("priority",i);this.fireEvent("postExecCommand",[this,n])}.bind(this)}),this.app,null,this.app.node);i.command=n;i.load();this.minder.on("interactchange",function(){if(this.queryInteractchange()){var e=this.minder.queryCommandState("priority")!=-1;if(e){var t=this.minder.queryCommandValue("priority")||"0";i.setValue(t)}}}.bind(this))},initProgress:function(e,n){var t=this;var i=this.progressSelector=new MWF.xApplication.MinderEditor.ProgressImage(e,Object.merge(Object.clone(this.selectOptions),{containerIsTarget:true,onSelectItem:function(e,t){var i=t.command=="0"?null:parseInt(t.command);this.minder.execCommand("progress",i);this.fireEvent("postExecCommand",[this,n])}.bind(this)}),this.app,null,this.app.node);i.command=n;i.load();this.minder.on("interactchange",function(){if(this.queryInteractchange()){var e=this.minder.queryCommandState("progress")!=-1;if(e){var t=this.minder.queryCommandValue("progress")||"0";i.setValue(t)}}}.bind(this))},getThemeThumbStyle:function(e){var t=this.themeList=this.themeList||kityminder.Minder.getThemeList();var i=t[e];if(!i){return}var n={color:i["root-color"],"border-radius":i["root-radius"]/2};if(i["root-background"]){n["background"]=i["root-background"].toString()}return n},toggerSearch:function(){if(!this.isSearchbarActive){this.searchBar.show()}else{this.searchBar.hide()}},initSearch:function(e){this.minder.on("searchNode",function(){this.itemNodeObject.search.click()}.bind(this));this.searchBar=new MWF.xApplication.MinderEditor.SearchBar(e,this.minder,this.app,this.css,{onShow:function(){this.setActiveStye(this.itemNodeObject.search,"search");this.isSearchbarActive=true}.bind(this),onHide:function(){this.setNormalStye(this.itemNodeObject.search,"search");this.isSearchbarActive=false}.bind(this)});this.isSearchbarActive=false;this.searchBar.load()},initHelp:function(e,t){var i=this;this.helpTootips=new MWF.xApplication.MinderEditor.Help(this.app.node,e,this.app,{},this.tooltipOptions);this.helpTootips.commands=this;this.helpTootips.command=t},initSaveTooltip:function(e,t){this.savetooltip=new MWF.xApplication.MinderEditor.SaveTooltips(this.app.node,e,this.app,{},this.tooltipOptions);this.savetooltip.command=t},initExportTooltip:function(e,t){this.exporttooltip=new MWF.xApplication.MinderEditor.ExportTooltips(this.app.node,e,this.app,{},this.tooltipOptions);this.exporttooltip.command=t},initMainMenu:function(e,t){var i=this;if(!this.mainMenu){MWF.xDesktop.requireApp("MinderEditor","MainMenu",null,false);this.mainMenu=new MWF.xApplication.MinderEditor.MainMenu(this.app.content,this.app,{onShow:function(){if(!this.command.disable()){i.setActiveStye(this.container,this.command)}else{i.setDisableStye(this.container,this.command)}}.bind({container:e,command:t}),onHide:function(){if(!this.command.disable()){i.setNormalStye(this.container,this.command)}else{i.setDisableStye(this.container,this.command)}}.bind({container:e,command:t})});this.mainMenu.command=t}else{if(this.mainMenu.isHidden){this.mainMenu.show()}else{this.mainMenu.hide()}}},setResourceDisable:function(){if(!this.resourceMaskNode){this.resourceMaskNode=new Element("div.maskNode",{styles:this.css.resourceMaskNode}).inject(this.resourceNode)}else{this.resourceMaskNode.setStyle("display","")}this.addResourceInput.placeholder="选择节点编辑标签"},setResourceNormal:function(){if(this.resourceMaskNode)this.resourceMaskNode.setStyle("display","none");this.addResourceInput.placeholder="输入文字添加标签"},initResource:function(e,i){this.resourceNode=new Element("div.resourceNode",{styles:this.css.resourceNode}).inject(e);var t=new Element("div",{styles:{overflow:"hidden"}}).inject(this.resourceNode);this.addResourceInput=new Element("input",{placeholder:"输入文字添加标签",styles:this.css.addResourceInput}).inject(t);this.addResourceBotton=new Element("div",{text:"添加",styles:this.css.addResourceBotton,events:{click:function(){var e=this.addResourceInput.get("value");var t=this.minder.queryCommandValue("resource");if(!e||!/\S/.test(e))return;if(t.indexOf(e)==-1){t.push(e);this.minder.execCommand("resource",t);this.addResourceCheckbox(e)}this.addResourceInput.set("value","");this.fireEvent("postExecCommand",[this,i])}.bind(this)}}).inject(t);this.resourceUsedContainer=new Element("div",{styles:this.css.resourceUsedContainer}).inject(this.resourceNode);this.setScrollBar(this.resourceUsedContainer);this.usedResource=this.minder.getUsedResource()||[];this.usedResource.each(function(e){this.addResourceCheckbox(e)}.bind(this));this.minder.on("interactchange",function(){if(this.queryInteractchange()){this.setResourceCheckbox()}}.bind(this));if(this.minder.queryCommandState("resource")===-1){this.setResourceDisable()}},setResourceCheckbox:function(){var e=this.minder.queryCommandState("resource")!=-1;var t=e?this.minder.queryCommandValue("resource"):[];(this.resourceCheckbox||[]).each(function(e){if(t.contains(e.get("value"))){e.set("checked",true)}else{e.set("checked",false)}})},addResourceCheckbox:function(e){this.resourceCheckbox=this.resourceCheckbox||[];var t=new Element("lable",{text:e,styles:{float:"left","margin-right":"5px",padding:"5px","background-color":this.minder.getResourceColor(e).toHEX()}}).inject(this.resourceUsedContainer);var i=new Element("input",{type:"checkbox",value:e,checked:true,events:{change:function(){var t=[];this.resourceCheckbox.each(function(e){if(e.get("checked")){t.push(e.get("value"))}}.bind({resourceName:e}));this.minder.execCommand("resource",t)}.bind(this)}}).inject(t,"top");this.resourceCheckbox.push(i)},editNode:function(){this.receiver.element.innerText=this.minder.queryCommandValue("text")||"";this.fsm.jump("input","input-request");this.receiver.selectAll()},openHyperLinkForm:function(e){var t=new MWF.xApplication.MinderEditor.HyperLinkForm(this,{},{},{app:this.app});t.edit();this.fireEvent("postExecCommand",[this,e])},openImageForm:function(e){var t=new MWF.xApplication.MinderEditor.ImageForm(this,{},{},{app:this.app});t.edit();this.fireEvent("postExecCommand",[this,e])},openNoteForm:function(e){var t=new MWF.xApplication.MinderEditor.NoteForm(this,{},{},{app:this.app});t.edit();this.fireEvent("postExecCommand",[this,e])},setNoteDisable:function(){if(this.noteTextNode)this.noteTextNode.setStyle("display","")},setNoteNormal:function(){if(this.noteTextNode)this.noteTextNode.setStyle("display","none");if(!this.codeMirrorEditor)this.createNoteEditor()},createNoteEditor:function(e){if(e){this.noteContainer=e}else{e=this.noteContainer}var t=this.commands["note"];if(!this.noteTextNode){var i=new Element("div",{text:"备注",styles:this.css.noteTitleNode}).inject(e);new Element("a",{text:"支持GFM语法",href:"/x_component_MinderEditor/$Commands/GFMDescription.html",target:"_blank",styles:this.css.noteLinkNode}).inject(i);this.noteTextNode=new Element("div",{text:"请选择节点添加备注",styles:this.css.noteTextNode}).inject(e)}if(this.minder.queryCommandState("note")===-1)return;this.noteTextNode.setStyle("display","none");var n=this.noteContentNode=new Element("div",{overflow:"hidden"}).inject(e);this.isNoteEditing=false;this.editor.loadCodeMirror(function(){this.noteTextarea=new Element("textarea").inject(n);this.codeMirrorEditor=CodeMirror.fromTextArea(this.noteTextarea,{value:this.minder.queryCommandState("note")===-1||this.minder.queryCommandValue("note"),theme:"default",gfm:true,breaks:true,lineWrapping:true,mode:"gfm",dragDrop:false,lineNumbers:true});this.codeMirrorEditor.on("change",function(){var e=this.minder.queryCommandState("note")!=-1;var t=this.codeMirrorEditor.getValue();if(e){this.isNoteEditing=true;this.minder.execCommand("note",t);if(this.noteTimeout)clearTimeout(this.noteTimeout);this.noteTimeout=setTimeout(function(){this.isNoteEditing=false}.bind(this),100)}}.bind(this));this.codeMirrorEditor.setSize("100%",e.getSize().y-30-3);this.minder.on("interactchange",function(){if(this.queryInteractchange()){var e=this.minder.queryCommandState("note")!=-1;var t=this.minder.queryCommandValue("note")||"";if(e){this.codeMirrorEditor.setValue(t)}}}.bind(this))}.bind(this));this.fireEvent("postExecCommand",[this,t])},toggleOpenPreViewer:function(){this.previewOpened=!this.previewOpened;this.preview.toggleOpen(this.previewOpened)},initPreViewer:function(e){this.preview=new MWF.xApplication.MinderEditor.Preview(e,this.minder,this.app,this.css);this.preview.load();this.previewOpened=true},initZoomArea:function(e){this.editor.contentNode.addEvent("mousewheel",function(e){if(e.wheel>0){this.minder.execCommand("zoomIn");if(this.zoompanIndicator){var t=parseInt(this.zoompanIndicator.getStyle("margin-top"));if(t>0){this.zoompanIndicator.setStyle("margin-top",t-10+"px")}}}else if(e.wheel<0){this.minder.execCommand("zoomOut");if(this.zoompanIndicator){var i=parseInt(this.zoompan.getStyle("height"));var t=parseInt(this.zoompanIndicator.getStyle("margin-top"));if(t<i){this.zoompanIndicator.setStyle("margin-top",t+10+"px")}}}}.bind(this));this.zoomIn=new Element("div",{styles:this.css.zoomButton,title:this.lp.zoomin}).inject(e);new Element("div",{styles:this.css.zoominIcon}).inject(this.zoomIn);this.zoomIn.addEvent("click",function(){this.minder.execCommand("zoomIn");var e=parseInt(this.zoompanIndicator.getStyle("margin-top"));if(e>0){this.zoompanIndicator.setStyle("margin-top",e-10+"px")}}.bind(this));this.zoompan=new Element("div",{styles:this.css.zoompan}).inject(e);this.zoompanOrigin=new Element("div",{styles:this.css.zoompanOrigin}).inject(this.zoompan);this.zoompanOrigin.addEvent("click",function(){this.minder.execCommand("zoom",100);this.zoompanIndicator.setStyle("margin-top","30px")}.bind(this));this.zoompanIndicator=new Element("div",{styles:this.css.zoompanIndicator}).inject(this.zoompan);this.zoomout=new Element("div",{styles:this.css.zoomButton,title:this.lp.zoomout}).inject(e);new Element("div",{styles:this.css.zoomoutIcon}).inject(this.zoomout);this.zoomout.addEvent("click",function(){this.minder.execCommand("zoomOut");var e=parseInt(this.zoompan.getStyle("height"));var t=parseInt(this.zoompanIndicator.getStyle("margin-top"));if(t<e){this.zoompanIndicator.setStyle("margin-top",t+10+"px")}}.bind(this))},queryInteractchange:function(){return!this.isNoteEditing},setSizes:function(){if(this.codeMirrorEditor&&this.noteContainer){this.codeMirrorEditor.setSize("100%",this.noteContainer.getSize().y-30-3)}}});