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,1257 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports["default"] = void 0;
|
|
7
|
-
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
8
|
-
var _quarterOfYear = _interopRequireDefault(require("dayjs/plugin/quarterOfYear"));
|
|
9
|
-
var _utc = _interopRequireDefault(require("dayjs/plugin/utc"));
|
|
10
|
-
var _weekday = _interopRequireDefault(require("dayjs/plugin/weekday"));
|
|
11
|
-
var _isoWeek = _interopRequireDefault(require("dayjs/plugin/isoWeek"));
|
|
12
|
-
var _rrule = require("rrule");
|
|
13
|
-
var _default = require("../config/default");
|
|
14
|
-
var _scheduler = _interopRequireDefault(require("../config/scheduler"));
|
|
15
|
-
var _i18n = require("../config/i18n");
|
|
16
|
-
var _behaviors = _interopRequireDefault(require("../helper/behaviors"));
|
|
17
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
18
|
-
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); }
|
|
19
|
-
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; }
|
|
20
|
-
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; }
|
|
21
|
-
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; }
|
|
22
|
-
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
|
|
23
|
-
function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
|
|
24
|
-
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
|
|
25
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
26
|
-
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); }
|
|
27
|
-
var SchedulerData = exports["default"] = /*#__PURE__*/function () {
|
|
28
|
-
function SchedulerData() {
|
|
29
|
-
var date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : (0, _dayjs["default"])();
|
|
30
|
-
var viewType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _default.ViewType.Week;
|
|
31
|
-
var showAgenda = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
32
|
-
var isEventPerspective = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
33
|
-
var newConfig = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : undefined;
|
|
34
|
-
var newBehaviors = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : undefined;
|
|
35
|
-
_classCallCheck(this, SchedulerData);
|
|
36
|
-
this.resources = [];
|
|
37
|
-
this.events = [];
|
|
38
|
-
this.eventGroups = [];
|
|
39
|
-
this.eventGroupsAutoGenerated = true;
|
|
40
|
-
this.viewType = viewType;
|
|
41
|
-
this.cellUnit = viewType === _default.ViewType.Day ? _default.CellUnit.Hour : _default.CellUnit.Day;
|
|
42
|
-
this.showAgenda = showAgenda;
|
|
43
|
-
this.isEventPerspective = isEventPerspective;
|
|
44
|
-
this.resizing = false;
|
|
45
|
-
this.scrollToSpecialDayjs = false;
|
|
46
|
-
this.documentWidth = 0;
|
|
47
|
-
this.documentHeight = 0;
|
|
48
|
-
this.schedulerHeaderHeight = 0;
|
|
49
|
-
this._shouldReloadViewType = false;
|
|
50
|
-
this.calendarPopoverLocale = undefined;
|
|
51
|
-
_dayjs["default"].extend(_quarterOfYear["default"]);
|
|
52
|
-
_dayjs["default"].extend(_weekday["default"]);
|
|
53
|
-
_dayjs["default"].extend(_utc["default"]);
|
|
54
|
-
_dayjs["default"].extend(_isoWeek["default"]);
|
|
55
|
-
this.localeDayjs = _dayjs["default"];
|
|
56
|
-
this.config = newConfig === undefined ? _scheduler["default"] : _objectSpread(_objectSpread({}, _scheduler["default"]), newConfig);
|
|
57
|
-
this._updateLabelsFromI18n();
|
|
58
|
-
this._validateMinuteStep(this.config.minuteStep);
|
|
59
|
-
this.behaviors = newBehaviors === undefined ? _behaviors["default"] : _objectSpread(_objectSpread({}, _behaviors["default"]), newBehaviors);
|
|
60
|
-
this._resolveDate(0, date);
|
|
61
|
-
this._createHeaders();
|
|
62
|
-
this._createRenderData();
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* Update user-facing labels from the i18n provider
|
|
67
|
-
* This allows apps to provide localized labels via setLabelsProvider()
|
|
68
|
-
* @private
|
|
69
|
-
*/
|
|
70
|
-
return _createClass(SchedulerData, [{
|
|
71
|
-
key: "_updateLabelsFromI18n",
|
|
72
|
-
value: function _updateLabelsFromI18n(locale) {
|
|
73
|
-
// Get labels from the i18n provider if available
|
|
74
|
-
var defaults = (0, _i18n.getDefaultLabels)();
|
|
75
|
-
var applyIfProvided = function applyIfProvided(key, current) {
|
|
76
|
-
var value = (0, _i18n.getLabel)(key, locale);
|
|
77
|
-
if (value === undefined || value === null) return current;
|
|
78
|
-
return value !== defaults[key] ? value : current;
|
|
79
|
-
};
|
|
80
|
-
this.config.resourceName = applyIfProvided('resourceName', this.config.resourceName);
|
|
81
|
-
this.config.taskName = applyIfProvided('taskName', this.config.taskName);
|
|
82
|
-
this.config.agendaViewHeader = applyIfProvided('agendaViewHeader', this.config.agendaViewHeader);
|
|
83
|
-
this.config.weekNumberLabel = applyIfProvided('weekNumberLabel', this.config.weekNumberLabel);
|
|
84
|
-
}
|
|
85
|
-
}, {
|
|
86
|
-
key: "setSchedulerLocale",
|
|
87
|
-
value: function setSchedulerLocale(preset) {
|
|
88
|
-
if (!preset) return;
|
|
89
|
-
this.localeDayjs.locale(preset);
|
|
90
|
-
this._updateLabelsFromI18n(preset);
|
|
91
|
-
this._shouldReloadViewType = true;
|
|
92
|
-
this.setViewType(this.viewType, this.showAgenda, this.isEventPerspective);
|
|
93
|
-
}
|
|
94
|
-
}, {
|
|
95
|
-
key: "setCalendarPopoverLocale",
|
|
96
|
-
value: function setCalendarPopoverLocale(lang) {
|
|
97
|
-
if (lang) {
|
|
98
|
-
this.calendarPopoverLocale = lang;
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
}, {
|
|
102
|
-
key: "setResources",
|
|
103
|
-
value: function setResources(resources) {
|
|
104
|
-
this._validateResource(resources);
|
|
105
|
-
this.resources = Array.from(new Set(resources));
|
|
106
|
-
this._createRenderData();
|
|
107
|
-
this.setScrollToSpecialDayjs(true);
|
|
108
|
-
}
|
|
109
|
-
}, {
|
|
110
|
-
key: "setEventGroupsAutoGenerated",
|
|
111
|
-
value: function setEventGroupsAutoGenerated(autoGenerated) {
|
|
112
|
-
this.eventGroupsAutoGenerated = autoGenerated;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
// optional
|
|
116
|
-
}, {
|
|
117
|
-
key: "setEventGroups",
|
|
118
|
-
value: function setEventGroups(eventGroups) {
|
|
119
|
-
this._validateEventGroups(eventGroups);
|
|
120
|
-
this.eventGroups = Array.from(new Set(eventGroups));
|
|
121
|
-
this.eventGroupsAutoGenerated = false;
|
|
122
|
-
this._createRenderData();
|
|
123
|
-
this.setScrollToSpecialDayjs(true);
|
|
124
|
-
}
|
|
125
|
-
}, {
|
|
126
|
-
key: "setMinuteStep",
|
|
127
|
-
value: function setMinuteStep(minuteStep) {
|
|
128
|
-
if (this.config.minuteStep !== minuteStep) {
|
|
129
|
-
this._validateMinuteStep(minuteStep);
|
|
130
|
-
this.config.minuteStep = minuteStep;
|
|
131
|
-
this._createHeaders();
|
|
132
|
-
this._createRenderData();
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
}, {
|
|
136
|
-
key: "setBesidesWidth",
|
|
137
|
-
value: function setBesidesWidth(besidesWidth) {
|
|
138
|
-
if (besidesWidth >= 0) {
|
|
139
|
-
this.config.besidesWidth = besidesWidth;
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
}, {
|
|
143
|
-
key: "setUnderneathHeight",
|
|
144
|
-
value: function setUnderneathHeight(underneathHeight) {
|
|
145
|
-
if (underneathHeight >= 0) {
|
|
146
|
-
this.config.underneathHeight = underneathHeight;
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
}, {
|
|
150
|
-
key: "getMinuteStepsInHour",
|
|
151
|
-
value: function getMinuteStepsInHour() {
|
|
152
|
-
return 60 / this.config.minuteStep;
|
|
153
|
-
}
|
|
154
|
-
}, {
|
|
155
|
-
key: "addResource",
|
|
156
|
-
value: function addResource(resource) {
|
|
157
|
-
var existedResources = this.resources.filter(function (x) {
|
|
158
|
-
return x.id === resource.id;
|
|
159
|
-
});
|
|
160
|
-
if (existedResources.length === 0) {
|
|
161
|
-
this.resources.push(resource);
|
|
162
|
-
this._createRenderData();
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
}, {
|
|
166
|
-
key: "addEventGroup",
|
|
167
|
-
value: function addEventGroup(eventGroup) {
|
|
168
|
-
var existedEventGroups = this.eventGroups.filter(function (x) {
|
|
169
|
-
return x.id === eventGroup.id;
|
|
170
|
-
});
|
|
171
|
-
if (existedEventGroups.length === 0) {
|
|
172
|
-
this.eventGroups.push(eventGroup);
|
|
173
|
-
this._createRenderData();
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
}, {
|
|
177
|
-
key: "removeEventGroupById",
|
|
178
|
-
value: function removeEventGroupById(eventGroupId) {
|
|
179
|
-
var index = -1;
|
|
180
|
-
this.eventGroups.forEach(function (item, idx) {
|
|
181
|
-
if (item.id === eventGroupId) index = idx;
|
|
182
|
-
});
|
|
183
|
-
if (index !== -1) this.eventGroups.splice(index, 1);
|
|
184
|
-
}
|
|
185
|
-
}, {
|
|
186
|
-
key: "containsEventGroupId",
|
|
187
|
-
value: function containsEventGroupId(eventGroupId) {
|
|
188
|
-
var index = -1;
|
|
189
|
-
this.eventGroups.forEach(function (item, idx) {
|
|
190
|
-
if (item.id === eventGroupId) index = idx;
|
|
191
|
-
});
|
|
192
|
-
return index !== -1;
|
|
193
|
-
}
|
|
194
|
-
}, {
|
|
195
|
-
key: "setEvents",
|
|
196
|
-
value: function setEvents(events) {
|
|
197
|
-
this._validateEvents(events);
|
|
198
|
-
this.events = Array.from(events);
|
|
199
|
-
if (this.eventGroupsAutoGenerated) this._generateEventGroups();
|
|
200
|
-
if (this.config.recurringEventsEnabled) this._handleRecurringEvents();
|
|
201
|
-
this._createRenderData();
|
|
202
|
-
}
|
|
203
|
-
}, {
|
|
204
|
-
key: "setScrollToSpecialDayjs",
|
|
205
|
-
value: function setScrollToSpecialDayjs(scrollToSpecialDayjs) {
|
|
206
|
-
if (this.config.scrollToSpecialDayjsEnabled) this.scrollToSpecialDayjs = scrollToSpecialDayjs;
|
|
207
|
-
}
|
|
208
|
-
}, {
|
|
209
|
-
key: "prev",
|
|
210
|
-
value: function prev() {
|
|
211
|
-
this._resolveDate(-1);
|
|
212
|
-
this.events = [];
|
|
213
|
-
this._createHeaders();
|
|
214
|
-
this._createRenderData();
|
|
215
|
-
}
|
|
216
|
-
}, {
|
|
217
|
-
key: "next",
|
|
218
|
-
value: function next() {
|
|
219
|
-
this._resolveDate(1);
|
|
220
|
-
this.events = [];
|
|
221
|
-
this._createHeaders();
|
|
222
|
-
this._createRenderData();
|
|
223
|
-
}
|
|
224
|
-
}, {
|
|
225
|
-
key: "setDate",
|
|
226
|
-
value: function setDate() {
|
|
227
|
-
var date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : (0, _dayjs["default"])(new Date());
|
|
228
|
-
this._resolveDate(0, date);
|
|
229
|
-
this.events = [];
|
|
230
|
-
this._createHeaders();
|
|
231
|
-
this._createRenderData();
|
|
232
|
-
}
|
|
233
|
-
}, {
|
|
234
|
-
key: "setViewType",
|
|
235
|
-
value: function setViewType() {
|
|
236
|
-
var viewType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _default.ViewType.Week;
|
|
237
|
-
var showAgenda = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
238
|
-
var isEventPerspective = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
239
|
-
this.showAgenda = showAgenda;
|
|
240
|
-
this.isEventPerspective = isEventPerspective;
|
|
241
|
-
this.cellUnit = _default.CellUnit.Day;
|
|
242
|
-
if (this.viewType !== viewType || this._shouldReloadViewType) {
|
|
243
|
-
var date = this.startDate;
|
|
244
|
-
if (viewType === _default.ViewType.Custom || viewType === _default.ViewType.Custom1 || viewType === _default.ViewType.Custom2) {
|
|
245
|
-
this.viewType = viewType;
|
|
246
|
-
this._resolveDate(0, date);
|
|
247
|
-
} else {
|
|
248
|
-
if (this.viewType < viewType) {
|
|
249
|
-
if (viewType === _default.ViewType.Week) {
|
|
250
|
-
this.startDate = this.localeDayjs(new Date(date)).startOf('isoWeek');
|
|
251
|
-
this.endDate = this.localeDayjs(new Date(this.startDate)).endOf('isoWeek');
|
|
252
|
-
} else if (viewType === _default.ViewType.Month) {
|
|
253
|
-
this.startDate = this.localeDayjs(new Date(date)).startOf('month');
|
|
254
|
-
this.endDate = this.localeDayjs(new Date(this.startDate)).endOf('month');
|
|
255
|
-
} else if (viewType === _default.ViewType.Quarter) {
|
|
256
|
-
this.startDate = this.localeDayjs(new Date(date)).startOf('quarter');
|
|
257
|
-
this.endDate = this.localeDayjs(new Date(this.startDate)).endOf('quarter');
|
|
258
|
-
} else if (viewType === _default.ViewType.Year) {
|
|
259
|
-
this.startDate = this.localeDayjs(new Date(date)).startOf('year');
|
|
260
|
-
this.endDate = this.localeDayjs(new Date(this.startDate)).endOf('year');
|
|
261
|
-
}
|
|
262
|
-
} else {
|
|
263
|
-
var start = this.localeDayjs(new Date(this.startDate));
|
|
264
|
-
var end = this.localeDayjs(new Date(this.endDate)).add(1, 'days');
|
|
265
|
-
if (this.selectDate !== undefined) {
|
|
266
|
-
var selectDate = this.localeDayjs(new Date(this.selectDate));
|
|
267
|
-
if (selectDate >= start && selectDate < end) {
|
|
268
|
-
date = this.selectDate;
|
|
269
|
-
}
|
|
270
|
-
}
|
|
271
|
-
var now = this.localeDayjs();
|
|
272
|
-
if (now >= start && now < end) {
|
|
273
|
-
date = now.startOf('day');
|
|
274
|
-
}
|
|
275
|
-
if (viewType === _default.ViewType.Day) {
|
|
276
|
-
this.startDate = date;
|
|
277
|
-
this.endDate = this.startDate;
|
|
278
|
-
this.cellUnit = _default.CellUnit.Hour;
|
|
279
|
-
} else if (viewType === _default.ViewType.Week) {
|
|
280
|
-
this.startDate = this.localeDayjs(new Date(date)).startOf('isoWeek');
|
|
281
|
-
this.endDate = this.localeDayjs(new Date(this.startDate)).endOf('isoWeek');
|
|
282
|
-
} else if (viewType === _default.ViewType.Month) {
|
|
283
|
-
this.startDate = this.localeDayjs(new Date(date)).startOf('month');
|
|
284
|
-
this.endDate = this.localeDayjs(new Date(this.startDate)).endOf('month');
|
|
285
|
-
} else if (viewType === _default.ViewType.Quarter) {
|
|
286
|
-
this.startDate = this.localeDayjs(new Date(date)).startOf('quarter');
|
|
287
|
-
this.endDate = this.localeDayjs(new Date(this.startDate)).endOf('quarter');
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
|
-
this.viewType = viewType;
|
|
291
|
-
}
|
|
292
|
-
this._shouldReloadViewType = false;
|
|
293
|
-
this.events = [];
|
|
294
|
-
this._createHeaders();
|
|
295
|
-
this._createRenderData();
|
|
296
|
-
this.setScrollToSpecialDayjs(true);
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
}, {
|
|
300
|
-
key: "setSchedulerMaxHeight",
|
|
301
|
-
value: function setSchedulerMaxHeight(newSchedulerMaxHeight) {
|
|
302
|
-
this.config.schedulerMaxHeight = newSchedulerMaxHeight;
|
|
303
|
-
}
|
|
304
|
-
}, {
|
|
305
|
-
key: "isSchedulerResponsive",
|
|
306
|
-
value: function isSchedulerResponsive() {
|
|
307
|
-
return !!this.config.schedulerWidth.endsWith && this.config.schedulerWidth.endsWith('%');
|
|
308
|
-
}
|
|
309
|
-
}, {
|
|
310
|
-
key: "toggleExpandStatus",
|
|
311
|
-
value: function toggleExpandStatus(slotId) {
|
|
312
|
-
var slotEntered = false;
|
|
313
|
-
var slotIndent = -1;
|
|
314
|
-
var isExpanded = false;
|
|
315
|
-
var expandedMap = new Map();
|
|
316
|
-
this.renderData.forEach(function (item) {
|
|
317
|
-
if (slotEntered === false) {
|
|
318
|
-
if (item.slotId === slotId && item.hasChildren) {
|
|
319
|
-
slotEntered = true;
|
|
320
|
-
isExpanded = !item.expanded;
|
|
321
|
-
item.expanded = isExpanded;
|
|
322
|
-
slotIndent = item.indent;
|
|
323
|
-
expandedMap.set(item.indent, {
|
|
324
|
-
expanded: item.expanded,
|
|
325
|
-
render: item.render
|
|
326
|
-
});
|
|
327
|
-
}
|
|
328
|
-
} else if (item.indent > slotIndent) {
|
|
329
|
-
var expandStatus = expandedMap.get(item.indent - 1);
|
|
330
|
-
item.render = expandStatus.expanded && expandStatus.render;
|
|
331
|
-
if (item.hasChildren) {
|
|
332
|
-
expandedMap.set(item.indent, {
|
|
333
|
-
expanded: item.expanded,
|
|
334
|
-
render: item.render
|
|
335
|
-
});
|
|
336
|
-
}
|
|
337
|
-
} else {
|
|
338
|
-
slotEntered = false;
|
|
339
|
-
}
|
|
340
|
-
});
|
|
341
|
-
}
|
|
342
|
-
}, {
|
|
343
|
-
key: "isResourceViewResponsive",
|
|
344
|
-
value: function isResourceViewResponsive() {
|
|
345
|
-
var resourceTableWidth = this.getResourceTableConfigWidth();
|
|
346
|
-
return !!resourceTableWidth.endsWith && resourceTableWidth.endsWith('%');
|
|
347
|
-
}
|
|
348
|
-
}, {
|
|
349
|
-
key: "isContentViewResponsive",
|
|
350
|
-
value: function isContentViewResponsive() {
|
|
351
|
-
var contentCellWidth = this.getContentCellConfigWidth();
|
|
352
|
-
return !!contentCellWidth.endsWith && contentCellWidth.endsWith('%');
|
|
353
|
-
}
|
|
354
|
-
}, {
|
|
355
|
-
key: "getSchedulerWidth",
|
|
356
|
-
value: function getSchedulerWidth() {
|
|
357
|
-
var baseWidth = this.documentWidth - this.config.besidesWidth > 0 ? this.documentWidth - this.config.besidesWidth : 0;
|
|
358
|
-
return this.isSchedulerResponsive() ? parseInt(baseWidth * Number(this.config.schedulerWidth.slice(0, -1)) / 100, 10) : this.config.schedulerWidth;
|
|
359
|
-
}
|
|
360
|
-
}, {
|
|
361
|
-
key: "getSchedulerHeight",
|
|
362
|
-
value: function getSchedulerHeight() {
|
|
363
|
-
// Use the header height tracked in SchedulerData (set via _setSchedulerHeaderHeight)
|
|
364
|
-
var headerHeight = this.schedulerHeaderHeight || 0;
|
|
365
|
-
var baseHeight = this.documentHeight - headerHeight - this.config.tableHeaderHeight - (this.config.underneathHeight || 0);
|
|
366
|
-
var validBaseHeight = baseHeight > 0 ? baseHeight : 0;
|
|
367
|
-
if (this.isSchedulerResponsive() && this.config.schedulerHeight && this.config.schedulerHeight.endsWith && this.config.schedulerHeight.endsWith('%')) {
|
|
368
|
-
return parseInt(validBaseHeight * Number(this.config.schedulerHeight.slice(0, -1)) / 100, 10);
|
|
369
|
-
}
|
|
370
|
-
// fallback to max height if set, else just use base height
|
|
371
|
-
return this.config.schedulerMaxHeight || validBaseHeight;
|
|
372
|
-
}
|
|
373
|
-
}, {
|
|
374
|
-
key: "getResourceTableWidth",
|
|
375
|
-
value: function getResourceTableWidth() {
|
|
376
|
-
var resourceTableConfigWidth = this.getResourceTableConfigWidth();
|
|
377
|
-
var schedulerWidth = this.getSchedulerWidth();
|
|
378
|
-
var resourceTableWidth = this.isResourceViewResponsive() ? parseInt(schedulerWidth * Number(resourceTableConfigWidth.slice(0, -1)) / 100, 10) : resourceTableConfigWidth;
|
|
379
|
-
if (this.isSchedulerResponsive() && this.getContentTableWidth() + resourceTableWidth < schedulerWidth) resourceTableWidth = schedulerWidth - this.getContentTableWidth();
|
|
380
|
-
return resourceTableWidth;
|
|
381
|
-
}
|
|
382
|
-
}, {
|
|
383
|
-
key: "getContentCellWidth",
|
|
384
|
-
value: function getContentCellWidth() {
|
|
385
|
-
var contentCellConfigWidth = this.getContentCellConfigWidth();
|
|
386
|
-
var schedulerWidth = this.getSchedulerWidth();
|
|
387
|
-
return this.isContentViewResponsive() ? parseInt(schedulerWidth * Number(contentCellConfigWidth.slice(0, -1)) / 100, 10) : contentCellConfigWidth;
|
|
388
|
-
}
|
|
389
|
-
}, {
|
|
390
|
-
key: "getContentTableWidth",
|
|
391
|
-
value: function getContentTableWidth() {
|
|
392
|
-
return this.headers.length * this.getContentCellWidth();
|
|
393
|
-
}
|
|
394
|
-
}, {
|
|
395
|
-
key: "getScrollToSpecialDayjs",
|
|
396
|
-
value: function getScrollToSpecialDayjs() {
|
|
397
|
-
if (this.config.scrollToSpecialDayjsEnabled) return this.scrollToSpecialDayjs;
|
|
398
|
-
return false;
|
|
399
|
-
}
|
|
400
|
-
}, {
|
|
401
|
-
key: "getSlots",
|
|
402
|
-
value: function getSlots() {
|
|
403
|
-
return this.isEventPerspective ? this.eventGroups : this.resources;
|
|
404
|
-
}
|
|
405
|
-
}, {
|
|
406
|
-
key: "getSlotById",
|
|
407
|
-
value: function getSlotById(slotId) {
|
|
408
|
-
var slots = this.getSlots();
|
|
409
|
-
var slot;
|
|
410
|
-
slots.forEach(function (item) {
|
|
411
|
-
if (item.id === slotId) slot = item;
|
|
412
|
-
});
|
|
413
|
-
return slot;
|
|
414
|
-
}
|
|
415
|
-
}, {
|
|
416
|
-
key: "getResourceById",
|
|
417
|
-
value: function getResourceById(resourceId) {
|
|
418
|
-
var resource;
|
|
419
|
-
this.resources.forEach(function (item) {
|
|
420
|
-
if (item.id === resourceId) resource = item;
|
|
421
|
-
});
|
|
422
|
-
return resource;
|
|
423
|
-
}
|
|
424
|
-
}, {
|
|
425
|
-
key: "getTableHeaderHeight",
|
|
426
|
-
value: function getTableHeaderHeight() {
|
|
427
|
-
return this.config.tableHeaderHeight;
|
|
428
|
-
}
|
|
429
|
-
}, {
|
|
430
|
-
key: "getSchedulerContentDesiredHeight",
|
|
431
|
-
value: function getSchedulerContentDesiredHeight() {
|
|
432
|
-
var height = 0;
|
|
433
|
-
this.renderData.forEach(function (item) {
|
|
434
|
-
if (item.render) height += item.rowHeight;
|
|
435
|
-
});
|
|
436
|
-
return height;
|
|
437
|
-
}
|
|
438
|
-
}, {
|
|
439
|
-
key: "getCellMaxEvents",
|
|
440
|
-
value: function getCellMaxEvents() {
|
|
441
|
-
var viewConfigMap = _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, _default.ViewType.Week, 'weekMaxEvents'), _default.ViewType.Day, 'dayMaxEvents'), _default.ViewType.Month, 'monthMaxEvents'), _default.ViewType.Year, 'yearMaxEvents'), _default.ViewType.Quarter, 'quarterMaxEvents');
|
|
442
|
-
var configProperty = viewConfigMap[this.viewType] || 'customMaxEvents';
|
|
443
|
-
return this.config[configProperty];
|
|
444
|
-
}
|
|
445
|
-
}, {
|
|
446
|
-
key: "getCalendarPopoverLocale",
|
|
447
|
-
value: function getCalendarPopoverLocale() {
|
|
448
|
-
return this.calendarPopoverLocale;
|
|
449
|
-
}
|
|
450
|
-
}, {
|
|
451
|
-
key: "getSelectedDate",
|
|
452
|
-
value: function getSelectedDate() {
|
|
453
|
-
return this.selectDate.format(_default.DATE_FORMAT);
|
|
454
|
-
}
|
|
455
|
-
}, {
|
|
456
|
-
key: "getViewStartDate",
|
|
457
|
-
value: function getViewStartDate() {
|
|
458
|
-
return this.startDate;
|
|
459
|
-
}
|
|
460
|
-
}, {
|
|
461
|
-
key: "getViewEndDate",
|
|
462
|
-
value: function getViewEndDate() {
|
|
463
|
-
return this.endDate;
|
|
464
|
-
}
|
|
465
|
-
}, {
|
|
466
|
-
key: "getViewDates",
|
|
467
|
-
value: function getViewDates() {
|
|
468
|
-
return {
|
|
469
|
-
startDate: this.startDate,
|
|
470
|
-
endDate: this.endDate
|
|
471
|
-
};
|
|
472
|
-
}
|
|
473
|
-
}, {
|
|
474
|
-
key: "getDateLabel",
|
|
475
|
-
value: function getDateLabel() {
|
|
476
|
-
var start = this.localeDayjs(new Date(this.startDate));
|
|
477
|
-
var end = this.localeDayjs(new Date(this.endDate));
|
|
478
|
-
var dateLabel = start.format('LL');
|
|
479
|
-
if (start !== end) dateLabel = "".concat(start.format('LL'), "-").concat(end.format('LL'));
|
|
480
|
-
if (this.behaviors.getDateLabelFunc) dateLabel = this.behaviors.getDateLabelFunc(this, this.viewType, this.startDate, this.endDate);
|
|
481
|
-
return dateLabel;
|
|
482
|
-
}
|
|
483
|
-
}, {
|
|
484
|
-
key: "addEvent",
|
|
485
|
-
value: function addEvent(newEvent) {
|
|
486
|
-
this._attachEvent(newEvent);
|
|
487
|
-
if (this.eventGroupsAutoGenerated) this._generateEventGroups();
|
|
488
|
-
this._createRenderData();
|
|
489
|
-
}
|
|
490
|
-
}, {
|
|
491
|
-
key: "updateEventStart",
|
|
492
|
-
value: function updateEventStart(event, newStart) {
|
|
493
|
-
this._detachEvent(event);
|
|
494
|
-
event.start = newStart;
|
|
495
|
-
this._attachEvent(event);
|
|
496
|
-
this._createRenderData();
|
|
497
|
-
}
|
|
498
|
-
}, {
|
|
499
|
-
key: "updateEventEnd",
|
|
500
|
-
value: function updateEventEnd(event, newEnd) {
|
|
501
|
-
event.end = newEnd;
|
|
502
|
-
this._createRenderData();
|
|
503
|
-
}
|
|
504
|
-
}, {
|
|
505
|
-
key: "swapEvent",
|
|
506
|
-
value: function swapEvent(eventSource, eventDest) {
|
|
507
|
-
// Swap group or resource IDs
|
|
508
|
-
if (this.isEventPerspective) {
|
|
509
|
-
var _ref = [eventDest.groupId, eventSource.groupId];
|
|
510
|
-
eventSource.groupId = _ref[0];
|
|
511
|
-
eventDest.groupId = _ref[1];
|
|
512
|
-
var _ref2 = [eventDest.groupName, eventSource.groupName];
|
|
513
|
-
eventSource.groupName = _ref2[0];
|
|
514
|
-
eventDest.groupName = _ref2[1];
|
|
515
|
-
} else {
|
|
516
|
-
var _ref3 = [eventDest.resourceId, eventSource.resourceId];
|
|
517
|
-
eventSource.resourceId = _ref3[0];
|
|
518
|
-
eventDest.resourceId = _ref3[1];
|
|
519
|
-
}
|
|
520
|
-
|
|
521
|
-
// Swap start and end times
|
|
522
|
-
var _ref4 = [eventDest.start, eventSource.start];
|
|
523
|
-
eventSource.start = _ref4[0];
|
|
524
|
-
eventDest.start = _ref4[1];
|
|
525
|
-
// Update the events
|
|
526
|
-
var _ref5 = [eventDest.end, eventSource.end];
|
|
527
|
-
eventSource.end = _ref5[0];
|
|
528
|
-
eventDest.end = _ref5[1];
|
|
529
|
-
this._detachEvent(eventSource);
|
|
530
|
-
this._detachEvent(eventDest);
|
|
531
|
-
this._attachEvent(eventSource);
|
|
532
|
-
this._attachEvent(eventDest);
|
|
533
|
-
this._createRenderData();
|
|
534
|
-
}
|
|
535
|
-
}, {
|
|
536
|
-
key: "swapEvent2",
|
|
537
|
-
value: function swapEvent2(eventSource, eventDest) {
|
|
538
|
-
var tempEventSource = _objectSpread({}, eventSource);
|
|
539
|
-
var tempEventDest = _objectSpread({}, eventDest);
|
|
540
|
-
this._detachEvent(eventSource);
|
|
541
|
-
this._detachEvent(eventDest);
|
|
542
|
-
if (this.isEventPerspective) {
|
|
543
|
-
tempEventSource.groupId = eventDest.groupId;
|
|
544
|
-
tempEventSource.groupName = eventDest.groupName;
|
|
545
|
-
tempEventDest.groupId = eventSource.groupId;
|
|
546
|
-
tempEventDest.groupName = eventSource.groupName;
|
|
547
|
-
} else {
|
|
548
|
-
tempEventSource.resourceId = eventDest.resourceId;
|
|
549
|
-
tempEventDest.resourceId = eventSource.resourceId;
|
|
550
|
-
}
|
|
551
|
-
tempEventSource.end = eventDest.end;
|
|
552
|
-
tempEventSource.start = eventDest.start;
|
|
553
|
-
tempEventDest.end = eventSource.end;
|
|
554
|
-
tempEventDest.start = eventSource.start;
|
|
555
|
-
this._attachEvent(tempEventSource);
|
|
556
|
-
this._attachEvent(tempEventDest);
|
|
557
|
-
this._createRenderData();
|
|
558
|
-
}
|
|
559
|
-
}, {
|
|
560
|
-
key: "moveEvent",
|
|
561
|
-
value: function moveEvent(event, newSlotId, newSlotName, newStart, newEnd) {
|
|
562
|
-
this._detachEvent(event);
|
|
563
|
-
if (this.isEventPerspective) {
|
|
564
|
-
event.groupId = newSlotId;
|
|
565
|
-
event.groupName = newSlotName;
|
|
566
|
-
} else event.resourceId = newSlotId;
|
|
567
|
-
event.end = newEnd;
|
|
568
|
-
event.start = newStart;
|
|
569
|
-
this._attachEvent(event);
|
|
570
|
-
this._createRenderData();
|
|
571
|
-
}
|
|
572
|
-
}, {
|
|
573
|
-
key: "isEventInTimeWindow",
|
|
574
|
-
value: function isEventInTimeWindow(eventStart, eventEnd, windowStart, windowEnd) {
|
|
575
|
-
return eventStart < windowEnd && eventEnd > windowStart;
|
|
576
|
-
}
|
|
577
|
-
}, {
|
|
578
|
-
key: "removeEvent",
|
|
579
|
-
value: function removeEvent(event) {
|
|
580
|
-
var index = this.events.indexOf(event);
|
|
581
|
-
if (index !== -1) {
|
|
582
|
-
this.events.splice(index, 1);
|
|
583
|
-
this._createRenderData();
|
|
584
|
-
}
|
|
585
|
-
}
|
|
586
|
-
}, {
|
|
587
|
-
key: "removeEventById",
|
|
588
|
-
value: function removeEventById(eventId) {
|
|
589
|
-
var index = -1;
|
|
590
|
-
this.events.forEach(function (item, idx) {
|
|
591
|
-
if (item.id === eventId) index = idx;
|
|
592
|
-
});
|
|
593
|
-
if (index !== -1) {
|
|
594
|
-
this.events.splice(index, 1);
|
|
595
|
-
this._createRenderData();
|
|
596
|
-
}
|
|
597
|
-
}
|
|
598
|
-
}, {
|
|
599
|
-
key: "getResourceTableConfigWidth",
|
|
600
|
-
value: function getResourceTableConfigWidth() {
|
|
601
|
-
if (this.showAgenda) {
|
|
602
|
-
return this.config.agendaResourceTableWidth;
|
|
603
|
-
}
|
|
604
|
-
var viewConfigMap = _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, _default.ViewType.Week, 'weekResourceTableWidth'), _default.ViewType.Day, 'dayResourceTableWidth'), _default.ViewType.Month, 'monthResourceTableWidth'), _default.ViewType.Year, 'yearResourceTableWidth'), _default.ViewType.Quarter, 'quarterResourceTableWidth');
|
|
605
|
-
var configProperty = viewConfigMap[this.viewType] || 'customResourceTableWidth';
|
|
606
|
-
return this.config[configProperty];
|
|
607
|
-
}
|
|
608
|
-
}, {
|
|
609
|
-
key: "getContentCellConfigWidth",
|
|
610
|
-
value: function getContentCellConfigWidth() {
|
|
611
|
-
var viewConfigMap = _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, _default.ViewType.Week, 'weekCellWidth'), _default.ViewType.Day, 'dayCellWidth'), _default.ViewType.Month, 'monthCellWidth'), _default.ViewType.Year, 'yearCellWidth'), _default.ViewType.Quarter, 'quarterCellWidth');
|
|
612
|
-
var configProperty = viewConfigMap[this.viewType] || 'customCellWidth';
|
|
613
|
-
return this.config[configProperty];
|
|
614
|
-
}
|
|
615
|
-
}, {
|
|
616
|
-
key: "_setDocumentWidth",
|
|
617
|
-
value: function _setDocumentWidth(documentWidth) {
|
|
618
|
-
if (documentWidth >= 0) {
|
|
619
|
-
this.documentWidth = documentWidth;
|
|
620
|
-
}
|
|
621
|
-
}
|
|
622
|
-
}, {
|
|
623
|
-
key: "_setDocumentHeight",
|
|
624
|
-
value: function _setDocumentHeight(documentHeight) {
|
|
625
|
-
if (documentHeight >= 0) {
|
|
626
|
-
this.documentHeight = documentHeight;
|
|
627
|
-
}
|
|
628
|
-
}
|
|
629
|
-
}, {
|
|
630
|
-
key: "_setSchedulerHeaderHeight",
|
|
631
|
-
value: function _setSchedulerHeaderHeight(schedulerHeaderHeight) {
|
|
632
|
-
if (schedulerHeaderHeight >= 0) {
|
|
633
|
-
this.schedulerHeaderHeight = schedulerHeaderHeight;
|
|
634
|
-
}
|
|
635
|
-
}
|
|
636
|
-
}, {
|
|
637
|
-
key: "_detachEvent",
|
|
638
|
-
value: function _detachEvent(event) {
|
|
639
|
-
var index = this.events.indexOf(event);
|
|
640
|
-
if (index !== -1) this.events.splice(index, 1);
|
|
641
|
-
}
|
|
642
|
-
}, {
|
|
643
|
-
key: "_attachEvent",
|
|
644
|
-
value: function _attachEvent(event) {
|
|
645
|
-
var _this = this;
|
|
646
|
-
var pos = 0;
|
|
647
|
-
var eventStart = this.localeDayjs(new Date(event.start));
|
|
648
|
-
this.events.forEach(function (item, index) {
|
|
649
|
-
var start = _this.localeDayjs(new Date(item.start));
|
|
650
|
-
if (eventStart >= start) pos = index + 1;
|
|
651
|
-
});
|
|
652
|
-
this.events.splice(pos, 0, event);
|
|
653
|
-
}
|
|
654
|
-
}, {
|
|
655
|
-
key: "_handleRecurringEvents",
|
|
656
|
-
value: function _handleRecurringEvents() {
|
|
657
|
-
var _this2 = this;
|
|
658
|
-
var recurringEvents = this.events.filter(function (x) {
|
|
659
|
-
return !!x.rrule;
|
|
660
|
-
});
|
|
661
|
-
recurringEvents.forEach(function (item) {
|
|
662
|
-
_this2._detachEvent(item);
|
|
663
|
-
});
|
|
664
|
-
recurringEvents.forEach(function (item) {
|
|
665
|
-
var windowStart = _this2.startDate;
|
|
666
|
-
var windowEnd = _this2.endDate.add(1, 'days');
|
|
667
|
-
var oldStart = _this2.localeDayjs(new Date(item.start));
|
|
668
|
-
var oldEnd = _this2.localeDayjs(new Date(item.end));
|
|
669
|
-
var rule = (0, _rrule.rrulestr)(item.rrule);
|
|
670
|
-
var oldDtstart;
|
|
671
|
-
var oldUntil = rule.origOptions.until || windowEnd.toDate();
|
|
672
|
-
if (rule.origOptions.dtstart) {
|
|
673
|
-
oldDtstart = _this2.localeDayjs(new Date(rule.origOptions.dtstart));
|
|
674
|
-
}
|
|
675
|
-
// rule.origOptions.dtstart = oldStart.toDate();
|
|
676
|
-
if (windowEnd < oldUntil) {
|
|
677
|
-
rule.origOptions.until = windowEnd.toDate();
|
|
678
|
-
}
|
|
679
|
-
|
|
680
|
-
// reload
|
|
681
|
-
rule = (0, _rrule.rrulestr)(rule.toString());
|
|
682
|
-
if (item.exdates || item.exrule) {
|
|
683
|
-
var rruleSet = new _rrule.RRuleSet();
|
|
684
|
-
rruleSet.rrule(rule);
|
|
685
|
-
if (item.exrule) {
|
|
686
|
-
rruleSet.exrule((0, _rrule.rrulestr)(item.exrule));
|
|
687
|
-
}
|
|
688
|
-
if (item.exdates) {
|
|
689
|
-
item.exdates.forEach(function (exdate) {
|
|
690
|
-
rruleSet.exdate(_this2.localeDayjs(exdate).toDate());
|
|
691
|
-
});
|
|
692
|
-
}
|
|
693
|
-
rule = rruleSet;
|
|
694
|
-
}
|
|
695
|
-
var all = rule.between(new Date(windowStart), new Date(windowEnd));
|
|
696
|
-
all.forEach(function (time, index) {
|
|
697
|
-
var newEvent = _objectSpread(_objectSpread({}, item), {}, {
|
|
698
|
-
recurringEventId: item.id,
|
|
699
|
-
recurringEventStart: item.start,
|
|
700
|
-
recurringEventEnd: item.end,
|
|
701
|
-
id: "".concat(item.id, "-").concat(index),
|
|
702
|
-
start: rule.origOptions.tzid ? _this2.localeDayjs.utc(time).utcOffset(_this2.localeDayjs(new Date()).utcOffset(), true).format(_default.DATETIME_FORMAT) : _this2.localeDayjs(new Date(time)).format(_default.DATETIME_FORMAT),
|
|
703
|
-
end: rule.origOptions.tzid ? _this2.localeDayjs.utc(time).utcOffset(_this2.localeDayjs(new Date()).utcOffset(), true).add(oldEnd.diff(oldStart), 'ms').add(_this2.localeDayjs(new Date(oldUntil)).utcOffset() - _this2.localeDayjs(new Date(item.start)).utcOffset(), 'm').format(_default.DATETIME_FORMAT) : _this2.localeDayjs(new Date(time)).add(oldEnd.diff(oldStart), 'ms').format(_default.DATETIME_FORMAT)
|
|
704
|
-
});
|
|
705
|
-
var eventStart = _this2.localeDayjs(newEvent.start);
|
|
706
|
-
var eventEnd = _this2.localeDayjs(newEvent.end);
|
|
707
|
-
if (_this2.isEventInTimeWindow(eventStart, eventEnd, windowStart, windowEnd) && (!oldDtstart || eventStart >= oldDtstart)) {
|
|
708
|
-
_this2._attachEvent(newEvent);
|
|
709
|
-
}
|
|
710
|
-
});
|
|
711
|
-
});
|
|
712
|
-
}
|
|
713
|
-
}, {
|
|
714
|
-
key: "_resolveDate",
|
|
715
|
-
value: function _resolveDate(num) {
|
|
716
|
-
var _this3 = this;
|
|
717
|
-
var date = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
|
|
718
|
-
if (date !== undefined) {
|
|
719
|
-
this.selectDate = this.localeDayjs(date);
|
|
720
|
-
}
|
|
721
|
-
var setStartAndEndDates = function setStartAndEndDates(unit) {
|
|
722
|
-
_this3.startDate = date !== undefined ? _this3.selectDate.startOf(unit) : _this3.startDate.add(num, "".concat(unit, "s"));
|
|
723
|
-
_this3.endDate = _this3.startDate.endOf(unit);
|
|
724
|
-
};
|
|
725
|
-
switch (this.viewType) {
|
|
726
|
-
case _default.ViewType.Week:
|
|
727
|
-
if (date !== undefined) {
|
|
728
|
-
this.startDate = this.selectDate.startOf('isoWeek');
|
|
729
|
-
} else {
|
|
730
|
-
this.startDate = this.startDate.add(num, 'weeks');
|
|
731
|
-
}
|
|
732
|
-
this.endDate = this.startDate.endOf('isoWeek');
|
|
733
|
-
break;
|
|
734
|
-
case _default.ViewType.Day:
|
|
735
|
-
this.startDate = date !== undefined ? this.selectDate : this.startDate.add(num, 'days');
|
|
736
|
-
this.endDate = this.startDate;
|
|
737
|
-
break;
|
|
738
|
-
case _default.ViewType.Month:
|
|
739
|
-
setStartAndEndDates('month');
|
|
740
|
-
break;
|
|
741
|
-
case _default.ViewType.Quarter:
|
|
742
|
-
setStartAndEndDates('quarter');
|
|
743
|
-
break;
|
|
744
|
-
case _default.ViewType.Year:
|
|
745
|
-
setStartAndEndDates('year');
|
|
746
|
-
break;
|
|
747
|
-
case _default.ViewType.Custom:
|
|
748
|
-
case _default.ViewType.Custom1:
|
|
749
|
-
case _default.ViewType.Custom2:
|
|
750
|
-
if (this.behaviors.getCustomDateFunc !== undefined) {
|
|
751
|
-
var customDate = this.behaviors.getCustomDateFunc(this, num, date);
|
|
752
|
-
this.startDate = this.localeDayjs(customDate.startDate);
|
|
753
|
-
this.endDate = this.localeDayjs(customDate.endDate);
|
|
754
|
-
if (customDate.cellUnit) {
|
|
755
|
-
this.cellUnit = customDate.cellUnit;
|
|
756
|
-
}
|
|
757
|
-
} else {
|
|
758
|
-
throw new Error('This is a custom view type, set behaviors.getCustomDateFunc func ' + 'to resolve the time window (startDate and endDate) yourself');
|
|
759
|
-
}
|
|
760
|
-
break;
|
|
761
|
-
default:
|
|
762
|
-
break;
|
|
763
|
-
}
|
|
764
|
-
}
|
|
765
|
-
|
|
766
|
-
// Previous Code
|
|
767
|
-
}, {
|
|
768
|
-
key: "_createHeaders",
|
|
769
|
-
value: function _createHeaders() {
|
|
770
|
-
var headers = [];
|
|
771
|
-
var start = this.localeDayjs(new Date(this.startDate));
|
|
772
|
-
var end = this.localeDayjs(new Date(this.endDate));
|
|
773
|
-
var header = start;
|
|
774
|
-
if (this.showAgenda) {
|
|
775
|
-
headers.push({
|
|
776
|
-
time: header.format(_default.DATETIME_FORMAT),
|
|
777
|
-
nonWorkingTime: false
|
|
778
|
-
});
|
|
779
|
-
} else if (this.cellUnit === _default.CellUnit.Hour) {
|
|
780
|
-
if (start.hour() === 0) {
|
|
781
|
-
start = start.add(this.config.dayStartFrom, 'hours');
|
|
782
|
-
}
|
|
783
|
-
if (end.hour() === 0) {
|
|
784
|
-
end = end.add(this.config.dayStopTo, 'hours');
|
|
785
|
-
}
|
|
786
|
-
header = start;
|
|
787
|
-
var prevHour = -1;
|
|
788
|
-
while (header >= start && header <= end) {
|
|
789
|
-
// prevent doubled hours on time change
|
|
790
|
-
if (header.hour() === prevHour) {
|
|
791
|
-
header = header.add(1, 'hours');
|
|
792
|
-
continue;
|
|
793
|
-
}
|
|
794
|
-
prevHour = header.hour();
|
|
795
|
-
var minuteSteps = this.getMinuteStepsInHour();
|
|
796
|
-
for (var i = 0; i < minuteSteps; i += 1) {
|
|
797
|
-
var hour = header.hour();
|
|
798
|
-
if (hour >= this.config.dayStartFrom && hour <= this.config.dayStopTo) {
|
|
799
|
-
var time = header.format(_default.DATETIME_FORMAT);
|
|
800
|
-
var nonWorkingTime = this.behaviors.isNonWorkingTimeFunc(this, time);
|
|
801
|
-
headers.push({
|
|
802
|
-
time: time,
|
|
803
|
-
nonWorkingTime: nonWorkingTime
|
|
804
|
-
});
|
|
805
|
-
}
|
|
806
|
-
header = header.add(this.config.minuteStep, 'minutes');
|
|
807
|
-
}
|
|
808
|
-
}
|
|
809
|
-
} else if (this.cellUnit === _default.CellUnit.Day) {
|
|
810
|
-
while (header >= start && header <= end) {
|
|
811
|
-
var _time = header.format(_default.DATETIME_FORMAT);
|
|
812
|
-
var dayOfWeek = header.day();
|
|
813
|
-
if (this.config.displayWeekend || dayOfWeek !== 0 && dayOfWeek !== 6) {
|
|
814
|
-
var _nonWorkingTime = this.behaviors.isNonWorkingTimeFunc(this, _time);
|
|
815
|
-
headers.push({
|
|
816
|
-
time: _time,
|
|
817
|
-
nonWorkingTime: _nonWorkingTime
|
|
818
|
-
});
|
|
819
|
-
}
|
|
820
|
-
header = header.add(1, 'days');
|
|
821
|
-
}
|
|
822
|
-
} else if (this.cellUnit === _default.CellUnit.Week) {
|
|
823
|
-
while (header >= start && header <= end) {
|
|
824
|
-
var _time2 = header.format(_default.DATE_FORMAT);
|
|
825
|
-
headers.push({
|
|
826
|
-
time: _time2
|
|
827
|
-
});
|
|
828
|
-
header = header.add(1, 'weeks').startOf('isoWeek');
|
|
829
|
-
}
|
|
830
|
-
} else if (this.cellUnit === _default.CellUnit.Month) {
|
|
831
|
-
while (header >= start && header <= end) {
|
|
832
|
-
var _time3 = header.format(_default.DATE_FORMAT);
|
|
833
|
-
headers.push({
|
|
834
|
-
time: _time3
|
|
835
|
-
});
|
|
836
|
-
header = header.add(1, 'months').startOf('month');
|
|
837
|
-
}
|
|
838
|
-
} else if (this.cellUnit === _default.CellUnit.Year) {
|
|
839
|
-
while (header >= start && header <= end) {
|
|
840
|
-
var _time4 = header.format(_default.DATE_FORMAT);
|
|
841
|
-
headers.push({
|
|
842
|
-
time: _time4
|
|
843
|
-
});
|
|
844
|
-
header = header.add(1, 'years').startOf('year');
|
|
845
|
-
}
|
|
846
|
-
}
|
|
847
|
-
this.headers = headers;
|
|
848
|
-
}
|
|
849
|
-
}, {
|
|
850
|
-
key: "_createInitHeaderEvents",
|
|
851
|
-
value: function _createInitHeaderEvents(header) {
|
|
852
|
-
var start = this.localeDayjs(new Date(header.time));
|
|
853
|
-
var startValue = start.format(_default.DATETIME_FORMAT);
|
|
854
|
-
var endValue;
|
|
855
|
-
if (this.showAgenda) {
|
|
856
|
-
var incrementUnit = _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, _default.ViewType.Day, 'days'), _default.ViewType.Week, 'weeks'), _default.ViewType.Month, 'months'), _default.ViewType.Year, 'years'), _default.ViewType.Quarter, 'quarters')[this.viewType] || 'days';
|
|
857
|
-
if (incrementUnit === 'days') {
|
|
858
|
-
endValue = this.localeDayjs(new Date(this.endDate)).add(1, 'days').format(_default.DATETIME_FORMAT);
|
|
859
|
-
} else {
|
|
860
|
-
endValue = start.add(1, incrementUnit).format(_default.DATETIME_FORMAT);
|
|
861
|
-
}
|
|
862
|
-
} else {
|
|
863
|
-
var _incrementUnit = _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, _default.CellUnit.Hour, 'minutes'), _default.CellUnit.Week, 'weeks'), _default.CellUnit.Month, 'months'), _default.CellUnit.Year, 'years')[this.cellUnit] || 'days';
|
|
864
|
-
endValue = start.add(_incrementUnit === 'minutes' ? this.config.minuteStep : 1, _incrementUnit).format(this.cellUnit === _default.CellUnit.Year || this.cellUnit === _default.CellUnit.Month || this.cellUnit === _default.CellUnit.Week ? _default.DATE_FORMAT : _default.DATETIME_FORMAT);
|
|
865
|
-
}
|
|
866
|
-
return {
|
|
867
|
-
time: header.time,
|
|
868
|
-
nonWorkingTime: header.nonWorkingTime,
|
|
869
|
-
start: startValue,
|
|
870
|
-
end: endValue,
|
|
871
|
-
count: 0,
|
|
872
|
-
addMore: 0,
|
|
873
|
-
addMoreIndex: 0,
|
|
874
|
-
events: Array(3)
|
|
875
|
-
};
|
|
876
|
-
}
|
|
877
|
-
}, {
|
|
878
|
-
key: "_createHeaderEvent",
|
|
879
|
-
value: function _createHeaderEvent(render, span, eventItem) {
|
|
880
|
-
return {
|
|
881
|
-
render: render,
|
|
882
|
-
span: span,
|
|
883
|
-
eventItem: eventItem
|
|
884
|
-
};
|
|
885
|
-
}
|
|
886
|
-
}, {
|
|
887
|
-
key: "_getEventSlotId",
|
|
888
|
-
value: function _getEventSlotId(event) {
|
|
889
|
-
return this.isEventPerspective ? this._getEventGroupId(event) : event.resourceId;
|
|
890
|
-
}
|
|
891
|
-
}, {
|
|
892
|
-
key: "_getEventGroupId",
|
|
893
|
-
value: function _getEventGroupId(event) {
|
|
894
|
-
return event.groupId ? event.groupId.toString() : event.id.toString();
|
|
895
|
-
}
|
|
896
|
-
}, {
|
|
897
|
-
key: "_getEventGroupName",
|
|
898
|
-
value: function _getEventGroupName(event) {
|
|
899
|
-
return event.groupName ? event.groupName : event.title;
|
|
900
|
-
}
|
|
901
|
-
}, {
|
|
902
|
-
key: "_generateEventGroups",
|
|
903
|
-
value: function _generateEventGroups() {
|
|
904
|
-
var _this4 = this;
|
|
905
|
-
var eventGroups = [];
|
|
906
|
-
var set = new Set();
|
|
907
|
-
this.events.forEach(function (item) {
|
|
908
|
-
var groupId = _this4._getEventGroupId(item);
|
|
909
|
-
var groupName = _this4._getEventGroupName(item);
|
|
910
|
-
if (!set.has(groupId)) {
|
|
911
|
-
eventGroups.push({
|
|
912
|
-
id: groupId,
|
|
913
|
-
name: groupName,
|
|
914
|
-
state: item
|
|
915
|
-
});
|
|
916
|
-
set.add(groupId);
|
|
917
|
-
}
|
|
918
|
-
});
|
|
919
|
-
this.eventGroups = eventGroups;
|
|
920
|
-
}
|
|
921
|
-
}, {
|
|
922
|
-
key: "_createInitRenderData",
|
|
923
|
-
value: function _createInitRenderData(isEventPerspective, eventGroups, resources, headers) {
|
|
924
|
-
var _this5 = this;
|
|
925
|
-
var slots = isEventPerspective ? eventGroups : resources;
|
|
926
|
-
var slotTree = [];
|
|
927
|
-
var slotMap = new Map();
|
|
928
|
-
slots.forEach(function (slot) {
|
|
929
|
-
var headerEvents = headers.map(function (header) {
|
|
930
|
-
return _this5._createInitHeaderEvents(header);
|
|
931
|
-
});
|
|
932
|
-
var slotRenderData = _objectSpread(_objectSpread({}, slot), {}, {
|
|
933
|
-
slotId: slot.id,
|
|
934
|
-
slotName: slot.name,
|
|
935
|
-
slotTitle: slot.title,
|
|
936
|
-
parentId: slot.parentId,
|
|
937
|
-
groupOnly: slot.groupOnly,
|
|
938
|
-
hasSummary: false,
|
|
939
|
-
rowMaxCount: 0,
|
|
940
|
-
rowHeight: _this5.config.nonAgendaSlotMinHeight !== 0 ? _this5.config.nonAgendaSlotMinHeight : _this5.config.eventItemLineHeight + 2,
|
|
941
|
-
headerItems: headerEvents,
|
|
942
|
-
indent: 0,
|
|
943
|
-
hasChildren: false,
|
|
944
|
-
expanded: true,
|
|
945
|
-
render: true
|
|
946
|
-
});
|
|
947
|
-
var id = slot.id;
|
|
948
|
-
var value;
|
|
949
|
-
if (slotMap.has(id)) {
|
|
950
|
-
value = slotMap.get(id);
|
|
951
|
-
value.data = slotRenderData;
|
|
952
|
-
} else {
|
|
953
|
-
value = {
|
|
954
|
-
data: slotRenderData,
|
|
955
|
-
children: []
|
|
956
|
-
};
|
|
957
|
-
slotMap.set(id, value);
|
|
958
|
-
}
|
|
959
|
-
var parentId = slot.parentId;
|
|
960
|
-
if (!parentId || parentId === id) {
|
|
961
|
-
slotTree.push(value);
|
|
962
|
-
} else {
|
|
963
|
-
var parentValue;
|
|
964
|
-
if (slotMap.has(parentId)) {
|
|
965
|
-
parentValue = slotMap.get(parentId);
|
|
966
|
-
} else {
|
|
967
|
-
parentValue = {
|
|
968
|
-
data: undefined,
|
|
969
|
-
children: []
|
|
970
|
-
};
|
|
971
|
-
slotMap.set(parentId, parentValue);
|
|
972
|
-
}
|
|
973
|
-
parentValue.children.push(value);
|
|
974
|
-
}
|
|
975
|
-
});
|
|
976
|
-
var slotStack = [];
|
|
977
|
-
var i;
|
|
978
|
-
for (i = slotTree.length - 1; i >= 0; i -= 1) {
|
|
979
|
-
slotStack.push(slotTree[i]);
|
|
980
|
-
}
|
|
981
|
-
var initRenderData = [];
|
|
982
|
-
var currentNode;
|
|
983
|
-
while (slotStack.length > 0) {
|
|
984
|
-
currentNode = slotStack.pop();
|
|
985
|
-
if (currentNode.data.indent > 0) {
|
|
986
|
-
currentNode.data.render = this.config.defaultExpanded;
|
|
987
|
-
}
|
|
988
|
-
if (currentNode.children.length > 0) {
|
|
989
|
-
currentNode.data.hasChildren = true;
|
|
990
|
-
currentNode.data.expanded = this.config.defaultExpanded;
|
|
991
|
-
}
|
|
992
|
-
initRenderData.push(currentNode.data);
|
|
993
|
-
for (i = currentNode.children.length - 1; i >= 0; i -= 1) {
|
|
994
|
-
currentNode.children[i].data.indent = currentNode.data.indent + 1;
|
|
995
|
-
slotStack.push(currentNode.children[i]);
|
|
996
|
-
}
|
|
997
|
-
}
|
|
998
|
-
return initRenderData;
|
|
999
|
-
}
|
|
1000
|
-
}, {
|
|
1001
|
-
key: "_getSpan",
|
|
1002
|
-
value: function _getSpan(startTime, endTime, headers) {
|
|
1003
|
-
if (this.showAgenda) return 1;
|
|
1004
|
-
var timeBetween = function timeBetween(date1, date2, timeIn) {
|
|
1005
|
-
if (timeIn === 'days' || timeIn === 'day') {
|
|
1006
|
-
if (date1.getDate() === date2.getDate() && date1.getMonth() === date2.getMonth() && date1.getFullYear() === date2.getFullYear()) {
|
|
1007
|
-
return 1;
|
|
1008
|
-
}
|
|
1009
|
-
}
|
|
1010
|
-
var one;
|
|
1011
|
-
switch (timeIn) {
|
|
1012
|
-
case 'days':
|
|
1013
|
-
case 'day':
|
|
1014
|
-
one = 1000 * 60 * 60 * 24;
|
|
1015
|
-
break;
|
|
1016
|
-
case 'minutes':
|
|
1017
|
-
case 'minute':
|
|
1018
|
-
one = 1000 * 60;
|
|
1019
|
-
break;
|
|
1020
|
-
default:
|
|
1021
|
-
return 0;
|
|
1022
|
-
}
|
|
1023
|
-
var date1Ms = date1.getTime();
|
|
1024
|
-
var date2Ms = date2.getTime();
|
|
1025
|
-
var diff = (date2Ms - date1Ms) / one;
|
|
1026
|
-
return diff < 0 ? 0 : diff;
|
|
1027
|
-
};
|
|
1028
|
-
var eventStart = new Date(startTime);
|
|
1029
|
-
var eventEnd = new Date(endTime);
|
|
1030
|
-
var span = 0;
|
|
1031
|
-
var windowStart = new Date(this.startDate);
|
|
1032
|
-
var windowEnd = new Date(this.endDate);
|
|
1033
|
-
windowStart.setHours(0, 0, 0, 0);
|
|
1034
|
-
windowEnd.setHours(23, 59, 59);
|
|
1035
|
-
if (this.viewType === _default.ViewType.Day) {
|
|
1036
|
-
if (headers.length > 0) {
|
|
1037
|
-
var day = new Date(headers[0].time);
|
|
1038
|
-
if (day.getDate() > eventStart.getDate() && day.getDate() < eventEnd.getDate()) {
|
|
1039
|
-
span = 1440 / this.config.minuteStep;
|
|
1040
|
-
} else if (day.getDate() > eventStart.getDate() && day.getDate() === eventEnd.getDate()) {
|
|
1041
|
-
span = Math.ceil(timeBetween(day, eventEnd, 'minutes') / this.config.minuteStep);
|
|
1042
|
-
} else if (day.getDate() === eventStart.getDate() && day.getDate() < eventEnd.getDate()) {
|
|
1043
|
-
day.setHours(23, 59, 59);
|
|
1044
|
-
span = Math.ceil(timeBetween(eventStart, day, 'minutes') / this.config.minuteStep);
|
|
1045
|
-
} else if (day.getDate() === eventStart.getDate() && day.getDate() === eventEnd.getDate() || eventEnd.getDate() === eventStart.getDate()) {
|
|
1046
|
-
span = Math.ceil(timeBetween(eventStart, eventEnd, 'minutes') / this.config.minuteStep);
|
|
1047
|
-
}
|
|
1048
|
-
}
|
|
1049
|
-
} else if (this.viewType === _default.ViewType.Week || this.viewType === _default.ViewType.Month || this.viewType === _default.ViewType.Quarter || this.viewType === _default.ViewType.Year) {
|
|
1050
|
-
var startDate = windowStart < eventStart ? eventStart : windowStart;
|
|
1051
|
-
var endDate = windowEnd > eventEnd ? eventEnd : windowEnd;
|
|
1052
|
-
startDate.setHours(0, 0, 0, 0);
|
|
1053
|
-
// Only extend to end-of-day if the event does not end exactly at midnight
|
|
1054
|
-
// (midnight = start of the day, treated as exclusive by the header-item check)
|
|
1055
|
-
if (endDate.getHours() !== 0 || endDate.getMinutes() !== 0 || endDate.getSeconds() !== 0) {
|
|
1056
|
-
endDate.setHours(23, 59, 59, 0);
|
|
1057
|
-
} else {
|
|
1058
|
-
endDate.setDate(endDate.getDate() - 1);
|
|
1059
|
-
endDate.setHours(23, 59, 59, 0);
|
|
1060
|
-
}
|
|
1061
|
-
span = Math.ceil(timeBetween(startDate, endDate, 'days'));
|
|
1062
|
-
} else {
|
|
1063
|
-
if (this.cellUnit === _default.CellUnit.Day) {
|
|
1064
|
-
eventEnd.setHours(23, 59, 59);
|
|
1065
|
-
eventStart.setHours(0, 0, 0, 0);
|
|
1066
|
-
}
|
|
1067
|
-
var timeIn = this.cellUnit === _default.CellUnit.Day ? 'days' : 'minutes';
|
|
1068
|
-
var dividedBy = this.cellUnit === _default.CellUnit.Day ? 1 : this.config.minuteStep;
|
|
1069
|
-
if (windowStart >= eventStart && eventEnd <= windowEnd) {
|
|
1070
|
-
span = Math.ceil(timeBetween(windowStart, eventEnd, timeIn) / dividedBy);
|
|
1071
|
-
} else if (windowStart > eventStart && eventEnd > windowEnd) {
|
|
1072
|
-
span = Math.ceil(timeBetween(windowStart, windowEnd, timeIn) / dividedBy);
|
|
1073
|
-
} else if (windowStart <= eventStart && eventEnd >= windowEnd) {
|
|
1074
|
-
span = Math.ceil(timeBetween(eventStart, windowEnd, timeIn) / dividedBy);
|
|
1075
|
-
} else {
|
|
1076
|
-
span = Math.ceil(timeBetween(eventStart, eventEnd, timeIn) / dividedBy);
|
|
1077
|
-
}
|
|
1078
|
-
}
|
|
1079
|
-
return span;
|
|
1080
|
-
}
|
|
1081
|
-
}, {
|
|
1082
|
-
key: "_validateResource",
|
|
1083
|
-
value: function _validateResource(resources) {
|
|
1084
|
-
if (Object.prototype.toString.call(resources) !== '[object Array]') {
|
|
1085
|
-
throw new Error('Resources should be Array object');
|
|
1086
|
-
}
|
|
1087
|
-
resources.forEach(function (item, index) {
|
|
1088
|
-
if (item === undefined) {
|
|
1089
|
-
console.error("Resource undefined: ".concat(index));
|
|
1090
|
-
throw new Error("Resource undefined: ".concat(index));
|
|
1091
|
-
}
|
|
1092
|
-
if (item.id === undefined || item.name === undefined) {
|
|
1093
|
-
console.error('Resource property missed', index, item);
|
|
1094
|
-
throw new Error("Resource property undefined: ".concat(index));
|
|
1095
|
-
}
|
|
1096
|
-
});
|
|
1097
|
-
}
|
|
1098
|
-
}, {
|
|
1099
|
-
key: "_validateEventGroups",
|
|
1100
|
-
value: function _validateEventGroups(eventGroups) {
|
|
1101
|
-
if (Object.prototype.toString.call(eventGroups) !== '[object Array]') {
|
|
1102
|
-
throw new Error('Event groups should be Array object');
|
|
1103
|
-
}
|
|
1104
|
-
eventGroups.forEach(function (item, index) {
|
|
1105
|
-
if (item === undefined) {
|
|
1106
|
-
console.error("Event group undefined: ".concat(index));
|
|
1107
|
-
throw new Error("Event group undefined: ".concat(index));
|
|
1108
|
-
}
|
|
1109
|
-
if (item.id === undefined || item.name === undefined) {
|
|
1110
|
-
console.error('Event group property missed', index, item);
|
|
1111
|
-
throw new Error("Event group property undefined: ".concat(index));
|
|
1112
|
-
}
|
|
1113
|
-
});
|
|
1114
|
-
}
|
|
1115
|
-
}, {
|
|
1116
|
-
key: "_validateEvents",
|
|
1117
|
-
value: function _validateEvents(events) {
|
|
1118
|
-
if (Object.prototype.toString.call(events) !== '[object Array]') {
|
|
1119
|
-
throw new Error('Events should be Array object');
|
|
1120
|
-
}
|
|
1121
|
-
events.forEach(function (e, index) {
|
|
1122
|
-
if (e === undefined) {
|
|
1123
|
-
console.error("Event undefined: ".concat(index));
|
|
1124
|
-
throw new Error("Event undefined: ".concat(index));
|
|
1125
|
-
}
|
|
1126
|
-
if (e.id === undefined || e.resourceId === undefined || e.title === undefined || e.start === undefined || e.end === undefined) {
|
|
1127
|
-
console.error('Event property missed', index, e);
|
|
1128
|
-
throw new Error("Event property undefined: ".concat(index));
|
|
1129
|
-
}
|
|
1130
|
-
});
|
|
1131
|
-
}
|
|
1132
|
-
}, {
|
|
1133
|
-
key: "_validateMinuteStep",
|
|
1134
|
-
value: function _validateMinuteStep(minuteStep) {
|
|
1135
|
-
if (60 % minuteStep !== 0) {
|
|
1136
|
-
console.error('Minute step is not set properly - 60 minutes must be divisible without remainder by this number');
|
|
1137
|
-
throw new Error('Minute step is not set properly - 60 minutes must be divisible without remainder by this number');
|
|
1138
|
-
}
|
|
1139
|
-
}
|
|
1140
|
-
}, {
|
|
1141
|
-
key: "_compare",
|
|
1142
|
-
value: function _compare(event1, event2) {
|
|
1143
|
-
var start1 = this.localeDayjs(event1.start);
|
|
1144
|
-
var start2 = this.localeDayjs(event2.start);
|
|
1145
|
-
if (start1 !== start2) return start1 < start2 ? -1 : 1;
|
|
1146
|
-
var end1 = this.localeDayjs(event1.end);
|
|
1147
|
-
var end2 = this.localeDayjs(event2.end);
|
|
1148
|
-
if (end1 !== end2) return end1 < end2 ? -1 : 1;
|
|
1149
|
-
return event1.id < event2.id ? -1 : 1;
|
|
1150
|
-
}
|
|
1151
|
-
}, {
|
|
1152
|
-
key: "_createRenderData",
|
|
1153
|
-
value: function _createRenderData() {
|
|
1154
|
-
var _this6 = this;
|
|
1155
|
-
var initRenderData = this._createInitRenderData(this.isEventPerspective, this.eventGroups, this.resources, this.headers);
|
|
1156
|
-
// this.events.sort(this._compare);
|
|
1157
|
-
var cellMaxEventsCount = this.getCellMaxEvents();
|
|
1158
|
-
var cellMaxEventsCountValue = 30;
|
|
1159
|
-
this.events.forEach(function (item) {
|
|
1160
|
-
var resourceEventsList = initRenderData.filter(function (x) {
|
|
1161
|
-
return x.slotId === _this6._getEventSlotId(item);
|
|
1162
|
-
});
|
|
1163
|
-
if (resourceEventsList.length > 0) {
|
|
1164
|
-
var resourceEvents = resourceEventsList[0];
|
|
1165
|
-
var span = _this6._getSpan(item.start, item.end, _this6.headers);
|
|
1166
|
-
var eventStart = new Date(item.start);
|
|
1167
|
-
var eventEnd = new Date(item.end);
|
|
1168
|
-
var pos = -1;
|
|
1169
|
-
resourceEvents.headerItems.forEach(function (header, index) {
|
|
1170
|
-
var headerStart = new Date(header.start);
|
|
1171
|
-
var headerEnd = new Date(header.end);
|
|
1172
|
-
if (headerEnd > eventStart && headerStart < eventEnd) {
|
|
1173
|
-
header.count += 1;
|
|
1174
|
-
if (header.count > resourceEvents.rowMaxCount) {
|
|
1175
|
-
resourceEvents.rowMaxCount = header.count;
|
|
1176
|
-
var rowsCount = cellMaxEventsCount <= cellMaxEventsCountValue && resourceEvents.rowMaxCount > cellMaxEventsCount ? cellMaxEventsCount : resourceEvents.rowMaxCount;
|
|
1177
|
-
var newRowHeight = rowsCount * _this6.config.eventItemLineHeight + (_this6.config.creatable && _this6.config.checkConflict === false ? 20 : 2);
|
|
1178
|
-
if (newRowHeight > resourceEvents.rowHeight) resourceEvents.rowHeight = newRowHeight;
|
|
1179
|
-
}
|
|
1180
|
-
if (pos === -1) {
|
|
1181
|
-
var tmp = 0;
|
|
1182
|
-
while (header.events[tmp] !== undefined) tmp += 1;
|
|
1183
|
-
pos = tmp;
|
|
1184
|
-
}
|
|
1185
|
-
var render = headerStart <= eventStart || index === 0;
|
|
1186
|
-
if (render === false) {
|
|
1187
|
-
var previousHeader = resourceEvents.headerItems[index - 1];
|
|
1188
|
-
var previousHeaderStart = new Date(previousHeader.start);
|
|
1189
|
-
var previousHeaderEnd = new Date(previousHeader.end);
|
|
1190
|
-
if (previousHeaderEnd <= eventStart || previousHeaderStart >= eventEnd) render = true;
|
|
1191
|
-
}
|
|
1192
|
-
header.events[pos] = _this6._createHeaderEvent(render, span, item);
|
|
1193
|
-
}
|
|
1194
|
-
});
|
|
1195
|
-
}
|
|
1196
|
-
});
|
|
1197
|
-
if (cellMaxEventsCount <= cellMaxEventsCountValue || this.behaviors.getSummaryFunc !== undefined) {
|
|
1198
|
-
initRenderData.forEach(function (resourceEvents) {
|
|
1199
|
-
var hasSummary = false;
|
|
1200
|
-
resourceEvents.headerItems.forEach(function (headerItem) {
|
|
1201
|
-
if (cellMaxEventsCount <= cellMaxEventsCountValue) {
|
|
1202
|
-
var renderItemsCount = 0;
|
|
1203
|
-
var addMoreIndex = 0;
|
|
1204
|
-
var index = 0;
|
|
1205
|
-
while (index < cellMaxEventsCount - 1) {
|
|
1206
|
-
if (headerItem.events[index] !== undefined) {
|
|
1207
|
-
renderItemsCount += 1;
|
|
1208
|
-
addMoreIndex = index + 1;
|
|
1209
|
-
}
|
|
1210
|
-
index += 1;
|
|
1211
|
-
}
|
|
1212
|
-
if (headerItem.events[index] !== undefined) {
|
|
1213
|
-
if (renderItemsCount + 1 < headerItem.count) {
|
|
1214
|
-
headerItem.addMore = headerItem.count - renderItemsCount;
|
|
1215
|
-
headerItem.addMoreIndex = addMoreIndex;
|
|
1216
|
-
}
|
|
1217
|
-
} else if (renderItemsCount < headerItem.count) {
|
|
1218
|
-
headerItem.addMore = headerItem.count - renderItemsCount;
|
|
1219
|
-
headerItem.addMoreIndex = addMoreIndex;
|
|
1220
|
-
}
|
|
1221
|
-
}
|
|
1222
|
-
if (_this6.behaviors.getSummaryFunc !== undefined) {
|
|
1223
|
-
var events = [];
|
|
1224
|
-
headerItem.events.forEach(function (e) {
|
|
1225
|
-
if (!!e && !!e.eventItem) events.push(e.eventItem);
|
|
1226
|
-
});
|
|
1227
|
-
headerItem.summary = _this6.behaviors.getSummaryFunc(_this6, events, resourceEvents.slotId, resourceEvents.slotName, headerItem.start, headerItem.end);
|
|
1228
|
-
if (!!headerItem.summary && headerItem.summary.text !== undefined) hasSummary = true;
|
|
1229
|
-
}
|
|
1230
|
-
});
|
|
1231
|
-
resourceEvents.hasSummary = hasSummary;
|
|
1232
|
-
if (hasSummary) {
|
|
1233
|
-
var rowsCount = cellMaxEventsCount <= cellMaxEventsCountValue && resourceEvents.rowMaxCount > cellMaxEventsCount ? cellMaxEventsCount : resourceEvents.rowMaxCount;
|
|
1234
|
-
var newRowHeight = (rowsCount + 1) * _this6.config.eventItemLineHeight + (_this6.config.creatable && _this6.config.checkConflict === false ? 20 : 2);
|
|
1235
|
-
if (newRowHeight > resourceEvents.rowHeight) resourceEvents.rowHeight = newRowHeight;
|
|
1236
|
-
}
|
|
1237
|
-
});
|
|
1238
|
-
}
|
|
1239
|
-
this.renderData = initRenderData;
|
|
1240
|
-
}
|
|
1241
|
-
}, {
|
|
1242
|
-
key: "_startResizing",
|
|
1243
|
-
value: function _startResizing() {
|
|
1244
|
-
this.resizing = true;
|
|
1245
|
-
}
|
|
1246
|
-
}, {
|
|
1247
|
-
key: "_stopResizing",
|
|
1248
|
-
value: function _stopResizing() {
|
|
1249
|
-
this.resizing = false;
|
|
1250
|
-
}
|
|
1251
|
-
}, {
|
|
1252
|
-
key: "_isResizing",
|
|
1253
|
-
value: function _isResizing() {
|
|
1254
|
-
return this.resizing;
|
|
1255
|
-
}
|
|
1256
|
-
}]);
|
|
1257
|
-
}();
|