devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
34 lines (33 loc) • 1.39 kB
JavaScript
/**
* DevExtreme (esm/ui/scheduler/appointments/resizing/utils.js)
* Version: 22.1.9
* Build date: Tue Apr 18 2023
*
* Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
var normalizeDate = (options, date, sourceDate, isStartDate) => {
if (!options.considerTime) {
return date
}
var result = new Date(date);
result.setHours(sourceDate.getHours(), sourceDate.getMinutes(), sourceDate.getSeconds());
var {
startDayHour: startDayHour,
endDayHour: endDayHour,
appointmentSettings: {
allDay: allDay
}
} = options;
var minDate = new Date(date);
var maxDate = new Date(date);
minDate.setHours(startDayHour, 0, 0, 0);
maxDate.setHours(endDayHour, 0, 0, 0);
var isDateOutInterval = isStartDate ? result < minDate.getTime() || result >= maxDate.getTime() : result <= minDate.getTime() || result > maxDate.getTime();
if (isDateOutInterval) {
result = !allDay ? maxDate : minDate
}
return result
};
export var normalizeStartDate = (options, startDate, sourceStartDate) => normalizeDate(options, startDate, sourceStartDate, true);
export var normalizeEndDate = (options, endDate, sourceEndDate) => normalizeDate(options, endDate, sourceEndDate, false);