UNPKG

react-event-calendar

Version:
1 lines 6.01 kB
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.ReactEventCalendar=e()}}(function(){return function e(t,n,a){function r(o,s){if(!n[o]){if(!t[o]){var l="function"==typeof require&&require;if(!s&&l)return l(o,!0);if(i)return i(o,!0);var u=new Error("Cannot find module '"+o+"'");throw u.code="MODULE_NOT_FOUND",u}var d=n[o]={exports:{}};t[o][0].call(d.exports,function(e){var n=t[o][1][e];return r(n?n:e)},d,d.exports,e,t,n,a)}return n[o].exports}for(var i="function"==typeof require&&require,o=0;o<a.length;o++)r(a[o]);return r}({1:[function(e,t,n){(function(a){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(n,"__esModule",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}(),l=function(e,t,n){for(var a=!0;a;){var r=e,i=t,o=n;s=u=l=void 0,a=!1,null===r&&(r=Function.prototype);var s=Object.getOwnPropertyDescriptor(r,i);if(void 0!==s){if("value"in s)return s.value;var l=s.get;return void 0===l?void 0:l.call(o)}var u=Object.getPrototypeOf(r);if(null===u)return void 0;e=u,t=i,n=o,a=!0}},u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},d="undefined"!=typeof window?window.React:"undefined"!=typeof a?a.React:null,f=r(d),c=e("calendar-base"),v=e("classnames"),y=r(v),p={events:f["default"].PropTypes.array,month:f["default"].PropTypes.number.isRequired,year:f["default"].PropTypes.number.isRequired,onEventClick:f["default"].PropTypes.func,onEventMouseOver:f["default"].PropTypes.func},h={daysOfTheWeek:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],events:[]},b=function(e){function t(e){i(this,t),l(Object.getPrototypeOf(t.prototype),"constructor",this).call(this,e),this.getCalendarDays=this.getCalendarDays.bind(this),this.getDaysWithEvents=this.getDaysWithEvents.bind(this),this.getEventMeta=this.getEventMeta.bind(this),this.getToday=this.getToday.bind(this),this.state={today:this.getToday()}}return o(t,e),s(t,[{key:"componentWillMount",value:function(){this.calendar=new c.Calendar({siblingMonths:!0})}},{key:"getToday",value:function(){var e=new Date;return{day:e.getDate(),month:e.getMonth(),year:e.getFullYear()}}},{key:"getCalendarDays",value:function(){return this.calendar.getCalendar(this.props.year,this.props.month).map(function(e){return e.eventSlots=Array(3).fill(!1),e})}},{key:"getEventMeta",value:function(e,t,n){var a=this.calendar.isDateSelected(t),r=this.calendar.isDateSelected(n),i=e[0],o=e[e.length-1],s={isVisibleInView:!1,visibleEventLength:e.length,firstVisibleDayIndex:a?c.Calendar.interval(i,t)-1:0};return a||r?s.isVisibleInView=!0:t.month<this.props.month&&n.month>this.props.month&&(s.isVisibleInView=!0),a&&r?s.visibleEventLength=c.Calendar.interval(t,n):!a&&r?s.visibleEventLength=c.Calendar.interval(i,n):a&&!r&&(s.visibleEventLength=c.Calendar.interval(t,o)),s}},{key:"getDaysWithEvents",value:function(){var e=this,t=this.getCalendarDays();return this.calendar.setStartDate(t[0]),this.calendar.setEndDate(t[t.length-1]),this.props.events.forEach(function(n){var a=e.getCalendarDayObject(n.start),r=e.getCalendarDayObject(n.end),i=e.getEventMeta(t,a,r);if(i.isVisibleInView)for(var o=i.visibleEventLength,s=t[i.firstVisibleDayIndex].eventSlots.indexOf(!1),l=0;o>l;){var d=u({},n);0===l?d.isFirstDay=!0:l===o-1?d.isLastDay=!0:d.isBetweenDay=!0,t[i.firstVisibleDayIndex+l].eventSlots[s]=d,l++}}),t}},{key:"getCalendarDayObject",value:function(e){var t=e.split("-");return{year:t[0],month:t[1]-1,day:t[2]}}},{key:"renderDaysOfTheWeek",value:function(){return this.props.daysOfTheWeek.map(function(e){return f["default"].createElement("div",{className:"flexColumn"},e)})}},{key:"renderEvent",value:function(e,t,n){var a=e.isFirstDay||0===t.weekDay,r=y["default"]({"event-slot":!0,event:!0,"event-first-day":e.isFirstDay,"event-last-day":e.isLastDay,"event-has-label":a}),i=[t.month,t.day,n].join("_");return f["default"].createElement("div",{className:r,ref:i,onClick:this.props.onEventClick.bind(null,i,e),onMouseOver:this.props.onEventMouseOver.bind(null,i,e),onMouseOut:this.props.onEventMouseOut.bind(null,i,e)},e.title)}},{key:"renderEvents",value:function(e){var t=this,n=f["default"].createElement("div",{className:"event-slot"}," ");return e.eventSlots.map(function(a,r){return a?t.renderEvent(a,e,r):n})}},{key:"renderCalendarDays",value:function(){var e=this;return this.getDaysWithEvents().map(function(t){var n=y["default"]({flexColumn:!0,day:!0,inactive:t.siblingMonth,today:1===c.Calendar.interval(t,e.state.today)});return f["default"].createElement("div",{className:n},f["default"].createElement("div",{className:"inner-grid"},f["default"].createElement("div",{className:"date"},t.day),e.renderEvents(t)))})}},{key:"render",value:function(){return f["default"].createElement("div",{className:"flexContainer"},this.renderDaysOfTheWeek(),this.renderCalendarDays())}}]),t}(f["default"].Component);b.propTypes=p,b.defaultProps=h,n["default"]=b,t.exports=n["default"]}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"calendar-base":void 0,classnames:void 0}]},{},[1])(1)});