Files
automatic-dispose/script/sprechwunsch/police-opener.js
2018-11-24 16:25:39 +01:00

87 lines
3.6 KiB
JavaScript
Executable File

$(document).ready(function () {
console.log('Police Sprechwunsch load: start');
setInterval(ADis_CollectPoliceSprechwuensche, 5000);
setInterval(ADis_OpenNextPoliceSprechwunsch, 5000);
ADis_CollectPoliceSprechwuensche();
});
// - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
// -
// - Assign & Unassign Missions to Dispatchers
// -
// - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
function ADis_CollectPoliceSprechwuensche() {
new Promise(async function (resolve, reject) {
await ADisDB.ADisSprechwunschPolice.where({
done: 'false'
}).each((myWunsch) => {
console.log('ADis_CollectPoliceSprechwuensche: remove', myWunsch);
if (!$("#mission_" + myWunsch.missionID).text().match(/Gefangene sollen abtransportiert werden/g)) {
$("#mission_" + myWunsch.missionID).remove();
return ADis_RemovePoliceSprechwunschFromQueue(myWunsch.missionID);
}
})
return resolve();
}).then(() => {
console.log('ADis_CollectPoliceSprechwuensche: add');
var MOIODOS = $('div#mission_list div.missionSideBarEntry:visible');
MOIODOS.each(function (index) {
console.log('ADis_CollectPoliceSprechwuensche: add', $(this).text().match(/Gefangene sollen abtransportiert werden/g));
if ($(this).text().match(/Gefangene sollen abtransportiert werden/g)) {
var MissionID = $(this).attr("mission_id");
ADis_AddPoliceSprechwunschToQueue(MissionID);
}
});
});
}
function ADis_OpenNextPoliceSprechwunsch() {
console.log('ADis_OpenNextPoliceSprechwunsch: start');
ADisSettings().then((setting) => {
if (setting['Sprechwunsch-Automatic'] == 'true') {
return ADisDB.ADisSprechwunschPolice.where({
done: 'false'
}).limit(1)
}
}).then((Wunsch) => {
console.log('ADis_OpenNextPoliceSprechwunsch:', Wunsch, typeof Wunsch);
if (Wunsch !== undefined) {
Wunsch.each((myWunsch) => {
console.log('ADis_OpenNextPoliceSprechwunsch: Wunsch_each', myWunsch, typeof myWunsch);
let MissionID = myWunsch.missionID;
ADis_UpdatePoliceSprechwunschToDone(MissionID).then(() => {
if ($("#adis-sprechwunsch-police-frame").attr("mission_id") == "empty") {
$("#adis-sprechwunsch-police-frame").attr("src", "https://www.leitstellenspiel.de/missions/" + MissionID);
$("#adis-sprechwunsch-police-frame").attr("mission_id", MissionID);
PoliceVehicleFrameWatchDog = setTimeout(async function (MissionID) {
ADis_RemovePoliceSprechwunschFromQueue(MissionID).then((deleteCount) => {
$("#adis-sprechwunsch-police-frame").attr("src", "");
$("#adis-sprechwunsch-police-frame").attr("mission_id", "empty");
});
}, 2500, MissionID);
}
});
});
}
});
}
function ADis_AddPoliceSprechwunschToQueue(WunschID) {
return ADisDB.ADisSprechwunschPolice.put({
missionID: WunschID,
done: 'false'
}).catch((err) => {})
}
function ADis_UpdatePoliceSprechwunschToDone(WunschID) {
console.log(WunschID, typeof WunschID);
return ADisDB.ADisSprechwunschPolice.add({
missionID: WunschID,
done: 'true'
}).catch((err) => {})
}