| 1 |
- MWF.require("MWF.widget.Calendar",null,false);var MWFCalendarDayView=MWF.xApplication.Calendar.DayView=new Class({Extends:MWF.widget.Common,Implements:[Options,Events],options:{style:"default",date:""},initialize:function(t,e,i){this.setOptions(i);this.path="/x_component_Calendar/$DayView/";this.cssPath="/x_component_Calendar/$DayView/"+this.options.style+"/css.wcss";this._loadCss();this.app=e;this.container=$(t);this.weekBegin=this.app.calendarConfig.weekBegin||"0";this.load()},load:function(){this.node=new Element("div.node",{styles:this.css.node}).inject(this.container);this.node.setStyle("position","relative");this.resetNodeSize();this.loadCalendar()},resetNodeSize:function(){var t=this.container.getSize();var e=t.y-50;this.node.setStyle("height",""+e+"px");if(this.calendar){this.calendar.resetBodySize()}},loadCalendar:function(){var t="";if(this.options.date){t=Date.parse(this.options.date)}else{t=new Date}this.calendar=new MWFCalendarDayView.Calendar(this,t)},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});t.start({opacity:1}).chain(function(){if(this.calendar.dataTable_wholeDay){this.calendar.dataTable_wholeDay.setStyle("display","")}}.bind(this))},reload:function(){if(this.calendar)this.calendar.reLoadCalendar()},recordStatus:function(){var t="";if(this.calendar)t=this.calendar.date;return{date:t.toString()}},destroy:function(){if(this.calendar){this.calendar.destroy()}this.node.destroy()}});MWFCalendarDayView.DayWidth;MWFCalendarDayView.HourHeight=48;MWFCalendarDayView.DayHeight=MWFCalendarDayView.HourHeight*24;MWFCalendarDayView.DayMsec=3600*24*1e3;MWFCalendarDayView.Calendar=new Class({Implements:[Events],initialize:function(t,e){this.view=t;this.css=this.view.css;this.container=this.view.node;this.app=this.view.app;this.lp=this.app.lp;this.date=e||new Date;this.today=new Date;this.load()},load:function(){this.startTime=new Date(this.date.get("year"),this.date.get("month"),this.date.get("date"),0,0,0);this.startTimeStr=this.startTime.format("db");this.endTime=new Date(this.date.get("year"),this.date.get("month"),this.date.get("date"),23,59,59);this.endTimeStr=this.endTime.format("db");this.titleNode=new Element("div",{styles:this.css.calendarTitleNode}).inject(this.container);this.titleTable=new Element("table",{styles:this.css.titleTable,border:"0",cellPadding:"0",cellSpacing:"0"}).inject(this.container);this.scrollNode=new Element("div.scrollNode",{styles:this.css.scrollNode}).inject(this.container);this.contentWarpNode=new Element("div.contentWarpNode",{styles:this.css.contentWarpNode}).inject(this.scrollNode);this.contentContainerNode=new Element("div.contentContainerNode",{styles:this.css.contentContainerNode}).inject(this.contentWarpNode);this.bodyNode=new Element("div.bodyNode",{styles:this.css.contentNode}).inject(this.contentContainerNode);this.setTitleNode();this.loadTitleTable();this.loadBodyTable();this.loadDataTable_wholeDay();this.loadDataTable();this.loadCalendar()},setTitleNode:function(){this.prevDayNode=new Element("div",{styles:this.css.calendarPrevDayNode}).inject(this.titleNode);var t=this.date.format("%Y年%m月%d日")+","+this.lp.weeks.arr[this.date.getDay()];this.titleTextNode=new Element("div",{styles:this.css.calendarTitleTextNode,text:t}).inject(this.titleNode);this.nextDayNode=new Element("div",{styles:this.css.calendarNextDayNode}).inject(this.titleNode);this.prevDayNode.addEvents({mouseover:function(){this.prevDayNode.setStyles(this.css.calendarPrevDayNode_over)}.bind(this),mouseout:function(){this.prevDayNode.setStyles(this.css.calendarPrevDayNode)}.bind(this),mousedown:function(){this.prevDayNode.setStyles(this.css.calendarPrevDayNode_down)}.bind(this),mouseup:function(){this.prevDayNode.setStyles(this.css.calendarPrevDayNode_over)}.bind(this),click:function(){this.changeDayPrev()}.bind(this)});this.nextDayNode.addEvents({mouseover:function(){this.nextDayNode.setStyles(this.css.calendarNextDayNode_over)}.bind(this),mouseout:function(){this.nextDayNode.setStyles(this.css.calendarNextDayNode)}.bind(this),mousedown:function(){this.nextDayNode.setStyles(this.css.calendarNextDayNode_down)}.bind(this),mouseup:function(){this.nextDayNode.setStyles(this.css.calendarNextDayNode_over)}.bind(this),click:function(){this.changeDayNext()}.bind(this)});this.titleTextNode.addEvents({mouseover:function(){this.titleTextNode.setStyles(this.css.calendarTitleTextNode_over)}.bind(this),mouseout:function(){this.titleTextNode.setStyles(this.css.calendarTitleTextNode)}.bind(this),mousedown:function(){this.titleTextNode.setStyles(this.css.calendarTitleTextNode_down)}.bind(this),mouseup:function(){this.titleTextNode.setStyles(this.css.calendarTitleTextNode_over)}.bind(this)});this.createDaySelector()},changeDayPrev:function(){this.date.decrement("day",1);var t=this.date.format("%Y年%m月%d日")+","+this.lp.weeks.arr[this.date.getDay()];this.titleTextNode.set("text",t);this.reLoadCalendar()},changeDayNext:function(){this.date.increment("day",1);var t=this.date.format("%Y年%m月%d日")+","+this.lp.weeks.arr[this.date.getDay()];this.titleTextNode.set("text",t);this.reLoadCalendar()},changeDaySelect:function(){if(!this.monthSelector)this.createDaySelector()},createDaySelector:function(){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 a=new Date.parse(e);this.changeDayTo(a)}.bind(this)})}.bind(this))},changeDayTo:function(t){this.date=t;var e=this.date.format("%Y年%m月%d日")+","+this.lp.weeks.arr[this.date.getDay()];this.titleTextNode.set("text",e);this.reLoadCalendar()},isToday:function(t){var e=new Date;if(e.get("year")!=t.get("year"))return false;if(e.get("month")!=t.get("month"))return false;if(e.get("date")!=t.get("date"))return false;return true},isSameday:function(t,e){if(t.get("year")!=e.get("year"))return false;if(t.get("month")!=e.get("month"))return false;if(t.get("date")!=e.get("date"))return false;return true},loadTitleTable:function(){if(!this.wholeDayTd){var t=new Element("tr").inject(this.titleTable);var e=new Element("td.calendarTableCell",{tdType:"hour",styles:this.css.calendarTableCell_hour}).inject(t);e.setStyle("min-height","80px");var i=new Element("div",{text:"全天"}).inject(e);this.wholeDayTd=new Element("td",{tdType:"calendar",styles:this.css.calendarTableCell}).inject(t);this.wholeDayTd.addEvent("click",function(t){this.setCurrentTd(this.wholeDayTd)}.bind(this));this.wholeDayTd.addEvent("dblclick",function(t){this.cancelCurrentTd();var e=this.date.format("%Y-%m-%d");var i=new MWF.xApplication.Calendar.EventForm(this,{},{startTime:Date.parse(t.target.retrieve("dateStr")),endTime:Date.parse(t.target.retrieve("dateStr")),isWholeday:true},{app:this.app});i.view=this;i.create()}.bind(this))}},loadBodyTable:function(){this.calendarTable=new Element("table",{styles:this.css.calendarTable,height:"100%",border:"0",cellPadding:"0",cellSpacing:"0"}).inject(this.bodyNode);this.hourTdMap={};for(var t=0;t<24;t++){var e=new Element("tr").inject(this.calendarTable);var i=new Element("td.calendarTableCell",{tdType:"hour",styles:this.css.calendarTableCell_hour,valign:"top"}).inject(e);var a=new Element("div",{text:t+":00"}).inject(i);i.store("hour",t);i=this.hourTdMap[t]=new Element("td",{tdType:"calendar",styles:this.css.calendarTableCell}).inject(e);i.store("hour",t);i.addEvent("click",function(t){this.setCurrentTd(t.target)}.bind(this));i.addEvent("dblclick",function(t){this.cancelCurrentTd();var e=t.target.retrieve("hour");var i=this.date.format("%Y-%m-%d");var a=new MWF.xApplication.Calendar.EventForm(this,{},{startTime:Date.parse(i+" "+e+":00"),endTime:Date.parse(i+" "+(e+1)+":00")},{app:this.app});a.view=this;a.create()}.bind(this));new Drag(i,{onStart:function(t,e){this.cancelCurrentTd();this.cellDragStart(t,e)}.bind(this),onDrag:function(t,e){this.cellDrag(t,e)}.bind(this),onComplete:function(t,e){this.completeDrag(t,e)}.bind(this)})}},setCurrentTd:function(t){t.setStyle("background-color","#fffdf2");if(this.currentSelectedTd){var e=this.isToday(this.date);this.currentSelectedTd.setStyle("background-color",e?"#F8FBFF":"#fff")}this.currentSelectedTd=t},cancelCurrentTd:function(){if(this.currentSelectedTd){var t=this.isToday(this.date);this.currentSelectedTd.setStyle("background-color",t?"#F8FBFF":"#fff")}this.currentSelectedTd=null},reLoadCalendar:function(){this.startTime=new Date(this.date.get("year"),this.date.get("month"),this.date.get("date"),0,0,0);this.startTimeStr=this.startTime.format("db");this.endTime=new Date(this.date.get("year"),this.date.get("month"),this.date.get("date"),23,59,59);this.endTimeStr=this.endTime.format("db");if(this.day){this.day.destroy()}this.day=null;if(this.wholeDay){this.wholeDay.destroy()}this.wholeDay=null;this.loadTitleTable();this.loadCalendar()},loadCalendar:function(){this.app.currentDate=this.date.clone();this.dateIndexMap=null;this.titleTable.getElement("td:nth-child(1)").setStyle("height","auto");this.loadData(function(t){this.loadwholeDay(this.wholeDayData);this.loadDataDay(this.inOneDayEvents);this.resetBodySize();this.setTodayTds();this.cancelCurrentTd()}.bind(this))},setTodayTds:function(){if(this.isToday(this.date)){this.wholeDayTd.setStyle("background-color","#f8fbff");Object.each(this.hourTdMap,function(t){t.setStyle("background-color","#f8fbff")});var t=new Date;var e=this.nowTd=this.hourTdMap[t.get("hours")];var i=t.get("minutes");i=i<2?2:i;var a=e.getPosition(this.bodyNode);this.nowTimeNode=new Element("div",{styles:{position:"absolute",left:a.x,top:a.y+(i-2)/60*MWFCalendarDayView.HourHeight,height:"2px",width:MWFCalendarDayView.DayWidth,"background-color":"#ff3333"}}).inject(this.bodyNode);this.isSetToday=true}else if(this.isSetToday){this.wholeDayTd.setStyle("background-color","#fff");Object.each(this.hourTdMap,function(t){t.setStyle("background-color","#fff")});if(this.nowTimeNode)this.nowTimeNode.destroy();if(this.nowTd)this.nowTd=null;this.isSetToday=false}},loadData:function(e){this.app.actions.listEventWithFilter({calendarIds:this.app.getSelectedCalendarId(),startTime:this.startTimeStr,endTime:this.endTimeStr},function(t){this.wholeDayData=t.data&&t.data.wholeDayEvents?t.data.wholeDayEvents:[];this.inOneDayEvents=[];(t.data&&t.data.inOneDayEvents?t.data.inOneDayEvents:[]).each(function(t){if(t.inOneDayEvents.length>0){this.inOneDayEvents.push(t)}}.bind(this));if(e)e()}.bind(this))},loadDataTable_wholeDay:function(t){this.dataTable_wholeDay=new Element("table.dataTable",{styles:this.css.calendarTable,border:"0",cellPadding:"0",cellSpacing:"0"}).inject(this.container);this.dataTable_wholeDay.setStyles({display:"none",position:"absolute",top:"51px",left:"0px",margin:"0px auto 0px 12px"});var e=new Element("tr").inject(this.dataTable_wholeDay);new Element("td",{styles:{height:"0px",position:"relative"}}).inject(e);this.dataTd_wholeDay=new Element("td",{valign:"top",styles:{height:"0px",position:"relative"}}).inject(e)},loadwholeDay:function(t){this.wholeDay=new MWFCalendarDayView.Calendar.wholeDay(this,t,this.date)},loadDataTable:function(t){this.bodyNode.setStyle("position","relative");this.dataTable=new Element("table.dataTable",{styles:this.css.calendarTable,height:"100%",border:"0",cellPadding:"0",cellSpacing:"0"}).inject(this.bodyNode);this.dataTable.setStyles({position:"absolute",top:"0px",left:"0px"});var e=new Element("tr").inject(this.dataTable);new Element("td",{styles:{height:"0px",position:"relative"}}).inject(e);this.dataTd=new Element("td",{styles:{height:"0px",position:"relative"}}).inject(e)},loadDataDay:function(t){if(t.length>0){this.loadDay(t[0].inOneDayEvents)}},loadDay:function(t){this.day=new MWFCalendarDayView.Calendar.Day(this.dataTd,this.date,this,t)},resetBodySize:function(){var t=this.container.getSize();var e=this.titleNode.getSize();var i=this.titleTable.getSize();var a=t.y-e.y-i.y;if(this.contentWarpNode){this.contentWarpNode.setStyles({width:t.x-40+"px"})}this.scrollNode.setStyle("height",""+a+"px");var s=60;var n=MWFCalendarDayView.DayWidth=t.x-40-s;if(this.calendarTable){this.calendarTable.setStyles({width:t.x-40+"px"});var d=this.calendarTable.getElement("tr:nth-child(1)");d.getElements("td").each(function(t,e){t.setStyle("width",(e==0?s:n)+"px")})}if(this.titleTable){this.titleTable.setStyles({width:t.x-40+"px"});var d=this.titleTable.getElement("tr:nth-child(1)");d.getElements("td").each(function(t,e){t.setStyle("width",(e==0?s:n)+"px")})}if(this.dataTable){this.dataTable.setStyles({width:t.x-40+"px"});var d=this.dataTable.getElement("tr:nth-child(1)");d.getElements("td").each(function(t,e){t.setStyle("width",(e==0?s:n)+"px")})}if(this.day){this.day.resize()}if(this.dataTable_wholeDay){this.dataTable_wholeDay.setStyles({width:t.x-40+"px"});var d=this.dataTable_wholeDay.getElement("tr:nth-child(1)");d.getElements("td").each(function(t,e){t.setStyle("width",(e==0?s:n)+"px")})}if(this.wholeDay){this.wholeDay.resize()}if(this.nowTimeNode){this.nowTimeNode.setStyle("width",n);if(this.nowTd)this.nowTimeNode.setStyle("left",this.nowTd.getPosition(this.bodyNode).x)}},reload:function(){this.view.reload()},destroy:function(){if(this.day){this.day.destroy()}if(this.wholeDay){this.wholeDay.destroy()}this.container.empty()},getIndexByPage:function(t){var e=this.calendarTable.getPosition();this.pageOffsetHeight=t.y-e.y;var i=(t.y-e.y)/MWFCalendarDayView.HourHeight;if(i<0||i>24)return null;return Math.floor(i)},getIndexListByRange:function(t,e){var i=Math.min(t,e);var a=Math.max(t,e);var s=[];for(var n=i;n<=a;n++){s.push(n)}return s},cellDragStart:function(t,e){t.store("index",this.getIndexByPage(e.page));this.scrollNodeHeight=this.scrollNode.getSize().y},cellDrag:function(t,e){var i=t.retrieve("index");var a=this.getIndexByPage(e.page);if(!a)return;var s=this.getIndexListByRange(i,a);var n=this.isToday(this.date);if(this.selectedIndexRange){var d=this.selectedIndexRange;this.selectedIndexRange.each(function(t){if(!s.contains(t)){this.hourTdMap[t].setStyle("background-color",n?"#F8FBFF":"#fff")}}.bind(this));s.each(function(t){if(!this.selectedIndexRange.contains(t)){this.hourTdMap[t].setStyle("background-color","#fffdf2")}}.bind(this))}else{for(var o=0;o<s.length;o++){this.hourTdMap[s[o]].setStyle("background-color","#fffdf2")}}this.selectedIndexRange=s;var h=this.scrollNode.getScroll().y;if(this.pageOffsetHeight+MWFCalendarDayView.HourHeight*1.5>this.scrollNodeHeight+h){window.setTimeout(function(){this.scrollNode.scrollTo(0,h+MWFCalendarDayView.HourHeight)}.bind(this),200)}else if(this.pageOffsetHeight-MWFCalendarDayView.HourHeight*1.5<h){window.setTimeout(function(){this.scrollNode.scrollTo(0,h-MWFCalendarDayView.HourHeight)}.bind(this),200)}},completeDrag:function(t,e){var i=this.isToday(this.date);if(this.selectedIndexRange&&this.selectedIndexRange.length){this.selectedIndexRange.each(function(t){this.hourTdMap[t].setStyle("background-color",i?"#F8FBFF":"#fff")}.bind(this));var a=this.selectedIndexRange[0];var s=this.selectedIndexRange.getLast();var n=this.date.format("%Y-%m-%d")+" "+a+":00";var d=this.date.format("%Y-%m-%d")+" "+s+":59";var o=new MWF.xApplication.Calendar.EventForm(this,{},{startTime:n,endTime:d},{app:this.app});o.view=this;o.create();this.selectedIndexRange=null}}});MWFCalendarDayView.Calendar.wholeDay=new Class({Implements:[Events],initialize:function(t,e,i){this.calendar=t;this.view=this.calendar.view;this.css=this.calendar.css;this.app=this.calendar.app;this.date=i.clone();this.data=e;this.load()},load:function(){this.startTime=this.calendar.startTime;this.endTime=this.calendar.endTime;this.rangeList=[];this.rangeObject={};this.data.each(function(t,e){var i=this.getTimeRange(t.startTime,t.endTime);if(!i)return null;t.range=i;t.range.id=t.id;t.range.data=t;this.rangeList.push(i);this.rangeObject[t.id]=i}.bind(this));this.sortRange();this.calendar.titleTable.getElement("td:nth-child(1)").setStyle("height",24*this.rangeList.length+3);this.documentList=[];this.rangeList.each(function(t,e){var i=t.data;if(!i)return null;this.documentList.push(new MWFCalendarDayView.Calendar.wholeDayDocument(this,i,t))}.bind(this))},sortRange:function(){this.rangeList.sort(function(t,e){return e.diff-t.diff}.bind(this))},getTimeRange:function(t,e){var i=Date.parse(t);var a=Date.parse(e);if(a<this.startTime)return null;if(this.endTime<i)return null;if(i<this.startTime)i=this.startTime.clone();if(this.endTime<a)a=this.endTime.clone();var a=new Date(a.get("year"),a.get("month"),a.get("date"),23,59,59);i=Date.parse(t);a=Date.parse(e);return{start:i,end:a,diff:a-i}},resize:function(){if(!this.documentList)return;this.documentList.each(function(t){t.resize()}.bind(this))},destroy:function(){if(!this.documentList)return;while(this.documentList.length){this.documentList.pop().destroy()}this.calendar.dataTd_wholeDay.empty()}});MWFCalendarDayView.Calendar.wholeDayDocument=new Class({initialize:function(t,e,i){this.day=t;this.calendar=t.calendar;this.view=this.calendar.view;this.css=this.calendar.css;this.app=this.calendar.app;this.date=t.date.clone();this.data=e;this.range=i;this.load()},load:function(){this.container=this.calendar.dataTd_wholeDay;var t=this.items=[];this.data.dateStart=Date.parse(this.data.startTime);this.data.dateEnd=Date.parse(this.data.endTime);this.yIndex=this.getUsefulTdYIndex();this.createNode()},getUsefulTdYIndex:function(){if(typeOf(this.day.yIndex)=="null"){this.day.yIndex=0}else{this.day.yIndex++}return this.day.yIndex},createNode:function(){var t=this.lightColor=MWFCalendar.ColorOptions.getLightColor(this.data.color);var e=this.node=new Element("div",{styles:{position:"absolute",overflow:"hidden",height:"20px","line-height":"20px","border-top":"1px solid "+t,"border-bottom":"1px solid "+t,"background-color":t},events:{click:function(){var t=new MWF.xApplication.Calendar.EventForm(this,this.data,{isFull:true},{app:this.app});t.view=this.view;t.edit()}.bind(this),mouseover:function(){this.node.setStyle("border-color",this.data.color)}.bind(this),mouseout:function(){this.node.setStyle("border-color",this.lightColor)}.bind(this)}}).inject(this.container);e.setStyles(this.getCoordinate());if(!this.beginDateOutRange){e.setStyles({"border-left":"1px solid "+t,"border-top-left-radius":"10px","border-bottom-left-radius":"10px"})}if(!this.endDateOutRange){e.setStyles({"border-right":"1px solid "+t,"border-top-right-radius":"10px","border-bottom-right-radius":"10px"})}var i=new Element("div",{styles:{"font-size":"10px","padding-left":"2px",float:"left"},text:this.data.dateStart.format("%m-%d %H:%M")+"至"+this.data.dateEnd.format("%m-%d %H:%M")}).inject(e);var a=new Element("div",{styles:{"padding-left":"5px","font-size":"12px",float:"left"},text:this.data.title}).inject(e);this.tooltip=new MWF.xApplication.Calendar.EventTooltip(this.app.content,this.node,this.app,this.data,{axis:"y",delay:350})},getCoordinate:function(){var t=this.data;var e=this.range;var i=this.yIndex*24;var a=this.day.startTime;var s=this.day.endTime;if(this.data.dateStart<a){this.beginDateOutRange=true}else{this.beginDateOutRange=false;a=this.data.dateStart}if(this.data.dateEnd>s){this.endDateOutRange=true}else{this.endDateOutRange=false;s=this.data.dateEnd}var n=s-a;var d=n/MWFCalendarDayView.DayMsec*MWFCalendarDayView.DayWidth-2;var o=(a-this.day.startTime)/MWFCalendarDayView.DayMsec*MWFCalendarDayView.DayWidth+3;return{top:i+2,left:o,width:d}},resize:function(){this.node.setStyles(this.getCoordinate())},reload:function(){if(this.tooltip)this.tooltip.destroy();this.view.reload()},destroy:function(){if(this.tooltip)this.tooltip.destroy();this.node.destroy()}});MWFCalendarDayView.Calendar.Day=new Class({Implements:[Events],initialize:function(t,e,i,a){this.container=t;this.calendar=i;this.view=this.calendar.view;this.css=this.calendar.css;this.app=this.calendar.app;this.date=e.clone();this.data=a;this.calendars=[];this.load()},load:function(){this.day=this.date.getDate();this.month=this.date.getMonth();this.year=this.date.getFullYear();this.startTime=this.calendar.startTime;this.endTime=this.calendar.endTime;this.rangeList=[];this.rangeObject={};this.data.each(function(t,e){var i=this.getTimeRange(t.startTime,t.endTime);if(!i)return null;t.range=i;t.range.data=t;t.range.id=t.id;this.rangeList.push(i);this.rangeObject[t.id]=i}.bind(this));this.sortRange();var t=this.data.length;this.documentList=[];this.rangeList.each(function(t,e){t.index=this.rangeList.indexOf(t);var i=t.data;this.documentList.push(new MWFCalendarDayView.Calendar.Document(this.container,this,i,t))}.bind(this))},sortRange:function(){this.rangeList.sort(function(t,e){return t.startTime-e.startTime})},getTimeRange:function(t,e){var i=typeOf(t)=="string"?Date.parse(t):t;var a=typeOf(e)=="string"?Date.parse(e):e;if(a<=this.startTime){return null}if(this.endTime<=i){return null}var s={start:i<=this.startTime?[0,0,0]:[i.get("hr"),i.get("min"),i.get("sec")],end:this.endTime<=a?[23,59,59]:[a.get("hr"),a.get("min"),a.get("sec")]};s.startTime=new Date(this.year,this.month,this.day,s.start[0],s.start[1],s.start[2]);s.endTime=new Date(this.year,this.month,this.day,s.end[0],s.end[1],s.end[2]);s.diff=s.endTime-s.startTime;return s},resize:function(){if(!this.documentList)return;this.documentList.each(function(t){t.resize()}.bind(this))},reload:function(){this.view.reload()},destroy:function(){while(this.documentList.length>0){this.documentList.pop().destroy()}this.container.empty()}});MWFCalendarDayView.Calendar.Document=new Class({initialize:function(t,e,i,a){this.container=t;this.day=e;this.calendar=e.calendar;this.view=this.calendar.view;this.css=this.calendar.css;this.app=this.calendar.app;this.date=e.date.clone();this.data=i;this.range=a;this.load()},load:function(){var t=this.lightColor=MWFCalendar.ColorOptions.getLightColor(this.data.color);var e=this.node=new Element("div",{styles:{position:"absolute",border:"1px solid "+t,"background-color":t,overflow:"hidden","border-radius":"5px","max-width":"150px"},events:{click:function(){var t=new MWF.xApplication.Calendar.EventForm(this,this.data,{isFull:true},{app:this.app});t.view=this.view;t.edit()}.bind(this),mouseover:function(){this.node.setStyle("border-color",this.data.color)}.bind(this),mouseout:function(){this.node.setStyle("border-color",this.lightColor)}.bind(this)}}).inject(this.container);e.setStyles(this.getCoordinate());var i=new Element("div",{styles:{"font-size":"10px","padding-top":"2px","padding-left":"2px"},text:this.range.startTime.format("%H:%M")+"-"+this.range.endTime.format("%H:%M")}).inject(e);var a=new Element("div",{styles:{"padding-top":"10px","padding-left":"5px","font-size":"12px"},text:this.data.title}).inject(e);this.tooltip=new MWF.xApplication.Calendar.EventTooltip(this.app.content,this.node,this.app,this.data,{axis:"x",delay:350})},resize:function(){this.node.setStyles(this.getCoordinate())},getCoordinate:function(){var t=this.data;var e=this.range;var i=Math.floor((e.endTime-e.startTime)/MWFCalendarDayView.DayMsec*MWFCalendarDayView.DayHeight)-4;var a=Math.floor((e.startTime-this.day.startTime)/MWFCalendarDayView.DayMsec*MWFCalendarDayView.DayHeight)+2;var s=Math.floor(MWFCalendarDayView.DayWidth/this.day.rangeList.length)-5;if(s>150){s=150}var n=(s+5)*this.range.index+3;return{top:a,left:n,width:s,height:i}},reload:function(){if(this.tooltip)this.tooltip.destroy();this.view.reload()},destroy:function(){if(this.tooltip)this.tooltip.destroy();this.node.destroy()}});
|