| 1 |
- MWF.xApplication.Forum=MWF.xApplication.Forum||{};MWF.xApplication.ForumSearch=MWF.xApplication.ForumSearch||{};MWF.require("MWF.widget.Identity",null,false);MWF.xDesktop.requireApp("Forum","Actions.RestActions",null,false);MWF.xDesktop.requireApp("Forum","lp."+MWF.language,null,false);MWF.xDesktop.requireApp("Template","Explorer",null,false);MWF.xDesktop.requireApp("Forum","Access",null,false);MWF.xApplication.ForumSearch.options={multitask:true,executable:true};MWF.xApplication.ForumSearch.Main=new Class({Extends:MWF.xApplication.Common.Main,Implements:[Options,Events],options:{style:"default",name:"ForumSearch",icon:"icon.png",width:"1210",height:"700",isResize:false,isMax:true,title:MWF.xApplication.ForumSearch.LP.title,searchContent:""},onQueryLoad:function(){this.lp=MWF.xApplication.Forum.LP},loadApplication:function(t){this.userName=layout.desktop.session.user.name;this.restActions=new MWF.xApplication.Forum.Actions.RestActions;this.path="/x_component_ForumSearch/$Main/"+this.options.style+"/";this.createNode();this.loadApplicationContent()},reloadAllParents:function(t){this.restActions.getSection(t,function(e){var i="Forum";if(this.desktop.apps[i]){this.desktop.apps[i].reload()}i="ForumCategory"+e.data.forumId;if(this.desktop.apps[i]){this.desktop.apps[i].reload()}i="ForumSection"+t;if(this.desktop.apps[i]){this.desktop.apps[i].reload()}}.bind(this))},loadController:function(t){this.access=new MWF.xApplication.Forum.Access(this.restActions,this.lp);if(t)t()},createNode:function(){this.content.setStyle("overflow","hidden");this.node=new Element("div",{styles:this.css.node}).inject(this.content)},loadApplicationContent:function(){if(!this.options.searchContent&&this.status&&this.status.searchContent){this.options.searchContent=this.status.searchContent}this.loadController(function(){this.access.login(function(){this.loadApplicationLayout()}.bind(this))}.bind(this))},loadApplicationLayout:function(){this.contentContainerNode=new Element("div.contentContainerNode",{styles:this.css.contentContainerNode}).inject(this.node);this.createTopNode();this.createMiddleNode()},createTopNode:function(){var t=this.lp.defaultForumColor;var e=this.topNode=new Element("div.topNode",{styles:this.css.topNode}).inject(this.contentContainerNode);e.setStyle("border-bottom","1px solid "+t);var i=new Element("div.topTitleLeftNode",{styles:this.css.topTitleLeftNode}).inject(e);i.setStyle("background-color",t);var s=new Element("div.topTitleMiddleNode",{styles:this.css.topTitleMiddleNode}).inject(e);s.setStyle("background-color",t);var n=new Element("div.topTitleRightNode",{styles:this.css.topTitleRightNode}).inject(e);n.setStyle("background-color",t);var o=new Element("div.topItemTitleNode",{styles:this.css.topItemTitleNode,text:this.lp.title}).inject(s);o.addEvent("click",function(){var t="Forum";if(this.desktop.apps[t]){this.desktop.apps[t].setCurrent()}else{this.desktop.openApplication(null,"Forum",{appId:t})}if(!this.inBrowser){this.close()}}.bind(this));var a=new Element("div.topItemSepNode",{styles:this.css.topItemSepNode}).inject(s);var o=new Element("div.topItemTitleNode",{styles:this.css.topItemTitleNode,text:this.lp.search}).inject(s);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.options.searchContent,title:this.lp.searchTitle}).inject(this.searchDiv);var r=this;this.searchInput.addEvents({focus:function(){if(this.value==r.lp.searchKey)this.set("value","")},blur:function(){if(!this.value)this.set("value",r.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)})},search:function(){var t=this.searchInput.get("value");if(t==""||t==this.lp.searchKey){this.notice(this.lp.noSearchContentNotice,"error");return}this.options.searchContent=t;this.explorer.reloadView()},createMiddleNode:function(){this.middleNode=new Element("div.middleNode",{styles:this.css.middleNode}).inject(this.contentContainerNode);this._createMiddleNode();this.addEvent("resize",function(){this.setContentSize()}.bind(this));this.setContentSize()},_createMiddleNode:function(){this.contentDiv=new Element("div.contentDiv",{styles:this.css.contentDiv}).inject(this.middleNode);if(this.contentDiv)this.contentDiv.empty();if(this.explorer){this.explorer.destroy();delete this.explorer}this.explorer=new MWF.xApplication.ForumSearch.Explorer(this.contentDiv,this,this,{style:this.options.style,viewPageNum:this.status&&this.status.viewPageNum?this.status.viewPageNum:1});this.explorer.load()},setContentSize:function(){var t={x:0,y:0};var e=this.node.getSize();var i=this.contentContainerNode.getStyle("padding-top").toFloat();var s=this.contentContainerNode.getStyle("padding-bottom").toFloat();var n=e.y-t.y-i-s;this.contentContainerNode.setStyle("height",""+n+"px")},recordStatus:function(){return{searchContent:this.options.searchContent,viewPageNum:this.explorer.view.getCurrentPageNum()}},getDateDiff:function(t){var e=Date.parse(t.replace(/-/gi,"/"));var i=1e3*60;var s=i*60;var n=s*24;var o=n*15;var a=n*30;var r=a*12;var p=(new Date).getTime();var c=p-e;if(c<0){}var h=(new Date).decrement("day",1);var l=(new Date).decrement("day",2);var d=c/r;var u=c/a;var m=c/(7*n);var f=c/n;var v=c/s;var g=c/i;if(h.getFullYear()==e.getFullYear()&&h.getMonth()==e.getMonth()&&h.getDate()==e.getDate()){result="昨天 "+e.getHours()+":"+e.getMinutes()}else if(l.getFullYear()==e.getFullYear()&&l.getMonth()==e.getMonth()&&l.getDate()==e.getDate()){result="前天 "+e.getHours()+":"+e.getMinutes()}else if(d>1){result=e.getFullYear()+"年"+(e.getMonth()+1)+"月"+e.getDate()+"日"}else if(u>=1){result=e.getMonth()+1+"月"+e.getDate()+"日"}else if(m>=1){result=parseInt(m)+"周前"}else if(f>=1){result=parseInt(f)+"天前"}else if(v>=1){result=parseInt(v)+"小时前"}else if(g>=1){result=parseInt(g)+"分钟前"}else result="刚刚发表";return result},openPerson:function(t){if(!t||t==""){}else{var e="ForumPerson"+t;if(this.desktop.apps[t]){this.desktop.apps[t].setCurrent()}else{this.desktop.openApplication(null,"ForumPerson",{personName:t,appId:e})}}},createPersonNode:function(t,e){var i=e.split(",");i.each(function(e,s){var n=new Element("span",{text:e,styles:this.css.person}).inject(t);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(s!=i.length-1){new Element("span",{text:","}).inject(t)}}.bind(this))}});MWF.xApplication.ForumSearch.Explorer=new Class({Extends:MWF.widget.Common,Implements:[Options,Events],options:{style:"default",viewPageNum:1},initialize:function(t,e,i,s){this.setOptions(s);this.container=t;this.parent=i;this.app=e;this.css=this.parent.css;this.lp=this.app.lp},load:function(){this.container.empty();this.loadToolbar();this.viewContainer=Element("div",{styles:this.css.viewContainer}).inject(this.container);this.loadToolbar();this.loadView()},destroy:function(){if(this.resizeWindowFun)this.app.removeEvent("resize",this.resizeWindowFun);this.view.destroy()},loadToolbar:function(){var t=new Element("div",{styles:this.css.toolbar}).inject(this.container);if(this.toolbarTop){this.toolbarBottom=t}else{this.toolbarTop=t}var e=new Element("div",{styles:this.css.fileterNode}).inject(t);var i=new Element("div",{styles:this.css.fileterNode}).inject(t);if(this.pagingBarTop){this.pagingBarBottom=i}else{this.pagingBarTop=i}},reloadView:function(){this.view.destroy();this.loadView()},loadView:function(){this.view=new MWF.xApplication.ForumSearch.View(this.viewContainer,this.app,this,{templateUrl:this.parent.path+"listItem.json",pagingEnable:true,pagingPar:{currentPage:this.options.viewPageNum,countPerPage:30,onPostLoad:function(t){if(t.nextPageNode){t.nextPageNode.inject(this.toolbarBottom,"before")}}.bind(this),onPageReturn:function(t){var e="Forum";if(this.app.desktop.apps[e]){this.app.desktop.apps[e].setCurrent()}else{this.app.desktop.openApplication(null,"Forum",{appId:e})}this.app.close()}.bind(this)}});this.view.filterData={searchContent:this.app.options.searchContent};this.view.pagingContainerTop=this.pagingBarTop;this.view.pagingContainerBottom=this.pagingBarBottom;this.view.load()},resizeWindow:function(){var t=this.app.content.getSize();this.viewContainer.setStyles({height:t.y-121+"px"})},createSubject:function(){var t=this;var e="ForumDocument";if(t.app.desktop.apps[e]){t.app.desktop.apps[e].setCurrent()}else{this.app.desktop.openApplication(null,"ForumDocument",{sectionId:this.app.sectionData.id,appId:e,onPostPublish:function(){this.view.reload()}.bind(this)})}},openPerson:function(t){var e="ForumPerson"+t;if(this.desktop.apps[t]){this.desktop.apps[t].setCurrent()}else{this.desktop.openApplication(null,"ForumPerson",{personName:t,appId:e})}},createPersonNode:function(t,e){var i=e.split(",");i.each(function(e,s){var n=new Element("span",{text:e,styles:this.css.person}).inject(t);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(s!=i.length-1){new Element("span",{text:","}).inject(t)}}.bind(this))}});MWF.xApplication.ForumSearch.View=new Class({Extends:MWF.xApplication.Template.Explorer.ComplexView,_createDocument:function(t,e){return new MWF.xApplication.ForumSearch.Document(this.viewNode,t,this.explorer,this,null,e)},_getCurrentPageData:function(t,e,i){this.clearBody();if(!e)e=30;if(!i)i=1;var s=this.filterData||{};this.actions.listSubjectSearchPage(i,e,s,function(e){if(!e.data)e.data=[];if(!e.count)e.count=0;if(t)t(e)}.bind(this))},_removeDocument:function(t,e){this.actions.deleteSubject(t.id,function(e){this.reload();this.app.reloadAllParents(t.sectionId);this.app.notice(this.app.lp.deleteDocumentOK,"success")}.bind(this))},_create:function(){},_openDocument:function(t,e){var i="ForumDocument"+t.id;if(this.app.desktop.apps[i]){this.app.desktop.apps[i].setCurrent()}else{this.app.desktop.openApplication(null,"ForumDocument",{sectionId:t.sectionId,id:t.id,appId:i,isEdited:false,isNew:false,index:e})}},_queryCreateViewNode:function(){},_postCreateViewNode:function(t){},_queryCreateViewHead:function(){},_postCreateViewHead:function(t){}});MWF.xApplication.ForumSearch.Document=new Class({Extends:MWF.xApplication.Template.Explorer.ComplexDocument,_queryCreateDocumentNode:function(t){},_postCreateDocumentNode:function(t,e){},open:function(t){this.view._openDocument(this.data,this.index)},edit:function(){var t="ForumDocument"+this.data.id;if(this.app.desktop.apps[t]){this.app.desktop.apps[t].setCurrent()}else{this.app.desktop.openApplication(null,"ForumDocument",{sectionId:this.data.sectionId,id:this.data.id,appId:t,isEdited:true,isNew:false,index:this.index})}},openSection:function(t){var e=this.data;var i="ForumSection"+e.sectionId;if(this.app.desktop.apps[i]){this.app.desktop.apps[i].setCurrent()}else{this.app.desktop.openApplication(t,"ForumSection",{sectionId:e.sectionId,appId:i})}t.stopPropagation()},isAdmin:function(){return this.app.access.isAdmin()}});
|