Theme Assets
This commit is contained in:
69
assets/vendor/flatpickr/plugins/momentPlugin.js
vendored
Normal file
69
assets/vendor/flatpickr/plugins/momentPlugin.js
vendored
Normal file
@@ -0,0 +1,69 @@
|
||||
(function (global, factory) {
|
||||
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
||||
typeof define === 'function' && define.amd ? define(factory) :
|
||||
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.momentPlugin = factory());
|
||||
}(this, (function () { 'use strict';
|
||||
|
||||
function getEventTarget(event) {
|
||||
try {
|
||||
if (typeof event.composedPath === "function") {
|
||||
var path = event.composedPath();
|
||||
return path[0];
|
||||
}
|
||||
return event.target;
|
||||
}
|
||||
catch (error) {
|
||||
return event.target;
|
||||
}
|
||||
}
|
||||
|
||||
function momentPlugin(config) {
|
||||
var moment = config.moment;
|
||||
return function (fp) {
|
||||
function captureIncrement(e) {
|
||||
var event = e;
|
||||
event.stopPropagation();
|
||||
var date = moment(fp.selectedDates[0]);
|
||||
var input = getEventTarget(event);
|
||||
var unit = Array.from(input.classList)
|
||||
.filter(function (name) { return name.startsWith("flatpickr-"); })
|
||||
.map(function (name) { return name.substring(10); })[0];
|
||||
var step = parseFloat(input.getAttribute("step"));
|
||||
date.add(step * event.delta, unit);
|
||||
fp.setDate(date.toDate());
|
||||
}
|
||||
return {
|
||||
parseDate: function (datestr, format) {
|
||||
return moment(datestr, format, true).toDate();
|
||||
},
|
||||
formatDate: function (date, format) {
|
||||
// locale can also be used
|
||||
var momentDate = moment(date);
|
||||
if (typeof fp.config.locale === "string") {
|
||||
momentDate.locale(fp.config.locale);
|
||||
}
|
||||
return momentDate.format(format);
|
||||
},
|
||||
onReady: function () {
|
||||
[fp.hourElement, fp.minuteElement, fp.secondElement].forEach(function (element) {
|
||||
return element &&
|
||||
element.addEventListener("increment", captureIncrement, {
|
||||
capture: true,
|
||||
});
|
||||
});
|
||||
},
|
||||
onDestroy: function () {
|
||||
[fp.hourElement, fp.minuteElement, fp.secondElement].forEach(function (element) {
|
||||
return element &&
|
||||
element.removeEventListener("increment", captureIncrement, {
|
||||
capture: true,
|
||||
});
|
||||
});
|
||||
},
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
return momentPlugin;
|
||||
|
||||
})));
|
||||
Reference in New Issue
Block a user