| 1 |
- MWF.require("MWF.xAction.org.express.RestActions",null,false);MWF.xDesktop.requireApp("Selector","package",null,false);MWF.require("MWF.widget.O2Identity",null,false);MWF.xApplication.Deployment.Main=new Class({Extends:MWF.xApplication.Common.Main,Implements:[Options,Events],options:{style:"default",name:"Deployment",icon:"icon.png",width:"1000",height:"660",title:MWF.xApplication.Deployment.LP.title},onQueryLoad:function(){this.lp=MWF.xApplication.Deployment.LP;this.actions=MWF.Actions.get("x_component_assemble_control");var t=new MWF.xAction.org.express.RestActions;this.explorer={actions:t,app:{lp:this.lp}}},loadApplication:function(t){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.addEvent("resize",function(){this.setContentHeight()}.bind(this))}.bind(this));this.loadApplicationContent()},loadTitle:function(){this.titleBar=new Element("div",{styles:this.css.titleBar}).inject(this.content);this.taskTitleTextNode=new Element("div",{styles:this.css.titleTextNode,text:this.lp.title}).inject(this.titleBar)},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.Deployment.Component(t,this))}.bind(this));this.actions.listComponent(function(e){e.data.each(function(t,e){this.components.push(new MWF.xApplication.Deployment.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.Deployment.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.notice("请输入应用名称和应用标题","error",this.appContentNode)}else if(!s.files.length){this.notice("请上传文件的ZIP包","error",this.appContentNode)}else{var l=new FormData;l.append("file",s.files[0]);l.append("name",n);l.append("title",o);l.append("path","/res/mwf4/package/xApplication");var a=new COMMON.Browser.Request;a.open("POST","jaxrs/application",false);var d=function(){if(a.readyState!=4)return;var t=a.status;t=t==1223?204:t;if(t>=200&&t<300){this.notice("部署成功","success",this.appContentNode);this.appListNode.empty();this.loadApps()}}.bind(this);a.onreadystatechange=d;a.send(l)}},setContentHeight:function(t){var e=this.content.getSize();var i=this.titleBar.getSize();var s=this.tab.tabNodeContainer.getSize();var n=e.y-s.y-i.y;this.tab.pages.each(function(t){t.contentNodeArea.setStyles({height:""+n+"px",overflow:"auto"})})}});MWF.xApplication.Deployment.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=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);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.desktop.openApplication(t,this.data.path)}.bind(this)})}}else{}},loadSystemFlag:function(){}});MWF.xApplication.Deployment.UserComponent=new Class({Extends:MWF.xApplication.Deployment.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.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.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=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);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.Deployment.DeployEdit(this.data,this,this.deployment)},removeComponent:function(){this.deployment.actions.removeComponent(this.data.id,function(){this.deployment.notice(this.deployment.lp.removeComponentOk,"success");this.deployment.components.erase(this);this.node.destroy();MWF.release(this)}.bind(this))}});MWF.xApplication.Deployment.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.widgetNameInputNode=this.createLine(this.lp.widgetName);this.widgetTitleInputNode=this.createLine(this.lp.widgetTitle);this.widgetStartInputNode=this.createLineSelect(this.lp.widgetStart,"no");this.widgetVisibleInputNode=this.createLineSelect(this.lp.widgetVisible);this.allowList=new MWF.xApplication.Deployment.Deploy.Select(this.deployment,this.content,this.lp.allowList);this.denyList=new MWF.xApplication.Deployment.Deploy.Select(this.deployment,this.content,this.lp.denyList);this.controllerList=new MWF.xApplication.Deployment.Deploy.Select(this.deployment,this.content,this.lp.controllerList);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.notice(this.lp.noInputInfor,"error");return false}else{this.deployment.actions.createComponent(t,function(){this.deployment.notice(this.lp.deploySuccess,"success");this.page.closeTab();this.deployment.appPage.showTabIm();this.deployment.components.push(new MWF.xApplication.Deployment.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=this.widgetStartInputNode.options[this.widgetStartInputNode.selectedIndex].value;var i=this.widgetVisibleInputNode.options[this.widgetVisibleInputNode.selectedIndex].value;var s={name:this.nameInputNode.get("value"),title:this.titleInputNode.get("value"),path:this.pathInputNode.get("value"),visible:t=="yes"?true:false,iconPath:"appicon.png",widgetName:this.widgetNameInputNode.get("value"),widgetTitle:this.widgetTitleInputNode.get("value"),widgetIconPath:"widgeticon.png",widgetStart:e=="yes"?true:false,widgetVisible:i=="yes"?true:false,allowList:this.allowList.list,denyList:this.denyList.list,controllerList:this.controllerList.list};return s}});MWF.xApplication.Deployment.DeployEdit=new Class({Extends:MWF.xApplication.Deployment.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.widgetNameInputNode.set("value",this.data.widgetName);this.widgetTitleInputNode.set("value",this.data.widgetTitle);this.allowList.setList(this.data.allowList);this.denyList.setList(this.data.denyList);this.controllerList.setList(this.data.controllerList);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.notice(this.lp.noInputInfor,"error");return false}else{this.deployment.actions.updateComponent(this.data.id,t,function(){this.deployment.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.Deployment.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 l=new Element("div",{styles:this.css.actionNode,text:this.deployment.lp.selPerson}).inject(o);l.setStyles({"margin-top":"10px",float:"left"});l.addEvent("click",function(){var t={type:"person",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)new MWF.widget.O2Person({name:t},this.listNode,{style:"application"})}.bind(this))}.bind(this)};var e=new MWF.O2Selector(this.deployment.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))}});
|