skedify-calendar
Version:
Skedify Calendar React component
98 lines (84 loc) • 3.28 kB
JavaScript
;
exports.__esModule = true;
exports.DEFAULT_RENDER_GUTTER_ITEM = exports.DEFAULT_RENDER_PLACEHOLDER = exports.DEFAULT_RENDER_EVENT = exports.DEFAULT_RENDER_DAY_HEADER = exports.DEFAULT_RENDER_HEADER = undefined;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _dateFns = require('date-fns');
var _LocaleContext = require('./LocaleContext');
var _Stack = require('./Stack');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var DEFAULT_RENDER_HEADER = exports.DEFAULT_RENDER_HEADER = function DEFAULT_RENDER_HEADER(_ref) {
var start = _ref.start,
end = _ref.end;
return _react2.default.createElement(
_LocaleContext.LocaleContext.Consumer,
null,
function (locale) {
return _react2.default.createElement(
'div',
{ className: 'SkedifyCalendar__Header' },
(0, _dateFns.isSameDay)(start, end) ? (0, _dateFns.format)(start, 'dd LLLL yyyy') : _react2.default.createElement(
_react2.default.Fragment,
null,
(0, _dateFns.format)(start, (0, _dateFns.isSameYear)(start, end) ? (0, _dateFns.isSameMonth)(start, end) ? 'dd' : 'dd LLLL' : 'dd LLLL yyyy', { locale: locale }),
' - ',
(0, _dateFns.format)(end, 'dd LLLL yyyy', { locale: locale })
)
);
}
);
};
var DEFAULT_RENDER_DAY_HEADER = exports.DEFAULT_RENDER_DAY_HEADER = function DEFAULT_RENDER_DAY_HEADER(date) {
return _react2.default.createElement(
_LocaleContext.LocaleContext.Consumer,
null,
function (locale) {
return _react2.default.createElement(
'div',
{ className: 'SkedifyCalendar__WeekHeader__Days__Day' },
(0, _dateFns.format)(date, 'iiii dd/LL', { locale: locale })
);
}
);
};
var DEFAULT_RENDER_EVENT = exports.DEFAULT_RENDER_EVENT = function DEFAULT_RENDER_EVENT(event) {
return _react2.default.createElement(
_LocaleContext.LocaleContext.Consumer,
null,
function (locale) {
return _react2.default.createElement(
'div',
{ className: 'SkedifyCalendar__Event' },
(0, _dateFns.format)(event.start, 'HH:mm', { locale: locale }),
' - ',
(0, _dateFns.format)(event.end, 'HH:mm', { locale: locale })
);
}
);
};
var DEFAULT_RENDER_PLACEHOLDER = exports.DEFAULT_RENDER_PLACEHOLDER = DEFAULT_RENDER_EVENT;
var DEFAULT_RENDER_GUTTER_ITEM = exports.DEFAULT_RENDER_GUTTER_ITEM = function DEFAULT_RENDER_GUTTER_ITEM(_ref2) {
var time = _ref2.time,
sizeOfOneSlot = _ref2.sizeOfOneSlot,
slotIndex = _ref2.slotIndex;
var isRoundHour = ((0, _dateFns.getMinutes)(time) * 60 + (0, _dateFns.getSeconds)(time)) % (60 * 60) === 0;
return _react2.default.createElement(
_LocaleContext.LocaleContext.Consumer,
null,
function (locale) {
return _react2.default.createElement(
_Stack.Stack,
{
className: 'SkedifyCalendar__Gutter__Slot__Contents',
style: {
lineHeight: sizeOfOneSlot + 'px',
marginTop: -(sizeOfOneSlot / 2)
}
},
slotIndex === 0 ? null : isRoundHour ? (0, _dateFns.format)(time, 'HH:mm', {
locale: locale
}) : null
);
}
);
};