packages/issue-dashboard-widgets/widgets/due-dates-calendar/app/custom-localizer.js (59 lines of code) (raw):

import {DateLocalizer} from 'react-big-calendar'; import {eq} from 'date-arithmetic'; /* eslint func-style: 0 */ /* eslint no-var: 0 */ /* eslint one-var: 0 */ /* eslint prefer-template: 0 */ var dateRangeFormat$1 = function dateRangeFormat(_ref, culture, local) { var start = _ref.start, end = _ref.end; return local.format(start, 'L', culture) + ' – ' + local.format(end, 'L', culture); }; var timeRangeFormat = function timeRangeFormat(_ref2, culture, local) { var start = _ref2.start, end = _ref2.end; return local.format(start, 'LT', culture) + ' – ' + local.format(end, 'LT', culture); }; var timeRangeStartFormat = function timeRangeStartFormat(_ref3, culture, local) { var start = _ref3.start; return local.format(start, 'LT', culture) + ' – '; }; var timeRangeEndFormat = function timeRangeEndFormat(_ref4, culture, local) { var end = _ref4.end; return ' – ' + local.format(end, 'LT', culture); }; var weekRangeFormat = function weekRangeFormat(_ref5, culture, local) { var start = _ref5.start, end = _ref5.end; return local.format(start, 'MMMM DD', culture) + ' – ' + local.format(end, eq(start, end, 'month') ? 'DD' : 'MMMM DD', culture); }; var formats = { dateFormat: 'DD', dayFormat: 'DD ddd', weekdayFormat: 'ddd', selectRangeFormat: timeRangeFormat, eventTimeRangeFormat: timeRangeFormat, eventTimeRangeStartFormat: timeRangeStartFormat, eventTimeRangeEndFormat: timeRangeEndFormat, timeGutterFormat: 'LT', monthHeaderFormat: 'MMMM YYYY', dayHeaderFormat: 'dddd MMM DD', dayRangeHeaderFormat: weekRangeFormat, agendaHeaderFormat: dateRangeFormat$1, agendaDateFormat: 'ddd MMM DD', agendaTimeFormat: 'LT', agendaTimeRangeFormat: timeRangeFormat }; function customMoment(moment) { var locale = function locale(m, c) { return c ? m.locale(c) : m; }; return new DateLocalizer({ formats, firstOfWeek: function firstOfWeek() { const data = moment.localeData(); return data ? data.firstDayOfWeek() : 0; }, format: function format(value, _format, culture) { return locale(moment(value), culture).format(_format); } }); } export default customMoment;