@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 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
- - GPLv3 License
16
+ - AGPLv3 License
17
17
  (intended for open-source projects)
18
- http://www.gnu.org/licenses/gpl-3.0.en.html
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 index_cjs = require('@fullcalendar/core/index.cjs');
6
- var premiumCommonPlugin = require('@fullcalendar/premium-common/index.cjs');
7
- var resourcePlugin = require('@fullcalendar/resource/index.cjs');
8
- var timeGridPlugin = require('@fullcalendar/timegrid/index.cjs');
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.cjs');
11
- require('@fullcalendar/core/preact.cjs');
12
- require('@fullcalendar/daygrid/internal.cjs');
13
- require('@fullcalendar/resource-daygrid/internal.cjs');
14
- require('@fullcalendar/resource/internal.cjs');
15
- require('@fullcalendar/timegrid/internal.cjs');
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 = index_cjs.createPlugin({
25
+ var index = core.createPlugin({
24
26
  name: '@fullcalendar/resource-timegrid',
25
- premiumReleaseDate: '2025-01-09',
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 internal_cjs$1 = require('@fullcalendar/core/internal.cjs');
6
- var preact_cjs = require('@fullcalendar/core/preact.cjs');
7
- var internal_cjs$3 = require('@fullcalendar/daygrid/internal.cjs');
8
- var internal_cjs$2 = require('@fullcalendar/resource-daygrid/internal.cjs');
9
- var internal_cjs = require('@fullcalendar/resource/internal.cjs');
10
- var internal_cjs$4 = require('@fullcalendar/timegrid/internal.cjs');
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 internal_cjs.VResourceJoiner {
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 internal_cjs$1.DateComponent {
20
+ class ResourceTimeGridView extends internal$1.DateComponent {
21
21
  constructor() {
22
22
  super(...arguments);
23
23
  // memo
24
- this.flattenResources = internal_cjs$1.memoize(internal_cjs.flattenResources);
25
- this.buildResourceTimeColsModel = internal_cjs$1.memoize(buildResourceTimeColsModel);
26
- this.buildResourceRowConfigs = internal_cjs$1.memoize(internal_cjs$2.buildResourceRowConfigs);
27
- this.createDayHeaderFormatter = internal_cjs$1.memoize(internal_cjs$3.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 internal_cjs$4.AllDaySplitter();
29
+ this.allDaySplitter = new internal$4.AllDaySplitter();
30
30
  // for all-day-resource props
31
- this.allDayResourceSplitter = new internal_cjs.VResourceSplitter();
31
+ this.allDayResourceSplitter = new internal.VResourceSplitter();
32
32
  this.allDayResourceSlicers = {};
33
- this.allDayResourceJoiner = new internal_cjs$2.ResourceDayTableJoiner();
33
+ this.allDayResourceJoiner = new internal$2.ResourceDayTableJoiner();
34
34
  // for timed resource props
35
- this.buildDayRanges = internal_cjs$1.memoize(internal_cjs$4.buildDayRanges);
36
- this.timedResourceSplitter = new internal_cjs.VResourceSplitter();
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 = internal_cjs$1.memoize(internal_cjs$4.organizeSegsByCol);
41
- this.splitBgEventSegs = internal_cjs$1.memoize(internal_cjs$4.organizeSegsByCol);
42
- this.splitBusinessHourSegs = internal_cjs$1.memoize(internal_cjs$4.organizeSegsByCol);
43
- this.splitNowIndicatorSegs = internal_cjs$1.memoize(internal_cjs$4.organizeSegsByCol);
44
- this.splitDateSelectionSegs = internal_cjs$1.memoize(internal_cjs$4.organizeSegsByCol);
45
- this.splitEventDrag = internal_cjs$1.memoize(internal_cjs$4.splitInteractionByCol);
46
- this.splitEventResize = internal_cjs$1.memoize(internal_cjs$4.splitInteractionByCol);
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 || internal_cjs.DEFAULT_RESOURCE_ORDER;
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 = internal_cjs$1.mapHash(allDayResourceSplitProps, (split, resourceId) => this.allDayResourceSlicers[resourceId] || new internal_cjs$3.DayTableSlicer());
73
- let allDayResourceSlicedProps = internal_cjs$1.mapHash(this.allDayResourceSlicers, (slicer, resourceId) => slicer.sliceProps(allDayResourceSplitProps[resourceId], dateProfile, options.nextDayThreshold, context, resourceDayTableModel.dayTableModel));
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 = internal_cjs$1.mapHash(timedResourceSplitProps, (split, resourceId) => this.timedResourceSlicers[resourceId] || new internal_cjs$4.DayTimeColsSlicer());
88
- let timedResourceSlicedProps = internal_cjs$1.mapHash(this.timedResourceSlicers, (slicer, resourceId) => slicer.sliceProps(timedResourceSplitProps[resourceId], dateProfile, null, context, dayRanges));
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.rowCnt === 1;
91
- let dayHeaderFormat = this.createDayHeaderFormatter(context.options.dayHeaderFormat, datesRepDistinctDays, resourceDayTableModel.colCnt);
92
- return (preact_cjs.createElement(internal_cjs$1.NowTimer, { unit: options.nowIndicator ? 'minute' : 'day' /* hacky */ }, (nowDate, todayRange) => {
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 colCnt = resourceDayTableModel.colCnt;
95
- let fgEventSegsByCol = this.splitFgEventSegs(timedResourceJoinedProps.fgEventSegs, colCnt);
96
- let bgEventSegsByCol = this.splitBgEventSegs(timedResourceJoinedProps.bgEventSegs, colCnt);
97
- let businessHourSegsByCol = this.splitBusinessHourSegs(timedResourceJoinedProps.businessHourSegs, colCnt);
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
- })(), colCnt);
105
- let dateSelectionSegsByCol = this.splitDateSelectionSegs(timedResourceJoinedProps.dateSelectionSegs, colCnt);
106
- let eventDragByCol = this.splitEventDrag(timedResourceJoinedProps.eventDrag, colCnt);
107
- let eventResizeByCol = this.splitEventResize(timedResourceJoinedProps.eventResize, colCnt);
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 (preact_cjs.createElement(internal_cjs$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: 'fc-resource-timegrid-view',
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 = internal_cjs$4.buildTimeColsModel(dateProfile, dateProfileGenerator);
125
+ let dayTable = internal$4.buildTimeColsModel(dateProfile, dateProfileGenerator, context.dateEnv);
126
126
  if (!resources.length) {
127
- return new internal_cjs.ResourcelessDayTableModel(dayTable);
127
+ return new internal.ResourcelessDayTableModel(dayTable);
128
128
  }
129
129
  return datesAboveResources ?
130
- new internal_cjs.DayResourceTableModel(dayTable, resources, context) :
131
- new internal_cjs.ResourceDayTableModel(dayTable, resources, context);
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/index.js';
2
- import premiumCommonPlugin from '@fullcalendar/premium-common/index.js';
3
- import resourcePlugin from '@fullcalendar/resource/index.js';
4
- import timeGridPlugin from '@fullcalendar/timegrid/index.js';
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.js';
7
- import '@fullcalendar/core/preact.js';
8
- import '@fullcalendar/daygrid/internal.js';
9
- import '@fullcalendar/resource-daygrid/internal.js';
10
- import '@fullcalendar/resource/internal.js';
11
- import '@fullcalendar/timegrid/internal.js';
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-01-09',
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.js';
2
- import { createElement } from '@fullcalendar/core/preact.js';
3
- import { createDayHeaderFormatter, DayTableSlicer } from '@fullcalendar/daygrid/internal.js';
4
- import { buildResourceRowConfigs, ResourceDayTableJoiner } from '@fullcalendar/resource-daygrid/internal.js';
5
- import { VResourceJoiner, flattenResources, VResourceSplitter, DEFAULT_RESOURCE_ORDER, ResourcelessDayTableModel, DayResourceTableModel, ResourceDayTableModel } from '@fullcalendar/resource/internal.js';
6
- import { AllDaySplitter, buildDayRanges, organizeSegsByCol, splitInteractionByCol, DayTimeColsSlicer, TimeGridLayout, buildTimeColsModel } from '@fullcalendar/timegrid/internal.js';
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.rowCnt === 1;
87
- let dayHeaderFormat = this.createDayHeaderFormatter(context.options.dayHeaderFormat, datesRepDistinctDays, resourceDayTableModel.colCnt);
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 colCnt = resourceDayTableModel.colCnt;
91
- let fgEventSegsByCol = this.splitFgEventSegs(timedResourceJoinedProps.fgEventSegs, colCnt);
92
- let bgEventSegsByCol = this.splitBgEventSegs(timedResourceJoinedProps.bgEventSegs, colCnt);
93
- let businessHourSegsByCol = this.splitBusinessHourSegs(timedResourceJoinedProps.businessHourSegs, colCnt);
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
- })(), colCnt);
101
- let dateSelectionSegsByCol = this.splitDateSelectionSegs(timedResourceJoinedProps.dateSelectionSegs, colCnt);
102
- let eventDragByCol = this.splitEventDrag(timedResourceJoinedProps.eventDrag, colCnt);
103
- let eventResizeByCol = this.splitEventResize(timedResourceJoinedProps.eventResize, colCnt);
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: 'fc-resource-timegrid-view',
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.4
2
+ FullCalendar Resource Time Grid Plugin v7.0.0-beta.5
3
3
  Docs & License: https://fullcalendar.io/docs/vertical-resource-view
4
- (c) 2024 Adam Shaw
4
+ (c) 2025 Adam Shaw
5
5
  */
6
- FullCalendar.ResourceTimeGrid = (function (exports, core, premiumCommonPlugin, resourcePlugin, timeGridPlugin, internal$2, preact, internal$4, internal$3, internal$1, internal$5) {
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.rowCnt === 1;
94
- let dayHeaderFormat = this.createDayHeaderFormatter(context.options.dayHeaderFormat, datesRepDistinctDays, resourceDayTableModel.colCnt);
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 colCnt = resourceDayTableModel.colCnt;
98
- let fgEventSegsByCol = this.splitFgEventSegs(timedResourceJoinedProps.fgEventSegs, colCnt);
99
- let bgEventSegsByCol = this.splitBgEventSegs(timedResourceJoinedProps.bgEventSegs, colCnt);
100
- let businessHourSegsByCol = this.splitBusinessHourSegs(timedResourceJoinedProps.businessHourSegs, colCnt);
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
- })(), colCnt);
108
- let dateSelectionSegsByCol = this.splitDateSelectionSegs(timedResourceJoinedProps.dateSelectionSegs, colCnt);
109
- let eventDragByCol = this.splitEventDrag(timedResourceJoinedProps.eventDrag, colCnt);
110
- let eventResizeByCol = this.splitEventResize(timedResourceJoinedProps.eventResize, colCnt);
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: 'fc-resource-timegrid-view',
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-01-09',
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.TimeGrid, FullCalendar.Internal, FullCalendar.Preact, FullCalendar.DayGrid.Internal, FullCalendar.ResourceDayGrid.Internal, FullCalendar.Resource.Internal, FullCalendar.TimeGrid.Internal);
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.4",
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.4",
19
- "@fullcalendar/premium-common": "7.0.0-beta.4",
20
- "@fullcalendar/resource-daygrid": "7.0.0-beta.4",
21
- "@fullcalendar/timegrid": "7.0.0-beta.4"
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.4",
25
- "@fullcalendar/resource": "7.0.0-beta.4"
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": "2024 Adam Shaw",
41
- "types": "./index.d.ts",
42
- "main": "./index.cjs",
43
- "module": "./index.js",
44
- "unpkg": "./index.global.min.js",
45
- "jsdelivr": "./index.global.min.js",
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
- "types": "./index.d.ts",
52
- "require": "./index.cjs",
53
- "import": "./index.js"
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
- "types": "./internal.d.ts",
59
- "require": "./internal.cjs",
60
- "import": "./internal.js"
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": false
63
+ "sideEffects": [
64
+ "./global.js",
65
+ "./global.min.js"
66
+ ]
64
67
  }
@@ -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