"use strict"; import $ from "jquery"; import Events from "../_events"; import "bootstrap-datepicker/dist/js/bootstrap-datepicker.js"; import "bootstrap-timepicker/js/bootstrap-timepicker.js"; const DatetimeUI = (($) => { // Constants const W = window; const D = document; const $Body = $("body"); const NAME = "jsDatetimeUI"; const DATA_KEY = NAME; const datepickerOptions = { autoclose: true, startDate: 0, //todayBtn: true, todayHighlight: true, clearBtn: true, }; class DatetimeUI { constructor(el) { console.log(`${NAME}: init`); const ui = this; const $el = $(el); ui._el = el; // datepicker if ($el.hasClass("date") || $el.attr("type") === "date") { const defaultDate = $el.attr("name").toLowerCase().indexOf("end") !== -1 ? "+4d" : "+3d"; $el.attr("readonly", "true"); $el.datepicker( $.extend( datepickerOptions, { defaultViewDate: defaultDate, multidate: $el.data("multidate"), }, $el.data() ) ); } // timepicker else if ($el.hasClass("time") || $el.attr("type") === "time") { $el.attr("readonly", "true"); $el .timepicker( $.extend( { snapToStep: true, icons: { up: "fas fa-chevron-up", down: "fas fa-chevron-down", }, }, $el.data() ) ) .on("show.timepicker", (e) => { const $el = $(e.currentTarget); const $dropdown = $Body.find(".bootstrap-timepicker-widget"); if (!$dropdown.find('[data-action="clear"]').length) { $dropdown .find("tbody") .append( '