Hi Jason,
Thank you for contacting Syncfusion Support.
Yes, it is possible to change the mouse cursor to ‘not-allowed’ style on your specified scenario of dragging and resizing action. We have achieved it by making use of the appointmentHover event, where the default cursor style is changed to specific one. Other than stopping the drag and resize action alone on those appointments, it is also possible to avoid CRUD actions such as edit and delete operation on appointments by making use of the client-side events such as dragStart, resizeStart, appointmentWindowOpen and beforeAppointmentRemove which has been depicted in our prepared sample which can be viewed from the below link.
<Code>
$("#Schedule1").ejSchedule({
width: "100%",
height: "525px",
currentDate:new Date(2017,10,9),
dragStart: "onStart",
resizeStart: "onStart",
beforeAppointmentRemove: "onBeforeAppointmentRemove",
appointmentWindowOpen: "onAppointmentWindowOpen",
appointmentHover:"onAppointmentHover",
appointmentSettings: {
dataSource: [{Id: 1,
Subject: "Music Class",
StartTime: new Date("2017/11/11 06:00 AM"),
EndTime: new Date("2017/11/11 07:00 AM"),
Description: "Never Give up on Obstacles",
IsEditable: true,
},{
Id: 2,
Subject: "Meeting",
StartTime: new Date("2017/11/10 06:00 AM"),
EndTime: new Date("2017/11/10 07:00 AM"),
Description: "Status detail",
IsEditable: false
}],
id: "Id",
subject: "Subject",
startTime: "StartTime",
endTime: "EndTime",
description:"Description",
allDay: "AllDay",
recurrence: "Recurrence",
recurrenceRule: "RecurrenceRule",
isEditable: "IsEditable"
}
});
});
function onStart(args) {
if (!args.appointment.IsEditable) {
args.cancel =true;
}
}
function onAppointmentHover(args) {
if (!args.appointment.IsEditable) {
args.cancel =true; // To hide the close icon and other handlers
$("#Appointment_" + args.appointment.Id +"").css("cursor","not-allowed"); //to change the cursor
}
}
//This method to handle deleting the appointments
function onBeforeAppointmentRemove(args) {
if (!ej.isNullOrUndefined(args.appointment) && !args.appointment.IsEditable) {
args.cancel = true;
}
}
//This method to handle editing the appointments
function onAppointmentWindowOpen(args) {
if (!ej.isNullOrUndefined(args.appointment) && !args.appointment.IsEditable) {
args.cancel = true;
}
}
</Code>
Kindly check the above sample and let us know, if you need any further assistance on this.
Regards,
Nevitha.