function setupDatepicker(wrapper) { "use strict"; var config = { dtLocal: { enableTime: true, altInput: true, altFormat: "j. F Y, H:i", // maybe interpolate these formats for locale dateFormat: "Y-m-dTH:i", time_24hr: true }, d: { altFormat: "j. F Y", dateFormat: "Y-m-d", altInput: true }, t: { enableTime: true, noCalendar: true, altFormat: "H:i", dateFormat: "H:i", altInput: true, time_24hr: true } }; Array.from(wrapper.querySelectorAll('input[type="date"]')).forEach(function(el) { flatpickr(el, config.d); }); Array.from(wrapper.querySelectorAll('input[type="time"]')).forEach(function(el) { flatpickr(el, config.t); }); Array.from(wrapper.querySelectorAll('input[type="datetime-local"]')).forEach(function(el) { flatpickr(el, config.dtLocal); }); } document.addEventListener('DOMContentLoaded', function() { var I18N = { filesSelected: 'Dateien ausgewählt', // TODO: interpolate these to be translated selectFile: 'Datei auswählen', selectFiles: 'Datei(en) auswählen', }; window.utils.setup('flatpickr', document.body, { setupFunction: setupDatepicker }); window.utils.setup('showHide', document.body); window.utils.setup('inputs', document.body, { i18n: I18N }); });