| 1 |
- MWF.xApplication.Forum.TopNode=new Class({Extends:MWF.widget.Common,Implements:[Options,Events],options:{style:"default",settingEnable:false,logoutEnable:true,naviModeEnable:false},initialize:function(t,e,s,i){this.setOptions(i);this.container=t;this.app=e;this.lp=e.lp;this.restActions=e.restActions;this.access=e.access;this.explorer=s;this.userName=layout.desktop.session.user.distinguishedName||"";this.path="/x_component_Forum/$TopNode/";this.cssPath="/x_component_Forum/$TopNode/"+this.options.style+"/css.wcss";this._loadCss()},load:function(){this.createTopNode()},openMainPage:function(){if(this.app.inBrowser||this.options.naviMode){this.app.clearContent();if(this.app.node)this.app.node.destroy();MWF.xDesktop.requireApp("Forum","MainInContainer",null,false);var t=new MWF.xApplication.Forum.MainInContainer(this.app.desktop,{hasTop:true,hasBreadCrumb:true,naviMode:false,autoWidth:false},this.app.content,this.app.content,this.app.content);t.inBrowser=this.app.inBrowser;t.window=this.app.window;t.taskitem=this.app.taskitem;t.load();this.app.setTitle("论坛首页")}else{var e="Forum";if(this.app.desktop.apps[e]){var s=this.app.desktop.apps[e];s.setCurrent();s.clearContent();s.loadApplicationLayout()}else{this.app.desktop.openApplication(null,"Forum",{appId:e});this.app.close()}}},createTopNode:function(){this.topContainerNode=new Element("div.topContainerNode",{styles:this.css.topContainerNode}).inject(this.container);this.topNode=new Element("div.topNode",{styles:this.css.topNode}).inject(this.topContainerNode);this.topMainPageNode=new Element("div.topMainPageNode",{styles:{cursor:"pointer"}}).inject(this.topNode);this.topMainPageNode.addEvent("click",function(){this.openMainPage()}.bind(this));this.restActions.getBBSName(function(t){var e=t.data;if(e.configValue&&e.configValue!=""&&e.configValue!="O2社区"){this.topTextNode=new Element("div.topTextNode",{styles:this.css.topTextNode,text:e.configValue}).inject(this.topMainPageNode)}else{this.topIconNode=new Element("div",{styles:this.css.topIconNode}).inject(this.topMainPageNode)}}.bind(this),null,false);this.topContentNode=new Element("div",{styles:this.css.topContentNode}).inject(this.topNode);if(this.access.isAnonymous()){if(this.access.signUpMode!="disable"){this.signupNode=new Element("div",{styles:this.css.signupNode}).inject(this.topContentNode);this.signupTextNode=new Element("div",{styles:this.css.signupTextNode,text:this.lp.signup}).inject(this.signupNode);this.signupNode.addEvent("click",function(){this.openSignUpForm()}.bind(this));new Element("div",{styles:this.css.topSepNode,text:"|"}).inject(this.topContentNode)}this.loginNode=new Element("div",{styles:this.css.loginNode}).inject(this.topContentNode);this.loginTextNode=new Element("div",{styles:this.css.loginTextNode,text:this.lp.login}).inject(this.loginNode);this.loginNode.addEvent("click",function(){this.openLoginForm()}.bind(this));if(this.options.naviModeEnable){new Element("div",{styles:this.css.topSepNode,text:"|"}).inject(this.topContentNode);this.loadNaviNode()}}else{if(this.app.inBrowser&&this.options.logoutEnable){this.logoutNode=new Element("div",{styles:this.css.logoutNode}).inject(this.topContentNode);this.logoutTextNode=new Element("div",{styles:this.css.logoutTextNode,text:this.lp.logout}).inject(this.logoutNode);this.logoutNode.addEvent("click",function(){this.logout()}.bind(this));new Element("div",{styles:this.css.topSepNode,text:"|"}).inject(this.topContentNode)}if(this.options.settingEnable){this.settingNode=new Element("div",{styles:this.css.settingNode}).inject(this.topContentNode);this.settingTextNode=new Element("div",{styles:this.css.settingTextNode,text:this.lp.setting,title:"论坛设置"}).inject(this.settingNode);this.settingNode.addEvent("click",function(){this.app.openSetting()}.bind(this))}if(this.options.settingEnable){new Element("div",{styles:this.css.topSepNode,text:"|"}).inject(this.topContentNode)}if(this.options.naviModeEnable){this.loadNaviNode();new Element("div",{styles:this.css.topSepNode,text:"|"}).inject(this.topContentNode)}this.personNode=new Element("div",{styles:this.css.personNode}).inject(this.topContentNode);this.personTextNode=new Element("div",{styles:this.css.personTextNode,text:(this.userName||"").split("@")[0]+",您好!",title:"点击查看个人中心"}).inject(this.personNode);this.personNode.addEvent("click",function(){this.openPerson(this.userName)}.bind(this))}this.searchDiv=new Element("div.searchDiv",{styles:this.css.searchDiv}).inject(this.topNode);this.searchInput=new Element("input.searchInput",{styles:this.css.searchInput,value:this.lp.searchKey,title:this.lp.searchTitle}).inject(this.searchDiv);var t=this;this.searchInput.addEvents({focus:function(){if(this.value==t.lp.searchKey)this.set("value","")},blur:function(){if(!this.value)this.set("value",t.lp.searchKey)},keydown:function(t){if(t.code==13){this.search();t.preventDefault()}}.bind(this)});this.searchAction=new Element("div.searchAction",{styles:this.css.searchAction}).inject(this.searchDiv);this.searchAction.addEvents({click:function(){this.search()}.bind(this),mouseover:function(t){this.searchAction.setStyles(this.css.searchAction_over2);t.stopPropagation()}.bind(this),mouseout:function(){this.searchAction.setStyles(this.css.searchAction)}.bind(this)});this.searchDiv.addEvents({mouseover:function(){this.searchInput.setStyles(this.css.searchInput_over);this.searchAction.setStyles(this.css.searchAction_over)}.bind(this),mouseout:function(){this.searchInput.setStyles(this.css.searchInput);this.searchAction.setStyles(this.css.searchAction)}.bind(this)});this._createTopContent()},loadNaviNode:function(){if(this.options.naviModeEnable){this.naviNode=new Element("div",{styles:this.css.settingNode}).inject(this.topContentNode);if(this.options.naviMode){this.closeNaviTextNode=new Element("div",{styles:this.css.settingTextNode,text:"关闭导航",title:"关闭导航"}).inject(this.naviNode);this.closeNaviTextNode.addEvent("click",function(){this.app.closeNavi()}.bind(this))}else{this.naviTextNode=new Element("div",{styles:this.css.settingTextNode,text:"导航",title:"导航布局"}).inject(this.naviNode);this.naviTextNode.addEvent("click",function(){this.app.openNavi()}.bind(this))}}},_createTopContent:function(){},getSystemSetting:function(t,e,s){this.restActions.getSystemSettingByCode({configCode:t},function(t){if(e)e(t.data)}.bind(this),null,s)},search:function(){var t=this.searchInput.get("value");if(t==""||t==this.lp.searchKey){this.notice(this.lp.noSearchContentNotice,"error");return}var e="ForumSearch";if(this.app.options.name=="ForumSearch"){this.app.search(t)}else if(this.app.desktop.apps[e]&&!this.app.inBrowser){var s=this.app.desktop.apps[e];s.setCurrent();s.search(t)}else{this.app.desktop.openApplication(null,"ForumSearch",{appId:e,searchContent:t})}},openPerson:function(t){var e="ForumPerson"+t;if(this.app.desktop.apps[e]){this.app.desktop.apps[e].setCurrent()}else{this.app.desktop.openApplication(null,"ForumPerson",{personName:t,appId:e})}},openLoginForm:function(){MWF.require("MWF.xDesktop.Authentication",null,false);var t=new MWF.xDesktop.Authentication({style:"application",onPostOk:function(){window.location.reload()}},this.app);t.openLoginForm({hasMask:true})},openSignUpForm:function(){MWF.require("MWF.xDesktop.Authentication",null,false);var t=new MWF.xDesktop.Authentication({style:"application",onPostOk:function(){}},this.app);t.openSignUpForm({hasMask:true})},logout:function(){MWF.Actions.get("x_organization_assemble_authentication").logout(function(){layout.desktop.session.user.distinguishedName="anonymous";this.app.clearContent();this.app.loadApplicationContent();this.openLoginForm()}.bind(this))}});
|