Main.min.js 16 KB

1
  1. MWF.xApplication.cms=MWF.xApplication.cms||{};MWF.xDesktop.requireApp("Template","MPopupForm",null,false);MWF.xApplication.cms.Column.Main=new Class({Extends:MWF.xApplication.Common.Main,Implements:[Options,Events],options:{style:"default",name:"cms.Column",icon:"icon.png",width:"1000",height:"600",isResize:true,isMax:true,title:MWF.xApplication.cms.Column.LP.title},onQueryLoad:function(){this.lp=MWF.xApplication.cms.Column.LP;this.defaultColumnIcon="/x_component_cms_Column/$Main/"+this.options.style+"/icon/column.png";this.defaultCategoryIcon="/x_component_cms_Column/$Main/"+this.options.style+"/icon/category2.png"},loadApplication:function(t){this.isAdmin=MWF.AC.isCMSManager();if(!this.restActions)this.restActions=MWF.Actions.get("x_cms_assemble_control");this.columns=[];this.categorys=[];this.deleteElements=[];this.createNode();this.loadApplicationContent();if(t)t()},createNode:function(){this.content.setStyle("overflow","hidden");this.node=new Element("div",{styles:this.css.container}).inject(this.content)},reload:function(){this.columnContentAreaNode.empty();this.createColumnNodes()},loadApplicationContent:function(){this.loadTopNode();this.loadColumnContentArea();this.setContentSize();this.addEvent("resize",function(){this.setContentSize()}.bind(this))},loadTopNode:function(){this.columnToolbarAreaNode=new Element("div",{styles:this.css.columnToolbarAreaNode}).inject(this.node);if(MWF.AC.isCMSManager()){this.createColumnNode=new Element("div",{styles:this.css.createColumnNode,text:this.lp.column.create}).inject(this.columnToolbarAreaNode);this.createColumnNode.addEvents({mouseover:function(){this.createColumnNode.setStyles(this.css.createColumnNode_over)}.bind(this),mouseout:function(){this.createColumnNode.setStyles(this.css.createColumnNode)}.bind(this),click:function(){this.createColumn()}.bind(this)})}this.columnToolbarTextNode=new Element("div",{styles:this.css.columnToolbarTextNode,text:this.lp.column.title}).inject(this.columnToolbarAreaNode)},setContentSize:function(){var t=this.node.getSize();var e=this.columnToolbarAreaNode?this.columnToolbarAreaNode.getSize():{x:0,y:0};this.scrollNode.setStyle("height",""+(t.y-e.y)+"px");if(this.contentWarpNode){var i=(t.x/287).toInt();var n=287*i;var s=(t.x-n)/2-10;this.contentWarpNode.setStyles({width:""+n+"px","margin-left":""+s+"px"})}},loadColumnContentArea:function(){this.scrollNode=new Element("div",{styles:this.css.scrollNode}).inject(this.node);this.contentWarpNode=new Element("div",{styles:this.css.contentWarpNode}).inject(this.scrollNode);this.contentContainerNode=new Element("div",{styles:this.css.contentContainerNode}).inject(this.contentWarpNode);this.columnContentAreaNode=new Element("div",{styles:this.css.columnContentAreaNode}).inject(this.contentContainerNode);this.createColumnNodes()},createColumnNodes:function(){this.restActions.listAppByManager(function(t){var e=null;if(t&&t.data&&t.data.length){var i=t.data;i.sort(function(t,e){return parseFloat(t.appInfoSeq)-parseFloat(e.appInfoSeq)});t.data=i;t.data.each(function(t,e){this.index=e;var t=new MWF.xApplication.cms.Column.Column(this,t,{index:e});t.load();this.columns.push(t)}.bind(this))}if(this.columns.length==0){this.noElementNode=new Element("div",{styles:this.css.noElementNode,text:this.lp.column.noElement}).inject(this.columnContentAreaNode)}}.bind(this))},createColumn:function(){var t=new MWF.xApplication.cms.Column.PopupForm(this,{},{title:this.lp.column.create},{app:this,container:this.content,lp:this.lp.column,css:{},actions:this.restActions});t.create()}});MWF.xApplication.cms.Column.Column=new Class({Implements:[Options,Events],options:{where:"bottom",index:1},initialize:function(t,e,i){this.setOptions(i);this.app=t;this.container=this.app.columnContentAreaNode;this.data=e;this.isNew=false;this.lp=this.app.lp.column},load:function(){this.data.name=this.data.appName;var t=this.data.appName;var e=this.data.appAlias;var i=this.data.description;var n=this.data.appInfoSeq;var s=this.data.creatorUid;var o=this.data.createTime;var a=this.node=new Element("div.columnItem",{styles:this.app.css.columnItemNode}).inject(this.container,this.options.where);a.store("columnName",t);var l=new Element("div",{styles:this.app.css.columnItemTopNode}).inject(a);if(this.data.iconColor){l.setStyle("background-color","rgba("+this.data.iconColor+",1)")}var d=new Element("div",{styles:this.app.css.columnItemTitleNode,text:t,title:e?t+" ("+e+") ":t}).inject(l);var c=new Element("div",{styles:this.app.css.columnItemIconAreaNode}).inject(a);if(this.data.iconColor){c.setStyle("border-color","rgba("+this.data.iconColor+",1)")}var r=this.iconNode=new Element("div",{styles:this.app.css.columnItemIconNode}).inject(a);if(this.data.appIcon){this.iconNode.setStyle("background-image","url(data:image/png;base64,"+this.data.appIcon+")")}else{this.iconNode.setStyle("background-image","url("+this.app.defaultColumnIcon+")")}var p=new Element("div",{styles:this.app.css.columnItemMiddleNode}).inject(a);var h=i&&i!=""?i:this.lp.noDescription;var m=new Element("div",{styles:this.app.css.columnItemDescriptionNode,text:h,title:h}).inject(p);var u=this;a.addEvents({mouseover:function(){if(!u.selected)this.setStyles(u.app.css.columnItemNode_over)},mouseout:function(){if(!u.selected)this.setStyles(u.app.css.columnItemNode)},click:function(t){u.clickColumnNode(u,this,t)}});var f=new Element("div",{styles:this.app.css.columnItemBottomNode}).inject(a);var v=new Element("div",{styles:this.app.css.columnItemCategoryTitleNode,text:this.lp.category}).inject(f);var N=new Element("div",{styles:this.app.css.columnItemCategoryContentNode}).inject(f);this.app.restActions.listCategory(this.data.id,function(t){var e=t.data||[];e.each(function(t){var e=new Element("div",{styles:this.app.css.columnItemBottomItemNode,text:t.name}).inject(N);e.addEvents({click:function(t){this.obj.clickColumnNode(this.obj,t.target,t,this.data.id);t.stopPropagation()}.bind({obj:this,data:t}),mouseover:function(){this.node.setStyles(this.obj.app.css.columnItemBottomItemNode_over)}.bind({obj:this,node:e}),mouseout:function(){this.node.setStyles(this.obj.app.css.columnItemBottomItemNode)}.bind({obj:this,node:e})})}.bind(this))}.bind(this));var v=new Element("div",{styles:this.app.css.columnItemFormTitleNode,text:this.lp.form}).inject(f);var g=new Element("div",{styles:this.app.css.columnItemFormContentNode}).inject(f);this.app.restActions.listForm(this.data.id,function(t){var e=t.data||[];e.each(function(t){var e=new Element("div",{styles:this.app.css.columnItemBottomItemNode,text:t.name}).inject(g);e.addEvents({click:function(t){this.obj.openForm(this.data);t.stopPropagation()}.bind({obj:this,data:t}),mouseover:function(){this.node.setStyles(this.obj.app.css.columnItemBottomItemNode_over)}.bind({obj:this,node:e}),mouseout:function(){this.node.setStyles(this.obj.app.css.columnItemBottomItemNode)}.bind({obj:this,node:e})})}.bind(this))}.bind(this));if(s==layout.desktop.session.user.distinguishedName||MWF.AC.isCMSManager()){this.delAdctionNode=new Element("div.delNode",{styles:this.app.css.columnItemDelActionNode,title:this.lp["delete"]}).inject(a);a.addEvents({mouseover:function(){this.delAdctionNode.setStyle("display","")}.bind(this),mouseout:function(){this.delAdctionNode.setStyle("display","none")}.bind(this)});this.delAdctionNode.addEvent("click",function(t){this.deleteColumn(t);t.stopPropagation()}.bind(this))}if(s==layout.desktop.session.user.distinguishedName||MWF.AC.isCMSManager()){this.editAdctionNode=new Element("div.editNode",{styles:this.app.css.columnItemEditActionNode,title:this.lp.edit}).inject(a);a.addEvents({mouseover:function(){this.editAdctionNode.setStyle("display","")}.bind(this),mouseout:function(){this.editAdctionNode.setStyle("display","none")}.bind(this)});this.editAdctionNode.addEvent("click",function(t){this.edit(t);t.stopPropagation()}.bind(this))}if(s==layout.desktop.session.user.distinguishedName||MWF.AC.isCMSManager()){this.exportAdctionNode=new Element("div.exportNode",{styles:this.app.css.columnItemExportActionNode,title:this.lp.export}).inject(a);a.addEvents({mouseover:function(){this.exportAdctionNode.setStyle("display","")}.bind(this),mouseout:function(){this.exportAdctionNode.setStyle("display","none")}.bind(this)});this.exportAdctionNode.addEvent("click",function(t){this.export(t);t.stopPropagation()}.bind(this))}},export:function(){MWF.xDesktop.requireApp("cms.Column","Exporter",function(){new MWF.xApplication.cms.Column.Exporter(this.app,this.data).load()}.bind(this))},edit:function(){var t=new MWF.xApplication.cms.Column.PopupForm(this.app,this.data,{title:this.lp.edit},{app:this.app,container:this.app.content,lp:this.lp,css:{},actions:this.app.restActions});t.edit()},openForm:function(i){layout.desktop.getFormDesignerStyle(function(){var t=this;var e={style:layout.desktop.formDesignerStyle,onQueryLoad:function(){this.category=t;this.options.id=i.id;this.column=t.data;this.application=t.data}};this.app.desktop.openApplication(null,"cms.FormDesigner",e)}.bind(this))},clickColumnNode:function(t,e,i,n){var s="cms.ColumnManager"+this.data.id;if(this.app.desktop.apps[s]){var o=this.app.desktop.apps[s];o.setCurrent();if(n)o.setCategory(n)}else{this.app.desktop.openApplication(i,"cms.ColumnManager",{currentCategoryId:n,column:this.data,appId:s,onQueryLoad:function(){this.status={navi:0}}})}},checkDeleteColumn:function(){if(this.deleteElements.length){if(!this.deleteElementsNode){this.deleteElementsNode=new Element("div",{styles:this.app.css.deleteElementsNode,text:this.lp.deleteElements}).inject(this.node);this.deleteElementsNode.position({relativeTo:this.container,position:"centerTop",edge:"centerbottom"});this.deleteElementsNode.addEvent("click",function(t){this["delete"]()}.bind(this))}}else{if(this.deleteElementsNode){this.deleteElementsNode.destroy();this.deleteElementsNode=null;delete this.deleteElementsNode}}},deleteColumn:function(t){var e=this;this.app.confirm("warn",t,this.lp.delete_confirm_title,this.lp.delete_confirm_content,320,100,function(){e._deleteElement();this.close()},function(){this.close()})},_deleteElement:function(t,e,i){this.app.restActions.removeColumn(t||this.data.id,function(){this.destroy();if(e)e()}.bind(this),function(t){var e=JSON.parse(t.responseText);this.app.notice(e.message,"error");if(i)i()}.bind(this))},destroy:function(){this.node.destroy();MWF.release(this);delete this}});MWF.xApplication.cms.Column.PopupForm=new Class({Extends:MPopupForm,Implements:[Options,Events],options:{style:"blue",width:"650",height:"400",hasTop:true,hasIcon:false,hasTopContent:true,hasBottom:true,draggable:true,closeAction:true},_createTableContent:function(){if(!this.isNew){var t=this.data.appName;var e=this.data.appAlias;var i=this.data.description;var n=this.data.appInfoSeq;var s=this.data.creatorUid;var o=this.data.createTime}else{var t="";var e="";var i="";var n="";var s="";var a="";var o=""}var l='<table width="100%" height="90%" border="0" cellPadding="0" cellSpacing="0">'+'<tr><td style="font-size:16px; height: 40px; line-height: 40px; text-align: left; min-width: 60px; width:20%">'+this.lp.nameLabel+":</td>"+'<td style="; text-align: right;"><input type="text" id="createColumnName" '+'style="width: 95%; border:1px solid #999; background-color:#FFF; border-radius: 3px; box-shadow: 0px 0px 6px #CCC; '+'height: 26px;" value="'+t+'"/></td></tr>'+'<tr><td style="font-size:16px; height: 40px; line-height: 40px; text-align: left">'+this.lp.descriptionLabel+":</td>"+'<td style="; text-align: right;"><input type="text" id="createColumnDescription" '+'style="width: 95%; border:1px solid #999; background-color:#FFF; border-radius: 3px; box-shadow: 0px 0px 6px #CCC; '+'height: 26px;" value="'+i+'"/></td></tr>'+'<tr><td style="font-size:16px; height: 40px; line-height: 40px; text-align: left">'+this.lp.sortLabel+":</td>"+'<td style="; text-align: right;"><input type="text" id="createColumnSort" '+'style="width: 95%; border:1px solid #999; background-color:#FFF; border-radius: 3px; box-shadow: 0px 0px 6px #CCC; '+'height: 26px;" value="'+n+'"/></td></tr>'+'<tr><td style="font-size:16px; height: 40px; line-height: 40px; text-align: left">'+this.lp.iconLabel+":</td>"+"<td style=\"; text-align: right;\"><div id='formIconPreview'></div><div id='formChangeIconAction'></div></td></tr>"+"</table>";this.formTableArea.set("html",l);this.setContent();this.setIconContent()},_setCustom:function(){this.formTableContainer.setStyles({"padding-top":"15px",width:"470px"});this.formBottomNode.setStyles({"padding-right":"170px","padding-bottom":"50px"})},setContent:function(){this.nameInput=this.formTableArea.getElementById("createColumnName");this.descriptionInput=this.formTableArea.getElementById("createColumnDescription");this.sortInput=this.formTableArea.getElementById("createColumnSort")},setIconContent:function(){this.iconPreviewNode=this.formTableArea.getElement("div#formIconPreview");this.iconActionNode=this.formTableArea.getElement("div#formChangeIconAction");this.iconPreviewNode.setStyles({"margin-left":"20px","margin-top":"10px",height:"72px",width:"72px",float:"left"});if(!this.isNew&&this.data.appIcon){this.iconPreviewNode.setStyle("background","url(data:image/png;base64,"+this.data.appIcon+") center center no-repeat")}else{this.iconPreviewNode.setStyle("background","url("+"/x_component_cms_Column/$Main/default/icon/column.png) center center no-repeat")}var t=new Element("div",{styles:{"margin-left":"20px",float:"left","background-color":"#FFF",padding:"4px 14px",border:"1px solid #999","border-radius":"3px","margin-top":"25px","font-size":"14px",color:"#666",cursor:"pointer"},text:"更改图标"}).inject(this.iconActionNode);t.addEvent("click",function(){this.changeIcon()}.bind(this))},cancel:function(t){this.fireEvent("queryCancel");if(this.isNew){this.cancelNewColumn(t)}else{this.close()}this.fireEvent("postCancel")},cancelNewColumn:function(t){var e=this;if(this.nameInput.get("value")||this.descriptionInput.get("value")){this.app.confirm("warn",t,this.lp.create_cancel_title,this.lp.create_cancel,320,100,function(){e.close();this.close()},function(){this.close()})}else{e.close()}},ok:function(t){this.fireEvent("queryOk");var e={id:this.data&&this.data.id?this.data.id:this.app.restActions.getUUID(),isNewColumn:this.isNew,appName:this.nameInput.get("value"),description:this.descriptionInput.get("value"),appInfoSeq:this.sortInput.get("value")};if(this.data&&this.data.appIcon)e.appIcon=this.data.appIcon;if(!e.appName){this.app.notice(this.lp.inputName);return}else{var i=function(t){this.app.restActions.getColumn(t,function(t){if(this.isNew){var e={personList:[layout.desktop.session.user.distinguishedName||"xadmin"],unitList:[],groupList:[]};this.app.restActions.saveAppInfoManager(t.data.id,e,function(t){}.bind(this),null,false)}if(this.app.noElementNode)this.app.noElementNode.destroy();if(this.formMaskNode)this.formMaskNode.destroy();this.formAreaNode.destroy();if(this.app)this.app.notice(this.isNew?this.lp.createColumnSuccess:this.lp.updateColumnSuccess,"success");if(this.isNew){var i=new MWF.xApplication.cms.Column.Column(this.app,t.data,{where:"top"});i.load();this.app.columns.push(i)}else{this.app.reload()}this.fireEvent("postOk")}.bind(this))}.bind(this);this.app.restActions.saveColumn(e,function(t){if(t.type=="error"){this.app.notice(t.message,"error")}else{if(this.formData){this.saveIcon(t.data.id,i)}else{i(t.data.id)}}}.bind(this),function(t){var e=JSON.parse(t.responseText);this.app.notice(e.message||json.userMessage,"error")}.bind(this))}},changeIcon:function(){if(!this.uploadFileAreaNode){this.uploadFileAreaNode=new Element("div");var t='<input name="file" type="file"/>';this.uploadFileAreaNode.set("html",t);this.fileUploadNode=this.uploadFileAreaNode.getFirst();this.fileUploadNode.addEvent("change",function(){var t=s.files;if(t.length){for(var e=0;e<t.length;e++){var i=t.item(e);if(!i.type.match("image.*"))continue;this.file=i;this.formData=new FormData;this.formData.append("file",this.file);if(!window.FileReader)continue;var n=new FileReader;n.onload=function(t){return function(t){this.iconPreviewNode.setStyle("background","");this.iconPreviewNode.empty();new Element("img",{styles:{height:"72px",width:"72px"},src:t.target.result}).inject(this.iconPreviewNode)}.bind(this)}.bind(this)(i);n.readAsDataURL(i)}}}.bind(this))}var s=this.uploadFileAreaNode.getFirst();s.click()},saveIcon:function(t,e){this.app.restActions.updataColumnIcon(t,function(){this.formData=null;if(e)e(t)}.bind(this),null,this.formData,this.file)}});