| 1 |
- MWF.xDesktop.requireApp("Setting","servers.DataServers",null,false);MWF.xApplication.Setting.mobile=MWF.xApplication.Setting.mobile||{};MWF.xApplication.Setting.mobile.ServerSetting=new Class({Extends:MWF.xApplication.Setting.servers.DataServer.Document,Implements:[Events],initialize:function(e){this.explorer=e;this.app=this.explorer.app;this.actions=this.app.actions;this.css=this.app.css;this.content=this.explorer.serverSettingContent;this.page=this.app.mobilePage;this.json=null;this.webServers=[];this.applicationServers=[];this.load()},load:function(){this.node=new Element("div",{styles:this.css.centerServerDocumentNode}).inject(this.content);this.createActions();this.centerServerNode=new Element("div",{styles:{overflow:"hidden","border-bottom":"0px solid #999"}}).inject(this.node);this.webServerNode=new Element("div",{styles:{overflow:"hidden","border-bottom":"0px solid #999"}}).inject(this.node);this.applicationServerNode=new Element("div",{styles:{overflow:"hidden","border-bottom":"0px solid #999"}}).inject(this.node);this.centerServerTitleNode=new Element("div",{styles:this.css.mobileServerTitleNode,text:"Center Server"}).inject(this.centerServerNode);this.webServerTitleNode=new Element("div",{styles:this.css.mobileServerTitleNode,text:"Web Server"}).inject(this.webServerNode);this.applicationServerTitleNode=new Element("div",{styles:this.css.mobileServerTitleNode,text:"Applicaton Server"}).inject(this.applicationServerNode);this.centerServerListNode=new Element("div",{styles:this.css.mobileCenterServerListNode}).inject(this.centerServerNode);this.webServerListNode=new Element("div",{styles:this.css.mobileServerListNode}).inject(this.webServerNode);this.applicationServerListNode=new Element("div",{styles:this.css.mobileServerListNode}).inject(this.applicationServerNode);this.app.actions.getCenterServer(function(e){this.json=e.data;this.createCenterForm()}.bind(this));this.actions.listWebServer(function(e){e.data.each(function(e){this.webServers.push(new MWF.xApplication.Setting.mobile.ServerSetting.WebServer(this,e))}.bind(this))}.bind(this));this.actions.listApplicationServer(function(e){e.data.each(function(e){this.applicationServers.push(new MWF.xApplication.Setting.mobile.ServerSetting.ApplicationServer(this,e))}.bind(this))}.bind(this))},createActions:function(){this.actionNode=new Element("div",{styles:this.css.applicationServerDocumentActionNode}).inject(this.node);this.saveAction=new Element("div",{styles:this.css.applicationServerDocumentSaveNode}).inject(this.actionNode);this.saveAction.addEvents({mouseover:function(){this.saveAction.setStyles(this.css.applicationServerDocumentSaveNode_over)}.bind(this),mouseout:function(){this.saveAction.setStyles(this.css.applicationServerDocumentSaveNode)}.bind(this),mousedown:function(){this.saveAction.setStyles(this.css.applicationServerDocumentSaveNode_down)}.bind(this),mouseup:function(){this.saveAction.setStyles(this.css.applicationServerDocumentSaveNode_over)}.bind(this),click:function(e){this.saveDocument()}.bind(this)})},createCenterForm:function(){this.inforAreaNode=new Element("div",{styles:this.css.applicationServerDocumentInforAreaNode}).inject(this.centerServerListNode);this.inforNode=new Element("div",{styles:this.css.dataServerDocumentInforNode}).inject(this.inforAreaNode);var e="<table cellSpacing='8px' width='90%' align='center'>"+"<tr><td width='160px'>proxyHost</td><td><input value='"+(this.json.proxyHost||"")+"'/></td></tr>"+"<tr><td>proxyPort</td><td><input value='"+(this.json.proxyPort||"")+"'/></td></tr>"+"</table>";this.inforNode.set("html",e);var t=this.inforNode.getElements("td");var i=this.inforNode.getElements("input");t.setStyles(this.css.applicationServerDocumentTdNode);i.setStyles(this.css.applicationServerDocumentInputNode)},checkSave:function(){var e=this.webServers.length+this.applicationServers.length+1;if(this.savedServers>=e){if(!this.errorServer.length){this.app.notice(this.app.lp.mobileServerSaveInfor,"success")}else{var t="";this.errorServer.each(function(e){t=t+"; \n"+e.server.json.name+": "+e.message}.bind(this));var i=this.app.lp.mobileServerSaveErrorInfor.replace(/{error}/,t);this.app.notice(i,"error")}}},saveDocument:function(){this.savedServers=0;this.errorServer=[];this.webServers.each(function(e){e.saveDocument(function(){this.savedServers++;this.checkSave()}.bind(this),function(e,t){this.savedServers++;this.errorServer.push({server:e,message:t});this.checkSave()}.bind(this))}.bind(this));this.applicationServers.each(function(e){e.saveDocument(function(){this.savedServers++;this.checkSave()}.bind(this),function(e,t){this.savedServers++;this.errorServer.push({server:e,message:t});this.checkSave()}.bind(this))}.bind(this));var e=this.inforNode.getElements("input");this.json.proxyHost=e[0].get("value");this.json.proxyPort=e[1].get("value");this.app.actions.updateCenterServer(this.json,function(){this.savedServers++;this.checkSave()}.bind(this),function(e){var t=JSON.decode(e.responseText);this.savedServers++;this.errorServer.push({server:{json:this.json},message:t.message});this.checkSave()}.bind(this))},destroy:function(){this.webServers.each(function(e){e.destroy()}.bind(this));this.applicationServers.each(function(e){e.destroy()}.bind(this));if(this.node)this.node.destroy();MWF.release(this)}});MWF.xApplication.Setting.mobile.ServerSetting.WebServer=new Class({initialize:function(e,t){this.setting=e;this.app=this.setting.app;this.actions=this.app.actions;this.css=this.app.css;this.json=t;this.content=this.setting.webServerListNode;this.load()},load:function(){this.node=new Element("div",{styles:this.css.mobileServerNode}).inject(this.content);this.createForm()},createForm:function(){this.inforAreaNode=new Element("div",{styles:this.css.applicationServerDocumentInforAreaNode}).inject(this.node);this.inforNode=new Element("div",{styles:this.css.dataServerDocumentInforNode}).inject(this.inforAreaNode);var e="<table cellSpacing='8px' width='90%' align='center'>"+"<tr><td width='160px'>name</td><td>"+(this.json.name||"")+"</td></tr>"+"<tr><td width='160px'>proxyHost</td><td><input value='"+(this.json.proxyHost||"")+"'/></td></tr>"+"<tr><td>proxyPort</td><td><input value='"+(this.json.proxyPort||"")+"'/></td></tr>"+"</table>";this.inforNode.set("html",e);var t=this.inforNode.getElements("td");var i=this.inforNode.getElements("input");t.setStyles(this.css.applicationServerDocumentTdNode);i.setStyles(this.css.applicationServerDocumentInputNode)},destroy:function(){if(this.node)this.node.destroy();MWF.release(this)},saveDocument:function(e,t){var i=this.inforNode.getElements("input");this.json.proxyHost=i[0].get("value");this.json.proxyPort=i[1].get("value");this.app.actions.updateWebServer(this.json.name,this.json,function(){if(e)e()}.bind(this),function(e){var i=JSON.decode(e.responseText);if(t)t.apply(this,[this,i.message])}.bind(this))}});MWF.xApplication.Setting.mobile.ServerSetting.ApplicationServer=new Class({Extends:MWF.xApplication.Setting.mobile.ServerSetting.WebServer,initialize:function(e,t){this.setting=e;this.app=this.setting.app;this.actions=this.app.actions;this.css=this.app.css;this.json=t;this.content=this.setting.applicationServerListNode;this.load()},saveDocument:function(e,t){var i=this.inforNode.getElements("input");this.json.proxyHost=i[0].get("value");this.json.proxyPort=i[1].get("value");this.app.actions.updateAppServer(this.json.name,this.json,function(){if(e)e()}.bind(this),function(e){var i=JSON.decode(e.responseText);if(t)t.apply(this,[this,i.message])}.bind(this))}});
|