react-big-schedule 5.4.6 → 5.4.8-beta.0
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 +50 -0
- package/dist/components/AddMorePopover.js +117 -0
- package/dist/components/AgendaEventItem.js +94 -0
- package/dist/components/AgendaResourceEvents.js +102 -0
- package/dist/components/AgendaView.js +69 -0
- package/dist/components/BodyView.js +59 -0
- package/dist/components/DnDContext.js +171 -0
- package/dist/components/DnDSource.js +125 -0
- package/dist/components/EventItem.js +771 -0
- package/dist/components/EventItemPopover.js +153 -0
- package/dist/components/HeaderView.js +183 -0
- package/dist/components/ResourceEvents.js +515 -0
- package/dist/components/ResourceView.js +158 -0
- package/dist/components/SchedulerData.js +1257 -0
- package/dist/components/SchedulerHeader.js +188 -0
- package/dist/components/SelectedArea.js +32 -0
- package/dist/components/Summary.js +61 -0
- package/dist/components/WrapperFun.js +23 -0
- package/dist/components/index.js +697 -0
- package/dist/config/default.js +36 -0
- package/dist/config/i18n.js +80 -0
- package/dist/config/scheduler.js +122 -0
- package/dist/css/style.css +256 -0
- package/dist/helper/behaviors.js +94 -0
- package/dist/helper/utility.js +20 -0
- package/dist/index.d.ts +457 -0
- package/dist/index.js +103 -0
- package/dist/sample-data/sample1.js +337 -0
- package/package.json +4 -4
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ViewType = exports.SummaryPos = exports.DnDTypes = exports.DATE_FORMAT = exports.DATETIME_FORMAT = exports.CellUnit = void 0;
|
|
7
|
+
var DATE_FORMAT = exports.DATE_FORMAT = 'YYYY-MM-DD';
|
|
8
|
+
var DATETIME_FORMAT = exports.DATETIME_FORMAT = 'YYYY-MM-DD HH:mm:ss';
|
|
9
|
+
var ViewType = exports.ViewType = {
|
|
10
|
+
Day: 0,
|
|
11
|
+
Week: 1,
|
|
12
|
+
Month: 2,
|
|
13
|
+
Quarter: 3,
|
|
14
|
+
Year: 4,
|
|
15
|
+
Custom: 5,
|
|
16
|
+
Custom1: 6,
|
|
17
|
+
Custom2: 7
|
|
18
|
+
};
|
|
19
|
+
var CellUnit = exports.CellUnit = {
|
|
20
|
+
Day: 0,
|
|
21
|
+
Hour: 1,
|
|
22
|
+
Week: 2,
|
|
23
|
+
Month: 3,
|
|
24
|
+
Year: 4
|
|
25
|
+
};
|
|
26
|
+
var SummaryPos = exports.SummaryPos = {
|
|
27
|
+
Top: 0,
|
|
28
|
+
TopRight: 1,
|
|
29
|
+
TopLeft: 2,
|
|
30
|
+
Bottom: 3,
|
|
31
|
+
BottomRight: 4,
|
|
32
|
+
BottomLeft: 5
|
|
33
|
+
};
|
|
34
|
+
var DnDTypes = exports.DnDTypes = {
|
|
35
|
+
EVENT: 'event'
|
|
36
|
+
};
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getDefaultLabels = getDefaultLabels;
|
|
7
|
+
exports.getLabel = getLabel;
|
|
8
|
+
exports.resetLabelsProvider = resetLabelsProvider;
|
|
9
|
+
exports.setLabelsProvider = setLabelsProvider;
|
|
10
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
11
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
12
|
+
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; }
|
|
13
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
14
|
+
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); }
|
|
15
|
+
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); }
|
|
16
|
+
/**
|
|
17
|
+
* i18n configuration and labels provider
|
|
18
|
+
*
|
|
19
|
+
* This module provides a centralized way to manage user-facing strings in the scheduler.
|
|
20
|
+
* Users can provide localized labels either through the config or by setting a custom
|
|
21
|
+
* labels provider function.
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
// Default English labels
|
|
25
|
+
var defaultLabels = {
|
|
26
|
+
resourceName: 'Resource Name',
|
|
27
|
+
taskName: 'Task Name',
|
|
28
|
+
agendaViewHeader: 'Agenda',
|
|
29
|
+
weekNumberLabel: 'Week No.'
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
// Current labels provider (can be a function or object)
|
|
33
|
+
var labelsProvider = null;
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Get the current label for a given key
|
|
37
|
+
* @param {string} key - The label key (e.g., 'resourceName', 'taskName')
|
|
38
|
+
* @param {string} locale - Optional locale code for locale-specific translations
|
|
39
|
+
* @returns {string} The localized label or the default English label
|
|
40
|
+
*/
|
|
41
|
+
function getLabel(key) {
|
|
42
|
+
var locale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
|
|
43
|
+
// If a custom provider function is set, use it
|
|
44
|
+
if (typeof labelsProvider === 'function') {
|
|
45
|
+
var label = labelsProvider(key, locale);
|
|
46
|
+
return label !== undefined && label !== null ? label : defaultLabels[key];
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// If a labels object provider is set, use it with fallback
|
|
50
|
+
if (labelsProvider && _typeof(labelsProvider) === 'object') {
|
|
51
|
+
var _label = labelsProvider[key];
|
|
52
|
+
return _label !== undefined && _label !== null ? _label : defaultLabels[key];
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
// Fall back to default English labels
|
|
56
|
+
return defaultLabels[key];
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Set a custom labels provider
|
|
61
|
+
* @param {Function|Object} provider - Either a function(key, locale) -> string or an object with label key-value pairs
|
|
62
|
+
*/
|
|
63
|
+
function setLabelsProvider(provider) {
|
|
64
|
+
labelsProvider = provider;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Get all default labels
|
|
69
|
+
* @returns {Object} Object with all default English labels
|
|
70
|
+
*/
|
|
71
|
+
function getDefaultLabels() {
|
|
72
|
+
return _objectSpread({}, defaultLabels);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Reset to default English labels
|
|
77
|
+
*/
|
|
78
|
+
function resetLabelsProvider() {
|
|
79
|
+
labelsProvider = null;
|
|
80
|
+
}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
var _default2 = require("./default");
|
|
8
|
+
/**
|
|
9
|
+
* Default scheduler configuration
|
|
10
|
+
*
|
|
11
|
+
* User-facing strings (resourceName, taskName, agendaViewHeader, weekNumberLabel)
|
|
12
|
+
* are set to English defaults but can be overridden through:
|
|
13
|
+
* 1. Passing a custom config object when creating SchedulerData
|
|
14
|
+
* 2. Using setLabelsProvider() from the i18n module to set a custom labels provider
|
|
15
|
+
* 3. Directly modifying config properties after instantiation
|
|
16
|
+
*/
|
|
17
|
+
var _default = exports["default"] = {
|
|
18
|
+
schedulerWidth: '100%',
|
|
19
|
+
besidesWidth: 20,
|
|
20
|
+
underneathHeight: 20,
|
|
21
|
+
schedulerMaxHeight: 0,
|
|
22
|
+
tableHeaderHeight: 40,
|
|
23
|
+
schedulerContentHeight: '500px',
|
|
24
|
+
responsiveByParent: false,
|
|
25
|
+
agendaResourceTableWidth: 160,
|
|
26
|
+
agendaMaxEventWidth: 100,
|
|
27
|
+
dayResourceTableWidth: 160,
|
|
28
|
+
weekResourceTableWidth: '16%',
|
|
29
|
+
monthResourceTableWidth: 160,
|
|
30
|
+
quarterResourceTableWidth: 160,
|
|
31
|
+
yearResourceTableWidth: 160,
|
|
32
|
+
customResourceTableWidth: 160,
|
|
33
|
+
dayCellWidth: 30,
|
|
34
|
+
weekCellWidth: '12%',
|
|
35
|
+
monthCellWidth: 80,
|
|
36
|
+
quarterCellWidth: 80,
|
|
37
|
+
yearCellWidth: 80,
|
|
38
|
+
customCellWidth: 80,
|
|
39
|
+
dayMaxEvents: 99,
|
|
40
|
+
weekMaxEvents: 99,
|
|
41
|
+
monthMaxEvents: 99,
|
|
42
|
+
quarterMaxEvents: 99,
|
|
43
|
+
yearMaxEvents: 99,
|
|
44
|
+
customMaxEvents: 99,
|
|
45
|
+
eventItemPopoverTrigger: 'hover',
|
|
46
|
+
eventItemPopoverPlacement: 'bottomLeft',
|
|
47
|
+
eventItemPopoverWidth: 300,
|
|
48
|
+
eventItemHeight: 22,
|
|
49
|
+
eventItemLineHeight: 24,
|
|
50
|
+
nonAgendaSlotMinHeight: 0,
|
|
51
|
+
dayStartFrom: 0,
|
|
52
|
+
dayStopTo: 23,
|
|
53
|
+
defaultEventBgColor: '#80C5F6',
|
|
54
|
+
selectedAreaColor: '#7EC2F3',
|
|
55
|
+
nonWorkingTimeHeadColor: '#999999',
|
|
56
|
+
nonWorkingTimeHeadBgColor: '#fff0f6',
|
|
57
|
+
nonWorkingTimeBodyBgColor: '#fff0f6',
|
|
58
|
+
summaryColor: '#666',
|
|
59
|
+
summaryPos: _default2.SummaryPos.TopRight,
|
|
60
|
+
groupOnlySlotColor: '#F8F8F8',
|
|
61
|
+
headerBorderColor: '#e9e9e9',
|
|
62
|
+
weekNumberRowHeight: 24,
|
|
63
|
+
showWeekNumber: false,
|
|
64
|
+
startResizable: true,
|
|
65
|
+
endResizable: true,
|
|
66
|
+
movable: true,
|
|
67
|
+
creatable: true,
|
|
68
|
+
crossResourceMove: true,
|
|
69
|
+
checkConflict: false,
|
|
70
|
+
scrollToSpecialDayjsEnabled: true,
|
|
71
|
+
eventItemPopoverEnabled: true,
|
|
72
|
+
eventItemPopoverShowColor: true,
|
|
73
|
+
calendarPopoverEnabled: true,
|
|
74
|
+
recurringEventsEnabled: true,
|
|
75
|
+
viewChangeSpinEnabled: true,
|
|
76
|
+
dateChangeSpinEnabled: true,
|
|
77
|
+
headerEnabled: true,
|
|
78
|
+
resourceViewEnabled: true,
|
|
79
|
+
displayWeekend: true,
|
|
80
|
+
relativeMove: true,
|
|
81
|
+
defaultExpanded: true,
|
|
82
|
+
dragAndDropEnabled: true,
|
|
83
|
+
schedulerHeaderEventsFuncsTimeoutMs: 100,
|
|
84
|
+
resourceName: 'Resource Name',
|
|
85
|
+
taskName: 'Task Name',
|
|
86
|
+
agendaViewHeader: 'Agenda',
|
|
87
|
+
weekNumberLabel: 'Week No.',
|
|
88
|
+
addMorePopoverHeaderFormat: 'MMM D, YYYY dddd',
|
|
89
|
+
eventItemPopoverDateFormat: 'MMM D',
|
|
90
|
+
nonAgendaDayCellHeaderFormat: 'ha',
|
|
91
|
+
nonAgendaWeekCellHeaderFormat: 'ww/YYYY',
|
|
92
|
+
nonAgendaMonthCellHeaderFormat: 'MMM YYYY',
|
|
93
|
+
nonAgendaYearCellHeaderFormat: 'YYYY',
|
|
94
|
+
nonAgendaOtherCellHeaderFormat: 'ddd M/D',
|
|
95
|
+
minuteStep: 30,
|
|
96
|
+
views: [{
|
|
97
|
+
viewName: 'Day',
|
|
98
|
+
viewType: _default2.ViewType.Day,
|
|
99
|
+
showAgenda: false,
|
|
100
|
+
isEventPerspective: false
|
|
101
|
+
}, {
|
|
102
|
+
viewName: 'Week',
|
|
103
|
+
viewType: _default2.ViewType.Week,
|
|
104
|
+
showAgenda: false,
|
|
105
|
+
isEventPerspective: false
|
|
106
|
+
}, {
|
|
107
|
+
viewName: 'Month',
|
|
108
|
+
viewType: _default2.ViewType.Month,
|
|
109
|
+
showAgenda: false,
|
|
110
|
+
isEventPerspective: false
|
|
111
|
+
}, {
|
|
112
|
+
viewName: 'Quarter',
|
|
113
|
+
viewType: _default2.ViewType.Quarter,
|
|
114
|
+
showAgenda: false,
|
|
115
|
+
isEventPerspective: false
|
|
116
|
+
}, {
|
|
117
|
+
viewName: 'Year',
|
|
118
|
+
viewType: _default2.ViewType.Year,
|
|
119
|
+
showAgenda: false,
|
|
120
|
+
isEventPerspective: false
|
|
121
|
+
}]
|
|
122
|
+
};
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
.rbs *,
|
|
2
|
+
.rbs *::before,
|
|
3
|
+
.rbs *::after {
|
|
4
|
+
box-sizing: border-box;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
/* Text Styles */
|
|
8
|
+
.rbs .header1-text {
|
|
9
|
+
font-size: 25px;
|
|
10
|
+
color: #90cdf9;
|
|
11
|
+
font-weight: 500;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.rbs .header2-text,
|
|
15
|
+
.rbs .header3-text,
|
|
16
|
+
.rbs .base-text,
|
|
17
|
+
.rbs .help-text,
|
|
18
|
+
.rbs .disabled-text {
|
|
19
|
+
font-size: 12px;
|
|
20
|
+
font-weight: 500;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.rbs .header2-text {
|
|
24
|
+
font-size: 14px;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.rbs .help-text {
|
|
28
|
+
color: #999;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.rbs .disabled-text {
|
|
32
|
+
color: #ccc;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/* Scheduler Components */
|
|
36
|
+
.rbs {
|
|
37
|
+
margin: 20px auto;
|
|
38
|
+
border-spacing: 0;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.rbs td {
|
|
42
|
+
padding: 0;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.rbs .resource-view {
|
|
46
|
+
border: 1px solid #e9e9e9;
|
|
47
|
+
overflow: hidden;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.rbs .scheduler-view {
|
|
51
|
+
border: 1px solid #e9e9e9;
|
|
52
|
+
margin: 0 0 0 -1px;
|
|
53
|
+
padding: 0;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/* Positioning */
|
|
57
|
+
.rbs .scheduler-content {
|
|
58
|
+
position: relative;
|
|
59
|
+
z-index: 2;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.rbs .scheduler-bg {
|
|
63
|
+
position: absolute;
|
|
64
|
+
top: 0;
|
|
65
|
+
left: 0;
|
|
66
|
+
right: 0;
|
|
67
|
+
bottom: 0;
|
|
68
|
+
z-index: 1;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.rbs .expander-space {
|
|
72
|
+
overflow: hidden;
|
|
73
|
+
display: inline-block;
|
|
74
|
+
width: 1em;
|
|
75
|
+
height: 1em;
|
|
76
|
+
line-height: 1em;
|
|
77
|
+
font-size: 0.9em;
|
|
78
|
+
vertical-align: middle;
|
|
79
|
+
margin-top: -1%;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/* Tables */
|
|
83
|
+
.rbs table.resource-table,
|
|
84
|
+
.rbs table.scheduler-bg-table,
|
|
85
|
+
.rbs table.scheduler-table,
|
|
86
|
+
.rbs table.scheduler-content-table {
|
|
87
|
+
width: 100%;
|
|
88
|
+
margin: 0;
|
|
89
|
+
padding: 0;
|
|
90
|
+
border-spacing: 0;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.rbs table.resource-table,
|
|
94
|
+
.rbs table.scheduler-bg-table,
|
|
95
|
+
.rbs table.scheduler-table {
|
|
96
|
+
text-align: center;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.rbs table.scheduler-table {
|
|
100
|
+
border: 1px solid #e9e9e9;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.rbs table.scheduler-content-table {
|
|
104
|
+
border: 0 solid #e9e9e9;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/* Table Borders */
|
|
108
|
+
.rbs table.resource-table tr,
|
|
109
|
+
.rbs table.scheduler-bg-table tr,
|
|
110
|
+
.rbs table.scheduler-table tr {
|
|
111
|
+
border-bottom: 1px solid #e9e9e9;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.rbs table.resource-table th,
|
|
115
|
+
.rbs table.scheduler-table th,
|
|
116
|
+
.rbs table.resource-table td,
|
|
117
|
+
.rbs table.scheduler-bg-table td,
|
|
118
|
+
.rbs table.scheduler-table td,
|
|
119
|
+
.rbs table.scheduler-bg-table th {
|
|
120
|
+
border-right: 1px solid #e9e9e9;
|
|
121
|
+
border-bottom: 1px solid #e9e9e9;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
.rbs table.resource-table tr th:last-child,
|
|
125
|
+
.rbs table.scheduler-table tr th:last-child,
|
|
126
|
+
.rbs table.resource-table tr td:last-child,
|
|
127
|
+
.rbs table.scheduler-table tr td:last-child {
|
|
128
|
+
border-right: 0;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
.rbs table.scheduler-table tr:last-child td {
|
|
132
|
+
border-bottom: 0;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/* Events */
|
|
136
|
+
.rbs .timeline-event {
|
|
137
|
+
position: absolute;
|
|
138
|
+
cursor: pointer;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
.rbs .day-event {
|
|
142
|
+
position: relative;
|
|
143
|
+
display: inline-block;
|
|
144
|
+
margin: 0 5px;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
.rbs .day-event-container {
|
|
148
|
+
text-align: left;
|
|
149
|
+
padding: 5px 5px 0;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
.rbs .event-container {
|
|
153
|
+
position: relative;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
.rbs .event-item {
|
|
157
|
+
margin: 1px 0;
|
|
158
|
+
width: 100%;
|
|
159
|
+
overflow: hidden;
|
|
160
|
+
text-overflow: ellipsis;
|
|
161
|
+
white-space: nowrap;
|
|
162
|
+
color: #fff;
|
|
163
|
+
padding-right: 20px !important;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
/* Rounded Borders */
|
|
167
|
+
.rbs .round-all {
|
|
168
|
+
border-radius: 14px;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
.rbs .round-head {
|
|
172
|
+
border-radius: 14px 0 0 14px;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
.rbs .round-tail {
|
|
176
|
+
border-radius: 0 14px 14px 0;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
.rbs .round-none {
|
|
180
|
+
border-radius: 0;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
/* Utilities */
|
|
184
|
+
.rbs .overflow-text {
|
|
185
|
+
overflow: hidden;
|
|
186
|
+
text-overflow: ellipsis;
|
|
187
|
+
white-space: nowrap;
|
|
188
|
+
padding-right: 5px !important;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
.rbs .status-dot {
|
|
192
|
+
width: 14px;
|
|
193
|
+
height: 14px;
|
|
194
|
+
border-radius: 7px;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
.rbs .selected-area {
|
|
198
|
+
position: absolute;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
/* Slots and Cells */
|
|
202
|
+
.rbs .slot-cell,
|
|
203
|
+
.rbs .slot-text {
|
|
204
|
+
padding-left: 4px;
|
|
205
|
+
padding-right: 4px;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
.rbs .slot-text {
|
|
209
|
+
display: inline-block;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
.rbs .icon-nav:hover {
|
|
213
|
+
color: #1e90ff !important;
|
|
214
|
+
box-shadow: 0 0 0 !important;
|
|
215
|
+
cursor: pointer;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
/* Popover and Overlay */
|
|
219
|
+
.rbs-add-more-popover-overlay {
|
|
220
|
+
position: absolute;
|
|
221
|
+
z-index: 5;
|
|
222
|
+
border: 1px solid #e5e5e5;
|
|
223
|
+
background-color: #fff;
|
|
224
|
+
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.25);
|
|
225
|
+
padding: 10px;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
.rbs-popover-calendar {
|
|
229
|
+
width: 300px;
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
/* Resizable Elements */
|
|
233
|
+
.rbs .event-resizer {
|
|
234
|
+
position: absolute;
|
|
235
|
+
z-index: 4;
|
|
236
|
+
display: block;
|
|
237
|
+
width: 7px;
|
|
238
|
+
top: -1px;
|
|
239
|
+
bottom: -1px;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
.rbs .event-start-resizer {
|
|
243
|
+
cursor: w-resize;
|
|
244
|
+
left: -1px;
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
.rbs .event-end-resizer {
|
|
248
|
+
cursor: e-resize;
|
|
249
|
+
right: -1px;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
/* Buttons */
|
|
253
|
+
.rbs-txt-btn-dis {
|
|
254
|
+
border: none;
|
|
255
|
+
background-color: transparent;
|
|
256
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.isNonWorkingTime = exports.getSummary = exports.getScrollSpecialDayjs = exports.getNonAgendaViewBodyCellBgColor = exports.getEventText = exports.getDateLabel = exports.getCustomDate = exports["default"] = void 0;
|
|
7
|
+
var _default2 = require("../config/default");
|
|
8
|
+
var getSummary = exports.getSummary = function getSummary() {
|
|
9
|
+
return {
|
|
10
|
+
text: 'Summary',
|
|
11
|
+
color: 'red',
|
|
12
|
+
fontSize: '1.2rem'
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
var getCustomDate = exports.getCustomDate = function getCustomDate(schedulerData, num) {
|
|
16
|
+
var date = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : schedulerData.startDate;
|
|
17
|
+
var viewType = schedulerData.viewType,
|
|
18
|
+
localeDayjs = schedulerData.localeDayjs;
|
|
19
|
+
var startDate;
|
|
20
|
+
var endDate;
|
|
21
|
+
var cellUnit;
|
|
22
|
+
if (viewType === _default2.ViewType.Custom1) {
|
|
23
|
+
var monday = localeDayjs(new Date(date)).startOf('week');
|
|
24
|
+
startDate = num === 0 ? monday : localeDayjs(new Date(monday)).add(2 * num, 'weeks');
|
|
25
|
+
endDate = localeDayjs(new Date(startDate)).add(1, 'weeks').endOf('week');
|
|
26
|
+
cellUnit = _default2.CellUnit.Day;
|
|
27
|
+
} else if (viewType === _default2.ViewType.Custom2) {
|
|
28
|
+
var firstDayOfMonth = localeDayjs(new Date(date)).startOf('month');
|
|
29
|
+
startDate = num === 0 ? firstDayOfMonth : localeDayjs(new Date(firstDayOfMonth)).add(2 * num, 'months');
|
|
30
|
+
endDate = localeDayjs(new Date(startDate)).add(1, 'months').endOf('month');
|
|
31
|
+
cellUnit = _default2.CellUnit.Day;
|
|
32
|
+
} else {
|
|
33
|
+
startDate = num === 0 ? date : localeDayjs(new Date(date)).add(2 * num, 'days');
|
|
34
|
+
endDate = localeDayjs(new Date(startDate)).add(1, 'days');
|
|
35
|
+
cellUnit = _default2.CellUnit.Hour;
|
|
36
|
+
}
|
|
37
|
+
return {
|
|
38
|
+
startDate: startDate,
|
|
39
|
+
endDate: endDate,
|
|
40
|
+
cellUnit: cellUnit
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
var getNonAgendaViewBodyCellBgColor = exports.getNonAgendaViewBodyCellBgColor = function getNonAgendaViewBodyCellBgColor(schedulerData, slotId, header) {
|
|
44
|
+
return header.nonWorkingTime ? undefined : '#87e8de';
|
|
45
|
+
};
|
|
46
|
+
var getDateLabel = exports.getDateLabel = function getDateLabel(schedulerData, viewType, startDate, endDate) {
|
|
47
|
+
var localeDayjs = schedulerData.localeDayjs;
|
|
48
|
+
var start = localeDayjs(new Date(startDate));
|
|
49
|
+
var end = localeDayjs(endDate);
|
|
50
|
+
var dateLabel = '';
|
|
51
|
+
if (viewType === _default2.ViewType.Week || start !== end && (viewType === _default2.ViewType.Custom || viewType === _default2.ViewType.Custom1 || viewType === _default2.ViewType.Custom2)) {
|
|
52
|
+
dateLabel = "".concat(start.format('MMM D'), "-").concat(end.format('D, YYYY'));
|
|
53
|
+
if (start.month() !== end.month()) dateLabel = "".concat(start.format('MMM D'), "-").concat(end.format('MMM D, YYYY'));
|
|
54
|
+
if (start.year() !== end.year()) dateLabel = "".concat(start.format('MMM D, YYYY'), "-").concat(end.format('MMM D, YYYY'));
|
|
55
|
+
} else if (viewType === _default2.ViewType.Month) {
|
|
56
|
+
dateLabel = start.format('MMMM YYYY');
|
|
57
|
+
} else if (viewType === _default2.ViewType.Quarter) {
|
|
58
|
+
dateLabel = "".concat(start.format('MMM D'), "-").concat(end.format('MMM D, YYYY'));
|
|
59
|
+
} else if (viewType === _default2.ViewType.Year) {
|
|
60
|
+
dateLabel = start.format('YYYY');
|
|
61
|
+
} else {
|
|
62
|
+
dateLabel = start.format('MMM D, YYYY');
|
|
63
|
+
}
|
|
64
|
+
return dateLabel;
|
|
65
|
+
};
|
|
66
|
+
var getEventText = exports.getEventText = function getEventText(schedulerData, event) {
|
|
67
|
+
var _schedulerData$resour;
|
|
68
|
+
return schedulerData.isEventPerspective ? ((_schedulerData$resour = schedulerData.resources.find(function (item) {
|
|
69
|
+
return item.id === event.resourceId;
|
|
70
|
+
})) === null || _schedulerData$resour === void 0 ? void 0 : _schedulerData$resour.name) || event.title : event.title;
|
|
71
|
+
};
|
|
72
|
+
var getScrollSpecialDayjs = exports.getScrollSpecialDayjs = function getScrollSpecialDayjs(schedulerData) {
|
|
73
|
+
var localeDayjs = schedulerData.localeDayjs;
|
|
74
|
+
return localeDayjs(new Date());
|
|
75
|
+
};
|
|
76
|
+
var isNonWorkingTime = exports.isNonWorkingTime = function isNonWorkingTime(schedulerData, time) {
|
|
77
|
+
var localeDayjs = schedulerData.localeDayjs,
|
|
78
|
+
cellUnit = schedulerData.cellUnit;
|
|
79
|
+
if (cellUnit === _default2.CellUnit.Hour) {
|
|
80
|
+
var hour = localeDayjs(new Date(time)).hour();
|
|
81
|
+
return hour < 9 || hour > 18;
|
|
82
|
+
}
|
|
83
|
+
var dayOfWeek = localeDayjs(new Date(time)).day();
|
|
84
|
+
return dayOfWeek === 0 || dayOfWeek === 6;
|
|
85
|
+
};
|
|
86
|
+
var _default = exports["default"] = {
|
|
87
|
+
getSummaryFunc: undefined,
|
|
88
|
+
getCustomDateFunc: undefined,
|
|
89
|
+
getNonAgendaViewBodyCellBgColorFunc: undefined,
|
|
90
|
+
getScrollSpecialDayjsFunc: getScrollSpecialDayjs,
|
|
91
|
+
getDateLabelFunc: getDateLabel,
|
|
92
|
+
getEventTextFunc: getEventText,
|
|
93
|
+
isNonWorkingTimeFunc: isNonWorkingTime
|
|
94
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getPos = getPos;
|
|
7
|
+
function getPos(element) {
|
|
8
|
+
var x = 0;
|
|
9
|
+
var y = 0;
|
|
10
|
+
var currentElement = element;
|
|
11
|
+
while (currentElement) {
|
|
12
|
+
x += currentElement.offsetLeft - currentElement.scrollLeft;
|
|
13
|
+
y += currentElement.offsetTop - currentElement.scrollTop;
|
|
14
|
+
currentElement = currentElement.offsetParent;
|
|
15
|
+
}
|
|
16
|
+
return {
|
|
17
|
+
x: x,
|
|
18
|
+
y: y
|
|
19
|
+
};
|
|
20
|
+
}
|