| 1 |
- MWF.xApplication.Forum=MWF.xApplication.Forum||{};window.MWFForum=window.MWFForum||MWF.xApplication.Forum;MWF.require("MWF.widget.O2Identity",null,false);MWF.xDesktop.requireApp("Forum","Common",null,false);MWF.xDesktop.requireApp("Forum","Access",null,false);MWF.xDesktop.requireApp("Forum","ColumnTemplate",null,false);MWF.xDesktop.requireApp("Forum","TopNode",null,false);MWF.xDesktop.requireApp("Template","Explorer",null,false);MWF.xApplication.Forum.options={multitask:false,executable:true};MWF.xApplication.Forum.Main=new Class({Extends:MWF.xApplication.Common.Main,Implements:[Options,Events],options:{style:"default",name:"Forum",icon:"icon.png",width:"1230",height:"700",isResize:true,isMax:true,title:MWF.xApplication.Forum.LP.title},onQueryLoad:function(){this.lp=MWF.xApplication.Forum.LP},loadApplication:function(e){this.userName=layout.desktop.session.user.distinguishedName;this.restActions=MWF.Actions.get("x_bbs_assemble_control");this.path="/x_component_Forum/$Main/"+this.options.style+"/";this.createNode();this.loadApplicationContent()},loadController:function(e){this.access=new MWF.xApplication.Forum.Access(this.restActions,this.lp);if(e)e()},reload:function(){this.clearContent();if(this.explorer){this.openSetting(this.explorer.currentNaviItem.retrieve("index"))}else{this.loadApplicationLayout()}},isAdmin:function(){return this.access.isAdmin()},createNode:function(){this.content.setStyle("overflow","hidden");this.node=new Element("div",{styles:this.css.node}).inject(this.content)},loadApplicationContent:function(){this.loadController(function(){this.access.login(function(){if(this.status&&this.status.setting){this.openSetting(this.status.index)}else{this.loadApplicationLayout()}}.bind(this))}.bind(this))},loaNavi:function(e){this.naviNode=new Element("div.naviNode",{styles:this.css.naviNode}).inject(this.node);var t={id:""};if(this.status){t.id=this.status.id}this.navi=new MWF.xApplication.Forum.Navi(this,this.naviNode,t)},loadApplicationLayout:function(){this.contentContainerNode=new Element("div.contentContainerNode",{styles:this.css.contentContainerNode}).inject(this.node);this.createTopNode(false);this.createContainerNode()},createTopNode:function(e){var t=this.topObject=new MWF.xApplication.Forum.TopNode(this.contentContainerNode,this,this,{type:this.options.style,settingEnable:true,naviModeEnable:true,naviMode:e});t.load()},createContainerNode:function(){this.createContent()},createContent:function(){this.middleNode=new Element("div.middleNode",{styles:this.css.middleNode}).inject(this.contentContainerNode);this.setContentSizeFun=this.setContentSize.bind(this);this.addEvent("resize",this.setContentSizeFun);this.setContentSize();this.contentNode=new Element("div.contentNode",{styles:this.css.contentNode}).inject(this.middleNode);this.createRecommand();this.restActions.listCategoryAll(function(e){if(!e.data)e.data=[];e.data.each(function(e,t){if(e.forumStatus!=this.lp.invalid){this._createCategory(e,t)}}.bind(this))}.bind(this))},setContentSize:function(){var e={x:0,y:0};var t=this.node.getSize();var n=this.contentContainerNode.getStyle("padding-top").toFloat();var i=this.contentContainerNode.getStyle("padding-bottom").toFloat();var o=t.y-e.y-n-i;this.contentContainerNode.setStyle("height",""+o+"px")},createRecommand:function(){var e=new Element("div.recommandNode",{styles:this.css.recommandNode}).inject(this.contentNode);var t=new Element("div.recommandTopNode",{styles:this.css.recommandTopNode}).inject(e);var n=new Element("div.recommandTopTitleNode",{styles:this.css.recommandTopTitleNode,text:this.lp.recommandSubject}).inject(t);var i=new MWF.xApplication.Forum.Main.RecommandView(e,this,this,{templateUrl:this.path+"listItemRecommand.json"},{lp:this.lp});i.load()},_createCategory:function(e,t){var n=new Element("div.categoryNode",{styles:this.css.categoryNode}).inject(this.contentNode);var i=new Element("div.categoryTopNode",{styles:this.css.categoryTopNode}).inject(n);var o=new Element("div.categoryTopTitleNode",{styles:this.css.categoryTopTitleNode,text:e.forumName}).inject(i);o.addEvents({click:function(e){this.obj.openCategory(this.data)}.bind({obj:this,data:e})});o.setStyle("color",e.forumColor||this.lp.defaultForumColor);var s=new Element("div.categoryTopRightNode",{styles:this.css.categoryTopRightNode2}).inject(i);this.createPersonNode(s,e.forumManagerName);new Element("div.categoryTopRightNode",{styles:this.css.categoryTopRightNode,text:this.lp.categoryManager+":"}).inject(i);var a=new MWF.xApplication.Forum.ColumnTemplate(n,this,this,{type:e.indexListStyle||"type_1_0",categoryId:e.id});a.load()},clearContent:function(){if(this.explorer)this.explorer.destroy();this.explorer=null;if(this.setContentSizeFun)this.removeEvent("resize",this.setContentSizeFun);if(this.scrollBar&&this.scrollBar.scrollVAreaNode)this.scrollBar.scrollVAreaNode.destroy();if(this.scrollBar)delete this.scrollBar;if(this.contentContainerNode){this.contentContainerNode.destroy()}},openCategory:function(e){var t="ForumCategory"+e.id;if(this.desktop.apps[t]){this.desktop.apps[t].setCurrent()}else{this.desktop.openApplication(null,"ForumCategory",{categoryId:e.id,appId:t})}},openView:function(){},openNavi:function(){MWF.xDesktop.requireApp("Forum","NaviMode",null,false);this.clearContent();this.contentContainerNode=new Element("div.contentContainerNode",{styles:this.css.contentContainerNode}).inject(this.node);this.createTopNode(true);this.middleNode=new Element("div.middleNode",{styles:this.css.middleNode}).inject(this.contentContainerNode);this.contentNode=new Element("div.contentNode",{styles:this.css.contentNode}).inject(this.middleNode);this.navi=new MWF.xApplication.Forum.NaviMode(this,this.contentNode,{});this.navi.load()},closeNavi:function(){if(this.navi)this.navi.close()},openSetting:function(e){MWF.xDesktop.requireApp("Forum","Setting",null,false);this.clearContent();this.contentContainerNode=new Element("div.contentContainerNode",{styles:this.css.contentContainerNode}).inject(this.node);this.createTopNode(false);this.middleNode=new Element("div.middleNode",{styles:this.css.middleNode}).inject(this.contentContainerNode);this.contentNode=new Element("div.contentNode",{styles:this.css.contentNode}).inject(this.middleNode);this.explorer=new MWF.xApplication.Forum.Setting(this.contentNode,this,this.restActions,{isAdmin:this.isAdmin(),index:e||0});this.explorer.load()},recordStatus:function(){var e={};if(this.explorer){e={setting:true,index:this.explorer.currentNaviItem.retrieve("index")}}return e},openPerson:function(e){var t="ForumPerson"+e;if(this.desktop.apps[t]){this.desktop.apps[t].setCurrent()}else{this.desktop.openApplication(null,"ForumPerson",{personName:e,appId:t})}},createPersonNode:function(i,e){var o=e.split(",");o.each(function(e,t){var n=new Element("span",{text:e.split("@")[0],styles:this.css.person}).inject(i);n.addEvents({mouseover:function(){this.node.setStyles(this.obj.css.person_over)}.bind({node:n,obj:this}),mouseout:function(){this.node.setStyles(this.obj.css.person)}.bind({node:n,obj:this}),click:function(){this.obj.openPerson(this.userName)}.bind({userName:e,obj:this})});if(t!=o.length-1){new Element("span",{text:"、"}).inject(i)}}.bind(this))}});MWF.xApplication.Forum.Main.RecommandView=new Class({Extends:MWF.xApplication.Template.Explorer.ComplexView,_createDocument:function(e,t){return new MWF.xApplication.Forum.Main.RecommandDocument(this.viewNode,e,this.explorer,this,null,t)},_getCurrentPageData:function(t,e){if(!e)e=12;this.actions.listRecommendedSubject(e,function(e){if(!e.data)e.data=[];if(t)t(e)}.bind(this))},_removeDocument:function(e,t){},_create:function(){},_openDocument:function(e){},_queryCreateViewNode:function(){},_postCreateViewNode:function(e){},_queryCreateViewHead:function(){},_postCreateViewHead:function(e){}});MWF.xApplication.Forum.Main.RecommandDocument=new Class({Extends:MWF.xApplication.Template.Explorer.ComplexDocument,mouseoverDocument:function(){},mouseoutDocument:function(){},_queryCreateDocumentNode:function(e){},_postCreateDocumentNode:function(e,t){},open:function(){var e=this.data;var t="ForumDocument"+e.id;if(this.app.desktop.apps[t]){this.app.desktop.apps[t].setCurrent()}else{this.app.desktop.openApplication(null,"ForumDocument",{sectionId:e.sectionId,id:e.id,appId:t,isEdited:false,isNew:false})}},openSection:function(e){var t=this.data;var n="ForumSection"+t.sectionId;if(this.app.desktop.apps[n]){this.app.desktop.apps[n].setCurrent()}else{this.app.desktop.openApplication(e,"ForumSection",{sectionId:t.sectionId,appId:n})}}});
|