vue-cal 5.0.1-rc.17 → 5.0.1-rc.18
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/dist/i18n/ar.js +1 -1
- package/dist/i18n/bg.js +1 -1
- package/dist/i18n/bn.js +1 -1
- package/dist/i18n/bs.js +1 -1
- package/dist/i18n/ca.js +1 -1
- package/dist/i18n/cs.js +1 -1
- package/dist/i18n/da.js +1 -1
- package/dist/i18n/de.js +1 -1
- package/dist/i18n/el.js +1 -1
- package/dist/i18n/en-gb.js +1 -1
- package/dist/i18n/es.js +1 -1
- package/dist/i18n/et.js +1 -1
- package/dist/i18n/fa.js +1 -1
- package/dist/i18n/fi.js +1 -1
- package/dist/i18n/fr.js +1 -1
- package/dist/i18n/he.js +1 -1
- package/dist/i18n/hr.js +1 -1
- package/dist/i18n/hu.js +1 -1
- package/dist/i18n/id.js +1 -1
- package/dist/i18n/is.js +1 -1
- package/dist/i18n/it.js +1 -1
- package/dist/i18n/ja.js +1 -1
- package/dist/i18n/ka.js +1 -1
- package/dist/i18n/ko.js +1 -1
- package/dist/i18n/lt.js +1 -1
- package/dist/i18n/mn.js +1 -1
- package/dist/i18n/nl.js +1 -1
- package/dist/i18n/no.js +1 -1
- package/dist/i18n/pl.js +1 -1
- package/dist/i18n/pt-br.js +1 -1
- package/dist/i18n/pt-pt.js +1 -1
- package/dist/i18n/ro.js +1 -1
- package/dist/i18n/ru.js +1 -1
- package/dist/i18n/sk.js +1 -1
- package/dist/i18n/sl.js +1 -1
- package/dist/i18n/sq.js +1 -1
- package/dist/i18n/sr.js +1 -1
- package/dist/i18n/sv.js +1 -1
- package/dist/i18n/tr.js +1 -1
- package/dist/i18n/uk.js +1 -1
- package/dist/i18n/vi.js +1 -1
- package/dist/i18n/zh-cn.js +1 -1
- package/dist/i18n/zh-hk.js +1 -1
- package/dist/vue-cal.es.js +213 -208
- package/dist/vue-cal.umd.js +3 -3
- package/package.json +1 -1
package/dist/vue-cal.es.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { computed as $, reactive as $e, watch as me, toRefs as wt, ref as ie, onBeforeUnmount as Xe, inject as Ne, createElementBlock as O, openBlock as S, renderSlot as N, createCommentVNode as U, unref as V, Fragment as ne, renderList as be, normalizeClass as De, createElementVNode as ge, createVNode as Oe, Transition as Ge, withCtx as q, createBlock as Se, resolveDynamicComponent as Qe, mergeProps as ye, toHandlers as Ie, normalizeProps as se, guardReactiveProps as le, toDisplayString as re, normalizeStyle as ke, onMounted as qe, withModifiers as xe, nextTick as Ue, createTextVNode as et, TransitionGroup as tt, createSlots as je, useTemplateRef as _t, useId as kt, useAttrs as bt, provide as Tt } from "vue";
|
|
2
2
|
/**
|
|
3
|
-
* vue-cal v5.0.1-rc.
|
|
3
|
+
* vue-cal v5.0.1-rc.18
|
|
4
4
|
* (c) 2024-2025 Antoni Andre <antoniandre.web@gmail.com>
|
|
5
5
|
* @license MIT
|
|
6
6
|
*/
|
|
@@ -40,7 +40,7 @@ const fe = {
|
|
|
40
40
|
return W.value[l] ? l : (console.warn(
|
|
41
41
|
`Vue Cal: the provided or default view \`${l}\` is either invalid or not in the list of available views. The first available view will be chosen: \`${Object.keys(W.value)[0]}\`.`
|
|
42
42
|
), Object.keys(W.value)[0]);
|
|
43
|
-
}), H = $(() => n.sm && !n.xs),
|
|
43
|
+
}), H = $(() => n.sm && !n.xs), m = $(() => n.xs || n.datePicker), j = $(() => n.clickToNavigate || n.datePicker && n.clickToNavigate !== !1), i = $(() => {
|
|
44
44
|
const s = {
|
|
45
45
|
cell: {},
|
|
46
46
|
// All possible event listeners to attach to cells.
|
|
@@ -85,7 +85,7 @@ const fe = {
|
|
|
85
85
|
}), e = $(() => {
|
|
86
86
|
let s = null;
|
|
87
87
|
return n.minDate && typeof n.minDate == "string" ? s = h.stringToDate(n.minDate) : n.minDate && n.minDate instanceof Date && (s = n.minDate), (s == null ? void 0 : s.getTime()) || null;
|
|
88
|
-
}),
|
|
88
|
+
}), d = $(() => {
|
|
89
89
|
let s = null;
|
|
90
90
|
return n.maxDate && typeof n.maxDate == "string" ? s = h.stringToDate(n.maxDate) : n.maxDate && n.maxDate instanceof Date && (s = n.maxDate), (s == null ? void 0 : s.getTime()) || null;
|
|
91
91
|
}), g = $(() => {
|
|
@@ -122,12 +122,12 @@ const fe = {
|
|
|
122
122
|
disableDays: c,
|
|
123
123
|
ready: p,
|
|
124
124
|
sm: H,
|
|
125
|
-
xs:
|
|
125
|
+
xs: m,
|
|
126
126
|
clickToNavigate: j,
|
|
127
127
|
hideWeekdays: f,
|
|
128
128
|
hideWeekends: T,
|
|
129
129
|
minTimestamp: e,
|
|
130
|
-
maxTimestamp:
|
|
130
|
+
maxTimestamp: d,
|
|
131
131
|
schedules: g,
|
|
132
132
|
selectedDate: o,
|
|
133
133
|
editableEvents: M,
|
|
@@ -137,7 +137,7 @@ const fe = {
|
|
|
137
137
|
return Object.keys(f.value).length;
|
|
138
138
|
},
|
|
139
139
|
get size() {
|
|
140
|
-
return
|
|
140
|
+
return m.value ? "xs" : H.value ? "sm" : "lg";
|
|
141
141
|
},
|
|
142
142
|
loadTexts: P
|
|
143
143
|
};
|
|
@@ -158,66 +158,69 @@ const we = $e({ el: null, cell: null, timeout: null }), _e = $e({
|
|
|
158
158
|
toVueCal: null
|
|
159
159
|
});
|
|
160
160
|
function Et(D) {
|
|
161
|
-
const { config: n, view: r, eventsManager: h, emit: p, uid: b, dateUtils: H } = D,
|
|
161
|
+
const { config: n, view: r, eventsManager: h, emit: p, uid: b, dateUtils: H } = D, m = (e) => {
|
|
162
162
|
var l;
|
|
163
|
-
const { timeStep:
|
|
163
|
+
const { timeStep: d, timeCellHeight: g, timeFrom: M } = n, P = (((l = e.touches) == null ? void 0 : l[0]) || e).clientY, { top: A } = e.currentTarget.getBoundingClientRect(), s = P - A - ~~e.dataTransfer.getData("cursor-grab-at");
|
|
164
164
|
return Pe(Ze(s, e.currentTarget), n);
|
|
165
|
-
}, j = (e,
|
|
166
|
-
const M =
|
|
167
|
-
let P = Math.max(
|
|
165
|
+
}, j = (e, d, g) => {
|
|
166
|
+
const M = d.duration || i(d.start, d.end) || n.timeStep;
|
|
167
|
+
let P = Math.max(m(e), 0);
|
|
168
168
|
if (n.snapToInterval) {
|
|
169
169
|
const _ = P + n.snapToInterval / 2;
|
|
170
170
|
P = _ - _ % n.snapToInterval;
|
|
171
171
|
}
|
|
172
172
|
const A = new Date(new Date(g).setMinutes(P)), s = Math.min(P + M, 24 * 60), l = new Date(new Date(g).setMinutes(s));
|
|
173
173
|
return { start: A, end: l };
|
|
174
|
-
}, i = (e,
|
|
174
|
+
}, i = (e, d) => Math.round((d - e) / 6e4);
|
|
175
175
|
return {
|
|
176
|
-
eventDragStart: (e,
|
|
176
|
+
eventDragStart: (e, d) => {
|
|
177
177
|
if (e.target.nodeType === 3 || D.touch.isResizingEvent) return e.preventDefault();
|
|
178
178
|
e.dataTransfer.effectAllowed = "move", e.dataTransfer.dropEffect = "move";
|
|
179
|
-
const g = { ...
|
|
179
|
+
const g = { ...d, _: { id: d._.id, duration: i(d.start, d.end) } };
|
|
180
180
|
try {
|
|
181
181
|
e.dataTransfer.setData("text/plain", ""), e.dataTransfer.setData("event", JSON.stringify(g)), e.dataTransfer.setData("cursor-grab-at", e.offsetY);
|
|
182
182
|
} catch (P) {
|
|
183
183
|
return console.warn("Vue Cal: Failed to set drag data:", P), e.preventDefault();
|
|
184
184
|
}
|
|
185
|
-
_e.eventId =
|
|
185
|
+
_e.eventId = d._.id, _e.fromVueCal = b, p("event-drag-start", {
|
|
186
|
+
e,
|
|
187
|
+
event: d
|
|
188
|
+
});
|
|
186
189
|
const M = e.target.closest(".vuecal__event");
|
|
187
190
|
M.classList.add("vuecal__event--dragging-ghost"), setTimeout(() => {
|
|
188
191
|
M.classList.add("vuecal__event--dragging-original"), M.classList.remove("vuecal__event--dragging-ghost");
|
|
189
192
|
}, 0), at = !1, Object.assign(Be, { id: r.id, date: r.firstCellDate }), Je = !0, D.touch.isDraggingEvent = !0;
|
|
190
193
|
},
|
|
191
|
-
eventDragEnd: (e,
|
|
194
|
+
eventDragEnd: (e, d) => {
|
|
192
195
|
_e.eventId = null, e.target.closest(".vuecal__event").classList.remove("vuecal__event--dragging-original");
|
|
193
196
|
const { fromVueCal: g, toVueCal: M } = _e;
|
|
194
|
-
M && g !== M && h.deleteEvent(
|
|
197
|
+
M && g !== M && h.deleteEvent(d._.id, 3), at && Je && Be.id && r.switchView(Be.id, Be.date, !0), p("event-drag-end", {
|
|
195
198
|
e,
|
|
196
|
-
event:
|
|
199
|
+
event: d,
|
|
197
200
|
external: _e.fromVueCal !== b
|
|
198
201
|
}), _e.fromVueCal = null, _e.toVueCal = null, D.touch.isDraggingEvent = !1;
|
|
199
202
|
},
|
|
200
|
-
cellDragEnter: (e,
|
|
201
|
-
const { start: g } =
|
|
203
|
+
cellDragEnter: (e, d) => {
|
|
204
|
+
const { start: g } = d, M = e.currentTarget;
|
|
202
205
|
if (!e.currentTarget.contains(e.relatedTarget)) {
|
|
203
206
|
if (M === we.el || !M.className.includes("vuecal__cell-content")) return !1;
|
|
204
|
-
we.el && (we.cell.highlighted = !1), Object.assign(we, { el: M, cell:
|
|
207
|
+
we.el && (we.cell.highlighted = !1), Object.assign(we, { el: M, cell: d, timeout: clearTimeout(we.timeout) }), d.highlighted = !0, ["years", "year", "month"].includes(r.id) && (we.timeout = setTimeout(() => D.switchToNarrowerView(g), 2e3));
|
|
205
208
|
}
|
|
206
209
|
},
|
|
207
|
-
cellDragOver: (e,
|
|
208
|
-
const { start: g, schedule: M } =
|
|
209
|
-
e.preventDefault(),
|
|
210
|
+
cellDragOver: (e, d) => {
|
|
211
|
+
const { start: g, schedule: M } = d;
|
|
212
|
+
e.preventDefault(), d.highlighted = !0, (M || M === 0) && (d.highlightedSchedule = M);
|
|
210
213
|
},
|
|
211
|
-
cellDragLeave: (e,
|
|
212
|
-
e.preventDefault(), !e.currentTarget.contains(e.relatedTarget) && (
|
|
214
|
+
cellDragLeave: (e, d) => {
|
|
215
|
+
e.preventDefault(), !e.currentTarget.contains(e.relatedTarget) && (d.highlightedSchedule = !1, we.cell === d && (clearTimeout(we.timeout), Object.assign(we, { el: null, cell: null, timeout: null }), d.highlighted = !1));
|
|
213
216
|
},
|
|
214
|
-
cellDragDrop: async (e,
|
|
217
|
+
cellDragDrop: async (e, d) => {
|
|
215
218
|
var C, L, J;
|
|
216
219
|
e.preventDefault(), clearTimeout(we.timeout), Object.assign(we, { el: null, cell: null, timeout: null });
|
|
217
220
|
const g = JSON.parse(e.dataTransfer.getData("event") || "{}");
|
|
218
221
|
g.start && (g.start = new Date(g.start)), g.end && (g.end = new Date(g.end));
|
|
219
222
|
let M;
|
|
220
|
-
const { start: P, end: A } = j(e, g,
|
|
223
|
+
const { start: P, end: A } = j(e, g, d.start), { schedule: s } = ((C = e.target.closest("[data-schedule]")) == null ? void 0 : C.dataset) || {};
|
|
221
224
|
let l = () => {
|
|
222
225
|
};
|
|
223
226
|
_e.fromVueCal === b ? (M = h.getEvent(g._.id), M && (M._.dragging = !1, l = () => {
|
|
@@ -242,11 +245,11 @@ function Et(D) {
|
|
|
242
245
|
e,
|
|
243
246
|
event: { ...M, start: P, end: A, schedule: ~~s },
|
|
244
247
|
overlaps: M.getOverlappingEvents({ start: P, end: A, schedule: ~~s }),
|
|
245
|
-
cell:
|
|
248
|
+
cell: d,
|
|
246
249
|
external: _e.fromVueCal !== b
|
|
247
|
-
})), _ !== !1 && l(),
|
|
250
|
+
})), _ !== !1 && l(), d.highlighted = !1, d.highlightedSchedule = null, Je = !1, _e.toVueCal = b, p("event-dropped", {
|
|
248
251
|
e,
|
|
249
|
-
cell:
|
|
252
|
+
cell: d,
|
|
250
253
|
event: M,
|
|
251
254
|
originalEvent: g,
|
|
252
255
|
external: _e.fromVueCal !== b
|
|
@@ -256,8 +259,8 @@ function Et(D) {
|
|
|
256
259
|
}
|
|
257
260
|
const st = (D, n) => {
|
|
258
261
|
let r, h, p, b = {}, H = {};
|
|
259
|
-
const
|
|
260
|
-
|
|
262
|
+
const m = ie(D), j = () => {
|
|
263
|
+
m.value.today || (m.value = n), Date.prototype.addDays = function(a) {
|
|
261
264
|
return W(this, a || 0);
|
|
262
265
|
}, Date.prototype.subtractDays = function(a) {
|
|
263
266
|
return R(this, a || 0);
|
|
@@ -268,7 +271,7 @@ const st = (D, n) => {
|
|
|
268
271
|
}, Date.prototype.addMinutes = function(a) {
|
|
269
272
|
return e(this, a || 0);
|
|
270
273
|
}, Date.prototype.subtractMinutes = function(a) {
|
|
271
|
-
return
|
|
274
|
+
return d(this, a || 0);
|
|
272
275
|
}, Date.prototype.getWeek = function() {
|
|
273
276
|
return M(this);
|
|
274
277
|
}, Date.prototype.isToday = function() {
|
|
@@ -283,7 +286,7 @@ const st = (D, n) => {
|
|
|
283
286
|
}, i = () => {
|
|
284
287
|
delete Date.prototype.addDays, delete Date.prototype.subtractDays, delete Date.prototype.addHours, delete Date.prototype.subtractHours, delete Date.prototype.addMinutes, delete Date.prototype.subtractMinutes, delete Date.prototype.getWeek, delete Date.prototype.isToday, delete Date.prototype.isLeapYear, delete Date.prototype.format, delete Date.prototype.formatTime;
|
|
285
288
|
}, f = (a) => {
|
|
286
|
-
|
|
289
|
+
m.value = a, Date.prototype.subtractDays && j();
|
|
287
290
|
}, T = () => (h !== (/* @__PURE__ */ new Date()).getDate() && (r = /* @__PURE__ */ new Date(), h = r.getDate(), p = `${r.getFullYear()}-${r.getMonth()}-${r.getDate()}`), p), W = (a, w) => {
|
|
288
291
|
const y = new Date(a.valueOf());
|
|
289
292
|
return y.setDate(y.getDate() + w), y;
|
|
@@ -299,7 +302,7 @@ const st = (D, n) => {
|
|
|
299
302
|
}, e = (a, w) => {
|
|
300
303
|
const y = new Date(a.valueOf());
|
|
301
304
|
return y.setMinutes(y.getMinutes() + w), y;
|
|
302
|
-
},
|
|
305
|
+
}, d = (a, w) => {
|
|
303
306
|
const y = new Date(a.valueOf());
|
|
304
307
|
return y.setMinutes(y.getMinutes() - w), y;
|
|
305
308
|
}, g = (a, w) => {
|
|
@@ -334,7 +337,7 @@ const st = (D, n) => {
|
|
|
334
337
|
const y = (new Date(w).getTimezoneOffset() - new Date(a).getTimezoneOffset()) * 60 * 1e3;
|
|
335
338
|
return Math.ceil((w - a - y) / (24 * 3600 * 1e3));
|
|
336
339
|
}, J = (a, w, y) => Math.abs(a.getTime() - w.getTime()) <= y * 60 * 1e3, Z = (a) => a && a instanceof Date && !isNaN(a), ue = (a, w = "YYYY-MM-DD", y = null) => {
|
|
337
|
-
if (y || (y =
|
|
340
|
+
if (y || (y = m.value), w || (w = "YYYY-MM-DD"), w === "YYYY-MM-DD") return ce(a);
|
|
338
341
|
b = {}, H = {};
|
|
339
342
|
const B = {
|
|
340
343
|
YYYY: () => ee(a, y).YYYY,
|
|
@@ -375,7 +378,7 @@ const st = (D, n) => {
|
|
|
375
378
|
u + k + E === 141 && (Q = !0);
|
|
376
379
|
}
|
|
377
380
|
if (a instanceof Date && w === "HH:mm") return Q ? "24:00" : pe(a);
|
|
378
|
-
H = {}, y || (y =
|
|
381
|
+
H = {}, y || (y = m.value);
|
|
379
382
|
const he = x(a, y), te = w.replace(/(\{[a-zA-Z]+\}|[a-zA-Z]+)/g, (u, k) => {
|
|
380
383
|
const E = he[k.replace(/\{|\}/g, "")];
|
|
381
384
|
return E !== void 0 ? E : k;
|
|
@@ -463,7 +466,7 @@ const st = (D, n) => {
|
|
|
463
466
|
addHours: o,
|
|
464
467
|
subtractHours: c,
|
|
465
468
|
addMinutes: e,
|
|
466
|
-
subtractMinutes:
|
|
469
|
+
subtractMinutes: d,
|
|
467
470
|
snapToInterval: g,
|
|
468
471
|
getWeek: M,
|
|
469
472
|
isToday: P,
|
|
@@ -495,17 +498,17 @@ const st = (D, n) => {
|
|
|
495
498
|
// An array of events IDs that are multiday.
|
|
496
499
|
byId: {}
|
|
497
500
|
// A map of all the events indexed by ID for fast lookup.
|
|
498
|
-
}, c = r.events.sort((e,
|
|
501
|
+
}, c = r.events.sort((e, d) => e.start - d.start < 0 ? -1 : 1);
|
|
499
502
|
for (const e of c)
|
|
500
|
-
b(e), e._ || (e._ = {}), e._.id = e._.id || ++h, e.delete || (e.delete = (
|
|
503
|
+
b(e), e._ || (e._ = {}), e._.id = e._.id || ++h, e.delete || (e.delete = (d) => f(e._.id, d)), e._.deleting = !1, e._.deleted = !1, e.isOverlapping = (d = null) => e.getOverlappingEvents(d).length, e.getOverlappingEvents = (d = null) => {
|
|
501
504
|
var g;
|
|
502
505
|
return W(
|
|
503
|
-
|
|
504
|
-
{ start: (
|
|
505
|
-
{ excludeIds: [e._.id], schedule: (g = r.schedules) != null && g.length ? ~~((
|
|
506
|
+
m(n.formatDate((d == null ? void 0 : d.start) || e.start), !0),
|
|
507
|
+
{ start: (d == null ? void 0 : d.start) || e.start, end: (d == null ? void 0 : d.end) || e.end },
|
|
508
|
+
{ excludeIds: [e._.id], schedule: (g = r.schedules) != null && g.length ? ~~((d == null ? void 0 : d.schedule) || e.schedule) : null }
|
|
506
509
|
);
|
|
507
|
-
}, e._.register = (
|
|
508
|
-
e._.$el =
|
|
510
|
+
}, e._.register = (d) => {
|
|
511
|
+
e._.$el = d, e._.fireCreated && (D.emit("event-created", e), delete e._.fireCreated);
|
|
509
512
|
}, e._.unregister = () => {
|
|
510
513
|
e._.$el = null, e._.register = null, e.isOverlapping = null, e.getOverlappingEvents = null, e.delete = null;
|
|
511
514
|
}, o.byId[e._.id] = e, e.recurring ? o.recurring.push(e._.id) : e._.multiday ? (o.multiday.push(e._.id), o.byDate[e._.startFormatted] || (o.byDate[e._.startFormatted] = []), o.byDate[e._.startFormatted].push(e._.id)) : (o.byDate[e._.startFormatted] || (o.byDate[e._.startFormatted] = []), o.byDate[e._.startFormatted].push(e._.id));
|
|
@@ -516,17 +519,17 @@ const st = (D, n) => {
|
|
|
516
519
|
return;
|
|
517
520
|
} else o.end.getTime() < o.start.getTime() && console.error(`Vue Cal: invalid event dates for event "${o.title}". The event ends before it starts.`, o.start, o.end);
|
|
518
521
|
o._ || (o._ = {}), o._.multiday = !n.isSameDate(o.start, new Date(o.end.getTime() - 1)), o._.startFormatted = n.formatDate(o.start), o._.startMinutes = ~~n.dateToMinutes(o.start), o._.endMinutes = ~~n.dateToMinutes(o.end);
|
|
519
|
-
const c = o.start.getHours(), e = o.start.getMinutes().toString().padStart(2, 0),
|
|
520
|
-
o._.startTimeFormatted24 = `${c.toString().padStart(2, 0)}:${e}`, o._.startTimeFormatted12 = `${c % 12 || 12}${e ? `:${e}` : ""} ${c < 12 ? "AM" : "PM"}`, o._.endTimeFormatted24 = `${
|
|
521
|
-
}, H = (o) => p.value.byId[o],
|
|
522
|
-
let
|
|
523
|
-
return
|
|
522
|
+
const c = o.start.getHours(), e = o.start.getMinutes().toString().padStart(2, 0), d = o.end.getHours(), g = o.end.getMinutes().toString().padStart(2, 0);
|
|
523
|
+
o._.startTimeFormatted24 = `${c.toString().padStart(2, 0)}:${e}`, o._.startTimeFormatted12 = `${c % 12 || 12}${e ? `:${e}` : ""} ${c < 12 ? "AM" : "PM"}`, o._.endTimeFormatted24 = `${d.toString().padStart(2, 0)}:${g}`, o._.endTimeFormatted12 = `${d % 12 || 12}${g ? `:${g}` : ""} ${d < 12 ? "AM" : "PM"}`, o._.duration = Math.abs(~~((o.end - o.start) / 6e4));
|
|
524
|
+
}, H = (o) => p.value.byId[o], m = (o, c = !1, e = !1) => {
|
|
525
|
+
let d = p.value.byDate[o] || [];
|
|
526
|
+
return d = c || e ? d.map(H) : d, e || (d = d.filter((g) => !g.background && !g._.deleted), c || (d = d.map((g) => g._.id))), d;
|
|
524
527
|
}, j = (o) => {
|
|
525
528
|
const c = {};
|
|
526
529
|
for (const { startFormatted: e } of o) {
|
|
527
530
|
c[e] = [];
|
|
528
|
-
const
|
|
529
|
-
|
|
531
|
+
const d = m(e, !1, !0);
|
|
532
|
+
d.length && c[e].push(...d);
|
|
530
533
|
}
|
|
531
534
|
return c;
|
|
532
535
|
}, i = (o) => {
|
|
@@ -539,9 +542,9 @@ const st = (D, n) => {
|
|
|
539
542
|
var P, A;
|
|
540
543
|
if (!o) return console.warn("Vue Cal: Cannot delete event without its ID or criteria.");
|
|
541
544
|
let e = typeof o == "string" || !isNaN(o) ? o : null;
|
|
542
|
-
const
|
|
543
|
-
if (
|
|
544
|
-
const [s, l] =
|
|
545
|
+
const d = typeof o == "object" ? Object.entries(o) : null;
|
|
546
|
+
if (d) {
|
|
547
|
+
const [s, l] = d[0];
|
|
545
548
|
e = (P = r.events.find((_) => _[s] === l)) == null ? void 0 : P._.id;
|
|
546
549
|
}
|
|
547
550
|
if (!r.editableEvents.delete)
|
|
@@ -572,15 +575,15 @@ const st = (D, n) => {
|
|
|
572
575
|
}
|
|
573
576
|
return !0;
|
|
574
577
|
}, T = (o) => {
|
|
575
|
-
const c =
|
|
578
|
+
const c = m(o, !0);
|
|
576
579
|
if (!c.length) return { cellOverlaps: {}, longestStreak: 0 };
|
|
577
580
|
const e = {};
|
|
578
|
-
let
|
|
581
|
+
let d = [], g = 0;
|
|
579
582
|
c.sort((M, P) => M.start - P.start || M.end - M.start - (P.end - P.start));
|
|
580
583
|
for (const M of c) {
|
|
581
584
|
const P = M._.id;
|
|
582
|
-
e[P] || (e[P] = { overlaps: /* @__PURE__ */ new Set(), maxConcurrent: 1, position: 0 }),
|
|
583
|
-
const A =
|
|
585
|
+
e[P] || (e[P] = { overlaps: /* @__PURE__ */ new Set(), maxConcurrent: 1, position: 0 }), d = d.filter((t) => t.end > M.start);
|
|
586
|
+
const A = d.filter((t) => {
|
|
584
587
|
var L;
|
|
585
588
|
return (!((L = r.schedules) != null && L.length) || M.schedule === t.schedule) && t.start < M.end;
|
|
586
589
|
}), s = new Set(A.map((t) => {
|
|
@@ -589,7 +592,7 @@ const st = (D, n) => {
|
|
|
589
592
|
}));
|
|
590
593
|
let l = 0;
|
|
591
594
|
for (; s.has(l); ) l++;
|
|
592
|
-
e[P].position = l,
|
|
595
|
+
e[P].position = l, d.push(M);
|
|
593
596
|
const _ = Math.max(1, ...A.map((t) => {
|
|
594
597
|
var C;
|
|
595
598
|
return ((C = e[t._.id]) == null ? void 0 : C.maxConcurrent) ?? 1;
|
|
@@ -601,20 +604,20 @@ const st = (D, n) => {
|
|
|
601
604
|
}
|
|
602
605
|
for (const M in e) e[M].overlaps = [...e[M].overlaps];
|
|
603
606
|
return { cellOverlaps: e, longestStreak: g };
|
|
604
|
-
}, W = (o = [], { start: c, end: e }, { excludeIds:
|
|
607
|
+
}, W = (o = [], { start: c, end: e }, { excludeIds: d = [], schedule: g = null }) => {
|
|
605
608
|
var A;
|
|
606
|
-
const M = new Set(
|
|
609
|
+
const M = new Set(d), P = [];
|
|
607
610
|
for (const s of o)
|
|
608
611
|
!M.has((A = s._) == null ? void 0 : A.id) && (g === null || g === s.schedule) && R(s, c, e) && P.push(s);
|
|
609
612
|
return P;
|
|
610
613
|
}, R = (o, c, e) => {
|
|
611
|
-
const
|
|
614
|
+
const d = o.allDay || !r.time, g = d ? new Date(o.start).setHours(0, 0, 0, 0) : o.start.getTime(), M = d ? new Date(o.end).setHours(23, 59, 59, 999) : o.end.getTime(), P = d ? new Date(c).setHours(0, 0, 0, 0) : c.getTime(), A = d ? new Date(e).setHours(23, 59, 59, 999) : e.getTime();
|
|
612
615
|
return M > P && g < A;
|
|
613
616
|
};
|
|
614
617
|
return {
|
|
615
618
|
events: p,
|
|
616
619
|
getEvent: H,
|
|
617
|
-
getEventsByDate:
|
|
620
|
+
getEventsByDate: m,
|
|
618
621
|
getViewEvents: j,
|
|
619
622
|
getCellOverlappingEvents: T,
|
|
620
623
|
getEventsInRange: W,
|
|
@@ -623,22 +626,22 @@ const st = (D, n) => {
|
|
|
623
626
|
isEventInRange: R
|
|
624
627
|
};
|
|
625
628
|
}, Ct = ({ config: D, dateUtils: n, emit: r, texts: h, eventsManager: p }, b) => {
|
|
626
|
-
const { availableViews: H } = D,
|
|
629
|
+
const { availableViews: H } = D, m = ie(D.view && H[D.view] ? D.view : D.defaultView), j = ie(D.selectedDate || null), i = ie(/* @__PURE__ */ new Date()), f = ie(new Date(D.viewDate || i.value));
|
|
627
630
|
f.value.setHours(0, 0, 0, 0);
|
|
628
631
|
const T = ie(new Date(f));
|
|
629
632
|
let W = null;
|
|
630
|
-
const R = $(() =>
|
|
631
|
-
if (
|
|
632
|
-
const
|
|
633
|
-
return
|
|
633
|
+
const R = $(() => m.value === "month" ? T.value : l.value), o = $(() => m.value === "month" ? new Date(T.value.getFullYear(), T.value.getMonth() + 1, 0, 23, 59, 59, 999) : t.value), c = $(() => m.value === "week" ? n.getPreviousFirstDayOfWeek(l.value, D.startWeekOnSunday) : m.value === "month" ? l.value : R.value), e = $(() => {
|
|
634
|
+
if (m.value === "week") {
|
|
635
|
+
const v = n.addDays(c.value, 7);
|
|
636
|
+
return v.setMilliseconds(-1), v;
|
|
634
637
|
}
|
|
635
|
-
return
|
|
636
|
-
}),
|
|
637
|
-
const
|
|
638
|
-
if (
|
|
639
|
-
return c.value.getTime() <=
|
|
638
|
+
return m.value === "month" ? t.value : o.value;
|
|
639
|
+
}), d = $(() => {
|
|
640
|
+
const v = i.value.getTime();
|
|
641
|
+
if (m.value === "week")
|
|
642
|
+
return c.value.getTime() <= v && v <= e.value.getTime();
|
|
640
643
|
const F = l.value.getTime(), X = t.value.getTime();
|
|
641
|
-
return F <=
|
|
644
|
+
return F <= v && v <= X;
|
|
642
645
|
});
|
|
643
646
|
function g() {
|
|
644
647
|
i.value = /* @__PURE__ */ new Date(), W = setTimeout(g, 60 * 1e3);
|
|
@@ -647,28 +650,28 @@ const st = (D, n) => {
|
|
|
647
650
|
W = setTimeout(g, (60 - (/* @__PURE__ */ new Date()).getSeconds()) * 1e3), g();
|
|
648
651
|
}
|
|
649
652
|
const P = $(() => {
|
|
650
|
-
if (!D.availableViews[
|
|
651
|
-
let
|
|
652
|
-
return D.hasHiddenDays && ["week", "month"].includes(
|
|
653
|
+
if (!D.availableViews[m.value]) return 1;
|
|
654
|
+
let v = D.availableViews[m.value].cols;
|
|
655
|
+
return D.hasHiddenDays && ["week", "month"].includes(m.value) && (v -= D.hasHiddenDays), v;
|
|
653
656
|
}), A = $(() => {
|
|
654
|
-
var
|
|
655
|
-
return ((
|
|
657
|
+
var v;
|
|
658
|
+
return ((v = D.availableViews[m.value]) == null ? void 0 : v.rows) || 1;
|
|
656
659
|
}), s = $(() => P.value * A.value), l = $(() => {
|
|
657
|
-
if (
|
|
658
|
-
let
|
|
659
|
-
return D.startWeekOnSunday && !D.hideWeekdays[7] && (
|
|
660
|
+
if (m.value === "month") {
|
|
661
|
+
let v = T.value.getDay() || 7;
|
|
662
|
+
return D.startWeekOnSunday && !D.hideWeekdays[7] && (v += 1), D.viewDayOffset && (v -= D.viewDayOffset), n.subtractDays(T.value, v - 1);
|
|
660
663
|
}
|
|
661
|
-
if (
|
|
662
|
-
const
|
|
663
|
-
let F = Math.min(...
|
|
664
|
+
if (m.value === "week") {
|
|
665
|
+
const v = "1234567".split("").filter((X) => !Object.keys(D.hideWeekdays).includes(X));
|
|
666
|
+
let F = Math.min(...v);
|
|
664
667
|
return D.startWeekOnSunday && !D.hideWeekdays[7] && (F = 1), D.viewDayOffset && (F += D.viewDayOffset), n.addDays(T.value, F - 1);
|
|
665
668
|
}
|
|
666
669
|
return T.value;
|
|
667
670
|
}), _ = $(() => {
|
|
668
|
-
const
|
|
671
|
+
const v = [], F = ["days", "week", "month"].includes(m.value);
|
|
669
672
|
let X = 0;
|
|
670
673
|
for (let G = 0; G < s.value + X; G++)
|
|
671
|
-
switch (
|
|
674
|
+
switch (m.value) {
|
|
672
675
|
case "day":
|
|
673
676
|
case "days":
|
|
674
677
|
case "week":
|
|
@@ -679,44 +682,44 @@ const st = (D, n) => {
|
|
|
679
682
|
continue;
|
|
680
683
|
}
|
|
681
684
|
const Ce = new Date(ve);
|
|
682
|
-
Ce.setHours(23, 59, 59, 999),
|
|
685
|
+
Ce.setHours(23, 59, 59, 999), v.push({ start: ve, startFormatted: n.formatDate(ve), end: Ce });
|
|
683
686
|
break;
|
|
684
687
|
}
|
|
685
688
|
case "year":
|
|
686
|
-
|
|
689
|
+
v.push({
|
|
687
690
|
start: new Date(l.value.getFullYear(), G, 1, 0, 0, 0, 0),
|
|
688
691
|
end: new Date(l.value.getFullYear(), G + 1, 0, 23, 59, 59, 999)
|
|
689
692
|
});
|
|
690
693
|
break;
|
|
691
694
|
case "years":
|
|
692
|
-
|
|
695
|
+
v.push({
|
|
693
696
|
start: new Date(l.value.getFullYear() + G, 0, 1, 0, 0, 0, 0),
|
|
694
697
|
end: new Date(l.value.getFullYear() + G + 1, 0, 0, 23, 59, 59, 999)
|
|
695
698
|
});
|
|
696
699
|
break;
|
|
697
700
|
}
|
|
698
|
-
return
|
|
701
|
+
return v;
|
|
699
702
|
}), t = $(() => _.value[_.value.length - 1].end), C = ie("right"), L = $(() => {
|
|
700
|
-
const
|
|
701
|
-
return
|
|
703
|
+
const v = Object.keys(D.availableViews);
|
|
704
|
+
return v[v.indexOf(m.value) + 1];
|
|
702
705
|
}), J = $(() => {
|
|
703
|
-
const
|
|
704
|
-
return
|
|
706
|
+
const v = Object.keys(D.availableViews);
|
|
707
|
+
return v[v.indexOf(m.value) - 1];
|
|
705
708
|
});
|
|
706
|
-
function Z(
|
|
707
|
-
if (!F || !F[
|
|
708
|
-
const G = F[
|
|
709
|
+
function Z(v, F, X = !1) {
|
|
710
|
+
if (!F || !F[v]) return v + 1;
|
|
711
|
+
const G = F[v];
|
|
709
712
|
return X && typeof G == "string" ? G.substring(0, 3) : G;
|
|
710
713
|
}
|
|
711
|
-
function ue(
|
|
712
|
-
const { monthsArray: G, monthBeforeDay: ve, canTruncate: We, xs: Ce } = X, Me =
|
|
714
|
+
function ue(v, F, X) {
|
|
715
|
+
const { monthsArray: G, monthBeforeDay: ve, canTruncate: We, xs: Ce } = X, Me = v.getMonth(), Ye = v.getFullYear(), Ee = F.getMonth(), Fe = F.getFullYear(), Ae = Me !== Ee, pt = Ye !== Fe, Te = We && (Ce || Ae), Le = v.getDate(), He = F.getDate();
|
|
713
716
|
return pt ? ve ? `${Z(Me, G, Te)} ${Le}, ${Ye} - ${Z(Ee, G, Te)} ${He}, ${Fe}` : `${Le} ${Z(Me, G, Te)} ${Ye} - ${He} ${Z(Ee, G, Te)} ${Fe}` : Ae ? ve ? `${Z(Me, G, Te)} ${Le} - ${Z(Ee, G, Te)} ${He}, ${Ye}` : `${Le} ${Z(Me, G, Te)} - ${He} ${Z(Ee, G, Te)} ${Ye}` : ve ? `${Z(Me, G, Te)} ${Le}-${He}, ${Ye}` : `${Le}-${He} ${Z(Me, G, Te)} ${Ye}`;
|
|
714
717
|
}
|
|
715
718
|
const ce = $(() => {
|
|
716
|
-
const { dateFormat:
|
|
717
|
-
switch (
|
|
719
|
+
const { dateFormat: v, months: F, monthsGenitive: X, week: G, truncations: ve } = h, We = D.locale, Ce = ve !== !1, Me = v.indexOf("M") < v.indexOf("D"), Ye = X && We === "el" ? X : F;
|
|
720
|
+
switch (m.value) {
|
|
718
721
|
case "day":
|
|
719
|
-
return n.formatDate(l.value,
|
|
722
|
+
return n.formatDate(l.value, v);
|
|
720
723
|
case "days":
|
|
721
724
|
case "week": {
|
|
722
725
|
const Ee = {
|
|
@@ -726,7 +729,7 @@ const st = (D, n) => {
|
|
|
726
729
|
xs: D.xs
|
|
727
730
|
};
|
|
728
731
|
let Fe = ue(l.value, t.value, Ee);
|
|
729
|
-
if (
|
|
732
|
+
if (m.value === "week") {
|
|
730
733
|
const Ae = n.getWeek(
|
|
731
734
|
l.value,
|
|
732
735
|
D.startWeekOnSunday && !D.hideWeekdays[7]
|
|
@@ -746,7 +749,7 @@ const st = (D, n) => {
|
|
|
746
749
|
}
|
|
747
750
|
});
|
|
748
751
|
function de() {
|
|
749
|
-
switch (T.value = new Date(f.value || i.value), T.value.setHours(0, 0, 0, 0),
|
|
752
|
+
switch (T.value = new Date(f.value || i.value), T.value.setHours(0, 0, 0, 0), m.value) {
|
|
750
753
|
case "day":
|
|
751
754
|
break;
|
|
752
755
|
case "days":
|
|
@@ -765,24 +768,24 @@ const st = (D, n) => {
|
|
|
765
768
|
break;
|
|
766
769
|
}
|
|
767
770
|
D.ready && r("view-change", {
|
|
768
|
-
id:
|
|
771
|
+
id: m.value,
|
|
769
772
|
title: ce.value,
|
|
770
773
|
start: R.value,
|
|
771
774
|
end: o.value,
|
|
772
775
|
extendedStart: c.value,
|
|
773
776
|
extendedEnd: e.value,
|
|
774
777
|
cellDates: _.value,
|
|
775
|
-
containsToday:
|
|
778
|
+
containsToday: d.value,
|
|
776
779
|
events: z.value
|
|
777
780
|
}), i.value = /* @__PURE__ */ new Date();
|
|
778
781
|
}
|
|
779
|
-
function pe(
|
|
780
|
-
const F =
|
|
781
|
-
|
|
782
|
+
function pe(v) {
|
|
783
|
+
const F = m.value, X = D.availableViews[F];
|
|
784
|
+
v[F] && JSON.stringify(v[F]) === JSON.stringify(X) || de();
|
|
782
785
|
}
|
|
783
|
-
function oe(
|
|
786
|
+
function oe(v, F = !0) {
|
|
784
787
|
const X = Object.keys(D.availableViews);
|
|
785
|
-
|
|
788
|
+
m.value !== v && (X.includes(v) ? (C.value = X.indexOf(v) < X.indexOf(m.value) ? "left" : "right", m.value = v, r("update:view", v), de()) : console.warn(`Vue Cal: the \`${v}\` view is not available.`));
|
|
786
789
|
}
|
|
787
790
|
function K() {
|
|
788
791
|
L.value ? oe(L.value) : console.warn("Vue Cal: no broader view is available.");
|
|
@@ -796,29 +799,29 @@ const st = (D, n) => {
|
|
|
796
799
|
function a() {
|
|
797
800
|
w(!0);
|
|
798
801
|
}
|
|
799
|
-
function w(
|
|
802
|
+
function w(v = !0) {
|
|
800
803
|
let F = new Date(f.value);
|
|
801
|
-
switch (
|
|
804
|
+
switch (m.value) {
|
|
802
805
|
case "day":
|
|
803
806
|
case "days":
|
|
804
|
-
|
|
807
|
+
v ? F = n.addDays(t.value, 1) : F = n.subtractDays(l.value, s.value);
|
|
805
808
|
break;
|
|
806
809
|
case "week": {
|
|
807
|
-
|
|
810
|
+
v ? (F = n.addDays(e.value, 1), F.setHours(0, 0, 0, 0)) : F = n.subtractDays(c.value, s.value);
|
|
808
811
|
break;
|
|
809
812
|
}
|
|
810
813
|
case "month": {
|
|
811
|
-
const X =
|
|
814
|
+
const X = v ? 1 : -1;
|
|
812
815
|
F = new Date(F.getFullYear(), F.getMonth() + X, 1, 0, 0, 0, 0);
|
|
813
816
|
break;
|
|
814
817
|
}
|
|
815
818
|
case "year": {
|
|
816
|
-
const X =
|
|
819
|
+
const X = v ? 1 : -1;
|
|
817
820
|
F = new Date(F.getFullYear() + X, 1, 1, 0, 0, 0, 0);
|
|
818
821
|
break;
|
|
819
822
|
}
|
|
820
823
|
case "years": {
|
|
821
|
-
const X =
|
|
824
|
+
const X = v ? s.value : -s.value;
|
|
822
825
|
F = new Date(F.getFullYear() + X, 1, 1, 0, 0, 0, 0);
|
|
823
826
|
break;
|
|
824
827
|
}
|
|
@@ -826,48 +829,48 @@ const st = (D, n) => {
|
|
|
826
829
|
B(F);
|
|
827
830
|
}
|
|
828
831
|
function y() {
|
|
829
|
-
const
|
|
830
|
-
|
|
832
|
+
const v = /* @__PURE__ */ new Date();
|
|
833
|
+
v.setHours(0, 0, 0, 0), B(v);
|
|
831
834
|
}
|
|
832
|
-
function B(
|
|
833
|
-
if (!n.isValid(
|
|
835
|
+
function B(v, F = !0, X = !1) {
|
|
836
|
+
if (!n.isValid(v)) return console.warn("Vue Cal: can't navigate to the given date: invalid date provided to `updateViewDate(date)`.");
|
|
834
837
|
let [G, ve] = [l.value, t.value];
|
|
835
|
-
|
|
838
|
+
m.value === "month" && ([G, ve] = [R.value, o.value]), (!n.isInRange(v, G, ve) || X) && (v.setHours(0, 0, 0, 0), C.value = v.getTime() < G.getTime() ? "left" : "right", f.value = v, F && r("update:viewDate", v), de());
|
|
836
839
|
}
|
|
837
|
-
function Q(
|
|
838
|
-
if (!n.isValid(
|
|
840
|
+
function Q(v, F = !0) {
|
|
841
|
+
if (!n.isValid(v)) return console.warn("Vue Cal: can't update the selected date: invalid date provided to `updateSelectedDate(date)`.");
|
|
839
842
|
const { isValid: X, isSameDate: G } = n;
|
|
840
|
-
(!j.value || !X(j.value) || !G(
|
|
843
|
+
(!j.value || !X(j.value) || !G(v, j.value)) && (v.setHours(0, 0, 0, 0), j.value = v, F && r("update:selectedDate", v));
|
|
841
844
|
}
|
|
842
|
-
function he(
|
|
843
|
-
!
|
|
845
|
+
function he(v) {
|
|
846
|
+
!v && !T.value.getDay() ? B(n.addDays(T.value, 1), !0, !0) : (C.value = "left", de());
|
|
844
847
|
}
|
|
845
|
-
function te(
|
|
846
|
-
|
|
848
|
+
function te(v) {
|
|
849
|
+
v && D.startWeekOnSunday && !T.value.getDay() ? B(n.addDays(T.value, 1), !0, !0) : !v && D.startWeekOnSunday && T.value.getDay() === 1 && B(n.subtractDays(T.value, 1), !0, !0);
|
|
847
850
|
}
|
|
848
851
|
function u() {
|
|
849
852
|
console.log("toggling weekdays", D.hideWeekdays);
|
|
850
853
|
}
|
|
851
|
-
function k(
|
|
854
|
+
function k(v) {
|
|
852
855
|
var G;
|
|
853
|
-
const F = (G = b.value) == null ? void 0 : G.querySelector(".vuecal__scrollable"), X =
|
|
856
|
+
const F = (G = b.value) == null ? void 0 : G.querySelector(".vuecal__scrollable"), X = v ? v * D.timeCellHeight / D.timeStep : 0;
|
|
854
857
|
F == null || F.scrollTo({ top: X, behavior: "smooth" });
|
|
855
858
|
}
|
|
856
859
|
function E() {
|
|
857
|
-
const
|
|
858
|
-
k(
|
|
860
|
+
const v = /* @__PURE__ */ new Date();
|
|
861
|
+
k(v.getHours() * 60 + v.getMinutes());
|
|
859
862
|
}
|
|
860
863
|
function Y() {
|
|
861
864
|
k(0);
|
|
862
865
|
}
|
|
863
866
|
const z = $(() => p.getViewEvents(_.value)), I = p.createEvent, ae = p.deleteEvent;
|
|
864
|
-
return me(() => D.view, (
|
|
867
|
+
return me(() => D.view, (v) => oe(v, !1)), me(() => D.availableViews, pe), me(() => D.datePicker, () => oe("month", !1)), me(() => D.viewDate, (v) => B(v, !1)), me(() => D.selectedDate, (v) => Q(v, !1)), me(() => D.startWeekOnSunday, (v) => he(v)), me(() => D.hideWeekends, (v) => te(v)), me(() => D.hideWeekdays, u), me(() => s.value, () => {
|
|
865
868
|
s.value > 90 && console.warn("Vue Cal: high cell count detected. Performance may degrade when interactions are enabled.");
|
|
866
|
-
}), me(() => D.watchRealTime, (
|
|
867
|
-
|
|
869
|
+
}), me(() => D.watchRealTime, (v) => {
|
|
870
|
+
v && D.time ? M() : W = clearTimeout(W);
|
|
868
871
|
}), de(), D.time && D.watchRealTime && M(), Xe(() => W = clearTimeout(W)), {
|
|
869
872
|
now: i,
|
|
870
|
-
id:
|
|
873
|
+
id: m,
|
|
871
874
|
broaderView: L,
|
|
872
875
|
narrowerView: J,
|
|
873
876
|
title: ce,
|
|
@@ -880,7 +883,7 @@ const st = (D, n) => {
|
|
|
880
883
|
// Full range, including out of scope month days, and hidden leading/trailing days.
|
|
881
884
|
firstCellDate: l,
|
|
882
885
|
lastCellDate: t,
|
|
883
|
-
containsToday:
|
|
886
|
+
containsToday: d,
|
|
884
887
|
selectedDate: j,
|
|
885
888
|
cellDates: _,
|
|
886
889
|
cols: P,
|
|
@@ -906,22 +909,22 @@ const st = (D, n) => {
|
|
|
906
909
|
deleteEvent: ae,
|
|
907
910
|
// Getters.
|
|
908
911
|
get isDay() {
|
|
909
|
-
return
|
|
912
|
+
return m.value === "day";
|
|
910
913
|
},
|
|
911
914
|
get isDays() {
|
|
912
|
-
return
|
|
915
|
+
return m.value === "days";
|
|
913
916
|
},
|
|
914
917
|
get isWeek() {
|
|
915
|
-
return
|
|
918
|
+
return m.value === "week";
|
|
916
919
|
},
|
|
917
920
|
get isMonth() {
|
|
918
|
-
return
|
|
921
|
+
return m.value === "month";
|
|
919
922
|
},
|
|
920
923
|
get isYear() {
|
|
921
|
-
return
|
|
924
|
+
return m.value === "year";
|
|
922
925
|
},
|
|
923
926
|
get isYears() {
|
|
924
|
-
return
|
|
927
|
+
return m.value === "years";
|
|
925
928
|
}
|
|
926
929
|
};
|
|
927
930
|
}, lt = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"], rt = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], ot = "Years", it = "Year", ut = "Month", ct = "Week", dt = "Days", vt = "Day", mt = "Today", ft = "No Event", gt = "All day", ht = "Delete", yt = "Create an event", Dt = "dddd, MMMM D, YYYY", Ke = {
|
|
@@ -1095,7 +1098,7 @@ const st = (D, n) => {
|
|
|
1095
1098
|
const n = Ne("vuecal"), { view: r, config: h } = n, p = () => {
|
|
1096
1099
|
h.clickToNavigate && r.broader();
|
|
1097
1100
|
}, b = $(() => h.clickToNavigate ? { click: p } : {});
|
|
1098
|
-
return (H,
|
|
1101
|
+
return (H, m) => (S(), O("div", Ft, [
|
|
1099
1102
|
N(H.$slots, "header", {
|
|
1100
1103
|
view: V(r),
|
|
1101
1104
|
availableViews: V(h).availableViews,
|
|
@@ -1113,7 +1116,7 @@ const st = (D, n) => {
|
|
|
1113
1116
|
V(h).titleBar ? (S(), O("nav", zt, [
|
|
1114
1117
|
ge("button", {
|
|
1115
1118
|
class: De(["vuecal__nav vuecal__nav--prev", { "vuecal__nav--default": !H.$slots["previous-button"] }]),
|
|
1116
|
-
onClick:
|
|
1119
|
+
onClick: m[0] || (m[0] = (...j) => V(r).previous && V(r).previous(...j)),
|
|
1117
1120
|
type: "button"
|
|
1118
1121
|
}, [
|
|
1119
1122
|
N(H.$slots, "previous-button")
|
|
@@ -1153,7 +1156,7 @@ const st = (D, n) => {
|
|
|
1153
1156
|
}) : (S(), O("button", {
|
|
1154
1157
|
key: 1,
|
|
1155
1158
|
class: De(["vuecal__nav vuecal__nav--today vuecal__nav--default", { "vuecal__nav--active": V(r).containsToday }]),
|
|
1156
|
-
onClick:
|
|
1159
|
+
onClick: m[1] || (m[1] = (j) => !V(r).containsToday && V(r).goToToday()),
|
|
1157
1160
|
disabled: !!V(r).containsToday,
|
|
1158
1161
|
type: "button",
|
|
1159
1162
|
innerHTML: V(n).texts.today
|
|
@@ -1161,7 +1164,7 @@ const st = (D, n) => {
|
|
|
1161
1164
|
], 64)) : U("", !0),
|
|
1162
1165
|
ge("button", {
|
|
1163
1166
|
class: De(["vuecal__nav vuecal__nav--next", { "vuecal__nav--default": !H.$slots["next-button"] }]),
|
|
1164
|
-
onClick:
|
|
1167
|
+
onClick: m[2] || (m[2] = (...j) => V(r).next && V(r).next(...j)),
|
|
1165
1168
|
type: "button"
|
|
1166
1169
|
}, [
|
|
1167
1170
|
N(H.$slots, "next-button")
|
|
@@ -1185,7 +1188,7 @@ const st = (D, n) => {
|
|
|
1185
1188
|
}, Ut = ["innerHTML"], qt = {
|
|
1186
1189
|
__name: "headings-bar",
|
|
1187
1190
|
setup(D) {
|
|
1188
|
-
const n = Ne("vuecal"), { view: r, config: h, dateUtils: p } = n, b = $(() => h.xs ? "day-xs" : h.sm || r.isDays || r.isMonth ? "day-sm" : "day"), H = $(() => (r.isDay || r.isDays || r.isWeek || r.isMonth) && !(r.isDay && !h.schedules)),
|
|
1191
|
+
const n = Ne("vuecal"), { view: r, config: h, dateUtils: p } = n, b = $(() => h.xs ? "day-xs" : h.sm || r.isDays || r.isMonth ? "day-sm" : "day"), H = $(() => (r.isDay || r.isDays || r.isWeek || r.isMonth) && !(r.isDay && !h.schedules)), m = $(() => r.cellDates.slice(0, r.cols).map(({ start: i }) => ({
|
|
1189
1192
|
id: Re[i.getDay()],
|
|
1190
1193
|
date: i,
|
|
1191
1194
|
dateNumber: i.getDate(),
|
|
@@ -1200,7 +1203,7 @@ const st = (D, n) => {
|
|
|
1200
1203
|
};
|
|
1201
1204
|
return (i, f) => H.value ? (S(), O("div", Bt, [
|
|
1202
1205
|
V(r).isDay ? U("", !0) : (S(), O("div", It, [
|
|
1203
|
-
(S(!0), O(ne, null, be(
|
|
1206
|
+
(S(!0), O(ne, null, be(m.value, (T, W) => (S(), O("div", {
|
|
1204
1207
|
class: De(["vuecal__weekday", { "vuecal__weekday--today": T.isToday }]),
|
|
1205
1208
|
key: W,
|
|
1206
1209
|
onClick: (R) => j.click(T.date)
|
|
@@ -1216,7 +1219,7 @@ const st = (D, n) => {
|
|
|
1216
1219
|
], 10, Rt))), 128))
|
|
1217
1220
|
])),
|
|
1218
1221
|
V(h).schedules ? (S(), O("div", Jt, [
|
|
1219
|
-
(S(!0), O(ne, null, be(
|
|
1222
|
+
(S(!0), O(ne, null, be(m.value, (T, W) => (S(), O(ne, { key: W }, [
|
|
1220
1223
|
(S(!0), O(ne, null, be(V(h).schedules, (R, o) => (S(), O(ne, { key: o }, [
|
|
1221
1224
|
i.$slots["schedule-heading"] ? (S(), O("div", {
|
|
1222
1225
|
key: 0,
|
|
@@ -1241,11 +1244,11 @@ const st = (D, n) => {
|
|
|
1241
1244
|
setup(D) {
|
|
1242
1245
|
const n = Ne("vuecal"), { config: r, texts: h } = n, p = $(() => {
|
|
1243
1246
|
const b = [];
|
|
1244
|
-
for (let
|
|
1245
|
-
const j =
|
|
1247
|
+
for (let m = r.timeFrom; m < r.timeTo; m += r.timeStep) {
|
|
1248
|
+
const j = m + r.timeStep > r.timeTo, i = ~~(m / 60), f = m % 60, T = h[m < 720 ? "am" : "pm"];
|
|
1246
1249
|
let W = null;
|
|
1247
|
-
j && (W = `calc(var(--vuecal-time-cell-height) * ${(r.timeTo -
|
|
1248
|
-
minutesSum:
|
|
1250
|
+
j && (W = `calc(var(--vuecal-time-cell-height) * ${(r.timeTo - m) / r.timeStep})`), b.push({
|
|
1251
|
+
minutesSum: m,
|
|
1249
1252
|
// The sum of hours + minutes in minutes.
|
|
1250
1253
|
hours: i,
|
|
1251
1254
|
minutes: f,
|
|
@@ -1257,20 +1260,20 @@ const st = (D, n) => {
|
|
|
1257
1260
|
return b;
|
|
1258
1261
|
});
|
|
1259
1262
|
return (b, H) => (S(), O("div", Zt, [
|
|
1260
|
-
(S(!0), O(ne, null, be(p.value, (
|
|
1263
|
+
(S(!0), O(ne, null, be(p.value, (m, j) => (S(), O("div", {
|
|
1261
1264
|
class: "vuecal__time-cell",
|
|
1262
1265
|
key: j,
|
|
1263
|
-
style: ke({ height:
|
|
1266
|
+
style: ke({ height: m.height || null })
|
|
1264
1267
|
}, [
|
|
1265
1268
|
N(b.$slots, "time-cell", {
|
|
1266
1269
|
index: j,
|
|
1267
|
-
minutes:
|
|
1268
|
-
hours:
|
|
1269
|
-
minutesSum:
|
|
1270
|
-
format12:
|
|
1271
|
-
format24:
|
|
1270
|
+
minutes: m.minutes,
|
|
1271
|
+
hours: m.hours,
|
|
1272
|
+
minutesSum: m.minutesSum,
|
|
1273
|
+
format12: m.formatted12,
|
|
1274
|
+
format24: m.formatted24
|
|
1272
1275
|
}, () => [
|
|
1273
|
-
ge("label", null, re(V(r).twelveHour ?
|
|
1276
|
+
ge("label", null, re(V(r).twelveHour ? m.formatted12 : m.formatted24), 1)
|
|
1274
1277
|
])
|
|
1275
1278
|
], 4))), 128))
|
|
1276
1279
|
]));
|
|
@@ -1285,7 +1288,7 @@ const st = (D, n) => {
|
|
|
1285
1288
|
},
|
|
1286
1289
|
emits: ["event-drag-start", "event-drag-end", "event-resize-start", "event-resize-end"],
|
|
1287
1290
|
setup(D, { emit: n }) {
|
|
1288
|
-
const { config: r, view: h, dnd: p, touch: b, dateUtils: H } = Ne("vuecal"),
|
|
1291
|
+
const { config: r, view: h, dnd: p, touch: b, dateUtils: H } = Ne("vuecal"), m = D, j = ie(null), i = $e(m.event), f = $e({
|
|
1289
1292
|
dragging: !1,
|
|
1290
1293
|
resizing: !1,
|
|
1291
1294
|
fromResizer: !1,
|
|
@@ -1383,11 +1386,11 @@ const st = (D, n) => {
|
|
|
1383
1386
|
const l = ((t = s.touches) == null ? void 0 : t[0]) || s;
|
|
1384
1387
|
f.fromResizer = l.target.matches(".vuecal__event-resizer, .vuecal__event-resizer *");
|
|
1385
1388
|
const _ = j.value.getBoundingClientRect();
|
|
1386
|
-
f.startX = (((C = s.touches) == null ? void 0 : C[0]) || s).clientX - _.left, f.startY = (((L = s.touches) == null ? void 0 : L[0]) || s).clientY - _.top, f.startPercentageX = f.startX * 100 / _.width, f.startPercentageY = f.startY * 100 / _.height, f.cellEl = j.value.closest(".vuecal__cell"), f.resizeStartDate = i.start, A(s.type === "touchstart" ? "touchmove" : "mousemove",
|
|
1389
|
+
f.startX = (((C = s.touches) == null ? void 0 : C[0]) || s).clientX - _.left, f.startY = (((L = s.touches) == null ? void 0 : L[0]) || s).clientY - _.top, f.startPercentageX = f.startX * 100 / _.width, f.startPercentageY = f.startY * 100 / _.height, f.cellEl = j.value.closest(".vuecal__cell"), f.resizeStartDate = i.start, A(s.type === "touchstart" ? "touchmove" : "mousemove", d), A(s.type === "touchstart" ? "touchend" : "mouseup", g, { once: !0 }), f.holdTimer = setTimeout(() => {
|
|
1387
1390
|
var J, Z;
|
|
1388
1391
|
f.holding = !0, (Z = (J = c.value).hold) == null || Z.call(J, { e: s, event: i });
|
|
1389
1392
|
}, 1e3);
|
|
1390
|
-
},
|
|
1393
|
+
}, d = async (s) => {
|
|
1391
1394
|
var _, t, C, L;
|
|
1392
1395
|
const l = ((_ = s.touches) == null ? void 0 : _[0]) || s;
|
|
1393
1396
|
if (f.fromResizer && !f.resizing && (f.resizing = !0, f.resizingOriginalEvent = { ...i, _: { ...i._ } }, b.isResizingEvent = !0, (C = (t = c.value).resizeStart) == null || C.call(t, { e: s, event: i })), f.holdTimer = clearTimeout(f.holdTimer), f.holding = !1, f.cellEl) {
|
|
@@ -1418,7 +1421,7 @@ const st = (D, n) => {
|
|
|
1418
1421
|
overlaps: i.getOverlappingEvents({ start: t, end: C })
|
|
1419
1422
|
})), i.start = L === !1 ? (f.resizingLastAcceptedEvent || f.resizingOriginalEvent).start : ((l = f.resizingLastAcceptedEvent) == null ? void 0 : l.start) || t, i.end = L === !1 ? (f.resizingLastAcceptedEvent || f.resizingOriginalEvent).end : ((_ = f.resizingLastAcceptedEvent) == null ? void 0 : _.end) || C, i._.duration < 1 && (i.start = f.resizingOriginalEvent.start, i.end = f.resizingOriginalEvent.end), b.isResizingEvent = !1;
|
|
1420
1423
|
}
|
|
1421
|
-
document.removeEventListener(s.type === "touchend" ? "touchmove" : "mousemove",
|
|
1424
|
+
document.removeEventListener(s.type === "touchend" ? "touchmove" : "mousemove", d), f.resizing = !1, f.fromResizer = !1, f.dragging = !1, f.startX = 0, f.startY = 0, f.moveX = 0, f.moveY = 0, f.startPercentageX = 0, f.startPercentageY = 0, f.movePercentageX = 0, f.movePercentageY = 0, f.cellEl = null, f.resizeStartDate = null, f.resizingOriginalEvent = null, f.resizingLastAcceptedEvent = null, f.schedule = null;
|
|
1422
1425
|
}, M = (s) => {
|
|
1423
1426
|
const l = new Date(s.start.getFullYear(), s.start.getMonth(), s.start.getDate());
|
|
1424
1427
|
new Date(l).setDate(l.getDate() + 1);
|
|
@@ -1507,7 +1510,7 @@ const st = (D, n) => {
|
|
|
1507
1510
|
index: { type: Number, required: !0 }
|
|
1508
1511
|
},
|
|
1509
1512
|
setup(D) {
|
|
1510
|
-
const n = D, r = Ne("vuecal"), { view: h, config: p, dateUtils: b, eventsManager: H, dnd:
|
|
1513
|
+
const n = D, r = Ne("vuecal"), { view: h, config: p, dateUtils: b, eventsManager: H, dnd: m, touch: j } = r, i = $(() => b.isToday(n.start)), f = ie(null), T = ie([]), W = ie(!1), R = (u) => {
|
|
1511
1514
|
T.value.push(u.detail), W.value = !0;
|
|
1512
1515
|
}, o = () => setTimeout(() => W.value = !1, 300), c = $e({
|
|
1513
1516
|
dragging: !1,
|
|
@@ -1530,7 +1533,7 @@ const st = (D, n) => {
|
|
|
1530
1533
|
movePercentageX: 0,
|
|
1531
1534
|
movePercentageY: 0,
|
|
1532
1535
|
schedule: null
|
|
1533
|
-
}), e = ie(!1),
|
|
1536
|
+
}), e = ie(!1), d = ie({ cellOverlaps: {}, longestStreak: 0 }), g = $(() => {
|
|
1534
1537
|
let u = Math.min(c.startPercentageY, c.movePercentageY), k = Math.max(c.startPercentageY, c.movePercentageY), E = Pe(u, p), Y = Pe(k, p);
|
|
1535
1538
|
return p.snapToInterval && (E = b.snapToInterval(E, p.snapToInterval), Y = b.snapToInterval(Y, p.snapToInterval), u = Ve(E, p), k = Ve(Y, p)), {
|
|
1536
1539
|
style: {
|
|
@@ -1586,14 +1589,14 @@ const st = (D, n) => {
|
|
|
1586
1589
|
}), C = $(() => {
|
|
1587
1590
|
const u = {};
|
|
1588
1591
|
for (const k of l.value) {
|
|
1589
|
-
const E = k._.id, { maxConcurrent: Y = 1, position: z = 0 } =
|
|
1592
|
+
const E = k._.id, { maxConcurrent: Y = 1, position: z = 0 } = d.value.cellOverlaps[E] || {};
|
|
1590
1593
|
u[E] = { left: `${100 / Y * z}%` }, p.stackEvents ? u[E].width = `${100 / Y + (z === Y - 1 ? 0 : 15)}%` : u[E].width = `${100 / Y}%`;
|
|
1591
1594
|
}
|
|
1592
1595
|
return u;
|
|
1593
1596
|
}), L = $(() => {
|
|
1594
1597
|
const u = {};
|
|
1595
1598
|
for (const k of l.value) {
|
|
1596
|
-
const E = k._.id, { maxConcurrent: Y = 1, position: z = 0 } =
|
|
1599
|
+
const E = k._.id, { maxConcurrent: Y = 1, position: z = 0 } = d.value.cellOverlaps[E] || {};
|
|
1597
1600
|
u[E] = `vuecal__event--stack-${z + 1}-${Y}`;
|
|
1598
1601
|
}
|
|
1599
1602
|
return u;
|
|
@@ -1604,13 +1607,13 @@ const st = (D, n) => {
|
|
|
1604
1607
|
let k = (E = p.specialHours) == null ? void 0 : E[u];
|
|
1605
1608
|
if (k)
|
|
1606
1609
|
return Array.isArray(k) || (k = [k]), k.map((Y) => {
|
|
1607
|
-
let { from: z, to: I, class: ae, label:
|
|
1610
|
+
let { from: z, to: I, class: ae, label: v } = Y;
|
|
1608
1611
|
if (isNaN(z) || isNaN(I) || p.timeFrom >= I || p.timeTo <= z) return;
|
|
1609
1612
|
z = Math.max(p.timeFrom, z), I = Math.min(p.timeTo, I);
|
|
1610
1613
|
const F = Ve(z, p), X = Ve(I, p) - F;
|
|
1611
1614
|
return {
|
|
1612
1615
|
style: { top: `${F}%`, height: `${X}%` },
|
|
1613
|
-
label:
|
|
1616
|
+
label: v,
|
|
1614
1617
|
class: ae
|
|
1615
1618
|
};
|
|
1616
1619
|
}).filter((Y) => !!Y);
|
|
@@ -1631,8 +1634,8 @@ const st = (D, n) => {
|
|
|
1631
1634
|
const u = { ...p.eventListeners.cell };
|
|
1632
1635
|
for (const [Y, z] of Object.entries(u))
|
|
1633
1636
|
u[Y] = (I) => {
|
|
1634
|
-
var ae,
|
|
1635
|
-
(F = (
|
|
1637
|
+
var ae, v, F;
|
|
1638
|
+
(F = (v = I.target || ((ae = I.e) == null ? void 0 : ae.target)).closest) != null && F.call(v, ".vuecal__event") || z(I.type ? { e: I, cell: K.value, cursor: x.value } : I);
|
|
1636
1639
|
};
|
|
1637
1640
|
const k = { ...u };
|
|
1638
1641
|
let E = null;
|
|
@@ -1653,9 +1656,9 @@ const st = (D, n) => {
|
|
|
1653
1656
|
}), k.dblclick && (u.dblclick = (Y) => {
|
|
1654
1657
|
var z;
|
|
1655
1658
|
(z = k.dblclick) == null || z.call(k, { e: Y, cell: K.value, cursor: ee(Y) });
|
|
1656
|
-
}), p.editableEvents.drag && (u.dragenter = (Y) =>
|
|
1657
|
-
Y.preventDefault(),
|
|
1658
|
-
}, u.dragleave = (Y) =>
|
|
1659
|
+
}), p.editableEvents.drag && (u.dragenter = (Y) => m.cellDragEnter(Y, K.value), u.dragover = (Y) => {
|
|
1660
|
+
Y.preventDefault(), m.cellDragOver(Y, K.value);
|
|
1661
|
+
}, u.dragleave = (Y) => m.cellDragLeave(Y, K.value), u.drop = (Y) => m.cellDragDrop(Y, K.value)), u;
|
|
1659
1662
|
}), K = $(() => ({
|
|
1660
1663
|
start: n.start,
|
|
1661
1664
|
end: n.end,
|
|
@@ -1687,10 +1690,10 @@ const st = (D, n) => {
|
|
|
1687
1690
|
c.holding = !0, (I = (z = oe.value).hold) == null || I.call(z, { e: u, cell: K.value, cursor: x.value });
|
|
1688
1691
|
}, 1e3);
|
|
1689
1692
|
}, y = (u) => {
|
|
1690
|
-
var E, Y, z, I, ae,
|
|
1691
|
-
c.dragging || (j.isDraggingCell = !0, (Y = (E = oe.value)
|
|
1693
|
+
var E, Y, z, I, ae, v;
|
|
1694
|
+
c.dragging || (j.isDraggingCell = !0, (Y = (E = oe.value)["drag-start"]) == null || Y.call(E, { e: u, cell: K.value, cursor: x.value })), c.dragging = !0, c.holdTimer = clearTimeout(c.holdTimer), c.holding = !1;
|
|
1692
1695
|
const k = f.value.getBoundingClientRect();
|
|
1693
|
-
c.moveX = (((z = u.touches) == null ? void 0 : z[0]) || u).clientX - k.left, c.moveY = (((I = u.touches) == null ? void 0 : I[0]) || u).clientY - k.top, c.movePercentageX = c.moveX * 100 / k.width, c.movePercentageY = c.moveY * 100 / k.height, p.eventCreateMinDrag && Math.abs(c.startY - c.moveY) > p.eventCreateMinDrag && (c.thresholdPassed = !0), (
|
|
1696
|
+
c.moveX = (((z = u.touches) == null ? void 0 : z[0]) || u).clientX - k.left, c.moveY = (((I = u.touches) == null ? void 0 : I[0]) || u).clientY - k.top, c.movePercentageX = c.moveX * 100 / k.width, c.movePercentageY = c.moveY * 100 / k.height, p.eventCreateMinDrag && Math.abs(c.startY - c.moveY) > p.eventCreateMinDrag && (c.thresholdPassed = !0), (v = (ae = oe.value).drag) == null || v.call(ae, { e: u, cell: K.value, cursor: x.value });
|
|
1694
1697
|
}, B = async (u) => {
|
|
1695
1698
|
var k, E;
|
|
1696
1699
|
document.removeEventListener(u.type === "touchend" ? "touchmove" : "mousemove", y, { passive: !1 }), c.dragging && ((E = (k = oe.value)["drag-end"]) == null || E.call(k, { e: u, cell: K.value, cursor: x.value }), j.isDraggingCell = !1, p.editableEvents.create && (e.value = !0, await Q(u), e.value = !1)), c.holdTimer = clearTimeout(c.holdTimer), c.holding = !1, c.dragging = !1, c.startX = 0, c.startY = 0, c.moveX = 0, c.moveY = 0, c.startPercentageX = 0, c.startPercentageY = 0, c.movePercentageX = 0, c.movePercentageY = 0, c.thresholdPassed = !1, c.schedule = null;
|
|
@@ -1701,15 +1704,15 @@ const st = (D, n) => {
|
|
|
1701
1704
|
let I = { ...g.value, start: k, end: E };
|
|
1702
1705
|
const { create: ae } = p.eventListeners.event;
|
|
1703
1706
|
if (typeof ae == "function") {
|
|
1704
|
-
const
|
|
1705
|
-
I = await new Promise((F) => ae({ e: u, event: I, cell: K.value, resolve: F, cursor: x.value })), I && typeof I == "object" && h.createEvent(I), I && typeof I == "boolean" && h.createEvent(
|
|
1707
|
+
const v = I;
|
|
1708
|
+
I = await new Promise((F) => ae({ e: u, event: I, cell: K.value, resolve: F, cursor: x.value })), I && typeof I == "object" && h.createEvent(I), I && typeof I == "boolean" && h.createEvent(v);
|
|
1706
1709
|
} else h.createEvent(I);
|
|
1707
1710
|
}, he = () => {
|
|
1708
1711
|
var u;
|
|
1709
1712
|
for (const k of Object.keys(oe.value))
|
|
1710
1713
|
(u = f.value) == null || u.removeEventListener(k, oe.value[k]);
|
|
1711
1714
|
}, te = () => {
|
|
1712
|
-
|
|
1715
|
+
d.value = H.getCellOverlappingEvents(A.value);
|
|
1713
1716
|
};
|
|
1714
1717
|
return me(
|
|
1715
1718
|
// Watch event IDs and start/end dates (only) to detect event resizing/dnd.
|
|
@@ -1853,7 +1856,7 @@ const st = (D, n) => {
|
|
|
1853
1856
|
}, fa = {
|
|
1854
1857
|
__name: "body",
|
|
1855
1858
|
setup(D) {
|
|
1856
|
-
const n = Ne("vuecal"), { view: r, config: h, dateUtils: p } = n, b = ie(null), H = ie(null),
|
|
1859
|
+
const n = Ne("vuecal"), { view: r, config: h, dateUtils: p } = n, b = ie(null), H = ie(null), m = $(() => ({
|
|
1857
1860
|
"--vuecal-grid-columns": r.cols,
|
|
1858
1861
|
"--vuecal-grid-rows": r.rows
|
|
1859
1862
|
})), j = $(() => {
|
|
@@ -1878,7 +1881,7 @@ const st = (D, n) => {
|
|
|
1878
1881
|
class: "vuecal__body",
|
|
1879
1882
|
ref_key: "bodyEl",
|
|
1880
1883
|
ref: b,
|
|
1881
|
-
style: ke(
|
|
1884
|
+
style: ke(m.value)
|
|
1882
1885
|
}, [
|
|
1883
1886
|
Oe(Ge, { name: "vuecal-shrink" }, {
|
|
1884
1887
|
default: q(() => [
|
|
@@ -1956,41 +1959,43 @@ const st = (D, n) => {
|
|
|
1956
1959
|
"update:events",
|
|
1957
1960
|
"event-delete",
|
|
1958
1961
|
"event-created",
|
|
1959
|
-
"event-dropped"
|
|
1962
|
+
"event-dropped",
|
|
1963
|
+
"event-drag-start",
|
|
1964
|
+
"event-drag-end"
|
|
1960
1965
|
],
|
|
1961
1966
|
setup(D, { expose: n, emit: r }) {
|
|
1962
|
-
const h = D, p = r, b = _t("vuecal-el"), H = Ot({ props: h, emit: p, attrs: bt(), vuecalEl: b, uid: kt() }), { config:
|
|
1967
|
+
const h = D, p = r, b = _t("vuecal-el"), H = Ot({ props: h, emit: p, attrs: bt(), vuecalEl: b, uid: kt() }), { config: m, view: j, dateUtils: i, touch: f } = H, T = $(() => m.time && (j.isDay || j.isDays || j.isWeek)), W = $(() => Array(j.rows).fill().map((e, d) => i.getWeek(i.addDays(j.firstCellDate, 7 * d)))), R = $(() => {
|
|
1963
1968
|
var e;
|
|
1964
1969
|
return {
|
|
1965
|
-
"vuecal--ready":
|
|
1966
|
-
[`vuecal--${
|
|
1967
|
-
[`vuecal--${
|
|
1968
|
-
"vuecal--date-picker":
|
|
1969
|
-
"vuecal--dark":
|
|
1970
|
-
"vuecal--light": !
|
|
1970
|
+
"vuecal--ready": m.ready,
|
|
1971
|
+
[`vuecal--${m.theme}-theme`]: m.theme,
|
|
1972
|
+
[`vuecal--${m.size}`]: !0,
|
|
1973
|
+
"vuecal--date-picker": m.datePicker,
|
|
1974
|
+
"vuecal--dark": m.dark,
|
|
1975
|
+
"vuecal--light": !m.dark,
|
|
1971
1976
|
[`vuecal--${j.id}-view`]: !0,
|
|
1972
1977
|
"vuecal--view-has-time": T.value,
|
|
1973
|
-
"vuecal--timeless": !
|
|
1978
|
+
"vuecal--timeless": !m.time,
|
|
1974
1979
|
"vuecal--dragging-cell": f.isDraggingCell,
|
|
1975
1980
|
"vuecal--dragging-event": f.isDraggingEvent,
|
|
1976
1981
|
"vuecal--resizing-event": f.isResizingEvent,
|
|
1977
|
-
"vuecal--has-schedules": (e =
|
|
1982
|
+
"vuecal--has-schedules": (e = m.schedules) == null ? void 0 : e.length
|
|
1978
1983
|
};
|
|
1979
1984
|
}), o = $(() => ({
|
|
1980
|
-
"--vuecal-time-cell-height":
|
|
1985
|
+
"--vuecal-time-cell-height": m.timeCellHeight && `${m.timeCellHeight}px`
|
|
1981
1986
|
})), c = $(() => {
|
|
1982
|
-
var e,
|
|
1987
|
+
var e, d;
|
|
1983
1988
|
return {
|
|
1984
|
-
"vuecal__scrollable--row": T.value ||
|
|
1989
|
+
"vuecal__scrollable--row": T.value || m.weekNumbers && j.isMonth,
|
|
1985
1990
|
// Keep the states inside the Vue transition wrapper for smooth CSS transitions.
|
|
1986
1991
|
[`vuecal__scrollable--${j.id}-view`]: !0,
|
|
1987
|
-
"vuecal__scrollable--has-schedules": (e =
|
|
1988
|
-
"vuecal__scrollable--no-schedules": !((
|
|
1992
|
+
"vuecal__scrollable--has-schedules": (e = m.schedules) == null ? void 0 : e.length,
|
|
1993
|
+
"vuecal__scrollable--no-schedules": !((d = m.schedules) != null && d.length)
|
|
1989
1994
|
};
|
|
1990
1995
|
});
|
|
1991
1996
|
return qe(async () => {
|
|
1992
|
-
await Ue(),
|
|
1993
|
-
}), Tt("vuecal", H), n({ view: H.view }), (e,
|
|
1997
|
+
await Ue(), m.ready = !0, p("ready", { config: m, view: j });
|
|
1998
|
+
}), Tt("vuecal", H), n({ view: H.view }), (e, d) => (S(), O("div", {
|
|
1994
1999
|
class: De(["vuecal", R.value]),
|
|
1995
2000
|
ref: "vuecal-el",
|
|
1996
2001
|
"data-locale": e.locale,
|
|
@@ -2062,7 +2067,7 @@ const st = (D, n) => {
|
|
|
2062
2067
|
key: "0"
|
|
2063
2068
|
} : void 0
|
|
2064
2069
|
]), 1024)) : U("", !0),
|
|
2065
|
-
V(
|
|
2070
|
+
V(m).weekNumbers && V(j).isMonth ? (S(), O("div", ya, [
|
|
2066
2071
|
(S(!0), O(ne, null, be(W.value, (g) => (S(), O("div", Da, [
|
|
2067
2072
|
N(e.$slots, "week-number", {}, () => [
|
|
2068
2073
|
ge("small", null, re(g), 1)
|