@fullcalendar/resource-timegrid 7.0.0-beta.4 → 7.0.0-beta.5
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/LICENSE.md +2 -2
- package/{index.cjs → cjs/index.cjs} +17 -14
- package/{internal.cjs → cjs/internal.cjs} +46 -46
- package/{index.js → esm/index.js} +14 -12
- package/{internal.js → esm/internal.js} +19 -19
- package/{index.global.js → global.js} +22 -20
- package/global.min.js +6 -0
- package/package.json +27 -24
- package/index.global.min.js +0 -6
- /package/{index.d.ts → esm/index.d.ts} +0 -0
- /package/{internal.d.ts → esm/internal.d.ts} +0 -0
package/LICENSE.md
CHANGED
|
@@ -13,6 +13,6 @@ one of three licenses to use. Here is a summary of those licenses:
|
|
|
13
13
|
(intended for trial and non-commercial use)
|
|
14
14
|
https://creativecommons.org/licenses/by-nc-nd/4.0/
|
|
15
15
|
|
|
16
|
-
-
|
|
16
|
+
- AGPLv3 License
|
|
17
17
|
(intended for open-source projects)
|
|
18
|
-
|
|
18
|
+
https://www.gnu.org/licenses/agpl-3.0.en.html
|
|
@@ -2,31 +2,34 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
6
|
-
var premiumCommonPlugin = require('@fullcalendar/premium-common
|
|
7
|
-
var
|
|
8
|
-
var
|
|
5
|
+
var core = require('@fullcalendar/core');
|
|
6
|
+
var premiumCommonPlugin = require('@fullcalendar/premium-common');
|
|
7
|
+
var timeGridPlugin = require('@fullcalendar/timegrid');
|
|
8
|
+
var resourcePlugin = require('@fullcalendar/resource');
|
|
9
|
+
var resourceDayGridPlugin = require('@fullcalendar/resource-daygrid');
|
|
9
10
|
var internalCommon = require('./internal.cjs');
|
|
10
|
-
require('@fullcalendar/core/internal
|
|
11
|
-
require('@fullcalendar/core/preact
|
|
12
|
-
require('@fullcalendar/daygrid/internal
|
|
13
|
-
require('@fullcalendar/resource-daygrid/internal
|
|
14
|
-
require('@fullcalendar/resource/internal
|
|
15
|
-
require('@fullcalendar/timegrid/internal
|
|
11
|
+
require('@fullcalendar/core/internal');
|
|
12
|
+
require('@fullcalendar/core/preact');
|
|
13
|
+
require('@fullcalendar/daygrid/internal');
|
|
14
|
+
require('@fullcalendar/resource-daygrid/internal');
|
|
15
|
+
require('@fullcalendar/resource/internal');
|
|
16
|
+
require('@fullcalendar/timegrid/internal');
|
|
16
17
|
|
|
17
18
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
18
19
|
|
|
19
20
|
var premiumCommonPlugin__default = /*#__PURE__*/_interopDefaultLegacy(premiumCommonPlugin);
|
|
20
|
-
var resourcePlugin__default = /*#__PURE__*/_interopDefaultLegacy(resourcePlugin);
|
|
21
21
|
var timeGridPlugin__default = /*#__PURE__*/_interopDefaultLegacy(timeGridPlugin);
|
|
22
|
+
var resourcePlugin__default = /*#__PURE__*/_interopDefaultLegacy(resourcePlugin);
|
|
23
|
+
var resourceDayGridPlugin__default = /*#__PURE__*/_interopDefaultLegacy(resourceDayGridPlugin);
|
|
22
24
|
|
|
23
|
-
var index =
|
|
25
|
+
var index = core.createPlugin({
|
|
24
26
|
name: '@fullcalendar/resource-timegrid',
|
|
25
|
-
premiumReleaseDate: '2025-
|
|
27
|
+
premiumReleaseDate: '2025-12-20',
|
|
26
28
|
deps: [
|
|
27
29
|
premiumCommonPlugin__default["default"],
|
|
28
|
-
resourcePlugin__default["default"],
|
|
29
30
|
timeGridPlugin__default["default"],
|
|
31
|
+
resourcePlugin__default["default"],
|
|
32
|
+
resourceDayGridPlugin__default["default"],
|
|
30
33
|
],
|
|
31
34
|
initialView: 'resourceTimeGridDay',
|
|
32
35
|
views: {
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
var
|
|
5
|
+
var internal$1 = require('@fullcalendar/core/internal');
|
|
6
|
+
var preact = require('@fullcalendar/core/preact');
|
|
7
|
+
var internal$3 = require('@fullcalendar/daygrid/internal');
|
|
8
|
+
var internal$2 = require('@fullcalendar/resource-daygrid/internal');
|
|
9
|
+
var internal = require('@fullcalendar/resource/internal');
|
|
10
|
+
var internal$4 = require('@fullcalendar/timegrid/internal');
|
|
11
11
|
|
|
12
|
-
class ResourceDayTimeColsJoiner extends
|
|
12
|
+
class ResourceDayTimeColsJoiner extends internal.VResourceJoiner {
|
|
13
13
|
transformSeg(seg, resourceDayTable, resourceI) {
|
|
14
14
|
return [
|
|
15
15
|
Object.assign(Object.assign({}, seg), { col: resourceDayTable.computeCol(seg.col, resourceI) }),
|
|
@@ -17,33 +17,33 @@ class ResourceDayTimeColsJoiner extends internal_cjs.VResourceJoiner {
|
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
class ResourceTimeGridView extends
|
|
20
|
+
class ResourceTimeGridView extends internal$1.DateComponent {
|
|
21
21
|
constructor() {
|
|
22
22
|
super(...arguments);
|
|
23
23
|
// memo
|
|
24
|
-
this.flattenResources =
|
|
25
|
-
this.buildResourceTimeColsModel =
|
|
26
|
-
this.buildResourceRowConfigs =
|
|
27
|
-
this.createDayHeaderFormatter =
|
|
24
|
+
this.flattenResources = internal$1.memoize(internal.flattenResources);
|
|
25
|
+
this.buildResourceTimeColsModel = internal$1.memoize(buildResourceTimeColsModel);
|
|
26
|
+
this.buildResourceRowConfigs = internal$1.memoize(internal$2.buildResourceRowConfigs);
|
|
27
|
+
this.createDayHeaderFormatter = internal$1.memoize(internal$3.createDayHeaderFormatter);
|
|
28
28
|
// internal
|
|
29
|
-
this.allDaySplitter = new
|
|
29
|
+
this.allDaySplitter = new internal$4.AllDaySplitter();
|
|
30
30
|
// for all-day-resource props
|
|
31
|
-
this.allDayResourceSplitter = new
|
|
31
|
+
this.allDayResourceSplitter = new internal.VResourceSplitter();
|
|
32
32
|
this.allDayResourceSlicers = {};
|
|
33
|
-
this.allDayResourceJoiner = new
|
|
33
|
+
this.allDayResourceJoiner = new internal$2.ResourceDayTableJoiner();
|
|
34
34
|
// for timed resource props
|
|
35
|
-
this.buildDayRanges =
|
|
36
|
-
this.timedResourceSplitter = new
|
|
35
|
+
this.buildDayRanges = internal$1.memoize(internal$4.buildDayRanges);
|
|
36
|
+
this.timedResourceSplitter = new internal.VResourceSplitter();
|
|
37
37
|
this.timedResourceSlicers = {};
|
|
38
38
|
this.timedResourceJoiner = new ResourceDayTimeColsJoiner();
|
|
39
39
|
// timed-only column splitting
|
|
40
|
-
this.splitFgEventSegs =
|
|
41
|
-
this.splitBgEventSegs =
|
|
42
|
-
this.splitBusinessHourSegs =
|
|
43
|
-
this.splitNowIndicatorSegs =
|
|
44
|
-
this.splitDateSelectionSegs =
|
|
45
|
-
this.splitEventDrag =
|
|
46
|
-
this.splitEventResize =
|
|
40
|
+
this.splitFgEventSegs = internal$1.memoize(internal$4.organizeSegsByCol);
|
|
41
|
+
this.splitBgEventSegs = internal$1.memoize(internal$4.organizeSegsByCol);
|
|
42
|
+
this.splitBusinessHourSegs = internal$1.memoize(internal$4.organizeSegsByCol);
|
|
43
|
+
this.splitNowIndicatorSegs = internal$1.memoize(internal$4.organizeSegsByCol);
|
|
44
|
+
this.splitDateSelectionSegs = internal$1.memoize(internal$4.organizeSegsByCol);
|
|
45
|
+
this.splitEventDrag = internal$1.memoize(internal$4.splitInteractionByCol);
|
|
46
|
+
this.splitEventResize = internal$1.memoize(internal$4.splitInteractionByCol);
|
|
47
47
|
this.isHitComboAllowed = (hit0, hit1) => {
|
|
48
48
|
let allowAcrossResources = this.dayRanges.length === 1;
|
|
49
49
|
return allowAcrossResources || hit0.dateSpan.resourceId === hit1.dateSpan.resourceId;
|
|
@@ -53,7 +53,7 @@ class ResourceTimeGridView extends internal_cjs$1.DateComponent {
|
|
|
53
53
|
let { props, context } = this;
|
|
54
54
|
let { options, dateEnv } = context;
|
|
55
55
|
let { dateProfile } = props;
|
|
56
|
-
let resourceOrderSpecs = options.resourceOrder ||
|
|
56
|
+
let resourceOrderSpecs = options.resourceOrder || internal.DEFAULT_RESOURCE_ORDER;
|
|
57
57
|
let resources = this.flattenResources(props.resourceStore, resourceOrderSpecs);
|
|
58
58
|
let resourceDayTableModel = this.buildResourceTimeColsModel(dateProfile, context.dateProfileGenerator, resources, options.datesAboveResources, context);
|
|
59
59
|
// split seg by all-day/timed
|
|
@@ -69,8 +69,8 @@ class ResourceTimeGridView extends internal_cjs$1.DateComponent {
|
|
|
69
69
|
eventResize: splitProps.allDay.eventResize,
|
|
70
70
|
resourceDayTableModel,
|
|
71
71
|
});
|
|
72
|
-
this.allDayResourceSlicers =
|
|
73
|
-
let allDayResourceSlicedProps =
|
|
72
|
+
this.allDayResourceSlicers = internal$1.mapHash(allDayResourceSplitProps, (split, resourceId) => this.allDayResourceSlicers[resourceId] || new internal$3.DayTableSlicer());
|
|
73
|
+
let allDayResourceSlicedProps = internal$1.mapHash(this.allDayResourceSlicers, (slicer, resourceId) => slicer.sliceProps(allDayResourceSplitProps[resourceId], dateProfile, options.nextDayThreshold, context, resourceDayTableModel.dayTableModel));
|
|
74
74
|
let allDayResourceJoinedProps = this.allDayResourceJoiner.joinProps(allDayResourceSlicedProps, resourceDayTableModel);
|
|
75
75
|
// split the timed segs by resource
|
|
76
76
|
let dayRanges = this.dayRanges = this.buildDayRanges(resourceDayTableModel.dayTableModel, dateProfile, dateEnv);
|
|
@@ -84,29 +84,29 @@ class ResourceTimeGridView extends internal_cjs$1.DateComponent {
|
|
|
84
84
|
eventResize: splitProps.timed.eventResize,
|
|
85
85
|
resourceDayTableModel,
|
|
86
86
|
});
|
|
87
|
-
this.timedResourceSlicers =
|
|
88
|
-
let timedResourceSlicedProps =
|
|
87
|
+
this.timedResourceSlicers = internal$1.mapHash(timedResourceSplitProps, (split, resourceId) => this.timedResourceSlicers[resourceId] || new internal$4.DayTimeColsSlicer());
|
|
88
|
+
let timedResourceSlicedProps = internal$1.mapHash(this.timedResourceSlicers, (slicer, resourceId) => slicer.sliceProps(timedResourceSplitProps[resourceId], dateProfile, null, context, dayRanges));
|
|
89
89
|
let timedResourceJoinedProps = this.timedResourceJoiner.joinProps(timedResourceSlicedProps, resourceDayTableModel);
|
|
90
|
-
let datesRepDistinctDays = resourceDayTableModel.dayTableModel.
|
|
91
|
-
let dayHeaderFormat = this.createDayHeaderFormatter(context.options.dayHeaderFormat, datesRepDistinctDays, resourceDayTableModel.
|
|
92
|
-
return (
|
|
90
|
+
let datesRepDistinctDays = resourceDayTableModel.dayTableModel.rowCount === 1;
|
|
91
|
+
let dayHeaderFormat = this.createDayHeaderFormatter(context.options.dayHeaderFormat, datesRepDistinctDays, resourceDayTableModel.colCount);
|
|
92
|
+
return (preact.createElement(internal$1.NowTimer, { unit: options.nowIndicator ? 'minute' : 'day' /* hacky */ }, (nowDate, todayRange) => {
|
|
93
93
|
// timed-only column splitting
|
|
94
|
-
let
|
|
95
|
-
let fgEventSegsByCol = this.splitFgEventSegs(timedResourceJoinedProps.fgEventSegs,
|
|
96
|
-
let bgEventSegsByCol = this.splitBgEventSegs(timedResourceJoinedProps.bgEventSegs,
|
|
97
|
-
let businessHourSegsByCol = this.splitBusinessHourSegs(timedResourceJoinedProps.businessHourSegs,
|
|
94
|
+
let colCount = resourceDayTableModel.colCount;
|
|
95
|
+
let fgEventSegsByCol = this.splitFgEventSegs(timedResourceJoinedProps.fgEventSegs, colCount);
|
|
96
|
+
let bgEventSegsByCol = this.splitBgEventSegs(timedResourceJoinedProps.bgEventSegs, colCount);
|
|
97
|
+
let businessHourSegsByCol = this.splitBusinessHourSegs(timedResourceJoinedProps.businessHourSegs, colCount);
|
|
98
98
|
let nowIndicatorSegsByCol = this.splitNowIndicatorSegs((() => {
|
|
99
99
|
// was buildNowIndicatorSegs
|
|
100
100
|
let nonResourceSegs = options.nowIndicator
|
|
101
101
|
? this.timedResourceSlicers[''].sliceNowDate(nowDate, this.props.dateProfile, this.context.options.nextDayThreshold, this.context, this.dayRanges)
|
|
102
102
|
: []; // TODO: breaks memoization?
|
|
103
103
|
return this.timedResourceJoiner.expandSegs(resourceDayTableModel, nonResourceSegs);
|
|
104
|
-
})(),
|
|
105
|
-
let dateSelectionSegsByCol = this.splitDateSelectionSegs(timedResourceJoinedProps.dateSelectionSegs,
|
|
106
|
-
let eventDragByCol = this.splitEventDrag(timedResourceJoinedProps.eventDrag,
|
|
107
|
-
let eventResizeByCol = this.splitEventResize(timedResourceJoinedProps.eventResize,
|
|
104
|
+
})(), colCount);
|
|
105
|
+
let dateSelectionSegsByCol = this.splitDateSelectionSegs(timedResourceJoinedProps.dateSelectionSegs, colCount);
|
|
106
|
+
let eventDragByCol = this.splitEventDrag(timedResourceJoinedProps.eventDrag, colCount);
|
|
107
|
+
let eventResizeByCol = this.splitEventResize(timedResourceJoinedProps.eventResize, colCount);
|
|
108
108
|
const headerTiers = this.buildResourceRowConfigs(resources, options.datesAboveResources, resourceDayTableModel.dayTableModel.headerDates, datesRepDistinctDays, props.dateProfile, todayRange, dayHeaderFormat, context);
|
|
109
|
-
return (
|
|
109
|
+
return (preact.createElement(internal$4.TimeGridLayout, { labelId: props.labelId, labelStr: props.labelStr, dateProfile: dateProfile, nowDate: nowDate, todayRange: todayRange, cells: resourceDayTableModel.cells[0], forPrint: props.forPrint, isHitComboAllowed: this.isHitComboAllowed, className: props.className,
|
|
110
110
|
// header content
|
|
111
111
|
headerTiers: headerTiers,
|
|
112
112
|
// all-day content
|
|
@@ -114,7 +114,7 @@ class ResourceTimeGridView extends internal_cjs$1.DateComponent {
|
|
|
114
114
|
// timed content
|
|
115
115
|
fgEventSegsByCol: fgEventSegsByCol, bgEventSegsByCol: bgEventSegsByCol, businessHourSegsByCol: businessHourSegsByCol, nowIndicatorSegsByCol: nowIndicatorSegsByCol, dateSelectionSegsByCol: dateSelectionSegsByCol, eventDragByCol: eventDragByCol, eventResizeByCol: eventResizeByCol,
|
|
116
116
|
// universal content
|
|
117
|
-
eventSelection: allDayResourceJoinedProps.eventSelection }));
|
|
117
|
+
eventSelection: allDayResourceJoinedProps.eventSelection || splitProps.timed.eventSelection, borderlessX: props.borderlessX, borderlessTop: props.borderlessTop, borderlessBottom: props.borderlessBottom, noEdgeEffects: props.noEdgeEffects }));
|
|
118
118
|
}));
|
|
119
119
|
}
|
|
120
120
|
}
|
|
@@ -122,13 +122,13 @@ class ResourceTimeGridView extends internal_cjs$1.DateComponent {
|
|
|
122
122
|
TODO: kill this and DayResourceTableModel/ResourceDayTableModel
|
|
123
123
|
*/
|
|
124
124
|
function buildResourceTimeColsModel(dateProfile, dateProfileGenerator, resources, datesAboveResources, context) {
|
|
125
|
-
let dayTable =
|
|
125
|
+
let dayTable = internal$4.buildTimeColsModel(dateProfile, dateProfileGenerator, context.dateEnv);
|
|
126
126
|
if (!resources.length) {
|
|
127
|
-
return new
|
|
127
|
+
return new internal.ResourcelessDayTableModel(dayTable);
|
|
128
128
|
}
|
|
129
129
|
return datesAboveResources ?
|
|
130
|
-
new
|
|
131
|
-
new
|
|
130
|
+
new internal.DayResourceTableModel(dayTable, resources, context) :
|
|
131
|
+
new internal.ResourceDayTableModel(dayTable, resources, context);
|
|
132
132
|
}
|
|
133
133
|
|
|
134
134
|
exports.ResourceTimeGridView = ResourceTimeGridView;
|
|
@@ -1,22 +1,24 @@
|
|
|
1
|
-
import { createPlugin } from '@fullcalendar/core
|
|
2
|
-
import premiumCommonPlugin from '@fullcalendar/premium-common
|
|
3
|
-
import
|
|
4
|
-
import
|
|
1
|
+
import { createPlugin } from '@fullcalendar/core';
|
|
2
|
+
import premiumCommonPlugin from '@fullcalendar/premium-common';
|
|
3
|
+
import timeGridPlugin from '@fullcalendar/timegrid';
|
|
4
|
+
import resourcePlugin from '@fullcalendar/resource';
|
|
5
|
+
import resourceDayGridPlugin from '@fullcalendar/resource-daygrid';
|
|
5
6
|
import { ResourceTimeGridView } from './internal.js';
|
|
6
|
-
import '@fullcalendar/core/internal
|
|
7
|
-
import '@fullcalendar/core/preact
|
|
8
|
-
import '@fullcalendar/daygrid/internal
|
|
9
|
-
import '@fullcalendar/resource-daygrid/internal
|
|
10
|
-
import '@fullcalendar/resource/internal
|
|
11
|
-
import '@fullcalendar/timegrid/internal
|
|
7
|
+
import '@fullcalendar/core/internal';
|
|
8
|
+
import '@fullcalendar/core/preact';
|
|
9
|
+
import '@fullcalendar/daygrid/internal';
|
|
10
|
+
import '@fullcalendar/resource-daygrid/internal';
|
|
11
|
+
import '@fullcalendar/resource/internal';
|
|
12
|
+
import '@fullcalendar/timegrid/internal';
|
|
12
13
|
|
|
13
14
|
var index = createPlugin({
|
|
14
15
|
name: '@fullcalendar/resource-timegrid',
|
|
15
|
-
premiumReleaseDate: '2025-
|
|
16
|
+
premiumReleaseDate: '2025-12-20',
|
|
16
17
|
deps: [
|
|
17
18
|
premiumCommonPlugin,
|
|
18
|
-
resourcePlugin,
|
|
19
19
|
timeGridPlugin,
|
|
20
|
+
resourcePlugin,
|
|
21
|
+
resourceDayGridPlugin,
|
|
20
22
|
],
|
|
21
23
|
initialView: 'resourceTimeGridDay',
|
|
22
24
|
views: {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { DateComponent, memoize, mapHash, NowTimer } from '@fullcalendar/core/internal
|
|
2
|
-
import { createElement } from '@fullcalendar/core/preact
|
|
3
|
-
import { createDayHeaderFormatter, DayTableSlicer } from '@fullcalendar/daygrid/internal
|
|
4
|
-
import { buildResourceRowConfigs, ResourceDayTableJoiner } from '@fullcalendar/resource-daygrid/internal
|
|
5
|
-
import { VResourceJoiner, flattenResources, VResourceSplitter, DEFAULT_RESOURCE_ORDER, ResourcelessDayTableModel, DayResourceTableModel, ResourceDayTableModel } from '@fullcalendar/resource/internal
|
|
6
|
-
import { AllDaySplitter, buildDayRanges, organizeSegsByCol, splitInteractionByCol, DayTimeColsSlicer, TimeGridLayout, buildTimeColsModel } from '@fullcalendar/timegrid/internal
|
|
1
|
+
import { DateComponent, memoize, mapHash, NowTimer } from '@fullcalendar/core/internal';
|
|
2
|
+
import { createElement } from '@fullcalendar/core/preact';
|
|
3
|
+
import { createDayHeaderFormatter, DayTableSlicer } from '@fullcalendar/daygrid/internal';
|
|
4
|
+
import { buildResourceRowConfigs, ResourceDayTableJoiner } from '@fullcalendar/resource-daygrid/internal';
|
|
5
|
+
import { VResourceJoiner, flattenResources, VResourceSplitter, DEFAULT_RESOURCE_ORDER, ResourcelessDayTableModel, DayResourceTableModel, ResourceDayTableModel } from '@fullcalendar/resource/internal';
|
|
6
|
+
import { AllDaySplitter, buildDayRanges, organizeSegsByCol, splitInteractionByCol, DayTimeColsSlicer, TimeGridLayout, buildTimeColsModel } from '@fullcalendar/timegrid/internal';
|
|
7
7
|
|
|
8
8
|
class ResourceDayTimeColsJoiner extends VResourceJoiner {
|
|
9
9
|
transformSeg(seg, resourceDayTable, resourceI) {
|
|
@@ -83,26 +83,26 @@ class ResourceTimeGridView extends DateComponent {
|
|
|
83
83
|
this.timedResourceSlicers = mapHash(timedResourceSplitProps, (split, resourceId) => this.timedResourceSlicers[resourceId] || new DayTimeColsSlicer());
|
|
84
84
|
let timedResourceSlicedProps = mapHash(this.timedResourceSlicers, (slicer, resourceId) => slicer.sliceProps(timedResourceSplitProps[resourceId], dateProfile, null, context, dayRanges));
|
|
85
85
|
let timedResourceJoinedProps = this.timedResourceJoiner.joinProps(timedResourceSlicedProps, resourceDayTableModel);
|
|
86
|
-
let datesRepDistinctDays = resourceDayTableModel.dayTableModel.
|
|
87
|
-
let dayHeaderFormat = this.createDayHeaderFormatter(context.options.dayHeaderFormat, datesRepDistinctDays, resourceDayTableModel.
|
|
86
|
+
let datesRepDistinctDays = resourceDayTableModel.dayTableModel.rowCount === 1;
|
|
87
|
+
let dayHeaderFormat = this.createDayHeaderFormatter(context.options.dayHeaderFormat, datesRepDistinctDays, resourceDayTableModel.colCount);
|
|
88
88
|
return (createElement(NowTimer, { unit: options.nowIndicator ? 'minute' : 'day' /* hacky */ }, (nowDate, todayRange) => {
|
|
89
89
|
// timed-only column splitting
|
|
90
|
-
let
|
|
91
|
-
let fgEventSegsByCol = this.splitFgEventSegs(timedResourceJoinedProps.fgEventSegs,
|
|
92
|
-
let bgEventSegsByCol = this.splitBgEventSegs(timedResourceJoinedProps.bgEventSegs,
|
|
93
|
-
let businessHourSegsByCol = this.splitBusinessHourSegs(timedResourceJoinedProps.businessHourSegs,
|
|
90
|
+
let colCount = resourceDayTableModel.colCount;
|
|
91
|
+
let fgEventSegsByCol = this.splitFgEventSegs(timedResourceJoinedProps.fgEventSegs, colCount);
|
|
92
|
+
let bgEventSegsByCol = this.splitBgEventSegs(timedResourceJoinedProps.bgEventSegs, colCount);
|
|
93
|
+
let businessHourSegsByCol = this.splitBusinessHourSegs(timedResourceJoinedProps.businessHourSegs, colCount);
|
|
94
94
|
let nowIndicatorSegsByCol = this.splitNowIndicatorSegs((() => {
|
|
95
95
|
// was buildNowIndicatorSegs
|
|
96
96
|
let nonResourceSegs = options.nowIndicator
|
|
97
97
|
? this.timedResourceSlicers[''].sliceNowDate(nowDate, this.props.dateProfile, this.context.options.nextDayThreshold, this.context, this.dayRanges)
|
|
98
98
|
: []; // TODO: breaks memoization?
|
|
99
99
|
return this.timedResourceJoiner.expandSegs(resourceDayTableModel, nonResourceSegs);
|
|
100
|
-
})(),
|
|
101
|
-
let dateSelectionSegsByCol = this.splitDateSelectionSegs(timedResourceJoinedProps.dateSelectionSegs,
|
|
102
|
-
let eventDragByCol = this.splitEventDrag(timedResourceJoinedProps.eventDrag,
|
|
103
|
-
let eventResizeByCol = this.splitEventResize(timedResourceJoinedProps.eventResize,
|
|
100
|
+
})(), colCount);
|
|
101
|
+
let dateSelectionSegsByCol = this.splitDateSelectionSegs(timedResourceJoinedProps.dateSelectionSegs, colCount);
|
|
102
|
+
let eventDragByCol = this.splitEventDrag(timedResourceJoinedProps.eventDrag, colCount);
|
|
103
|
+
let eventResizeByCol = this.splitEventResize(timedResourceJoinedProps.eventResize, colCount);
|
|
104
104
|
const headerTiers = this.buildResourceRowConfigs(resources, options.datesAboveResources, resourceDayTableModel.dayTableModel.headerDates, datesRepDistinctDays, props.dateProfile, todayRange, dayHeaderFormat, context);
|
|
105
|
-
return (createElement(TimeGridLayout, { labelId: props.labelId, labelStr: props.labelStr, dateProfile: dateProfile, nowDate: nowDate, todayRange: todayRange, cells: resourceDayTableModel.cells[0], forPrint: props.forPrint, isHitComboAllowed: this.isHitComboAllowed, className:
|
|
105
|
+
return (createElement(TimeGridLayout, { labelId: props.labelId, labelStr: props.labelStr, dateProfile: dateProfile, nowDate: nowDate, todayRange: todayRange, cells: resourceDayTableModel.cells[0], forPrint: props.forPrint, isHitComboAllowed: this.isHitComboAllowed, className: props.className,
|
|
106
106
|
// header content
|
|
107
107
|
headerTiers: headerTiers,
|
|
108
108
|
// all-day content
|
|
@@ -110,7 +110,7 @@ class ResourceTimeGridView extends DateComponent {
|
|
|
110
110
|
// timed content
|
|
111
111
|
fgEventSegsByCol: fgEventSegsByCol, bgEventSegsByCol: bgEventSegsByCol, businessHourSegsByCol: businessHourSegsByCol, nowIndicatorSegsByCol: nowIndicatorSegsByCol, dateSelectionSegsByCol: dateSelectionSegsByCol, eventDragByCol: eventDragByCol, eventResizeByCol: eventResizeByCol,
|
|
112
112
|
// universal content
|
|
113
|
-
eventSelection: allDayResourceJoinedProps.eventSelection }));
|
|
113
|
+
eventSelection: allDayResourceJoinedProps.eventSelection || splitProps.timed.eventSelection, borderlessX: props.borderlessX, borderlessTop: props.borderlessTop, borderlessBottom: props.borderlessBottom, noEdgeEffects: props.noEdgeEffects }));
|
|
114
114
|
}));
|
|
115
115
|
}
|
|
116
116
|
}
|
|
@@ -118,7 +118,7 @@ class ResourceTimeGridView extends DateComponent {
|
|
|
118
118
|
TODO: kill this and DayResourceTableModel/ResourceDayTableModel
|
|
119
119
|
*/
|
|
120
120
|
function buildResourceTimeColsModel(dateProfile, dateProfileGenerator, resources, datesAboveResources, context) {
|
|
121
|
-
let dayTable = buildTimeColsModel(dateProfile, dateProfileGenerator);
|
|
121
|
+
let dayTable = buildTimeColsModel(dateProfile, dateProfileGenerator, context.dateEnv);
|
|
122
122
|
if (!resources.length) {
|
|
123
123
|
return new ResourcelessDayTableModel(dayTable);
|
|
124
124
|
}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
FullCalendar Resource Time Grid Plugin v7.0.0-beta.
|
|
2
|
+
FullCalendar Resource Time Grid Plugin v7.0.0-beta.5
|
|
3
3
|
Docs & License: https://fullcalendar.io/docs/vertical-resource-view
|
|
4
|
-
(c)
|
|
4
|
+
(c) 2025 Adam Shaw
|
|
5
5
|
*/
|
|
6
|
-
FullCalendar.ResourceTimeGrid = (function (exports, core, premiumCommonPlugin, resourcePlugin,
|
|
6
|
+
FullCalendar.ResourceTimeGrid = (function (exports, core, premiumCommonPlugin, timeGridPlugin, resourcePlugin, resourceDayGridPlugin, internal$2, preact, internal$4, internal$3, internal$1, internal$5) {
|
|
7
7
|
'use strict';
|
|
8
8
|
|
|
9
9
|
function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
|
|
10
10
|
|
|
11
11
|
var premiumCommonPlugin__default = /*#__PURE__*/_interopDefault(premiumCommonPlugin);
|
|
12
|
-
var resourcePlugin__default = /*#__PURE__*/_interopDefault(resourcePlugin);
|
|
13
12
|
var timeGridPlugin__default = /*#__PURE__*/_interopDefault(timeGridPlugin);
|
|
13
|
+
var resourcePlugin__default = /*#__PURE__*/_interopDefault(resourcePlugin);
|
|
14
|
+
var resourceDayGridPlugin__default = /*#__PURE__*/_interopDefault(resourceDayGridPlugin);
|
|
14
15
|
|
|
15
16
|
class ResourceDayTimeColsJoiner extends internal$1.VResourceJoiner {
|
|
16
17
|
transformSeg(seg, resourceDayTable, resourceI) {
|
|
@@ -90,26 +91,26 @@ FullCalendar.ResourceTimeGrid = (function (exports, core, premiumCommonPlugin, r
|
|
|
90
91
|
this.timedResourceSlicers = internal$2.mapHash(timedResourceSplitProps, (split, resourceId) => this.timedResourceSlicers[resourceId] || new internal$5.DayTimeColsSlicer());
|
|
91
92
|
let timedResourceSlicedProps = internal$2.mapHash(this.timedResourceSlicers, (slicer, resourceId) => slicer.sliceProps(timedResourceSplitProps[resourceId], dateProfile, null, context, dayRanges));
|
|
92
93
|
let timedResourceJoinedProps = this.timedResourceJoiner.joinProps(timedResourceSlicedProps, resourceDayTableModel);
|
|
93
|
-
let datesRepDistinctDays = resourceDayTableModel.dayTableModel.
|
|
94
|
-
let dayHeaderFormat = this.createDayHeaderFormatter(context.options.dayHeaderFormat, datesRepDistinctDays, resourceDayTableModel.
|
|
94
|
+
let datesRepDistinctDays = resourceDayTableModel.dayTableModel.rowCount === 1;
|
|
95
|
+
let dayHeaderFormat = this.createDayHeaderFormatter(context.options.dayHeaderFormat, datesRepDistinctDays, resourceDayTableModel.colCount);
|
|
95
96
|
return (preact.createElement(internal$2.NowTimer, { unit: options.nowIndicator ? 'minute' : 'day' /* hacky */ }, (nowDate, todayRange) => {
|
|
96
97
|
// timed-only column splitting
|
|
97
|
-
let
|
|
98
|
-
let fgEventSegsByCol = this.splitFgEventSegs(timedResourceJoinedProps.fgEventSegs,
|
|
99
|
-
let bgEventSegsByCol = this.splitBgEventSegs(timedResourceJoinedProps.bgEventSegs,
|
|
100
|
-
let businessHourSegsByCol = this.splitBusinessHourSegs(timedResourceJoinedProps.businessHourSegs,
|
|
98
|
+
let colCount = resourceDayTableModel.colCount;
|
|
99
|
+
let fgEventSegsByCol = this.splitFgEventSegs(timedResourceJoinedProps.fgEventSegs, colCount);
|
|
100
|
+
let bgEventSegsByCol = this.splitBgEventSegs(timedResourceJoinedProps.bgEventSegs, colCount);
|
|
101
|
+
let businessHourSegsByCol = this.splitBusinessHourSegs(timedResourceJoinedProps.businessHourSegs, colCount);
|
|
101
102
|
let nowIndicatorSegsByCol = this.splitNowIndicatorSegs((() => {
|
|
102
103
|
// was buildNowIndicatorSegs
|
|
103
104
|
let nonResourceSegs = options.nowIndicator
|
|
104
105
|
? this.timedResourceSlicers[''].sliceNowDate(nowDate, this.props.dateProfile, this.context.options.nextDayThreshold, this.context, this.dayRanges)
|
|
105
106
|
: []; // TODO: breaks memoization?
|
|
106
107
|
return this.timedResourceJoiner.expandSegs(resourceDayTableModel, nonResourceSegs);
|
|
107
|
-
})(),
|
|
108
|
-
let dateSelectionSegsByCol = this.splitDateSelectionSegs(timedResourceJoinedProps.dateSelectionSegs,
|
|
109
|
-
let eventDragByCol = this.splitEventDrag(timedResourceJoinedProps.eventDrag,
|
|
110
|
-
let eventResizeByCol = this.splitEventResize(timedResourceJoinedProps.eventResize,
|
|
108
|
+
})(), colCount);
|
|
109
|
+
let dateSelectionSegsByCol = this.splitDateSelectionSegs(timedResourceJoinedProps.dateSelectionSegs, colCount);
|
|
110
|
+
let eventDragByCol = this.splitEventDrag(timedResourceJoinedProps.eventDrag, colCount);
|
|
111
|
+
let eventResizeByCol = this.splitEventResize(timedResourceJoinedProps.eventResize, colCount);
|
|
111
112
|
const headerTiers = this.buildResourceRowConfigs(resources, options.datesAboveResources, resourceDayTableModel.dayTableModel.headerDates, datesRepDistinctDays, props.dateProfile, todayRange, dayHeaderFormat, context);
|
|
112
|
-
return (preact.createElement(internal$5.TimeGridLayout, { labelId: props.labelId, labelStr: props.labelStr, dateProfile: dateProfile, nowDate: nowDate, todayRange: todayRange, cells: resourceDayTableModel.cells[0], forPrint: props.forPrint, isHitComboAllowed: this.isHitComboAllowed, className:
|
|
113
|
+
return (preact.createElement(internal$5.TimeGridLayout, { labelId: props.labelId, labelStr: props.labelStr, dateProfile: dateProfile, nowDate: nowDate, todayRange: todayRange, cells: resourceDayTableModel.cells[0], forPrint: props.forPrint, isHitComboAllowed: this.isHitComboAllowed, className: props.className,
|
|
113
114
|
// header content
|
|
114
115
|
headerTiers: headerTiers,
|
|
115
116
|
// all-day content
|
|
@@ -117,7 +118,7 @@ FullCalendar.ResourceTimeGrid = (function (exports, core, premiumCommonPlugin, r
|
|
|
117
118
|
// timed content
|
|
118
119
|
fgEventSegsByCol: fgEventSegsByCol, bgEventSegsByCol: bgEventSegsByCol, businessHourSegsByCol: businessHourSegsByCol, nowIndicatorSegsByCol: nowIndicatorSegsByCol, dateSelectionSegsByCol: dateSelectionSegsByCol, eventDragByCol: eventDragByCol, eventResizeByCol: eventResizeByCol,
|
|
119
120
|
// universal content
|
|
120
|
-
eventSelection: allDayResourceJoinedProps.eventSelection }));
|
|
121
|
+
eventSelection: allDayResourceJoinedProps.eventSelection || splitProps.timed.eventSelection, borderlessX: props.borderlessX, borderlessTop: props.borderlessTop, borderlessBottom: props.borderlessBottom, noEdgeEffects: props.noEdgeEffects }));
|
|
121
122
|
}));
|
|
122
123
|
}
|
|
123
124
|
}
|
|
@@ -125,7 +126,7 @@ FullCalendar.ResourceTimeGrid = (function (exports, core, premiumCommonPlugin, r
|
|
|
125
126
|
TODO: kill this and DayResourceTableModel/ResourceDayTableModel
|
|
126
127
|
*/
|
|
127
128
|
function buildResourceTimeColsModel(dateProfile, dateProfileGenerator, resources, datesAboveResources, context) {
|
|
128
|
-
let dayTable = internal$5.buildTimeColsModel(dateProfile, dateProfileGenerator);
|
|
129
|
+
let dayTable = internal$5.buildTimeColsModel(dateProfile, dateProfileGenerator, context.dateEnv);
|
|
129
130
|
if (!resources.length) {
|
|
130
131
|
return new internal$1.ResourcelessDayTableModel(dayTable);
|
|
131
132
|
}
|
|
@@ -136,11 +137,12 @@ FullCalendar.ResourceTimeGrid = (function (exports, core, premiumCommonPlugin, r
|
|
|
136
137
|
|
|
137
138
|
var plugin = core.createPlugin({
|
|
138
139
|
name: '@fullcalendar/resource-timegrid',
|
|
139
|
-
premiumReleaseDate: '2025-
|
|
140
|
+
premiumReleaseDate: '2025-12-20',
|
|
140
141
|
deps: [
|
|
141
142
|
premiumCommonPlugin__default["default"],
|
|
142
|
-
resourcePlugin__default["default"],
|
|
143
143
|
timeGridPlugin__default["default"],
|
|
144
|
+
resourcePlugin__default["default"],
|
|
145
|
+
resourceDayGridPlugin__default["default"],
|
|
144
146
|
],
|
|
145
147
|
initialView: 'resourceTimeGridDay',
|
|
146
148
|
views: {
|
|
@@ -174,4 +176,4 @@ FullCalendar.ResourceTimeGrid = (function (exports, core, premiumCommonPlugin, r
|
|
|
174
176
|
|
|
175
177
|
return exports;
|
|
176
178
|
|
|
177
|
-
})({}, FullCalendar, FullCalendar.PremiumCommon, FullCalendar.Resource, FullCalendar.
|
|
179
|
+
})({}, FullCalendar, FullCalendar.PremiumCommon, FullCalendar.TimeGrid, FullCalendar.Resource, FullCalendar.ResourceDayGrid, FullCalendar.Internal, FullCalendar.Preact, FullCalendar.DayGrid.Internal, FullCalendar.ResourceDayGrid.Internal, FullCalendar.Resource.Internal, FullCalendar.TimeGrid.Internal);
|
package/global.min.js
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
FullCalendar Resource Time Grid Plugin v7.0.0-beta.5
|
|
3
|
+
Docs & License: https://fullcalendar.io/docs/vertical-resource-view
|
|
4
|
+
(c) 2025 Adam Shaw
|
|
5
|
+
*/
|
|
6
|
+
FullCalendar.ResourceTimeGrid=function(e,t,s,i,l,r,o,a,n,d,u,c){"use strict";function m(e){return e&&e.__esModule?e:{default:e}}var g=m(s),S=m(i),y=m(l),R=m(r);class h extends u.VResourceJoiner{transformSeg(e,t,s){return[Object.assign(Object.assign({},e),{col:t.computeCol(e.col,s)})]}}class p extends o.DateComponent{constructor(){super(...arguments),this.flattenResources=o.memoize(u.flattenResources),this.buildResourceTimeColsModel=o.memoize(D),this.buildResourceRowConfigs=o.memoize(d.buildResourceRowConfigs),this.createDayHeaderFormatter=o.memoize(n.createDayHeaderFormatter),this.allDaySplitter=new c.AllDaySplitter,this.allDayResourceSplitter=new u.VResourceSplitter,this.allDayResourceSlicers={},this.allDayResourceJoiner=new d.ResourceDayTableJoiner,this.buildDayRanges=o.memoize(c.buildDayRanges),this.timedResourceSplitter=new u.VResourceSplitter,this.timedResourceSlicers={},this.timedResourceJoiner=new h,this.splitFgEventSegs=o.memoize(c.organizeSegsByCol),this.splitBgEventSegs=o.memoize(c.organizeSegsByCol),this.splitBusinessHourSegs=o.memoize(c.organizeSegsByCol),this.splitNowIndicatorSegs=o.memoize(c.organizeSegsByCol),this.splitDateSelectionSegs=o.memoize(c.organizeSegsByCol),this.splitEventDrag=o.memoize(c.splitInteractionByCol),this.splitEventResize=o.memoize(c.splitInteractionByCol),this.isHitComboAllowed=(e,t)=>1===this.dayRanges.length||e.dateSpan.resourceId===t.dateSpan.resourceId}render(){let{props:e,context:t}=this,{options:s,dateEnv:i}=t,{dateProfile:l}=e,r=s.resourceOrder||u.DEFAULT_RESOURCE_ORDER,d=this.flattenResources(e.resourceStore,r),m=this.buildResourceTimeColsModel(l,t.dateProfileGenerator,d,s.datesAboveResources,t),g=this.allDaySplitter.splitProps(e),S=this.allDayResourceSplitter.splitProps({businessHours:g.allDay.businessHours,dateSelection:g.allDay.dateSelection,eventStore:g.allDay.eventStore,eventUiBases:g.allDay.eventUiBases,eventSelection:g.allDay.eventSelection,eventDrag:g.allDay.eventDrag,eventResize:g.allDay.eventResize,resourceDayTableModel:m});this.allDayResourceSlicers=o.mapHash(S,(e,t)=>this.allDayResourceSlicers[t]||new n.DayTableSlicer);let y=o.mapHash(this.allDayResourceSlicers,(e,i)=>e.sliceProps(S[i],l,s.nextDayThreshold,t,m.dayTableModel)),R=this.allDayResourceJoiner.joinProps(y,m),h=this.dayRanges=this.buildDayRanges(m.dayTableModel,l,i),p=this.timedResourceSplitter.splitProps({businessHours:g.timed.businessHours,dateSelection:g.timed.dateSelection,eventStore:g.timed.eventStore,eventUiBases:g.timed.eventUiBases,eventSelection:g.timed.eventSelection,eventDrag:g.timed.eventDrag,eventResize:g.timed.eventResize,resourceDayTableModel:m});this.timedResourceSlicers=o.mapHash(p,(e,t)=>this.timedResourceSlicers[t]||new c.DayTimeColsSlicer);let D=o.mapHash(this.timedResourceSlicers,(e,s)=>e.sliceProps(p[s],l,null,t,h)),v=this.timedResourceJoiner.joinProps(D,m),b=1===m.dayTableModel.rowCount,C=this.createDayHeaderFormatter(t.options.dayHeaderFormat,b,m.colCount);return a.createElement(o.NowTimer,{unit:s.nowIndicator?"minute":"day"},(i,r)=>{let o=m.colCount,n=this.splitFgEventSegs(v.fgEventSegs,o),u=this.splitBgEventSegs(v.bgEventSegs,o),S=this.splitBusinessHourSegs(v.businessHourSegs,o),y=this.splitNowIndicatorSegs((()=>{let e=s.nowIndicator?this.timedResourceSlicers[""].sliceNowDate(i,this.props.dateProfile,this.context.options.nextDayThreshold,this.context,this.dayRanges):[];return this.timedResourceJoiner.expandSegs(m,e)})(),o),h=this.splitDateSelectionSegs(v.dateSelectionSegs,o),p=this.splitEventDrag(v.eventDrag,o),D=this.splitEventResize(v.eventResize,o);const f=this.buildResourceRowConfigs(d,s.datesAboveResources,m.dayTableModel.headerDates,b,e.dateProfile,r,C,t);return a.createElement(c.TimeGridLayout,{labelId:e.labelId,labelStr:e.labelStr,dateProfile:l,nowDate:i,todayRange:r,cells:m.cells[0],forPrint:e.forPrint,isHitComboAllowed:this.isHitComboAllowed,className:e.className,headerTiers:f,fgEventSegs:R.fgEventSegs,bgEventSegs:R.bgEventSegs,businessHourSegs:R.businessHourSegs,dateSelectionSegs:R.dateSelectionSegs,eventDrag:R.eventDrag,eventResize:R.eventResize,fgEventSegsByCol:n,bgEventSegsByCol:u,businessHourSegsByCol:S,nowIndicatorSegsByCol:y,dateSelectionSegsByCol:h,eventDragByCol:p,eventResizeByCol:D,eventSelection:R.eventSelection||g.timed.eventSelection,borderlessX:e.borderlessX,borderlessTop:e.borderlessTop,borderlessBottom:e.borderlessBottom,noEdgeEffects:e.noEdgeEffects})})}}function D(e,t,s,i,l){let r=c.buildTimeColsModel(e,t,l.dateEnv);return s.length?i?new u.DayResourceTableModel(r,s,l):new u.ResourceDayTableModel(r,s,l):new u.ResourcelessDayTableModel(r)}var v=t.createPlugin({name:"@fullcalendar/resource-timegrid",premiumReleaseDate:"2025-12-20",deps:[g.default,S.default,y.default,R.default],initialView:"resourceTimeGridDay",views:{resourceTimeGrid:{type:"timeGrid",component:p,needsResourceData:!0},resourceTimeGridDay:{type:"resourceTimeGrid",duration:{days:1}},resourceTimeGridWeek:{type:"resourceTimeGrid",duration:{weeks:1}}}}),b={__proto__:null,ResourceTimeGridView:p};return t.globalPlugins.push(v),e.Internal=b,e.default=v,Object.defineProperty(e,"__esModule",{value:!0}),e}({},FullCalendar,FullCalendar.PremiumCommon,FullCalendar.TimeGrid,FullCalendar.Resource,FullCalendar.ResourceDayGrid,FullCalendar.Internal,FullCalendar.Preact,FullCalendar.DayGrid.Internal,FullCalendar.ResourceDayGrid.Internal,FullCalendar.Resource.Internal,FullCalendar.TimeGrid.Internal);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fullcalendar/resource-timegrid",
|
|
3
|
-
"version": "7.0.0-beta.
|
|
3
|
+
"version": "7.0.0-beta.5",
|
|
4
4
|
"title": "FullCalendar Resource Time Grid Plugin",
|
|
5
5
|
"description": "Displays events on a vertical resource view with time slots",
|
|
6
6
|
"keywords": [
|
|
@@ -15,14 +15,14 @@
|
|
|
15
15
|
],
|
|
16
16
|
"homepage": "https://fullcalendar.io/docs/vertical-resource-view",
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@fullcalendar/daygrid": "7.0.0-beta.
|
|
19
|
-
"@fullcalendar/premium-common": "7.0.0-beta.
|
|
20
|
-
"@fullcalendar/resource-daygrid": "7.0.0-beta.
|
|
21
|
-
"@fullcalendar/timegrid": "7.0.0-beta.
|
|
18
|
+
"@fullcalendar/daygrid": "7.0.0-beta.5",
|
|
19
|
+
"@fullcalendar/premium-common": "7.0.0-beta.5",
|
|
20
|
+
"@fullcalendar/resource-daygrid": "7.0.0-beta.5",
|
|
21
|
+
"@fullcalendar/timegrid": "7.0.0-beta.5"
|
|
22
22
|
},
|
|
23
23
|
"peerDependencies": {
|
|
24
|
-
"@fullcalendar/core": "7.0.0-beta.
|
|
25
|
-
"@fullcalendar/resource": "7.0.0-beta.
|
|
24
|
+
"@fullcalendar/core": "7.0.0-beta.5",
|
|
25
|
+
"@fullcalendar/resource": "7.0.0-beta.5"
|
|
26
26
|
},
|
|
27
27
|
"type": "module",
|
|
28
28
|
"bugs": "https://fullcalendar.io/reporting-bugs",
|
|
@@ -37,28 +37,31 @@
|
|
|
37
37
|
"email": "arshaw@arshaw.com",
|
|
38
38
|
"url": "http://arshaw.com/"
|
|
39
39
|
},
|
|
40
|
-
"copyright": "
|
|
41
|
-
"types": "./index.d.ts",
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"unpkg": "./
|
|
45
|
-
"jsdelivr": "./
|
|
40
|
+
"copyright": "2025 Adam Shaw",
|
|
41
|
+
"types": "./esm/index.d.ts",
|
|
42
|
+
"module": "./esm/index.js",
|
|
43
|
+
"main": "./cjs/index.cjs",
|
|
44
|
+
"unpkg": "./global.min.js",
|
|
45
|
+
"jsdelivr": "./global.min.js",
|
|
46
46
|
"exports": {
|
|
47
47
|
"./package.json": "./package.json",
|
|
48
|
-
"./index.cjs": "./index.cjs",
|
|
49
|
-
"./index.js": "./index.js",
|
|
50
48
|
".": {
|
|
51
|
-
"
|
|
52
|
-
|
|
53
|
-
|
|
49
|
+
"import": {
|
|
50
|
+
"types": "./esm/index.d.ts",
|
|
51
|
+
"default": "./esm/index.js"
|
|
52
|
+
},
|
|
53
|
+
"require": "./cjs/index.cjs"
|
|
54
54
|
},
|
|
55
|
-
"./internal.cjs": "./internal.cjs",
|
|
56
|
-
"./internal.js": "./internal.js",
|
|
57
55
|
"./internal": {
|
|
58
|
-
"
|
|
59
|
-
|
|
60
|
-
|
|
56
|
+
"import": {
|
|
57
|
+
"types": "./esm/internal.d.ts",
|
|
58
|
+
"default": "./esm/internal.js"
|
|
59
|
+
},
|
|
60
|
+
"require": "./cjs/internal.cjs"
|
|
61
61
|
}
|
|
62
62
|
},
|
|
63
|
-
"sideEffects":
|
|
63
|
+
"sideEffects": [
|
|
64
|
+
"./global.js",
|
|
65
|
+
"./global.min.js"
|
|
66
|
+
]
|
|
64
67
|
}
|
package/index.global.min.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
FullCalendar Resource Time Grid Plugin v7.0.0-beta.4
|
|
3
|
-
Docs & License: https://fullcalendar.io/docs/vertical-resource-view
|
|
4
|
-
(c) 2024 Adam Shaw
|
|
5
|
-
*/
|
|
6
|
-
FullCalendar.ResourceTimeGrid=function(e,t,s,i,l,r,o,a,n,d,u){"use strict";function c(e){return e&&e.__esModule?e:{default:e}}var m=c(s),g=c(i),S=c(l);class y extends d.VResourceJoiner{transformSeg(e,t,s){return[Object.assign(Object.assign({},e),{col:t.computeCol(e.col,s)})]}}class h extends r.DateComponent{constructor(){super(...arguments),this.flattenResources=r.memoize(d.flattenResources),this.buildResourceTimeColsModel=r.memoize(R),this.buildResourceRowConfigs=r.memoize(n.buildResourceRowConfigs),this.createDayHeaderFormatter=r.memoize(a.createDayHeaderFormatter),this.allDaySplitter=new u.AllDaySplitter,this.allDayResourceSplitter=new d.VResourceSplitter,this.allDayResourceSlicers={},this.allDayResourceJoiner=new n.ResourceDayTableJoiner,this.buildDayRanges=r.memoize(u.buildDayRanges),this.timedResourceSplitter=new d.VResourceSplitter,this.timedResourceSlicers={},this.timedResourceJoiner=new y,this.splitFgEventSegs=r.memoize(u.organizeSegsByCol),this.splitBgEventSegs=r.memoize(u.organizeSegsByCol),this.splitBusinessHourSegs=r.memoize(u.organizeSegsByCol),this.splitNowIndicatorSegs=r.memoize(u.organizeSegsByCol),this.splitDateSelectionSegs=r.memoize(u.organizeSegsByCol),this.splitEventDrag=r.memoize(u.splitInteractionByCol),this.splitEventResize=r.memoize(u.splitInteractionByCol),this.isHitComboAllowed=(e,t)=>1===this.dayRanges.length||e.dateSpan.resourceId===t.dateSpan.resourceId}render(){let{props:e,context:t}=this,{options:s,dateEnv:i}=t,{dateProfile:l}=e,n=s.resourceOrder||d.DEFAULT_RESOURCE_ORDER,c=this.flattenResources(e.resourceStore,n),m=this.buildResourceTimeColsModel(l,t.dateProfileGenerator,c,s.datesAboveResources,t),g=this.allDaySplitter.splitProps(e),S=this.allDayResourceSplitter.splitProps({businessHours:g.allDay.businessHours,dateSelection:g.allDay.dateSelection,eventStore:g.allDay.eventStore,eventUiBases:g.allDay.eventUiBases,eventSelection:g.allDay.eventSelection,eventDrag:g.allDay.eventDrag,eventResize:g.allDay.eventResize,resourceDayTableModel:m});this.allDayResourceSlicers=r.mapHash(S,(e,t)=>this.allDayResourceSlicers[t]||new a.DayTableSlicer);let y=r.mapHash(this.allDayResourceSlicers,(e,i)=>e.sliceProps(S[i],l,s.nextDayThreshold,t,m.dayTableModel)),h=this.allDayResourceJoiner.joinProps(y,m),R=this.dayRanges=this.buildDayRanges(m.dayTableModel,l,i),p=this.timedResourceSplitter.splitProps({businessHours:g.timed.businessHours,dateSelection:g.timed.dateSelection,eventStore:g.timed.eventStore,eventUiBases:g.timed.eventUiBases,eventSelection:g.timed.eventSelection,eventDrag:g.timed.eventDrag,eventResize:g.timed.eventResize,resourceDayTableModel:m});this.timedResourceSlicers=r.mapHash(p,(e,t)=>this.timedResourceSlicers[t]||new u.DayTimeColsSlicer);let D=r.mapHash(this.timedResourceSlicers,(e,s)=>e.sliceProps(p[s],l,null,t,R)),v=this.timedResourceJoiner.joinProps(D,m),b=1===m.dayTableModel.rowCnt,C=this.createDayHeaderFormatter(t.options.dayHeaderFormat,b,m.colCnt);return o.createElement(r.NowTimer,{unit:s.nowIndicator?"minute":"day"},(i,r)=>{let a=m.colCnt,n=this.splitFgEventSegs(v.fgEventSegs,a),d=this.splitBgEventSegs(v.bgEventSegs,a),g=this.splitBusinessHourSegs(v.businessHourSegs,a),S=this.splitNowIndicatorSegs((()=>{let e=s.nowIndicator?this.timedResourceSlicers[""].sliceNowDate(i,this.props.dateProfile,this.context.options.nextDayThreshold,this.context,this.dayRanges):[];return this.timedResourceJoiner.expandSegs(m,e)})(),a),y=this.splitDateSelectionSegs(v.dateSelectionSegs,a),R=this.splitEventDrag(v.eventDrag,a),p=this.splitEventResize(v.eventResize,a);const D=this.buildResourceRowConfigs(c,s.datesAboveResources,m.dayTableModel.headerDates,b,e.dateProfile,r,C,t);return o.createElement(u.TimeGridLayout,{labelId:e.labelId,labelStr:e.labelStr,dateProfile:l,nowDate:i,todayRange:r,cells:m.cells[0],forPrint:e.forPrint,isHitComboAllowed:this.isHitComboAllowed,className:"fc-resource-timegrid-view",headerTiers:D,fgEventSegs:h.fgEventSegs,bgEventSegs:h.bgEventSegs,businessHourSegs:h.businessHourSegs,dateSelectionSegs:h.dateSelectionSegs,eventDrag:h.eventDrag,eventResize:h.eventResize,fgEventSegsByCol:n,bgEventSegsByCol:d,businessHourSegsByCol:g,nowIndicatorSegsByCol:S,dateSelectionSegsByCol:y,eventDragByCol:R,eventResizeByCol:p,eventSelection:h.eventSelection})})}}function R(e,t,s,i,l){let r=u.buildTimeColsModel(e,t);return s.length?i?new d.DayResourceTableModel(r,s,l):new d.ResourceDayTableModel(r,s,l):new d.ResourcelessDayTableModel(r)}var p=t.createPlugin({name:"@fullcalendar/resource-timegrid",premiumReleaseDate:"2025-01-09",deps:[m.default,g.default,S.default],initialView:"resourceTimeGridDay",views:{resourceTimeGrid:{type:"timeGrid",component:h,needsResourceData:!0},resourceTimeGridDay:{type:"resourceTimeGrid",duration:{days:1}},resourceTimeGridWeek:{type:"resourceTimeGrid",duration:{weeks:1}}}}),D={__proto__:null,ResourceTimeGridView:h};return t.globalPlugins.push(p),e.Internal=D,e.default=p,Object.defineProperty(e,"__esModule",{value:!0}),e}({},FullCalendar,FullCalendar.PremiumCommon,FullCalendar.Resource,FullCalendar.TimeGrid,FullCalendar.Internal,FullCalendar.Preact,FullCalendar.DayGrid.Internal,FullCalendar.ResourceDayGrid.Internal,FullCalendar.Resource.Internal,FullCalendar.TimeGrid.Internal);
|
|
File without changes
|
|
File without changes
|