react-big-schedule 4.3.0 → 4.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/AddMore.js +48 -0
- package/dist/components/AddMorePopover.js +108 -0
- package/dist/components/AgendaEventItem.js +84 -0
- package/dist/components/AgendaResourceEvents.js +87 -0
- package/dist/components/AgendaView.js +51 -0
- package/dist/components/BodyView.js +57 -0
- package/dist/components/DnDContext.js +163 -0
- package/dist/components/DnDSource.js +115 -0
- package/dist/components/EventItem.js +702 -0
- package/dist/components/EventItemPopover.js +132 -0
- package/dist/components/HeaderView.js +110 -0
- package/dist/components/ResourceEvents.js +412 -0
- package/dist/components/ResourceView.js +112 -0
- package/dist/components/SchedulerData.js +1239 -0
- package/dist/components/SchedulerHeader.js +160 -0
- package/dist/components/SelectedArea.js +32 -0
- package/dist/components/Summary.js +59 -0
- package/dist/components/WrapperFun.js +19 -0
- package/dist/components/index.js +583 -0
- package/dist/config/default.js +36 -0
- package/dist/config/scheduler.js +108 -0
- package/dist/css/style.css +257 -0
- package/dist/helper/behaviors.js +102 -0
- package/dist/helper/utility.js +22 -0
- package/dist/index.d.ts +378 -0
- package/dist/index.js +78 -0
- package/dist/sample-data/sample1.js +335 -0
- package/package.json +5 -5
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
var _antd = require("antd");
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
11
|
+
function EventItemPopover(_ref) {
|
|
12
|
+
var schedulerData = _ref.schedulerData,
|
|
13
|
+
eventItem = _ref.eventItem,
|
|
14
|
+
title = _ref.title,
|
|
15
|
+
startTime = _ref.startTime,
|
|
16
|
+
endTime = _ref.endTime,
|
|
17
|
+
statusColor = _ref.statusColor,
|
|
18
|
+
subtitleGetter = _ref.subtitleGetter,
|
|
19
|
+
viewEventClick = _ref.viewEventClick,
|
|
20
|
+
viewEventText = _ref.viewEventText,
|
|
21
|
+
viewEvent2Click = _ref.viewEvent2Click,
|
|
22
|
+
viewEvent2Text = _ref.viewEvent2Text,
|
|
23
|
+
eventItemPopoverTemplateResolver = _ref.eventItemPopoverTemplateResolver;
|
|
24
|
+
var localeDayjs = schedulerData.localeDayjs,
|
|
25
|
+
config = schedulerData.config;
|
|
26
|
+
var start = localeDayjs(new Date(startTime));
|
|
27
|
+
var end = localeDayjs(new Date(endTime));
|
|
28
|
+
if (eventItemPopoverTemplateResolver) {
|
|
29
|
+
return eventItemPopoverTemplateResolver(schedulerData, eventItem, title, start, end, statusColor);
|
|
30
|
+
}
|
|
31
|
+
var subtitle = subtitleGetter ? subtitleGetter(schedulerData, eventItem) : null;
|
|
32
|
+
var showViewEvent = viewEventText && viewEventClick && (eventItem.clickable1 === undefined || eventItem.clickable1);
|
|
33
|
+
var showViewEvent2 = viewEvent2Text && viewEvent2Click && (eventItem.clickable2 === undefined || eventItem.clickable2);
|
|
34
|
+
var renderViewEvent = function renderViewEvent(text, clickHandler) {
|
|
35
|
+
var marginLeft = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
|
|
36
|
+
return /*#__PURE__*/_react["default"].createElement("button", {
|
|
37
|
+
className: "header2-text txt-btn-dis",
|
|
38
|
+
type: "button",
|
|
39
|
+
style: {
|
|
40
|
+
color: '#108EE9',
|
|
41
|
+
cursor: 'pointer',
|
|
42
|
+
marginLeft: "".concat(marginLeft, "px")
|
|
43
|
+
},
|
|
44
|
+
onClick: function onClick() {
|
|
45
|
+
return clickHandler(schedulerData, eventItem);
|
|
46
|
+
}
|
|
47
|
+
}, text);
|
|
48
|
+
};
|
|
49
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
50
|
+
style: {
|
|
51
|
+
width: config.eventItemPopoverWidth
|
|
52
|
+
}
|
|
53
|
+
}, /*#__PURE__*/_react["default"].createElement(_antd.Row, {
|
|
54
|
+
type: "flex",
|
|
55
|
+
align: "middle"
|
|
56
|
+
}, config.eventItemPopoverShowColor && /*#__PURE__*/_react["default"].createElement(_antd.Col, {
|
|
57
|
+
span: 2
|
|
58
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
59
|
+
className: "status-dot",
|
|
60
|
+
style: {
|
|
61
|
+
backgroundColor: statusColor
|
|
62
|
+
}
|
|
63
|
+
})), /*#__PURE__*/_react["default"].createElement(_antd.Col, {
|
|
64
|
+
span: 22,
|
|
65
|
+
className: "overflow-text"
|
|
66
|
+
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
67
|
+
className: "header2-text",
|
|
68
|
+
title: title
|
|
69
|
+
}, title))), subtitle && /*#__PURE__*/_react["default"].createElement(_antd.Row, {
|
|
70
|
+
type: "flex",
|
|
71
|
+
align: "middle"
|
|
72
|
+
}, /*#__PURE__*/_react["default"].createElement(_antd.Col, {
|
|
73
|
+
span: 2
|
|
74
|
+
}, /*#__PURE__*/_react["default"].createElement("div", null)), /*#__PURE__*/_react["default"].createElement(_antd.Col, {
|
|
75
|
+
span: 22,
|
|
76
|
+
className: "overflow-text"
|
|
77
|
+
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
78
|
+
className: "header2-text",
|
|
79
|
+
title: subtitle
|
|
80
|
+
}, subtitle))), /*#__PURE__*/_react["default"].createElement(_antd.Row, {
|
|
81
|
+
type: "flex",
|
|
82
|
+
align: "middle"
|
|
83
|
+
}, /*#__PURE__*/_react["default"].createElement(_antd.Col, {
|
|
84
|
+
span: 2
|
|
85
|
+
}, /*#__PURE__*/_react["default"].createElement("div", null)), /*#__PURE__*/_react["default"].createElement(_antd.Col, {
|
|
86
|
+
span: 22
|
|
87
|
+
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
88
|
+
className: "header1-text"
|
|
89
|
+
}, start.format('HH:mm')), config.eventItemPopoverDateFormat && /*#__PURE__*/_react["default"].createElement("span", {
|
|
90
|
+
className: "help-text",
|
|
91
|
+
style: {
|
|
92
|
+
marginLeft: '8px'
|
|
93
|
+
}
|
|
94
|
+
}, start.format(config.eventItemPopoverDateFormat)), /*#__PURE__*/_react["default"].createElement("span", {
|
|
95
|
+
className: "header2-text",
|
|
96
|
+
style: {
|
|
97
|
+
marginLeft: '8px'
|
|
98
|
+
}
|
|
99
|
+
}, "-"), /*#__PURE__*/_react["default"].createElement("span", {
|
|
100
|
+
className: "header1-text",
|
|
101
|
+
style: {
|
|
102
|
+
marginLeft: '8px'
|
|
103
|
+
}
|
|
104
|
+
}, end.format('HH:mm')), config.eventItemPopoverDateFormat && /*#__PURE__*/_react["default"].createElement("span", {
|
|
105
|
+
className: "help-text",
|
|
106
|
+
style: {
|
|
107
|
+
marginLeft: '8px'
|
|
108
|
+
}
|
|
109
|
+
}, end.format(config.eventItemPopoverDateFormat)))), (showViewEvent || showViewEvent2) && /*#__PURE__*/_react["default"].createElement(_antd.Row, {
|
|
110
|
+
type: "flex",
|
|
111
|
+
align: "middle"
|
|
112
|
+
}, /*#__PURE__*/_react["default"].createElement(_antd.Col, {
|
|
113
|
+
span: 2
|
|
114
|
+
}, /*#__PURE__*/_react["default"].createElement("div", null)), /*#__PURE__*/_react["default"].createElement(_antd.Col, {
|
|
115
|
+
span: 22
|
|
116
|
+
}, showViewEvent && renderViewEvent(viewEventText, viewEventClick), showViewEvent2 && renderViewEvent(viewEvent2Text, viewEvent2Click, 16))));
|
|
117
|
+
}
|
|
118
|
+
EventItemPopover.propTypes = {
|
|
119
|
+
schedulerData: _propTypes["default"].object.isRequired,
|
|
120
|
+
eventItem: _propTypes["default"].object.isRequired,
|
|
121
|
+
title: _propTypes["default"].string.isRequired,
|
|
122
|
+
startTime: _propTypes["default"].string.isRequired,
|
|
123
|
+
endTime: _propTypes["default"].string.isRequired,
|
|
124
|
+
statusColor: _propTypes["default"].string.isRequired,
|
|
125
|
+
subtitleGetter: _propTypes["default"].func,
|
|
126
|
+
viewEventClick: _propTypes["default"].func,
|
|
127
|
+
viewEventText: _propTypes["default"].string,
|
|
128
|
+
viewEvent2Click: _propTypes["default"].func,
|
|
129
|
+
viewEvent2Text: _propTypes["default"].string,
|
|
130
|
+
eventItemPopoverTemplateResolver: _propTypes["default"].func
|
|
131
|
+
};
|
|
132
|
+
var _default = exports["default"] = EventItemPopover;
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
var _default2 = require("../config/default");
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
11
|
+
/* eslint-disable no-nested-ternary */
|
|
12
|
+
/* eslint-disable react/no-array-index-key */
|
|
13
|
+
|
|
14
|
+
function HeaderView(_ref) {
|
|
15
|
+
var schedulerData = _ref.schedulerData,
|
|
16
|
+
nonAgendaCellHeaderTemplateResolver = _ref.nonAgendaCellHeaderTemplateResolver;
|
|
17
|
+
var headers = schedulerData.headers,
|
|
18
|
+
cellUnit = schedulerData.cellUnit,
|
|
19
|
+
config = schedulerData.config,
|
|
20
|
+
localeDayjs = schedulerData.localeDayjs;
|
|
21
|
+
var headerHeight = schedulerData.getTableHeaderHeight();
|
|
22
|
+
var cellWidth = schedulerData.getContentCellWidth();
|
|
23
|
+
var minuteStepsInHour = schedulerData.getMinuteStepsInHour();
|
|
24
|
+
var headerList = [];
|
|
25
|
+
var style;
|
|
26
|
+
if (cellUnit === _default2.CellUnit.Hour) {
|
|
27
|
+
headers.forEach(function (item, index) {
|
|
28
|
+
if (index % minuteStepsInHour === 0) {
|
|
29
|
+
var datetime = localeDayjs(new Date(item.time));
|
|
30
|
+
style = item.nonWorkingTime ? {
|
|
31
|
+
width: cellWidth * minuteStepsInHour,
|
|
32
|
+
color: config.nonWorkingTimeHeadColor,
|
|
33
|
+
backgroundColor: config.nonWorkingTimeHeadBgColor
|
|
34
|
+
} : {
|
|
35
|
+
width: cellWidth * minuteStepsInHour
|
|
36
|
+
};
|
|
37
|
+
if (index === headers.length - minuteStepsInHour) {
|
|
38
|
+
style = item.nonWorkingTime ? {
|
|
39
|
+
color: config.nonWorkingTimeHeadColor,
|
|
40
|
+
backgroundColor: config.nonWorkingTimeHeadBgColor
|
|
41
|
+
} : {};
|
|
42
|
+
}
|
|
43
|
+
var pFormattedList = config.nonAgendaDayCellHeaderFormat.split('|').map(function (pitem) {
|
|
44
|
+
return datetime.format(pitem);
|
|
45
|
+
});
|
|
46
|
+
var element;
|
|
47
|
+
if (typeof nonAgendaCellHeaderTemplateResolver === 'function') {
|
|
48
|
+
element = nonAgendaCellHeaderTemplateResolver(schedulerData, item, pFormattedList, style);
|
|
49
|
+
} else {
|
|
50
|
+
var pList = pFormattedList.map(function (formattedItem, pIndex) {
|
|
51
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
52
|
+
key: pIndex
|
|
53
|
+
}, formattedItem);
|
|
54
|
+
});
|
|
55
|
+
element = /*#__PURE__*/_react["default"].createElement("th", {
|
|
56
|
+
key: "header-".concat(item.time),
|
|
57
|
+
className: "header3-text",
|
|
58
|
+
style: style
|
|
59
|
+
}, /*#__PURE__*/_react["default"].createElement("div", null, pList));
|
|
60
|
+
}
|
|
61
|
+
headerList.push(element);
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
} else {
|
|
65
|
+
headerList = headers.map(function (item, index) {
|
|
66
|
+
var datetime = localeDayjs(new Date(item.time));
|
|
67
|
+
style = item.nonWorkingTime ? {
|
|
68
|
+
width: cellWidth,
|
|
69
|
+
color: config.nonWorkingTimeHeadColor,
|
|
70
|
+
backgroundColor: config.nonWorkingTimeHeadBgColor
|
|
71
|
+
} : {
|
|
72
|
+
width: cellWidth
|
|
73
|
+
};
|
|
74
|
+
if (index === headers.length - 1) style = item.nonWorkingTime ? {
|
|
75
|
+
color: config.nonWorkingTimeHeadColor,
|
|
76
|
+
backgroundColor: config.nonWorkingTimeHeadBgColor
|
|
77
|
+
} : {};
|
|
78
|
+
var cellFormat = cellUnit === _default2.CellUnit.Week ? config.nonAgendaWeekCellHeaderFormat : cellUnit === _default2.CellUnit.Month ? config.nonAgendaMonthCellHeaderFormat : cellUnit === _default2.CellUnit.Year ? config.nonAgendaYearCellHeaderFormat : config.nonAgendaOtherCellHeaderFormat;
|
|
79
|
+
var pFormattedList = cellFormat.split('|').map(function (dateFormatPart) {
|
|
80
|
+
return datetime.format(dateFormatPart);
|
|
81
|
+
});
|
|
82
|
+
if (typeof nonAgendaCellHeaderTemplateResolver === 'function') {
|
|
83
|
+
return nonAgendaCellHeaderTemplateResolver(schedulerData, item, pFormattedList, style);
|
|
84
|
+
}
|
|
85
|
+
var pList = pFormattedList.map(function (formattedItem, pIndex) {
|
|
86
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
87
|
+
key: pIndex
|
|
88
|
+
}, formattedItem);
|
|
89
|
+
});
|
|
90
|
+
return /*#__PURE__*/_react["default"].createElement("th", {
|
|
91
|
+
key: "header-".concat(item.time),
|
|
92
|
+
className: "header3-text",
|
|
93
|
+
style: style
|
|
94
|
+
}, /*#__PURE__*/_react["default"].createElement("div", null, pList));
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
return /*#__PURE__*/_react["default"].createElement("thead", null, /*#__PURE__*/_react["default"].createElement("tr", {
|
|
98
|
+
style: {
|
|
99
|
+
height: headerHeight
|
|
100
|
+
}
|
|
101
|
+
}, headerList));
|
|
102
|
+
}
|
|
103
|
+
HeaderView.propTypes = {
|
|
104
|
+
schedulerData: _propTypes["default"].object.isRequired,
|
|
105
|
+
nonAgendaCellHeaderTemplateResolver: _propTypes["default"].func
|
|
106
|
+
};
|
|
107
|
+
HeaderView.defaultProps = {
|
|
108
|
+
nonAgendaCellHeaderTemplateResolver: null
|
|
109
|
+
};
|
|
110
|
+
var _default = exports["default"] = HeaderView;
|
|
@@ -0,0 +1,412 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _propTypes = require("prop-types");
|
|
9
|
+
var _AddMore = _interopRequireDefault(require("./AddMore"));
|
|
10
|
+
var _Summary = _interopRequireDefault(require("./Summary"));
|
|
11
|
+
var _SelectedArea = _interopRequireDefault(require("./SelectedArea"));
|
|
12
|
+
var _default2 = require("../config/default");
|
|
13
|
+
var _utility = require("../helper/utility");
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
15
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
16
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
17
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
18
|
+
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); }
|
|
19
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
20
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
21
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
22
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
23
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
24
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
25
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
26
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
27
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
28
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
29
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
30
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
31
|
+
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
|
32
|
+
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
33
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
34
|
+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
35
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
36
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
37
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
38
|
+
var ResourceEvents = /*#__PURE__*/function (_Component) {
|
|
39
|
+
_inherits(ResourceEvents, _Component);
|
|
40
|
+
var _super = _createSuper(ResourceEvents);
|
|
41
|
+
function ResourceEvents(props) {
|
|
42
|
+
var _this;
|
|
43
|
+
_classCallCheck(this, ResourceEvents);
|
|
44
|
+
_this = _super.call(this, props);
|
|
45
|
+
_defineProperty(_assertThisInitialized(_this), "supportTouchHelper", function () {
|
|
46
|
+
var evType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'add';
|
|
47
|
+
var ev = evType === 'add' ? _this.eventContainer.addEventListener : _this.eventContainer.removeEventListener;
|
|
48
|
+
if (_this.supportTouch) {
|
|
49
|
+
// ev('touchstart', this.initDrag, false);
|
|
50
|
+
} else {
|
|
51
|
+
ev('mousedown', _this.initDrag, false);
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
_defineProperty(_assertThisInitialized(_this), "initDrag", function (ev) {
|
|
55
|
+
var isSelecting = _this.state.isSelecting;
|
|
56
|
+
if (isSelecting) return;
|
|
57
|
+
if ((ev.srcElement || ev.target) !== _this.eventContainer) return;
|
|
58
|
+
ev.stopPropagation();
|
|
59
|
+
var resourceEvents = _this.props.resourceEvents;
|
|
60
|
+
if (resourceEvents.groupOnly) return;
|
|
61
|
+
var _this$dragHelper = _this.dragHelper(ev, 'init'),
|
|
62
|
+
_this$dragHelper2 = _slicedToArray(_this$dragHelper, 2),
|
|
63
|
+
clientX = _this$dragHelper2[0],
|
|
64
|
+
toReturn = _this$dragHelper2[1];
|
|
65
|
+
if (toReturn) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
var schedulerData = _this.props.schedulerData;
|
|
69
|
+
var cellWidth = schedulerData.getContentCellWidth();
|
|
70
|
+
var pos = (0, _utility.getPos)(_this.eventContainer);
|
|
71
|
+
var startX = clientX - pos.x;
|
|
72
|
+
var leftIndex = Math.floor(startX / cellWidth);
|
|
73
|
+
var left = leftIndex * cellWidth;
|
|
74
|
+
var rightIndex = Math.ceil(startX / cellWidth);
|
|
75
|
+
var width = (rightIndex - leftIndex) * cellWidth;
|
|
76
|
+
_this.setState({
|
|
77
|
+
startX: startX,
|
|
78
|
+
left: left,
|
|
79
|
+
leftIndex: leftIndex,
|
|
80
|
+
width: width,
|
|
81
|
+
rightIndex: rightIndex,
|
|
82
|
+
isSelecting: true
|
|
83
|
+
});
|
|
84
|
+
if (_this.supportTouch) {
|
|
85
|
+
document.documentElement.addEventListener('touchmove', _this.doDrag, false);
|
|
86
|
+
document.documentElement.addEventListener('touchend', _this.stopDrag, false);
|
|
87
|
+
document.documentElement.addEventListener('touchcancel', _this.cancelDrag, false);
|
|
88
|
+
} else {
|
|
89
|
+
document.documentElement.addEventListener('mousemove', _this.doDrag, false);
|
|
90
|
+
document.documentElement.addEventListener('mouseup', _this.stopDrag, false);
|
|
91
|
+
}
|
|
92
|
+
document.onselectstart = function () {
|
|
93
|
+
return false;
|
|
94
|
+
};
|
|
95
|
+
document.ondragstart = function () {
|
|
96
|
+
return false;
|
|
97
|
+
};
|
|
98
|
+
});
|
|
99
|
+
_defineProperty(_assertThisInitialized(_this), "doDrag", function (ev) {
|
|
100
|
+
ev.stopPropagation();
|
|
101
|
+
var _this$dragHelper3 = _this.dragHelper(ev, 'do'),
|
|
102
|
+
_this$dragHelper4 = _slicedToArray(_this$dragHelper3, 2),
|
|
103
|
+
clientX = _this$dragHelper4[0],
|
|
104
|
+
toReturn = _this$dragHelper4[1];
|
|
105
|
+
if (toReturn) {
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
var startX = _this.state.startX;
|
|
109
|
+
var schedulerData = _this.props.schedulerData;
|
|
110
|
+
var headers = schedulerData.headers;
|
|
111
|
+
var cellWidth = schedulerData.getContentCellWidth();
|
|
112
|
+
var pos = (0, _utility.getPos)(_this.eventContainer);
|
|
113
|
+
var currentX = clientX - pos.x;
|
|
114
|
+
var leftIndex = Math.floor(Math.min(startX, currentX) / cellWidth);
|
|
115
|
+
leftIndex = leftIndex < 0 ? 0 : leftIndex;
|
|
116
|
+
var left = leftIndex * cellWidth;
|
|
117
|
+
var rightIndex = Math.ceil(Math.max(startX, currentX) / cellWidth);
|
|
118
|
+
rightIndex = rightIndex > headers.length ? headers.length : rightIndex;
|
|
119
|
+
var width = (rightIndex - leftIndex) * cellWidth;
|
|
120
|
+
_this.setState({
|
|
121
|
+
leftIndex: leftIndex,
|
|
122
|
+
left: left,
|
|
123
|
+
rightIndex: rightIndex,
|
|
124
|
+
width: width,
|
|
125
|
+
isSelecting: true
|
|
126
|
+
});
|
|
127
|
+
});
|
|
128
|
+
_defineProperty(_assertThisInitialized(_this), "dragHelper", function (ev, dragType) {
|
|
129
|
+
var clientX = 0;
|
|
130
|
+
if (_this.supportTouch) {
|
|
131
|
+
if (ev.changedTouches.length === 0) return [clientX, true];
|
|
132
|
+
var touch = ev.changedTouches[0];
|
|
133
|
+
clientX = touch.pageX;
|
|
134
|
+
} else if (dragType === 'init') {
|
|
135
|
+
if (ev.buttons !== undefined && ev.buttons !== 1) return [clientX, true];
|
|
136
|
+
clientX = ev.clientX;
|
|
137
|
+
} else {
|
|
138
|
+
clientX = ev.clientX;
|
|
139
|
+
}
|
|
140
|
+
return [clientX, false];
|
|
141
|
+
});
|
|
142
|
+
_defineProperty(_assertThisInitialized(_this), "stopDrag", function (ev) {
|
|
143
|
+
ev.stopPropagation();
|
|
144
|
+
var _this$props = _this.props,
|
|
145
|
+
schedulerData = _this$props.schedulerData,
|
|
146
|
+
newEvent = _this$props.newEvent,
|
|
147
|
+
resourceEvents = _this$props.resourceEvents;
|
|
148
|
+
var headers = schedulerData.headers,
|
|
149
|
+
events = schedulerData.events,
|
|
150
|
+
config = schedulerData.config,
|
|
151
|
+
cellUnit = schedulerData.cellUnit,
|
|
152
|
+
localeDayjs = schedulerData.localeDayjs;
|
|
153
|
+
var _this$state = _this.state,
|
|
154
|
+
leftIndex = _this$state.leftIndex,
|
|
155
|
+
rightIndex = _this$state.rightIndex;
|
|
156
|
+
if (_this.supportTouch) {
|
|
157
|
+
document.documentElement.removeEventListener('touchmove', _this.doDrag, false);
|
|
158
|
+
document.documentElement.removeEventListener('touchend', _this.stopDrag, false);
|
|
159
|
+
document.documentElement.removeEventListener('touchcancel', _this.cancelDrag, false);
|
|
160
|
+
} else {
|
|
161
|
+
document.documentElement.removeEventListener('mousemove', _this.doDrag, false);
|
|
162
|
+
document.documentElement.removeEventListener('mouseup', _this.stopDrag, false);
|
|
163
|
+
}
|
|
164
|
+
document.onselectstart = null;
|
|
165
|
+
document.ondragstart = null;
|
|
166
|
+
var startTime = headers[leftIndex].time;
|
|
167
|
+
var endTime = resourceEvents.headerItems[rightIndex - 1].end;
|
|
168
|
+
if (cellUnit !== _default2.CellUnit.Hour) {
|
|
169
|
+
endTime = localeDayjs(new Date(resourceEvents.headerItems[rightIndex - 1].start)).hour(23).minute(59).second(59).format(_default2.DATETIME_FORMAT);
|
|
170
|
+
}
|
|
171
|
+
var slotId = resourceEvents.slotId;
|
|
172
|
+
var slotName = resourceEvents.slotName;
|
|
173
|
+
_this.setState({
|
|
174
|
+
startX: 0,
|
|
175
|
+
leftIndex: 0,
|
|
176
|
+
left: 0,
|
|
177
|
+
rightIndex: 0,
|
|
178
|
+
width: 0,
|
|
179
|
+
isSelecting: false
|
|
180
|
+
});
|
|
181
|
+
var hasConflict = false;
|
|
182
|
+
if (config.checkConflict) {
|
|
183
|
+
var start = localeDayjs(new Date(startTime));
|
|
184
|
+
var end = localeDayjs(endTime);
|
|
185
|
+
events.forEach(function (e) {
|
|
186
|
+
if (schedulerData._getEventSlotId(e) === slotId) {
|
|
187
|
+
var eStart = localeDayjs(e.start);
|
|
188
|
+
var eEnd = localeDayjs(e.end);
|
|
189
|
+
if (start >= eStart && start < eEnd || end > eStart && end <= eEnd || eStart >= start && eStart < end || eEnd > start && eEnd <= end) hasConflict = true;
|
|
190
|
+
}
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
if (hasConflict) {
|
|
194
|
+
var conflictOccurred = _this.props.conflictOccurred;
|
|
195
|
+
if (conflictOccurred !== undefined) {
|
|
196
|
+
conflictOccurred(schedulerData, 'New', {
|
|
197
|
+
id: undefined,
|
|
198
|
+
start: startTime,
|
|
199
|
+
end: endTime,
|
|
200
|
+
slotId: slotId,
|
|
201
|
+
slotName: slotName,
|
|
202
|
+
title: undefined
|
|
203
|
+
}, _default2.DnDTypes.EVENT, slotId, slotName, startTime, endTime);
|
|
204
|
+
} else {
|
|
205
|
+
console.log('Conflict occurred, set conflictOccurred func in Scheduler to handle it');
|
|
206
|
+
}
|
|
207
|
+
} else if (newEvent !== undefined) newEvent(schedulerData, slotId, slotName, startTime, endTime);
|
|
208
|
+
});
|
|
209
|
+
_defineProperty(_assertThisInitialized(_this), "cancelDrag", function (ev) {
|
|
210
|
+
ev.stopPropagation();
|
|
211
|
+
var isSelecting = _this.state.isSelecting;
|
|
212
|
+
if (isSelecting) {
|
|
213
|
+
document.documentElement.removeEventListener('touchmove', _this.doDrag, false);
|
|
214
|
+
document.documentElement.removeEventListener('touchend', _this.stopDrag, false);
|
|
215
|
+
document.documentElement.removeEventListener('touchcancel', _this.cancelDrag, false);
|
|
216
|
+
document.onselectstart = null;
|
|
217
|
+
document.ondragstart = null;
|
|
218
|
+
_this.setState({
|
|
219
|
+
startX: 0,
|
|
220
|
+
leftIndex: 0,
|
|
221
|
+
left: 0,
|
|
222
|
+
rightIndex: 0,
|
|
223
|
+
width: 0,
|
|
224
|
+
isSelecting: false
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
});
|
|
228
|
+
_defineProperty(_assertThisInitialized(_this), "onAddMoreClick", function (headerItem) {
|
|
229
|
+
var _this$props2 = _this.props,
|
|
230
|
+
onSetAddMoreState = _this$props2.onSetAddMoreState,
|
|
231
|
+
resourceEvents = _this$props2.resourceEvents,
|
|
232
|
+
schedulerData = _this$props2.schedulerData;
|
|
233
|
+
if (onSetAddMoreState) {
|
|
234
|
+
var config = schedulerData.config;
|
|
235
|
+
var cellWidth = schedulerData.getContentCellWidth();
|
|
236
|
+
var index = resourceEvents.headerItems.indexOf(headerItem);
|
|
237
|
+
if (index !== -1) {
|
|
238
|
+
var left = index * (cellWidth - 1);
|
|
239
|
+
var pos = (0, _utility.getPos)(_this.eventContainer);
|
|
240
|
+
left += pos.x;
|
|
241
|
+
var top = pos.y;
|
|
242
|
+
var height = (headerItem.count + 1) * config.eventItemLineHeight + 20;
|
|
243
|
+
onSetAddMoreState({
|
|
244
|
+
headerItem: headerItem,
|
|
245
|
+
left: left,
|
|
246
|
+
top: top,
|
|
247
|
+
height: height
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
});
|
|
252
|
+
_defineProperty(_assertThisInitialized(_this), "eventContainerRef", function (element) {
|
|
253
|
+
_this.eventContainer = element;
|
|
254
|
+
});
|
|
255
|
+
_this.state = {
|
|
256
|
+
isSelecting: false,
|
|
257
|
+
left: 0,
|
|
258
|
+
width: 0
|
|
259
|
+
};
|
|
260
|
+
_this.supportTouch = false; // 'ontouchstart' in window;
|
|
261
|
+
return _this;
|
|
262
|
+
}
|
|
263
|
+
_createClass(ResourceEvents, [{
|
|
264
|
+
key: "componentDidMount",
|
|
265
|
+
value: function componentDidMount() {
|
|
266
|
+
var schedulerData = this.props.schedulerData;
|
|
267
|
+
var config = schedulerData.config;
|
|
268
|
+
this.supportTouch = 'ontouchstart' in window;
|
|
269
|
+
if (config.creatable === true) {
|
|
270
|
+
this.supportTouchHelper();
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
}, {
|
|
274
|
+
key: "componentDidUpdate",
|
|
275
|
+
value: function componentDidUpdate(prevProps) {
|
|
276
|
+
if (prevProps !== this.props) {
|
|
277
|
+
this.supportTouchHelper('remove');
|
|
278
|
+
if (this.props.schedulerData.config.creatable) {
|
|
279
|
+
this.supportTouchHelper();
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
}, {
|
|
284
|
+
key: "render",
|
|
285
|
+
value: function render() {
|
|
286
|
+
var _this2 = this;
|
|
287
|
+
var _this$props3 = this.props,
|
|
288
|
+
resourceEvents = _this$props3.resourceEvents,
|
|
289
|
+
schedulerData = _this$props3.schedulerData,
|
|
290
|
+
connectDropTarget = _this$props3.connectDropTarget,
|
|
291
|
+
dndSource = _this$props3.dndSource;
|
|
292
|
+
var cellUnit = schedulerData.cellUnit,
|
|
293
|
+
startDate = schedulerData.startDate,
|
|
294
|
+
endDate = schedulerData.endDate,
|
|
295
|
+
config = schedulerData.config,
|
|
296
|
+
localeDayjs = schedulerData.localeDayjs;
|
|
297
|
+
var _this$state2 = this.state,
|
|
298
|
+
isSelecting = _this$state2.isSelecting,
|
|
299
|
+
left = _this$state2.left,
|
|
300
|
+
width = _this$state2.width;
|
|
301
|
+
var cellWidth = schedulerData.getContentCellWidth();
|
|
302
|
+
var cellMaxEvents = schedulerData.getCellMaxEvents();
|
|
303
|
+
var rowWidth = schedulerData.getContentTableWidth();
|
|
304
|
+
var DnDEventItem = dndSource.getDragSource();
|
|
305
|
+
var selectedArea = isSelecting ? /*#__PURE__*/_react["default"].createElement(_SelectedArea["default"], _extends({}, this.props, {
|
|
306
|
+
left: left,
|
|
307
|
+
width: width
|
|
308
|
+
})) : /*#__PURE__*/_react["default"].createElement("div", null);
|
|
309
|
+
var eventList = [];
|
|
310
|
+
resourceEvents.headerItems.forEach(function (headerItem, index) {
|
|
311
|
+
if (headerItem.count > 0 || headerItem.summary !== undefined) {
|
|
312
|
+
var isTop = config.summaryPos === _default2.SummaryPos.TopRight || config.summaryPos === _default2.SummaryPos.Top || config.summaryPos === _default2.SummaryPos.TopLeft;
|
|
313
|
+
var marginTop = resourceEvents.hasSummary && isTop ? 1 + config.eventItemLineHeight : 1;
|
|
314
|
+
var renderEventsMaxIndex = headerItem.addMore === 0 ? cellMaxEvents : headerItem.addMoreIndex;
|
|
315
|
+
headerItem.events.forEach(function (evt, idx) {
|
|
316
|
+
if (idx < renderEventsMaxIndex && evt !== undefined && evt.render) {
|
|
317
|
+
var durationStart = localeDayjs(new Date(startDate));
|
|
318
|
+
var durationEnd = localeDayjs(endDate);
|
|
319
|
+
if (cellUnit === _default2.CellUnit.Hour) {
|
|
320
|
+
durationStart = localeDayjs(new Date(startDate)).add(config.dayStartFrom, 'hours');
|
|
321
|
+
durationEnd = localeDayjs(endDate).add(config.dayStopTo + 1, 'hours');
|
|
322
|
+
}
|
|
323
|
+
var eventStart = localeDayjs(evt.eventItem.start);
|
|
324
|
+
var eventEnd = localeDayjs(evt.eventItem.end);
|
|
325
|
+
var isStart = eventStart >= durationStart;
|
|
326
|
+
var isEnd = eventEnd <= durationEnd;
|
|
327
|
+
var _left = index * cellWidth + (index > 0 ? 2 : 3);
|
|
328
|
+
var _width = evt.span * cellWidth - (index > 0 ? 5 : 6) > 0 ? evt.span * cellWidth - (index > 0 ? 5 : 6) : 0;
|
|
329
|
+
var top = marginTop + idx * config.eventItemLineHeight;
|
|
330
|
+
var eventItem = /*#__PURE__*/_react["default"].createElement(DnDEventItem, _extends({}, _this2.props, {
|
|
331
|
+
key: evt.eventItem.id,
|
|
332
|
+
eventItem: evt.eventItem,
|
|
333
|
+
isStart: isStart,
|
|
334
|
+
isEnd: isEnd,
|
|
335
|
+
isInPopover: false,
|
|
336
|
+
left: _left,
|
|
337
|
+
width: _width,
|
|
338
|
+
top: top,
|
|
339
|
+
leftIndex: index,
|
|
340
|
+
rightIndex: index + evt.span
|
|
341
|
+
}));
|
|
342
|
+
eventList.push(eventItem);
|
|
343
|
+
}
|
|
344
|
+
});
|
|
345
|
+
if (headerItem.addMore > 0) {
|
|
346
|
+
var _left2 = index * cellWidth + (index > 0 ? 2 : 3);
|
|
347
|
+
var _width2 = cellWidth - (index > 0 ? 5 : 6);
|
|
348
|
+
var top = marginTop + headerItem.addMoreIndex * config.eventItemLineHeight;
|
|
349
|
+
var addMoreItem = /*#__PURE__*/_react["default"].createElement(_AddMore["default"], _extends({}, _this2.props, {
|
|
350
|
+
key: headerItem.time,
|
|
351
|
+
headerItem: headerItem,
|
|
352
|
+
number: headerItem.addMore,
|
|
353
|
+
left: _left2,
|
|
354
|
+
width: _width2,
|
|
355
|
+
top: top,
|
|
356
|
+
clickAction: _this2.onAddMoreClick
|
|
357
|
+
}));
|
|
358
|
+
eventList.push(addMoreItem);
|
|
359
|
+
}
|
|
360
|
+
if (headerItem.summary !== undefined) {
|
|
361
|
+
var _top = isTop ? 1 : resourceEvents.rowHeight - config.eventItemLineHeight + 1;
|
|
362
|
+
var _left3 = index * cellWidth + (index > 0 ? 2 : 3);
|
|
363
|
+
var _width3 = cellWidth - (index > 0 ? 5 : 6);
|
|
364
|
+
var key = "".concat(resourceEvents.slotId, "_").concat(headerItem.time);
|
|
365
|
+
var summary = /*#__PURE__*/_react["default"].createElement(_Summary["default"], {
|
|
366
|
+
key: key,
|
|
367
|
+
schedulerData: schedulerData,
|
|
368
|
+
summary: headerItem.summary,
|
|
369
|
+
left: _left3,
|
|
370
|
+
width: _width3,
|
|
371
|
+
top: _top
|
|
372
|
+
});
|
|
373
|
+
eventList.push(summary);
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
});
|
|
377
|
+
var eventContainer = /*#__PURE__*/_react["default"].createElement("div", {
|
|
378
|
+
ref: this.eventContainerRef,
|
|
379
|
+
className: "event-container",
|
|
380
|
+
style: {
|
|
381
|
+
height: resourceEvents.rowHeight
|
|
382
|
+
}
|
|
383
|
+
}, selectedArea, eventList);
|
|
384
|
+
return /*#__PURE__*/_react["default"].createElement("tr", null, /*#__PURE__*/_react["default"].createElement("td", {
|
|
385
|
+
style: {
|
|
386
|
+
width: rowWidth
|
|
387
|
+
}
|
|
388
|
+
}, config.dragAndDropEnabled ? connectDropTarget(eventContainer) : eventContainer));
|
|
389
|
+
}
|
|
390
|
+
}]);
|
|
391
|
+
return ResourceEvents;
|
|
392
|
+
}(_react.Component);
|
|
393
|
+
_defineProperty(ResourceEvents, "propTypes", {
|
|
394
|
+
resourceEvents: _propTypes.PropTypes.object.isRequired,
|
|
395
|
+
schedulerData: _propTypes.PropTypes.object.isRequired,
|
|
396
|
+
dndSource: _propTypes.PropTypes.object.isRequired,
|
|
397
|
+
onSetAddMoreState: _propTypes.PropTypes.func,
|
|
398
|
+
updateEventStart: _propTypes.PropTypes.func,
|
|
399
|
+
updateEventEnd: _propTypes.PropTypes.func,
|
|
400
|
+
moveEvent: _propTypes.PropTypes.func,
|
|
401
|
+
movingEvent: _propTypes.PropTypes.func,
|
|
402
|
+
conflictOccurred: _propTypes.PropTypes.func,
|
|
403
|
+
subtitleGetter: _propTypes.PropTypes.func,
|
|
404
|
+
eventItemClick: _propTypes.PropTypes.func,
|
|
405
|
+
viewEventClick: _propTypes.PropTypes.func,
|
|
406
|
+
viewEventText: _propTypes.PropTypes.string,
|
|
407
|
+
viewEvent2Click: _propTypes.PropTypes.func,
|
|
408
|
+
viewEvent2Text: _propTypes.PropTypes.string,
|
|
409
|
+
newEvent: _propTypes.PropTypes.func,
|
|
410
|
+
eventItemTemplateResolver: _propTypes.PropTypes.func
|
|
411
|
+
});
|
|
412
|
+
var _default = exports["default"] = ResourceEvents;
|