WidgetInEditMode.min.js 29 KB

1
  1. MWF.xDesktop.requireApp("Template","MForm",null,false);MWF.xDesktop.requireApp("Template","MPopupForm",null,false);MWF.xDesktop.requireApp("Template","widget.ColorPicker",null,false);MWF.xDesktop.requireApp("Template","MSelector",null,false);MWF.xApplication.MinderEditor.FontFamily=new Class({Extends:MSelector,options:{style:"minderFont",width:"240px",height:"28px",defaultOptionLp:"字体",textField:"name",valueField:"val",event:"mouseenter",isSetSelectedValue:true,isChangeOptionStyle:true,emptyOptionEnable:false},_selectItem:function(t,e){},_loadData:function(t){var e=[{name:"宋体",val:"宋体,SimSun"},{name:"微软雅黑",val:"微软雅黑,Microsoft YaHei"},{name:"楷体",val:"楷体,楷体_GB2312,SimKai"},{name:"黑体",val:"黑体, SimHei"},{name:"隶书",val:"隶书, SimLi"},{name:"Andale Mono",val:"andale mono"},{name:"Arial",val:"arial,helvetica,sans-serif"},{name:"arialBlack",val:"arial black,avant garde"},{name:"Comic Sans Ms",val:"comic sans ms"},{name:"Impact",val:"impact,chicago"},{name:"Times New Roman",val:"times new roman"},{name:"Sans-Serif",val:"sans-serif"}];if(t)t(e)},_postCreateItem:function(t,e){t.setStyles({"font-family":e.val,"font-size":"14px","min-height":"30px","line-height":"30px"})}});MWF.xApplication.MinderEditor.FontSize=new Class({Extends:MSelector,options:{style:"minderFont",width:"80px",height:"28px",defaultOptionLp:"字号",isSetSelectedValue:true,isChangeOptionStyle:true,emptyOptionEnable:false,event:"mouseenter"},_selectItem:function(t,e){},_loadData:function(t){var e=["10","12","16","18","24","32","48"];if(t)t(e)},_postCreateItem:function(t,e){t.setStyles({"font-size":e.value+"px","min-height":parseInt(e.value)+6+"px","line-height":parseInt(e.value)+6+"px"})}});MWF.xApplication.MinderEditor.PriorityImage=new Class({Extends:MSelector,options:{style:"minderProgress",width:"130px",defaultOptionLp:"",valueField:"command",isSetSelectedValue:false,isChangeOptionStyle:true,emptyOptionEnable:false,event:"mouseenter"},_selectItem:function(t,e){},_loadData:function(t){var e=[{command:"0",position:"0 -180px",title:"移除优先级"},{command:"1",position:"0 0px",title:"优先级1"},{command:"2",position:"0 -20px",title:"优先级2"},{command:"3",position:"0 -40px",title:"优先级3"},{command:"4",position:"0 -60px",title:"优先级4"},{command:"5",position:"0 -80px",title:"优先级5"},{command:"6",position:"0 -100px",title:"优先级6"},{command:"7",position:"0 -120px",title:"优先级7"},{command:"8",position:"0 -140px",title:"优先级8"},{command:"9",position:"0 -160px",title:"优先级9"}];if(t)t(e)},_postCreateItem:function(t,e){},loadContent:function(t){if(!this.contentTooltip){var e=parseInt(this.options.width)+"px";this.css.tooltipNode.width=e;this.css.tooltipNode["max-width"]=e;var i=Object.merge({nodeStyles:this.css.tooltipNode,onPostInitialize:function(){if(this.options.trigger=="immediately"){this.contentTooltip.load()}}.bind(this),onHide:function(){this.status="hidden"}.bind(this)},this.options.tooltipsOptions);this.contentTooltip=new MWF.xApplication.MinderEditor.PriorityImage.Tootips(this.dropdownContainer||this.app.content,this.node,this.app,t,i);this.contentTooltip.selector=this}}});MWF.xApplication.MinderEditor.PriorityImage.Tootips=new Class({Extends:MSelector.Tootips,options:{axis:"y",position:{x:"center",y:"bottom"},event:"mouseenter",hiddenDelay:200,displayDelay:0,hasArrow:true},_customNode:function(t,e){this.createItemList(this.data,e)},createItemList:function(t,e){t=t||[];var i=this.selector;this.css=i.css;i.listContentNode=new Element("div.listContentNode",{styles:this.css.listContentNode}).inject(e);i.listNode=new Element("div.listNode",{styles:this.css.listNode}).inject(i.listContentNode);i.setScrollBar(i.listNode);t.each(function(t){this.createItem(t)}.bind(this))},createItem:function(t){var e=this.selector;var i=new Element("div.listItemNode",{styles:this.css.listItemNode,title:t.title}).inject(e.listNode);i.setStyles({background:"url("+e.path+e.options.style+"/icon/priority.png) no-repeat "+t.position});if(t)i.store("data",t);i.addEvents({click:function(t){var e=this.obj;var i=this.itemNode.retrieve("data");e.selector.setCurrentItem(this.itemNode);e.selector._selectItem(this.itemNode,i);e.selector.fireEvent("selectItem",[this.itemNode,i]);e.hide();t.stopPropagation()}.bind({obj:this,itemNode:i}),mouseover:function(){if(this.obj.selector.currentItemNode!=this.itemNode||!this.obj.selector.options.isChangeOptionStyle){this.itemNode.setStyles(this.obj.selector.css.listItemNode_over)}}.bind({obj:this,itemNode:i}),mouseout:function(){if(this.obj.selector.currentItemNode!=this.itemNode||!this.obj.selector.options.isChangeOptionStyle){this.itemNode.setStyles(this.obj.selector.css.listItemNode)}}.bind({obj:this,itemNode:i})});e.itemNodeList.push(i);e.itemNodeObject[t[e.valueField]]=i;var s=false;if(e.currentItemData){s=t[e.valueField]==e.currentItemData[e.valueField]}else if(e.value){s=t[e.valueField]==e.value}else if(e.text){s=t[e.textField]==e.text}if(s)e.setCurrentItem(i);e._postCreateItem(i,t)}});MWF.xApplication.MinderEditor.ProgressImage=new Class({Extends:MSelector,options:{style:"minderProgress",width:"130px",defaultOptionLp:"",valueField:"command",isSetSelectedValue:false,isChangeOptionStyle:true,emptyOptionEnable:false,event:"mouseenter"},_selectItem:function(t,e){},_loadData:function(t){var e=[{command:"0",position:"0 -180px",title:"移除进度"},{command:"1",position:"0 0px",title:"未开始"},{command:"2",position:"0 -20px",title:"完成1/8"},{command:"3",position:"0 -40px",title:"完成2/8"},{command:"4",position:"0 -60px",title:"完成3/8"},{command:"5",position:"0 -80px",title:"完成4/8"},{command:"6",position:"0 -100px",title:"完成5/8"},{command:"7",position:"0 -120px",title:"完成6/8"},{command:"8",position:"0 -140px",title:"完成7/8"},{command:"9",position:"0 -160px",title:"全部完成"}];if(t)t(e)},_postCreateItem:function(t,e){},loadContent:function(t){if(!this.contentTooltip){var e=parseInt(this.options.width)+"px";this.css.tooltipNode.width=e;this.css.tooltipNode["max-width"]=e;var i=Object.merge({nodeStyles:this.css.tooltipNode,onPostInitialize:function(){if(this.options.trigger=="immediately"){this.contentTooltip.load()}}.bind(this),onHide:function(){this.status="hidden"}.bind(this)},this.options.tooltipsOptions);this.contentTooltip=new MWF.xApplication.MinderEditor.ProgressImage.Tootips(this.dropdownContainer||this.app.content,this.node,this.app,t,i);this.contentTooltip.selector=this}}});MWF.xApplication.MinderEditor.ProgressImage.Tootips=new Class({Extends:MSelector.Tootips,options:{axis:"y",position:{x:"center",y:"bottom"},event:"mouseenter",hiddenDelay:200,displayDelay:0,hasArrow:true},_customNode:function(t,e){this.createItemList(this.data,e)},createItemList:function(t,e){t=t||[];var i=this.selector;this.css=i.css;i.listContentNode=new Element("div.listContentNode",{styles:this.css.listContentNode}).inject(e);i.listNode=new Element("div.listNode",{styles:this.css.listNode}).inject(i.listContentNode);i.setScrollBar(i.listNode);t.each(function(t){this.createItem(t)}.bind(this))},createItem:function(t){var e=this.selector;var i=new Element("div.listItemNode",{styles:this.css.listItemNode,title:t.title}).inject(e.listNode);i.setStyles({background:"url("+e.path+e.options.style+"/icon/progress.png) no-repeat "+t.position});if(t)i.store("data",t);i.addEvents({click:function(t){var e=this.obj;var i=this.itemNode.retrieve("data");e.selector.setCurrentItem(this.itemNode);e.selector._selectItem(this.itemNode,i);e.selector.fireEvent("selectItem",[this.itemNode,i]);e.hide();t.stopPropagation()}.bind({obj:this,itemNode:i}),mouseover:function(){if(this.obj.selector.currentItemNode!=this.itemNode||!this.obj.selector.options.isChangeOptionStyle){this.itemNode.setStyles(this.obj.selector.css.listItemNode_over)}}.bind({obj:this,itemNode:i}),mouseout:function(){if(this.obj.selector.currentItemNode!=this.itemNode||!this.obj.selector.options.isChangeOptionStyle){this.itemNode.setStyles(this.obj.selector.css.listItemNode)}}.bind({obj:this,itemNode:i})});e.itemNodeList.push(i);e.itemNodeObject[t[e.valueField]]=i;var s=false;if(e.currentItemData){s=t[e.valueField]==e.currentItemData[e.valueField]}else if(e.value){s=t[e.valueField]==e.value}else if(e.text){s=t[e.textField]==e.text}if(s)e.setCurrentItem(i);e._postCreateItem(i,t)}});MWF.xApplication.MinderEditor.SaveTooltips=new Class({Implements:[Options,Events],Extends:MTooltips,options:{style:"default",axis:"y",position:{x:"auto",y:"auto"},event:"mouseenter",nodeStyles:{"min-width":"50px",padding:"0px","border-radius":"3px"}},_customNode:function(t,e){var i=new Element("div",{text:this.app.autoSaveInter/6e4+"分钟自动保存一次",styles:{margin:"10px"}}).inject(e);new Element("input",{type:"checkbox",value:"true",checked:this.app.autoSave,events:{change:function(t){if(t.target.get("checked")){this.app.startAutoSave()}else{this.app.stopAutoSave()}}.bind(this)}}).inject(i,"top")}});MWF.require("MWF.widget.ImageClipper",null,false);MWF.xApplication.MinderEditor.HyperLinkForm=new Class({Extends:MPopupForm,Implements:[Options,Events],options:{style:"minder",width:700,height:"300",hasTop:true,hasIcon:false,draggable:true,title:"链接"},_createTableContent:function(){var t="<table width='100%' bordr='0' cellpadding='7' cellspacing='0' styles='formTable' style='margin-top: 20px; '>"+"<tr><td styles='formTableTitle' lable='url' width='20%'></td>"+" <td styles='formTableValue14' item='url' colspan='3'></td></tr>"+"<tr><td styles='formTableTitle' lable='title'></td>"+" <td styles='formTableValue14' item='title' colspan='3'></td></tr>"+"</table>";this.formTableArea.set("html",t);var e=this.app.minder.queryCommandValue("HyperLink");this.form=new MForm(this.formTableArea,e,{isEdited:true,style:"minder",hasColon:true,itemTemplate:{url:{text:"链接地址",notEmpty:true,validRule:{isInvalid:function(t,e){var i="^(?!mailto:)(?:(?:http|https|ftp)://)(?:\\S+(?::\\S*)?@)?(?:(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[0-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))|localhost)(?::\\d{2,5})?(?:(/|\\?|#)[^\\s]*)?$";var s=new RegExp(i,"i");return s.test(t)}.bind(this)},validMessage:{isInvalid:"请输入正确的链接"},attr:{placeholder:"必填:以 http(s):// 或 ftp:// 开头"}},title:{text:"提示文本",attr:{placeholder:"选填:鼠标在链接上悬停时提示的文本"}}}},this.app);this.form.load()},_createBottomContent:function(){if(this.isNew||this.isEdited){this.okActionNode=new Element("button.inputOkButton",{styles:this.css.inputOkButton,text:"确定"}).inject(this.formBottomNode);this.okActionNode.addEvent("click",function(t){this.save(t)}.bind(this))}this.removeAction=new Element("button.inputCancelButton",{styles:this.css.inputCancelButton,text:"删除链接"}).inject(this.formBottomNode);this.removeAction.addEvent("click",function(t){this.remove(t)}.bind(this));this.cancelActionNode=new Element("button.inputCancelButton",{styles:this.isEdited||this.isNew||this.getEditPermission()?this.css.inputCancelButton:this.css.inputCancelButton_long,text:"关闭"}).inject(this.formBottomNode);this.cancelActionNode.addEvent("click",function(t){this.close(t)}.bind(this))},save:function(){var t=this.form.getResult(true,null,true,false,true);if(t){this.app.minder.execCommand("HyperLink",t.url,t.title||"");this.close()}},remove:function(t){this.app.minder.execCommand("HyperLink",null);this.close()}});MWF.xApplication.MinderEditor.ImageForm=new Class({Extends:MPopupForm,Implements:[Options,Events],options:{style:"minder",width:800,height:640,hasTop:true,hasIcon:false,draggable:true,title:"图片"},createContent:function(){this.createTab();this.formContentNode=new Element("div.formContentNode",{styles:this.css.formContentNode}).inject(this.formNode);this.formTableContainer=new Element("div.formTableContainer",{styles:this.css.formTableContainer}).inject(this.formContentNode);this.formTableArea=new Element("div.formTableArea",{styles:this.css.formTableArea}).inject(this.formTableContainer);this._createTableContent()},_createTableContent:function(){this.linkContainer=new Element("div.linkContainer").inject(this.formTableArea);var t="<table width='100%' bordr='0' cellpadding='7' cellspacing='0' styles='formTable' style='margin-top: 20px; '>"+"<tr><td styles='formTableTitle' lable='url' width='20%'></td>"+" <td styles='formTableValue14' item='url' colspan='3'></td></tr>"+"<tr><td styles='formTableTitle' lable='title'></td>"+" <td styles='formTableValue14' item='title' colspan='3'></td></tr>"+"<tr><td styles='formTableTitle'>预览:</td>"+" <td styles='formTableValue14' item='preview' colspan='3'></td></tr>"+"</table>";this.linkContainer.set("html",t);var e=this.app.minder.queryCommandValue("image");this.linkform=new MForm(this.linkContainer,e,{isEdited:true,style:"minder",hasColon:true,itemTemplate:{url:{text:"图片地址",notEmpty:true,validRule:{isInvalid:function(t,e){var i=/^https?\:\/\/\w+/;return i.test(t)}.bind(this)},validMessage:{isInvalid:"请输入正确的链接"},attr:{placeholder:"必填:以 http(s):// 开始"},event:{blur:function(t){if(t.getValue())t.form.getItem("preview").setValue(t.getValue())}.bind(this)}},title:{text:"提示文本",attr:{placeholder:"选填:鼠标在图片上悬停时提示的文本"}},preview:{type:"img",defaultValue:e.url||"",style:{"max-width":"400px","max-height":"260px"}}}},this.app);this.linkform.load();this.uploadContainer=new Element("div.uploadContainer",{styles:{display:"none"}}).inject(this.formTableArea);var t="<table width='100%' bordr='0' cellpadding='0' cellspacing='0' styles='formTable' style='margin-top: 20px; '>"+"<tr><td item='image' colspan='4' style='padding-bottom: 10px;'></td></tr>"+"<tr><td styles='formTableTitle' lable='title2' width='20%'></td>"+" <td styles='formTableValue14' item='title2' colspan='3'></td></tr>"+"</table>";this.uploadContainer.set("html",t);var e=this.app.minder.queryCommandValue("image");this.uploadform=new MForm(this.uploadContainer,e,{isEdited:true,style:"minder",hasColon:true,itemTemplate:{title2:{text:"提示文本",attr:{placeholder:"选填:鼠标在图片上悬停时提示的文本"}}}},this.app);this.uploadform.load();this.image=new MWF.widget.ImageClipper(this.uploadContainer.getElement("[item='image']"),{aspectRatio:0,description:"",imageUrl:"",ratioAdjustedEnable:true,reference:"1111",referenceType:"forumDocument",fromFileEnable:false,resetEnable:true});this.image.load()},createTab:function(){var t=this;this.tabContainer=new Element("div.formTabContainer",{styles:this.css.formTabContainer}).inject(this.formNode);var e=new Element("div.formTabNode",{styles:this.css.formTabNode,text:"外链图片"}).inject(this.tabContainer);e.addEvents({mouseover:function(){if(t.currentTabNode!=this.node)this.node.setStyles(t.css.formTabNode_over)}.bind({node:e}),mouseout:function(){if(t.currentTabNode!=this.node)this.node.setStyles(t.css.formTabNode)}.bind({node:e}),click:function(){if(t.currentTabNode)t.currentTabNode.setStyles(t.css.formTabNode);t.currentTabNode=this.node;this.node.setStyles(t.css.formTabNode_current);t.linkContainer.setStyle("display","");t.uploadContainer.setStyle("display","none")}.bind({node:e})});e.setStyles(this.css.formTabNode_current);t.currentTabNode=e;var e=new Element("div.tabNode",{styles:this.css.formTabNode,text:"上传图片"}).inject(this.tabContainer);e.addEvents({mouseover:function(){if(t.currentTabNode!=this.node)this.node.setStyles(t.css.formTabNode_over)}.bind({node:e}),mouseout:function(){if(t.currentTabNode!=this.node)this.node.setStyles(t.css.formTabNode)}.bind({node:e}),click:function(){if(t.currentTabNode)t.currentTabNode.setStyles(t.css.formTabNode);t.currentTabNode=this.node;this.node.setStyles(t.css.formTabNode_current);t.linkContainer.setStyle("display","none");t.uploadContainer.setStyle("display","")}.bind({node:e})})},_createBottomContent:function(){if(this.isNew||this.isEdited){this.okActionNode=new Element("button.inputOkButton",{styles:this.css.inputOkButton,text:"确定"}).inject(this.formBottomNode);this.okActionNode.addEvent("click",function(t){this.save(t)}.bind(this))}this.removeAction=new Element("button.inputCancelButton",{styles:this.css.inputCancelButton,text:"删除图片"}).inject(this.formBottomNode);this.removeAction.addEvent("click",function(t){this.remove(t)}.bind(this));this.cancelActionNode=new Element("button.inputCancelButton",{styles:this.isEdited||this.isNew||this.getEditPermission()?this.css.inputCancelButton:this.css.inputCancelButton_long,text:"关闭"}).inject(this.formBottomNode);this.cancelActionNode.addEvent("click",function(t){this.close(t)}.bind(this))},save:function(){if(this.image.getResizedImage()){this.image.uploadImage(function(t){var e={url:MWF.xDesktop.getImageSrc(t.id),title:this.uploadform.getResult(true,null,true,false,true)["title2"]};this.app.minder.execCommand("image",e.url,e.title||"");this.close()}.bind(this))}else{var t=this.linkform.getResult(true,null,true,false,true);if(t){this.app.minder.execCommand("image",t.url,t.title||"");this.close()}}},remove:function(t){this.app.minder.execCommand("image","");this.close()},setFormNodeSize:function(t,e,i,s){if(!t)t=this.options.width?this.options.width:"50%";if(!e)e=this.options.height?this.options.height:"50%";if(!i)i=this.options.top?this.options.top:0;if(!s)s=this.options.left?this.options.left:0;var o=this.container.getSize();if(o.x<t)t=o.x;if(o.y<e)e=o.y;var n=this.app.content.getSize();var a=n.x;var r=n.y;"string"==typeof t&&(1<t.length&&"%"==t.substr(t.length-1,1))&&(t=parseInt(a*parseInt(t,10)/100,10));"string"==typeof e&&(1<e.length&&"%"==e.substr(e.length-1,1))&&(e=parseInt(r*parseInt(e,10)/100,10));300>t&&(t=300);220>e&&(e=220);i=i||parseInt((r-e)/2,10);s=s||parseInt((a-t)/2,10);this.formAreaNode.setStyles({width:""+t+"px",height:""+e+"px",top:""+i+"px",left:""+s+"px"});this.formNode.setStyles({width:""+t+"px",height:""+e+"px"});var l=this.formIconNode?this.formIconNode.getSize():{x:0,y:0};var d=this.formTopNode?this.formTopNode.getSize():{x:0,y:0};var c=this.formBottomNode?this.formBottomNode.getSize():{x:0,y:0};var h=this.tabContainer?this.tabContainer.getSize():{x:0,y:0};var m=e-l.y-d.y-c.y-h.y;this.formContentNode.setStyles({height:""+m+"px"});this.formTableContainer.setStyles({height:""+m+"px"})}});MWF.xApplication.MinderEditor.SaveAsForm=new Class({Extends:MPopupForm,Implements:[Options,Events],options:{style:"minder",width:800,height:"300",hasTop:true,hasIcon:false,draggable:true,title:"另存为"},_createTableContent:function(){var t="<table width='100%' bordr='0' cellpadding='7' cellspacing='0' styles='formTable' style='margin-top: 20px; '>"+"<tr><td styles='formTableTitle' lable='folder' width='25%'></td>"+" <td styles='formTableValue14' item='folder' colspan='3'></td></tr>"+"<tr><td styles='formTableTitle' lable='newname'></td>"+" <td styles='formTableValue14' item='newname' colspan='3'></td></tr>"+"</table>";this.formTableArea.set("html",t);this.form=new MForm(this.formTableArea,this.data||{},{isEdited:true,style:"minder",hasColon:true,itemTemplate:{folder:{text:"选择文件夹",notEmpty:true,attr:{readonly:true},defaultValue:"根目录"},newname:{text:"新文件名称"}}},this.app);this.form.load();this.loadFolderSelect()},_createBottomContent:function(){if(this.isNew||this.isEdited){this.okActionNode=new Element("button.inputOkButton",{styles:this.css.inputOkButton,text:"确定"}).inject(this.formBottomNode);this.okActionNode.addEvent("click",function(t){this.save(t)}.bind(this))}this.cancelActionNode=new Element("button.inputCancelButton",{styles:this.isEdited||this.isNew||this.getEditPermission()?this.css.inputCancelButton:this.css.inputCancelButton_long,text:"关闭"}).inject(this.formBottomNode);this.cancelActionNode.addEvent("click",function(t){this.close(t)}.bind(this))},save:function(){var t=this.form.getResult(true,null,true,false,true);if(t){this.app.saveAs(this.folderId||"root",t.newname);this.close()}},loadFolderSelect:function(){MWF.xDesktop.requireApp("Minder","Common",null,false);this.folderSelect=new MWF.xApplication.Minder.FolderSelector(this.app.content,this.form.getItem("folder").getElements()[0],this.app,{},{onSelect:function(t){this.form.getItem("folder").setValue(t.name);this.folderId=t.id}.bind(this)})}});MWF.xApplication.MinderEditor.NewNameForm=new Class({Extends:MPopupForm,Implements:[Options,Events],options:{style:"minder",width:700,height:"200",hasTop:true,hasIcon:false,draggable:true,title:"重命名"},_createTableContent:function(){var t="<table width='100%' bordr='0' cellpadding='7' cellspacing='0' styles='formTable' style='margin-top: 20px; '>"+"<tr><td styles='formTableTitle' lable='newname' width='25%'></td>"+" <td styles='formTableValue14' item='newname' colspan='3'></td></tr>"+"</table>";this.formTableArea.set("html",t);this.form=new MForm(this.formTableArea,this.data||{},{isEdited:true,style:"minder",hasColon:true,itemTemplate:{newname:{text:"新文件名称",notEmpty:true}}},this.app);this.form.load()},_createBottomContent:function(){if(this.isNew||this.isEdited){this.okActionNode=new Element("button.inputOkButton",{styles:this.css.inputOkButton,text:"确定"}).inject(this.formBottomNode);this.okActionNode.addEvent("click",function(t){this.save(t)}.bind(this))}this.cancelActionNode=new Element("button.inputCancelButton",{styles:this.isEdited||this.isNew||this.getEditPermission()?this.css.inputCancelButton:this.css.inputCancelButton_long,text:"关闭"}).inject(this.formBottomNode);this.cancelActionNode.addEvent("click",function(t){this.close(t)}.bind(this))},save:function(){var t=this.form.getResult(true,null,true,false,true);if(t){this.app.setNewName(t.newname);this.close()}}});MWF.xApplication.MinderEditor.ExportTooltips=new Class({Implements:[Options,Events],Extends:MTooltips,options:{style:"default",axis:"y",position:{x:"auto",y:"auto"},event:"mouseenter",nodeStyles:{"padding-top":"5px","min-width":"210px",padding:"0px","border-radius":"5px"}},_loadCustom:function(n){this.css=this.app.css;if(document.id("km-csrf")){document.id("km-csrf").set("value",this.app.data.id)}else{new Element("input",{id:"km-csrf",styles:{display:"none"}}).inject(this.contentNode)}this.app.loadExtentResource(function(){var t=this.contentNode;var e=new Element("div",{styles:this.css.selectorListNode}).inject(t);var i=[];var s=kityminder.data.getRegisterProtocol();for(var o in s){if(s.hasOwnProperty(o)&&s[o].encode){i.push(s[o])}}i.each(function(t){new Element("div",{text:t.fileDescription+"("+t.fileExtension+")",styles:this.css.selectorListItemNode,events:{mouseover:function(t){t.target.setStyles(this.css.selectorListItemNode_over)}.bind(this),mouseleave:function(t){t.target.setStyles(this.css.selectorListItemNode)}.bind(this),click:function(){this.exportFile(t)}.bind(this)}}).inject(e)}.bind(this));if(n)n()}.bind(this))},exportFile:function(e){this.createProgressBar();this.minder=this.app.minder;var s=this.app.data.name||this.minder.getRoot().getText();filename=s+e.fileExtension;var i=e.mineType||"text/plain";var t={download:true,filename:filename};if(e.name=="png"){var o=new MWF.xApplication.MinderEditor.Converter(this.app,this.minder);o.toPng(null,null,function(t){var e=new Element("a",{text:filename}).inject(this.progressBarTextNode);e.download=s;e.href=URL.createObjectURL(t);var i=document.createEvent("HTMLEvents");i.initEvent("click",false,false);e.dispatchEvent(i);e.click();this.progressBarNode.destroy();this.progressBarNode=null;this.progressBarTextNode=null;this.progressBar=null;this.progressBarPercent=null}.bind(this))}else{this.minder.exportData(e.name,t).then(function(t){if(e.name=="freemind"){return}switch(e.dataType){case"text":return this.doDownload(this.buildDataUrl(i,t),filename,"text");case"base64":return this.doDownload(t,filename,"base64");case"blob":return null}return null}.bind(this))}},doDownload:function(a,r,t){var e=kityminder.Promise;var l=+new Date*1e5+Math.floor(Math.random()*(1e5-1));l=l.toString(36);var i=new e(function(t,e){var i=0;var s=30;var o=1e3;var n=a.split(",")[1];this.saveToLocal(n,r);return t([l,i])}.bind(this));return i},buildDataUrl:function(t,e){return"data:"+t+"; utf-8,"+encodeURIComponent(e)},saveToLocal:function(t,e){if(window.hasOwnProperty("ActiveXObject")){var i=window.open("","_blank");i.document.write(decodeURIComponent(t))}else{this.downloadFile(e,decodeURIComponent(t))}this.progressBarNode.destroy();this.progressBarNode=null;this.progressBarTextNode=null;this.progressBar=null;this.progressBarPercent=null;this.close()},downloadFile:function(t,e){var i=new Element("a",{text:this.data.name}).inject(this.progressBarTextNode);var s=new Blob([e]);i.download=t;i.href=URL.createObjectURL(s);var o=document.createEvent("HTMLEvents");o.initEvent("click",false,false);i.dispatchEvent(o);i.click()},createProgressBar:function(){this.node.hide();this.progressBarNode=new Element("div",{styles:this.css.progressBarNode});this.progressBarNode.inject(this.container);this.progressBarNode.position({relativeTo:this.container,position:"center",edge:"center"});this.progressBarTextNode=new Element("div",{styles:this.css.progressBarTextNode}).inject(this.progressBarNode);this.progressBar=new Element("div",{styles:this.css.progressBar}).inject(this.progressBarNode);this.progressBarPercent=new Element("div",{styles:this.css.progressBarPercent}).inject(this.progressBar)}});MWF.xApplication.MinderEditor.ExportForm=new Class({Extends:MPopupForm,Implements:[Options,Events],options:{style:"minder",width:400,height:"300",hasTop:true,hasIcon:false,draggable:true,hasBottom:false,title:"选择导出的文件类型"},_createTableContent:function(n){this.css=this.app.css;if(document.id("km-csrf")){document.id("km-csrf").set("value",this.app.data.id)}else{new Element("input",{id:"km-csrf",styles:{display:"none"}}).inject(this.formTableArea)}this.app.loadExtentResource(function(){var t=this.formTableArea;var e=new Element("div",{styles:this.css.selectorListNode}).inject(t);var i=[];var s=kityminder.data.getRegisterProtocol();for(var o in s){if(s.hasOwnProperty(o)&&s[o].encode){i.push(s[o])}}i.each(function(t){new Element("div",{text:t.fileDescription+"("+t.fileExtension+")",styles:this.css.selectorListItemNode,events:{mouseover:function(t){t.target.setStyles(this.css.selectorListItemNode_over)}.bind(this),mouseleave:function(t){t.target.setStyles(this.css.selectorListItemNode)}.bind(this),click:function(){this.exportFile(t)}.bind(this)}}).inject(e)}.bind(this));if(n)n()}.bind(this))},exportFile:function(e){this.createProgressBar();this.minder=this.app.minder;var s=this.app.data.name||this.minder.getRoot().getText();filename=s+e.fileExtension;var i=e.mineType||"text/plain";var t={download:true,filename:filename};if(e.name=="png"){var o=new MWF.xApplication.MinderEditor.Converter(this.app,this.minder);o.toPng(null,null,function(t){var e=new Element("a",{text:filename}).inject(this.progressBarTextNode);e.download=s;e.href=URL.createObjectURL(t);var i=document.createEvent("HTMLEvents");i.initEvent("click",false,false);e.dispatchEvent(i);e.click();this.progressBarNode.destroy();this.progressBarNode=null;this.progressBarTextNode=null;this.progressBar=null;this.progressBarPercent=null}.bind(this))}else{this.minder.exportData(e.name,t).then(function(t){if(e.name=="freemind"){return}switch(e.dataType){case"text":return this.doDownload(this.buildDataUrl(i,t),filename,"text");case"base64":return this.doDownload(t,filename,"base64");case"blob":return null}return null}.bind(this))}},doDownload:function(a,r,t){var e=kityminder.Promise;var l=+new Date*1e5+Math.floor(Math.random()*(1e5-1));l=l.toString(36);var i=new e(function(t,e){var i=0;var s=30;var o=1e3;var n=a.split(",")[1];this.saveToLocal(n,r);return t([l,i])}.bind(this));return i},buildDataUrl:function(t,e){return"data:"+t+"; utf-8,"+encodeURIComponent(e)},saveToLocal:function(t,e){if(window.hasOwnProperty("ActiveXObject")){var i=window.open("","_blank");i.document.write(decodeURIComponent(t))}else{this.downloadFile(e,decodeURIComponent(t))}this.progressBarNode.destroy();this.progressBarNode=null;this.progressBarTextNode=null;this.progressBar=null;this.progressBarPercent=null;this.close()},downloadFile:function(t,e){var i=new Element("a",{text:this.data.name}).inject(this.progressBarTextNode);var s=new Blob([e]);i.download=t;i.href=URL.createObjectURL(s);var o=document.createEvent("HTMLEvents");o.initEvent("click",false,false);i.dispatchEvent(o);i.click()},createProgressBar:function(){this.progressBarNode=new Element("div",{styles:this.css.progressBarNode});this.progressBarNode.inject(this.container);this.progressBarNode.position({relativeTo:this.container,position:"center",edge:"center"});this.progressBarTextNode=new Element("div",{styles:this.css.progressBarTextNode}).inject(this.progressBarNode);this.progressBar=new Element("div",{styles:this.css.progressBar}).inject(this.progressBarNode);this.progressBarPercent=new Element("div",{styles:this.css.progressBarPercent}).inject(this.progressBar);this.close()}});