skedify-calendar
Version:
Skedify Calendar React component
65 lines (56 loc) • 1.64 kB
JavaScript
import React, { memo } from 'react';
import { isFunction } from '../../utils/isFunction';
import { DragHandle } from './DragHandle';
function EventWrapper(_ref) {
var children = _ref.children,
positionTop = _ref.positionTop,
height = _ref.height;
return React.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 = isFunction(onActivate);
if (!shouldBeInteractable) {
return React.createElement(
EventWrapper,
{ positionTop: positionTop, height: height },
render(event, interactionInfo)
);
}
return React.createElement(
EventWrapper,
{ positionTop: positionTop, height: height },
React.createElement(DragHandle, {
placement: DragHandle.PLACEMENT_TOP,
onActivate: onActivate(event, DragHandle.PLACEMENT_TOP)
}),
React.createElement(
DragHandle,
{
placement: DragHandle.MOVING_INDICATOR,
onActivate: onActivate(event, DragHandle.MOVING_INDICATOR)
},
render(event, interactionInfo)
),
React.createElement(DragHandle, {
placement: DragHandle.PLACEMENT_BOTTOM,
onActivate: onActivate(event, DragHandle.PLACEMENT_BOTTOM)
})
);
}
export var Event = memo(EventComponent);