| 1 |
- MWF.xApplication.Meeting.DayView=new Class({Extends:MWF.widget.Common,Implements:[Options,Events],options:{style:"default",date:null},initialize:function(t,e,i){this.setOptions(i);this.path="/x_component_Meeting/$DayView/";this.cssPath="/x_component_Meeting/$DayView/"+this.options.style+"/css.wcss";this._loadCss();this.app=e;this.container=$(t);var s=this.options.date;if(s){this.date=typeOf(s)=="string"?new Date(s):s}else{this.date=new Date}this.load()},recordStatus:function(){return{date:this.days.length>0?this.days[0].date.clone():this.date}},load:function(){this.days=[];this.scrollNode=new Element("div",{styles:this.css.scrollNode}).inject(this.container);this.contentWarpNode=new Element("div",{styles:this.css.contentWarpNode}).inject(this.scrollNode);this.contentContainerNode=new Element("div",{styles:this.css.contentContainerNode}).inject(this.contentWarpNode);this.node=new Element("div",{styles:this.css.contentNode}).inject(this.contentContainerNode);this.leftNode=new Element("div",{styles:this.css.leftNode}).inject(this.node);this.leftNode.addEvents({click:function(){this.decrementDay()}.bind(this),mouseover:function(){this.leftNode.setStyles(this.css.leftNode_over)}.bind(this),mouseout:function(){this.leftNode.setStyles(this.css.leftNode)}.bind(this)});this.dayContainerNode=new Element("div",{styles:this.css.dayContainerNode}).inject(this.node);this.rightNode=new Element("div",{styles:this.css.rightNode}).inject(this.node);this.rightNode.addEvents({click:function(){this.incrementDay()}.bind(this),mouseover:function(){this.rightNode.setStyles(this.css.rightNode_over)}.bind(this),mouseout:function(){this.rightNode.setStyles(this.css.rightNode)}.bind(this)});this.resetNodeSize();this.resetNodeSizeFun=this.resetNodeSize.bind(this);this.app.addEvent("resize",this.resetNodeSizeFun)},resetNodeSize:function(){var t=this.container.getSize();var e=this.leftNode?this.leftNode.getSize():{x:0,y:0};var i=this.rightNode?this.rightNode.getSize():{x:0,y:0};var s=this.app.sideBar?this.app.sideBar.getSize():{x:0,y:0};var n=t.x-e.x-i.x-s.x;this.dayNodeHeight=t.y-110;var d=(this.dayNodeHeight-e.y)/2;var a=(this.dayNodeHeight-i.y)/2;this.leftNode.setStyle("margin-top",""+d+"px");this.rightNode.setStyle("margin-top",""+a+"px");var h=(n/330).toInt();this.scrollNode.setStyle("height",""+(t.y-60)+"px");this.scrollNode.setStyle("margin-top","60px");this.scrollNode.setStyle("margin-right",s.x);if(this.contentWarpNode){var o=330*h+e.x+i.x+s.x;var l=(t.x-o)/2-10;this.contentWarpNode.setStyles({width:""+o+"px","margin-left":""+l+"px"})}if(this.dayCount!=h){this.dayCount=h;this.adjustDay()}else{for(var y=0;y<this.days.length;y++){this.days[y].resetHeight()}}},toDay:function(t){this.date=t;this.dayContainerNode.empty();this.days=[];this.adjustDay()},adjustDay:function(){if(this.dayCount<=this.days.length){this.date=this.days[this.dayCount].date.clone();for(var t=0;t<this.days.length;t++){if(t<this.dayCount){this.days[t].resetHeight()}else{if(this.days[t])this.days[t].destroy()}}this.days.splice(this.dayCount,this.days.length-this.dayCount)}else{for(var t=0;t<this.days.length;t++){this.days[t].resetHeight()}if(this.days.length)this.date=this.days[this.days.length-1].date.clone().increment();this.loadDay(this.dayCount-this.days.length,this.days.length==0)}},incrementDay:function(){if(this.days.length>1){var t=this.date=this.days[this.days.length-1].date.clone().increment();var e=this.days[this.days.length-1].node;this.days[0].destroy();this.days.splice(0,1);this.days[0].setFrist();var i=new MWF.xApplication.Meeting.DayView.Day(this,e,"after",t,false);this.days.push(i)}else if(this.days.length==1){var t=this.date=this.days[this.days.length-1].date.clone().increment();this.days[0].destroy();this.days.splice(0,1);var i=new MWF.xApplication.Meeting.DayView.Day(this,this.dayContainerNode,null,t,false);this.days.push(i)}},decrementDay:function(t){if(this.days.length>1){var e=this.days[0].date.clone().decrement();this.days[0].disposeFrist();this.date=this.days[this.days.length-1].date.clone().decrement();this.days[this.days.length-1].destroy();this.days.splice(this.days.length-1,1);var t=this.days[0].node;var i=new MWF.xApplication.Meeting.DayView.Day(this,t,"before",e,true);this.days.unshift(i)}else if(this.days.length==1){var e=this.days[0].date.clone().decrement();this.date=this.days[this.days.length-1].date.clone().decrement();this.days[this.days.length-1].destroy();this.days.splice(this.days.length-1,1);var i=new MWF.xApplication.Meeting.DayView.Day(this,this.dayContainerNode,null,e,true);this.days.unshift(i)}},loadDay:function(t,e){if(!this.date)this.date=new Date;if(!t)t=this.dayCount;var i=this.date;for(var s=0;s<(t||this.dayCount);s++){var n=new MWF.xApplication.Meeting.DayView.Day(this,this.dayContainerNode,null,i,e&&s==0);this.days.push(n);i.increment()}},hide:function(){var t=new Fx.Morph(this.scrollNode,{duration:"300",transition:Fx.Transitions.Expo.easeOut});t.start({opacity:0}).chain(function(){this.scrollNode.setStyle("display","none")}.bind(this))},show:function(){this.scrollNode.setStyles(this.css.scrollNode);this.scrollNode.setStyles({display:""});var t=new Fx.Morph(this.scrollNode,{duration:"800",transition:Fx.Transitions.Expo.easeOut});this.app.fireAppEvent("resize");t.start({opacity:1,left:"0px"}).chain(function(){this.scrollNode.setStyles({position:"static",width:"auto",display:""})}.bind(this))},reload:function(){this.date=this.days.length>0?this.days[0].date.clone():this.date;this.days.each(function(t){t.destroy()});this.dayContainerNode.empty();this.days=[];this.loadDay(null,true)},destroy:function(){this.days.each(function(t){t.destroy()});this.app.removeEvent("resize",this.resetNodeSizeFun);this.scrollNode.destroy()}});MWF.xApplication.Meeting.DayView.Day=new Class({Implements:[Events],initialize:function(t,e,i,s,n){this.view=t;this.css=this.view.css;this.container=e;this.position=i||"bottom";this.app=this.view.app;this.date=s?s.clone().clearTime():(new Date).clearTime();this.today=(new Date).clearTime();this.isToday=this.date.diff(this.today)==0;this.times=[];this.meetings=[];this.isFirst=n;this.load()},load:function(){this.node=new Element("div.dayNode",{styles:this.css.dayNode}).inject(this.container,this.position);this.node.setStyle("min-height",""+this.view.dayNodeHeight+"px");this.node.addEvents({mouseover:function(){this.node.setStyles(this.css.dayNode_over)}.bind(this),mouseout:function(){this.node.setStyles(this.css.dayNode)}.bind(this)});this.titleNode=new Element("div.titleNode",{styles:this.css[!this.isToday?"dayTitleNode":"dayTitleNode_today"]}).inject(this.node);if(this.today.diff(this.date)>=0){var t;t=!this.isToday?"dayCreateIconNode":"dayCreateIconNode_today";this.dayCreateIconNode=new Element("div.dayCreateIconNode",{styles:this.css[t],events:{click:function(){this.app.addMeeting(this.date.clone().clearTime())}.bind(this)}}).inject(this.titleNode)}if(this.isFirst){t=!this.isToday?"dayTitleTextNode_first":"dayTitleTextNode_today_first"}else{t=!this.isToday?"dayTitleTextNode":"dayTitleTextNode_today"}this.titleTextNode=new Element("div.dayTitleTextNode",{styles:this.css[t],text:this.date.format("%Y年%m月%d日")}).inject(this.titleNode);if(this.isFirst){MWF.require("MWF.widget.Calendar",function(){this.calendar=new MWF.widget.Calendar(this.titleTextNode,{style:"meeting_blue",target:this.node,baseDate:this.date,onQueryComplate:function(t,e,i){var s=new Date.parse(e);this.view.toDay(s)}.bind(this)})}.bind(this))}this.dayWeekNode=new Element("div.dayWeekNode",{styles:this.css[!this.isToday?"dayWeekNode":"dayWeekNode_today"],text:this.getWeek()}).inject(this.titleNode);this.dayContentNode=new Element("div.dayContentNode",{styles:this.css.dayContentNode}).inject(this.node);this.loadMeetings()},resetHeight:function(){this.node.setStyle("min-height",""+this.view.dayNodeHeight+"px");if(this.noMeetingNode){this.noMeetingNode.setStyle("min-height",""+(this.view.dayNodeHeight-220)+"px");this.noMeetingNode.setStyle("line-height",""+(this.view.dayNodeHeight-220)+"px")}},getWeek:function(){var t=this.app.lp.weeks.arr[this.date.getDay()];var e="";var i=this.today;var s=i.diff(this.date);if(s==0){e=this.app.lp.today}else{e=t}return e},setFrist:function(){if(this.isFirst)return;this.isFirst=true;className=!this.isToday?"dayTitleTextNode_first":"dayTitleTextNode_today_first";this.titleTextNode.setStyles(this.css[className]);MWF.require("MWF.widget.Calendar",function(){this.calendar=new MWF.widget.Calendar(this.titleTextNode,{style:"meeting_blue",target:this.node,baseDate:this.date,onQueryComplate:function(t,e,i){var s=new Date.parse(e);this.view.toDay(s)}.bind(this)})}.bind(this))},disposeFrist:function(){if(!this.isFirst)return;this.isFirst=false;this.titleTextNode.removeEvent("click");this.titleTextNode.removeEvent("focus");var t=!this.isToday?"dayTitleTextNode":"dayTitleTextNode_today";this.titleTextNode.setStyles(this.css[t]);this.calendar.container.destroy();this.calendar=null},destroy:function(){if(this.calendar){this.calendar.container.destroy()}this.meetings.each(function(t){t.destroy()});this.meetings=[];this.node.destroy()},loadMeetings:function(){this.app.isMeetingViewer(function(t){this._loadMeetings(t)}.bind(this))},_loadMeetings:function(t){var e=this.date.getFullYear();var i=this.date.getMonth()+1;var s=this.date.getDate();this.app.actions[t?"listMeetingDayAll":"listMeetingDay"](e,i,s,function(t){var i=true;if(!t.data||t.data.length==0){}else{t.data.each(function(t,e){if(!t.myReject){i=false;this.meetings.push(new MWF.xApplication.Meeting.DayView.Meeting(this.dayContentNode,this,t))}}.bind(this))}if(i){this.noMeetingNode=new Element("div.noMeetingNode",{styles:this.css.noMeetingNode,text:this.app.lp.noMeeting}).inject(this.dayContentNode);this.noMeetingNode.setStyle("min-height",""+(this.view.dayNodeHeight-220)+"px");this.noMeetingNode.setStyle("line-height",""+(this.view.dayNodeHeight-220)+"px")}}.bind(this))},reload:function(){this.view.reload()}});MWF.xApplication.Meeting.DayView.Meeting=new Class({Extends:MWF.xApplication.Meeting.MeetingArea});
|