ListView.min.js 9.3 KB

1
  1. MWF.xApplication.Meeting.ListView=new Class({Extends:MWF.widget.Common,Implements:[Options,Events],options:{style:"default",date:null},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",{styles:this.css.contentAreaNode}).inject(this.node);this.contentNode=new Element("div",{styles:this.css.contentNode}).inject(this.contentAreaNode);this.resetNodeSize();this.app.addEvent("resize",this.resetNodeSize.bind(this));this.loadLeftNavi();this.toApplyWait()},resetNodeSize:function(){var t=this.container.getSize();if(this.app.meetingConfig.hideMenu=="static"){var i=t.y-120;this.node.setStyle("height",""+i+"px");this.node.setStyle("margin-top","60px")}else{var i=t.y-20;this.node.setStyle("height",""+i+"px")}},loadLeftNavi:function(){var t=new Element("div",{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",{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]()}})},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(){}});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(){MWF.release(this.mask);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.release(this)}});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 i=t.format(this.app.lp.dateFormatDay);var e=t.format("%H:%M");var s=Date.parse(this.data.completedTime).format("%H:%M");this.app.actions.getRoom(this.data.room,function(t){this.app.actions.getBuilding(t.data.building,function(n){var o=t.data.name+"("+n.data.name+(t.data.roomNumber?" #"+t.data.roomNumber:"")+")";this.node=new Element("tr",{html:"<td></td><td>"+i+"</td><td>"+e+"-"+s+"</td><td>"+this.data.subject+"</td><td>"+o+"</td>"}).inject(this.container);this.personNode=this.node.getFirst("td");if(this.data.applicant){var a={actions:this.app.personActions,app:{lp:this.app.lp}};MWF.require("MWF.widget.Identity",function(){var t=new MWF.widget.Person({name:this.data.applicant},this.personNode,a,false,null,{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){if(!this.document){if(this.view.currentDocument)this.view.currentDocument.closeDocument();this.document=new MWF.xApplication.Meeting.ListView.View.Document(this,t.target);this.view.currentDocument=this.document}},destroy:function(){if(this.document)this.document.closeDocument();if(this.node)this.node.destroy();MWF.release(this)}});MWF.xApplication.Meeting.ListView.View.Document=new Class({Extends:MWF.xApplication.Meeting.MeetingView.Document,initialize:function(t){this.item=t;this.view=this.item.view;this.container=this.view.contentAreaNode;this.app=this.view.app;this.path="/x_component_Meeting/$MeetingView/";this.cssPath="/x_component_Meeting/$MeetingView/default/css.wcss";this._loadCss();this.app.actions.getMeeting(this.item.data.id,function(t){this.data=t.data;this.isEdit=this.data.applicant==this.app.desktop.session.user.name;this.load()}.bind(this))},_loadCss:function(){var t=encodeURIComponent(this.cssPath);if(MWF.widget.css[t]){this.css=MWF.widget.css[t]}else{var i=new Request.JSON({url:this.cssPath,secure:false,async:false,method:"get",noCache:false,onSuccess:function(i,e){this.css=i;MWF.widget.css[t]=i}.bind(this),onError:function(t,i){alert(i+t)}});i.send()}},closeDocument:function(t){if(this.setDescriptionNodeSizeFun)this.app.removeEvent("resize",this.setDescriptionNodeSizeFun);if(this.setNodeSizeFun)this.app.removeEvent("resize",this.setNodeSizeFun);var i=this.item.node.getSize();var e=this.item.node.getPosition();var s=new Fx.Morph(this.node,{duration:"500",transition:Fx.Transitions.Expo.easeOut});this.node.empty();this.view.currentDocument=null;s.start({opacity:0,width:""+i.x+"px",height:""+i.y+"px",left:""+e.x+"px",top:""+e.y+"px"}).chain(function(){this.destroy();if(t)t()}.bind(this))}});