| 1 |
- MWF.xApplication.Meeting.ListView=new Class({Extends:MWF.widget.Common,Implements:[Options,Events],options:{style:"default",date:null,action:""},initialize:function(t,i,e){this.setOptions(e);this.path="/x_component_Meeting/$ListView/";this.cssPath="/x_component_Meeting/$ListView/"+this.options.style+"/css.wcss";this._loadCss();this.app=i;this.container=$(t);this.date=this.options.date||new Date;this.load()},load:function(){this.node=new Element("div",{styles:this.css.node}).inject(this.container);this.leftNode=new Element("div",{styles:this.css.leftNode}).inject(this.node);this.contentAreaNode=new Element("div.contentAreaNode",{styles:this.css.contentAreaNode}).inject(this.node);this.contentNode=new Element("div.contentNode",{styles:this.css.contentNode}).inject(this.contentAreaNode);this.resetNodeSizeFun=this.resetNodeSize.bind(this);this.app.addEvent("resize",this.resetNodeSizeFun);this.loadLeftNavi();this.resetNodeSize()},resetNodeSize:function(){var t=this.container.getSize();var i=t.y-60;this.node.setStyle("margin-top","60px");this.node.setStyle("height",""+i+"px");var e=this.app.sideBar?this.app.sideBar.getSize():{x:0,y:0};this.contentAreaNode.setStyle("margin-right",e.x+"px")},loadLeftNavi:function(){var t=new Element("div.menuNode",{styles:this.css.menuNode,text:this.app.lp.listNavi.myApply}).inject(this.leftNode);this.loadNaviItem(this.app.lp.listNavi.wait,"toApplyWait");this.loadNaviItem(this.app.lp.listNavi.processing,"toApplyProcessing");this.loadNaviItem(this.app.lp.listNavi.completed,"toApplyCompleted");var t=new Element("div.menuNode",{styles:this.css.menuNode,text:this.app.lp.listNavi.myMeeting}).inject(this.leftNode);this.loadNaviItem(this.app.lp.listNavi.wait,"toMeetingWait");this.loadNaviItem(this.app.lp.listNavi.processing,"toMeetingProcessing");this.loadNaviItem(this.app.lp.listNavi.completed,"toMeetingCompleted");this.loadNaviItem(this.app.lp.listNavi.reject,"toMeetingReject")},loadNaviItem:function(t,i){var e=new Element("div",{styles:this.css.menuItemNode,text:t}).inject(this.leftNode);var s=this;e.addEvents({mouseover:function(){if(s.currentNavi!=this)this.setStyles(s.css.menuItemNode_over)},mouseout:function(){if(s.currentNavi!=this)this.setStyles(s.css.menuItemNode)},click:function(){if(s.currentNavi)s.currentNavi.setStyles(s.css.menuItemNode);s.currentNavi=this;this.setStyles(s.css.menuItemNode_current);if(s[i])s[i]()}});e.store("action",i);if(this.options.action==i){e.click()}else if(i=="toApplyWait"){e.click()}},toApplyWait:function(){if(this.currentView)this.currentView.destroy();this.currentView=new MWF.xApplication.Meeting.ListView.ApplyWait(this)},toApplyProcessing:function(){if(this.currentView)this.currentView.destroy();this.currentView=new MWF.xApplication.Meeting.ListView.ApplyProcessing(this)},toApplyCompleted:function(){if(this.currentView)this.currentView.destroy();this.currentView=new MWF.xApplication.Meeting.ListView.ApplyCompleted(this)},toMeetingWait:function(){if(this.currentView)this.currentView.destroy();this.currentView=new MWF.xApplication.Meeting.ListView.MeetingWait(this)},toMeetingProcessing:function(){if(this.currentView)this.currentView.destroy();this.currentView=new MWF.xApplication.Meeting.ListView.MeetingProcessing(this)},toMeetingCompleted:function(){if(this.currentView)this.currentView.destroy();this.currentView=new MWF.xApplication.Meeting.ListView.MeetingCompleted(this)},toMeetingReject:function(){if(this.currentView)this.currentView.destroy();this.currentView=new MWF.xApplication.Meeting.ListView.MeetingReject(this)},hide:function(){var t=new Fx.Morph(this.node,{duration:"300",transition:Fx.Transitions.Expo.easeOut});t.start({opacity:0}).chain(function(){this.node.setStyle("display","none")}.bind(this))},show:function(){this.node.setStyles(this.css.node);var t=new Fx.Morph(this.node,{duration:"800",transition:Fx.Transitions.Expo.easeOut});this.app.fireAppEvent("resize");t.start({opacity:1,left:"0px"}).chain(function(){this.node.setStyles({position:"static",width:"auto"})}.bind(this))},reload:function(){this.app.reload()},recordStatus:function(){var t="";if(this.currentNavi)t=this.currentNavi.retrieve("action");return{action:t}},destroy:function(){if(this.currentView){this.currentView.destroy()}this.app.removeEvent("resize",this.resetNodeSizeFun);this.node.destroy()}});MWF.xApplication.Meeting.ListView.View=new Class({initialize:function(t,i){this.view=t;this.css=this.view.css;this.container=this.view.contentNode;this.app=this.view.app;this.items=[];this.load()},load:function(){this.loadHead();MWF.require("MWF.widget.Mask",function(){this.mask=new MWF.widget.Mask({style:"desktop"});this.mask.loadNode(this.view.contentAreaNode)}.bind(this));this.loadList()},loadHead:function(){this.table=new Element("table",{styles:this.css.listViewTable,border:"0",cellPadding:"0",cellSpacing:"0",html:"<tr><th>"+this.app.lp.applyPerson+"</th><th>"+this.app.lp.beginDate+"</th><th>"+this.app.lp.time+"</th><th>"+this.app.lp.subject+"</th><th>"+this.app.lp.room+"</th></tr>"}).inject(this.container);this.table.getElements("th").setStyles(this.css.listViewTableTh)},loadList:function(){this.app.actions.listMeetingApplyWait(function(t){this.loadLines(t.data)}.bind(this))},loadLines:function(t){t.each(function(t){this.loadLine(t)}.bind(this));if(this.mask){this.mask.hide(function(){this.mask=null}.bind(this))}},loadLine:function(t){this.items.push(new MWF.xApplication.Meeting.ListView.View.Line(this,t))},destroy:function(){this.items.each(function(t){t.destroy()});this.items=[];this.view.currentView=null;this.table.destroy()}});MWF.xApplication.Meeting.ListView.ApplyWait=new Class({Extends:MWF.xApplication.Meeting.ListView.View});MWF.xApplication.Meeting.ListView.ApplyProcessing=new Class({Extends:MWF.xApplication.Meeting.ListView.View,loadList:function(){this.app.actions.listMeetingApplyProcessing(function(t){this.loadLines(t.data)}.bind(this))}});MWF.xApplication.Meeting.ListView.ApplyCompleted=new Class({Extends:MWF.xApplication.Meeting.ListView.View,loadList:function(){this.app.actions.listMeetingApplyCompleted(function(t){this.loadLines(t.data)}.bind(this))}});MWF.xApplication.Meeting.ListView.MeetingWait=new Class({Extends:MWF.xApplication.Meeting.ListView.View,loadList:function(){this.app.actions.listMeetingInvitedWait(function(t){this.loadLines(t.data)}.bind(this))}});MWF.xApplication.Meeting.ListView.MeetingProcessing=new Class({Extends:MWF.xApplication.Meeting.ListView.View,loadList:function(){this.app.actions.listMeetingInvitedProcessing(function(t){this.loadLines(t.data)}.bind(this))}});MWF.xApplication.Meeting.ListView.MeetingCompleted=new Class({Extends:MWF.xApplication.Meeting.ListView.View,loadList:function(){this.app.actions.listMeetingInvitedCompleted(function(t){this.loadLines(t.data)}.bind(this))}});MWF.xApplication.Meeting.ListView.MeetingReject=new Class({Extends:MWF.xApplication.Meeting.ListView.View,loadList:function(){this.app.actions.listMeetingInvitedRejected(function(t){this.loadLines(t.data)}.bind(this))}});MWF.xApplication.Meeting.ListView.View.Line=new Class({initialize:function(t,i){this.table=t;this.view=this.table.view;this.css=this.view.css;this.container=this.table.table;this.app=this.view.app;this.data=i;this.load()},load:function(){var t=Date.parse(this.data.startTime);var s=t.format(this.app.lp.dateFormatDay);var n=t.format("%H:%M");var o=Date.parse(this.data.completedTime).format("%H:%M");this.app.actions.getRoom(this.data.room,function(e){this.app.actions.getBuilding(e.data.building,function(t){var i=e.data.name+"("+t.data.name+(e.data.roomNumber?" #"+e.data.roomNumber:"")+")";this.node=new Element("tr",{html:"<td></td><td>"+s+"</td><td>"+n+"-"+o+"</td><td>"+this.data.subject+"</td><td>"+i+"</td>"}).inject(this.container);this.personNode=this.node.getFirst("td");if(this.data.applicant){MWF.require("MWF.widget.O2Identity",function(){var t=new MWF.widget.O2Person({name:this.data.applicant},this.personNode,{style:"room"})}.bind(this))}this.node.getElements("td").setStyles(this.css.listViewTableTd);this.node.addEvent("click",function(t){this.openMeeting(t)}.bind(this))}.bind(this))}.bind(this))},openMeeting:function(t){this.form=new MWF.xApplication.Meeting.MeetingForm(this,this.data,{},{app:this.app});this.form.view=this.view;this.form.open()},destroy:function(){if(this.node)this.node.destroy()}});
|