UNPKG

big-scheduler

Version:

Big scheduler is a powerful and intuitive scheduler and resource planning solution built with React. Seamlessly integrate this modern browser-compatible component into your applications to effectively manage time, appointments, and resources. With drag-a

89 lines (88 loc) 4.11 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _AgendaEventItem = _interopRequireDefault(require("./AgendaEventItem")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } function AgendaResourceEvents(props) { var schedulerData = props.schedulerData, resourceEvents = props.resourceEvents, slotClickedFunc = props.slotClickedFunc, slotItemTemplateResolver = props.slotItemTemplateResolver; var startDate = schedulerData.startDate, endDate = schedulerData.endDate, config = schedulerData.config, localeDayjs = schedulerData.localeDayjs; var width = schedulerData.getResourceTableWidth() - 2; var events = resourceEvents.headerItems.flatMap(function (item) { var start = localeDayjs(new Date(startDate)); var end = localeDayjs(endDate).add(1, "days"); var headerStart = localeDayjs(new Date(item.start)); var headerEnd = localeDayjs(new Date(item.end)); if (start === headerStart && end === headerEnd) { return item.events.map(function (evt) { var durationStart = localeDayjs(new Date(startDate)); var durationEnd = localeDayjs(endDate).add(1, "days"); var eventStart = localeDayjs(evt.eventItem.start); var eventEnd = localeDayjs(evt.eventItem.end); var isStart = eventStart >= durationStart; var isEnd = eventEnd < durationEnd; return /*#__PURE__*/_react["default"].createElement(_AgendaEventItem["default"], _extends({}, props, { key: evt.eventItem.id, eventItem: evt.eventItem, isStart: isStart, isEnd: isEnd })); }); } return []; }); var slotItemContent = slotClickedFunc ? /*#__PURE__*/_react["default"].createElement("button", { className: "txt-btn-dis", type: "button", onClick: function onClick() { return slotClickedFunc(schedulerData, resourceEvents); } }, resourceEvents.slotName) : /*#__PURE__*/_react["default"].createElement("span", null, resourceEvents.slotName); var slotItem = /*#__PURE__*/_react["default"].createElement("div", { style: { width: width }, title: resourceEvents.slotTitle || resourceEvents.slotName, className: "overflow-text header2-text" }, slotItemContent); if (slotItemTemplateResolver) { var temp = slotItemTemplateResolver(schedulerData, resourceEvents, slotClickedFunc, width, "overflow-text header2-text"); if (temp) { slotItem = temp; } } return /*#__PURE__*/_react["default"].createElement("tr", { style: { minHeight: config.eventItemLineHeight + 2 } }, /*#__PURE__*/_react["default"].createElement("td", { "data-resource-id": resourceEvents.slotId }, slotItem), /*#__PURE__*/_react["default"].createElement("td", null, /*#__PURE__*/_react["default"].createElement("div", { className: "day-event-container" }, events))); } AgendaResourceEvents.propTypes = { schedulerData: _propTypes["default"].object.isRequired, resourceEvents: _propTypes["default"].object.isRequired, subtitleGetter: _propTypes["default"].func, eventItemClick: _propTypes["default"].func, eventContextMenuOpen: _propTypes["default"].func, viewEventClick: _propTypes["default"].func, viewEventText: _propTypes["default"].string, viewEvent2Click: _propTypes["default"].func, viewEvent2Text: _propTypes["default"].string, slotClickedFunc: _propTypes["default"].func, slotItemTemplateResolver: _propTypes["default"].func }; var _default = exports["default"] = AgendaResourceEvents; //# sourceMappingURL=AgendaResourceEvents.js.map