@pnp/spfx-controls-react
Version:
Reusable React controls for SharePoint Framework solutions
27 lines • 1.65 kB
JavaScript
import { __assign } from "tslib";
import * as React from 'react';
import { EventPopoverCard } from './EventPopoverCard';
import { mergeClasses } from '@fluentui/react-components';
import { useUtils } from './hooks/useUtils';
import { useWeekViewStyles } from './hooks/useWeekViewStyles';
export var EventRenderer = function (_a) {
var _b, _c;
var event = _a.event, eventCount = _a.eventCount, spanSlots = _a.spanSlots, rowHeight = _a.rowHeight, eventIndex = _a.eventIndex, view = _a.view;
var _d = useWeekViewStyles(), styles = _d.styles, appyDynamicStyles = _d.appyDynamicStyles;
var getEventColors = useUtils().getEventColors;
var colors = getEventColors(event.category);
// Memoize the function that determines the custom render function
var customOnRenderEvent = view === 'day'
? (_b = event.onRenderInDayView) === null || _b === void 0 ? void 0 : _b.call(event, event)
: (_c = event.onRenderInWeekView) === null || _c === void 0 ? void 0 : _c.call(event, event);
if (React.isValidElement(customOnRenderEvent)) {
return React.cloneElement(customOnRenderEvent, {
event: event,
className: mergeClasses(customOnRenderEvent.props.className, styles.eventCard, appyDynamicStyles(eventIndex, eventCount, rowHeight, spanSlots)),
style: __assign({}, customOnRenderEvent.props.style),
});
}
// Return default card
return (React.createElement(EventPopoverCard, { key: event.id, event: event, colors: colors, spanSlots: spanSlots, rowHeight: rowHeight, eventIndex: eventIndex, eventCount: eventCount }));
};
//# sourceMappingURL=EventRender.js.map