devextreme
Version:
JavaScript/TypeScript Component Suite for Responsive Web Development
51 lines (50 loc) • 2.35 kB
JavaScript
/**
* DevExtreme (esm/__internal/scheduler/utils/get_targeted_appointment.js)
* Version: 25.2.5
* Build date: Fri Feb 20 2026
*
* Copyright (c) 2012 - 2026 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
import {
setAppointmentGroupValues
} from "./resource_manager/appointment_groups_utils";
import {
getLeafGroupValues
} from "./resource_manager/group_utils";
const setTargetedAppointmentResources = (rawAppointment, settings, resourceManager) => {
const {
groups: groups,
resourceById: resourceById,
groupsLeafs: groupsLeafs
} = resourceManager;
if (groups.length) {
const cellGroups = getLeafGroupValues(groupsLeafs, settings.groupIndex);
setAppointmentGroupValues(rawAppointment, resourceById, cellGroups)
}
};
export const getTargetedAppointmentFromInfo = function(rawAppointment, settings, dataAccessor, resourceManager) {
let usePartialDates = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : false;
const {
info: info
} = settings;
const rawTargetedAppointment = Object.assign({}, rawAppointment);
dataAccessor.set("startDate", rawTargetedAppointment, new Date(info.sourceAppointment.startDate));
dataAccessor.set("endDate", rawTargetedAppointment, new Date(info.sourceAppointment.endDate));
const displayDates = usePartialDates && "partialDates" in info ? info.partialDates : info.appointment;
rawTargetedAppointment.displayStartDate = new Date(displayDates.startDate);
rawTargetedAppointment.displayEndDate = new Date(displayDates.endDate);
setTargetedAppointmentResources(rawTargetedAppointment, settings, resourceManager);
return rawTargetedAppointment
};
export const getTargetedAppointment = (rawAppointment, settings, dataAccessor, resourceManager) => {
const startDate = dataAccessor.get("startDate", rawAppointment);
const endDate = dataAccessor.get("endDate", rawAppointment);
if (!("info" in settings)) {
return Object.assign({}, rawAppointment, {
displayStartDate: startDate,
displayEndDate: endDate
})
}
return getTargetedAppointmentFromInfo(rawAppointment, settings, dataAccessor, resourceManager)
};