$(document).ready(function () { setTimeout(ADis_OpenNextPlannedEvents, 5000); setTimeout(ADis_CollectPlannedEvents, 500); }); // - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- // - // - Collect Own Missions // - // - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- function ADis_CollectPlannedEvents() { var observer2 = new MutationObserver(function (mutations) { if (mutations[0].type == "childList") { if (mutations[0].addedNodes.length >= 1) { // do it here for (var i = 0; i < mutations[0].addedNodes.length; i++) ADis_ReadAndAddPlannedEvents(mutations[0].addedNodes[i].attributes.getNamedItem("mission_id").value) } } else { console.log("DEBUG PlannedEvents", mutations); } }); // Notify new alerts var targetNode2 = document.getElementById("mission_list_sicherheitswache"); observer2.observe(targetNode2, { attributes: false, //attributeFilter: ['class'], //attributeOldValue: true, characterData: false, characterDataOldValue: false, childList: true, subtree: false }); ADis_ReadAndAddPlannedEvents(); } function ADis_ReadAndAddPlannedEvents(MissionID) { if (typeof MissionID != "undefined") { ADis_AddPlannedEventsToQueue(MissionID); } else { $("#mission_list_sicherheitswache").find(".missionSideBarEntry").each(function () { MissionID = $(this).attr("mission_id"); // - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- // - // - Ambulance Service | Full-Automatic // - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- ADis_AddPlannedEventsToQueue(MissionID); }); } } function ADis_OpenNextPlannedEvents() { ADisSettings().then((setting) => { if (setting['MissionsOwn-Automatic'] == 'true') { return ADisDB.ADisMissionsOwn.where({ done: 'false' }).and(function (item) { return item.next_check > Math.floor(new Date().getTime() / 1000) }).limit(1) } }).then((Wunsch) => { if (Wunsch !== undefined) { return Wunsch.count(function (count) { if (count > 0) { return Wunsch.each((myWunsch) => { let MissionID = myWunsch.missionID; myWunsch.next_check = Math.floor(new Date().getTime() / 1000) + 300; return ADis_UpdatePlannedEvents(myWunsch).then(() => { if ($("#adis-plannedevents-frame").attr("mission_id") == "empty") { $("#adis-plannedevents-frame").attr("src", "https://www.leitstellenspiel.de/missions/" + MissionID); $("#adis-plannedevents-frame").attr("mission_id", MissionID); PlannedEventsFrameWatchDog = setTimeout(async function () { ADis_RemovePlannedEventsFromQueue(MissionID).then((deleteCount) => { // TODO: tellParent("ADisMissionDone(" + window.name + "," + MissionID + ");"); $("#adis-plannedevents-frame").attr("src", ""); $("#adis-plannedevents-frame").attr("mission_id", "empty"); setTimeout(ADis_OpenNextPlannedEvents, 1000); }); }, 5000); } else { setTimeout(ADis_OpenNextPlannedEvents, 5000); } }); }); } return setTimeout(ADis_OpenNextPlannedEvents, 5000); }); } return setTimeout(ADis_OpenNextPlannedEvents, 5000); }); } window.ADis_AddPlannedEventsToQueue = function ADis_AddPlannedEventsToQueue(MissionID) { return ADisDB.ADisMissionsOwn.add({ missionID: MissionID, done: 'false' }).catch((err) => {}) } window.ADis_UpdatePlannedEvents = function ADis_UpdatePlannedEvents(Mission) { return ADisDB.ADisMissionsOwn.put(Mission).catch((err) => {}) } window.ADis_UpdatePlannedEventsToDone = function ADis_UpdatePlannedEventsToDone(MissionID) { return ADisDB.ADisMissionsOwn.update(MissionID, { last_check: Math.floor(new Date().getTime() / 1000), next_check: Math.floor(new Date().getTime() / 1000) + 300 }).catch((err) => {console.error(err)}) } window.ADis_RemovePlannedEventsFromQueue = function ADis_RemovePlannedEventsFromQueue(MissionID) { return ADisDB.ADisMissionsOwn.where({ missionID: MissionID }).delete(); }