MWF.xApplication.AppCenter.Main=new Class({Extends:MWF.xApplication.Common.Main,Implements:[Options,Events],options:{style:"default",name:"AppCenter",icon:"icon.png",width:"1000",height:"700",title:MWF.xApplication.AppCenter.LP.title},onQueryLoad:function(){this.lp=MWF.xApplication.AppCenter.LP;this.actions=MWF.Actions.get("x_program_center")},loadApplication:function(callback){this.components=[];this.loadTitle();this.contentNode=new Element("div",{styles:this.css.contentNode}).inject(this.content);this.contentModuleArea=new Element("div",{styles:this.css.contentModuleArea}).inject(this.contentNode);this.setContentSize();this.addEvent("resize",this.setContentSize);this.loadModuleContent()},loadTitle:function(){this.titleBar=new Element("div",{styles:this.css.titleBar}).inject(this.content);if(MWF.AC.isProcessPlatformCreator()){this.createApplicationNode=new Element("div",{styles:this.css.createApplicationNode,title:this.lp.export}).inject(this.titleBar);this.createApplicationNode.addEvent("click",function(){this.createApplication()}.bind(this))}this.taskTitleTextNode=new Element("div",{styles:this.css.titleTextNode,text:this.lp.title}).inject(this.titleBar)},setContentSize:function(){var size=this.content.getSize();var titleSize=this.titleBar.getSize();var height=size.y-titleSize.y;this.contentNode.setStyles({height:""+height+"px",overflow:"auto"});var max=size.x*.98;var n=(size.x/320).toInt();var x=n*320;while(x>max){n--;x=n*320}this.contentModuleArea.setStyle("width",""+x+"px")},loadModuleContent:function(){this.actions.listStructure(function(json){this.moduleList=json.data;if(this.moduleList.length){this.moduleList.each(function(module){new MWF.xApplication.AppCenter.Module(this,module)}.bind(this))}else{this.createEmptyElement()}}.bind(this))},createEmptyElement:function(){this.emptyNode=new Element("div",{styles:this.css.emptyNode}).inject(this.contentModuleArea);if(MWF.AC.isProcessPlatformCreator()){this.emptyNode.set("text",this.lp.emptyModuleManagerInfo);this.emptyNode.addEvent("click",function(){this.createApplication()}.bind(this))}else{this.emptyNode.set("text",this.lp.emptyModuleInfo)}},createApplication:function(){new MWF.xApplication.AppCenter.Exporter(this)}});MWF.xApplication.AppCenter.Module=new Class({initialize:function(app,data){this.app=app;this.data=data;this.json=JSON.decode(this.data.data);this.json.structure=this.data.id;this.lp=this.app.lp;this.css=this.app.css;this.content=this.app.contentModuleArea;this.load()},load:function(){this.node=new Element("div",{styles:this.css.moduleNode}).inject(this.content);this.iconNode=new Element("div",{styles:this.css.moduleIconNode}).inject(this.node);this.contentNode=new Element("div",{styles:this.css.moduleContentNode}).inject(this.node);this.nameNode=new Element("div",{styles:this.css.moduleNameNode}).inject(this.contentNode);this.categoryNode=new Element("div",{styles:this.css.moduleCategoryNode}).inject(this.contentNode);this.descriptionNode=new Element("div",{styles:this.css.moduleDescriptionNode}).inject(this.contentNode);this.actionNode=new Element("div",{styles:this.css.moduleActionNode}).inject(this.contentNode);this.nameNode.set("text",this.data.name);this.categoryNode.set("text",this.json.category);this.descriptionNode.set("text",this.data.description);this.actionNode.set("text",this.lp.output);this.loadEvent()},loadEvent:function(){this.actionNode.addEvent("click",function(e){this.outputApp();e.stopPropagation()}.bind(this));this.node.addEvent("click",function(){this.openApp()}.bind(this))},outputApp:function(){new MWF.xApplication.AppCenter.Exporter(this.app,this.json)},openApp:function(){}});MWF.xApplication.AppCenter.Exporter=new Class({initialize:function(app,selectData){this.app=app;this.lp=this.app.lp;this.css=this.app.css;this.structure=null;this.dlg=null;this.selectData=selectData||{structure:"",name:"",description:"",processPlatformList:[],portalList:[],queryList:[],cmsList:[]};this.setp=1;this.load()},loadStructure:function(){this.structureRes=this.app.actions.outputStructure(function(json){this.structure=json.data;this.createContent()}.bind(this))},showDlg:function(callback){var position=this.app.createApplicationNode.getPosition(this.app.content);var size=this.app.contentNode.getSize();var width=size.x*.9;if(width>600)width=600;var height=size.y*.9;var x=(size.x-width)/2;var y=(size.y-height)/2;var _self=this;MWF.require("MWF.xDesktop.Dialog",function(){this.dlg=new MWF.xDesktop.Dialog({title:this.lp.exportTitle,style:"appCenter",top:y+20,left:x,fromTop:position.y,fromLeft:position.x,width:width,height:height,html:"",maskNode:this.app.content,container:this.app.content,buttonList:[{text:this.lp.next,action:function(){_self.next()}},{text:this.lp.prev,action:function(){_self.prev()}},{text:this.lp.ok,action:function(){_self.output()}},{text:this.lp.cancel,action:function(){this.close();if(_self.structureRes){if(_self.structureRes.isRunning()){_self.structureRes.cancel()}_self.structureRes=null}MWF.release(_self)}}],onPostShow:function(){if(callback)callback()}.bind(this)});this.dlg.show()}.bind(this))},checkInput:function(){var name=this.moduleNameInput.get("value");var category=this.moduleCategoryInput.get("value");var description=this.moduleDescriptionInput.get("value");if(!name){this.app.notice(this.lp.noNameError,"error");return false}if(!this.selectData.processPlatformList.length&&!this.selectData.portalList.length&&!this.selectData.queryList.length&&!this.selectData.cmsList.length){this.app.notice(this.lp.noModuleError,"error");return false}this.selectData.name=name;this.selectData.category=category;this.selectData.description=description;return true},next:function(){if(this.setp==1){if(this.checkInput())this.showStatus()}},prev:function(){if(this.step==2){if(this.statusContentNode){this.statusContentNode.destroy();this.statusContentNode=null}this.contentNode.setStyle("display","block");this.okBut.setStyle("display","none");this.prevBut.setStyle("display","nonde");this.nextBut.setStyle("display","inline")}},output:function(){if(this.step==2){if(this.checkInput()){this.app.actions.output(this.selectData,function(json){var uri=this.app.actions.action.actions["download"].uri;uri=uri.replace("{flag}",json.data.flag);this.dlg.close();window.open(this.app.actions.action.address+uri);MWF.release(this)}.bind(this))}}},showStatus:function(){this.statusContentNode=new Element("div",{styles:this.css.moduleSelectContentAreaNode}).inject(this.contentNode,"after");this.statusTitleNode=new Element("div",{styles:this.css.moduleSelectTitleNode,text:this.lp.selected}).inject(this.statusContentNode);this.statusInfoNode=new Element("div",{styles:this.css.moduleSelectContentNode}).inject(this.statusContentNode);var size=this.contentNode.getSize();var position=this.contentNode.getPosition(this.contentNode.getOffsetParent());var css={height:""+size.y+"px",width:""+size.x+"px",top:""+position.y+"px",left:""+position.x+"px","background-color":"#eeeeee"};this.statusContentNode.setStyles(css);var titleSize=this.statusTitleNode.getSize();var h=size.y-titleSize.y-20;this.statusInfoNode.setStyle("height",""+h+"px");this.showStatusList();this.contentNode.setStyle("display","none");this.okBut.setStyle("display","inline");this.prevBut.setStyle("display","inline");this.nextBut.setStyle("display","none");this.step=2},showStatusList:function(){this.showStatusItemList("processPlatformList",["processList","formList","applicationDictList","scriptList"]);this.showStatusItemList("portalList",["pageList","scriptList","widgetList"]);this.showStatusItemList("cmsList",["categoryInfoList","formList","appDictList","scriptList"]);this.showStatusItemList("queryList",["viewList","statList","revealList"])},showStatusItemList:function(listName,subList){this.selectData[listName].each(function(app){new Element("div",{styles:this.css.moduleStatusInforNode1,text:"["+this.lp[listName]+"] "+(app.name||app.appName)}).inject(this.statusInfoNode);subList.each(function(name){if(app[name]&&app[name].length)app[name].each(function(process){new Element("div",{styles:this.css.moduleStatusInforNode2,text:"["+this.lp[name]+"] "+(process.name||process.categoryName)}).inject(this.statusInfoNode)}.bind(this))}.bind(this))}.bind(this))},load:function(){this.showDlg(function(){this.createLayout();this.loadStructure()}.bind(this))},createLayout:function(){this.nextBut=this.dlg.button.getFirst("input");this.prevBut=this.nextBut.getNext("input");this.okBut=this.prevBut.getNext("input");if(this.setp==1){this.okBut.setStyle("display","none");this.prevBut.setStyle("display","none")}this.node=new Element("div",{styles:this.css.moduleSetupContentNode}).inject(this.dlg.content);this.titleNode=new Element("div",{styles:this.css.moduleSetupTitleNode}).inject(this.node);var iconNode=new Element("div",{styles:this.css.moduleIconNode}).inject(this.titleNode);var contentNode=new Element("div",{styles:this.css.moduleSetupTitleContentNode}).inject(this.titleNode);var nameNode=new Element("div",{styles:this.css.moduleSetupNameNode}).inject(contentNode);var categoryNode=new Element("div",{styles:this.css.moduleSetupCategoryNode}).inject(contentNode);var descriptionNode=new Element("div",{styles:this.css.moduleSetupDescriptionNode}).inject(contentNode);var nameTitleNode=new Element("div",{styles:this.css.moduleInputTitleNode,text:this.lp.moduleName}).inject(nameNode);var nameContentNode=new Element("div",{styles:this.css.moduleInputContentNode}).inject(nameNode);this.moduleNameInput=new Element("input",{styles:this.css.moduleInputNode}).inject(nameContentNode);var categoryTitleNode=new Element("div",{styles:this.css.moduleInputTitleNode,text:this.lp.moduleCategory}).inject(categoryNode);var categoryContentNode=new Element("div",{styles:this.css.moduleInputContentNode}).inject(categoryNode);this.moduleCategoryInput=new Element("input",{styles:this.css.moduleInputNode}).inject(categoryContentNode);var descriptionTitleNode=new Element("div",{styles:this.css.moduleInputTitleNode,text:this.lp.moduleDescription}).inject(descriptionNode);var descriptionContentNode=new Element("div",{styles:this.css.moduleInputContentNode}).inject(descriptionNode);this.moduleDescriptionInput=new Element("input",{styles:this.css.moduleInputNode}).inject(descriptionContentNode);this.moduleNameInput.set("value",this.selectData.name);this.moduleCategoryInput.set("value",this.selectData.category);this.moduleDescriptionInput.set("value",this.selectData.description);this.contentNode=new Element("div",{styles:this.css.moduleSetupCompareContentNode}).inject(this.node);this.setListContentSize();this.createLoading(this.contentNode)},setListContentSize:function(){var size=this.dlg.content.getSize();var h=size.y;var titleH=this.titleNode.getSize().y+10;var contentH=h-titleH-10;this.contentNode.setStyle("height",""+contentH+"px")},createLoading:function(node){this.nextBut.setStyle("display","none");this.loadingAreaNode=new Element("div",{styles:this.css.moduleLoadingAreaNode}).inject(node);var img=new Element("img",{styles:this.css.moduleLoadingImgNode,src:this.app.path+this.app.options.style+"/icon/loading.gif"}).inject(this.loadingAreaNode)},clearLoading:function(){if(this.loadingAreaNode){this.loadingAreaNode.destroy();this.loadingAreaNode=null}this.nextBut.setStyle("display","inline")},createContent:function(){this.clearLoading();this.createListArea();this.loadProcessList();this.loadPortalList();this.loadCMSList();this.loadQueryList()},createListArea:function(){this.contentAreaNode=new Element("div").inject(this.contentNode);this.processAreaTitle=new Element("div",{styles:this.css.moduleSetupListAreaTitleNode,text:this.lp.process}).inject(this.contentAreaNode);this.processAreaContent=new Element("div",{styles:this.css.moduleSetupListAreaContentNode}).inject(this.contentAreaNode);this.portalAreaTitle=new Element("div",{styles:this.css.moduleSetupListAreaTitleNode,text:this.lp.portal}).inject(this.contentAreaNode);this.portalAreaContent=new Element("div",{styles:this.css.moduleSetupListAreaContentNode}).inject(this.contentAreaNode);this.cmsAreaTitle=new Element("div",{styles:this.css.moduleSetupListAreaTitleNode,text:this.lp.cms}).inject(this.contentAreaNode);this.cmsAreaContent=new Element("div",{styles:this.css.moduleSetupListAreaContentNode}).inject(this.contentAreaNode);this.queryAreaTitle=new Element("div",{styles:this.css.moduleSetupListAreaTitleNode,text:this.lp.query}).inject(this.contentAreaNode);this.queryAreaContent=new Element("div",{styles:this.css.moduleSetupListAreaContentNode}).inject(this.contentAreaNode)},loadProcessList:function(){this.processListNodes=[];this.structure.processPlatformList.each(function(item){var postData=null;for(var i=0;i