mirror of
https://gitlab.com/TheGamecraft/c-cms.git
synced 2026-04-26 04:39:09 -04:00
Add Material Design for Public and Admin
This commit is contained in:
102
resources/assets/fullcalendar/moment/main.esm.js
vendored
Normal file
102
resources/assets/fullcalendar/moment/main.esm.js
vendored
Normal file
@@ -0,0 +1,102 @@
|
||||
/*!
|
||||
FullCalendar Moment Plugin v4.3.0
|
||||
Docs & License: https://fullcalendar.io/
|
||||
(c) 2019 Adam Shaw
|
||||
*/
|
||||
|
||||
import * as momentNs from 'moment';
|
||||
import { createPlugin, Calendar } from '@fullcalendar/core';
|
||||
|
||||
var moment = momentNs; // the directly callable function
|
||||
function toMoment(date, calendar) {
|
||||
if (!(calendar instanceof Calendar)) {
|
||||
throw new Error('must supply a Calendar instance');
|
||||
}
|
||||
return convertToMoment(date, calendar.dateEnv.timeZone, null, calendar.dateEnv.locale.codes[0]);
|
||||
}
|
||||
function toDuration(fcDuration) {
|
||||
return moment.duration(fcDuration); // moment accepts all the props that fc.Duration already has!
|
||||
}
|
||||
function formatWithCmdStr(cmdStr, arg) {
|
||||
var cmd = parseCmdStr(cmdStr);
|
||||
if (arg.end) {
|
||||
var startMom = convertToMoment(arg.start.array, arg.timeZone, arg.start.timeZoneOffset, arg.localeCodes[0]);
|
||||
var endMom = convertToMoment(arg.end.array, arg.timeZone, arg.end.timeZoneOffset, arg.localeCodes[0]);
|
||||
return formatRange(cmd, createMomentFormatFunc(startMom), createMomentFormatFunc(endMom), arg.separator);
|
||||
}
|
||||
return convertToMoment(arg.date.array, arg.timeZone, arg.date.timeZoneOffset, arg.localeCodes[0]).format(cmd.whole); // TODO: test for this
|
||||
}
|
||||
var main = createPlugin({
|
||||
cmdFormatter: formatWithCmdStr
|
||||
});
|
||||
function createMomentFormatFunc(mom) {
|
||||
return function (cmdStr) {
|
||||
return cmdStr ? mom.format(cmdStr) : ''; // because calling with blank string results in ISO8601 :(
|
||||
};
|
||||
}
|
||||
function convertToMoment(input, timeZone, timeZoneOffset, locale) {
|
||||
var mom;
|
||||
if (timeZone === 'local') {
|
||||
mom = moment(input);
|
||||
}
|
||||
else if (timeZone === 'UTC') {
|
||||
mom = moment.utc(input);
|
||||
}
|
||||
else if (moment.tz) {
|
||||
mom = moment.tz(input, timeZone);
|
||||
}
|
||||
else {
|
||||
mom = moment.utc(input);
|
||||
if (timeZoneOffset != null) {
|
||||
mom.utcOffset(timeZoneOffset);
|
||||
}
|
||||
}
|
||||
mom.locale(locale);
|
||||
return mom;
|
||||
}
|
||||
function parseCmdStr(cmdStr) {
|
||||
var parts = cmdStr.match(/^(.*?)\{(.*)\}(.*)$/); // TODO: lookbehinds for escape characters
|
||||
if (parts) {
|
||||
var middle = parseCmdStr(parts[2]);
|
||||
return {
|
||||
head: parts[1],
|
||||
middle: middle,
|
||||
tail: parts[3],
|
||||
whole: parts[1] + middle.whole + parts[3]
|
||||
};
|
||||
}
|
||||
else {
|
||||
return {
|
||||
head: null,
|
||||
middle: null,
|
||||
tail: null,
|
||||
whole: cmdStr
|
||||
};
|
||||
}
|
||||
}
|
||||
function formatRange(cmd, formatStart, formatEnd, separator) {
|
||||
if (cmd.middle) {
|
||||
var startHead = formatStart(cmd.head);
|
||||
var startMiddle = formatRange(cmd.middle, formatStart, formatEnd, separator);
|
||||
var startTail = formatStart(cmd.tail);
|
||||
var endHead = formatEnd(cmd.head);
|
||||
var endMiddle = formatRange(cmd.middle, formatStart, formatEnd, separator);
|
||||
var endTail = formatEnd(cmd.tail);
|
||||
if (startHead === endHead && startTail === endTail) {
|
||||
return startHead +
|
||||
(startMiddle === endMiddle ? startMiddle : startMiddle + separator + endMiddle) +
|
||||
startTail;
|
||||
}
|
||||
}
|
||||
var startWhole = formatStart(cmd.whole);
|
||||
var endWhole = formatEnd(cmd.whole);
|
||||
if (startWhole === endWhole) {
|
||||
return startWhole;
|
||||
}
|
||||
else {
|
||||
return startWhole + separator + endWhole;
|
||||
}
|
||||
}
|
||||
|
||||
export default main;
|
||||
export { toDuration, toMoment };
|
||||
Reference in New Issue
Block a user