react-big-schedule 8.1.0 → 9.0.0

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.
Files changed (109) hide show
  1. package/README.md +20 -1129
  2. package/dist/calendar/Calendar.d.ts +28 -0
  3. package/dist/calendar/Calendar.js +95 -0
  4. package/dist/calendar/Toolbar.d.ts +18 -0
  5. package/dist/calendar/Toolbar.js +6 -0
  6. package/dist/calendar/recurrence.check.d.ts +1 -0
  7. package/dist/calendar/recurrence.check.js +49 -0
  8. package/dist/calendar/recurrence.d.ts +8 -0
  9. package/dist/calendar/recurrence.js +90 -0
  10. package/dist/calendar/timezone.d.ts +6 -0
  11. package/dist/calendar/timezone.js +14 -0
  12. package/dist/calendar/types.d.ts +187 -0
  13. package/dist/calendar/types.js +1 -0
  14. package/dist/calendar/useEventSources.d.ts +11 -0
  15. package/dist/calendar/useEventSources.js +89 -0
  16. package/dist/calendar/useRecurrence.d.ts +4 -0
  17. package/dist/calendar/useRecurrence.js +15 -0
  18. package/dist/calendar/utils.d.ts +38 -0
  19. package/dist/calendar/utils.js +143 -0
  20. package/dist/calendar/views/DayGridView.d.ts +3 -0
  21. package/dist/calendar/views/DayGridView.js +375 -0
  22. package/dist/calendar/views/ListView.d.ts +4 -0
  23. package/dist/calendar/views/ListView.js +56 -0
  24. package/dist/calendar/views/MultiMonthView.d.ts +4 -0
  25. package/dist/calendar/views/MultiMonthView.js +36 -0
  26. package/dist/calendar/views/TimeGridView.d.ts +3 -0
  27. package/dist/calendar/views/TimeGridView.js +334 -0
  28. package/dist/calendar/views/daygrid/DayCell.d.ts +19 -0
  29. package/dist/calendar/views/daygrid/DayCell.js +17 -0
  30. package/dist/calendar/views/daygrid/EventChip.d.ts +19 -0
  31. package/dist/calendar/views/daygrid/EventChip.js +40 -0
  32. package/dist/calendar/views/daygrid/layout.d.ts +30 -0
  33. package/dist/calendar/views/daygrid/layout.js +63 -0
  34. package/dist/calendar/views/list/bucket.d.ts +8 -0
  35. package/dist/calendar/views/list/bucket.js +37 -0
  36. package/dist/calendar/views/multimonth/Cell.d.ts +12 -0
  37. package/dist/calendar/views/multimonth/Cell.js +44 -0
  38. package/dist/calendar/views/multimonth/Continuous.d.ts +8 -0
  39. package/dist/calendar/views/multimonth/Continuous.js +28 -0
  40. package/dist/calendar/views/multimonth/MonthGrid.d.ts +10 -0
  41. package/dist/calendar/views/multimonth/MonthGrid.js +36 -0
  42. package/dist/calendar/views/multimonth/shared.d.ts +27 -0
  43. package/dist/calendar/views/multimonth/shared.js +40 -0
  44. package/dist/calendar/views/timegrid/DayColumn.d.ts +49 -0
  45. package/dist/calendar/views/timegrid/DayColumn.js +86 -0
  46. package/dist/calendar/views/timegrid/model.d.ts +55 -0
  47. package/dist/calendar/views/timegrid/model.js +102 -0
  48. package/dist/components/AddMore.d.ts +13 -0
  49. package/dist/components/AddMore.js +9 -42
  50. package/dist/components/AddMorePopover.d.ts +13 -0
  51. package/dist/components/AddMorePopover.js +24 -95
  52. package/dist/components/AgendaEventItem.d.ts +10 -0
  53. package/dist/components/AgendaEventItem.js +33 -81
  54. package/dist/components/AgendaResourceEvents.d.ts +10 -0
  55. package/dist/components/AgendaResourceEvents.js +37 -91
  56. package/dist/components/AgendaView.d.ts +9 -0
  57. package/dist/components/AgendaView.js +10 -69
  58. package/dist/components/BodyView.d.ts +11 -0
  59. package/dist/components/BodyView.js +36 -67
  60. package/dist/components/DnDContext.d.ts +48 -0
  61. package/dist/components/DnDContext.js +200 -221
  62. package/dist/components/DnDSource.d.ts +49 -0
  63. package/dist/components/DnDSource.js +125 -120
  64. package/dist/components/EventItem.d.ts +41 -0
  65. package/dist/components/EventItem.js +585 -787
  66. package/dist/components/EventItemPopover.d.ts +12 -0
  67. package/dist/components/EventItemPopover.js +19 -143
  68. package/dist/components/HeaderView.d.ts +14 -0
  69. package/dist/components/HeaderView.js +123 -186
  70. package/dist/components/ResourceEvents.d.ts +54 -0
  71. package/dist/components/ResourceEvents.js +534 -703
  72. package/dist/components/ResourceView.d.ts +26 -0
  73. package/dist/components/ResourceView.js +64 -184
  74. package/dist/components/SchedulerData.d.ts +136 -0
  75. package/dist/components/SchedulerData.js +1296 -1226
  76. package/dist/components/SchedulerHeader.d.ts +25 -0
  77. package/dist/components/SchedulerHeader.js +50 -150
  78. package/dist/components/SelectedArea.d.ts +8 -0
  79. package/dist/components/SelectedArea.js +11 -26
  80. package/dist/components/Summary.d.ts +11 -0
  81. package/dist/components/Summary.js +21 -50
  82. package/dist/components/WrapperFun.d.ts +2 -0
  83. package/dist/components/WrapperFun.js +5 -10
  84. package/dist/components/index.d.ts +44 -0
  85. package/dist/components/index.js +428 -654
  86. package/dist/components/ui/Icons.d.ts +8 -0
  87. package/dist/components/ui/Icons.js +7 -0
  88. package/dist/components/ui/MiniCalendar.d.ts +9 -0
  89. package/dist/components/ui/MiniCalendar.js +17 -0
  90. package/dist/components/ui/Popover.d.ts +13 -0
  91. package/dist/components/ui/Popover.js +80 -0
  92. package/dist/config/default.d.ts +36 -0
  93. package/dist/config/default.js +17 -26
  94. package/dist/config/i18n.d.ts +27 -0
  95. package/dist/config/i18n.js +21 -37
  96. package/dist/config/scheduler.d.ts +12 -0
  97. package/dist/config/scheduler.js +126 -119
  98. package/dist/css/style.css +2 -316
  99. package/dist/helper/behaviors.d.ts +14 -0
  100. package/dist/helper/behaviors.js +75 -75
  101. package/dist/helper/utility.d.ts +26 -0
  102. package/dist/helper/utility.js +23 -30
  103. package/dist/index.d.ts +6 -477
  104. package/dist/index.js +4 -2
  105. package/dist/sample-data/sample1.d.ts +11 -0
  106. package/dist/sample-data/sample1.js +427 -372
  107. package/dist/types.d.ts +267 -0
  108. package/dist/types.js +1 -0
  109. package/package.json +35 -26
