MCPcopy Create free account
hub / github.com/DHTMLX/scheduler / createHandlers

Function createHandlers

codebase/sources/dhtmlxscheduler.js:1294–1421  ·  view source on GitHub ↗
(scheduler2)

Source from the content-addressed store, hash-verified

1292 }
1293 }
1294 function createHandlers(scheduler2) {
1295 function remoteUpdates(message2) {
1296 if (!message2 || !message2.event || !message2.event.id) {
1297 console.error("Invalid message format:", message2);
1298 return;
1299 }
1300 const { type, event: event2 } = message2;
1301 if (scheduler2._dp && scheduler2._dp._in_progress[event2.id]) {
1302 return;
1303 }
1304 if (type === "add-event" && scheduler2._dp) {
1305 for (const id in scheduler2._dp._in_progress) {
1306 if (scheduler2._dp.getState(id) === "inserted") {
1307 scheduler2._dp.attachEvent("onFullSync", function() {
1308 if (!scheduler2.getEvent(event2.id)) {
1309 processUpdate(type, event2);
1310 }
1311 }, { once: true });
1312 return;
1313 }
1314 }
1315 }
1316 processUpdate(type, event2);
1317 }
1318 function processUpdate(type, event2) {
1319 switch (type) {
1320 case "add-event":
1321 handleAddEvent(event2);
1322 break;
1323 case "update-event":
1324 handleUpdateEvent(event2);
1325 break;
1326 case "delete-event":
1327 handleDeleteEvent(event2);
1328 break;
1329 }
1330 }
1331 function ignore(code) {
1332 if (scheduler2._dp) {
1333 scheduler2._dp.ignore(code);
1334 } else {
1335 code();
1336 }
1337 }
1338 function handleAddEvent(eventData) {
1339 if (scheduler2.getEvent(eventData.id)) {
1340 console.warn(`Event with ID ${eventData.id} already exists. Skipping add.`);
1341 return;
1342 }
1343 if (typeof eventData.start_date === "string") {
1344 eventData.start_date = scheduler2.templates.parse_date(eventData.start_date);
1345 }
1346 if (typeof eventData.end_date === "string") {
1347 eventData.end_date = scheduler2.templates.parse_date(eventData.end_date);
1348 }
1349 if (eventData.original_start && typeof eventData.original_start === "string") {
1350 eventData.original_start = scheduler2.templates.parse_date(eventData.original_start);
1351 }

Callers 1

remoteEventsFunction · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected