For the double click you should use:
eventDoubleClickHandling: "Enabled",
onEventDoubleClick: function(args) {
// open modal here, event details are in args.e
}
The context menu item should look like this:
contextMenu: new DayPilot.Menu({
items: [
{
text: "Edit",
onClick: function(args) {
// open modal here, event details are in args.source
}
}
]
});
The modal dialog needs to be a standalone page that accepts the event id in its URL, lets say "/edit?id=123".
You can open the modal like this:
var modal = new DayPilot.Modal({
onClose: function(args) {
// work with args.result here
}
});
modal.showUrl("/edit?id=" + args.e.id());
Inside this page, you need to add "Save" button that closes the modal and sends data back to onClose. Inline onclick attribute is used for brevity:
<button onclick="DayPilot.Modal.close('saved');">Save</button>
And a "Cancel" button would look like this:
<button onclick="DayPilot.Modal.close()">Cancel</button>
More on the modal here:
https://code.daypilot.org/81367/daypilot-modal