@@ -1,373 +1,428 @@
1
- const DemoData = {
2
- resources: [{
3
- id: 'r0',
4
- name: 'Resource0',
5
- title: 'Resource 0',
6
- groupOnly: true
7
- }, {
8
- id: 'r1',
9
- name: 'Resource1',
10
- title: 'Resource 1',
11
- parentId: 'r0'
12
- }, {
13
- id: 'r2',
14
- name: 'Resource2',
15
- parentId: 'r3'
16
- }, {
17
- id: 'r3',
18
- name: 'Resource3',
19
- parentId: 'r1'
20
- }, {
21
- id: 'r4',
22
- name: 'Resource4'
23
- }, {
24
- id: 'r5',
25
- name: 'Resource5'
26
- }, {
27
- id: 'r6',
28
- name: 'Resource6'
29
- }, {
30
- id: 'r7',
31
- name: 'Resource7'
32
- }],
33
- events: [{
34
- id: 1,
35
- start: '2022-12-18 09:30:00',
36
- end: '2022-12-19 23:30:00',
37
- resourceId: 'r1',
38
- title: 'I am finished',
39
- bgColor: '#D9D9D9',
40
- showPopover: false
41
- }, {
42
- id: 2,
43
- start: '2022-12-18 12:30:00',
44
- end: '2022-12-26 23:30:00',
45
- resourceId: 'r2',
46
- title: 'I am not resizable',
47
- resizable: false
48
- }, {
49
- id: 3,
50
- start: '2022-12-19 12:30:00',
51
- end: '2022-12-20 23:30:00',
52
- resourceId: 'r3',
53
- title: 'I am not movable',
54
- movable: false
55
- }, {
56
- id: 4,
57
- start: '2022-12-19 14:30:00',
58
- end: '2022-12-20 23:30:00',
59
- resourceId: 'r4',
60
- title: 'I am not start-resizable',
61
- startResizable: false
62
- }, {
63
- id: 5,
64
- start: '2022-12-19 15:30:00',
65
- end: '2022-12-20 23:30:00',
66
- resourceId: 'r5',
67
- title: 'I am not end-resizable',
68
- endResizable: false
69
- }, {
70
- id: 6,
71
- start: '2022-12-19 15:35:00',
72
- end: '2022-12-19 23:30:00',
73
- resourceId: 'r6',
74
- title: 'I am normal'
75
- }, {
76
- id: 7,
77
- start: '2022-12-19 15:40:00',
78
- end: '2022-12-20 23:30:00',
79
- resourceId: 'r7',
80
- title: 'I am exceptional',
81
- bgColor: '#FA9E95'
82
- }, {
83
- id: 8,
84
- start: '2022-12-19 15:50:00',
85
- end: '2022-12-19 23:30:00',
86
- resourceId: 'r1',
87
- title: 'I am locked',
88
- movable: false,
89
- resizable: false,
90
- bgColor: 'red'
91
- }, {
92
- id: 9,
93
- start: '2022-12-19 16:30:00',
94
- end: '2022-12-27 23:30:00',
95
- resourceId: 'r1',
96
- title: 'R1 has many tasks 1'
97
- }, {
98
- id: 10,
99
- start: '2022-12-19 17:30:00',
100
- end: '2022-12-19 23:30:00',
101
- resourceId: 'r1',
102
- title: 'R1 has recurring tasks every week on Tuesday, Friday',
103
- rrule: 'FREQ=WEEKLY;DTSTART=20221219T013000Z;BYDAY=TU,FR',
104
- bgColor: '#f759ab'
105
- }, {
106
- id: 11,
107
- start: '2022-12-19 18:30:00',
108
- end: '2022-12-20 23:30:00',
109
- resourceId: 'r1',
110
- title: 'R1 has many tasks 3'
111
- }, {
112
- id: 12,
113
- start: '2022-12-20 18:30:00',
114
- end: '2022-12-20 23:30:00',
115
- resourceId: 'r1',
116
- title: 'R1 has many tasks 4'
117
- }, {
118
- id: 13,
119
- start: '2022-12-21 18:30:00',
120
- end: '2022-12-24 23:30:00',
121
- resourceId: 'r1',
122
- title: 'R1 has many tasks 5'
123
- }, {
124
- id: 14,
125
- start: '2022-12-23 18:30:00',
126
- end: '2022-12-27 23:30:00',
127
- resourceId: 'r1',
128
- title: 'R1 has many tasks 6'
129
- }, {
130
- id: 15,
131
- start: '2022-12-06',
132
- end: '2022-12-09',
133
- resourceId: 'r3',
134
- title: 'SAMPLE TASK (DATE-ONLY FORMAT)'
135
- }, {
136
- id: 16,
137
- start: '2022-12-12',
138
- end: '2022-12-14',
139
- resourceId: 'r3',
140
- title: 'SAMPLE TASK (DATE-ONLY FORMAT)'
141
- }, {
142
- id: 17,
143
- resourceId: 'r4',
144
- title: '#198 Sat→Mon',
145
- start: '2022-12-17 23:00:00',
146
- end: '2022-12-19 09:00:00'
147
- }, {
148
- id: 18,
149
- resourceId: 'r5',
150
- title: '#198 Sun→Mon',
151
- start: '2022-12-18 10:00:00',
152
- end: '2022-12-19 10:00:00'
153
- }, {
154
- id: 19,
155
- resourceId: 'r6',
156
- title: '#198 prev-month carry',
157
- start: '2022-11-30 10:00:00',
158
- end: '2022-12-15 10:00:00'
159
- }, {
160
- id: 20,
161
- resourceId: 'r7',
162
- title: '#198 month boundary',
163
- start: '2022-11-30 10:00:00',
164
- end: '2022-12-02 10:00:00'
165
- }, {
166
- id: 21,
167
- resourceId: 'r4',
168
- title: '#112 short',
169
- start: '2022-12-19 10:10:00',
170
- end: '2022-12-19 11:20:00'
171
- }],
172
- eventsForTaskView: [{
173
- id: 1,
174
- start: '2022-12-18 09:30:00',
175
- end: '2022-12-18 23:30:00',
176
- resourceId: 'r1',
177
- title: 'I am finished',
178
- bgColor: '#D9D9D9',
179
- groupId: 1,
180
- groupName: 'Task1'
181
- }, {
182
- id: 2,
183
- start: '2022-12-18 12:30:00',
184
- end: '2022-12-26 23:30:00',
185
- resourceId: 'r2',
186
- title: 'I am not resizable',
187
- resizable: false,
188
- groupId: 2,
189
- groupName: 'Task2'
190
- }, {
191
- id: 3,
192
- start: '2022-12-19 12:30:00',
193
- end: '2022-12-20 23:30:00',
194
- resourceId: 'r3',
195
- title: 'I am not movable',
196
- movable: false,
197
- groupId: 3,
198
- groupName: 'Task3'
199
- }, {
200
- id: 7,
201
- start: '2022-12-19 15:40:00',
202
- end: '2022-12-20 23:30:00',
203
- resourceId: 'r7',
204
- title: 'I am exceptional',
205
- bgColor: '#FA9E95',
206
- groupId: 4,
207
- groupName: 'Task4'
208
- }, {
209
- id: 4,
210
- start: '2022-12-20 14:30:00',
211
- end: '2022-12-21 23:30:00',
212
- resourceId: 'r4',
213
- title: 'I am not start-resizable',
214
- startResizable: false,
215
- groupId: 1,
216
- groupName: 'Task1'
217
- }, {
218
- id: 5,
219
- start: '2022-12-21 15:30:00',
220
- end: '2022-12-22 23:30:00',
221
- resourceId: 'r5',
222
- title: 'I am not end-resizable',
223
- endResizable: false,
224
- groupId: 3,
225
- groupName: 'Task3'
226
- }, {
227
- id: 9,
228
- start: '2022-12-21 16:30:00',
229
- end: '2022-12-21 23:30:00',
230
- resourceId: 'r1',
231
- title: 'R1 has many tasks',
232
- groupId: 4,
233
- groupName: 'Task4'
234
- }, {
235
- id: 6,
236
- start: '2022-12-22 15:35:00',
237
- end: '2022-12-23 23:30:00',
238
- resourceId: 'r6',
239
- title: 'I am normal',
240
- groupId: 1,
241
- groupName: 'Task1'
242
- }, {
243
- id: 8,
244
- start: '2022-12-25 15:50:00',
245
- end: '2022-12-26 23:30:00',
246
- resourceId: 'r1',
247
- title: 'I am locked',
248
- movable: false,
249
- resizable: false,
250
- bgColor: 'red',
251
- groupId: 1,
252
- groupName: 'Task1'
253
- }, {
254
- id: 10,
255
- start: '2022-12-26 18:30:00',
256
- end: '2022-12-26 23:30:00',
257
- resourceId: 'r2',
258
- title: 'R2 has many tasks',
259
- groupId: 4,
260
- groupName: 'Task4'
261
- }, {
262
- id: 11,
263
- start: '2022-12-27 18:30:00',
264
- end: '2022-12-27 23:30:00',
265
- resourceId: 'r4',
266
- title: 'R4 has many tasks',
267
- groupId: 4,
268
- groupName: 'Task4'
269
- }, {
270
- id: 12,
271
- start: '2022-12-28 18:30:00',
272
- end: '2022-12-28 23:30:00',
273
- resourceId: 'r6',
274
- title: 'R6 has many tasks',
275
- groupId: 3,
276
- groupName: 'Task3'
277
- }],
278
- eventsForCustomEventStyle: [{
279
- id: 1,
280
- start: '2022-12-18 09:30:00',
281
- end: '2022-12-19 23:30:00',
282
- resourceId: 'r1',
283
- title: 'I am finished',
284
- bgColor: '#D9D9D9',
285
- type: 1
286
- }, {
287
- id: 2,
288
- start: '2022-12-18 12:30:00',
289
- end: '2022-12-26 23:30:00',
290
- resourceId: 'r2',
291
- title: 'I am not resizable',
292
- resizable: false,
293
- type: 2
294
- }, {
295
- id: 3,
296
- start: '2022-12-19 12:30:00',
297
- end: '2022-12-20 23:30:00',
298
- resourceId: 'r3',
299
- title: 'I am not movable',
300
- movable: false,
301
- type: 3
302
- }, {
303
- id: 4,
304
- start: '2022-12-19 14:30:00',
305
- end: '2022-12-20 23:30:00',
306
- resourceId: 'r4',
307
- title: 'I am not start-resizable',
308
- startResizable: false,
309
- type: 1
310
- }, {
311
- id: 5,
312
- start: '2022-12-19 15:30:00',
313
- end: '2022-12-20 23:30:00',
314
- resourceId: 'r5',
315
- title: 'I am not end-resizable',
316
- endResizable: false,
317
- type: 2
318
- }, {
319
- id: 6,
320
- start: '2022-12-19 15:35:00',
321
- end: '2022-12-19 23:30:00',
322
- resourceId: 'r6',
323
- title: 'I am normal',
324
- type: 3
325
- }, {
326
- id: 7,
327
- start: '2022-12-19 15:40:00',
328
- end: '2022-12-20 23:30:00',
329
- resourceId: 'r7',
330
- title: 'I am exceptional',
331
- bgColor: '#FA9E95',
332
- type: 1
333
- }, {
334
- id: 8,
335
- start: '2022-12-19 15:50:00',
336
- end: '2022-12-19 23:30:00',
337
- resourceId: 'r1',
338
- title: 'I am locked',
339
- movable: false,
340
- resizable: false,
341
- bgColor: 'red',
342
- type: 2
343
- }, {
344
- id: 9,
345
- start: '2022-12-19 16:30:00',
346
- end: '2022-12-27 23:30:00',
347
- resourceId: 'r1',
348
- title: 'R1 has many tasks 1',
349
- type: 3
350
- }, {
351
- id: 10,
352
- start: '2022-12-20 18:30:00',
353
- end: '2022-12-20 23:30:00',
354
- resourceId: 'r1',
355
- title: 'R1 has many tasks 2',
356
- type: 1
357
- }, {
358
- id: 11,
359
- start: '2022-12-21 18:30:00',
360
- end: '2022-12-22 23:30:00',
361
- resourceId: 'r1',
362
- title: 'R1 has many tasks 3',
363
- type: 2
364
- }, {
365
- id: 12,
366
- start: '2022-12-23 18:30:00',
367
- end: '2022-12-27 23:30:00',
368
- resourceId: 'r1',
369
- title: 'R1 has many tasks 4',
370
- type: 3
371
- }]
1
+ import dayjs from 'dayjs';
2
+ // The sample events are written for the week starting Monday 2022-12-19; createDemoData shifts them to any other week.
3
+ const BASE_MONDAY = dayjs('2022-12-19');
4
+ const BASE = {
5
+ resources: [
6
+ { id: 'r0', name: 'Resource0', title: 'Resource 0', groupOnly: true },
7
+ { id: 'r1', name: 'Resource1', title: 'Resource 1', parentId: 'r0' },
8
+ { id: 'r2', name: 'Resource2', parentId: 'r3' },
9
+ { id: 'r3', name: 'Resource3', parentId: 'r1' },
10
+ { id: 'r4', name: 'Resource4' },
11
+ { id: 'r5', name: 'Resource5' },
12
+ { id: 'r6', name: 'Resource6' },
13
+ { id: 'r7', name: 'Resource7' },
14
+ ],
15
+ events: [
16
+ {
17
+ id: 1,
18
+ start: '2022-12-18 09:30:00',
19
+ end: '2022-12-19 23:30:00',
20
+ resourceId: 'r1',
21
+ title: 'I am finished',
22
+ bgColor: '#D9D9D9',
23
+ showPopover: false,
24
+ },
25
+ {
26
+ id: 2,
27
+ start: '2022-12-18 12:30:00',
28
+ end: '2022-12-26 23:30:00',
29
+ resourceId: 'r2',
30
+ title: 'I am not resizable',
31
+ resizable: false,
32
+ },
33
+ {
34
+ id: 3,
35
+ start: '2022-12-19 12:30:00',
36
+ end: '2022-12-20 23:30:00',
37
+ resourceId: 'r3',
38
+ title: 'I am not movable',
39
+ movable: false,
40
+ },
41
+ {
42
+ id: 4,
43
+ start: '2022-12-19 14:30:00',
44
+ end: '2022-12-20 23:30:00',
45
+ resourceId: 'r4',
46
+ title: 'I am not start-resizable',
47
+ startResizable: false,
48
+ },
49
+ {
50
+ id: 5,
51
+ start: '2022-12-19 15:30:00',
52
+ end: '2022-12-20 23:30:00',
53
+ resourceId: 'r5',
54
+ title: 'I am not end-resizable',
55
+ endResizable: false,
56
+ },
57
+ {
58
+ id: 6,
59
+ start: '2022-12-19 15:35:00',
60
+ end: '2022-12-19 23:30:00',
61
+ resourceId: 'r6',
62
+ title: 'I am normal',
63
+ },
64
+ {
65
+ id: 7,
66
+ start: '2022-12-19 15:40:00',
67
+ end: '2022-12-20 23:30:00',
68
+ resourceId: 'r7',
69
+ title: 'I am exceptional',
70
+ bgColor: '#FA9E95',
71
+ },
72
+ {
73
+ id: 8,
74
+ start: '2022-12-19 15:50:00',
75
+ end: '2022-12-19 23:30:00',
76
+ resourceId: 'r1',
77
+ title: 'I am locked',
78
+ movable: false,
79
+ resizable: false,
80
+ bgColor: 'red',
81
+ },
82
+ {
83
+ id: 9,
84
+ start: '2022-12-19 16:30:00',
85
+ end: '2022-12-27 23:30:00',
86
+ resourceId: 'r1',
87
+ title: 'R1 has many tasks 1',
88
+ },
89
+ {
90
+ id: 10,
91
+ start: '2022-12-19 17:30:00',
92
+ end: '2022-12-19 23:30:00',
93
+ resourceId: 'r1',
94
+ title: 'R1 has recurring tasks every week on Tuesday, Friday',
95
+ rrule: 'FREQ=WEEKLY;DTSTART=20221219T013000Z;BYDAY=TU,FR',
96
+ bgColor: '#f759ab',
97
+ },
98
+ {
99
+ id: 11,
100
+ start: '2022-12-19 18:30:00',
101
+ end: '2022-12-20 23:30:00',
102
+ resourceId: 'r1',
103
+ title: 'R1 has many tasks 3',
104
+ },
105
+ {
106
+ id: 12,
107
+ start: '2022-12-20 18:30:00',
108
+ end: '2022-12-20 23:30:00',
109
+ resourceId: 'r1',
110
+ title: 'R1 has many tasks 4',
111
+ },
112
+ {
113
+ id: 13,
114
+ start: '2022-12-21 18:30:00',
115
+ end: '2022-12-24 23:30:00',
116
+ resourceId: 'r1',
117
+ title: 'R1 has many tasks 5',
118
+ },
119
+ {
120
+ id: 14,
121
+ start: '2022-12-23 18:30:00',
122
+ end: '2022-12-27 23:30:00',
123
+ resourceId: 'r1',
124
+ title: 'R1 has many tasks 6',
125
+ },
126
+ {
127
+ id: 15,
128
+ start: '2022-12-06',
129
+ end: '2022-12-09',
130
+ resourceId: 'r3',
131
+ title: 'SAMPLE TASK (DATE-ONLY FORMAT)',
132
+ },
133
+ {
134
+ id: 16,
135
+ start: '2022-12-12',
136
+ end: '2022-12-14',
137
+ resourceId: 'r3',
138
+ title: 'SAMPLE TASK (DATE-ONLY FORMAT)',
139
+ },
140
+ {
141
+ id: 17,
142
+ resourceId: 'r4',
143
+ title: '#198 Sat→Mon',
144
+ start: '2022-12-17 23:00:00',
145
+ end: '2022-12-19 09:00:00',
146
+ },
147
+ {
148
+ id: 18,
149
+ resourceId: 'r5',
150
+ title: '#198 Sun→Mon',
151
+ start: '2022-12-18 10:00:00',
152
+ end: '2022-12-19 10:00:00',
153
+ },
154
+ {
155
+ id: 19,
156
+ resourceId: 'r6',
157
+ title: '#198 prev-month carry',
158
+ start: '2022-11-30 10:00:00',
159
+ end: '2022-12-15 10:00:00',
160
+ },
161
+ {
162
+ id: 20,
163
+ resourceId: 'r7',
164
+ title: '#198 month boundary',
165
+ start: '2022-11-30 10:00:00',
166
+ end: '2022-12-02 10:00:00',
167
+ },
168
+ {
169
+ id: 21,
170
+ resourceId: 'r4',
171
+ title: '#112 short',
172
+ start: '2022-12-19 10:10:00',
173
+ end: '2022-12-19 11:20:00',
174
+ },
175
+ ],
176
+ eventsForTaskView: [
177
+ {
178
+ id: 1,
179
+ start: '2022-12-18 09:30:00',
180
+ end: '2022-12-18 23:30:00',
181
+ resourceId: 'r1',
182
+ title: 'I am finished',
183
+ bgColor: '#D9D9D9',
184
+ groupId: 1,
185
+ groupName: 'Task1',
186
+ },
187
+ {
188
+ id: 2,
189
+ start: '2022-12-18 12:30:00',
190
+ end: '2022-12-26 23:30:00',
191
+ resourceId: 'r2',
192
+ title: 'I am not resizable',
193
+ resizable: false,
194
+ groupId: 2,
195
+ groupName: 'Task2',
196
+ },
197
+ {
198
+ id: 3,
199
+ start: '2022-12-19 12:30:00',
200
+ end: '2022-12-20 23:30:00',
201
+ resourceId: 'r3',
202
+ title: 'I am not movable',
203
+ movable: false,
204
+ groupId: 3,
205
+ groupName: 'Task3',
206
+ },
207
+ {
208
+ id: 7,
209
+ start: '2022-12-19 15:40:00',
210
+ end: '2022-12-20 23:30:00',
211
+ resourceId: 'r7',
212
+ title: 'I am exceptional',
213
+ bgColor: '#FA9E95',
214
+ groupId: 4,
215
+ groupName: 'Task4',
216
+ },
217
+ {
218
+ id: 4,
219
+ start: '2022-12-20 14:30:00',
220
+ end: '2022-12-21 23:30:00',
221
+ resourceId: 'r4',
222
+ title: 'I am not start-resizable',
223
+ startResizable: false,
224
+ groupId: 1,
225
+ groupName: 'Task1',
226
+ },
227
+ {
228
+ id: 5,
229
+ start: '2022-12-21 15:30:00',
230
+ end: '2022-12-22 23:30:00',
231
+ resourceId: 'r5',
232
+ title: 'I am not end-resizable',
233
+ endResizable: false,
234
+ groupId: 3,
235
+ groupName: 'Task3',
236
+ },
237
+ {
238
+ id: 9,
239
+ start: '2022-12-21 16:30:00',
240
+ end: '2022-12-21 23:30:00',
241
+ resourceId: 'r1',
242
+ title: 'R1 has many tasks',
243
+ groupId: 4,
244
+ groupName: 'Task4',
245
+ },
246
+ {
247
+ id: 6,
248
+ start: '2022-12-22 15:35:00',
249
+ end: '2022-12-23 23:30:00',
250
+ resourceId: 'r6',
251
+ title: 'I am normal',
252
+ groupId: 1,
253
+ groupName: 'Task1',
254
+ },
255
+ {
256
+ id: 8,
257
+ start: '2022-12-25 15:50:00',
258
+ end: '2022-12-26 23:30:00',
259
+ resourceId: 'r1',
260
+ title: 'I am locked',
261
+ movable: false,
262
+ resizable: false,
263
+ bgColor: 'red',
264
+ groupId: 1,
265
+ groupName: 'Task1',
266
+ },
267
+ {
268
+ id: 10,
269
+ start: '2022-12-26 18:30:00',
270
+ end: '2022-12-26 23:30:00',
271
+ resourceId: 'r2',
272
+ title: 'R2 has many tasks',
273
+ groupId: 4,
274
+ groupName: 'Task4',
275
+ },
276
+ {
277
+ id: 11,
278
+ start: '2022-12-27 18:30:00',
279
+ end: '2022-12-27 23:30:00',
280
+ resourceId: 'r4',
281
+ title: 'R4 has many tasks',
282
+ groupId: 4,
283
+ groupName: 'Task4',
284
+ },
285
+ {
286
+ id: 12,
287
+ start: '2022-12-28 18:30:00',
288
+ end: '2022-12-28 23:30:00',
289
+ resourceId: 'r6',
290
+ title: 'R6 has many tasks',
291
+ groupId: 3,
292
+ groupName: 'Task3',
293
+ },
294
+ ],
295
+ eventsForCustomEventStyle: [
296
+ {
297
+ id: 1,
298
+ start: '2022-12-18 09:30:00',
299
+ end: '2022-12-19 23:30:00',
300
+ resourceId: 'r1',
301
+ title: 'I am finished',
302
+ bgColor: '#D9D9D9',
303
+ type: 1,
304
+ },
305
+ {
306
+ id: 2,
307
+ start: '2022-12-18 12:30:00',
308
+ end: '2022-12-26 23:30:00',
309
+ resourceId: 'r2',
310
+ title: 'I am not resizable',
311
+ resizable: false,
312
+ type: 2,
313
+ },
314
+ {
315
+ id: 3,
316
+ start: '2022-12-19 12:30:00',
317
+ end: '2022-12-20 23:30:00',
318
+ resourceId: 'r3',
319
+ title: 'I am not movable',
320
+ movable: false,
321
+ type: 3,
322
+ },
323
+ {
324
+ id: 4,
325
+ start: '2022-12-19 14:30:00',
326
+ end: '2022-12-20 23:30:00',
327
+ resourceId: 'r4',
328
+ title: 'I am not start-resizable',
329
+ startResizable: false,
330
+ type: 1,
331
+ },
332
+ {
333
+ id: 5,
334
+ start: '2022-12-19 15:30:00',
335
+ end: '2022-12-20 23:30:00',
336
+ resourceId: 'r5',
337
+ title: 'I am not end-resizable',
338
+ endResizable: false,
339
+ type: 2,
340
+ },
341
+ {
342
+ id: 6,
343
+ start: '2022-12-19 15:35:00',
344
+ end: '2022-12-19 23:30:00',
345
+ resourceId: 'r6',
346
+ title: 'I am normal',
347
+ type: 3,
348
+ },
349
+ {
350
+ id: 7,
351
+ start: '2022-12-19 15:40:00',
352
+ end: '2022-12-20 23:30:00',
353
+ resourceId: 'r7',
354
+ title: 'I am exceptional',
355
+ bgColor: '#FA9E95',
356
+ type: 1,
357
+ },
358
+ {
359
+ id: 8,
360
+ start: '2022-12-19 15:50:00',
361
+ end: '2022-12-19 23:30:00',
362
+ resourceId: 'r1',
363
+ title: 'I am locked',
364
+ movable: false,
365
+ resizable: false,
366
+ bgColor: 'red',
367
+ type: 2,
368
+ },
369
+ {
370
+ id: 9,
371
+ start: '2022-12-19 16:30:00',
372
+ end: '2022-12-27 23:30:00',
373
+ resourceId: 'r1',
374
+ title: 'R1 has many tasks 1',
375
+ type: 3,
376
+ },
377
+ {
378
+ id: 10,
379
+ start: '2022-12-20 18:30:00',
380
+ end: '2022-12-20 23:30:00',
381
+ resourceId: 'r1',
382
+ title: 'R1 has many tasks 2',
383
+ type: 1,
384
+ },
385
+ {
386
+ id: 11,
387
+ start: '2022-12-21 18:30:00',
388
+ end: '2022-12-22 23:30:00',
389
+ resourceId: 'r1',
390
+ title: 'R1 has many tasks 3',
391
+ type: 2,
392
+ },
393
+ {
394
+ id: 12,
395
+ start: '2022-12-23 18:30:00',
396
+ end: '2022-12-27 23:30:00',
397
+ resourceId: 'r1',
398
+ title: 'R1 has many tasks 4',
399
+ type: 3,
400
+ },
401
+ ],
372
402
  };
373
- export default DemoData;
403
+ const FORMAT = 'YYYY-MM-DD HH:mm:ss';
404
+ /** Sample resources and events moved to the week that contains `anchor` (default: today), so demos always show the current period. */
405
+ export function createDemoData(anchor = dayjs()) {
406
+ const a = dayjs(anchor);
407
+ const monday = a.subtract((a.day() + 6) % 7, 'day').startOf('day');
408
+ const delta = monday.diff(BASE_MONDAY, 'day');
409
+ const move = (value) => dayjs(value).add(delta, 'day').format(FORMAT);
410
+ const shift = (events) => events.map(e => ({
411
+ ...e,
412
+ start: move(e.start),
413
+ end: move(e.end),
414
+ ...(e.rrule
415
+ ? {
416
+ rrule: e.rrule.replace(/DTSTART=(\d{8})T/, (_m, d) => `DTSTART=${dayjs(d).add(delta, 'day').format('YYYYMMDD')}T`),
417
+ }
418
+ : {}),
419
+ }));
420
+ return {
421
+ resources: BASE.resources,
422
+ events: shift(BASE.events),
423
+ eventsForTaskView: shift(BASE.eventsForTaskView),
424
+ eventsForCustomEventStyle: shift(BASE.eventsForCustomEventStyle),
425
+ };
426
+ }
427
+ const DemoData = createDemoData();
428
+ export default DemoData;