fullcalendar 6.1.10 → 6.1.12
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/index.global.js +100 -65
- package/index.global.min.js +2 -2
- package/package.json +7 -7
package/index.global.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
FullCalendar Standard Bundle v6.1.
|
|
2
|
+
FullCalendar Standard Bundle v6.1.12
|
|
3
3
|
Docs & License: https://fullcalendar.io/docs/initialize-globals
|
|
4
4
|
(c) 2023 Adam Shaw
|
|
5
5
|
*/
|
|
@@ -21,7 +21,9 @@ var FullCalendar = (function (exports) {
|
|
|
21
21
|
});
|
|
22
22
|
}
|
|
23
23
|
function ensureElHasStyles(el) {
|
|
24
|
-
if (el.isConnected
|
|
24
|
+
if (el.isConnected && // sometimes true if SSR system simulates DOM
|
|
25
|
+
el.getRootNode // sometimes undefined if SSR system simulates DOM
|
|
26
|
+
) {
|
|
25
27
|
registerStylesRoot(el.getRootNode());
|
|
26
28
|
}
|
|
27
29
|
}
|
|
@@ -4434,7 +4436,7 @@ var FullCalendar = (function (exports) {
|
|
|
4434
4436
|
function getSegMeta(seg, todayRange, nowDate) {
|
|
4435
4437
|
let segRange = seg.eventRange.range;
|
|
4436
4438
|
return {
|
|
4437
|
-
isPast: segRange.end
|
|
4439
|
+
isPast: segRange.end <= (nowDate || todayRange.start),
|
|
4438
4440
|
isFuture: segRange.start >= (nowDate || todayRange.end),
|
|
4439
4441
|
isToday: todayRange && rangeContainsMarker(todayRange, segRange.start),
|
|
4440
4442
|
};
|
|
@@ -4697,10 +4699,14 @@ var FullCalendar = (function (exports) {
|
|
|
4697
4699
|
forPrint: false,
|
|
4698
4700
|
};
|
|
4699
4701
|
this.handleBeforePrint = () => {
|
|
4700
|
-
|
|
4702
|
+
flushSync(() => {
|
|
4703
|
+
this.setState({ forPrint: true });
|
|
4704
|
+
});
|
|
4701
4705
|
};
|
|
4702
4706
|
this.handleAfterPrint = () => {
|
|
4703
|
-
|
|
4707
|
+
flushSync(() => {
|
|
4708
|
+
this.setState({ forPrint: false });
|
|
4709
|
+
});
|
|
4704
4710
|
};
|
|
4705
4711
|
}
|
|
4706
4712
|
render() {
|
|
@@ -5498,10 +5504,10 @@ var FullCalendar = (function (exports) {
|
|
|
5498
5504
|
function computeRect(el) {
|
|
5499
5505
|
let rect = el.getBoundingClientRect();
|
|
5500
5506
|
return {
|
|
5501
|
-
left: rect.left + window.
|
|
5502
|
-
top: rect.top + window.
|
|
5503
|
-
right: rect.right + window.
|
|
5504
|
-
bottom: rect.bottom + window.
|
|
5507
|
+
left: rect.left + window.scrollX,
|
|
5508
|
+
top: rect.top + window.scrollY,
|
|
5509
|
+
right: rect.right + window.scrollX,
|
|
5510
|
+
bottom: rect.bottom + window.scrollY,
|
|
5505
5511
|
};
|
|
5506
5512
|
}
|
|
5507
5513
|
function computeClippedClientRect(el) {
|
|
@@ -5692,16 +5698,16 @@ var FullCalendar = (function (exports) {
|
|
|
5692
5698
|
}
|
|
5693
5699
|
class WindowScrollController extends ScrollController {
|
|
5694
5700
|
getScrollTop() {
|
|
5695
|
-
return window.
|
|
5701
|
+
return window.scrollY;
|
|
5696
5702
|
}
|
|
5697
5703
|
getScrollLeft() {
|
|
5698
|
-
return window.
|
|
5704
|
+
return window.scrollX;
|
|
5699
5705
|
}
|
|
5700
5706
|
setScrollTop(n) {
|
|
5701
|
-
window.scroll(window.
|
|
5707
|
+
window.scroll(window.scrollX, n);
|
|
5702
5708
|
}
|
|
5703
5709
|
setScrollLeft(n) {
|
|
5704
|
-
window.scroll(n, window.
|
|
5710
|
+
window.scroll(n, window.scrollY);
|
|
5705
5711
|
}
|
|
5706
5712
|
getScrollWidth() {
|
|
5707
5713
|
return document.documentElement.scrollWidth;
|
|
@@ -5759,8 +5765,8 @@ var FullCalendar = (function (exports) {
|
|
|
5759
5765
|
|
|
5760
5766
|
class SegHierarchy {
|
|
5761
5767
|
constructor(getEntryThickness = (entry) => {
|
|
5762
|
-
//
|
|
5763
|
-
return entry.thickness;
|
|
5768
|
+
// if no thickness known, assume 1 (if 0, so small it always fits)
|
|
5769
|
+
return entry.thickness || 1;
|
|
5764
5770
|
}) {
|
|
5765
5771
|
this.getEntryThickness = getEntryThickness;
|
|
5766
5772
|
// settings
|
|
@@ -5783,51 +5789,45 @@ var FullCalendar = (function (exports) {
|
|
|
5783
5789
|
let insertion = this.findInsertion(entry);
|
|
5784
5790
|
if (this.isInsertionValid(insertion, entry)) {
|
|
5785
5791
|
this.insertEntryAt(entry, insertion);
|
|
5786
|
-
return 1;
|
|
5787
5792
|
}
|
|
5788
|
-
|
|
5793
|
+
else {
|
|
5794
|
+
this.handleInvalidInsertion(insertion, entry, hiddenEntries);
|
|
5795
|
+
}
|
|
5789
5796
|
}
|
|
5790
5797
|
isInsertionValid(insertion, entry) {
|
|
5791
5798
|
return (this.maxCoord === -1 || insertion.levelCoord + this.getEntryThickness(entry) <= this.maxCoord) &&
|
|
5792
5799
|
(this.maxStackCnt === -1 || insertion.stackCnt < this.maxStackCnt);
|
|
5793
5800
|
}
|
|
5794
|
-
// returns number of new entries inserted
|
|
5795
5801
|
handleInvalidInsertion(insertion, entry, hiddenEntries) {
|
|
5796
5802
|
if (this.allowReslicing && insertion.touchingEntry) {
|
|
5797
|
-
|
|
5803
|
+
const hiddenEntry = Object.assign(Object.assign({}, entry), { span: intersectSpans(entry.span, insertion.touchingEntry.span) });
|
|
5804
|
+
hiddenEntries.push(hiddenEntry);
|
|
5805
|
+
this.splitEntry(entry, insertion.touchingEntry, hiddenEntries);
|
|
5806
|
+
}
|
|
5807
|
+
else {
|
|
5808
|
+
hiddenEntries.push(entry);
|
|
5798
5809
|
}
|
|
5799
|
-
hiddenEntries.push(entry);
|
|
5800
|
-
return 0;
|
|
5801
5810
|
}
|
|
5811
|
+
/*
|
|
5812
|
+
Does NOT add what hit the `barrier` into hiddenEntries. Should already be done.
|
|
5813
|
+
*/
|
|
5802
5814
|
splitEntry(entry, barrier, hiddenEntries) {
|
|
5803
|
-
let partCnt = 0;
|
|
5804
|
-
let splitHiddenEntries = [];
|
|
5805
5815
|
let entrySpan = entry.span;
|
|
5806
5816
|
let barrierSpan = barrier.span;
|
|
5807
5817
|
if (entrySpan.start < barrierSpan.start) {
|
|
5808
|
-
|
|
5818
|
+
this.insertEntry({
|
|
5809
5819
|
index: entry.index,
|
|
5810
5820
|
thickness: entry.thickness,
|
|
5811
5821
|
span: { start: entrySpan.start, end: barrierSpan.start },
|
|
5812
|
-
},
|
|
5822
|
+
}, hiddenEntries);
|
|
5813
5823
|
}
|
|
5814
5824
|
if (entrySpan.end > barrierSpan.end) {
|
|
5815
|
-
|
|
5825
|
+
this.insertEntry({
|
|
5816
5826
|
index: entry.index,
|
|
5817
5827
|
thickness: entry.thickness,
|
|
5818
5828
|
span: { start: barrierSpan.end, end: entrySpan.end },
|
|
5819
|
-
},
|
|
5829
|
+
}, hiddenEntries);
|
|
5820
5830
|
}
|
|
5821
|
-
if (partCnt) {
|
|
5822
|
-
hiddenEntries.push({
|
|
5823
|
-
index: entry.index,
|
|
5824
|
-
thickness: entry.thickness,
|
|
5825
|
-
span: intersectSpans(barrierSpan, entrySpan), // guaranteed to intersect
|
|
5826
|
-
}, ...splitHiddenEntries);
|
|
5827
|
-
return partCnt;
|
|
5828
|
-
}
|
|
5829
|
-
hiddenEntries.push(entry);
|
|
5830
|
-
return 0;
|
|
5831
5831
|
}
|
|
5832
5832
|
insertEntryAt(entry, insertion) {
|
|
5833
5833
|
let { entriesByLevel, levelCoords } = this;
|
|
@@ -5842,6 +5842,9 @@ var FullCalendar = (function (exports) {
|
|
|
5842
5842
|
}
|
|
5843
5843
|
this.stackCnts[buildEntryKey(entry)] = insertion.stackCnt;
|
|
5844
5844
|
}
|
|
5845
|
+
/*
|
|
5846
|
+
does not care about limits
|
|
5847
|
+
*/
|
|
5845
5848
|
findInsertion(newEntry) {
|
|
5846
5849
|
let { levelCoords, entriesByLevel, strictOrder, stackCnts } = this;
|
|
5847
5850
|
let levelCnt = levelCoords.length;
|
|
@@ -5851,7 +5854,7 @@ var FullCalendar = (function (exports) {
|
|
|
5851
5854
|
let touchingEntry = null;
|
|
5852
5855
|
let stackCnt = 0;
|
|
5853
5856
|
for (let trackingLevel = 0; trackingLevel < levelCnt; trackingLevel += 1) {
|
|
5854
|
-
|
|
5857
|
+
const trackingCoord = levelCoords[trackingLevel];
|
|
5855
5858
|
// if the current level is past the placed entry, we have found a good empty space and can stop.
|
|
5856
5859
|
// if strictOrder, keep finding more lateral intersections.
|
|
5857
5860
|
if (!strictOrder && trackingCoord >= candidateCoord + this.getEntryThickness(newEntry)) {
|
|
@@ -9604,7 +9607,7 @@ var FullCalendar = (function (exports) {
|
|
|
9604
9607
|
let viewContext = this.buildViewContext(props.viewSpec, props.viewApi, props.options, props.dateProfileGenerator, props.dateEnv, props.theme, props.pluginHooks, props.dispatch, props.getCurrentData, props.emitter, props.calendarApi, this.registerInteractiveComponent, this.unregisterInteractiveComponent);
|
|
9605
9608
|
let viewLabelId = (toolbarConfig.header && toolbarConfig.header.hasTitle)
|
|
9606
9609
|
? this.state.viewLabelId
|
|
9607
|
-
:
|
|
9610
|
+
: undefined;
|
|
9608
9611
|
return (y(ViewContextType.Provider, { value: viewContext },
|
|
9609
9612
|
toolbarConfig.header && (y(Toolbar, Object.assign({ ref: this.headerRef, extraClassName: "fc-header-toolbar", model: toolbarConfig.header, titleId: viewLabelId }, toolbarProps))),
|
|
9610
9613
|
y(ViewHarness, { liquid: viewVGrow, height: viewHeight, aspectRatio: viewAspectRatio, labeledById: viewLabelId },
|
|
@@ -9832,7 +9835,7 @@ var FullCalendar = (function (exports) {
|
|
|
9832
9835
|
return sliceEventStore(props.eventStore, props.eventUiBases, props.dateProfile.activeRange, allDay ? props.nextDayThreshold : null).fg;
|
|
9833
9836
|
}
|
|
9834
9837
|
|
|
9835
|
-
const version = '6.1.
|
|
9838
|
+
const version = '6.1.12';
|
|
9836
9839
|
|
|
9837
9840
|
config.touchMouseIgnoreWait = 500;
|
|
9838
9841
|
let ignoreMouseDepth = 0;
|
|
@@ -9934,8 +9937,8 @@ var FullCalendar = (function (exports) {
|
|
|
9934
9937
|
};
|
|
9935
9938
|
this.handleScroll = (ev) => {
|
|
9936
9939
|
if (!this.shouldIgnoreMove) {
|
|
9937
|
-
let pageX = (window.
|
|
9938
|
-
let pageY = (window.
|
|
9940
|
+
let pageX = (window.scrollX - this.prevScrollX) + this.prevPageX;
|
|
9941
|
+
let pageY = (window.scrollY - this.prevScrollY) + this.prevPageY;
|
|
9939
9942
|
this.emitter.trigger('pointermove', {
|
|
9940
9943
|
origEvent: ev,
|
|
9941
9944
|
isTouch: this.isTouchDragging,
|
|
@@ -10004,8 +10007,8 @@ var FullCalendar = (function (exports) {
|
|
|
10004
10007
|
if (this.shouldWatchScroll) {
|
|
10005
10008
|
this.prevPageX = ev.pageX;
|
|
10006
10009
|
this.prevPageY = ev.pageY;
|
|
10007
|
-
this.prevScrollX = window.
|
|
10008
|
-
this.prevScrollY = window.
|
|
10010
|
+
this.prevScrollX = window.scrollX;
|
|
10011
|
+
this.prevScrollY = window.scrollY;
|
|
10009
10012
|
}
|
|
10010
10013
|
}
|
|
10011
10014
|
destroyScrollWatch() {
|
|
@@ -10124,15 +10127,15 @@ var FullCalendar = (function (exports) {
|
|
|
10124
10127
|
start(sourceEl, pageX, pageY) {
|
|
10125
10128
|
this.sourceEl = sourceEl;
|
|
10126
10129
|
this.sourceElRect = this.sourceEl.getBoundingClientRect();
|
|
10127
|
-
this.origScreenX = pageX - window.
|
|
10128
|
-
this.origScreenY = pageY - window.
|
|
10130
|
+
this.origScreenX = pageX - window.scrollX;
|
|
10131
|
+
this.origScreenY = pageY - window.scrollY;
|
|
10129
10132
|
this.deltaX = 0;
|
|
10130
10133
|
this.deltaY = 0;
|
|
10131
10134
|
this.updateElPosition();
|
|
10132
10135
|
}
|
|
10133
10136
|
handleMove(pageX, pageY) {
|
|
10134
|
-
this.deltaX = (pageX - window.
|
|
10135
|
-
this.deltaY = (pageY - window.
|
|
10137
|
+
this.deltaX = (pageX - window.scrollX) - this.origScreenX;
|
|
10138
|
+
this.deltaY = (pageY - window.scrollY) - this.origScreenY;
|
|
10136
10139
|
this.updateElPosition();
|
|
10137
10140
|
}
|
|
10138
10141
|
// can be called before start
|
|
@@ -10210,6 +10213,7 @@ var FullCalendar = (function (exports) {
|
|
|
10210
10213
|
// would use preventSelection(), but that prevents selectstart, causing problems.
|
|
10211
10214
|
mirrorEl.style.userSelect = 'none';
|
|
10212
10215
|
mirrorEl.style.webkitUserSelect = 'none';
|
|
10216
|
+
mirrorEl.style.pointerEvents = 'none';
|
|
10213
10217
|
mirrorEl.classList.add('fc-event-dragging');
|
|
10214
10218
|
applyStyle(mirrorEl, {
|
|
10215
10219
|
position: 'fixed',
|
|
@@ -10365,7 +10369,7 @@ var FullCalendar = (function (exports) {
|
|
|
10365
10369
|
this.everMovedRight = false;
|
|
10366
10370
|
this.animate = () => {
|
|
10367
10371
|
if (this.isAnimating) { // wasn't cancelled between animation calls
|
|
10368
|
-
let edge = this.computeBestEdge(this.pointerScreenX + window.
|
|
10372
|
+
let edge = this.computeBestEdge(this.pointerScreenX + window.scrollX, this.pointerScreenY + window.scrollY);
|
|
10369
10373
|
if (edge) {
|
|
10370
10374
|
let now = getTime();
|
|
10371
10375
|
this.handleSide(edge, (now - this.msSinceRequest) / 1000);
|
|
@@ -10391,8 +10395,8 @@ var FullCalendar = (function (exports) {
|
|
|
10391
10395
|
}
|
|
10392
10396
|
handleMove(pageX, pageY) {
|
|
10393
10397
|
if (this.isEnabled) {
|
|
10394
|
-
let pointerScreenX = pageX - window.
|
|
10395
|
-
let pointerScreenY = pageY - window.
|
|
10398
|
+
let pointerScreenX = pageX - window.scrollX;
|
|
10399
|
+
let pointerScreenY = pageY - window.scrollY;
|
|
10396
10400
|
let yDelta = this.pointerScreenY === null ? 0 : pointerScreenY - this.pointerScreenY;
|
|
10397
10401
|
let xDelta = this.pointerScreenX === null ? 0 : pointerScreenX - this.pointerScreenX;
|
|
10398
10402
|
if (yDelta < 0) {
|
|
@@ -10472,6 +10476,10 @@ var FullCalendar = (function (exports) {
|
|
|
10472
10476
|
(!bestSide || bestSide.distance > bottomDist)) {
|
|
10473
10477
|
bestSide = { scrollCache, name: 'bottom', distance: bottomDist };
|
|
10474
10478
|
}
|
|
10479
|
+
/*
|
|
10480
|
+
TODO: fix broken RTL scrolling. canScrollLeft always returning false
|
|
10481
|
+
https://github.com/fullcalendar/fullcalendar/issues/4837
|
|
10482
|
+
*/
|
|
10475
10483
|
if (leftDist <= edgeThreshold && this.everMovedLeft && scrollCache.canScrollLeft() &&
|
|
10476
10484
|
(!bestSide || bestSide.distance > leftDist)) {
|
|
10477
10485
|
bestSide = { scrollCache, name: 'left', distance: leftDist };
|
|
@@ -10499,6 +10507,10 @@ var FullCalendar = (function (exports) {
|
|
|
10499
10507
|
els.push(query);
|
|
10500
10508
|
}
|
|
10501
10509
|
else {
|
|
10510
|
+
/*
|
|
10511
|
+
TODO: in the future, always have auto-scroll happen on element where current Hit came from
|
|
10512
|
+
Ticket: https://github.com/fullcalendar/fullcalendar/issues/4593
|
|
10513
|
+
*/
|
|
10502
10514
|
els.push(...Array.prototype.slice.call(scrollStartEl.getRootNode().querySelectorAll(query)));
|
|
10503
10515
|
}
|
|
10504
10516
|
}
|
|
@@ -10673,6 +10685,7 @@ var FullCalendar = (function (exports) {
|
|
|
10673
10685
|
*/
|
|
10674
10686
|
class OffsetTracker {
|
|
10675
10687
|
constructor(el) {
|
|
10688
|
+
this.el = el;
|
|
10676
10689
|
this.origRect = computeRect(el);
|
|
10677
10690
|
// will work fine for divs that have overflow:hidden
|
|
10678
10691
|
this.scrollCaches = getClippingParents(el).map((scrollEl) => new ElementScrollGeomCache(scrollEl, true));
|
|
@@ -10732,6 +10745,7 @@ var FullCalendar = (function (exports) {
|
|
|
10732
10745
|
// options that can be set by caller
|
|
10733
10746
|
this.useSubjectCenter = false;
|
|
10734
10747
|
this.requireInitial = true; // if doesn't start out on a hit, won't emit any events
|
|
10748
|
+
this.disablePointCheck = false;
|
|
10735
10749
|
this.initialHit = null;
|
|
10736
10750
|
this.movingHit = null;
|
|
10737
10751
|
this.finalHit = null; // won't ever be populated if shouldIgnoreMove
|
|
@@ -10848,6 +10862,13 @@ var FullCalendar = (function (exports) {
|
|
|
10848
10862
|
if (hit && (
|
|
10849
10863
|
// make sure the hit is within activeRange, meaning it's not a dead cell
|
|
10850
10864
|
rangeContainsRange(hit.dateProfile.activeRange, hit.dateSpan.range)) &&
|
|
10865
|
+
// Ensure the component we are querying for the hit is accessibly my the pointer
|
|
10866
|
+
// Prevents obscured calendars (ex: under a modal dialog) from accepting hit
|
|
10867
|
+
// https://github.com/fullcalendar/fullcalendar/issues/5026
|
|
10868
|
+
(this.disablePointCheck ||
|
|
10869
|
+
offsetTracker.el.contains(document.elementFromPoint(
|
|
10870
|
+
// add-back origins to get coordinate relative to top-left of window viewport
|
|
10871
|
+
positionLeft + originLeft - window.scrollX, positionTop + originTop - window.scrollY))) &&
|
|
10851
10872
|
(!bestHit || hit.layer > bestHit.layer)) {
|
|
10852
10873
|
hit.componentId = id;
|
|
10853
10874
|
hit.context = component.context;
|
|
@@ -11128,7 +11149,7 @@ var FullCalendar = (function (exports) {
|
|
|
11128
11149
|
let receivingOptions = receivingContext.options;
|
|
11129
11150
|
if (initialContext === receivingContext ||
|
|
11130
11151
|
(receivingOptions.editable && receivingOptions.droppable)) {
|
|
11131
|
-
mutation = computeEventMutation(initialHit, hit, receivingContext.getCurrentData().pluginHooks.eventDragMutationMassagers);
|
|
11152
|
+
mutation = computeEventMutation(initialHit, hit, this.eventRange.instance.range.start, receivingContext.getCurrentData().pluginHooks.eventDragMutationMassagers);
|
|
11132
11153
|
if (mutation) {
|
|
11133
11154
|
mutatedRelevantEvents = applyMutationToEventStore(relevantEvents, receivingContext.getCurrentData().eventUiBases, mutation, receivingContext);
|
|
11134
11155
|
interaction.mutatedEvents = mutatedRelevantEvents;
|
|
@@ -11335,7 +11356,7 @@ var FullCalendar = (function (exports) {
|
|
|
11335
11356
|
// TODO: test this in IE11
|
|
11336
11357
|
// QUESTION: why do we need it on the resizable???
|
|
11337
11358
|
EventDragging.SELECTOR = '.fc-event-draggable, .fc-event-resizable';
|
|
11338
|
-
function computeEventMutation(hit0, hit1, massagers) {
|
|
11359
|
+
function computeEventMutation(hit0, hit1, eventInstanceStart, massagers) {
|
|
11339
11360
|
let dateSpan0 = hit0.dateSpan;
|
|
11340
11361
|
let dateSpan1 = hit1.dateSpan;
|
|
11341
11362
|
let date0 = dateSpan0.range.start;
|
|
@@ -11349,6 +11370,11 @@ var FullCalendar = (function (exports) {
|
|
|
11349
11370
|
// but date0 needs to be converted
|
|
11350
11371
|
date0 = startOfDay(date0);
|
|
11351
11372
|
}
|
|
11373
|
+
else {
|
|
11374
|
+
// Moving from allDate->timed
|
|
11375
|
+
// Doesn't matter where on the event the drag began, mutate the event's start-date to date1
|
|
11376
|
+
date0 = eventInstanceStart;
|
|
11377
|
+
}
|
|
11352
11378
|
}
|
|
11353
11379
|
let delta = diffDates(date0, date1, hit0.context.dateEnv, hit0.componentId === hit1.componentId ?
|
|
11354
11380
|
hit0.largeUnit :
|
|
@@ -11914,7 +11940,10 @@ var FullCalendar = (function (exports) {
|
|
|
11914
11940
|
if (typeof settings.mirrorSelector === 'string') {
|
|
11915
11941
|
dragging.mirrorSelector = settings.mirrorSelector;
|
|
11916
11942
|
}
|
|
11917
|
-
new ExternalElementDragging(dragging, settings.eventData);
|
|
11943
|
+
let externalDragging = new ExternalElementDragging(dragging, settings.eventData);
|
|
11944
|
+
// The hit-detection system requires that the dnd-mirror-element be pointer-events:none,
|
|
11945
|
+
// but this can't be guaranteed for third-party draggables, so disable
|
|
11946
|
+
externalDragging.hitDragging.disablePointCheck = true;
|
|
11918
11947
|
}
|
|
11919
11948
|
destroy() {
|
|
11920
11949
|
this.dragging.destroy();
|
|
@@ -12199,7 +12228,8 @@ var FullCalendar = (function (exports) {
|
|
|
12199
12228
|
let segUid = segs[segEntry.index].eventRange.instance.instanceId +
|
|
12200
12229
|
':' + segEntry.span.start +
|
|
12201
12230
|
':' + (segEntry.span.end - 1);
|
|
12202
|
-
|
|
12231
|
+
// if no thickness known, assume 1 (if 0, so small it always fits)
|
|
12232
|
+
return segHeights[segUid] || 1;
|
|
12203
12233
|
});
|
|
12204
12234
|
hierarchy.allowReslicing = true;
|
|
12205
12235
|
hierarchy.strictOrder = strictOrder;
|
|
@@ -12401,16 +12431,20 @@ var FullCalendar = (function (exports) {
|
|
|
12401
12431
|
handleInvalidInsertion(insertion, entry, hiddenEntries) {
|
|
12402
12432
|
const { entriesByLevel, forceHidden } = this;
|
|
12403
12433
|
const { touchingEntry, touchingLevel, touchingLateral } = insertion;
|
|
12434
|
+
// the entry that the new insertion is touching must be hidden
|
|
12404
12435
|
if (this.hiddenConsumes && touchingEntry) {
|
|
12405
12436
|
const touchingEntryId = buildEntryKey(touchingEntry);
|
|
12406
|
-
// if not already hidden
|
|
12407
12437
|
if (!forceHidden[touchingEntryId]) {
|
|
12408
12438
|
if (this.allowReslicing) {
|
|
12409
|
-
|
|
12410
|
-
const
|
|
12411
|
-
|
|
12412
|
-
|
|
12413
|
-
|
|
12439
|
+
// split up the touchingEntry, reinsert it
|
|
12440
|
+
const hiddenEntry = Object.assign(Object.assign({}, touchingEntry), { span: intersectSpans(touchingEntry.span, entry.span) });
|
|
12441
|
+
// reinsert the area that turned into a "more" link (so no other entries try to
|
|
12442
|
+
// occupy the space) but mark it forced-hidden
|
|
12443
|
+
const hiddenEntryId = buildEntryKey(hiddenEntry);
|
|
12444
|
+
forceHidden[hiddenEntryId] = true;
|
|
12445
|
+
entriesByLevel[touchingLevel][touchingLateral] = hiddenEntry;
|
|
12446
|
+
hiddenEntries.push(hiddenEntry);
|
|
12447
|
+
this.splitEntry(touchingEntry, entry, hiddenEntries);
|
|
12414
12448
|
}
|
|
12415
12449
|
else {
|
|
12416
12450
|
forceHidden[touchingEntryId] = true;
|
|
@@ -12418,7 +12452,8 @@ var FullCalendar = (function (exports) {
|
|
|
12418
12452
|
}
|
|
12419
12453
|
}
|
|
12420
12454
|
}
|
|
12421
|
-
|
|
12455
|
+
// will try to reslice...
|
|
12456
|
+
super.handleInvalidInsertion(insertion, entry, hiddenEntries);
|
|
12422
12457
|
}
|
|
12423
12458
|
}
|
|
12424
12459
|
|
|
@@ -12933,9 +12968,6 @@ var FullCalendar = (function (exports) {
|
|
|
12933
12968
|
},
|
|
12934
12969
|
});
|
|
12935
12970
|
|
|
12936
|
-
var css_248z$2 = ".fc-v-event{background-color:var(--fc-event-bg-color);border:1px solid var(--fc-event-border-color);display:block}.fc-v-event .fc-event-main{color:var(--fc-event-text-color);height:100%}.fc-v-event .fc-event-main-frame{display:flex;flex-direction:column;height:100%}.fc-v-event .fc-event-time{flex-grow:0;flex-shrink:0;max-height:100%;overflow:hidden}.fc-v-event .fc-event-title-container{flex-grow:1;flex-shrink:1;min-height:0}.fc-v-event .fc-event-title{bottom:0;max-height:100%;overflow:hidden;top:0}.fc-v-event:not(.fc-event-start){border-top-left-radius:0;border-top-right-radius:0;border-top-width:0}.fc-v-event:not(.fc-event-end){border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-width:0}.fc-v-event.fc-event-selected:before{left:-10px;right:-10px}.fc-v-event .fc-event-resizer-start{cursor:n-resize}.fc-v-event .fc-event-resizer-end{cursor:s-resize}.fc-v-event:not(.fc-event-selected) .fc-event-resizer{height:var(--fc-event-resizer-thickness);left:0;right:0}.fc-v-event:not(.fc-event-selected) .fc-event-resizer-start{top:calc(var(--fc-event-resizer-thickness)/-2)}.fc-v-event:not(.fc-event-selected) .fc-event-resizer-end{bottom:calc(var(--fc-event-resizer-thickness)/-2)}.fc-v-event.fc-event-selected .fc-event-resizer{left:50%;margin-left:calc(var(--fc-event-resizer-dot-total-width)/-2)}.fc-v-event.fc-event-selected .fc-event-resizer-start{top:calc(var(--fc-event-resizer-dot-total-width)/-2)}.fc-v-event.fc-event-selected .fc-event-resizer-end{bottom:calc(var(--fc-event-resizer-dot-total-width)/-2)}.fc .fc-timegrid .fc-daygrid-body{z-index:2}.fc .fc-timegrid-divider{padding:0 0 2px}.fc .fc-timegrid-body{min-height:100%;position:relative;z-index:1}.fc .fc-timegrid-axis-chunk{position:relative}.fc .fc-timegrid-axis-chunk>table,.fc .fc-timegrid-slots{position:relative;z-index:1}.fc .fc-timegrid-slot{border-bottom:0;height:1.5em}.fc .fc-timegrid-slot:empty:before{content:\"\\00a0\"}.fc .fc-timegrid-slot-minor{border-top-style:dotted}.fc .fc-timegrid-slot-label-cushion{display:inline-block;white-space:nowrap}.fc .fc-timegrid-slot-label{vertical-align:middle}.fc .fc-timegrid-axis-cushion,.fc .fc-timegrid-slot-label-cushion{padding:0 4px}.fc .fc-timegrid-axis-frame-liquid{height:100%}.fc .fc-timegrid-axis-frame{align-items:center;display:flex;justify-content:flex-end;overflow:hidden}.fc .fc-timegrid-axis-cushion{flex-shrink:0;max-width:60px}.fc-direction-ltr .fc-timegrid-slot-label-frame{text-align:right}.fc-direction-rtl .fc-timegrid-slot-label-frame{text-align:left}.fc-liquid-hack .fc-timegrid-axis-frame-liquid{bottom:0;height:auto;left:0;position:absolute;right:0;top:0}.fc .fc-timegrid-col.fc-day-today{background-color:var(--fc-today-bg-color)}.fc .fc-timegrid-col-frame{min-height:100%;position:relative}.fc-media-screen.fc-liquid-hack .fc-timegrid-col-frame{bottom:0;height:auto;left:0;position:absolute;right:0;top:0}.fc-media-screen .fc-timegrid-cols{bottom:0;left:0;position:absolute;right:0;top:0}.fc-media-screen .fc-timegrid-cols>table{height:100%}.fc-media-screen .fc-timegrid-col-bg,.fc-media-screen .fc-timegrid-col-events,.fc-media-screen .fc-timegrid-now-indicator-container{left:0;position:absolute;right:0;top:0}.fc .fc-timegrid-col-bg{z-index:2}.fc .fc-timegrid-col-bg .fc-non-business{z-index:1}.fc .fc-timegrid-col-bg .fc-bg-event{z-index:2}.fc .fc-timegrid-col-bg .fc-highlight{z-index:3}.fc .fc-timegrid-bg-harness{left:0;position:absolute;right:0}.fc .fc-timegrid-col-events{z-index:3}.fc .fc-timegrid-now-indicator-container{bottom:0;overflow:hidden}.fc-direction-ltr .fc-timegrid-col-events{margin:0 2.5% 0 2px}.fc-direction-rtl .fc-timegrid-col-events{margin:0 2px 0 2.5%}.fc-timegrid-event-harness{position:absolute}.fc-timegrid-event-harness>.fc-timegrid-event{bottom:0;left:0;position:absolute;right:0;top:0}.fc-timegrid-event-harness-inset .fc-timegrid-event,.fc-timegrid-event.fc-event-mirror,.fc-timegrid-more-link{box-shadow:0 0 0 1px var(--fc-page-bg-color)}.fc-timegrid-event,.fc-timegrid-more-link{border-radius:3px;font-size:var(--fc-small-font-size)}.fc-timegrid-event{margin-bottom:1px}.fc-timegrid-event .fc-event-main{padding:1px 1px 0}.fc-timegrid-event .fc-event-time{font-size:var(--fc-small-font-size);margin-bottom:1px;white-space:nowrap}.fc-timegrid-event-short .fc-event-main-frame{flex-direction:row;overflow:hidden}.fc-timegrid-event-short .fc-event-time:after{content:\"\\00a0-\\00a0\"}.fc-timegrid-event-short .fc-event-title{font-size:var(--fc-small-font-size)}.fc-timegrid-more-link{background:var(--fc-more-link-bg-color);color:var(--fc-more-link-text-color);cursor:pointer;margin-bottom:1px;position:absolute;z-index:9999}.fc-timegrid-more-link-inner{padding:3px 2px;top:0}.fc-direction-ltr .fc-timegrid-more-link{right:0}.fc-direction-rtl .fc-timegrid-more-link{left:0}.fc .fc-timegrid-now-indicator-line{border-color:var(--fc-now-indicator-color);border-style:solid;border-width:1px 0 0;left:0;position:absolute;right:0;z-index:4}.fc .fc-timegrid-now-indicator-arrow{border-color:var(--fc-now-indicator-color);border-style:solid;margin-top:-5px;position:absolute;z-index:4}.fc-direction-ltr .fc-timegrid-now-indicator-arrow{border-bottom-color:transparent;border-top-color:transparent;border-width:5px 0 5px 6px;left:0}.fc-direction-rtl .fc-timegrid-now-indicator-arrow{border-bottom-color:transparent;border-top-color:transparent;border-width:5px 6px 5px 0;right:0}";
|
|
12937
|
-
injectStyles(css_248z$2);
|
|
12938
|
-
|
|
12939
12971
|
class AllDaySplitter extends Splitter {
|
|
12940
12972
|
getKeyInfo() {
|
|
12941
12973
|
return {
|
|
@@ -14073,6 +14105,9 @@ var FullCalendar = (function (exports) {
|
|
|
14073
14105
|
return new DayTableModel(daySeries, false);
|
|
14074
14106
|
}
|
|
14075
14107
|
|
|
14108
|
+
var css_248z$2 = ".fc-v-event{background-color:var(--fc-event-bg-color);border:1px solid var(--fc-event-border-color);display:block}.fc-v-event .fc-event-main{color:var(--fc-event-text-color);height:100%}.fc-v-event .fc-event-main-frame{display:flex;flex-direction:column;height:100%}.fc-v-event .fc-event-time{flex-grow:0;flex-shrink:0;max-height:100%;overflow:hidden}.fc-v-event .fc-event-title-container{flex-grow:1;flex-shrink:1;min-height:0}.fc-v-event .fc-event-title{bottom:0;max-height:100%;overflow:hidden;top:0}.fc-v-event:not(.fc-event-start){border-top-left-radius:0;border-top-right-radius:0;border-top-width:0}.fc-v-event:not(.fc-event-end){border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-width:0}.fc-v-event.fc-event-selected:before{left:-10px;right:-10px}.fc-v-event .fc-event-resizer-start{cursor:n-resize}.fc-v-event .fc-event-resizer-end{cursor:s-resize}.fc-v-event:not(.fc-event-selected) .fc-event-resizer{height:var(--fc-event-resizer-thickness);left:0;right:0}.fc-v-event:not(.fc-event-selected) .fc-event-resizer-start{top:calc(var(--fc-event-resizer-thickness)/-2)}.fc-v-event:not(.fc-event-selected) .fc-event-resizer-end{bottom:calc(var(--fc-event-resizer-thickness)/-2)}.fc-v-event.fc-event-selected .fc-event-resizer{left:50%;margin-left:calc(var(--fc-event-resizer-dot-total-width)/-2)}.fc-v-event.fc-event-selected .fc-event-resizer-start{top:calc(var(--fc-event-resizer-dot-total-width)/-2)}.fc-v-event.fc-event-selected .fc-event-resizer-end{bottom:calc(var(--fc-event-resizer-dot-total-width)/-2)}.fc .fc-timegrid .fc-daygrid-body{z-index:2}.fc .fc-timegrid-divider{padding:0 0 2px}.fc .fc-timegrid-body{min-height:100%;position:relative;z-index:1}.fc .fc-timegrid-axis-chunk{position:relative}.fc .fc-timegrid-axis-chunk>table,.fc .fc-timegrid-slots{position:relative;z-index:1}.fc .fc-timegrid-slot{border-bottom:0;height:1.5em}.fc .fc-timegrid-slot:empty:before{content:\"\\00a0\"}.fc .fc-timegrid-slot-minor{border-top-style:dotted}.fc .fc-timegrid-slot-label-cushion{display:inline-block;white-space:nowrap}.fc .fc-timegrid-slot-label{vertical-align:middle}.fc .fc-timegrid-axis-cushion,.fc .fc-timegrid-slot-label-cushion{padding:0 4px}.fc .fc-timegrid-axis-frame-liquid{height:100%}.fc .fc-timegrid-axis-frame{align-items:center;display:flex;justify-content:flex-end;overflow:hidden}.fc .fc-timegrid-axis-cushion{flex-shrink:0;max-width:60px}.fc-direction-ltr .fc-timegrid-slot-label-frame{text-align:right}.fc-direction-rtl .fc-timegrid-slot-label-frame{text-align:left}.fc-liquid-hack .fc-timegrid-axis-frame-liquid{bottom:0;height:auto;left:0;position:absolute;right:0;top:0}.fc .fc-timegrid-col.fc-day-today{background-color:var(--fc-today-bg-color)}.fc .fc-timegrid-col-frame{min-height:100%;position:relative}.fc-media-screen.fc-liquid-hack .fc-timegrid-col-frame{bottom:0;height:auto;left:0;position:absolute;right:0;top:0}.fc-media-screen .fc-timegrid-cols{bottom:0;left:0;position:absolute;right:0;top:0}.fc-media-screen .fc-timegrid-cols>table{height:100%}.fc-media-screen .fc-timegrid-col-bg,.fc-media-screen .fc-timegrid-col-events,.fc-media-screen .fc-timegrid-now-indicator-container{left:0;position:absolute;right:0;top:0}.fc .fc-timegrid-col-bg{z-index:2}.fc .fc-timegrid-col-bg .fc-non-business{z-index:1}.fc .fc-timegrid-col-bg .fc-bg-event{z-index:2}.fc .fc-timegrid-col-bg .fc-highlight{z-index:3}.fc .fc-timegrid-bg-harness{left:0;position:absolute;right:0}.fc .fc-timegrid-col-events{z-index:3}.fc .fc-timegrid-now-indicator-container{bottom:0;overflow:hidden}.fc-direction-ltr .fc-timegrid-col-events{margin:0 2.5% 0 2px}.fc-direction-rtl .fc-timegrid-col-events{margin:0 2px 0 2.5%}.fc-timegrid-event-harness{position:absolute}.fc-timegrid-event-harness>.fc-timegrid-event{bottom:0;left:0;position:absolute;right:0;top:0}.fc-timegrid-event-harness-inset .fc-timegrid-event,.fc-timegrid-event.fc-event-mirror,.fc-timegrid-more-link{box-shadow:0 0 0 1px var(--fc-page-bg-color)}.fc-timegrid-event,.fc-timegrid-more-link{border-radius:3px;font-size:var(--fc-small-font-size)}.fc-timegrid-event{margin-bottom:1px}.fc-timegrid-event .fc-event-main{padding:1px 1px 0}.fc-timegrid-event .fc-event-time{font-size:var(--fc-small-font-size);margin-bottom:1px;white-space:nowrap}.fc-timegrid-event-short .fc-event-main-frame{flex-direction:row;overflow:hidden}.fc-timegrid-event-short .fc-event-time:after{content:\"\\00a0-\\00a0\"}.fc-timegrid-event-short .fc-event-title{font-size:var(--fc-small-font-size)}.fc-timegrid-more-link{background:var(--fc-more-link-bg-color);color:var(--fc-more-link-text-color);cursor:pointer;margin-bottom:1px;position:absolute;z-index:9999}.fc-timegrid-more-link-inner{padding:3px 2px;top:0}.fc-direction-ltr .fc-timegrid-more-link{right:0}.fc-direction-rtl .fc-timegrid-more-link{left:0}.fc .fc-timegrid-now-indicator-line{border-color:var(--fc-now-indicator-color);border-style:solid;border-width:1px 0 0;left:0;position:absolute;right:0;z-index:4}.fc .fc-timegrid-now-indicator-arrow{border-color:var(--fc-now-indicator-color);border-style:solid;margin-top:-5px;position:absolute;z-index:4}.fc-direction-ltr .fc-timegrid-now-indicator-arrow{border-bottom-color:transparent;border-top-color:transparent;border-width:5px 0 5px 6px;left:0}.fc-direction-rtl .fc-timegrid-now-indicator-arrow{border-bottom-color:transparent;border-top-color:transparent;border-width:5px 6px 5px 0;right:0}";
|
|
14109
|
+
injectStyles(css_248z$2);
|
|
14110
|
+
|
|
14076
14111
|
const OPTION_REFINERS$2 = {
|
|
14077
14112
|
allDaySlot: Boolean,
|
|
14078
14113
|
};
|