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

Function createHandlers

codebase/sources/dhtmlxscheduler.es.js:1290–1417  ·  view source on GitHub ↗
(scheduler2)

Source from the content-addressed store, hash-verified

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

Callers 1

remoteEventsFunction · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected