summaryrefslogtreecommitdiff
path: root/public/js/fullcalendar/packages/moment
diff options
context:
space:
mode:
Diffstat (limited to 'public/js/fullcalendar/packages/moment')
-rw-r--r--public/js/fullcalendar/packages/moment/index.global.js113
-rw-r--r--public/js/fullcalendar/packages/moment/index.global.min.js6
2 files changed, 119 insertions, 0 deletions
diff --git a/public/js/fullcalendar/packages/moment/index.global.js b/public/js/fullcalendar/packages/moment/index.global.js
new file mode 100644
index 0000000..0133d4a
--- /dev/null
+++ b/public/js/fullcalendar/packages/moment/index.global.js
@@ -0,0 +1,113 @@
1/*!
2FullCalendar Moment Plugin v6.1.17
3Docs & License: https://fullcalendar.io/docs/moment-plugin
4(c) 2024 Adam Shaw
5*/
6FullCalendar.Moment = (function (exports, core, moment, internal) {
7 'use strict';
8
9 function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
10
11 var moment__default = /*#__PURE__*/_interopDefault(moment);
12
13 function toMoment(date, calendar) {
14 if (!(calendar instanceof internal.CalendarImpl)) {
15 throw new Error('must supply a CalendarApi instance');
16 }
17 let { dateEnv } = calendar.getCurrentData();
18 return convertToMoment(date, dateEnv.timeZone, null, dateEnv.locale.codes[0]);
19 }
20 function toMomentDuration(fcDuration) {
21 return moment__default["default"].duration(fcDuration); // moment accepts all the props that fc.Duration already has!
22 }
23 // Internal Utils
24 function convertToMoment(input, timeZone, timeZoneOffset, locale) {
25 let mom;
26 if (timeZone === 'local') {
27 mom = moment__default["default"](input);
28 }
29 else if (timeZone === 'UTC') {
30 mom = moment__default["default"].utc(input);
31 }
32 else if (moment__default["default"].tz) {
33 mom = moment__default["default"].tz(input, timeZone);
34 }
35 else {
36 mom = moment__default["default"].utc(input);
37 if (timeZoneOffset != null) {
38 mom.utcOffset(timeZoneOffset);
39 }
40 }
41 mom.locale(locale);
42 return mom;
43 }
44
45 function formatWithCmdStr(cmdStr, arg) {
46 let cmd = parseCmdStr(cmdStr);
47 if (arg.end) {
48 let startMom = convertToMoment(arg.start.array, arg.timeZone, arg.start.timeZoneOffset, arg.localeCodes[0]);
49 let endMom = convertToMoment(arg.end.array, arg.timeZone, arg.end.timeZoneOffset, arg.localeCodes[0]);
50 return formatRange(cmd, createMomentFormatFunc(startMom), createMomentFormatFunc(endMom), arg.defaultSeparator);
51 }
52 return convertToMoment(arg.date.array, arg.timeZone, arg.date.timeZoneOffset, arg.localeCodes[0]).format(cmd.whole); // TODO: test for this
53 }
54 function createMomentFormatFunc(mom) {
55 return (cmdStr) => (cmdStr ? mom.format(cmdStr) : '' // because calling with blank string results in ISO8601 :(
56 );
57 }
58 function parseCmdStr(cmdStr) {
59 let parts = cmdStr.match(/^(.*?)\{(.*)\}(.*)$/); // TODO: lookbehinds for escape characters
60 if (parts) {
61 let middle = parseCmdStr(parts[2]);
62 return {
63 head: parts[1],
64 middle,
65 tail: parts[3],
66 whole: parts[1] + middle.whole + parts[3],
67 };
68 }
69 return {
70 head: null,
71 middle: null,
72 tail: null,
73 whole: cmdStr,
74 };
75 }
76 function formatRange(cmd, formatStart, formatEnd, separator) {
77 if (cmd.middle) {
78 let startHead = formatStart(cmd.head);
79 let startMiddle = formatRange(cmd.middle, formatStart, formatEnd, separator);
80 let startTail = formatStart(cmd.tail);
81 let endHead = formatEnd(cmd.head);
82 let endMiddle = formatRange(cmd.middle, formatStart, formatEnd, separator);
83 let endTail = formatEnd(cmd.tail);
84 if (startHead === endHead && startTail === endTail) {
85 return startHead +
86 (startMiddle === endMiddle ? startMiddle : startMiddle + separator + endMiddle) +
87 startTail;
88 }
89 }
90 let startWhole = formatStart(cmd.whole);
91 let endWhole = formatEnd(cmd.whole);
92 if (startWhole === endWhole) {
93 return startWhole;
94 }
95 return startWhole + separator + endWhole;
96 }
97
98 var plugin = core.createPlugin({
99 name: '@fullcalendar/moment',
100 cmdFormatter: formatWithCmdStr,
101 });
102
103 core.globalPlugins.push(plugin);
104
105 exports["default"] = plugin;
106 exports.toMoment = toMoment;
107 exports.toMomentDuration = toMomentDuration;
108
109 Object.defineProperty(exports, '__esModule', { value: true });
110
111 return exports;
112
113})({}, FullCalendar, moment, FullCalendar.Internal);
diff --git a/public/js/fullcalendar/packages/moment/index.global.min.js b/public/js/fullcalendar/packages/moment/index.global.min.js
new file mode 100644
index 0000000..73be539
--- /dev/null
+++ b/public/js/fullcalendar/packages/moment/index.global.min.js
@@ -0,0 +1,6 @@
1/*!
2FullCalendar Moment Plugin v6.1.17
3Docs & License: https://fullcalendar.io/docs/moment-plugin
4(c) 2024 Adam Shaw
5*/
6FullCalendar.Moment=function(e,t,l,n){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}var r=a(l);function u(e,t,l,n){let a;return"local"===t?a=r.default(e):"UTC"===t?a=r.default.utc(e):r.default.tz?a=r.default.tz(e,t):(a=r.default.utc(e),null!=l&&a.utcOffset(l)),a.locale(n),a}function o(e){return t=>t?e.format(t):""}var d=t.createPlugin({name:"@fullcalendar/moment",cmdFormatter:function(e,t){let l=function e(t){let l=t.match(/^(.*?)\{(.*)\}(.*)$/);if(l){let t=e(l[2]);return{head:l[1],middle:t,tail:l[3],whole:l[1]+t.whole+l[3]}}return{head:null,middle:null,tail:null,whole:t}}(e);if(t.end){let e=u(t.start.array,t.timeZone,t.start.timeZoneOffset,t.localeCodes[0]),n=u(t.end.array,t.timeZone,t.end.timeZoneOffset,t.localeCodes[0]);return function e(t,l,n,a){if(t.middle){let r=l(t.head),u=e(t.middle,l,n,a),o=l(t.tail),d=n(t.head),i=e(t.middle,l,n,a),f=n(t.tail);if(r===d&&o===f)return r+(u===i?u:u+a+i)+o}let r=l(t.whole),u=n(t.whole);if(r===u)return r;return r+a+u}(l,o(e),o(n),t.defaultSeparator)}return u(t.date.array,t.timeZone,t.date.timeZoneOffset,t.localeCodes[0]).format(l.whole)}});return t.globalPlugins.push(d),e.default=d,e.toMoment=function(e,t){if(!(t instanceof n.CalendarImpl))throw new Error("must supply a CalendarApi instance");let{dateEnv:l}=t.getCurrentData();return u(e,l.timeZone,null,l.locale.codes[0])},e.toMomentDuration=function(e){return r.default.duration(e)},Object.defineProperty(e,"__esModule",{value:!0}),e}({},FullCalendar,moment,FullCalendar.Internal); \ No newline at end of file