/** * angular-bootstrap-calendar - A pure AngularJS bootstrap themed responsive calendar that can display events and has views for year, month, week and day * @version v0.29.0 * @link https://github.com/mattlewis92/angular-bootstrap-calendar * @license MIT */ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("angular"),require("moment"),function(){try{return require("interactjs")}catch(e){}}()):"function"==typeof define&&define.amd?define(["angular","moment","interact"],t):"object"==typeof exports?exports.angularBootstrapCalendarModuleName=t(require("angular"),require("moment"),function(){try{return require("interactjs")}catch(e){}}()):e.angularBootstrapCalendarModuleName=t(e.angular,e.moment,e.interact)}(this,function(e,t,n){return function(e){function t(a){if(n[a])return n[a].exports;var r=n[a]={i:a,l:!1,exports:{}};return e[a].call(r.exports,r,r.exports,t),r.l=!0,r.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,a){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:a})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=57)}([function(t,n){t.exports=e},function(e,t,n){function a(e,t){if(c(e))return new Date(e.getTime());if("string"!=typeof e)return new Date(e);var n=t||{},a=n.additionalDigits;a=null==a?u:Number(a);var s=r(e),v=l(s.date,a),p=v.year,f=v.restDateString,w=i(f,p);if(w){var g,y=w.getTime(),h=0;return s.time&&(h=o(s.time)),s.timezone?g=d(s.timezone):(g=new Date(y+h).getTimezoneOffset(),g=new Date(y+h+g*m).getTimezoneOffset()),new Date(y+h+g*m)}return new Date(e)}function r(e){var t,n={},a=e.split(p);if(f.test(a[0])?(n.date=null,t=a[0]):(n.date=a[0],t=a[1]),t){var r=M.exec(t);r?(n.time=t.replace(r[1],""),n.timezone=r[1]):n.time=t}return n}function l(e,t){var n,a=g[t],r=h[t];if(n=y.exec(e)||r.exec(e)){var l=n[1];return{year:parseInt(l,10),restDateString:e.slice(l.length)}}if(n=w.exec(e)||a.exec(e)){var i=n[1];return{year:100*parseInt(i,10),restDateString:e.slice(i.length)}}return{year:null}}function i(e,t){if(null===t)return null;var n,a,r,l;if(0===e.length)return a=new Date(0),a.setUTCFullYear(t),a;if(n=D.exec(e))return a=new Date(0),r=parseInt(n[1],10)-1,a.setUTCFullYear(t,r),a;if(n=b.exec(e)){a=new Date(0);var i=parseInt(n[1],10);return a.setUTCFullYear(t,0,i),a}if(n=C.exec(e)){a=new Date(0),r=parseInt(n[1],10)-1;var o=parseInt(n[2],10);return a.setUTCFullYear(t,r,o),a}if(n=E.exec(e))return l=parseInt(n[1],10)-1,s(t,l);if(n=S.exec(e)){l=parseInt(n[1],10)-1;return s(t,l,parseInt(n[2],10)-1)}return null}function o(e){var t,n,a;if(t=k.exec(e))return(n=parseFloat(t[1].replace(",",".")))%24*v;if(t=x.exec(e))return n=parseInt(t[1],10),a=parseFloat(t[2].replace(",",".")),n%24*v+a*m;if(t=T.exec(e)){n=parseInt(t[1],10),a=parseInt(t[2],10);var r=parseFloat(t[3].replace(",","."));return n%24*v+a*m+1e3*r}return null}function d(e){var t,n;return(t=V.exec(e))?0:(t=A.exec(e))?(n=60*parseInt(t[2],10),"+"===t[1]?-n:n):(t=$.exec(e),t?(n=60*parseInt(t[2],10)+parseInt(t[3],10),"+"===t[1]?-n:n):0)}function s(e,t,n){t=t||0,n=n||0;var a=new Date(0);a.setUTCFullYear(e,0,4);var r=a.getUTCDay()||7,l=7*t+n+1-r;return a.setUTCDate(a.getUTCDate()+l),a}var c=n(23),v=36e5,m=6e4,u=2,p=/[T ]/,f=/:/,w=/^(\d{2})$/,g=[/^([+-]\d{2})$/,/^([+-]\d{3})$/,/^([+-]\d{4})$/],y=/^(\d{4})/,h=[/^([+-]\d{4})/,/^([+-]\d{5})/,/^([+-]\d{6})/],D=/^-(\d{2})$/,b=/^-?(\d{3})$/,C=/^-?(\d{2})-?(\d{2})$/,E=/^-?W(\d{2})$/,S=/^-?W(\d{2})-?(\d{1})$/,k=/^(\d{2}([.,]\d*)?)$/,x=/^(\d{2}):?(\d{2}([.,]\d*)?)$/,T=/^(\d{2}):?(\d{2}):?(\d{2}([.,]\d*)?)$/,M=/([Z+-].*)$/,V=/^(Z)$/,A=/^([+-])(\d{2})$/,$=/^([+-])(\d{2}):?(\d{2})$/;e.exports=a},function(e,t,n){function a(e){var t=r(e);return t.setHours(0,0,0,0),t}var r=n(1);e.exports=a},function(e,t,n){"use strict";function a(e){var t=e.startDate,n=e.days,a=e.excluded;if(a.length<1)return 0;for(var r=t.getDay(),l=0,i=0;iX&&(o=X-n),o-a({startDate:i,days:o,excluded:l})}function l(e){var t=e.event,n=e.startOfWeek,r=e.excluded,l=void 0===r?[]:r;if(t.startn&&rn&&la||(!(!U()(r,n)&&!U()(r,a))||!(!U()(l,n)&&!U()(l,a)))))}function o(e){var t=e.events,n=e.periodStart,a=e.periodEnd;return t.filter(function(e){return i({event:e,periodStart:n,periodEnd:a})})}function d(e){var t=e.date,n=b()(new Date);return{date:t,isPast:tn,isWeekend:Q.indexOf(k()(t))>-1}}function s(e){for(var t=e.viewDate,n=e.weekStartsOn,a=e.excluded,r=void 0===a?[]:a,l=T()(t,{weekStartsOn:n}),i=[],o=0;o0}).map(function(e){return{event:e.event,offset:e.offset,span:e.span,startsBeforeWeek:e.event.startv}}).sort(function(e,t){var n=R()(e.event.start,t.event.start);return 0===n?R()(t.event.end||t.event.start,e.event.end||e.event.start):n}),p=[],f=[];return u.forEach(function(e,t){if(-1===f.indexOf(e)){f.push(e);var n=e.span+e.offset,a=u.slice(t+1).filter(function(e){if(e.offset>=n&&n+e.span<=X&&-1===f.indexOf(e))return e.offset-=n,n+=e.span+e.offset,f.push(e),!0});p.push({row:[e].concat(a)})}}),p}function v(e){var t=e.events,n=void 0===t?[]:t,a=e.viewDate,r=e.weekStartsOn,l=e.excluded,i=void 0===l?[]:l;n||(n=[]);for(var s,c=T()(W()(a),{weekStartsOn:r}),v=$()(j()(a),{weekStartsOn:r}),m=o({events:n,periodStart:c,periodEnd:v}),u=[],p=0;pv,i=r*s/te,o=0;t>c&&(o+=Z()(t,c)),o*=i;var u=a?c:t,p=l?v:n,f=Z()(p,u);e.end?f*=i:f=s;for(var w=o+f,g=m.filter(function(e){var t=e.top,n=e.top+e.height;return o0&&m.push(h),h}).filter(function(e){return e.height>0});return{events:u,width:Math.max.apply(Math,u.map(function(e){return e.left+e.width})),allDayEvents:o({events:n.filter(function(e){return e.allDay}),periodStart:b()(c),periodEnd:f()(v)})}}function u(e){for(var t=e.viewDate,n=e.hourSegments,a=e.dayStart,r=e.dayEnd,l=[],i=L()(B()(b()(t),a.hour),a.minute),o=L()(B()(q()(f()(t)),r.hour),r.minute),d=te/n,s=b()(t),c=0;c=i&&u0&&l.push({segments:v})}return l}Object.defineProperty(t,"__esModule",{value:!0});var p=n(19),f=n.n(p),w=n(13),g=n.n(w),y=n(16),h=n.n(y),D=n(2),b=n.n(D),C=n(24),E=n.n(C),S=n(22),k=n.n(S),x=n(32),T=n.n(x),M=n(11),V=n.n(M),A=n(21),$=n.n(A),O=n(18),R=n.n(O),I=n(30),W=n.n(I),H=n(20),j=n.n(H),F=n(25),N=n.n(F),z=n(26),U=n.n(z),Y=n(27),B=n.n(Y),P=n(28),L=n.n(P),G=n(29),q=n.n(G),_=n(17),Z=n.n(_),J=n(12),K=n.n(J);t.getWeekViewEventOffset=l,t.getWeekViewHeader=s,t.getWeekView=c,t.getMonthView=v,t.getDayView=m,t.getDayViewHourGrid=u;var Q=[0,6],X=7,ee=24,te=60},function(e,t,n){function a(e,t){var n=r(e).getTime(),a=Number(t);return new Date(n+a)}var r=n(1);e.exports=a},function(e,t,n){function a(e,t){var n=r(e),a=r(t);return n.getTime()-a.getTime()}var r=n(1);e.exports=a},function(e,t){},function(e,t,n){function a(e){return n(r(e))}function r(e){var t=l[e];if(!(t+1))throw new Error("Cannot find module '"+e+"'.");return t}var l={"./mwlCalendar.js":42,"./mwlCalendarDay.js":43,"./mwlCalendarHourList.js":44,"./mwlCalendarMonth.js":45,"./mwlCalendarSlideBox.js":46,"./mwlCalendarWeek.js":47,"./mwlCalendarYear.js":48,"./mwlCollapseFallback.js":49,"./mwlDateModifier.js":50,"./mwlDragSelect.js":51,"./mwlDraggable.js":52,"./mwlDroppable.js":53,"./mwlDynamicDirectiveTemplate.js":54,"./mwlElementDimensions.js":55,"./mwlResizable.js":56};a.keys=function(){return Object.keys(l)},a.resolve=r,e.exports=a,a.id=7},function(e,t,n){function a(e){return n(r(e))}function r(e){var t=l[e];if(!(t+1))throw new Error("Cannot find module '"+e+"'.");return t}var l={"./calendarDate.js":58,"./calendarLimitTo.js":59,"./calendarTruncateEventTitle.js":60,"./calendarTrustAsHtml.js":61};a.keys=function(){return Object.keys(l)},a.resolve=r,e.exports=a,a.id=8},function(e,t,n){function a(e){return n(r(e))}function r(e){var t=l[e];if(!(t+1))throw new Error("Cannot find module '"+e+"'.");return t}var l={"./calendarConfig.js":62,"./calendarEventTitle.js":63,"./calendarHelper.js":64,"./calendarTitle.js":65,"./interact.js":66,"./moment.js":67};a.keys=function(){return Object.keys(l)},a.resolve=r,e.exports=a,a.id=9},function(e,t,n){function a(e){return n(r(e))}function r(e){var t=l[e];if(!(t+1))throw new Error("Cannot find module '"+e+"'.");return t}var l={"./calendar.html":33,"./calendarDayView.html":34,"./calendarHourList.html":35,"./calendarMonthCell.html":36,"./calendarMonthCellEvents.html":37,"./calendarMonthView.html":38,"./calendarSlideBox.html":39,"./calendarWeekView.html":40,"./calendarYearView.html":41};a.keys=function(){return Object.keys(l)},a.resolve=r,e.exports=a,a.id=10},function(e,t,n){function a(e,t){var n=r(e),a=Number(t);return n.setDate(n.getDate()+a),n}var r=n(1);e.exports=a},function(e,t,n){function a(e,t){var n=Number(t);return r(e,n*l)}var r=n(4),l=36e5;e.exports=a},function(e,t,n){function a(e,t){var n=Number(t);return r(e,n*l)}var r=n(4),l=6e4;e.exports=a},function(e,t,n){function a(e,t){var n=r(e),a=n.getTime(),l=r(t),i=l.getTime();return ai?1:0}var r=n(1);e.exports=a},function(e,t,n){function a(e,t){var n=r(e),a=r(t),o=n.getTime()-n.getTimezoneOffset()*l,d=a.getTime()-a.getTimezoneOffset()*l;return Math.round((o-d)/i)}var r=n(2),l=6e4,i=864e5;e.exports=a},function(e,t,n){function a(e,t){var n=r(e),a=r(t),o=i(n,a),d=Math.abs(l(n,a));return n.setDate(n.getDate()-o*d),o*(d-(i(n,a)===-o))}var r=n(1),l=n(15),i=n(14);e.exports=a},function(e,t,n){function a(e,t){var n=r(e,t)/l;return n>0?Math.floor(n):Math.ceil(n)}var r=n(5),l=6e4;e.exports=a},function(e,t,n){function a(e,t){var n=r(e,t)/1e3;return n>0?Math.floor(n):Math.ceil(n)}var r=n(5);e.exports=a},function(e,t,n){function a(e){var t=r(e);return t.setHours(23,59,59,999),t}var r=n(1);e.exports=a},function(e,t,n){function a(e){var t=r(e),n=t.getMonth();return t.setFullYear(t.getFullYear(),n+1,0),t.setHours(23,59,59,999),t}var r=n(1);e.exports=a},function(e,t,n){function a(e,t){var n=t?Number(t.weekStartsOn)||0:0,a=r(e),l=a.getDay(),i=6+(l
The value passed to the view attribute of the calendar is not set
The value passed to view-date attribute of the calendar is not set
"},function(e,t){e.exports='
-
'},function(e,t){e.exports='
 
'},function(e,t){e.exports='
'},function(e,t){e.exports=' '},function(e,t){e.exports='
'},function(e,t){e.exports='
'},function(e,t){e.exports=" "},function(e,t){e.exports='
'},function(e,t,n){"use strict";var a=n(0),r="Bootstrap calendar:";a.module("mwl.calendar").controller("MwlCalendarCtrl",["$scope","$log","$timeout","$attrs","$locale","moment","calendarTitle","calendarHelper",function(e,t,n,l,i,o,d,s){var c=this;c.changeView=function(e,t){c.view=e,c.viewDate=t},c.dateClicked=function(e){var t=o(e).toDate(),n={year:"month",month:"day",week:"day"};!1!==c.onViewChangeClick({calendarDate:t,calendarNextView:n[c.view]})&&c.changeView(n[c.view],t)},c.$onInit=function(){function v(e){e.startsAt?a.isDate(e.startsAt)||t.warn(r,"Event startsAt should be a javascript date object. Do `new Date(event.startsAt)` to fix it.",e):t.warn(r,"Event is missing the startsAt field",e),e.endsAt&&(a.isDate(e.endsAt)||t.warn(r,"Event endsAt should be a javascript date object. Do `new Date(event.endsAt)` to fix it.",e),o(e.startsAt).isAfter(o(e.endsAt))&&t.warn(r,"Event cannot start after it finishes",e))}function m(){d[c.view]&&a.isDefined(l.viewTitle)&&(c.viewTitle=d[c.view](c.viewDate)),c.events.forEach(function(e,t){v(e),e.calendarEventId=t});var t=o(c.viewDate),r=!0;u.clone().startOf(c.view).isSame(t.clone().startOf(c.view))&&!u.isSame(t)&&c.view===p&&(r=!1),u=t,p=c.view,r&&n(function(){e.$broadcast("calendar.refreshView")})}c.slideBoxDisabled&&t.warn(r,"The `slide-box-disabled` option is deprecated and will be removed in the next release. Instead set `cell-auto-open-disabled` to true"),c.events=c.events||[];var u=o(c.viewDate),p=c.view;s.loadTemplates().then(function(){c.templatesLoaded=!0;var t=!1;e.$watchGroup(["vm.viewDate","vm.view","vm.cellIsOpen",function(){return o.locale()+i.id}],function(){t?m():(t=!0,e.$watch("vm.events",m,!0))})}).catch(function(e){t.error("Could not load all calendar templates",e)})},a.version.minor<5&&c.$onInit()}]).directive("mwlCalendar",function(){return{template:'
',restrict:"E",scope:{events:"=",view:"=",viewTitle:"=?",viewDate:"=",cellIsOpen:"=?",cellAutoOpenDisabled:"=?",slideBoxDisabled:"=?",customTemplateUrls:"=?",draggableAutoScroll:"=?",onEventClick:"&",onEventTimesChanged:"&",onTimespanClick:"&",onDateRangeSelect:"&?",onViewChangeClick:"&",cellModifier:"&",dayViewStart:"@",dayViewEnd:"@",dayViewSplit:"@",dayViewEventChunkSize:"@",dayViewEventWidth:"@",templateScope:"=?",dayViewTimePosition:"@"},controller:"MwlCalendarCtrl as vm",bindToController:!0}})},function(e,t,n){"use strict";n(0).module("mwl.calendar").controller("MwlCalendarDayCtrl",["$scope","moment","calendarHelper","calendarEventTitle",function(e,t,n,a){function r(){l.timeHidden="hidden"===l.dayViewTimePosition,l.dayViewTimePositionOffset="default"!==l.dayViewTimePosition?0:60,l.dayViewSplit=l.dayViewSplit||30,l.dayViewHeight=n.getDayViewHeight(l.dayViewStart,l.dayViewEnd,l.dayViewSplit);var e=n.getDayView(l.events,l.viewDate,l.dayViewStart,l.dayViewEnd,l.dayViewSplit,l.dayViewEventWidth);l.allDayEvents=e.allDayEvents,l.nonAllDayEvents=e.events,l.viewWidth=e.width+62}var l=this;l.calendarEventTitle=a,e.$on("calendar.refreshView",r),e.$watchGroup(["vm.dayViewStart","vm.dayViewEnd","vm.dayViewSplit"],r),l.eventDragComplete=function(e,n){var a=n*l.dayViewSplit,r=t(e.startsAt).add(a,"minutes"),i=t(e.endsAt).add(a,"minutes");delete e.tempStartsAt,l.onEventTimesChanged({calendarEvent:e,calendarNewEventStart:r.toDate(),calendarNewEventEnd:e.endsAt?i.toDate():null})},l.eventDragged=function(e,n){var a=n*l.dayViewSplit;e.tempStartsAt=t(e.startsAt).add(a,"minutes").toDate()},l.eventResizeComplete=function(e,n,a){var r=a*l.dayViewSplit,i=t(e.startsAt),o=t(e.endsAt);"start"===n?i.add(r,"minutes"):o.add(r,"minutes"),delete e.tempStartsAt,l.onEventTimesChanged({calendarEvent:e,calendarNewEventStart:i.toDate(),calendarNewEventEnd:o.toDate()})},l.eventResized=function(e,n,a){var r=a*l.dayViewSplit;"start"===n&&(e.tempStartsAt=t(e.startsAt).add(r,"minutes").toDate())}}]).directive("mwlCalendarDay",function(){return{template:'
',restrict:"E",require:"^mwlCalendar",scope:{events:"=",viewDate:"=",onEventClick:"=",onEventTimesChanged:"=",onTimespanClick:"=",onDateRangeSelect:"=",dayViewStart:"=",dayViewEnd:"=",dayViewSplit:"=",dayViewEventChunkSize:"=",dayViewEventWidth:"=",customTemplateUrls:"=?",cellModifier:"=",templateScope:"=",dayViewTimePosition:"=",draggableAutoScroll:"="},controller:"MwlCalendarDayCtrl as vm",bindToController:!0}})},function(e,t,n){"use strict";var a=n(0),r=n(3);a.module("mwl.calendar").controller("MwlCalendarHourListCtrl",["$scope","$document","moment","calendarHelper",function(e,t,n,a){function l(){i.dayViewSplit=parseInt(i.dayViewSplit);var e=(i.dayViewStart||"00:00").split(":"),t=(i.dayViewEnd||"23:59").split(":");i.hourGrid=r.getDayViewHourGrid({viewDate:"week"===i.view?n(i.viewDate).startOf("week").toDate():n(i.viewDate).toDate(),hourSegments:60/i.dayViewSplit,dayStart:{hour:e[0],minute:e[1]},dayEnd:{hour:t[0],minute:t[1]}}),i.hourGrid.forEach(function(e){e.segments.forEach(function(e){if(e.date=n(e.date),e.nextSegmentDate=e.date.clone().add(i.dayViewSplit,"minutes"),"week"===i.view){e.days=[];for(var t=0;t<7;t++){var a={date:n(e.date).add(t,"days")};a.nextSegmentDate=a.date.clone().add(i.dayViewSplit,"minutes"),i.cellModifier({calendarCell:a}),e.days.push(a)}}else i.cellModifier({calendarCell:e})})})}var i=this;i.scrollBarWidth=function(){var e=t[0].createElement("div");e.style.visibility="hidden",e.style.width="100px",e.style.msOverflowStyle="scrollbar",t[0].body.appendChild(e);var n=e.offsetWidth;e.style.overflow="scroll";var a=t[0].createElement("div");a.style.width="100%",e.appendChild(a);var r=a.offsetWidth;return e.parentNode.removeChild(e),n-r}();var o=n.locale();e.$on("calendar.refreshView",function(){o!==n.locale()&&(o=n.locale(),l())}),e.$watchGroup(["vm.dayViewStart","vm.dayViewEnd","vm.dayViewSplit","vm.viewDate"],function(){l()}),i.eventDropped=function(e,t){var r=n(t),l=a.adjustEndDateFromStartDiff(e.startsAt,r,e.endsAt);i.onEventTimesChanged({calendarEvent:e,calendarDate:t,calendarNewEventStart:r.toDate(),calendarNewEventEnd:l?l.toDate():null})},i.onDragSelectStart=function(e,t){i.dateRangeSelect||(i.dateRangeSelect={active:!0,startDate:e,endDate:e,dayIndex:t})},i.onDragSelectMove=function(e){i.dateRangeSelect&&(i.dateRangeSelect.endDate=e)},i.onDragSelectEnd=function(e){i.dateRangeSelect&&(i.dateRangeSelect.endDate=e,i.dateRangeSelect.endDate>i.dateRangeSelect.startDate&&i.onDateRangeSelect({calendarRangeStartDate:i.dateRangeSelect.startDate.toDate(),calendarRangeEndDate:i.dateRangeSelect.endDate.toDate()}),delete i.dateRangeSelect)}}]).directive("mwlCalendarHourList",function(){return{restrict:"E",template:'
',controller:"MwlCalendarHourListCtrl as vm",scope:{viewDate:"=",dayViewStart:"=",dayViewEnd:"=",dayViewSplit:"=",dayWidth:"=?",onTimespanClick:"=",onDateRangeSelect:"=",onEventTimesChanged:"=",customTemplateUrls:"=?",cellModifier:"=",templateScope:"=",view:"@"},bindToController:!0}})},function(e,t,n){"use strict";var a=n(0);a.module("mwl.calendar").controller("MwlCalendarMonthCtrl",["$scope","moment","calendarHelper","calendarConfig","calendarEventTitle",function(e,t,n,r,l){function i(){o.openRowIndex=null,o.openDayIndex=null,o.cellIsOpen&&o.view&&o.view.forEach(function(e,n){t(o.viewDate).startOf("day").isSame(e.date)&&(o.openDayIndex=n,o.openRowIndex=Math.floor(n/7))})}var o=this;o.calendarConfig=r,o.calendarEventTitle=l,o.openRowIndex=null,e.$on("calendar.refreshView",function(){o.weekDays=n.getWeekDayNames();var e=n.getMonthView(o.events,o.viewDate,o.cellModifier);o.view=e.days,o.monthOffsets=e.rowOffsets,o.cellAutoOpenDisabled?i():!o.cellAutoOpenDisabled&&o.cellIsOpen&&null===o.openRowIndex&&(o.openDayIndex=null,o.view.forEach(function(e){e.inMonth&&t(o.viewDate).startOf("day").isSame(e.date)&&o.dayClicked(e,!0)}))}),o.dayClicked=function(e,t,n){if((t||(o.onTimespanClick({calendarDate:e.date.toDate(),calendarCell:e,$event:n}),!n||!n.defaultPrevented))&&!o.cellAutoOpenDisabled){o.openRowIndex=null;var a=o.view.indexOf(e);a===o.openDayIndex?(o.openDayIndex=null,o.cellIsOpen=!1):(o.openDayIndex=a,o.openRowIndex=Math.floor(a/7),o.cellIsOpen=!0)}},o.highlightEvent=function(e,t){o.view.forEach(function(n){if(delete n.highlightClass,delete n.backgroundColor,t){n.events.indexOf(e)>-1&&(n.backgroundColor=e.color?e.color.secondary:"")}})},o.handleEventDrop=function(e,a,r){var l=t(e.startsAt).date(t(a).date()).month(t(a).month()).year(t(a).year()),i=n.adjustEndDateFromStartDiff(e.startsAt,l,e.endsAt);o.onEventTimesChanged({calendarEvent:e,calendarDate:a,calendarNewEventStart:l.toDate(),calendarNewEventEnd:i?i.toDate():null,calendarDraggedFromDate:r})},o.getWeekNumberLabel=function(e){var t=e.date.clone().add(1,"day").isoWeek();return"function"==typeof r.i18nStrings.weekNumber?r.i18nStrings.weekNumber({weekNumber:t}):r.i18nStrings.weekNumber.replace("{week}",t)},o.onDragSelectStart=function(e){o.dateRangeSelect||(o.dateRangeSelect={startDate:e.date,endDate:e.date})},o.onDragSelectMove=function(e){o.dateRangeSelect&&(o.dateRangeSelect.endDate=e.date)},o.onDragSelectEnd=function(e){o.dateRangeSelect.endDate=e.date,o.dateRangeSelect.endDate>o.dateRangeSelect.startDate&&o.onDateRangeSelect({calendarRangeStartDate:o.dateRangeSelect.startDate.clone().startOf("day").toDate(),calendarRangeEndDate:o.dateRangeSelect.endDate.clone().endOf("day").toDate()}),delete o.dateRangeSelect},o.$onInit=function(){o.cellAutoOpenDisabled&&e.$watchGroup(["vm.cellIsOpen","vm.viewDate"],i)},a.version.minor<5&&o.$onInit()}]).directive("mwlCalendarMonth",function(){return{template:'
',restrict:"E",require:"^mwlCalendar",scope:{events:"=",viewDate:"=",onEventClick:"=",onEventTimesChanged:"=",onDateRangeSelect:"=",cellIsOpen:"=",cellAutoOpenDisabled:"=",onTimespanClick:"=",cellModifier:"=",slideBoxDisabled:"=",customTemplateUrls:"=?",templateScope:"=",draggableAutoScroll:"="},controller:"MwlCalendarMonthCtrl as vm",link:function(e,t,n,a){e.vm.calendarCtrl=a},bindToController:!0}})},function(e,t,n){"use strict";n(0).module("mwl.calendar").controller("MwlCalendarSlideBoxCtrl",["$scope","$timeout","calendarConfig","calendarEventTitle",function(e,t,n,a){var r=this;r.calendarConfig=n,r.calendarEventTitle=a,r.isCollapsed=!0,e.$watch("vm.isOpen",function(e){t(function(){r.isCollapsed=!e})})}]).directive("mwlCalendarSlideBox",function(){return{restrict:"E",template:'
',replace:!0,controller:"MwlCalendarSlideBoxCtrl as vm",require:["^?mwlCalendarMonth","^?mwlCalendarYear"],link:function(e,t,n,a){e.isMonthView=!!a[0],e.isYearView=!!a[1]},scope:{isOpen:"=",events:"=",onEventClick:"=",cell:"=",customTemplateUrls:"=?",templateScope:"=",draggableAutoScroll:"="},bindToController:!0}})},function(e,t,n){"use strict";n(0).module("mwl.calendar").controller("MwlCalendarWeekCtrl",["$scope","moment","calendarHelper","calendarConfig","calendarEventTitle",function(e,t,n,a,r){var l=this;l.showTimes=a.showTimesOnWeekView,l.calendarEventTitle=r,e.$on("calendar.refreshView",function(){l.dayViewSplit=l.dayViewSplit||30,l.dayViewHeight=n.getDayViewHeight(l.dayViewStart,l.dayViewEnd,l.dayViewSplit),l.showTimes?l.view=n.getWeekViewWithTimes(l.events,l.viewDate,l.dayViewStart,l.dayViewEnd,l.dayViewSplit):l.view=n.getWeekView(l.events,l.viewDate)}),l.weekDragged=function(e,n,a){var r=t(e.startsAt).add(n,"days"),i=t(e.endsAt).add(n,"days");if(a){var o=a*l.dayViewSplit;r=r.add(o,"minutes"),i=i.add(o,"minutes")}delete e.tempStartsAt,l.onEventTimesChanged({calendarEvent:e,calendarNewEventStart:r.toDate(),calendarNewEventEnd:e.endsAt?i.toDate():null})},l.eventDropped=function(e,n){var a=t(n).diff(t(e.startsAt),"days");l.weekDragged(e,a)},l.weekResized=function(e,n,a){var r=t(e.startsAt),i=t(e.endsAt);"start"===n?r.add(a,"days"):i.add(a,"days"),l.onEventTimesChanged({calendarEvent:e,calendarNewEventStart:r.toDate(),calendarNewEventEnd:i.toDate()})},l.tempTimeChanged=function(e,n){var a=n*l.dayViewSplit;e.tempStartsAt=t(e.startsAt).add(a,"minutes").toDate()}}]).directive("mwlCalendarWeek",function(){return{template:'
',restrict:"E",require:"^mwlCalendar",scope:{events:"=",viewDate:"=",onEventClick:"=",onEventTimesChanged:"=",dayViewStart:"=",dayViewEnd:"=",dayViewSplit:"=",dayViewEventChunkSize:"=",onTimespanClick:"=",onDateRangeSelect:"=",customTemplateUrls:"=?",cellModifier:"=",templateScope:"=",draggableAutoScroll:"="},controller:"MwlCalendarWeekCtrl as vm",link:function(e,t,n,a){e.vm.calendarCtrl=a},bindToController:!0}})},function(e,t,n){"use strict";var a=n(0);a.module("mwl.calendar").controller("MwlCalendarYearCtrl",["$scope","moment","calendarHelper",function(e,t,n){function r(){l.openRowIndex=null,l.openMonthIndex=null,l.cellIsOpen&&l.view&&l.view.forEach(function(e,n){t(l.viewDate).startOf("month").isSame(e.date)&&(l.openMonthIndex=n,l.openRowIndex=Math.floor(n/4))})}var l=this;l.openMonthIndex=null,e.$on("calendar.refreshView",function(){l.view=n.getYearView(l.events,l.viewDate,l.cellModifier),l.cellAutoOpenDisabled?r():!l.cellAutoOpenDisabled&&l.cellIsOpen&&null===l.openMonthIndex&&(l.openMonthIndex=null,l.view.forEach(function(e){t(l.viewDate).startOf("month").isSame(e.date)&&l.monthClicked(e,!0)}))}),l.monthClicked=function(e,t,n){if((t||(l.onTimespanClick({calendarDate:e.date.toDate(),calendarCell:e,$event:n}),!n||!n.defaultPrevented))&&!l.cellAutoOpenDisabled){l.openRowIndex=null;var a=l.view.indexOf(e);a===l.openMonthIndex?(l.openMonthIndex=null,l.cellIsOpen=!1):(l.openMonthIndex=a,l.openRowIndex=Math.floor(a/4),l.cellIsOpen=!0)}},l.handleEventDrop=function(e,a){var r=t(e.startsAt).month(t(a).month()).year(t(a).year()),i=n.adjustEndDateFromStartDiff(e.startsAt,r,e.endsAt);l.onEventTimesChanged({calendarEvent:e,calendarDate:a,calendarNewEventStart:r.toDate(),calendarNewEventEnd:i?i.toDate():null})},l.$onInit=function(){l.cellAutoOpenDisabled&&e.$watchGroup(["vm.cellIsOpen","vm.viewDate"],r)},a.version.minor<5&&l.$onInit()}]).directive("mwlCalendarYear",function(){return{template:'
',restrict:"E",require:"^mwlCalendar",scope:{events:"=",viewDate:"=",onEventClick:"=",onEventTimesChanged:"=",cellIsOpen:"=",cellAutoOpenDisabled:"=",onTimespanClick:"=",cellModifier:"=",slideBoxDisabled:"=",customTemplateUrls:"=?",templateScope:"="},controller:"MwlCalendarYearCtrl as vm",link:function(e,t,n,a){e.vm.calendarCtrl=a},bindToController:!0}})},function(e,t,n){"use strict";n(0).module("mwl.calendar").controller("MwlCollapseFallbackCtrl",["$scope","$attrs","$element",function(e,t,n){e.$watch(t.mwlCollapseFallback,function(e){e?n.addClass("ng-hide"):n.removeClass("ng-hide")})}]).directive("mwlCollapseFallback",["$injector",function(e){return e.has("uibCollapseDirective")?{}:{restrict:"A",controller:"MwlCollapseFallbackCtrl"}}])},function(e,t,n){"use strict";var a=n(0);a.module("mwl.calendar").controller("MwlDateModifierCtrl",["$element","$attrs","$scope","moment",function(e,t,n,r){function l(){a.isDefined(t.setToToday)?i.date=new Date:a.isDefined(t.increment)?i.date=r(i.date).add(1,i.increment).toDate():a.isDefined(t.decrement)&&(i.date=r(i.date).subtract(1,i.decrement).toDate()),n.$apply()}var i=this;e.bind("click",l),n.$on("$destroy",function(){e.unbind("click",l)})}]).directive("mwlDateModifier",function(){return{restrict:"A",controller:"MwlDateModifierCtrl as vm",scope:{date:"=",increment:"=",decrement:"="},bindToController:!0}})},function(e,t,n){"use strict";n(0).module("mwl.calendar").controller("MwlDragSelectCtrl",["$scope","$element","$parse","$attrs",function(e,t,n,a){function r(t){return function(a){t&&(n(t)(e),e.$apply()),a.preventDefault()}}function l(){t.on("mousedown",o),t.on("mousemove",d),t.on("mouseup",s)}function i(){t.off("mousedown",o),t.off("mousemove",d),t.off("mouseup",s)}var o=r(a.onDragSelectStart),d=r(a.onDragSelectMove),s=r(a.onDragSelectEnd);e.$watch(a.mwlDragSelect,function(e){e?l():i()}),e.$on("$destroy",function(){i()})}]).directive("mwlDragSelect",function(){return{restrict:"A",controller:"MwlDragSelectCtrl"}})},function(e,t,n){"use strict";var a=n(0);a.module("mwl.calendar").controller("MwlDraggableCtrl",["$element","$scope","$window","$parse","$attrs","$timeout","interact",function(e,t,n,r,l,i,o){function d(e,t){return e.css("-ms-transform",t).css("-webkit-transform",t).css("transform",t)}if(o){var s,c;l.snapGrid&&(c=r(l.snapGrid)(t),s={targets:[o.createSnapGrid(c)]});var v=r(l.autoScroll)(t);void 0===v&&(v=!0),o(e[0]).draggable({autoScroll:v,snap:s,onstart:function(e){a.element(e.target).addClass("dragging-active"),e.target.dropData=r(l.dropData)(t),e.target.style.pointerEvents="none",l.onDragStart&&(r(l.onDragStart)(t),t.$apply())},onmove:function(e){var i=a.element(e.target),o=(parseFloat(i.attr("data-x"))||0)+(e.dx||0),s=(parseFloat(i.attr("data-y"))||0)+(e.dy||0);switch(r(l.axis)(t)){case"x":s=0;break;case"y":o=0}"static"===n.getComputedStyle(i[0]).position&&i.css("position","relative"),d(i,"translate("+o+"px, "+s+"px)").css("z-index",50).attr("data-x",o).attr("data-y",s),l.onDrag&&(r(l.onDrag)(t,{x:o,y:s}),t.$apply())},onend:function(e){var n=a.element(e.target),o=n.attr("data-x"),s=n.attr("data-y");e.target.style.pointerEvents="auto",l.onDragEnd&&(r(l.onDragEnd)(t,{x:o,y:s}),t.$apply()),i(function(){d(n,"").css("z-index","auto").removeAttr("data-x").removeAttr("data-y").removeClass("dragging-active")})}}),t.$watch(l.mwlDraggable,function(t){o(e[0]).draggable({enabled:t})}),t.$on("$destroy",function(){o(e[0]).unset()})}}]).directive("mwlDraggable",function(){return{restrict:"A",controller:"MwlDraggableCtrl"}})},function(e,t,n){"use strict";var a=n(0);a.module("mwl.calendar").controller("MwlDroppableCtrl",["$element","$scope","$parse","$attrs","interact",function(e,t,n,r,l){if(l){var i=r.dropActiveClass||"drop-active";l(e[0]).dropzone({ondragenter:function(e){a.element(e.target).addClass(i)},ondragleave:function(e){a.element(e.target).removeClass(i)},ondropdeactivate:function(e){a.element(e.target).removeClass(i)},ondrop:function(e){e.relatedTarget.dropData&&(n(r.onDrop)(t,{dropData:e.relatedTarget.dropData}),t.$apply())}}),t.$on("$destroy",function(){l(e[0]).unset()})}}]).directive("mwlDroppable",function(){return{restrict:"A",controller:"MwlDroppableCtrl"}})},function(e,t,n){"use strict";var a=n(0);a.module("mwl.calendar").controller("MwlDynamicDirectiveTemplateCtrl",["$compile","$scope","$attrs","$element","$templateCache","$log","calendarConfig",function(e,t,n,r,l,i,o){t.$watch(n.overrides,function(d){var s=o.templates[n.name];d&&a.isObject(d)&&d[n.name]&&(l.get(d[n.name])?s=d[n.name]:i.warn("Bootstrap Calendar","The custom template for "+d[n.name]+' was not found in the template cache. Please ensure it is pre-loaded via a script tag