SettingModuleUI.min.js 14 KB

1
  1. MWF.xDesktop.requireApp("Selector","package",null,false);MWF.require("MWF.widget.O2Identity",null,false);MWF.xApplication.Setting.UIModuleDocument=new Class({Extends:MWF.xApplication.Common.Main,Implements:[Options,Events],options:{style:"default"},initialize:function(t,e,i){this.setOptions(i);this.path="/x_component_Setting/$SettingModuleUI/";this.cssPath=this.path+this.options.style+"/css.wcss";this._loadCss();this.content=e;this.explorer=t;this.app=this.explorer.app;this.lp=this.app.lp.module;this.actions=MWF.Actions.get("x_component_assemble_control");this.load()},destroy:function(){this.appDeploymentContent.destroy();this.content.empty();if(this.setContentHeightFun)this.app.removeEvent("resize",this.setContentHeightFun);MWF.release(this)},load:function(){this.components=[];this.loadTitle();this.appDeploymentContent=new Element("div",{styles:this.css.appDeploymentContent}).inject(this.content);this.componentsContent=new Element("div",{styles:this.css.componentsContent}).inject(this.appDeploymentContent);MWF.require("MWF.widget.Tab",function(){this.tab=new MWF.widget.Tab(this.content,{style:"processlayout"});this.tab.load();this.appPage=this.tab.addTab(this.appDeploymentContent,"已部署组件",false);this.appPage.showIm();this.setContentHeight();this.setContentHeightFun=this.setContentHeight.bind(this);this.app.addEvent("resize",this.setContentHeightFun)}.bind(this));this.loadApplicationContent()},loadTitle:function(){},loadApplicationContent:function(){this.loadApps(function(){if(MWF.AC.isAdministrator())this.loadNewApp()}.bind(this))},getComponentCatalogue:function(t){var e=MWF.defaultPath+"/xDesktop/$Layout/components.json";MWF.getJSON(e,function(e){if(t)t(e)}.bind(this))},loadApps:function(t){this.getComponentCatalogue(function(e){e.each(function(t,e){this.components.push(new MWF.xApplication.Setting.UIModuleDocument.Component(t,this))}.bind(this));this.actions.listComponent(function(e){e.data.each(function(t,e){this.components.push(new MWF.xApplication.Setting.UIModuleDocument.UserComponent(t,this))}.bind(this));if(t)t()}.bind(this))}.bind(this))},loadNewApp:function(){var t=new Element("div",{styles:this.css.componentItemNode}).inject(this.componentsContent);t.setStyles({"background-color":"#FFF"});var e=new Element("div",{styles:this.css.contentNode}).inject(t);var i=new Element("div",{styles:this.css.titleNode}).inject(e);var s=new Element("div",{styles:this.css.addIconNode}).inject(t);s.addEvents({mouseover:function(){s.setStyles(this.css.addIconNode_over);i.setStyle("color","#3498db")}.bind(this),mouseout:function(){s.setStyles(this.css.addIconNode);i.setStyle("color","#999")}.bind(this),click:function(t){this.createNewDeploy(t)}.bind(this)});var n=new Element("div",{styles:this.css.actionAreaNode}).inject(t);i.set("text",this.lp.add);i.setStyle("color","#999")},createNewDeploy:function(){new MWF.xApplication.Setting.UIModuleDocument.Deploy(this)},deployApp:function(){var t=this.appContentNode.getElements("input");var e=t[0];var i=t[1];var s=t[2];var n=e.get("value");var o=i.get("value");if(!n||!o){this.app.notice("请输入应用名称和应用标题","error",this.appContentNode)}else if(!s.files.length){this.app.notice("请上传文件的ZIP包","error",this.appContentNode)}else{var a=new FormData;a.append("file",s.files[0]);a.append("name",n);a.append("title",o);a.append("path","/res/mwf4/package/xApplication");var l=new COMMON.Browser.Request;l.open("POST","jaxrs/application",false);var c=function(){if(l.readyState!=4)return;var t=l.status;t=t==1223?204:t;if(t>=200&&t<300){this.app.notice("部署成功","success",this.appContentNode);this.appListNode.empty();this.loadApps()}}.bind(this);l.onreadystatechange=c;l.send(a)}},setContentHeight:function(t){var e=this.content.getSize();var i=this.tab.tabNodeContainer.getSize();var s=e.y-i.y;this.tab.pages.each(function(t){t.contentNodeArea.setStyles({height:""+s+"px",overflow:"auto"})})}});MWF.xApplication.Setting.UIModuleDocument.Component=new Class({initialize:function(t,e,i){this.data=t;this.deployment=e;this.css=this.deployment.css;this.content=this.deployment.componentsContent;this.load(i)},reload:function(t){this.data=t;this.node.empty();this.load()},load:function(t){if(!this.node){this.node=new Element("div",{styles:this.css.componentItemNode});if(t){var e=this.content.getLast("div");this.node.inject(e,"before")}else{this.node.inject(this.content)}}this.contentNode=new Element("div",{styles:this.css.contentNode}).inject(this.node);this.titleNode=new Element("div",{styles:this.css.titleNode}).inject(this.contentNode);this.nameNode=new Element("div",{styles:this.css.nameNode}).inject(this.contentNode);this.iconNode=new Element("div",{styles:this.css.iconNode}).inject(this.node);this.actionAreaNode=new Element("div",{styles:this.css.actionAreaNode}).inject(this.node);var i="/x_component_"+this.data.path.replace(/\./g,"_")+"/$Main/"+this.data.iconPath;this.iconNode.setStyle("background-image","url("+i+")");this.titleNode.set("text",this.data.title);this.nameNode.set("text",this.data.name);this.addAction();this.loadSystemFlag()},addAction:function(){if(this.data.visible){var t=layout.session.user;var e=[t.name,t.distinguishedName,t.id,t.unique];if(t.roleList)e=e.concat(t.roleList);if(t.groupList)e=e.concat(t.groupList);var i=true;if(this.data.allowList)i=this.data.allowList.length?this.data.allowList.isIntersect(e):true;var s=false;if(this.data.denyList)s=this.data.denyList.length?this.data.denyList.isIntersect(e):false;if(!s&&i||MWF.AC.isAdministrator()){this.openAction=new Element("div",{styles:this.css.actionNode,text:this.deployment.lp.open}).inject(this.actionAreaNode);this.openAction.addEvents({mouseover:function(){this.openAction.setStyles(this.css.actionNode_over)}.bind(this),mouseout:function(){this.openAction.setStyles(this.css.actionNode)}.bind(this),click:function(t){this.deployment.app.desktop.openApplication(t,this.data.path)}.bind(this)})}}else{}},loadSystemFlag:function(){}});MWF.xApplication.Setting.UIModuleDocument.UserComponent=new Class({Extends:MWF.xApplication.Setting.UIModuleDocument.Component,createOpenAction:function(t){this.openAction=new Element("div",{styles:this.css[t],text:this.deployment.lp.open}).inject(this.actionAreaNode);this.openAction.addEvents({mouseover:function(){this.openAction.setStyles(this.css.actionNode_over)}.bind(this),mouseout:function(){this.openAction.setStyles(this.css[t])}.bind(this),click:function(t){this.deployment.app.desktop.openApplication(t,this.data.path)}.bind(this)})},createEditAction:function(t){this.editAction=new Element("div",{styles:this.css[t],text:this.deployment.lp.edit}).inject(this.actionAreaNode);this.editAction.addEvents({mouseover:function(){this.editAction.setStyles(this.css.actionNode_over)}.bind(this),mouseout:function(){this.editAction.setStyles(this.css[t])}.bind(this),click:function(t){this.editComponent()}.bind(this)})},createRemoveAction:function(t){this.removeAction=new Element("div",{styles:this.css[t],text:this.deployment.lp.remove}).inject(this.actionAreaNode);this.removeAction.addEvents({mouseover:function(){this.removeAction.setStyles(this.css.actionNode_over)}.bind(this),mouseout:function(){this.removeAction.setStyles(this.css[t])}.bind(this),click:function(t){var e=this;var i=this.deployment.lp.removeComponent.replace(/{name}/,this.data.title);this.deployment.app.confirm("warn",t,this.deployment.lp.removeComponentTitle,i,300,130,function(){e.removeComponent();this.close()},function(){this.close()},null,this.deployment.content)}.bind(this)})},addAction:function(){this.node.setStyles(this.css.userComponentItemNode);var t=layout.session.user;var e=[t.name,t.distinguishedName,t.id,t.unique];if(t.roleList)e=e.concat(t.roleList);if(t.groupList)e=e.concat(t.groupList);var i=this.checkAdministrator();if(i&&this.data.visible){this.createOpenAction("action2Node");this.createEditAction("action2Node");this.createRemoveAction("action3Node")}else if(!i&&this.data.visible){var s=this.data.allowList.length?this.data.allowList.isIntersect(e):true;var n=this.data.denyList.length?this.data.denyList.isIntersect(e):false;if(!n&&s||MWF.AC.isAdministrator()){this.createOpenAction("actionNode")}}else if(i&&!this.data.visible){this.createEditAction("action4Node");this.createRemoveAction("action5Node")}},checkAdministrator:function(){if(MWF.AC.isAdministrator())return true;var t=this.deployment.desktop.session.user;var e=[t.name,t.distinguishedName,t.id,t.unique];if(t.roleList)e=e.concat(t.roleList);if(t.groupList)e=e.concat(t.groupList);if(this.data.controllerList.isIntersect(e))return true;return false},loadSystemFlag:function(){},editComponent:function(){new MWF.xApplication.Setting.UIModuleDocument.DeployEdit(this.data,this,this.deployment)},removeComponent:function(){this.deployment.actions.removeComponent(this.data.id,function(){this.deployment.app.notice(this.deployment.lp.removeComponentOk,"success");this.deployment.components.erase(this);this.node.destroy();MWF.release(this)}.bind(this))}});MWF.xApplication.Setting.UIModuleDocument.Deploy=new Class({initialize:function(t){this.deployment=t;this.css=this.deployment.css;this.tab=this.deployment.tab;this.lp=this.deployment.lp;this.load(this.lp.add)},createLine:function(t){var e=new Element("div",{styles:this.css.deployLineNode}).inject(this.content);var i=new Element("div",{styles:this.css.deployTitleNode,text:t}).inject(e);var s=new Element("div",{styles:this.css.deployvalueNode}).inject(e);return new Element("input",{styles:this.css.deployInputNode,type:"text"}).inject(s)},createLineSelect:function(t,e){var i=new Element("div",{styles:this.css.deployLineNode}).inject(this.content);var s=new Element("div",{styles:this.css.deployTitleNode,text:t}).inject(i);var n=new Element("div",{styles:this.css.deployvalueNode}).inject(i);var o=new Element("select").inject(n);new Element("option",{text:this.lp.yes,value:"yes"}).inject(o);new Element("option",{text:this.lp.no,value:"no",checked:e=="no"?true:false}).inject(o);return o},load:function(t){this.node=new Element("div",{styles:this.css.newDeployNode});this.content=new Element("div",{styles:this.css.deployContentNode}).inject(this.node);this.nameInputNode=this.createLine(this.lp.name);this.titleInputNode=this.createLine(this.lp.componentTitle);this.pathInputNode=this.createLine(this.lp.path);this.visibleInputNode=this.createLineSelect(this.lp.isVisible);this.allowList=new MWF.xApplication.Setting.UIModuleDocument.Deploy.Select(this.deployment,this.content,this.lp.allowList);this.denyList=new MWF.xApplication.Setting.UIModuleDocument.Deploy.Select(this.deployment,this.content,this.lp.denyList);this.okAction=new Element("div",{styles:this.css.deployOkAction,text:this.lp.add}).inject(this.content);this.okAction.addEvent("click",function(){var t=this.getComponentData();if(!t.name||!t.title||!t.path){this.deployment.app.notice(this.lp.noInputInfor,"error");return false}else{this.deployment.actions.createComponent(t,function(){this.deployment.app.notice(this.lp.deploySuccess,"success");this.page.closeTab();this.deployment.appPage.showTabIm();this.deployment.components.push(new MWF.xApplication.Setting.UIModuleDocument.UserComponent(t,this.deployment,true))}.bind(this))}}.bind(this));this.page=this.tab.addTab(this.node,t,true);this.page.showTabIm()},getComponentData:function(){var t=this.visibleInputNode.options[this.visibleInputNode.selectedIndex].value;var e={name:this.nameInputNode.get("value"),title:this.titleInputNode.get("value"),path:this.pathInputNode.get("value"),visible:t=="yes"?true:false,iconPath:"appicon.png",widgetName:"",widgetTitle:"",widgetIconPath:"",widgetStart:false,widgetVisible:false,allowList:this.allowList.list,denyList:this.denyList.list,controllerList:[]};return e}});MWF.xApplication.Setting.UIModuleDocument.DeployEdit=new Class({Extends:MWF.xApplication.Setting.UIModuleDocument.Deploy,initialize:function(t,e,i){this.deployment=i;this.component=e;this.css=this.deployment.css;this.tab=this.deployment.tab;this.lp=this.deployment.lp;this.data=t;this.load(this.lp.modify);this.setValues()},setValues:function(){this.nameInputNode.set("value",this.data.name);this.titleInputNode.set("value",this.data.title);this.pathInputNode.set("value",this.data.path);if(this.data.visible){this.visibleInputNode.getFirst("option").set("checked",true)}else{this.visibleInputNode.getLast("option").set("checked",true)}this.allowList.setList(this.data.allowList);this.denyList.setList(this.data.denyList);this.okAction.set("text",this.lp.modify);this.okAction.removeEvents("click");this.okAction.addEvent("click",function(){var t=this.getComponentData();if(!t.name||!t.title||!t.path){this.deployment.app.notice(this.lp.noInputInfor,"error");return false}else{this.deployment.actions.updateComponent(this.data.id,t,function(){this.deployment.app.notice(this.lp.modifySuccess,"success");this.page.closeTab();this.deployment.appPage.showTabIm();t.id=this.data.id;this.component.reload(t)}.bind(this))}}.bind(this))}});MWF.xApplication.Setting.UIModuleDocument.Deploy.Select=new Class({initialize:function(t,e,i){this.deployment=t;this.css=this.deployment.css;this.list=[];var s=new Element("div",{styles:this.css.deployLineNode}).inject(e);s.setStyle("height","40px");var n=new Element("div",{styles:this.css.deployTitleNode,text:i}).inject(s);var o=new Element("div",{styles:this.css.deployvalueNode}).inject(s);this.listNode=new Element("div",{styles:{float:"left"}}).inject(o);var a=new Element("div",{styles:this.css.actionNode,text:this.deployment.lp.selPerson}).inject(o);a.setStyles({"margin-top":"10px",float:"left"});a.addEvent("click",function(){var t={type:"",types:["person","group","role"],values:this.list,count:0,onComplete:function(t){this.list=[];t.each(function(t){this.list.push(t.data.distinguishedName)}.bind(this));this.listNode.empty();this.list.each(function(t){if(t){var e=t.substr(t.length-1,1);switch(e){case"G":new MWF.widget.O2Group({name:t},this.listNode,{style:"application"});break;case"R":new MWF.widget.O2Role({name:t},this.listNode,{style:"application"});break;default:new MWF.widget.O2Person({name:t},this.listNode,{style:"application"})}}}.bind(this))}.bind(this)};var e=new MWF.O2Selector(this.deployment.app.content,t)}.bind(this))},setList:function(t){this.list=t;this.list.each(function(t){if(t)new MWF.widget.O2Person({name:t},this.listNode,{style:"application"})}.bind(this))}});