react-big-schedule 5.4.6-beta.2 → 5.4.6

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.
@@ -1,153 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = void 0;
7
- var _antd = require("antd");
8
- var _propTypes = _interopRequireDefault(require("prop-types"));
9
- var _jsxRuntime = require("react/jsx-runtime");
10
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
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__*/(0, _jsxRuntime.jsx)("button", {
37
- className: "header2-text rbs-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
- children: text
48
- });
49
- };
50
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
51
- style: {
52
- width: config.eventItemPopoverWidth
53
- },
54
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_antd.Row, {
55
- type: "flex",
56
- align: "middle",
57
- children: [config.eventItemPopoverShowColor && /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Col, {
58
- span: 2,
59
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
60
- className: "status-dot",
61
- style: {
62
- backgroundColor: statusColor
63
- }
64
- })
65
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Col, {
66
- span: 22,
67
- className: "overflow-text",
68
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
69
- className: "header2-text",
70
- title: title,
71
- children: title
72
- })
73
- })]
74
- }), subtitle && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_antd.Row, {
75
- type: "flex",
76
- align: "middle",
77
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Col, {
78
- span: 2,
79
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {})
80
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Col, {
81
- span: 22,
82
- className: "overflow-text",
83
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
84
- className: "header2-text",
85
- title: subtitle,
86
- children: subtitle
87
- })
88
- })]
89
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_antd.Row, {
90
- type: "flex",
91
- align: "middle",
92
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Col, {
93
- span: 2,
94
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {})
95
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_antd.Col, {
96
- span: 22,
97
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
98
- className: "header1-text",
99
- children: start.format('HH:mm')
100
- }), config.eventItemPopoverDateFormat && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
101
- className: "help-text",
102
- style: {
103
- marginLeft: '8px'
104
- },
105
- children: start.format(config.eventItemPopoverDateFormat)
106
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
107
- className: "header2-text",
108
- style: {
109
- marginLeft: '8px'
110
- },
111
- children: "-"
112
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
113
- className: "header1-text",
114
- style: {
115
- marginLeft: '8px'
116
- },
117
- children: end.format('HH:mm')
118
- }), config.eventItemPopoverDateFormat && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
119
- className: "help-text",
120
- style: {
121
- marginLeft: '8px'
122
- },
123
- children: end.format(config.eventItemPopoverDateFormat)
124
- })]
125
- })]
126
- }), (showViewEvent || showViewEvent2) && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_antd.Row, {
127
- type: "flex",
128
- align: "middle",
129
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Col, {
130
- span: 2,
131
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {})
132
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_antd.Col, {
133
- span: 22,
134
- children: [showViewEvent && renderViewEvent(viewEventText, viewEventClick), showViewEvent2 && renderViewEvent(viewEvent2Text, viewEvent2Click, 16)]
135
- })]
136
- })]
137
- });
138
- }
139
- EventItemPopover.propTypes = {
140
- schedulerData: _propTypes["default"].object.isRequired,
141
- eventItem: _propTypes["default"].object.isRequired,
142
- title: _propTypes["default"].string.isRequired,
143
- startTime: _propTypes["default"].string.isRequired,
144
- endTime: _propTypes["default"].string.isRequired,
145
- statusColor: _propTypes["default"].string.isRequired,
146
- subtitleGetter: _propTypes["default"].func,
147
- viewEventClick: _propTypes["default"].func,
148
- viewEventText: _propTypes["default"].string,
149
- viewEvent2Click: _propTypes["default"].func,
150
- viewEvent2Text: _propTypes["default"].string,
151
- eventItemPopoverTemplateResolver: _propTypes["default"].func
152
- };
153
- var _default = exports["default"] = EventItemPopover;
@@ -1,183 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = void 0;
7
- var _propTypes = _interopRequireDefault(require("prop-types"));
8
- var _default2 = require("../config/default");
9
- var _react = require("react");
10
- var _jsxRuntime = require("react/jsx-runtime");
11
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
12
- 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); }
13
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
14
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
15
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } /**
16
- * Render the table header rows for a scheduler view, including an optional week-number row and the main header cells.
17
- * @param {Object} props.schedulerData - Scheduler configuration and utilities (headers array,
18
- * cell unit, formatting, sizing, and locale/date functions).
19
- * @param {Function} [props.nonAgendaCellHeaderTemplateResolver] - Optional resolver to customize
20
- * rendering of individual header cells. Called with (schedulerData, headerItem, formattedList, style).
21
- * @returns {JSX.Element} A <thead> element containing the optional week-number row and the
22
- * main header row for the scheduler table.
23
- */
24
- function HeaderView(_ref) {
25
- var schedulerData = _ref.schedulerData,
26
- nonAgendaCellHeaderTemplateResolver = _ref.nonAgendaCellHeaderTemplateResolver;
27
- var headers = schedulerData.headers,
28
- cellUnit = schedulerData.cellUnit,
29
- config = schedulerData.config,
30
- localeDayjs = schedulerData.localeDayjs;
31
- var showWeekNumber = config.showWeekNumber,
32
- _config$weekNumberRow = config.weekNumberRowHeight,
33
- weekNumberRowHeight = _config$weekNumberRow === void 0 ? 24 : _config$weekNumberRow;
34
- var headerHeight = schedulerData.getTableHeaderHeight();
35
- var cellWidth = schedulerData.getContentCellWidth();
36
- var minuteStepsInHour = schedulerData.getMinuteStepsInHour();
37
-
38
- // Week number row generation
39
- var weekNumberRow = (0, _react.useMemo)(function () {
40
- if (!showWeekNumber) return null;
41
- var weekGroups = [];
42
- var currentWeekKey = null;
43
- var currentWeek = null;
44
- var currentYear = null;
45
- var colspan = 0;
46
- headers.forEach(function (item) {
47
- var year = localeDayjs(new Date(item.time)).year();
48
- var weekNum = localeDayjs(new Date(item.time)).isoWeek();
49
- var weekKey = "".concat(year, "-").concat(weekNum);
50
- if (currentWeekKey === weekKey) {
51
- colspan += 1;
52
- } else {
53
- if (currentWeekKey !== null) {
54
- weekGroups.push({
55
- week: currentWeek,
56
- year: currentYear,
57
- colspan: colspan
58
- });
59
- }
60
- currentWeekKey = weekKey;
61
- currentWeek = weekNum;
62
- currentYear = year;
63
- colspan = 1;
64
- }
65
- });
66
-
67
- // Push the last week group
68
- if (currentWeekKey !== null) {
69
- weekGroups.push({
70
- week: currentWeek,
71
- year: currentYear,
72
- colspan: colspan
73
- });
74
- }
75
- var cellStyle = {
76
- fontSize: '0.85em',
77
- opacity: 0.7,
78
- borderBottom: "1px solid ".concat(config.headerBorderColor || '#e9e9e9'),
79
- padding: '4px 8px',
80
- textAlign: 'center'
81
- };
82
- return weekGroups.map(function (group, idx) {
83
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)("th", {
84
- colSpan: group.colspan,
85
- style: cellStyle,
86
- children: ["W", group.week]
87
- }, "week-".concat(group.year, "-").concat(group.week, "-").concat(idx));
88
- });
89
- }, [showWeekNumber, headers, localeDayjs]);
90
-
91
- // Extract common style creation logic
92
- var createCellStyle = (0, _react.useCallback)(function (item, width, isLastCell) {
93
- if (isLastCell) {
94
- return item.nonWorkingTime ? {
95
- color: config.nonWorkingTimeHeadColor,
96
- backgroundColor: config.nonWorkingTimeHeadBgColor
97
- } : {};
98
- }
99
- return item.nonWorkingTime ? {
100
- width: width,
101
- color: config.nonWorkingTimeHeadColor,
102
- backgroundColor: config.nonWorkingTimeHeadBgColor
103
- } : {
104
- width: width
105
- };
106
- }, [config]);
107
-
108
- // Extract cell format selection logic
109
- var getCellFormat = (0, _react.useCallback)(function (cellUnitParam) {
110
- var formatMap = _defineProperty(_defineProperty(_defineProperty({}, _default2.CellUnit.Week, config.nonAgendaWeekCellHeaderFormat), _default2.CellUnit.Month, config.nonAgendaMonthCellHeaderFormat), _default2.CellUnit.Year, config.nonAgendaYearCellHeaderFormat);
111
- return formatMap[cellUnitParam] || config.nonAgendaOtherCellHeaderFormat;
112
- }, [config]);
113
-
114
- // Render cell content helper
115
- var renderCellContent = (0, _react.useCallback)(function (item, formattedList, style) {
116
- if (typeof nonAgendaCellHeaderTemplateResolver === 'function') {
117
- return nonAgendaCellHeaderTemplateResolver(schedulerData, item, formattedList, style);
118
- }
119
- var content = formattedList.map(function (text, idx) {
120
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
121
- children: text
122
- }, "".concat(item.time, "-").concat(idx, "-").concat(text));
123
- });
124
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("th", {
125
- className: "header3-text",
126
- style: style,
127
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
128
- children: content
129
- })
130
- }, "header-".concat(item.time));
131
- }, [nonAgendaCellHeaderTemplateResolver, schedulerData]);
132
-
133
- // Memoize header list generation
134
- var headerList = (0, _react.useMemo)(function () {
135
- if (cellUnit === _default2.CellUnit.Hour) {
136
- var result = [];
137
- var _lastIndex = headers.length - minuteStepsInHour;
138
- headers.forEach(function (item, index) {
139
- if (index % minuteStepsInHour !== 0) return;
140
- var datetime = localeDayjs(new Date(item.time));
141
- var width = cellWidth * minuteStepsInHour;
142
- var isLastCell = index === _lastIndex;
143
- var style = createCellStyle(item, width, isLastCell);
144
- var formattedList = config.nonAgendaDayCellHeaderFormat.split('|').map(function (format) {
145
- return datetime.format(format);
146
- });
147
- result.push(renderCellContent(item, formattedList, style));
148
- });
149
- return result;
150
- }
151
-
152
- // Non-hour cell units
153
- var cellFormat = getCellFormat(cellUnit);
154
- var lastIndex = headers.length - 1;
155
- return headers.map(function (item, index) {
156
- var datetime = localeDayjs(new Date(item.time));
157
- var isLastCell = index === lastIndex;
158
- var style = createCellStyle(item, cellWidth, isLastCell);
159
- var formattedList = cellFormat.split('|').map(function (format) {
160
- return datetime.format(format);
161
- });
162
- return renderCellContent(item, formattedList, style);
163
- });
164
- }, [cellUnit, headers, minuteStepsInHour, cellWidth, config, localeDayjs, createCellStyle, getCellFormat, renderCellContent]);
165
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)("thead", {
166
- children: [weekNumberRow && /*#__PURE__*/(0, _jsxRuntime.jsx)("tr", {
167
- style: {
168
- height: weekNumberRowHeight
169
- },
170
- children: weekNumberRow
171
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("tr", {
172
- style: {
173
- height: headerHeight
174
- },
175
- children: headerList
176
- })]
177
- });
178
- }
179
- HeaderView.propTypes = {
180
- schedulerData: _propTypes["default"].object.isRequired,
181
- nonAgendaCellHeaderTemplateResolver: _propTypes["default"].func
182
- };
183
- var _default = exports["default"] = HeaderView;