From a4376cd14f563a4d9f29bf354381e9b83ec8f30a Mon Sep 17 00:00:00 2001 From: Johannes Meyer Date: Fri, 23 Jul 2021 13:01:52 +0200 Subject: [PATCH] datetime-picker.js: Don't append nodes to content.. ..but individual dynamic containers. fixes #4461 --- public/js/icinga/behavior/datetime-picker.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/public/js/icinga/behavior/datetime-picker.js b/public/js/icinga/behavior/datetime-picker.js index 36b9887af..d379071e5 100644 --- a/public/js/icinga/behavior/datetime-picker.js +++ b/public/js/icinga/behavior/datetime-picker.js @@ -73,12 +73,17 @@ server_format = _this.server_time_format; } + // Inject calendar container into a new empty div, inside the column/modal but outside the form. + // See https://github.com/flatpickr/flatpickr/issues/2054 for details. + var appendTo = document.createElement('div'); + this.form.parentNode.insertBefore(appendTo, this.form.nextSibling); + var enableTime = server_format !== _this.server_date_format; var disableDate = server_format === _this.server_time_format; var dateTimeFormatter = _this.createFormatter(! disableDate, enableTime); var options = { locale: _this.loadFlatpickrLocale(), - appendTo: this.form.parentNode, + appendTo: appendTo, altInput: true, enableTime: enableTime, noCalendar: disableDate, @@ -87,9 +92,6 @@ return format === this.dateFormat ? Flatpickr.formatDate(date, format, locale) : dateTimeFormatter.format(date); - }, - onOpen: function (selectedDates, dateStr, instance) { - _this.closePickers(instance); } };