UNPKG

react-native-calendar-box

Version:
96 lines (81 loc) 2.84 kB
'use strict'; exports.__esModule = true; exports.getCalendarArray = getCalendarArray; exports.getMonthName = getMonthName; exports.getDayName = getDayName; exports.setDisplayTime = setDisplayTime; exports.displayDateTime = displayDateTime; exports.getHoursList = getHoursList; var _immutableDatetime = require('immutable-datetime'); var _immutableDatetime2 = _interopRequireDefault(_immutableDatetime); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /* Calendar helpers */ var monthNames = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']; var dayNames = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']; function getEmptyWeekArray() { var array = new Array(7); array.fill(null); return array; } function getCalendarArray(year, month) { var weeks = []; var firstDay = _immutableDatetime2.default.fromDateParts(year, month, 1); var firstDayOfNextMonth = _immutableDatetime2.default.fromDateParts(year, month + 1, 1); var currentWeek = getEmptyWeekArray(); var currentWeekIsEmpty = true; var currentDay = firstDay; while (currentDay.toNumber() < firstDayOfNextMonth.toNumber()) { var dayOfWeek = currentDay.getDay(); currentWeek[dayOfWeek] = currentDay; currentWeekIsEmpty = false; if (dayOfWeek === 6) { weeks.push(currentWeek); currentWeek = getEmptyWeekArray(); currentWeekIsEmpty = true; } currentDay = currentDay.addDays(1); } if (!currentWeekIsEmpty) { weeks.push(currentWeek); } return weeks; } function getMonthName(currentMonth) { return monthNames[currentMonth]; } function getDayName(dayIndex) { return dayNames[dayIndex]; } function setDisplayTime(dateTime) { var time = dateTime; var minutes = time.getMinutes() < 10 ? '0' + time.getMinutes() : time.getMinutes(); var hours = time.getHours() < 10 ? '0' + time.getHours() : time.getHours(); return hours + '.' + minutes; } function displayDateTime(dateTime) { if (dateTime != null) { var month = getMonthName(dateTime.getMonth()); var time = displayTime(dateTime); return month + ' ' + dateTime.getDate() + ', ' + dateTime.getYear() + ' at ' + time; } return ''; } function displayTime(dateTime) { if (dateTime != null) { var time = dateTime; var minutes = time.getMinutes() < 10 ? '0' + time.getMinutes() : time.getMinutes(); var hours = time.getHours() < 10 ? '0' + time.getHours() : time.getHours(); return hours + ':' + minutes; } return ''; } function getHoursList(date) { var hoursList = []; if (date != null) { for (var i = 7; i < 19; i += 1) { hoursList.push(date.addHours(i)); hoursList.push(date.addHours(i).addMinutes(30)); } } return hoursList; }