devextreme
Version:
JavaScript/TypeScript Component Suite for Responsive Web Development
41 lines (40 loc) • 1.78 kB
JavaScript
/**
* DevExtreme (esm/__internal/scheduler/appointments_new/utils/get_targeted_appointment.js)
* Version: 25.2.8
* Build date: Mon Jun 08 2026
*
* Copyright (c) 2012 - 2026 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
import {
setAppointmentGroupValues
} from "../../../scheduler/utils/resource_manager/appointment_groups_utils";
import {
getLeafGroupValues
} from "../../../scheduler/utils/resource_manager/group_utils";
const setTargetedAppointmentResources = (targetedAppointment, appointmentViewModel, resourceManager) => {
const {
groups: groups,
resourceById: resourceById,
groupsLeafs: groupsLeafs
} = resourceManager;
if (groups.length) {
const cellGroups = getLeafGroupValues(groupsLeafs, appointmentViewModel.groupIndex);
setAppointmentGroupValues(targetedAppointment, resourceById, cellGroups)
}
};
export const getTargetedAppointment = (appointmentViewModel, dataAccessor, resourceManager) => {
const {
info: info,
itemData: itemData
} = appointmentViewModel;
const displayDates = "partialDates" in info ? info.partialDates : info.appointment;
const targetedAppointment = Object.assign({}, itemData, {
displayStartDate: new Date(displayDates.startDate),
displayEndDate: new Date(displayDates.endDate)
});
dataAccessor.set("startDate", targetedAppointment, new Date(info.sourceAppointment.startDate));
dataAccessor.set("endDate", targetedAppointment, new Date(info.sourceAppointment.endDate));
setTargetedAppointmentResources(targetedAppointment, appointmentViewModel, resourceManager);
return targetedAppointment
};