| 1 |
- MWF.xDesktop.requireApp("Template","Explorer",null,false);MWF.xApplication.Forum.ColumnTemplate=new Class({Extends:MWF.widget.Common,Implements:[Options,Events],options:{naviMode:false,style:"default",width:"1230",type:"type_1_0",categoryId:""},initialize:function(t,e,i,s){this.setOptions(s);if(!this.options.type)this.options.type="type_1_0";this.container=t;this.app=e;this.lp=e.lp;this.actions=e.restActions;this.explorer=i;this.path="/x_component_Forum/$ColumnTemplate/";this.cssPath="/x_component_Forum/$ColumnTemplate/"+this.options.style+"/css.wcss";this._loadCss()},load:function(){this.loadSetting();this.loadView()},_loadSetting:function(){var t="/x_component_Forum/$ColumnTemplate/template/setting.json";var i;if(MWF.xApplication.Forum.ColumnTemplate.Setting){i=MWF.xApplication.Forum.ColumnTemplate.Setting}else{var e=new Request.JSON({url:t,secure:false,async:false,method:"get",noCache:false,onSuccess:function(t,e){i=MWF.xApplication.Forum.ColumnTemplate.Setting=t}.bind(this),onError:function(t,e){alert(e+t)}});e.send()}return i},loadSetting:function(){var t=this._loadSetting();this.setting=t[this.options.type]},loadView:function(){this.view=new MWF.xApplication.Forum.ColumnTemplate.View(this.container,this.app,this,{setting:this.setting,templateUrl:this.setting.template,categoryId:this.options.categoryId,onPostCreateViewBody:function(){this.fireEvent("postLoad")}.bind(this)},{css:this.css});this.view.load()}});MWF.xApplication.Forum.ColumnTemplate.View=new Class({Extends:MWF.xApplication.Template.Explorer.ComplexView,_createDocument:function(t,e){if(this.app.access.isSectionViewer(t)){return new MWF.xApplication.Forum.ColumnTemplate.Document(this.viewNode,t,this.explorer,this,null,e)}},_getCurrentPageData:function(e,t){if(!t)t=20;var i=this.items.length?this.items[this.items.length-1].data.id:"(0)";var s=this.filterData||{};this.actions.listSection(this.options.categoryId,function(t){if(!t.data)t.data=[];if(e)e(t)}.bind(this))},_removeDocument:function(t,e){},_create:function(){},_openDocument:function(t){},_queryCreateViewNode:function(){},_postCreateViewNode:function(t){},_queryCreateViewHead:function(){},_postCreateViewHead:function(t){}});MWF.xApplication.Forum.ColumnTemplate.Document=new Class({Extends:MWF.xApplication.Template.Explorer.ComplexDocument,mouseoverDocument:function(){},mouseoutDocument:function(){},_queryCreateDocumentNode:function(t){},_postCreateDocumentNode:function(t,e){var i=t.getElements("[item='moderatorNames']")[0];if(i)this.createPersonNode(i,e.moderatorNames);var s=this;var o=this.view.options.setting;var n=o.column;if((this.index+1)%n==0){t.setStyle("margin-right","0px")}if(o.hasBorder){this.container.setStyle("padding-bottom","10px")}if(o.image){this._loadImage(t)}this._loadSubjectList(t)},_loadSubjectList:function(t){var o=t.getElements("[item='itemListNode']")[0];var n=t.getElements("[item='itemReplyListNode']")[0];if(o){this._getListData(function(t){t.data.each(function(t,e){var i=new Element("div",{styles:this.css.itemListItemNode,text:t.title,title:t.title}).inject(o);i.addEvents({mouseover:function(){this.node.setStyles(this.obj.css.itemListItemNode_over)}.bind({node:i,obj:this}),mouseout:function(){this.node.setStyles(this.obj.css.itemListItemNode)}.bind({node:i,obj:this}),click:function(){var t="ForumDocument"+this.da.id;if(this.obj.app.desktop.apps[t]){this.obj.app.desktop.apps[t].setCurrent()}else{this.obj.app.desktop.openApplication(null,"ForumDocument",{sectionId:this.da.sectionId,id:this.da.id,appId:t,isEdited:false,isNew:false,index:e})}}.bind({da:t,obj:this})});if(n){var s=new Element("div",{styles:this.css.itemReplyListItemNode}).inject(n);var i=new Element("div",{styles:this.css.itemReplyPersonNode,text:(t.creatorName||"").split("@")[0]}).inject(s);i.addEvents({mouseover:function(){this.node.setStyles(this.obj.css.itemReplyPersonNode_over)}.bind({node:i,obj:this}),mouseout:function(){this.node.setStyles(this.obj.css.itemReplyPersonNode)}.bind({node:i,obj:this}),click:function(){this.obj.app.openPerson(this.userName)}.bind({userName:t.creatorName,obj:this})});var i=new Element("div",{styles:this.css.itemReplyTimeNode,text:MWFForum.getDateDiff(t.latestReplyTime),title:t.latestReplyTime}).inject(s)}}.bind(this))}.bind(this),this.view.options.setting.itemCount)}},_loadImage:function(t){var i=this;var e=t.getElements("[item='itemImage']")[0];var s={sectionId:this.data.id,needPicture:true};if(e){this.actions.listSubjectForBBSIndex(1,1,s,function(t){if(t.data){var e=t.data[0];this.node.set("title",e.title);if(e.picId){this.node.set("src",MWF.xDesktop.getImageSrc(e.picId));this.node.setStyle("cursor","pointer")}this.node.addEvents({click:function(){var t="ForumDocument"+this.da.id;if(i.app.desktop.apps[t]){i.app.desktop.apps[t].setCurrent()}else{i.app.desktop.openApplication(null,"ForumDocument",{sectionId:this.da.sectionId,id:this.da.id,appId:t,isEdited:false,isNew:false})}}.bind({da:e})})}}.bind({node:e}))}},_getListData:function(e,t){if(!t)t=6;var i={sectionId:this.data.id};this.actions.listSubjectForBBSIndex(1,t,i,function(t){if(!t.data)t.data=[];if(e)e(t)}.bind(this))},removeCenterWork:function(t){return false},openSection:function(t){if(this.explorer.options.naviMode&&this.explorer.forumNavi){this.explorer.forumNavi.goto(MWFForum.NaviType.section,this.data.id)}else{var e="ForumSection"+this.data.id;if(this.app.desktop.apps[e]){this.app.desktop.apps[e].setCurrent()}else{this.app.desktop.openApplication(t,"ForumSection",{sectionId:this.data.id,appId:e})}}},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})}},createPersonNode:function(s,t){var o=t.split(",");o.each(function(t,e){var i=new Element("span",{text:t.split("@")[0],styles:this.css.person}).inject(s);i.addEvents({mouseover:function(){this.node.setStyles(this.obj.css.person_over)}.bind({node:i,obj:this}),mouseout:function(){this.node.setStyles(this.obj.css.person)}.bind({node:i,obj:this}),click:function(){this.obj.openPerson(this.userName)}.bind({userName:t,obj:this})});if(e!=o.length-1){new Element("span",{text:"、"}).inject(s)}}.bind(this))}});
|