Dialog.min.js 10 KB

1
  1. MWF.xDesktop.requireApp("Template","MForm",null,false);MWF.require("MWF.widget.ImageClipper",null,false);MWF.xApplication.MinderEditor.HyperLinkForm=new Class({Extends:MPopupForm,Implements:[Options,Events],options:{style:"report",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:"report",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 o=new RegExp(i,"i");return o.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:"report",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:"report",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:"report",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.resizedImage){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,o){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(!o)o=this.options.left?this.options.left:0;var s=this.container.getSize();if(s.x<t)t=s.x;if(s.y<e)e=s.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);o=o||parseInt((a-t)/2,10);this.formAreaNode.setStyles({width:""+t+"px",height:""+e+"px",top:""+i+"px",left:""+o+"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 m=this.formBottomNode?this.formBottomNode.getSize():{x:0,y:0};var h=this.tabContainer?this.tabContainer.getSize():{x:0,y:0};var c=e-l.y-d.y-m.y-h.y;this.formContentNode.setStyles({height:""+c+"px"});this.formTableContainer.setStyles({height:""+c+"px"})}});MWF.xApplication.MinderEditor.NoteForm=new Class({Extends:MPopupForm,Implements:[Options,Events],options:{style:"report",width:300,height:"100%",right:0,hasTop:true,hasIcon:false,hasMask:false,hasBottom:false,draggable:true,resizeable:true,maxAction:true,title:"备注"},_createTableContent:function(){this.formTableContainer.setStyle("width","100%");this.formTableArea.setStyle("height","100%");var t="<div item='content' style='height: 100%;'></div>";this.formTableArea.set("html",t);MWF.xDesktop.requireApp("Template","MForm",function(){this.form=new MForm(this.formTableArea,{},{style:"report",isEdited:true,itemTemplate:{content:{type:"rtf",RTFConfig:{resize_enabled:false,toolbar:[{name:"document",items:["Preview"]},{name:"basicstyles",items:["Bold","Italic","Underline","Strike","-","RemoveFormat"]},{name:"styles",items:["Styles","Format","Font","FontSize"]},{name:"colors",items:["TextColor","BGColor"]},{name:"links",items:["Link","Unlink"]},{name:"tools",items:["Maximize","-","About"]}]}}}},this.app);this.form.load()}.bind(this),true)},_setNodesSize:function(t,e,i,o){this.form.getItem("content").editor.resize(null,o)}});