From 98002ae853ef71b9c203db24dd8446a990427bc4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josef=20Fr=C3=B6hle?= Date: Wed, 19 Dec 2018 17:06:30 +0100 Subject: [PATCH] v2 transactions --- dist/autoloader.js | 2 +- dist/autoloaderV2.js | 316 ++++++++++++++++++++++++------------------- src/autoloaderV2.js | 314 +++++++++++++++++++++++------------------- 3 files changed, 354 insertions(+), 278 deletions(-) diff --git a/dist/autoloader.js b/dist/autoloader.js index f9ab269..a518e72 100755 --- a/dist/autoloader.js +++ b/dist/autoloader.js @@ -1,4 +1,4 @@ -/*Generated on:Wed Dec 19 2018 17:03:17 GMT+0100 (CET)*/ +/*Generated on:Wed Dec 19 2018 17:06:29 GMT+0100 (CET)*/ var AutomaticDispose_Branch = "master"; var AutomaticDispose_URL = "https://jf.git.rest/Jomaar/automatic-dispose/raw/branch/"; var da_lss_adis_time = new Date().getTime(); diff --git a/dist/autoloaderV2.js b/dist/autoloaderV2.js index 43baa29..bb0d598 100644 --- a/dist/autoloaderV2.js +++ b/dist/autoloaderV2.js @@ -1,4 +1,4 @@ -/*Generated on:Wed Dec 19 2018 17:03:17 GMT+0100 (CET)*/ +/*Generated on:Wed Dec 19 2018 17:06:29 GMT+0100 (CET)*/ /* * Dexie.js - a minimalistic wrapper for IndexedDB * =============================================== @@ -17201,14 +17201,26 @@ class AutomaticDispose { // - Sprechwunsch Queue // - RemovePoliceSprechwunschFromQueue(WunschID) { - return this.ADisDB.ADisSprechwunschPolice.where({ - missionID: WunschID - }).delete(); + let self = this; + return self.ADisDB.transaction('rw', [self.ADisDB.ADisSprechwunsch], async () => { + return this.ADisDB.ADisSprechwunschPolice.where({ + missionID: WunschID + }).delete(); + + }).catch((err) => { + console.error(err) + }) } RemoveRescueSprechwunschFromQueue(WunschID) { - return this.ADisDB.ADisSprechwunsch.where({ - vehicleID: WunschID - }).delete(); + let self = this; + return self.ADisDB.transaction('rw', [self.ADisDB.ADisSprechwunsch], async () => { + return this.ADisDB.ADisSprechwunsch.where({ + vehicleID: WunschID + }).delete(); + + }).catch((err) => { + console.error(err) + }) } // - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- @@ -17219,70 +17231,86 @@ class AutomaticDispose { CollectRescueSprechwuensche() { let self = this; - new Promise(async (resolve, reject) => { - await self.ADisDB.ADisSprechwunsch.where({ - done: 'false' - }).each((myWunsch) => { - if ($("#vehicle_list_" + myWunsch.vehicleID).find(".building_list_fms").text() != "5") { - self.RemoveRescueSprechwunschFromQueue(myWunsch.vehicleID); - } + return self.ADisDB.transaction('rw', [self.ADisDB.ADisSprechwunsch], async () => { + new Promise(async (resolve, reject) => { + await self.ADisDB.ADisSprechwunsch.where({ + done: 'false' + }).each((myWunsch) => { + if ($("#vehicle_list_" + myWunsch.vehicleID).find(".building_list_fms").text() != "5") { + self.RemoveRescueSprechwunschFromQueue(myWunsch.vehicleID); + } + }) + return resolve(); + }).then(() => { + $("#building_list").find(".building_list_vehicle_element").each((_, elem) => { + var VehicleStatus = $(elem).find(".building_list_fms").text(); + var VehicleType = Number(parseInt($(elem).find("a").attr("vehicle_type_id"))); + var VehicleID = $(elem).attr("vehicle_id"); + if (VehicleStatus == "5" && [32, 52].indexOf(VehicleType) === -1) { + self.AddRescueSprechwunschToQueue(VehicleID); + } + }); }) - return resolve(); - }).then(() => { - $("#building_list").find(".building_list_vehicle_element").each((_, elem) => { - var VehicleStatus = $(elem).find(".building_list_fms").text(); - var VehicleType = Number(parseInt($(elem).find("a").attr("vehicle_type_id"))); - var VehicleID = $(elem).attr("vehicle_id"); - if (VehicleStatus == "5" && [32, 52].indexOf(VehicleType) === -1) { - self.AddRescueSprechwunschToQueue(VehicleID); - } - }); - }); + }).catch((err) => { + console.error(err) + }) } OpenNextRescueSprechwunsch() { let self = this; - this.ADSettings().then((setting) => { - if (setting['Sprechwunsch-Automatic'] == 'true') { - return self.ADisDB.ADisSprechwunsch.where({ - done: 'false' - }).limit(1) - } - }).then((Wunsch) => { - if (Wunsch !== undefined) { - Wunsch.each((myWunsch) => { - let VehicleID = myWunsch.vehicleID; - self.UpdateRescueSprechwunschToDone(VehicleID).then(() => { - if ($("#adis-sprechwunsch-rescue-frame").attr("vehicle_id") == "empty") { - $("#adis-sprechwunsch-rescue-frame").attr("src", "https://www.leitstellenspiel.de/vehicles/" + VehicleID); - $("#adis-sprechwunsch-rescue-frame").attr("vehicle_id", VehicleID); + return self.ADisDB.transaction('rw', [self.ADisDB.ADisSprechwunsch], async () => { + this.ADSettings().then((setting) => { + if (setting['Sprechwunsch-Automatic'] == 'true') { + return self.ADisDB.ADisSprechwunsch.where({ + done: 'false' + }).limit(1) + } + }).then((Wunsch) => { + if (Wunsch !== undefined) { + Wunsch.each((myWunsch) => { + let VehicleID = myWunsch.vehicleID; + self.UpdateRescueSprechwunschToDone(VehicleID).then(() => { + if ($("#adis-sprechwunsch-rescue-frame").attr("vehicle_id") == "empty") { + $("#adis-sprechwunsch-rescue-frame").attr("src", "https://www.leitstellenspiel.de/vehicles/" + VehicleID); + $("#adis-sprechwunsch-rescue-frame").attr("vehicle_id", VehicleID); - self.RescueVehicleFrameWatchDog = setTimeout(async () => { - self.RemoveRescueSprechwunschFromQueue(VehicleID).then((deleteCount) => { - $("#adis-sprechwunsch-rescue-frame").attr("src", ""); - $("#adis-sprechwunsch-rescue-frame").attr("vehicle_id", "empty"); - }); - }, 1500); - } + self.RescueVehicleFrameWatchDog = setTimeout(async () => { + self.RemoveRescueSprechwunschFromQueue(VehicleID).then((deleteCount) => { + $("#adis-sprechwunsch-rescue-frame").attr("src", ""); + $("#adis-sprechwunsch-rescue-frame").attr("vehicle_id", "empty"); + }); + }, 1500); + } + }); }); - }); - } - }); + } + }) + }).catch((err) => { + console.error(err) + }) } AddRescueSprechwunschToQueue(WunschID) { - return this.ADisDB.ADisSprechwunsch.put({ - vehicleID: WunschID, - done: 'false' - }).catch((err) => {}) + return self.ADisDB.transaction('rw', [self.ADisDB.ADisSprechwunsch], async () => { + return this.ADisDB.ADisSprechwunsch.put({ + vehicleID: WunschID, + done: 'false' + }) + }).catch((err) => { + console.error(err) + }) } UpdateRescueSprechwunschToDone(WunschID) { - return this.ADisDB.ADisSprechwunsch.put({ - vehicleID: WunschID, - done: 'true' - }).catch((err) => {}) + return self.ADisDB.transaction('rw', [self.ADisDB.ADisSprechwunsch], async () => { + return this.ADisDB.ADisSprechwunsch.put({ + vehicleID: WunschID, + done: 'true' + }) + }).catch((err) => { + console.error(err) + }) } @@ -17393,41 +17421,45 @@ class AutomaticDispose { CollectPoliceSprechwuensche() { let self = this; - new Promise(async (resolve, reject) => { - await self.ADisDB.ADisSprechwunschPolice.where({ - done: 'false' - }).each((myWunsch) => { - if (!$("#mission_" + myWunsch.missionID).text().match(/Gefangene sollen abtransportiert werden/g)) { - $("#mission_" + myWunsch.missionID).remove(); - return self.RemovePoliceSprechwunschFromQueue(myWunsch.missionID); - } - }) - return resolve(); - }).then(() => { - var MOIODOS = $('div#mission_list div.missionSideBarEntry:visible'); - return MOIODOS.each((_, elem) => { - if ($(elem).text().match(/Gefangene sollen abtransportiert werden/g)) { - var MissionID = $(elem).attr("mission_id"); - self.AddPoliceSprechwunschToQueue(MissionID); - } - }); - }).then(() => { - $("#building_list").find(".building_list_vehicle_element").each((_, elem) => { - var VehicleStatus = $(elem).find(".building_list_fms").text(); - var VehicleType = Number(parseInt($(elem).find("a").attr("vehicle_type_id"))); - var VehicleID = $(elem).attr("vehicle_id"); - if (VehicleStatus == "5" && [32, 52].indexOf(VehicleType) !== -1) { - var map2 = $('#radio_messages_important > li.radio_message_vehicle_' + VehicleID + ' a:contains("Zum Einsatz")'); - if (map2.length > 0) { - var _meap = String(map2.attr('href')); - var MissionID = _meap.substr(_meap.lastIndexOf("/") + 1); - if (MissionID) { - self.AddPoliceSprechwunschToQueue(MissionID); + return self.ADisDB.transaction('rw', [self.ADisDB.ADisSprechwunschPolice], async () => { + new Promise(async (resolve, reject) => { + await self.ADisDB.ADisSprechwunschPolice.where({ + done: 'false' + }).each((myWunsch) => { + if (!$("#mission_" + myWunsch.missionID).text().match(/Gefangene sollen abtransportiert werden/g)) { + $("#mission_" + myWunsch.missionID).remove(); + return self.RemovePoliceSprechwunschFromQueue(myWunsch.missionID); + } + }) + return resolve(); + }).then(() => { + var MOIODOS = $('div#mission_list div.missionSideBarEntry:visible'); + return MOIODOS.each((_, elem) => { + if ($(elem).text().match(/Gefangene sollen abtransportiert werden/g)) { + var MissionID = $(elem).attr("mission_id"); + self.AddPoliceSprechwunschToQueue(MissionID); + } + }); + }).then(() => { + $("#building_list").find(".building_list_vehicle_element").each((_, elem) => { + var VehicleStatus = $(elem).find(".building_list_fms").text(); + var VehicleType = Number(parseInt($(elem).find("a").attr("vehicle_type_id"))); + var VehicleID = $(elem).attr("vehicle_id"); + if (VehicleStatus == "5" && [32, 52].indexOf(VehicleType) !== -1) { + var map2 = $('#radio_messages_important > li.radio_message_vehicle_' + VehicleID + ' a:contains("Zum Einsatz")'); + if (map2.length > 0) { + var _meap = String(map2.attr('href')); + var MissionID = _meap.substr(_meap.lastIndexOf("/") + 1); + if (MissionID) { + self.AddPoliceSprechwunschToQueue(MissionID); + } } } - } - }); - }); + }); + }) + }).catch((err) => { + console.error(err) + }) } OpenNextPoliceSprechwunsch() { @@ -17459,7 +17491,9 @@ class AutomaticDispose { }); } }) - }).catch((err) => {}) + }).catch((err) => { + console.error(err) + }) } AddPoliceSprechwunschToQueue(WunschID) { @@ -17469,7 +17503,9 @@ class AutomaticDispose { missionID: WunschID, done: 'false' }) - }).catch((err) => {}) + }).catch((err) => { + console.error(err) + }) } UpdatePoliceSprechwunschToDone(WunschID) { @@ -17479,7 +17515,9 @@ class AutomaticDispose { missionID: WunschID, done: 'true' }) - }).catch((err) => {}) + }).catch((err) => { + console.error(err) + }) } @@ -18139,34 +18177,34 @@ class AutomaticDispose { return self.ADisDB.transaction('rw', [self.ADisDB.ADisMissions, self.ADisDB.ADisAvailabelMissions], async () => { return self.ADSettings().then(async () => { return self.ADisDB.ADisMissions.toCollection() - }) - }).then((Missions) => { - if (typeof Missions !== "undefined") { - return Missions.count((count) => { - if (count > 0) { - return Missions.each((MyMission) => { - var MissionElement = $("#mission_" + MyMission.missionID); - if (MissionElement.length == 0 || $('#mission_panel_' + MyMission.missionID).hasClass('mission_panel_green')) { - // remove - console.log("Remove :", MyMission) - return self.RemoveMissionsFromQueue(MyMission.missionID) - } - }); - } - }); - } - }).then(() => { - - if (typeof MissionID != 'undefined') { - return self.AddMission(MissionID, Runner); - } else { - return self.ADisSettings.runner_divs.forEach(async (RunnerX, index) => { - await $("#" + RunnerX).find(".missionSideBarEntry").each(async (index, elem) => { - MissionID = $(elem).attr("mission_id"); - await self.AddMission(MissionID, RunnerX); + }).then((Missions) => { + if (typeof Missions !== "undefined") { + return Missions.count((count) => { + if (count > 0) { + return Missions.each((MyMission) => { + var MissionElement = $("#mission_" + MyMission.missionID); + if (MissionElement.length == 0 || $('#mission_panel_' + MyMission.missionID).hasClass('mission_panel_green')) { + // remove + console.log("Remove :", MyMission) + return self.RemoveMissionsFromQueue(MyMission.missionID) + } + }); + } }); - }) - } + } + }).then(() => { + + if (typeof MissionID != 'undefined') { + return self.AddMission(MissionID, Runner); + } else { + return self.ADisSettings.runner_divs.forEach(async (RunnerX, index) => { + await $("#" + RunnerX).find(".missionSideBarEntry").each(async (index, elem) => { + MissionID = $(elem).attr("mission_id"); + await self.AddMission(MissionID, RunnerX); + }); + }) + } + }) }).catch((err) => { console.error(err) });; @@ -18449,26 +18487,26 @@ class AutomaticDispose { 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) => { + console.table(mywunsch); + return self.MainHandler() + }); + } else { + return self.UpdateMissionsToDone(self.MissionID).then(() => { + return tellParent(`console.log('wunsch:1000:done:${window.name}:${self.MissionID}');window.AutomaticDisposeCall.FreeIframe('${self.MyRunner}');`); + }) + } + }); + } else { + return self.RemoveMissionsFromQueue(self.MissionID).then(() => { + return tellParent(`console.log('wunsch:2000:done:${window.name}:${self.MissionID}');window.AutomaticDisposeCall.FreeIframe('${self.MyRunner}');`); + }) + } }) - }).then((Wunsch) => { - if (Wunsch !== undefined) { - return Wunsch.count(function (count) { - if (count > 0) { - return Wunsch.each((mywunsch) => { - console.table(mywunsch); - return self.MainHandler() - }); - } else { - return self.UpdateMissionsToDone(self.MissionID).then(() => { - return tellParent(`console.log('wunsch:1000:done:${window.name}:${self.MissionID}');window.AutomaticDisposeCall.FreeIframe('${self.MyRunner}');`); - }) - } - }); - } else { - return self.RemoveMissionsFromQueue(self.MissionID).then(() => { - return tellParent(`console.log('wunsch:2000:done:${window.name}:${self.MissionID}');window.AutomaticDisposeCall.FreeIframe('${self.MyRunner}');`); - }) - } }).catch((err) => { console.error(err) }) diff --git a/src/autoloaderV2.js b/src/autoloaderV2.js index 50de851..3b70a60 100644 --- a/src/autoloaderV2.js +++ b/src/autoloaderV2.js @@ -194,14 +194,26 @@ class AutomaticDispose { // - Sprechwunsch Queue // - RemovePoliceSprechwunschFromQueue(WunschID) { - return this.ADisDB.ADisSprechwunschPolice.where({ - missionID: WunschID - }).delete(); + let self = this; + return self.ADisDB.transaction('rw', [self.ADisDB.ADisSprechwunsch], async () => { + return this.ADisDB.ADisSprechwunschPolice.where({ + missionID: WunschID + }).delete(); + + }).catch((err) => { + console.error(err) + }) } RemoveRescueSprechwunschFromQueue(WunschID) { - return this.ADisDB.ADisSprechwunsch.where({ - vehicleID: WunschID - }).delete(); + let self = this; + return self.ADisDB.transaction('rw', [self.ADisDB.ADisSprechwunsch], async () => { + return this.ADisDB.ADisSprechwunsch.where({ + vehicleID: WunschID + }).delete(); + + }).catch((err) => { + console.error(err) + }) } // - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- @@ -212,70 +224,86 @@ class AutomaticDispose { CollectRescueSprechwuensche() { let self = this; - new Promise(async (resolve, reject) => { - await self.ADisDB.ADisSprechwunsch.where({ - done: 'false' - }).each((myWunsch) => { - if ($("#vehicle_list_" + myWunsch.vehicleID).find(".building_list_fms").text() != "5") { - self.RemoveRescueSprechwunschFromQueue(myWunsch.vehicleID); - } + return self.ADisDB.transaction('rw', [self.ADisDB.ADisSprechwunsch], async () => { + new Promise(async (resolve, reject) => { + await self.ADisDB.ADisSprechwunsch.where({ + done: 'false' + }).each((myWunsch) => { + if ($("#vehicle_list_" + myWunsch.vehicleID).find(".building_list_fms").text() != "5") { + self.RemoveRescueSprechwunschFromQueue(myWunsch.vehicleID); + } + }) + return resolve(); + }).then(() => { + $("#building_list").find(".building_list_vehicle_element").each((_, elem) => { + var VehicleStatus = $(elem).find(".building_list_fms").text(); + var VehicleType = Number(parseInt($(elem).find("a").attr("vehicle_type_id"))); + var VehicleID = $(elem).attr("vehicle_id"); + if (VehicleStatus == "5" && [32, 52].indexOf(VehicleType) === -1) { + self.AddRescueSprechwunschToQueue(VehicleID); + } + }); }) - return resolve(); - }).then(() => { - $("#building_list").find(".building_list_vehicle_element").each((_, elem) => { - var VehicleStatus = $(elem).find(".building_list_fms").text(); - var VehicleType = Number(parseInt($(elem).find("a").attr("vehicle_type_id"))); - var VehicleID = $(elem).attr("vehicle_id"); - if (VehicleStatus == "5" && [32, 52].indexOf(VehicleType) === -1) { - self.AddRescueSprechwunschToQueue(VehicleID); - } - }); - }); + }).catch((err) => { + console.error(err) + }) } OpenNextRescueSprechwunsch() { let self = this; - this.ADSettings().then((setting) => { - if (setting['Sprechwunsch-Automatic'] == 'true') { - return self.ADisDB.ADisSprechwunsch.where({ - done: 'false' - }).limit(1) - } - }).then((Wunsch) => { - if (Wunsch !== undefined) { - Wunsch.each((myWunsch) => { - let VehicleID = myWunsch.vehicleID; - self.UpdateRescueSprechwunschToDone(VehicleID).then(() => { - if ($("#adis-sprechwunsch-rescue-frame").attr("vehicle_id") == "empty") { - $("#adis-sprechwunsch-rescue-frame").attr("src", "https://www.leitstellenspiel.de/vehicles/" + VehicleID); - $("#adis-sprechwunsch-rescue-frame").attr("vehicle_id", VehicleID); + return self.ADisDB.transaction('rw', [self.ADisDB.ADisSprechwunsch], async () => { + this.ADSettings().then((setting) => { + if (setting['Sprechwunsch-Automatic'] == 'true') { + return self.ADisDB.ADisSprechwunsch.where({ + done: 'false' + }).limit(1) + } + }).then((Wunsch) => { + if (Wunsch !== undefined) { + Wunsch.each((myWunsch) => { + let VehicleID = myWunsch.vehicleID; + self.UpdateRescueSprechwunschToDone(VehicleID).then(() => { + if ($("#adis-sprechwunsch-rescue-frame").attr("vehicle_id") == "empty") { + $("#adis-sprechwunsch-rescue-frame").attr("src", "https://www.leitstellenspiel.de/vehicles/" + VehicleID); + $("#adis-sprechwunsch-rescue-frame").attr("vehicle_id", VehicleID); - self.RescueVehicleFrameWatchDog = setTimeout(async () => { - self.RemoveRescueSprechwunschFromQueue(VehicleID).then((deleteCount) => { - $("#adis-sprechwunsch-rescue-frame").attr("src", ""); - $("#adis-sprechwunsch-rescue-frame").attr("vehicle_id", "empty"); - }); - }, 1500); - } + self.RescueVehicleFrameWatchDog = setTimeout(async () => { + self.RemoveRescueSprechwunschFromQueue(VehicleID).then((deleteCount) => { + $("#adis-sprechwunsch-rescue-frame").attr("src", ""); + $("#adis-sprechwunsch-rescue-frame").attr("vehicle_id", "empty"); + }); + }, 1500); + } + }); }); - }); - } - }); + } + }) + }).catch((err) => { + console.error(err) + }) } AddRescueSprechwunschToQueue(WunschID) { - return this.ADisDB.ADisSprechwunsch.put({ - vehicleID: WunschID, - done: 'false' - }).catch((err) => {}) + return self.ADisDB.transaction('rw', [self.ADisDB.ADisSprechwunsch], async () => { + return this.ADisDB.ADisSprechwunsch.put({ + vehicleID: WunschID, + done: 'false' + }) + }).catch((err) => { + console.error(err) + }) } UpdateRescueSprechwunschToDone(WunschID) { - return this.ADisDB.ADisSprechwunsch.put({ - vehicleID: WunschID, - done: 'true' - }).catch((err) => {}) + return self.ADisDB.transaction('rw', [self.ADisDB.ADisSprechwunsch], async () => { + return this.ADisDB.ADisSprechwunsch.put({ + vehicleID: WunschID, + done: 'true' + }) + }).catch((err) => { + console.error(err) + }) } @@ -386,41 +414,45 @@ class AutomaticDispose { CollectPoliceSprechwuensche() { let self = this; - new Promise(async (resolve, reject) => { - await self.ADisDB.ADisSprechwunschPolice.where({ - done: 'false' - }).each((myWunsch) => { - if (!$("#mission_" + myWunsch.missionID).text().match(/Gefangene sollen abtransportiert werden/g)) { - $("#mission_" + myWunsch.missionID).remove(); - return self.RemovePoliceSprechwunschFromQueue(myWunsch.missionID); - } - }) - return resolve(); - }).then(() => { - var MOIODOS = $('div#mission_list div.missionSideBarEntry:visible'); - return MOIODOS.each((_, elem) => { - if ($(elem).text().match(/Gefangene sollen abtransportiert werden/g)) { - var MissionID = $(elem).attr("mission_id"); - self.AddPoliceSprechwunschToQueue(MissionID); - } - }); - }).then(() => { - $("#building_list").find(".building_list_vehicle_element").each((_, elem) => { - var VehicleStatus = $(elem).find(".building_list_fms").text(); - var VehicleType = Number(parseInt($(elem).find("a").attr("vehicle_type_id"))); - var VehicleID = $(elem).attr("vehicle_id"); - if (VehicleStatus == "5" && [32, 52].indexOf(VehicleType) !== -1) { - var map2 = $('#radio_messages_important > li.radio_message_vehicle_' + VehicleID + ' a:contains("Zum Einsatz")'); - if (map2.length > 0) { - var _meap = String(map2.attr('href')); - var MissionID = _meap.substr(_meap.lastIndexOf("/") + 1); - if (MissionID) { - self.AddPoliceSprechwunschToQueue(MissionID); + return self.ADisDB.transaction('rw', [self.ADisDB.ADisSprechwunschPolice], async () => { + new Promise(async (resolve, reject) => { + await self.ADisDB.ADisSprechwunschPolice.where({ + done: 'false' + }).each((myWunsch) => { + if (!$("#mission_" + myWunsch.missionID).text().match(/Gefangene sollen abtransportiert werden/g)) { + $("#mission_" + myWunsch.missionID).remove(); + return self.RemovePoliceSprechwunschFromQueue(myWunsch.missionID); + } + }) + return resolve(); + }).then(() => { + var MOIODOS = $('div#mission_list div.missionSideBarEntry:visible'); + return MOIODOS.each((_, elem) => { + if ($(elem).text().match(/Gefangene sollen abtransportiert werden/g)) { + var MissionID = $(elem).attr("mission_id"); + self.AddPoliceSprechwunschToQueue(MissionID); + } + }); + }).then(() => { + $("#building_list").find(".building_list_vehicle_element").each((_, elem) => { + var VehicleStatus = $(elem).find(".building_list_fms").text(); + var VehicleType = Number(parseInt($(elem).find("a").attr("vehicle_type_id"))); + var VehicleID = $(elem).attr("vehicle_id"); + if (VehicleStatus == "5" && [32, 52].indexOf(VehicleType) !== -1) { + var map2 = $('#radio_messages_important > li.radio_message_vehicle_' + VehicleID + ' a:contains("Zum Einsatz")'); + if (map2.length > 0) { + var _meap = String(map2.attr('href')); + var MissionID = _meap.substr(_meap.lastIndexOf("/") + 1); + if (MissionID) { + self.AddPoliceSprechwunschToQueue(MissionID); + } } } - } - }); - }); + }); + }) + }).catch((err) => { + console.error(err) + }) } OpenNextPoliceSprechwunsch() { @@ -452,7 +484,9 @@ class AutomaticDispose { }); } }) - }).catch((err) => {}) + }).catch((err) => { + console.error(err) + }) } AddPoliceSprechwunschToQueue(WunschID) { @@ -462,7 +496,9 @@ class AutomaticDispose { missionID: WunschID, done: 'false' }) - }).catch((err) => {}) + }).catch((err) => { + console.error(err) + }) } UpdatePoliceSprechwunschToDone(WunschID) { @@ -472,7 +508,9 @@ class AutomaticDispose { missionID: WunschID, done: 'true' }) - }).catch((err) => {}) + }).catch((err) => { + console.error(err) + }) } @@ -898,34 +936,34 @@ class AutomaticDispose { return self.ADisDB.transaction('rw', [self.ADisDB.ADisMissions, self.ADisDB.ADisAvailabelMissions], async () => { return self.ADSettings().then(async () => { return self.ADisDB.ADisMissions.toCollection() - }) - }).then((Missions) => { - if (typeof Missions !== "undefined") { - return Missions.count((count) => { - if (count > 0) { - return Missions.each((MyMission) => { - var MissionElement = $("#mission_" + MyMission.missionID); - if (MissionElement.length == 0 || $('#mission_panel_' + MyMission.missionID).hasClass('mission_panel_green')) { - // remove - console.log("Remove :", MyMission) - return self.RemoveMissionsFromQueue(MyMission.missionID) - } - }); - } - }); - } - }).then(() => { - - if (typeof MissionID != 'undefined') { - return self.AddMission(MissionID, Runner); - } else { - return self.ADisSettings.runner_divs.forEach(async (RunnerX, index) => { - await $("#" + RunnerX).find(".missionSideBarEntry").each(async (index, elem) => { - MissionID = $(elem).attr("mission_id"); - await self.AddMission(MissionID, RunnerX); + }).then((Missions) => { + if (typeof Missions !== "undefined") { + return Missions.count((count) => { + if (count > 0) { + return Missions.each((MyMission) => { + var MissionElement = $("#mission_" + MyMission.missionID); + if (MissionElement.length == 0 || $('#mission_panel_' + MyMission.missionID).hasClass('mission_panel_green')) { + // remove + console.log("Remove :", MyMission) + return self.RemoveMissionsFromQueue(MyMission.missionID) + } + }); + } }); - }) - } + } + }).then(() => { + + if (typeof MissionID != 'undefined') { + return self.AddMission(MissionID, Runner); + } else { + return self.ADisSettings.runner_divs.forEach(async (RunnerX, index) => { + await $("#" + RunnerX).find(".missionSideBarEntry").each(async (index, elem) => { + MissionID = $(elem).attr("mission_id"); + await self.AddMission(MissionID, RunnerX); + }); + }) + } + }) }).catch((err) => { console.error(err) });; @@ -1208,26 +1246,26 @@ class AutomaticDispose { 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) => { + console.table(mywunsch); + return self.MainHandler() + }); + } else { + return self.UpdateMissionsToDone(self.MissionID).then(() => { + return tellParent(`console.log('wunsch:1000:done:${window.name}:${self.MissionID}');window.AutomaticDisposeCall.FreeIframe('${self.MyRunner}');`); + }) + } + }); + } else { + return self.RemoveMissionsFromQueue(self.MissionID).then(() => { + return tellParent(`console.log('wunsch:2000:done:${window.name}:${self.MissionID}');window.AutomaticDisposeCall.FreeIframe('${self.MyRunner}');`); + }) + } }) - }).then((Wunsch) => { - if (Wunsch !== undefined) { - return Wunsch.count(function (count) { - if (count > 0) { - return Wunsch.each((mywunsch) => { - console.table(mywunsch); - return self.MainHandler() - }); - } else { - return self.UpdateMissionsToDone(self.MissionID).then(() => { - return tellParent(`console.log('wunsch:1000:done:${window.name}:${self.MissionID}');window.AutomaticDisposeCall.FreeIframe('${self.MyRunner}');`); - }) - } - }); - } else { - return self.RemoveMissionsFromQueue(self.MissionID).then(() => { - return tellParent(`console.log('wunsch:2000:done:${window.name}:${self.MissionID}');window.AutomaticDisposeCall.FreeIframe('${self.MyRunner}');`); - }) - } }).catch((err) => { console.error(err) })