skedify-calendar
Version:
Skedify Calendar React component
74 lines (61 loc) • 2.06 kB
JavaScript
'use strict';
exports.__esModule = true;
exports.Event = undefined;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _isFunction = require('../../utils/isFunction');
var _DragHandle = require('./DragHandle');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function EventWrapper(_ref) {
var children = _ref.children,
positionTop = _ref.positionTop,
height = _ref.height;
return _react2.default.createElement(
'div',
{
className: 'SkedifyCalendar__EventWrapper',
style: {
transform: 'translateY(' + positionTop + 'px)',
height: height
}
},
children
);
}
function EventComponent(_ref2) {
var event = _ref2.event,
onActivate = _ref2.onActivate,
render = _ref2.render,
positionTop = _ref2.positionTop,
height = _ref2.height,
interactionInfo = _ref2.interactionInfo;
var shouldBeInteractable = (0, _isFunction.isFunction)(onActivate);
if (!shouldBeInteractable) {
return _react2.default.createElement(
EventWrapper,
{ positionTop: positionTop, height: height },
render(event, interactionInfo)
);
}
return _react2.default.createElement(
EventWrapper,
{ positionTop: positionTop, height: height },
_react2.default.createElement(_DragHandle.DragHandle, {
placement: _DragHandle.DragHandle.PLACEMENT_TOP,
onActivate: onActivate(event, _DragHandle.DragHandle.PLACEMENT_TOP)
}),
_react2.default.createElement(
_DragHandle.DragHandle,
{
placement: _DragHandle.DragHandle.MOVING_INDICATOR,
onActivate: onActivate(event, _DragHandle.DragHandle.MOVING_INDICATOR)
},
render(event, interactionInfo)
),
_react2.default.createElement(_DragHandle.DragHandle, {
placement: _DragHandle.DragHandle.PLACEMENT_BOTTOM,
onActivate: onActivate(event, _DragHandle.DragHandle.PLACEMENT_BOTTOM)
})
);
}
var Event = exports.Event = (0, _react.memo)(EventComponent);