Files
automatic-dispose/script/mission/opener-verbandmissions.js
2018-11-24 14:43:59 +01:00

118 lines
4.6 KiB
JavaScript

$(document).ready(function () {
setTimeout(ADis_OpenNextVerbandMissions, 5000);
setTimeout(ADis_CollectVerbandMissions, 500);
});
// - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
// -
// - Collect Verband Missions
// -
// - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
function ADis_CollectVerbandMissions() {
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_ReadAndAddVerbandMissions(mutations[0].addedNodes[i].attributes.getNamedItem("mission_id").value)
}
} else {
console.log("DEBUG VerbandMissions", mutations);
}
});
// Notify new alerts
var targetNode2 = document.getElementById("mission_list_alliance");
observer2.observe(targetNode2, {
attributes: false,
//attributeFilter: ['class'],
//attributeOldValue: true,
characterData: false,
characterDataOldValue: false,
childList: true,
subtree: false
});
ADis_ReadAndAddVerbandMissions();
}
function ADis_ReadAndAddVerbandMissions(MissionID) {
if (typeof MissionID != "undefined") {
ADis_AddVerbandMissionsToQueue(MissionID);
} else {
$("#mission_list_alliance").find(".missionSideBarEntry").each(function () {
MissionID = $(this).attr("mission_id");
// - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
// -
// - Ambulance Service | Full-Automatic
// - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
ADis_AddVerbandMissionsToQueue(MissionID);
});
}
}
function ADis_OpenNextVerbandMissions() {
ADisSettings().then((setting) => {
if (setting['Alliance-Automatic'] == 'true') {
return ADisDB.ADisVerbandMissions.where({
done: 'false'
}).limit(1)
}
}).then((Wunsch) => {
if (Wunsch !== undefined) {
return Wunsch.count(function (count) {
if (count > 0) {
return Wunsch.each((myWunsch) => {
let MissionID = myWunsch.missionID;
return ADis_UpdateVerbandMissionsToDone(MissionID).then(() => {
if ($("#adis-verbandmission-frame").attr("mission_id") == "empty") {
$("#adis-verbandmission-frame").attr("src", "https://www.leitstellenspiel.de/missions/" + MissionID);
$("#adis-verbandmission-frame").attr("mission_id", MissionID);
VerbandMissionsFrameWatchDog = setTimeout(async function () {
ADis_RemoveVerbandMissionsFromQueue(MissionID).then((deleteCount) => {
// TODO: tellParent("ADisMissionDone(" + window.name + "," + MissionID + ");");
$("#adis-verbandmission-frame").attr("src", "");
$("#adis-verbandmission-frame").attr("mission_id", "empty");
setTimeout(ADis_OpenNextVerbandMissions, 1000);
});
}, 5000);
}
});
});
}
return setTimeout(ADis_OpenNextVerbandMissions, 5000);
});
}
return setTimeout(ADis_OpenNextVerbandMissions, 5000);
});
}
window.ADis_AddVerbandMissionsToQueue = function ADis_AddVerbandMissionsToQueue(MissionID) {
return ADisDB.ADisMissionsVerband.add({
missionID: MissionID,
done: 'false'
}).catch((err) => {})
}
window.ADis_UpdateVerbandMissions = function ADis_UpdateVerbandMissions(Mission) {
return ADisDB.ADisMissionsVerband.put(Mission).catch((err) => {})
}
window.ADis_UpdateVerbandMissionsToDone = function ADis_UpdateVerbandMissionsToDone(MissionID) {
return ADisDB.ADisMissionsVerband.update(MissionID, {
missionID: MissionID,
done: 'true'
}).catch((err) => {})
}
window.ADis_RemoveVerbandMissionsFromQueue = function ADis_RemoveVerbandMissionsFromQueue(MissionID) {
return ADisDB.ADisMissionsVerband.where({
missionID: MissionID
}).delete();
}