@pnp/spfx-controls-react
Version:
Reusable React controls for SharePoint Framework solutions
31 lines • 1.91 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.EventRenderer = void 0;
var tslib_1 = require("tslib");
var React = tslib_1.__importStar(require("react"));
var EventPopoverCard_1 = require("./EventPopoverCard");
var react_components_1 = require("@fluentui/react-components");
var useUtils_1 = require("./hooks/useUtils");
var useWeekViewStyles_1 = require("./hooks/useWeekViewStyles");
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 = (0, useWeekViewStyles_1.useWeekViewStyles)(), styles = _d.styles, appyDynamicStyles = _d.appyDynamicStyles;
var getEventColors = (0, useUtils_1.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: (0, react_components_1.mergeClasses)(customOnRenderEvent.props.className, styles.eventCard, appyDynamicStyles(eventIndex, eventCount, rowHeight, spanSlots)),
style: tslib_1.__assign({}, customOnRenderEvent.props.style),
});
}
// Return default card
return (React.createElement(EventPopoverCard_1.EventPopoverCard, { key: event.id, event: event, colors: colors, spanSlots: spanSlots, rowHeight: rowHeight, eventIndex: eventIndex, eventCount: eventCount }));
};
exports.EventRenderer = EventRenderer;
//# sourceMappingURL=EventRender.js.map