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.
- package/package.json +15 -15
- package/dist/components/AddMore.js +0 -50
- package/dist/components/AddMorePopover.js +0 -117
- package/dist/components/AgendaEventItem.js +0 -94
- package/dist/components/AgendaResourceEvents.js +0 -102
- package/dist/components/AgendaView.js +0 -69
- package/dist/components/BodyView.js +0 -59
- package/dist/components/DnDContext.js +0 -171
- package/dist/components/DnDSource.js +0 -125
- package/dist/components/EventItem.js +0 -771
- package/dist/components/EventItemPopover.js +0 -153
- package/dist/components/HeaderView.js +0 -183
- package/dist/components/ResourceEvents.js +0 -515
- package/dist/components/ResourceView.js +0 -158
- package/dist/components/SchedulerData.js +0 -1257
- package/dist/components/SchedulerHeader.js +0 -188
- package/dist/components/SelectedArea.js +0 -32
- package/dist/components/Summary.js +0 -61
- package/dist/components/WrapperFun.js +0 -23
- package/dist/components/index.js +0 -697
- package/dist/config/default.js +0 -36
- package/dist/config/i18n.js +0 -80
- package/dist/config/scheduler.js +0 -122
- package/dist/css/style.css +0 -256
- package/dist/helper/behaviors.js +0 -94
- package/dist/helper/utility.js +0 -20
- package/dist/index.d.ts +0 -457
- package/dist/index.js +0 -103
- package/dist/sample-data/sample1.js +0 -337
|
@@ -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;
|