HiI’ve change my code fro works with new version 2022
The system return an error on row: 2471 Uncaught ReferenceError: DateTime is not defined2471: var minDate = DateTime.fromJSDate(date2).add(+60, ‘minutes’).format(‘YYYY-MM-DD HH’);Luxon is activate native or I need to activate it?
<script>
loadjs.ready("load", function () {
// Startup script
//load datetimepicker
//var locale = moment.locale('it');
//loadjs.ready
var bsk1;
loadjs.ready(["fbookingsadd", "datetimepicker"], function () {
let format = "<?= DateFormat(117) ?>",
options = {
localization: {
locale: ew.LANGUAGE_ID,
numberingSystem: ew.getNumberingSystem()
},
display: {
format,
components: {
hours: !!format.match(/h/i),
minutes: !!format.match(/m/),
seconds: !!format.match(/s/i)
},
icons: {
previous: ew.IS_RTL ? "fas fa-chevron-right" : "fas fa-chevron-left",
next: ew.IS_RTL ? "fas fa-chevron-left" : "fas fa-chevron-right"
}
}
};
ew.createDateTimePicker("fbookingsadd", "x_Ora_i", jQuery.extend(true, {"useCurrent":false}, options));
ew.createDateTimePicker("fbookingsadd", "x_Ora_f", jQuery.extend(true, {"useCurrent":false}, options));
//add maxDate
var date = new Date();
var maxDate = DateTime.fromJSDate(date).add(+10, 'days').format('YYYY-MM-DD');
//add minDate
var date2 = new Date();
var minDate = DateTime.fromJSDate(date2).add(+60, 'minutes').format('YYYY-MM-DD HH');
$('#x_Ora_i').datetimepicker({
locale: 'it',
format: 'YYYY-MM-DD HH:mm',
toolbarPlacement: 'bottom',
buttons: {
showToday: false,
showClear: true,
showClose: false
},
//useCurrents: true,
inline: true,
widgetPositioning:{
horizontal: 'left',
vertical: 'bottom'
},
sideBySide: true,
collapse: true,
daysOfWeekDisabled: [0],//0 Sunday 6 Saturday
stepping: 60,
minDate: minDate,//'now'
maxDate: maxDate
})
$(function () {$("#x_Ora_i").change();});
document.getElementById("x_Ora_i").change = function(){
$(function () {
//get hours for fix background
var getHour = DateTime.now($('#x_Ora_i').value()).format('HH');
$("#x_Ora_i").change($('.timepicker-hours td:contains("' + getHour + '")').toggleClass('active'));
});
//getDay for filter bks
var getDay = DateTime.now($('#x_Ora_i').value()).format('YYYY-MM-DD');
//alert(getDay);
//get row from Booking Ajax API
var object = "bookings",
data = { "url": ew.getApiUrl(["list", object])};
var res = ew.ajax(data);
if (res && res.success) {
var row = res[object];
var bks = [];
for (var i = 0; i < row.length; i++){
bks.push(row[i]['Ora_i']);//start booking date time
}
var bks = bks.filter(x => x.includes(getDay));//filter date select
var bks1 = [];
for (var i = 0; i < bks.length; i++){
bks1.push(moment(bks[i]).format('H'));
}
//console.log("bks1:"+bks1);
//add to array default range
bks1.push(0, 1, 2, 3, 4, 5, 6, 7, 20, 21, 22, 23);
}
//disable date
$('#x_Ora_i').datetimepicker('disabledHours', bks1);
//copy Ora_i to Ora_f
var date3 = $('#x_Ora_i').datetimepicker('date');
var date3 = DateTime.fromJSDate(date3);
var addDate = DateTime.fromJSDate(date3).add(+1, 'hours').format('YYYY-MM-DD HH:mm');//with moment
$('#x_Ora_f').value(addDate);
}
});
});
</script>