'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( '