@fullcalendar/list 5.11.2 → 6.0.0-beta.1
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/main.cjs.js +137 -123
- package/main.global.js +137 -163
- package/main.global.min.js +2 -2
- package/main.js +138 -125
- package/main.js.map +1 -1
- package/package.json +3 -3
- package/main.css +0 -140
- package/main.min.css +0 -1
package/main.global.js
CHANGED
|
@@ -1,122 +1,72 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
FullCalendar
|
|
2
|
+
FullCalendar v6.0.0-beta.1
|
|
3
3
|
Docs & License: https://fullcalendar.io/
|
|
4
4
|
(c) 2022 Adam Shaw
|
|
5
5
|
*/
|
|
6
6
|
var FullCalendarList = (function (exports, common) {
|
|
7
7
|
'use strict';
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
purpose with or without fee is hereby granted.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
16
|
-
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
17
|
-
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
18
|
-
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
19
|
-
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
20
|
-
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
21
|
-
PERFORMANCE OF THIS SOFTWARE.
|
|
22
|
-
***************************************************************************** */
|
|
23
|
-
/* global Reflect, Promise */
|
|
24
|
-
|
|
25
|
-
var extendStatics = function(d, b) {
|
|
26
|
-
extendStatics = Object.setPrototypeOf ||
|
|
27
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
28
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
29
|
-
return extendStatics(d, b);
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
function __extends(d, b) {
|
|
33
|
-
if (typeof b !== "function" && b !== null)
|
|
34
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
35
|
-
extendStatics(d, b);
|
|
36
|
-
function __() { this.constructor = d; }
|
|
37
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
var __assign = function() {
|
|
41
|
-
__assign = Object.assign || function __assign(t) {
|
|
42
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
43
|
-
s = arguments[i];
|
|
44
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
45
|
-
}
|
|
46
|
-
return t;
|
|
47
|
-
};
|
|
48
|
-
return __assign.apply(this, arguments);
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
var ListViewHeaderRow = /** @class */ (function (_super) {
|
|
52
|
-
__extends(ListViewHeaderRow, _super);
|
|
53
|
-
function ListViewHeaderRow() {
|
|
54
|
-
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
55
|
-
_this.state = {
|
|
9
|
+
class ListViewHeaderRow extends common.BaseComponent {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments);
|
|
12
|
+
this.state = {
|
|
56
13
|
textId: common.getUniqueDomId(),
|
|
57
14
|
};
|
|
58
|
-
return _this;
|
|
59
15
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
16
|
+
render() {
|
|
17
|
+
let { theme, dateEnv, options, viewApi } = this.context;
|
|
18
|
+
let { cellId, dayDate, todayRange } = this.props;
|
|
19
|
+
let { textId } = this.state;
|
|
20
|
+
let dayMeta = common.getDateMeta(dayDate, todayRange);
|
|
65
21
|
// will ever be falsy?
|
|
66
|
-
|
|
22
|
+
let text = options.listDayFormat ? dateEnv.format(dayDate, options.listDayFormat) : '';
|
|
67
23
|
// will ever be falsy? also, BAD NAME "alt"
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
text
|
|
71
|
-
sideText
|
|
72
|
-
|
|
24
|
+
let sideText = options.listDaySideFormat ? dateEnv.format(dayDate, options.listDaySideFormat) : '';
|
|
25
|
+
let hookProps = Object.assign({ date: dateEnv.toDate(dayDate), view: viewApi, textId,
|
|
26
|
+
text,
|
|
27
|
+
sideText, navLinkAttrs: common.buildNavLinkAttrs(this.context, dayDate), sideNavLinkAttrs: common.buildNavLinkAttrs(this.context, dayDate, 'day', false) }, dayMeta);
|
|
28
|
+
let classNames = ['fc-list-day'].concat(common.getDayClassNames(dayMeta, theme));
|
|
73
29
|
// TODO: make a reusable HOC for dayHeader (used in daygrid/timegrid too)
|
|
74
|
-
return (common.createElement(common.RenderHook, { hookProps: hookProps, classNames: options.dayHeaderClassNames, content: options.dayHeaderContent, defaultContent: renderInnerContent, didMount: options.dayHeaderDidMount, willUnmount: options.dayHeaderWillUnmount },
|
|
30
|
+
return (common.createElement(common.RenderHook, { hookProps: hookProps, classNames: options.dayHeaderClassNames, content: options.dayHeaderContent, defaultContent: renderInnerContent, didMount: options.dayHeaderDidMount, willUnmount: options.dayHeaderWillUnmount }, (rootElRef, customClassNames, innerElRef, innerContent) => (common.createElement("tr", { ref: rootElRef, className: classNames.concat(customClassNames).join(' '), "data-date": common.formatDayString(dayDate) },
|
|
75
31
|
common.createElement("th", { scope: "colgroup", colSpan: 3, id: cellId, "aria-labelledby": textId },
|
|
76
|
-
common.createElement("div", { className: 'fc-list-day-cushion ' + theme.getClass('tableCellShaded'), ref: innerElRef }, innerContent))))
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
}(common.BaseComponent));
|
|
32
|
+
common.createElement("div", { className: 'fc-list-day-cushion ' + theme.getClass('tableCellShaded'), ref: innerElRef }, innerContent))))));
|
|
33
|
+
}
|
|
34
|
+
}
|
|
80
35
|
function renderInnerContent(props) {
|
|
81
36
|
return (common.createElement(common.Fragment, null,
|
|
82
|
-
props.text && (common.createElement("a",
|
|
83
|
-
props.sideText && ( /* not keyboard tabbable */common.createElement("a",
|
|
37
|
+
props.text && (common.createElement("a", Object.assign({ id: props.textId, className: "fc-list-day-text" }, props.navLinkAttrs), props.text)),
|
|
38
|
+
props.sideText && ( /* not keyboard tabbable */common.createElement("a", Object.assign({ "aria-hidden": true, className: "fc-list-day-side-text" }, props.sideNavLinkAttrs), props.sideText))));
|
|
84
39
|
}
|
|
85
40
|
|
|
86
|
-
|
|
41
|
+
const DEFAULT_TIME_FORMAT = common.createFormatter({
|
|
87
42
|
hour: 'numeric',
|
|
88
43
|
minute: '2-digit',
|
|
89
44
|
meridiem: 'short',
|
|
90
45
|
});
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
ListViewEventRow.prototype.render = function () {
|
|
97
|
-
var _a = this, props = _a.props, context = _a.context;
|
|
98
|
-
var seg = props.seg, timeHeaderId = props.timeHeaderId, eventHeaderId = props.eventHeaderId, dateHeaderId = props.dateHeaderId;
|
|
99
|
-
var timeFormat = context.options.eventTimeFormat || DEFAULT_TIME_FORMAT;
|
|
46
|
+
class ListViewEventRow extends common.BaseComponent {
|
|
47
|
+
render() {
|
|
48
|
+
let { props, context } = this;
|
|
49
|
+
let { seg, timeHeaderId, eventHeaderId, dateHeaderId } = props;
|
|
50
|
+
let timeFormat = context.options.eventTimeFormat || DEFAULT_TIME_FORMAT;
|
|
100
51
|
return (common.createElement(common.EventRoot, { seg: seg, timeText: "" // BAD. because of all-day content
|
|
101
|
-
, disableDragging: true, disableResizing: true, defaultContent:
|
|
52
|
+
, disableDragging: true, disableResizing: true, defaultContent: () => renderEventInnerContent(seg, context) /* weird */, isPast: props.isPast, isFuture: props.isFuture, isToday: props.isToday, isSelected: props.isSelected, isDragging: props.isDragging, isResizing: props.isResizing, isDateSelecting: props.isDateSelecting }, (rootElRef, classNames, innerElRef, innerContent, hookProps) => (common.createElement("tr", { className: ['fc-list-event', hookProps.event.url ? 'fc-event-forced-url' : ''].concat(classNames).join(' '), ref: rootElRef },
|
|
102
53
|
buildTimeContent(seg, timeFormat, context, timeHeaderId, dateHeaderId),
|
|
103
54
|
common.createElement("td", { "aria-hidden": true, className: "fc-list-event-graphic" },
|
|
104
55
|
common.createElement("span", { className: "fc-list-event-dot", style: { borderColor: hookProps.borderColor || hookProps.backgroundColor } })),
|
|
105
|
-
common.createElement("td", { ref: innerElRef, headers: eventHeaderId
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
}(common.BaseComponent));
|
|
56
|
+
common.createElement("td", { ref: innerElRef, headers: `${eventHeaderId} ${dateHeaderId}`, className: "fc-list-event-title" }, innerContent)))));
|
|
57
|
+
}
|
|
58
|
+
}
|
|
109
59
|
function renderEventInnerContent(seg, context) {
|
|
110
|
-
|
|
111
|
-
return (common.createElement("a",
|
|
60
|
+
let interactiveAttrs = common.getSegAnchorAttrs(seg, context);
|
|
61
|
+
return (common.createElement("a", Object.assign({}, interactiveAttrs), seg.eventRange.def.title));
|
|
112
62
|
}
|
|
113
63
|
function buildTimeContent(seg, timeFormat, context, timeHeaderId, dateHeaderId) {
|
|
114
|
-
|
|
64
|
+
let { options } = context;
|
|
115
65
|
if (options.displayEventTime !== false) {
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
66
|
+
let eventDef = seg.eventRange.def;
|
|
67
|
+
let eventInstance = seg.eventRange.instance;
|
|
68
|
+
let doAllDay = false;
|
|
69
|
+
let timeText;
|
|
120
70
|
if (eventDef.allDay) {
|
|
121
71
|
doAllDay = true;
|
|
122
72
|
}
|
|
@@ -135,11 +85,11 @@ var FullCalendarList = (function (exports, common) {
|
|
|
135
85
|
timeText = common.buildSegTimeText(seg, timeFormat, context);
|
|
136
86
|
}
|
|
137
87
|
if (doAllDay) {
|
|
138
|
-
|
|
88
|
+
let hookProps = {
|
|
139
89
|
text: context.options.allDayText,
|
|
140
90
|
view: context.viewApi,
|
|
141
91
|
};
|
|
142
|
-
return (common.createElement(common.RenderHook, { hookProps: hookProps, classNames: options.allDayClassNames, content: options.allDayContent, defaultContent: renderAllDayInner, didMount: options.allDayDidMount, willUnmount: options.allDayWillUnmount },
|
|
92
|
+
return (common.createElement(common.RenderHook, { hookProps: hookProps, classNames: options.allDayClassNames, content: options.allDayContent, defaultContent: renderAllDayInner, didMount: options.allDayDidMount, willUnmount: options.allDayWillUnmount }, (rootElRef, classNames, innerElRef, innerContent) => (common.createElement("td", { ref: rootElRef, headers: `${timeHeaderId} ${dateHeaderId}`, className: ['fc-list-event-time'].concat(classNames).join(' ') }, innerContent))));
|
|
143
93
|
}
|
|
144
94
|
return (common.createElement("td", { className: "fc-list-event-time" }, timeText));
|
|
145
95
|
}
|
|
@@ -152,70 +102,66 @@ var FullCalendarList = (function (exports, common) {
|
|
|
152
102
|
/*
|
|
153
103
|
Responsible for the scroller, and forwarding event-related actions into the "grid".
|
|
154
104
|
*/
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
_this.state = {
|
|
105
|
+
class ListView extends common.DateComponent {
|
|
106
|
+
constructor() {
|
|
107
|
+
super(...arguments);
|
|
108
|
+
this.computeDateVars = common.memoize(computeDateVars);
|
|
109
|
+
this.eventStoreToSegs = common.memoize(this._eventStoreToSegs);
|
|
110
|
+
this.state = {
|
|
162
111
|
timeHeaderId: common.getUniqueDomId(),
|
|
163
112
|
eventHeaderId: common.getUniqueDomId(),
|
|
164
113
|
dateHeaderIdRoot: common.getUniqueDomId(),
|
|
165
114
|
};
|
|
166
|
-
|
|
115
|
+
this.setRootEl = (rootEl) => {
|
|
167
116
|
if (rootEl) {
|
|
168
|
-
|
|
117
|
+
this.context.registerInteractiveComponent(this, {
|
|
169
118
|
el: rootEl,
|
|
170
119
|
});
|
|
171
120
|
}
|
|
172
121
|
else {
|
|
173
|
-
|
|
122
|
+
this.context.unregisterInteractiveComponent(this);
|
|
174
123
|
}
|
|
175
124
|
};
|
|
176
|
-
return _this;
|
|
177
125
|
}
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
var extraClassNames = [
|
|
126
|
+
render() {
|
|
127
|
+
let { props, context } = this;
|
|
128
|
+
let extraClassNames = [
|
|
182
129
|
'fc-list',
|
|
183
130
|
context.theme.getClass('table'),
|
|
184
131
|
context.options.stickyHeaderDates !== false ? 'fc-list-sticky' : '',
|
|
185
132
|
];
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
return (common.createElement(common.ViewRoot, { viewSpec: context.viewSpec, elRef: this.setRootEl },
|
|
133
|
+
let { dayDates, dayRanges } = this.computeDateVars(props.dateProfile);
|
|
134
|
+
let eventSegs = this.eventStoreToSegs(props.eventStore, props.eventUiBases, dayRanges);
|
|
135
|
+
return (common.createElement(common.ViewRoot, { viewSpec: context.viewSpec, elRef: this.setRootEl }, (rootElRef, classNames) => (common.createElement("div", { ref: rootElRef, className: extraClassNames.concat(classNames).join(' ') },
|
|
189
136
|
common.createElement(common.Scroller, { liquid: !props.isHeightAuto, overflowX: props.isHeightAuto ? 'visible' : 'hidden', overflowY: props.isHeightAuto ? 'visible' : 'auto' }, eventSegs.length > 0 ?
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
137
|
+
this.renderSegList(eventSegs, dayDates) :
|
|
138
|
+
this.renderEmptyMessage())))));
|
|
139
|
+
}
|
|
140
|
+
renderEmptyMessage() {
|
|
141
|
+
let { options, viewApi } = this.context;
|
|
142
|
+
let hookProps = {
|
|
196
143
|
text: options.noEventsText,
|
|
197
144
|
view: viewApi,
|
|
198
145
|
};
|
|
199
|
-
return (common.createElement(common.RenderHook, { hookProps: hookProps, classNames: options.noEventsClassNames, content: options.noEventsContent, defaultContent: renderNoEventsInner, didMount: options.noEventsDidMount, willUnmount: options.noEventsWillUnmount },
|
|
200
|
-
common.createElement("div", { className: "fc-list-empty-cushion", ref: innerElRef }, innerContent)))
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
return (common.createElement(common.NowTimer, { unit: "day" },
|
|
207
|
-
|
|
208
|
-
for (
|
|
209
|
-
|
|
146
|
+
return (common.createElement(common.RenderHook, { hookProps: hookProps, classNames: options.noEventsClassNames, content: options.noEventsContent, defaultContent: renderNoEventsInner, didMount: options.noEventsDidMount, willUnmount: options.noEventsWillUnmount }, (rootElRef, classNames, innerElRef, innerContent) => (common.createElement("div", { className: ['fc-list-empty'].concat(classNames).join(' '), ref: rootElRef },
|
|
147
|
+
common.createElement("div", { className: "fc-list-empty-cushion", ref: innerElRef }, innerContent)))));
|
|
148
|
+
}
|
|
149
|
+
renderSegList(allSegs, dayDates) {
|
|
150
|
+
let { theme, options } = this.context;
|
|
151
|
+
let { timeHeaderId, eventHeaderId, dateHeaderIdRoot } = this.state;
|
|
152
|
+
let segsByDay = groupSegsByDay(allSegs); // sparse array
|
|
153
|
+
return (common.createElement(common.NowTimer, { unit: "day" }, (nowDate, todayRange) => {
|
|
154
|
+
let innerNodes = [];
|
|
155
|
+
for (let dayIndex = 0; dayIndex < segsByDay.length; dayIndex += 1) {
|
|
156
|
+
let daySegs = segsByDay[dayIndex];
|
|
210
157
|
if (daySegs) { // sparse array, so might be undefined
|
|
211
|
-
|
|
212
|
-
|
|
158
|
+
let dayStr = common.formatDayString(dayDates[dayIndex]);
|
|
159
|
+
let dateHeaderId = dateHeaderIdRoot + '-' + dayStr;
|
|
213
160
|
// append a day header
|
|
214
161
|
innerNodes.push(common.createElement(ListViewHeaderRow, { key: dayStr, cellId: dateHeaderId, dayDate: dayDates[dayIndex], todayRange: todayRange }));
|
|
215
162
|
daySegs = common.sortEventSegs(daySegs, options.eventOrder);
|
|
216
|
-
for (
|
|
217
|
-
|
|
218
|
-
innerNodes.push(common.createElement(ListViewEventRow, __assign({ key: dayStr + ':' + seg.eventRange.instance.instanceId /* are multiple segs for an instanceId */, seg: seg, isDragging: false, isResizing: false, isDateSelecting: false, isSelected: false, timeHeaderId: timeHeaderId, eventHeaderId: eventHeaderId, dateHeaderId: dateHeaderId }, common.getSegMeta(seg, todayRange, nowDate))));
|
|
163
|
+
for (let seg of daySegs) {
|
|
164
|
+
innerNodes.push(common.createElement(ListViewEventRow, Object.assign({ key: dayStr + ':' + seg.eventRange.instance.instanceId /* are multiple segs for an instanceId */, seg: seg, isDragging: false, isResizing: false, isDateSelecting: false, isSelected: false, timeHeaderId: timeHeaderId, eventHeaderId: eventHeaderId, dateHeaderId: dateHeaderId }, common.getSegMeta(seg, todayRange, nowDate))));
|
|
219
165
|
}
|
|
220
166
|
}
|
|
221
167
|
}
|
|
@@ -227,38 +173,37 @@ var FullCalendarList = (function (exports, common) {
|
|
|
227
173
|
common.createElement("th", { scope: "col", id: eventHeaderId }, options.eventHint))),
|
|
228
174
|
common.createElement("tbody", null, innerNodes)));
|
|
229
175
|
}));
|
|
230
|
-
}
|
|
231
|
-
|
|
176
|
+
}
|
|
177
|
+
_eventStoreToSegs(eventStore, eventUiBases, dayRanges) {
|
|
232
178
|
return this.eventRangesToSegs(common.sliceEventStore(eventStore, eventUiBases, this.props.dateProfile.activeRange, this.context.options.nextDayThreshold).fg, dayRanges);
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
for (
|
|
237
|
-
|
|
238
|
-
segs.push.apply(segs, this.eventRangeToSegs(eventRange, dayRanges));
|
|
179
|
+
}
|
|
180
|
+
eventRangesToSegs(eventRanges, dayRanges) {
|
|
181
|
+
let segs = [];
|
|
182
|
+
for (let eventRange of eventRanges) {
|
|
183
|
+
segs.push(...this.eventRangeToSegs(eventRange, dayRanges));
|
|
239
184
|
}
|
|
240
185
|
return segs;
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
186
|
+
}
|
|
187
|
+
eventRangeToSegs(eventRange, dayRanges) {
|
|
188
|
+
let { dateEnv } = this.context;
|
|
189
|
+
let { nextDayThreshold } = this.context.options;
|
|
190
|
+
let range = eventRange.range;
|
|
191
|
+
let allDay = eventRange.def.allDay;
|
|
192
|
+
let dayIndex;
|
|
193
|
+
let segRange;
|
|
194
|
+
let seg;
|
|
195
|
+
let segs = [];
|
|
251
196
|
for (dayIndex = 0; dayIndex < dayRanges.length; dayIndex += 1) {
|
|
252
197
|
segRange = common.intersectRanges(range, dayRanges[dayIndex]);
|
|
253
198
|
if (segRange) {
|
|
254
199
|
seg = {
|
|
255
200
|
component: this,
|
|
256
|
-
eventRange
|
|
201
|
+
eventRange,
|
|
257
202
|
start: segRange.start,
|
|
258
203
|
end: segRange.end,
|
|
259
204
|
isStart: eventRange.isStart && segRange.start.valueOf() === range.start.valueOf(),
|
|
260
205
|
isEnd: eventRange.isEnd && segRange.end.valueOf() === range.end.valueOf(),
|
|
261
|
-
dayIndex
|
|
206
|
+
dayIndex,
|
|
262
207
|
};
|
|
263
208
|
segs.push(seg);
|
|
264
209
|
// detect when range won't go fully into the next day,
|
|
@@ -274,17 +219,16 @@ var FullCalendarList = (function (exports, common) {
|
|
|
274
219
|
}
|
|
275
220
|
}
|
|
276
221
|
return segs;
|
|
277
|
-
}
|
|
278
|
-
|
|
279
|
-
}(common.DateComponent));
|
|
222
|
+
}
|
|
223
|
+
}
|
|
280
224
|
function renderNoEventsInner(hookProps) {
|
|
281
225
|
return hookProps.text;
|
|
282
226
|
}
|
|
283
227
|
function computeDateVars(dateProfile) {
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
228
|
+
let dayStart = common.startOfDay(dateProfile.renderRange.start);
|
|
229
|
+
let viewEnd = dateProfile.renderRange.end;
|
|
230
|
+
let dayDates = [];
|
|
231
|
+
let dayRanges = [];
|
|
288
232
|
while (dayStart < viewEnd) {
|
|
289
233
|
dayDates.push(dayStart);
|
|
290
234
|
dayRanges.push({
|
|
@@ -293,13 +237,13 @@ var FullCalendarList = (function (exports, common) {
|
|
|
293
237
|
});
|
|
294
238
|
dayStart = common.addDays(dayStart, 1);
|
|
295
239
|
}
|
|
296
|
-
return { dayDates
|
|
240
|
+
return { dayDates, dayRanges };
|
|
297
241
|
}
|
|
298
242
|
// Returns a sparse array of arrays, segs grouped by their dayIndex
|
|
299
243
|
function groupSegsByDay(segs) {
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
244
|
+
let segsByDay = []; // sparse array
|
|
245
|
+
let i;
|
|
246
|
+
let seg;
|
|
303
247
|
for (i = 0; i < segs.length; i += 1) {
|
|
304
248
|
seg = segs[i];
|
|
305
249
|
(segsByDay[seg.dayIndex] || (segsByDay[seg.dayIndex] = []))
|
|
@@ -308,7 +252,7 @@ var FullCalendarList = (function (exports, common) {
|
|
|
308
252
|
return segsByDay;
|
|
309
253
|
}
|
|
310
254
|
|
|
311
|
-
|
|
255
|
+
const OPTION_REFINERS = {
|
|
312
256
|
listDayFormat: createFalsableFormatter,
|
|
313
257
|
listDaySideFormat: createFalsableFormatter,
|
|
314
258
|
noEventsClassNames: common.identity,
|
|
@@ -321,6 +265,36 @@ var FullCalendarList = (function (exports, common) {
|
|
|
321
265
|
return input === false ? null : common.createFormatter(input);
|
|
322
266
|
}
|
|
323
267
|
|
|
268
|
+
function styleInject(css, ref) {
|
|
269
|
+
if ( ref === void 0 ) ref = {};
|
|
270
|
+
var insertAt = ref.insertAt;
|
|
271
|
+
|
|
272
|
+
if (!css || typeof document === 'undefined') { return; }
|
|
273
|
+
|
|
274
|
+
var head = document.head || document.getElementsByTagName('head')[0];
|
|
275
|
+
var style = document.createElement('style');
|
|
276
|
+
style.type = 'text/css';
|
|
277
|
+
|
|
278
|
+
if (insertAt === 'top') {
|
|
279
|
+
if (head.firstChild) {
|
|
280
|
+
head.insertBefore(style, head.firstChild);
|
|
281
|
+
} else {
|
|
282
|
+
head.appendChild(style);
|
|
283
|
+
}
|
|
284
|
+
} else {
|
|
285
|
+
head.appendChild(style);
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
if (style.styleSheet) {
|
|
289
|
+
style.styleSheet.cssText = css;
|
|
290
|
+
} else {
|
|
291
|
+
style.appendChild(document.createTextNode(css));
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
var css_248z = "\n:root {\n --fc-list-event-dot-width: 10px;\n --fc-list-event-hover-bg-color: #f5f5f5;\n}\n.fc-theme-standard .fc-list {\n border: 1px solid #ddd;\n border: 1px solid var(--fc-border-color, #ddd);\n }\n.fc {\n\n /* message when no events */\n\n}\n.fc .fc-list-empty {\n background-color: rgba(208, 208, 208, 0.3);\n background-color: var(--fc-neutral-bg-color, rgba(208, 208, 208, 0.3));\n height: 100%;\n display: flex;\n justify-content: center;\n align-items: center; /* vertically aligns fc-list-empty-inner */\n }\n.fc .fc-list-empty-cushion {\n margin: 5em 0;\n }\n.fc {\n\n /* table within the scroller */\n /* ---------------------------------------------------------------------------------------------------- */\n\n}\n.fc .fc-list-table {\n width: 100%;\n border-style: hidden; /* kill outer border on theme */\n }\n.fc .fc-list-table tr > * {\n border-left: 0;\n border-right: 0;\n }\n.fc .fc-list-sticky .fc-list-day > * { /* the cells */\n position: sticky;\n top: 0;\n background: #fff;\n background: var(--fc-page-bg-color, #fff); /* for when headers are styled to be transparent and sticky */\n }\n.fc {\n\n /* only exists for aria reasons, hide for non-screen-readers */\n\n}\n.fc .fc-list-table thead {\n position: absolute;\n left: -10000px;\n }\n.fc {\n\n /* the table's border-style:hidden gets confused by hidden thead. force-hide top border of first cell */\n\n}\n.fc .fc-list-table tbody > tr:first-child th {\n border-top: 0;\n }\n.fc .fc-list-table th {\n padding: 0; /* uses an inner-wrapper instead... */\n }\n.fc .fc-list-table td,\n .fc .fc-list-day-cushion {\n padding: 8px 14px;\n }\n.fc {\n\n\n /* date heading rows */\n /* ---------------------------------------------------------------------------------------------------- */\n\n}\n.fc .fc-list-day-cushion:after {\n content: \"\";\n clear: both;\n display: table; /* clear floating */\n }\n.fc-theme-standard .fc-list-day-cushion {\n background-color: rgba(208, 208, 208, 0.3);\n background-color: var(--fc-neutral-bg-color, rgba(208, 208, 208, 0.3));\n }\n.fc-direction-ltr .fc-list-day-text,\n.fc-direction-rtl .fc-list-day-side-text {\n float: left;\n}\n.fc-direction-ltr .fc-list-day-side-text,\n.fc-direction-rtl .fc-list-day-text {\n float: right;\n}\n/* make the dot closer to the event title */\n.fc-direction-ltr .fc-list-table .fc-list-event-graphic { padding-right: 0 }\n.fc-direction-rtl .fc-list-table .fc-list-event-graphic { padding-left: 0 }\n.fc .fc-list-event.fc-event-forced-url {\n cursor: pointer; /* whole row will seem clickable */\n }\n.fc .fc-list-event:hover td {\n background-color: #f5f5f5;\n background-color: var(--fc-list-event-hover-bg-color, #f5f5f5);\n }\n.fc {\n\n /* shrink certain cols */\n\n}\n.fc .fc-list-event-graphic,\n .fc .fc-list-event-time {\n white-space: nowrap;\n width: 1px;\n }\n.fc .fc-list-event-dot {\n display: inline-block;\n box-sizing: content-box;\n width: 0;\n height: 0;\n border: 5px solid #3788d8;\n border: calc(var(--fc-list-event-dot-width, 10px) / 2) solid var(--fc-event-border-color, #3788d8);\n border-radius: 5px;\n border-radius: calc(var(--fc-list-event-dot-width, 10px) / 2);\n }\n.fc {\n\n /* reset <a> styling */\n\n}\n.fc .fc-list-event-title a {\n color: inherit;\n text-decoration: none;\n }\n.fc {\n\n /* underline link when hovering over any part of row */\n\n}\n.fc .fc-list-event.fc-event-forced-url:hover a {\n text-decoration: underline;\n }\n";
|
|
296
|
+
styleInject(css_248z);
|
|
297
|
+
|
|
324
298
|
var plugin = common.createPlugin({
|
|
325
299
|
optionRefiners: OPTION_REFINERS,
|
|
326
300
|
views: {
|
package/main.global.min.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
FullCalendar
|
|
2
|
+
FullCalendar v6.0.0-beta.1
|
|
3
3
|
Docs & License: https://fullcalendar.io/
|
|
4
4
|
(c) 2022 Adam Shaw
|
|
5
5
|
*/
|
|
6
|
-
var FullCalendarList=function(e,t){"use strict";var n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function a(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(a.prototype=t.prototype,new a)}var r=function(){return(r=Object.assign||function(e){for(var t,n=1,a=arguments.length;n<a;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)},i=function(e){function n(){var n=null!==e&&e.apply(this,arguments)||this;return n.state={textId:t.getUniqueDomId()},n}return a(n,e),n.prototype.render=function(){var e=this.context,n=e.theme,a=e.dateEnv,i=e.options,s=e.viewApi,l=this.props,d=l.cellId,c=l.dayDate,u=l.todayRange,m=this.state.textId,v=t.getDateMeta(c,u),y=i.listDayFormat?a.format(c,i.listDayFormat):"",f=i.listDaySideFormat?a.format(c,i.listDaySideFormat):"",g=r({date:a.toDate(c),view:s,textId:m,text:y,sideText:f,navLinkAttrs:t.buildNavLinkAttrs(this.context,c),sideNavLinkAttrs:t.buildNavLinkAttrs(this.context,c,"day",!1)},v),p=["fc-list-day"].concat(t.getDayClassNames(v,n));return t.createElement(t.RenderHook,{hookProps:g,classNames:i.dayHeaderClassNames,content:i.dayHeaderContent,defaultContent:o,didMount:i.dayHeaderDidMount,willUnmount:i.dayHeaderWillUnmount},(function(e,a,r,i){return t.createElement("tr",{ref:e,className:p.concat(a).join(" "),"data-date":t.formatDayString(c)},t.createElement("th",{scope:"colgroup",colSpan:3,id:d,"aria-labelledby":m},t.createElement("div",{className:"fc-list-day-cushion "+n.getClass("tableCellShaded"),ref:r},i)))}))},n}(t.BaseComponent);function o(e){return t.createElement(t.Fragment,null,e.text&&t.createElement("a",r({id:e.textId,className:"fc-list-day-text"},e.navLinkAttrs),e.text),e.sideText&&t.createElement("a",r({"aria-hidden":!0,className:"fc-list-day-side-text"},e.sideNavLinkAttrs),e.sideText))}var s=t.createFormatter({hour:"numeric",minute:"2-digit",meridiem:"short"}),l=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return a(n,e),n.prototype.render=function(){var e=this.props,n=this.context,a=e.seg,i=e.timeHeaderId,o=e.eventHeaderId,l=e.dateHeaderId,c=n.options.eventTimeFormat||s;return t.createElement(t.EventRoot,{seg:a,timeText:"",disableDragging:!0,disableResizing:!0,defaultContent:function(){return function(e,n){var a=t.getSegAnchorAttrs(e,n);return t.createElement("a",r({},a),e.eventRange.def.title)}(a,n)},isPast:e.isPast,isFuture:e.isFuture,isToday:e.isToday,isSelected:e.isSelected,isDragging:e.isDragging,isResizing:e.isResizing,isDateSelecting:e.isDateSelecting},(function(e,r,s,u,m){return t.createElement("tr",{className:["fc-list-event",m.event.url?"fc-event-forced-url":""].concat(r).join(" "),ref:e},function(e,n,a,r,i){var o=a.options;if(!1!==o.displayEventTime){var s=e.eventRange.def,l=e.eventRange.instance,c=!1,u=void 0;if(s.allDay?c=!0:t.isMultiDayRange(e.eventRange.range)?e.isStart?u=t.buildSegTimeText(e,n,a,null,null,l.range.start,e.end):e.isEnd?u=t.buildSegTimeText(e,n,a,null,null,e.start,l.range.end):c=!0:u=t.buildSegTimeText(e,n,a),c){var m={text:a.options.allDayText,view:a.viewApi};return t.createElement(t.RenderHook,{hookProps:m,classNames:o.allDayClassNames,content:o.allDayContent,defaultContent:d,didMount:o.allDayDidMount,willUnmount:o.allDayWillUnmount},(function(e,n,a,o){return t.createElement("td",{ref:e,headers:r+" "+i,className:["fc-list-event-time"].concat(n).join(" ")},o)}))}return t.createElement("td",{className:"fc-list-event-time"},u)}return null}(a,c,n,i,l),t.createElement("td",{"aria-hidden":!0,className:"fc-list-event-graphic"},t.createElement("span",{className:"fc-list-event-dot",style:{borderColor:m.borderColor||m.backgroundColor}})),t.createElement("td",{ref:s,headers:o+" "+l,className:"fc-list-event-title"},u))}))},n}(t.BaseComponent);function d(e){return e.text}var c=function(e){function n(){var n=null!==e&&e.apply(this,arguments)||this;return n.computeDateVars=t.memoize(m),n.eventStoreToSegs=t.memoize(n._eventStoreToSegs),n.state={timeHeaderId:t.getUniqueDomId(),eventHeaderId:t.getUniqueDomId(),dateHeaderIdRoot:t.getUniqueDomId()},n.setRootEl=function(e){e?n.context.registerInteractiveComponent(n,{el:e}):n.context.unregisterInteractiveComponent(n)},n}return a(n,e),n.prototype.render=function(){var e=this,n=this.props,a=this.context,r=["fc-list",a.theme.getClass("table"),!1!==a.options.stickyHeaderDates?"fc-list-sticky":""],i=this.computeDateVars(n.dateProfile),o=i.dayDates,s=i.dayRanges,l=this.eventStoreToSegs(n.eventStore,n.eventUiBases,s);return t.createElement(t.ViewRoot,{viewSpec:a.viewSpec,elRef:this.setRootEl},(function(a,i){return t.createElement("div",{ref:a,className:r.concat(i).join(" ")},t.createElement(t.Scroller,{liquid:!n.isHeightAuto,overflowX:n.isHeightAuto?"visible":"hidden",overflowY:n.isHeightAuto?"visible":"auto"},l.length>0?e.renderSegList(l,o):e.renderEmptyMessage()))}))},n.prototype.renderEmptyMessage=function(){var e=this.context,n=e.options,a=e.viewApi,r={text:n.noEventsText,view:a};return t.createElement(t.RenderHook,{hookProps:r,classNames:n.noEventsClassNames,content:n.noEventsContent,defaultContent:u,didMount:n.noEventsDidMount,willUnmount:n.noEventsWillUnmount},(function(e,n,a,r){return t.createElement("div",{className:["fc-list-empty"].concat(n).join(" "),ref:e},t.createElement("div",{className:"fc-list-empty-cushion",ref:a},r))}))},n.prototype.renderSegList=function(e,n){var a=this.context,o=a.theme,s=a.options,d=this.state,c=d.timeHeaderId,u=d.eventHeaderId,m=d.dateHeaderIdRoot,v=function(e){var t,n,a=[];for(t=0;t<e.length;t+=1)(a[(n=e[t]).dayIndex]||(a[n.dayIndex]=[])).push(n);return a}(e);return t.createElement(t.NowTimer,{unit:"day"},(function(e,a){for(var d=[],y=0;y<v.length;y+=1){var f=v[y];if(f){var g=t.formatDayString(n[y]),p=m+"-"+g;d.push(t.createElement(i,{key:g,cellId:p,dayDate:n[y],todayRange:a}));for(var h=0,E=f=t.sortEventSegs(f,s.eventOrder);h<E.length;h++){var D=E[h];d.push(t.createElement(l,r({key:g+":"+D.eventRange.instance.instanceId,seg:D,isDragging:!1,isResizing:!1,isDateSelecting:!1,isSelected:!1,timeHeaderId:c,eventHeaderId:u,dateHeaderId:p},t.getSegMeta(D,a,e))))}}}return t.createElement("table",{className:"fc-list-table "+o.getClass("table")},t.createElement("thead",null,t.createElement("tr",null,t.createElement("th",{scope:"col",id:c},s.timeHint),t.createElement("th",{scope:"col","aria-hidden":!0}),t.createElement("th",{scope:"col",id:u},s.eventHint))),t.createElement("tbody",null,d))}))},n.prototype._eventStoreToSegs=function(e,n,a){return this.eventRangesToSegs(t.sliceEventStore(e,n,this.props.dateProfile.activeRange,this.context.options.nextDayThreshold).fg,a)},n.prototype.eventRangesToSegs=function(e,t){for(var n=[],a=0,r=e;a<r.length;a++){var i=r[a];n.push.apply(n,this.eventRangeToSegs(i,t))}return n},n.prototype.eventRangeToSegs=function(e,n){var a,r,i,o=this.context.dateEnv,s=this.context.options.nextDayThreshold,l=e.range,d=e.def.allDay,c=[];for(a=0;a<n.length;a+=1)if((r=t.intersectRanges(l,n[a]))&&(i={component:this,eventRange:e,start:r.start,end:r.end,isStart:e.isStart&&r.start.valueOf()===l.start.valueOf(),isEnd:e.isEnd&&r.end.valueOf()===l.end.valueOf(),dayIndex:a},c.push(i),!i.isEnd&&!d&&a+1<n.length&&l.end<o.add(n[a+1].start,s))){i.end=l.end,i.isEnd=!0;break}return c},n}(t.DateComponent);function u(e){return e.text}function m(e){for(var n=t.startOfDay(e.renderRange.start),a=e.renderRange.end,r=[],i=[];n<a;)r.push(n),i.push({start:n,end:t.addDays(n,1)}),n=t.addDays(n,1);return{dayDates:r,dayRanges:i}}var v={listDayFormat:y,listDaySideFormat:y,noEventsClassNames:t.identity,noEventsContent:t.identity,noEventsDidMount:t.identity,noEventsWillUnmount:t.identity};function y(e){return!1===e?null:t.createFormatter(e)}var f=t.createPlugin({optionRefiners:v,views:{list:{component:c,buttonTextKey:"list",listDayFormat:{month:"long",day:"numeric",year:"numeric"}},listDay:{type:"list",duration:{days:1},listDayFormat:{weekday:"long"}},listWeek:{type:"list",duration:{weeks:1},listDayFormat:{weekday:"long"},listDaySideFormat:{month:"long",day:"numeric",year:"numeric"}},listMonth:{type:"list",duration:{month:1},listDaySideFormat:{weekday:"long"}},listYear:{type:"list",duration:{year:1},listDaySideFormat:{weekday:"long"}}}});return t.globalPlugins.push(f),e.ListView=c,e.default=f,Object.defineProperty(e,"__esModule",{value:!0}),e}({},FullCalendar);
|
|
6
|
+
var FullCalendarList=function(e,t){"use strict";class n extends t.BaseComponent{constructor(){super(...arguments),this.state={textId:t.getUniqueDomId()}}render(){let{theme:e,dateEnv:n,options:i,viewApi:s}=this.context,{cellId:r,dayDate:o,todayRange:l}=this.props,{textId:d}=this.state,c=t.getDateMeta(o,l),f=i.listDayFormat?n.format(o,i.listDayFormat):"",u=i.listDaySideFormat?n.format(o,i.listDaySideFormat):"",m=Object.assign({date:n.toDate(o),view:s,textId:d,text:f,sideText:u,navLinkAttrs:t.buildNavLinkAttrs(this.context,o),sideNavLinkAttrs:t.buildNavLinkAttrs(this.context,o,"day",!1)},c),g=["fc-list-day"].concat(t.getDayClassNames(c,e));return t.createElement(t.RenderHook,{hookProps:m,classNames:i.dayHeaderClassNames,content:i.dayHeaderContent,defaultContent:a,didMount:i.dayHeaderDidMount,willUnmount:i.dayHeaderWillUnmount},((n,a,i,s)=>t.createElement("tr",{ref:n,className:g.concat(a).join(" "),"data-date":t.formatDayString(o)},t.createElement("th",{scope:"colgroup",colSpan:3,id:r,"aria-labelledby":d},t.createElement("div",{className:"fc-list-day-cushion "+e.getClass("tableCellShaded"),ref:i},s)))))}}function a(e){return t.createElement(t.Fragment,null,e.text&&t.createElement("a",Object.assign({id:e.textId,className:"fc-list-day-text"},e.navLinkAttrs),e.text),e.sideText&&t.createElement("a",Object.assign({"aria-hidden":!0,className:"fc-list-day-side-text"},e.sideNavLinkAttrs),e.sideText))}const i=t.createFormatter({hour:"numeric",minute:"2-digit",meridiem:"short"});class s extends t.BaseComponent{render(){let{props:e,context:n}=this,{seg:a,timeHeaderId:s,eventHeaderId:o,dateHeaderId:l}=e,d=n.options.eventTimeFormat||i;return t.createElement(t.EventRoot,{seg:a,timeText:"",disableDragging:!0,disableResizing:!0,defaultContent:()=>function(e,n){let a=t.getSegAnchorAttrs(e,n);return t.createElement("a",Object.assign({},a),e.eventRange.def.title)}(a,n),isPast:e.isPast,isFuture:e.isFuture,isToday:e.isToday,isSelected:e.isSelected,isDragging:e.isDragging,isResizing:e.isResizing,isDateSelecting:e.isDateSelecting},((e,i,c,f,u)=>t.createElement("tr",{className:["fc-list-event",u.event.url?"fc-event-forced-url":""].concat(i).join(" "),ref:e},function(e,n,a,i,s){let{options:o}=a;if(!1!==o.displayEventTime){let l,d=e.eventRange.def,c=e.eventRange.instance,f=!1;if(d.allDay?f=!0:t.isMultiDayRange(e.eventRange.range)?e.isStart?l=t.buildSegTimeText(e,n,a,null,null,c.range.start,e.end):e.isEnd?l=t.buildSegTimeText(e,n,a,null,null,e.start,c.range.end):f=!0:l=t.buildSegTimeText(e,n,a),f){let e={text:a.options.allDayText,view:a.viewApi};return t.createElement(t.RenderHook,{hookProps:e,classNames:o.allDayClassNames,content:o.allDayContent,defaultContent:r,didMount:o.allDayDidMount,willUnmount:o.allDayWillUnmount},((e,n,a,r)=>t.createElement("td",{ref:e,headers:`${i} ${s}`,className:["fc-list-event-time"].concat(n).join(" ")},r)))}return t.createElement("td",{className:"fc-list-event-time"},l)}return null}(a,d,n,s,l),t.createElement("td",{"aria-hidden":!0,className:"fc-list-event-graphic"},t.createElement("span",{className:"fc-list-event-dot",style:{borderColor:u.borderColor||u.backgroundColor}})),t.createElement("td",{ref:c,headers:`${o} ${l}`,className:"fc-list-event-title"},f))))}}function r(e){return e.text}class o extends t.DateComponent{constructor(){super(...arguments),this.computeDateVars=t.memoize(d),this.eventStoreToSegs=t.memoize(this._eventStoreToSegs),this.state={timeHeaderId:t.getUniqueDomId(),eventHeaderId:t.getUniqueDomId(),dateHeaderIdRoot:t.getUniqueDomId()},this.setRootEl=e=>{e?this.context.registerInteractiveComponent(this,{el:e}):this.context.unregisterInteractiveComponent(this)}}render(){let{props:e,context:n}=this,a=["fc-list",n.theme.getClass("table"),!1!==n.options.stickyHeaderDates?"fc-list-sticky":""],{dayDates:i,dayRanges:s}=this.computeDateVars(e.dateProfile),r=this.eventStoreToSegs(e.eventStore,e.eventUiBases,s);return t.createElement(t.ViewRoot,{viewSpec:n.viewSpec,elRef:this.setRootEl},((n,s)=>t.createElement("div",{ref:n,className:a.concat(s).join(" ")},t.createElement(t.Scroller,{liquid:!e.isHeightAuto,overflowX:e.isHeightAuto?"visible":"hidden",overflowY:e.isHeightAuto?"visible":"auto"},r.length>0?this.renderSegList(r,i):this.renderEmptyMessage()))))}renderEmptyMessage(){let{options:e,viewApi:n}=this.context,a={text:e.noEventsText,view:n};return t.createElement(t.RenderHook,{hookProps:a,classNames:e.noEventsClassNames,content:e.noEventsContent,defaultContent:l,didMount:e.noEventsDidMount,willUnmount:e.noEventsWillUnmount},((e,n,a,i)=>t.createElement("div",{className:["fc-list-empty"].concat(n).join(" "),ref:e},t.createElement("div",{className:"fc-list-empty-cushion",ref:a},i))))}renderSegList(e,a){let{theme:i,options:r}=this.context,{timeHeaderId:o,eventHeaderId:l,dateHeaderIdRoot:d}=this.state,c=function(e){let t,n,a=[];for(t=0;t<e.length;t+=1)n=e[t],(a[n.dayIndex]||(a[n.dayIndex]=[])).push(n);return a}(e);return t.createElement(t.NowTimer,{unit:"day"},((e,f)=>{let u=[];for(let i=0;i<c.length;i+=1){let m=c[i];if(m){let c=t.formatDayString(a[i]),g=d+"-"+c;u.push(t.createElement(n,{key:c,cellId:g,dayDate:a[i],todayRange:f})),m=t.sortEventSegs(m,r.eventOrder);for(let n of m)u.push(t.createElement(s,Object.assign({key:c+":"+n.eventRange.instance.instanceId,seg:n,isDragging:!1,isResizing:!1,isDateSelecting:!1,isSelected:!1,timeHeaderId:o,eventHeaderId:l,dateHeaderId:g},t.getSegMeta(n,f,e))))}}return t.createElement("table",{className:"fc-list-table "+i.getClass("table")},t.createElement("thead",null,t.createElement("tr",null,t.createElement("th",{scope:"col",id:o},r.timeHint),t.createElement("th",{scope:"col","aria-hidden":!0}),t.createElement("th",{scope:"col",id:l},r.eventHint))),t.createElement("tbody",null,u))}))}_eventStoreToSegs(e,n,a){return this.eventRangesToSegs(t.sliceEventStore(e,n,this.props.dateProfile.activeRange,this.context.options.nextDayThreshold).fg,a)}eventRangesToSegs(e,t){let n=[];for(let a of e)n.push(...this.eventRangeToSegs(a,t));return n}eventRangeToSegs(e,n){let a,i,s,{dateEnv:r}=this.context,{nextDayThreshold:o}=this.context.options,l=e.range,d=e.def.allDay,c=[];for(a=0;a<n.length;a+=1)if(i=t.intersectRanges(l,n[a]),i&&(s={component:this,eventRange:e,start:i.start,end:i.end,isStart:e.isStart&&i.start.valueOf()===l.start.valueOf(),isEnd:e.isEnd&&i.end.valueOf()===l.end.valueOf(),dayIndex:a},c.push(s),!s.isEnd&&!d&&a+1<n.length&&l.end<r.add(n[a+1].start,o))){s.end=l.end,s.isEnd=!0;break}return c}}function l(e){return e.text}function d(e){let n=t.startOfDay(e.renderRange.start),a=e.renderRange.end,i=[],s=[];for(;n<a;)i.push(n),s.push({start:n,end:t.addDays(n,1)}),n=t.addDays(n,1);return{dayDates:i,dayRanges:s}}const c={listDayFormat:f,listDaySideFormat:f,noEventsClassNames:t.identity,noEventsContent:t.identity,noEventsDidMount:t.identity,noEventsWillUnmount:t.identity};function f(e){return!1===e?null:t.createFormatter(e)}!function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var a=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===n&&a.firstChild?a.insertBefore(i,a.firstChild):a.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}('\n:root {\n --fc-list-event-dot-width: 10px;\n --fc-list-event-hover-bg-color: #f5f5f5;\n}\n.fc-theme-standard .fc-list {\n border: 1px solid #ddd;\n border: 1px solid var(--fc-border-color, #ddd);\n }\n.fc {\n\n /* message when no events */\n\n}\n.fc .fc-list-empty {\n background-color: rgba(208, 208, 208, 0.3);\n background-color: var(--fc-neutral-bg-color, rgba(208, 208, 208, 0.3));\n height: 100%;\n display: flex;\n justify-content: center;\n align-items: center; /* vertically aligns fc-list-empty-inner */\n }\n.fc .fc-list-empty-cushion {\n margin: 5em 0;\n }\n.fc {\n\n /* table within the scroller */\n /* ---------------------------------------------------------------------------------------------------- */\n\n}\n.fc .fc-list-table {\n width: 100%;\n border-style: hidden; /* kill outer border on theme */\n }\n.fc .fc-list-table tr > * {\n border-left: 0;\n border-right: 0;\n }\n.fc .fc-list-sticky .fc-list-day > * { /* the cells */\n position: sticky;\n top: 0;\n background: #fff;\n background: var(--fc-page-bg-color, #fff); /* for when headers are styled to be transparent and sticky */\n }\n.fc {\n\n /* only exists for aria reasons, hide for non-screen-readers */\n\n}\n.fc .fc-list-table thead {\n position: absolute;\n left: -10000px;\n }\n.fc {\n\n /* the table\'s border-style:hidden gets confused by hidden thead. force-hide top border of first cell */\n\n}\n.fc .fc-list-table tbody > tr:first-child th {\n border-top: 0;\n }\n.fc .fc-list-table th {\n padding: 0; /* uses an inner-wrapper instead... */\n }\n.fc .fc-list-table td,\n .fc .fc-list-day-cushion {\n padding: 8px 14px;\n }\n.fc {\n\n\n /* date heading rows */\n /* ---------------------------------------------------------------------------------------------------- */\n\n}\n.fc .fc-list-day-cushion:after {\n content: "";\n clear: both;\n display: table; /* clear floating */\n }\n.fc-theme-standard .fc-list-day-cushion {\n background-color: rgba(208, 208, 208, 0.3);\n background-color: var(--fc-neutral-bg-color, rgba(208, 208, 208, 0.3));\n }\n.fc-direction-ltr .fc-list-day-text,\n.fc-direction-rtl .fc-list-day-side-text {\n float: left;\n}\n.fc-direction-ltr .fc-list-day-side-text,\n.fc-direction-rtl .fc-list-day-text {\n float: right;\n}\n/* make the dot closer to the event title */\n.fc-direction-ltr .fc-list-table .fc-list-event-graphic { padding-right: 0 }\n.fc-direction-rtl .fc-list-table .fc-list-event-graphic { padding-left: 0 }\n.fc .fc-list-event.fc-event-forced-url {\n cursor: pointer; /* whole row will seem clickable */\n }\n.fc .fc-list-event:hover td {\n background-color: #f5f5f5;\n background-color: var(--fc-list-event-hover-bg-color, #f5f5f5);\n }\n.fc {\n\n /* shrink certain cols */\n\n}\n.fc .fc-list-event-graphic,\n .fc .fc-list-event-time {\n white-space: nowrap;\n width: 1px;\n }\n.fc .fc-list-event-dot {\n display: inline-block;\n box-sizing: content-box;\n width: 0;\n height: 0;\n border: 5px solid #3788d8;\n border: calc(var(--fc-list-event-dot-width, 10px) / 2) solid var(--fc-event-border-color, #3788d8);\n border-radius: 5px;\n border-radius: calc(var(--fc-list-event-dot-width, 10px) / 2);\n }\n.fc {\n\n /* reset <a> styling */\n\n}\n.fc .fc-list-event-title a {\n color: inherit;\n text-decoration: none;\n }\n.fc {\n\n /* underline link when hovering over any part of row */\n\n}\n.fc .fc-list-event.fc-event-forced-url:hover a {\n text-decoration: underline;\n }\n');var u=t.createPlugin({optionRefiners:c,views:{list:{component:o,buttonTextKey:"list",listDayFormat:{month:"long",day:"numeric",year:"numeric"}},listDay:{type:"list",duration:{days:1},listDayFormat:{weekday:"long"}},listWeek:{type:"list",duration:{weeks:1},listDayFormat:{weekday:"long"},listDaySideFormat:{month:"long",day:"numeric",year:"numeric"}},listMonth:{type:"list",duration:{month:1},listDaySideFormat:{weekday:"long"}},listYear:{type:"list",duration:{year:1},listDaySideFormat:{weekday:"long"}}}});return t.globalPlugins.push(u),e.ListView=o,e.default=u,Object.defineProperty(e,"__esModule",{value:!0}),e}({},FullCalendar);
|