angular-calendar-scheduler
Version:
This project provide a scheduler view component for [mattlewis92/angular-calendar](https://github.com/mattlewis92/angular-calendar).
1 lines • 76.9 kB
JavaScript
!function(e,l){"object"==typeof exports&&"undefined"!=typeof module?l(exports,require("@angular/core"),require("@angular/common"),require("angular-calendar/date-adapters/date-fns"),require("angular-calendar"),require("rxjs"),require("date-fns"),require("angular-calendar/esm2015/modules/common/calendar-drag-helper.provider"),require("angular-calendar/esm2015/modules/common/calendar-resize-helper.provider"),require("moment")):"function"==typeof define&&define.amd?define("angular-calendar-scheduler",["exports","@angular/core","@angular/common","angular-calendar/date-adapters/date-fns","angular-calendar","rxjs","date-fns","angular-calendar/esm2015/modules/common/calendar-drag-helper.provider","angular-calendar/esm2015/modules/common/calendar-resize-helper.provider","moment"],l):l((e=e||self)["angular-calendar-scheduler"]={},e.ng.core,e.ng.common,e.dateFns,e.angularCalendar,e.rxjs,e.dateFns$1,e.calendarDragHelper_provider,e.calendarResizeHelper_provider,e.momentImported)}(this,function(e,l,c,t,r,a,s,n,d,h){"use strict";var o=function(e,l){return(o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,l){e.__proto__=l}||function(e,l){for(var c in l)l.hasOwnProperty(c)&&(e[c]=l[c])})(e,l)};function u(e,l){function c(){this.constructor=e}o(e,l),e.prototype=null===l?Object.create(l):(c.prototype=l.prototype,new c)}var i=function(){return(i=Object.assign||function(e){for(var l,c=1,t=arguments.length;c<t;c++)for(var r in l=arguments[c])Object.prototype.hasOwnProperty.call(l,r)&&(e[r]=l[r]);return e}).apply(this,arguments)};function v(e,l,c,t){var r,a=arguments.length,s=a<3?l:null===t?t=Object.getOwnPropertyDescriptor(l,c):t;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,l,c,t);else for(var n=e.length-1;n>=0;n--)(r=e[n])&&(s=(a<3?r(s):a>3?r(l,c,s):r(l,c))||s);return a>3&&s&&Object.defineProperty(l,c,s),s}function p(e,l){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,l)}function g(e,l){var c="function"==typeof Symbol&&e[Symbol.iterator];if(!c)return e;var t,r,a=c.call(e),s=[];try{for(;(void 0===l||l-- >0)&&!(t=a.next()).done;)s.push(t.value)}catch(n){r={error:n}}finally{try{t&&!t.done&&(c=a["return"])&&c.call(a)}finally{if(r)throw r.error}}return s}var m,w=function(){function e(e){function l(l,c){return e&&l!==undefined?l:c}void 0===e&&(e={}),this.locale="en",this.headerDateFormat="daysRange",this.locale=l(e.locale,this.locale),this.headerDateFormat=l(e.headerDateFormat,this.headerDateFormat)}return e=v([l.Injectable(),p("design:paramtypes",[e])],e)}();!function(e){e[e.SUNDAY=0]="SUNDAY",e[e.MONDAY=1]="MONDAY",e[e.TUESDAY=2]="TUESDAY",e[e.WEDNESDAY=3]="WEDNESDAY",e[e.THURSDAY=4]="THURSDAY",e[e.FRIDAY=5]="FRIDAY",e[e.SATURDAY=6]="SATURDAY"}(m||(m={}));var f=[m.SUNDAY,m.SATURDAY],y=7,b=60,D=40,S=100,C=2;function E(e,l){var c,t,r=l.viewDate,a=l.hourSegments,s=l.dayStart,n=l.dayEnd,d=[],h=e.setMinutes(e.setHours(e.startOfDay(r),s.hour),s.minute),o=e.setMinutes(e.setHours(e.startOfMinute(e.endOfDay(r)),n.hour),n.minute),u=b/a,i=e.startOfDay(r);return(c=s.hour,t=n.hour,Array.from({length:t+1-c},function(e,l){return l+c})).forEach(function(l,c){for(var t=[],r=0;r<a;r++){var s=e.addMinutes(e.addHours(i,l),r*u);s>=h&&s<o&&t.push({date:s,isStart:0===r})}t.length>0&&d.push({segments:t})}),d}function k(e,l){for(var c=l.viewDate,t=l.weekStartsOn,r=l.startsWithToday,a=l.excluded||[],s=l.weekendDays||f,n=r?new Date(c):e.startOfWeek(c,{weekStartsOn:t}),d=[],h=function(l){var c=e.addDays(n,l);a.some(function(e){return c.getDay()===e})||d.push(function(e,l){var c=l.date,t=e.startOfDay(new Date);return{date:c,isPast:c<t,isToday:e.isSameDay(c,t),isFuture:c>=e.addDays(t,1),isWeekend:l.weekendDays.indexOf(e.getDay(c))>-1,inMonth:e.isSameMonth(c,t),hours:[]}}(e,{date:c,weekendDays:s}))},o=0;o<y;o++)h(o);return d}function T(e,l){var c=l.events,t=l.periodStart,r=l.periodEnd;return c.filter(function(l){return function(e,l){var c=e.isSameSecond,t=l.event,r=l.periodStart,a=l.periodEnd,s=t.start,n=t.end||t.start;if(s>r&&s<a)return!0;if(n>r&&n<a)return!0;if(s<r&&n>a)return!0;if(c(s,r)||c(s,a))return!0;if(c(n,r)||c(n,a))return!0;return!1}(e,{event:l,periodStart:t,periodEnd:r})})}var x=function(e,l){return l.event.id?l.event.id:l.event},H=function(e,l){return l.hours[0]?l.hours[0].segments[0].date.toISOString():l},M=function(e,l){return l.segments[0].date.toISOString()},O=function(e,l){return l.date.toISOString()};function I(e,l){return b/(e*l)*l}function A(e,l,c){return l.end?l.end:e.addMinutes(l.start,c)}function z(e,l){return Math.round(e/l)*l}function F(e,l,c,t){return z(e,t||c)*(b/(l*c))}function R(e,l,c){var t=l||e;return c.start<=e&&e<=c.end||c.start<=t&&t<=c.end}function B(e,l,c){return e.dropData&&e.dropData.event&&e.dropData.calendarId!==c}var W=function(){function e(e){this.dateAdapter=e}return e.prototype.getSchedulerViewHourGrid=function(e){return E(this.dateAdapter,e)},e.prototype.getSchedulerViewDays=function(e){return k(this.dateAdapter,e)},e.prototype.getSchedulerView=function(e){return function(e,l){var c=l.events||[];c||(c=[]);var t=l.viewDate,r=l.weekStartsOn,a=l.startsWithToday,s=l.excluded||[],n=l.hourSegments||C,d=l.hourSegmentHeight||D,h=l.eventWidth||S,o=l.dayStart,u=l.dayEnd,i=a?e.startOfDay(t):e.startOfWeek(t,{weekStartsOn:r}),v=a?e.addDays(e.endOfDay(t),6):e.endOfWeek(t,{weekStartsOn:r}),p=T(e,{events:c,periodStart:i,periodEnd:v}),g=k(e,{viewDate:t,weekStartsOn:r,startsWithToday:a,excluded:s});return g.forEach(function(l){var c=e.setMinutes(e.setHours(e.startOfDay(l.date),o.hour),o.minute),r=e.setMinutes(e.setHours(e.startOfMinute(e.endOfDay(l.date)),u.hour),u.minute),a=[],s=T(e,{events:p,periodStart:c,periodEnd:r});l.events=s.sort(function(e,l){return e.start.valueOf()-l.start.valueOf()}).map(function(l){var t=l.start,s=l.end||t,o=t<c,u=e.addMinutes(s,-1)>r,i=(n*d+1)/b,v=0;t>c&&(v+=e.differenceInMinutes(t,c)),v*=i;var p=o?c:t,g=u?r:s,m=e.differenceInMinutes(g,p);l.end?m*=i:m=d;for(var w=function(e,l,c){return e.filter(function(e){var t=e.top,r=e.top+e.height;return l<r&&r<c||t<=l&&c<=r})}(a,v,v+m),f=0;w.some(function(e){return e.left===f});)f+=h;var y={event:l,top:v,height:m,width:h,left:f,startsBeforeDay:o,endsAfterDay:u,isProcessed:!1};return a.push(y),y}),l.hours=E(e,{viewDate:t,hourSegments:n,dayStart:{hour:o.hour,minute:o.minute},dayEnd:{hour:u.hour,minute:u.minute}}).map(function(c){var t=new Date(l.date.getFullYear(),l.date.getMonth(),l.date.getDate(),c.segments[0].date.getHours()),r=new Date(l.date.getFullYear(),l.date.getMonth(),l.date.getDate(),c.segments[0].date.getHours()),a=e.addMinutes(e.addHours(r,1),-1),d=T(e,{events:s,periodStart:r,periodEnd:a}),h=c.segments.map(function(c){c.date=e.setDate(e.setMonth(e.setYear(c.date,l.date.getFullYear()),l.date.getMonth()),l.date.getDate());var t=c.date,r=e.addMinutes(c.date,b/n),a=T(e,{events:d,periodStart:t,periodEnd:r});return{segment:c,date:new Date(c.date),events:a}});return{hour:c,date:t,events:d,segments:h}})}),{days:g,period:{events:p,start:i,end:v}}}(this.dateAdapter,e)},e=v([l.Injectable(),p("design:paramtypes",[r.DateAdapter])],e)}(),P=function(){function e(e,c,t,r,a){this.cdr=e,this.config=t,this.utils=r,this.dateAdapter=a,this.events=[],this.hourSegments=C,this.hourSegmentHeight=D,this.excludeDays=[],this.startsWithToday=!1,this.showEventContent=!0,this.showEventActions=!0,this.showEventStatus=!0,this.showSegmentHour=!1,this.eventSnapSize=this.hourSegmentHeight,this.snapDraggedEvents=!0,this.dayStartHour=0,this.dayStartMinute=0,this.dayEndHour=23,this.dayEndMinute=59,this.eventWidthPercent=S,this.dayHeaderClicked=new l.EventEmitter,this.hourClicked=new l.EventEmitter,this.segmentClicked=new l.EventEmitter,this.eventClicked=new l.EventEmitter,this.eventTimesChanged=new l.EventEmitter,this.hours=[],this.resizes=new Map,this.eventDragEnter=0,this.dragActive=!1,this.calendarId=Symbol("angular calendar scheduler view id"),this.trackByHourColumn=H,this.trackByDayOrEvent=x,this.trackByHour=M,this.trackByHourSegment=O,this.locale=this.config.locale||c}var c,t;return e.prototype.ngOnInit=function(){var e=this;this.refresh&&(this.refreshSubscription=this.refresh.subscribe(function(){e.refreshAll(),e.cdr.markForCheck()}))},e.prototype.ngOnChanges=function(e){(e.viewDate||e.excludeDays||e.weekendDays)&&this.refreshHeader(),(e.viewDate||e.events||e.dayStartHour||e.dayEndHour||e.dayStartMinute||e.dayEndMinute||e.excludeDays||e.eventWidth)&&(this.refreshHourGrid(),this.refreshBody())},e.prototype.ngOnDestroy=function(){this.refreshSubscription&&this.refreshSubscription.unsubscribe()},e.prototype.getPositioningClasses=function(e,l){return[this.getDayClass(l.start),this.getTimeClass(e.date,l),this.getLengthClass(e.date,l)].join(" ")},e.prototype.getDayClass=function(e){return""},e.prototype.getTimeClass=function(e,l){if(this.dateAdapter.isSameDay(e,l.start)){var c=l.start.getHours();return this.dayStartHour>0&&(c=l.start.getHours()-this.dayStartHour),"time"+(c<10?"0"+c:""+c)+(l.start.getMinutes()<10?"0"+l.start.getMinutes():""+l.start.getMinutes())}if(s.isBefore(l.start,this.dateAdapter.startOfDay(e)))return"time0000"},e.prototype.getLengthClass=function(e,l){if(this.dateAdapter.isSameDay(e,l.start)){var c=this.dateAdapter.differenceInMinutes(l.end,l.start),t=this.dateAdapter.differenceInMinutes(this.dateAdapter.setMinutes(this.dateAdapter.setHours(l.start,this.dayEndHour+1),0),l.start);return t>c?"length"+c:"length"+t}if(s.isBefore(l.start,this.dateAdapter.startOfDay(e))){var r=0;return this.dateAdapter.isSameDay(e,l.end)?(r=this.dateAdapter.differenceInMinutes(l.end,this.dateAdapter.startOfDay(e)),this.dayStartHour>0&&(r=(l.end.getHours()-this.dayStartHour)*b)):r=(this.dayEndHour+1-this.dayStartHour)*b,"length"+r}},e.prototype.refreshHourGrid=function(){this.hours=this.utils.getSchedulerViewHourGrid({viewDate:this.viewDate,hourSegments:this.hourSegments,dayStart:{hour:this.dayStartHour,minute:this.dayStartMinute},dayEnd:{hour:this.dayEndHour,minute:this.dayEndMinute}})},e.prototype.refreshHeader=function(){this.days=this.utils.getSchedulerViewDays({viewDate:this.viewDate,weekStartsOn:this.weekStartsOn,startsWithToday:this.startsWithToday,excluded:this.excludeDays,weekendDays:this.weekendDays})},e.prototype.refreshBody=function(e){var l=this;this.view=this.getSchedulerView(e||this.events),this.view.days.forEach(function(e){e.events.forEach(function(c){l.scaleOverlappingEvents(c.event.start,c.event.end,e.events)})}),this.dayModifier&&this.days.forEach(function(e){return l.dayModifier(e)}),(this.dayModifier||this.hourModifier||this.segmentModifier)&&this.view.days.forEach(function(e){l.dayModifier&&l.dayModifier(e),e.hours.forEach(function(e){l.hourModifier&&l.hourModifier(e),e.segments.forEach(function(e){l.segmentModifier&&l.segmentModifier(e)})})}),this.eventModifier&&this.events.forEach(function(e){return l.eventModifier(e)})},e.prototype.refreshAll=function(){this.refreshHeader(),this.refreshHourGrid(),this.refreshBody()},e.prototype.getSchedulerView=function(e){return this.utils.getSchedulerView({events:e,viewDate:this.viewDate,hourSegments:this.hourSegments,weekStartsOn:this.weekStartsOn,startsWithToday:this.startsWithToday,dayStart:{hour:this.dayStartHour,minute:this.dayStartMinute},dayEnd:{hour:this.dayEndHour,minute:this.dayEndMinute},excluded:this.excludeDays,eventWidth:this.eventWidthPercent,hourSegmentHeight:this.hourSegmentHeight})},e.prototype.scaleOverlappingEvents=function(e,l,c){var t=e,r=l,a=[],s=0;if(c.forEach(function(c){if(!c.isProcessed){if(c.event.start<e&&c.event.end>e)t=c.event.start;else if(c.event.end>l&&c.event.start<l)r=c.event.end;else if(!(c.event.end<=l&&c.event.start>=e))return;c.left>s&&(s=c.left),a.push(c)}}),e===t&&l===r){var n=Math.floor(s/this.eventWidthPercent)+1;a.forEach(function(e){e.isProcessed=!0,e.left/=n,e.width/=n})}else this.scaleOverlappingEvents(t,r,c)},e.prototype.resizeStarted=function(e,l,c){this.resizes.set(l.event,c),this.dayColumnWidth=Math.floor(e.offsetWidth/this.days.length);var t=new d.CalendarResizeHelper(e);this.validateResize=function(e){var l=e.rectangle;return t.validateResize({rectangle:l})},this.cdr.markForCheck()},e.prototype.resizing=function(e,l){var c=this;this.resizes.set(e.event,l);var t=new Map,r=function(){for(var e=[],l=0;l<arguments.length;l++)e=e.concat(g(arguments[l]));return e}(this.events);this.resizes.forEach(function(e,l){var a=c.getResizedEventDates(l,e),s=i({},l,a);t.set(s,l);var n=r.indexOf(l);r[n]=s}),this.restoreOriginalEvents(r,t)},e.prototype.resizeEnded=function(e){this.view=this.getSchedulerView(this.events);var l=this.resizes.get(e.event);this.resizes["delete"](e.event);var c=this.getResizedEventDates(e.event,l);this.eventTimesChanged.emit({newStart:c.start,newEnd:c.end,event:e.event,type:r.CalendarEventTimesChangedEventType.Resize})},e.prototype.getResizedEventDates=function(e,l){var c=I(this.hourSegments,this.hourSegmentHeight),t={start:e.start,end:A(this.dateAdapter,e,c)},r=(e.end,function(e,l){var c={};for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&l.indexOf(t)<0&&(c[t]=e[t]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(t=Object.getOwnPropertySymbols(e);r<t.length;r++)l.indexOf(t[r])<0&&(c[t[r]]=e[t[r]])}return c}(e,["end"])),a={start:this.dateAdapter.addMinutes(t.end,-1*c),end:A(this.dateAdapter,r,c)};if(l.edges.left){var s=Math.round(+l.edges.left/this.dayColumnWidth),n=this.dateAdapter.addDays(t.start,s);t.start=n<a.start?n:a.start}else if(l.edges.right){s=Math.round(+l.edges.right/this.dayColumnWidth);var d=this.dateAdapter.addDays(t.end,s);t.end=d>a.end?d:a.end}if(l.edges.top){var h=this.eventSnapSize||this.hourSegmentHeight,o=Math.round(l.edges.top/h)*h*(b/(this.hourSegments*this.hourSegmentHeight));n=this.dateAdapter.addMinutes(t.start,o);t.start=n<a.start?n:a.start}else if(l.edges.bottom){h=this.eventSnapSize||this.hourSegmentHeight,o=Math.round(l.edges.bottom/h)*h*(b/(this.hourSegments*this.hourSegmentHeight)),d=this.dateAdapter.addMinutes(t.end,o);t.end=d>a.end?d:a.end}return t},e.prototype.eventDropped=function(e,l){B(e,0,this.calendarId)&&this.eventTimesChanged.emit({type:r.CalendarEventTimesChangedEventType.Drop,event:e.dropData.event,newStart:l,newEnd:null})},e.prototype.dragStarted=function(e,l,c){var t=this;this.dayColumnWidth=Math.floor(e.offsetWidth/this.days.length);var r=new n.CalendarDragHelper(e,l);this.validateDrag=function(e){var l=e.x,c=e.y;return 0===t.resizes.size&&r.validateDrag({x:l,y:c,snapDraggedEvents:t.snapDraggedEvents})},this.dragActive=!0,this.eventDragEnter=0,!this.snapDraggedEvents&&c&&this.view.days.forEach(function(e){var l=e.events.find(function(e){return e.event===c.event&&e!==c});l&&(l.width=0,l.height=0)}),this.cdr.markForCheck()},e.prototype.dragMove=function(e,l){if(this.snapDraggedEvents){var c=this.getDragMovedEventTimes(e,l,this.dayColumnWidth,!0),t=e.event,r=i({},t,c),a=this.events.map(function(e){return e===t?r:e});this.restoreOriginalEvents(a,new Map([[r,t]]))}},e.prototype.dragEnded=function(e,l,c,t){void 0===t&&(t=!1),this.view=this.getSchedulerView(this.events),this.dragActive=!1;var a=this.getDragMovedEventTimes(e,l,c,t),s=a.start,n=a.end;this.eventDragEnter>0&&R(s,n,this.view.period)&&this.eventTimesChanged.emit({newStart:s,newEnd:n,event:e.event,type:r.CalendarEventTimesChangedEventType.Drag})},e.prototype.getDragMovedEventTimes=function(e,l,c,t){var r,a=z(l.x,c)/c,s=t?F(l.y,this.hourSegments,this.hourSegmentHeight,this.eventSnapSize):0,n=this.dateAdapter.addMinutes(this.dateAdapter.addDays(e.event.start,a),s);return e.event.end&&(r=this.dateAdapter.addMinutes(this.dateAdapter.addDays(e.event.end,a),s)),{start:n,end:r}},e.prototype.restoreOriginalEvents=function(e,l){this.refreshBody(e);var c=e.filter(function(e){return l.has(e)});this.view.days.forEach(function(e){c.forEach(function(c){var t=l.get(c),r=e.events.find(function(e){return e.event===c});r?r.event=t:e.events.push({event:t,left:0,top:0,height:0,width:0,startsBeforeDay:!1,endsAfterDay:!1})})}),l.clear()},v([l.Input(),p("design:type",Date)],e.prototype,"viewDate",void 0),v([l.Input(),p("design:type",Array)],e.prototype,"events",void 0),v([l.Input(),p("design:type",Number)],e.prototype,"hourSegments",void 0),v([l.Input(),p("design:type",Number)],e.prototype,"hourSegmentHeight",void 0),v([l.Input(),p("design:type",Array)],e.prototype,"excludeDays",void 0),v([l.Input(),p("design:type",Boolean)],e.prototype,"startsWithToday",void 0),v([l.Input(),p("design:type",Boolean)],e.prototype,"showEventContent",void 0),v([l.Input(),p("design:type",Boolean)],e.prototype,"showEventActions",void 0),v([l.Input(),p("design:type",Boolean)],e.prototype,"showEventStatus",void 0),v([l.Input(),p("design:type",Boolean)],e.prototype,"showSegmentHour",void 0),v([l.Input(),p("design:type",Function)],e.prototype,"dayModifier",void 0),v([l.Input(),p("design:type",Function)],e.prototype,"hourModifier",void 0),v([l.Input(),p("design:type",Function)],e.prototype,"segmentModifier",void 0),v([l.Input(),p("design:type",Function)],e.prototype,"eventModifier",void 0),v([l.Input(),p("design:type",a.Subject)],e.prototype,"refresh",void 0),v([l.Input(),p("design:type",String)],e.prototype,"locale",void 0),v([l.Input(),p("design:type",Number)],e.prototype,"eventSnapSize",void 0),v([l.Input(),p("design:type",Boolean)],e.prototype,"snapDraggedEvents",void 0),v([l.Input(),p("design:type",Number)],e.prototype,"weekStartsOn",void 0),v([l.Input(),p("design:type",l.TemplateRef)],e.prototype,"headerTemplate",void 0),v([l.Input(),p("design:type",l.TemplateRef)],e.prototype,"cellTemplate",void 0),v([l.Input(),p("design:type",l.TemplateRef)],e.prototype,"eventTemplate",void 0),v([l.Input(),p("design:type",l.TemplateRef)],e.prototype,"eventTitleTemplate",void 0),v([l.Input(),p("design:type",l.TemplateRef)],e.prototype,"allDayEventTemplate",void 0),v([l.Input(),p("design:type",Array)],e.prototype,"weekendDays",void 0),v([l.Input(),p("design:type",Number)],e.prototype,"dayStartHour",void 0),v([l.Input(),p("design:type",Number)],e.prototype,"dayStartMinute",void 0),v([l.Input(),p("design:type",Number)],e.prototype,"dayEndHour",void 0),v([l.Input(),p("design:type",Number)],e.prototype,"dayEndMinute",void 0),v([l.Input(),p("design:type",Number)],e.prototype,"eventWidthPercent",void 0),v([l.Output(),p("design:type",l.EventEmitter)],e.prototype,"dayHeaderClicked",void 0),v([l.Output(),p("design:type",l.EventEmitter)],e.prototype,"hourClicked",void 0),v([l.Output(),p("design:type",l.EventEmitter)],e.prototype,"segmentClicked",void 0),v([l.Output(),p("design:type",l.EventEmitter)],e.prototype,"eventClicked",void 0),v([l.Output(),p("design:type",l.EventEmitter)],e.prototype,"eventTimesChanged",void 0),e=v([l.Component({selector:"calendar-scheduler-view",template:'\n <div class="cal-scheduler-view">\n <calendar-scheduler-header\n [days]="days"\n [locale]="locale"\n [customTemplate]="headerTemplate"\n (dayHeaderClicked)="dayHeaderClicked.emit($event)">\n </calendar-scheduler-header>\n\n <div class="cal-scheduler" #calendarContainer>\n <div class="cal-scheduler-hour-rows aside">\n <div class="cal-scheduler-hour align-center horizontal" *ngFor="let hour of hours; trackBy:trackByHour">\n <div class="cal-scheduler-time">\n <div class="cal-scheduler-time-segment" *ngFor="let segment of hour.segments"\n [style.height.px]="hourSegmentHeight">\n {{ segment.date | calendarDate:\'dayViewHour\':locale }}\n </div>\n </div>\n </div>\n </div>\n\n <div class="cal-scheduler-cols aside" #dayColumns\n [class.cal-resize-active]="resizes.size > 0"\n mwlDroppable\n (dragEnter)="eventDragEnter = eventDragEnter + 1"\n (dragLeave)="eventDragEnter = eventDragEnter - 1">\n <div class="cal-scheduler-col"\n *ngFor="let day of view.days; trackBy:trackByHourColumn"\n [ngClass]="day?.cssClass"\n [style.backgroundColor]="day.backgroundColor">\n <div #eventContainer\n class="cal-scheduler-event-container"\n *ngFor="let event of day.events; trackBy:trackByDayOrEvent"\n [ngClass]="event.event?.cssClass"\n [hidden]="event.height === 0 && event.width === 0"\n [style.top.px]="event.top"\n [style.height.px]="event.height"\n [style.left.%]="event.left"\n [style.width.%]="event.width"\n\n mwlResizable\n [resizeSnapGrid]="{left: dayColumnWidth, right: dayColumnWidth, top: eventSnapSize || hourSegmentHeight, bottom: eventSnapSize || hourSegmentHeight}"\n [validateResize]="validateResize"\n [allowNegativeResizes]="true"\n (resizeStart)="resizeStarted(dayColumns, event, $event)"\n (resizing)="resizing(event, $event)"\n (resizeEnd)="resizeEnded(event)"\n\n mwlDraggable\n dragActiveClass="cal-drag-active"\n [dropData]="{event: event.event, calendarId: calendarId}"\n [dragAxis]="{\n x: event.event.draggable && resizes.size === 0,\n y: event.event.draggable && resizes.size === 0\n }"\n [dragSnapGrid]="snapDraggedEvents ? {x: dayColumnWidth, y: eventSnapSize || hourSegmentHeight} : {}"\n [ghostDragEnabled]="!snapDraggedEvents"\n [validateDrag]="validateDrag"\n (dragPointerDown)="dragStarted(dayColumns, eventContainer, event)"\n (dragging)="dragMove(event, $event)"\n (dragEnd)="dragEnded(event, $event, dayColumnWidth, true)">\n\n <div *ngIf="event.event?.resizable?.beforeStart && !event.startsBeforeDay"\n class="cal-resize-handle cal-resize-handle-before-start"\n mwlResizeHandle\n [resizeEdges]="{\n left: true,\n top: true\n }">\n </div>\n <calendar-scheduler-event\n [day]="day"\n [event]="event"\n [showContent]="showEventContent && event.height >= 75"\n [showActions]="showEventActions"\n [showStatus]="showEventStatus"\n [customTemplate]="eventTemplate"\n [eventTitleTemplate]="eventTitleTemplate"\n (eventClicked)="eventClicked.emit($event)">\n </calendar-scheduler-event>\n <div *ngIf="event.event?.resizable?.afterEnd && !event.endsAfterDay"\n class="cal-resize-handle cal-resize-handle-after-end"\n mwlResizeHandle\n [resizeEdges]="{\n right: true,\n bottom: true\n }">\n </div>\n </div>\n\n <div class="cal-scheduler-hour"\n *ngFor="let hour of day.hours; let i = index; trackBy:trackByHour"\n [class.cal-even]="i % 2 === 0"\n [class.cal-odd]="i % 2 === 1"\n [ngClass]="hour.cssClass"\n [style.backgroundColor]="hour.backgroundColor"\n (mwlClick)="hourClicked.emit({hour: hour})"\n [class.cal-past]="day.isPast"\n [class.cal-today]="day.isToday"\n [class.cal-future]="day.isFuture"\n [class.cal-weekend]="day.isWeekend"\n [class.cal-in-month]="day.inMonth"\n [class.cal-out-month]="!day.inMonth">\n <div class="cal-scheduler-hour-segments">\n <calendar-scheduler-hour-segment\n *ngFor="let segment of hour.segments; trackBy:trackByHourSegment"\n [day]="day"\n [segment]="segment"\n [locale]="locale"\n [customTemplate]="cellTemplate"\n [hourSegmentHeight]="hourSegmentHeight"\n [showHour]="showSegmentHour"\n (segmentClicked)="segmentClicked.emit($event)"\n mwlDroppable\n [dragOverClass]="!dragActive || !snapDraggedEvents ? \'cal-drag-over\' : \'null\'"\n dragActiveClass="cal-drag-active"\n (drop)="eventDropped($event, segment.date)">\n </calendar-scheduler-hour-segment>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n ',encapsulation:l.ViewEncapsulation.None,styles:[".cal-scheduler-view *{box-sizing:border-box}.cal-scheduler-view .cal-scheduler-headers{display:flex;flex-flow:row wrap;margin-bottom:3px;border:1px solid #e1e1e1}.cal-scheduler-view .cal-scheduler-headers .aside{flex:1 0}.cal-scheduler-view .cal-scheduler-headers .aside.cal-header-clock{max-width:5em}.cal-scheduler-view .cal-scheduler-headers .cal-header{flex:1;text-align:center;padding:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:default}.cal-scheduler-view .cal-scheduler-headers .cal-header:not(:last-child){border-right:1px solid #e1e1e1}.cal-scheduler-view .cal-scheduler-headers .cal-header:hover{background-color:#ededed}.cal-scheduler-view .cal-scheduler-headers .cal-header.cal-today{background-color:#e8fde7}.cal-scheduler-view .cal-scheduler-headers .cal-header.cal-weekend span{color:#8b0000}.cal-scheduler-view .cal-scheduler-headers .cal-header span{font-weight:400;opacity:.5}.cal-scheduler-view .cal-scheduler,.cal-scheduler-view .cal-scheduler-headers .cal-header-cols{display:flex;flex-flow:row wrap}.cal-scheduler-view .cal-scheduler .aside{flex:1 0}.cal-scheduler-view .cal-scheduler .aside.cal-scheduler-hour-rows{max-width:5em}.cal-scheduler-view .cal-scheduler .cal-scheduler-hour-rows{width:auto!important;border:1px solid #e1e1e1;overflow:hidden;position:relative}.cal-scheduler-view .cal-scheduler .cal-scheduler-hour-rows .cal-scheduler-hour{display:flex}.cal-scheduler-view .cal-scheduler .cal-scheduler-hour-rows .cal-scheduler-hour:nth-child(odd){background-color:#fafafa}.cal-scheduler-view .cal-scheduler .cal-scheduler-hour-rows .cal-scheduler-hour:not(:last-child){border-bottom:1px solid #e1e1e1}.cal-scheduler-view .cal-scheduler .cal-scheduler-hour-rows .cal-scheduler-hour .cal-scheduler-time{display:flex;flex-flow:column wrap;width:100%;font-weight:700;text-align:center}.cal-scheduler-view .cal-scheduler .cal-scheduler-hour-rows .cal-scheduler-hour .cal-scheduler-time .cal-scheduler-time-segment{cursor:default}.cal-scheduler-view .cal-scheduler .cal-scheduler-hour-rows .cal-scheduler-hour .cal-scheduler-time .cal-scheduler-time-segment:hover{background-color:#ededed}.cal-scheduler-view .cal-scheduler .cal-scheduler-hour-rows .cal-scheduler-hour .cal-scheduler-time .cal-scheduler-time-segment:not(:last-child){border-bottom:thin dashed #e1e1e1}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols{display:flex;flex-flow:row wrap;border-top:1px solid #e1e1e1}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols:not(.cal-resize-active) .cal-scheduler-hour-segment:hover{background-color:#ededed}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col{display:flex;flex-flow:column wrap;flex:1 0;position:relative;border-right:1px solid #e1e1e1}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-hour{display:flex;flex-flow:column wrap;flex:1 0}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-hour.cal-today{background-color:#e8fde7}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-hour.cal-disabled{background-color:#eee;pointer-events:none}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-hour.cal-odd{background:#fff}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-hour.cal-even{background:#fafafa}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-hour .cal-scheduler-hour-segments{display:flex;flex-flow:column wrap;flex:1 0;border-bottom:1px solid #e1e1e1}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-hour .cal-scheduler-hour-segments.no-border{border-bottom:0!important}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-hour .cal-scheduler-hour-segments.cal-disabled{background-color:#eee;pointer-events:none}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-hour .cal-scheduler-hour-segments.cal-disabled .cal-scheduler-event{filter:opacity(50%);-webkit-filter:opacity(50%)}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-hour .cal-scheduler-hour-segments :not(:last-child) .cal-scheduler-hour-segment{border-bottom:thin dashed #e1e1e1}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-hour .cal-scheduler-hour-segments .cal-scheduler-hour-segment{flex:1 0;display:flex;flex-flow:column wrap}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-hour .cal-scheduler-hour-segments .cal-scheduler-hour-segment.no-border{border-bottom:0!important}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-hour .cal-scheduler-hour-segments .cal-scheduler-hour-segment.cal-disabled{background-color:#eee;pointer-events:none}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-hour .cal-scheduler-hour-segments .cal-scheduler-hour-segment.cal-drag-over{background-color:#ededed}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-hour .cal-scheduler-hour-segments .cal-scheduler-hour-segment .cal-scheduler-time{font-weight:700;font-size:.7em;color:#6c757d}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container{flex:1 0;display:-ms-flexbox;flex-flow:column wrap;position:absolute}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container .cal-scheduler-event{flex:1 0;display:flex;flex-flow:column wrap;padding:0 10px;font-size:12px;margin:2px;line-height:30px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:.3em;border:1px solid #1e90ff;background-color:#d1e8ff;height:calc(100% - 5px);transition:all ease-out .2s;filter:brightness(100%);-webkit-filter:brightness(100%);-webkit-backface-visibility:hidden;backface-visibility:hidden}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container .cal-scheduler-event.cal-cancelled,.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container .cal-scheduler-event.cal-disabled{background-color:gray!important;filter:grayscale(100%);-webkit-filter:grayscale(100%)}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container .cal-scheduler-event.cal-not-clickable{cursor:not-allowed!important}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container .cal-scheduler-event:not(.cal-disabled):not(.cal-cancelled):hover{cursor:pointer;filter:brightness(95%);-webkit-filter:brightness(95%)}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container .cal-scheduler-event:not(.cal-disabled):not(.cal-cancelled).cal-draggable{cursor:move}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container .cal-scheduler-event.cal-starts-before-day{border-top-left-radius:0;border-top-right-radius:0}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container .cal-scheduler-event.cal-ends-after-day{border-bottom-left-radius:0;border-bottom-right-radius:0}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container .cal-scheduler-event .cal-scheduler-event-title-container{width:100%;display:flex;flex-flow:row wrap}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container .cal-scheduler-event .cal-scheduler-event-title-container .cal-scheduler-event-title{flex:1 0;font-size:16px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container .cal-scheduler-event .cal-scheduler-event-title-container .cal-scheduler-event-status{margin:7px 0;width:16px;height:16px;background:grey;border-radius:50px;border:1px solid #000}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container .cal-scheduler-event .cal-scheduler-event-title-container .cal-scheduler-event-status.ok{background:green}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container .cal-scheduler-event .cal-scheduler-event-title-container .cal-scheduler-event-status.warning{background:orange}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container .cal-scheduler-event .cal-scheduler-event-title-container .cal-scheduler-event-status.danger{background:red}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container .cal-scheduler-event .cal-scheduler-event-content-container{flex:1 auto;width:100%;padding-right:1.5em}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container .cal-scheduler-event .cal-scheduler-event-content-container .cal-scheduler-event-content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container .cal-scheduler-event .cal-scheduler-event-actions-container{width:100%;position:relative}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container .cal-scheduler-event .cal-scheduler-event-actions-container.no-content-actions{flex:1 0}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container .cal-scheduler-event .cal-scheduler-event-actions-container:not(.no-content-actions) .cal-scheduler-event-actions{position:absolute;bottom:5px;right:0}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container .cal-scheduler-event .cal-scheduler-event-actions-container .cal-scheduler-event-actions .cal-scheduler-event-action{text-decoration:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container .cal-resize-handle{width:100%;height:4px;cursor:row-resize;position:absolute}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container .cal-resize-handle.cal-resize-handle-after-end{bottom:0}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.cal-drag-active{pointer-events:none;z-index:999}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.cal-drag-active *{pointer-events:none}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.day1{left:5%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.day2{left:10%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.day3{left:15%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.day4{left:20%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.day5{left:25%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.day6{left:30%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.day7{left:35%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time0000{top:0}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time0015{top:1.47%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time0030{top:2.94%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time0045{top:4.41%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time0100{top:5.88%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time0115{top:7.35%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time0130{top:8.82%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time0145{top:10.29%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time0200{top:11.76%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time0215{top:13.23%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time0230{top:14.7%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time0245{top:16.17%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time0300{top:17.64%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time0315{top:19.11%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time0330{top:20.58%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time0345{top:22.05%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time0400{top:23.52%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time0415{top:24.99%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time0430{top:26.46%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time0445{top:27.93%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time0500{top:29.4%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time0515{top:30.87%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time0530{top:32.34%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time0545{top:33.81%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time0600{top:35.28%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time0615{top:36.75%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time0630{top:38.22%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time0645{top:39.69%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time0700{top:41.16%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time0715{top:42.63%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time0730{top:44.1%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time0745{top:45.57%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time0800{top:47.04%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time0815{top:48.51%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time0830{top:49.98%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time0845{top:51.45%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time0900{top:52.92%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time0915{top:54.39%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time0930{top:55.86%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time0945{top:57.33%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time1000{top:58.8%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time1015{top:60.27%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time1030{top:61.74%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time1045{top:63.21%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time1100{top:64.68%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time1115{top:66.15%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time1130{top:67.62%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time1145{top:69.09%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time1200{top:70.56%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time1215{top:72.03%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time1230{top:73.5%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time1245{top:74.97%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time1300{top:76.44%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time1315{top:77.91%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time1330{top:79.38%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time1345{top:80.85%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time1400{top:82.32%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time1415{top:83.79%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time1430{top:85.26%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time1445{top:86.73%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time1500{top:88.2%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time1515{top:89.67%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time1530{top:91.14%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time1545{top:92.61%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time1600{top:94.08%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time1615{top:95.55%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time1630{top:97.02%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time1645{top:98.49%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time1700{top:99.96%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time1715{top:101.43%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time1730{top:102.9%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time1745{top:104.37%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time1800{top:105.84%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time1815{top:107.31%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time1830{top:108.78%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time1845{top:110.25%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time1900{top:111.72%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time1915{top:113.19%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time1930{top:114.66%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time1945{top:116.13%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time2000{top:117.6%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time2015{top:119.07%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time2030{top:120.54%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time2045{top:122.01%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time2100{top:123.48%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time2115{top:124.95%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time2130{top:126.42%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time2145{top:127.89%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time2200{top:129.36%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time2215{top:130.83%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time2230{top:132.3%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time2245{top:133.77%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time2300{top:135.24%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time2315{top:136.71%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-container.time2330{top:138.18%}.cal-scheduler-view .cal-scheduler .cal-scheduler-cols .cal-scheduler-col .cal-scheduler-event-contai