Compare commits
66 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 6b7008e2c7 | |||
| 13b2c5b265 | |||
| ad2c6bae21 | |||
| 94efbc9bad | |||
| 1327a4f52b | |||
| 700d2b21d9 | |||
| a0521d8299 | |||
| 6361749e0d | |||
| 729fe6c857 | |||
| bbdde391ae | |||
| d9d2ed799f | |||
| 9ab4be8f1a | |||
| 443539d9ed | |||
| be5a7ff61d | |||
| 39fe750cc0 | |||
| a266c208c5 | |||
| 1e605b01dd | |||
| 9cb3c40e90 | |||
| b900993fea | |||
| 9bf82dee21 | |||
| 87d19156a3 | |||
| f7886678c4 | |||
| a6ffa303a2 | |||
| d6fbec51db | |||
| c05df83bf6 | |||
| a39e55f04a | |||
| a5ab7bd80f | |||
| 4a29d9d4d4 | |||
| 5435c440ec | |||
| 1d1fe5f9f6 | |||
| c7f627f392 | |||
| b340b7c73d | |||
| ed8ace3876 | |||
| 120dd7e484 | |||
| 1947d7180e | |||
| 60f672bf97 | |||
| dadca832ce | |||
| 43d0da95b2 | |||
| 178d847871 | |||
| 27f1319162 | |||
| 8224bd00f3 | |||
| 9d3dd45181 | |||
| c25c4fe5e9 | |||
| 9de498b739 | |||
| b24f0dd1e3 | |||
| 166e53bbc8 | |||
| ae6419f63f | |||
| 95855b96a6 | |||
| e5c5432e78 | |||
| bc3239e3b2 | |||
| 57c86e788e | |||
| d7c8342728 | |||
| e9793a7c75 | |||
| 5df1b65598 | |||
| c80fe55df9 | |||
| d2c54b866f | |||
| c4a7390c72 | |||
| e78337b3be | |||
| 3030a230c8 | |||
| c836b158b4 | |||
| 00efc5ff9c | |||
| 66d44850cf | |||
| fca21d717a | |||
| f705576d9a | |||
| de918cf2f8 | |||
| 1517dbd7f0 |
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
/*Generated on:Mon Dec 17 2018 21:04:54 GMT+0100 (CET)*/
|
/*Generated on:Mon Dec 17 2018 20:00:28 GMT+0100 (CET)*/
|
||||||
var AutomaticDispose_Branch = "master";
|
var AutomaticDispose_Branch = "master";
|
||||||
var AutomaticDispose_URL = "https://jf.git.rest/Jomaar/automatic-dispose/raw/branch/";
|
var AutomaticDispose_URL = "https://jf.git.rest/Jomaar/automatic-dispose/raw/branch/";
|
||||||
var da_lss_adis_time = new Date().getTime();
|
var da_lss_adis_time = new Date().getTime();
|
||||||
|
|||||||
Vendored
+201
-175
@@ -1,4 +1,4 @@
|
|||||||
/*Generated on:Mon Dec 17 2018 21:04:54 GMT+0100 (CET)*/
|
/*Generated on:Mon Dec 17 2018 20:00:28 GMT+0100 (CET)*/
|
||||||
/*
|
/*
|
||||||
* Dexie.js - a minimalistic wrapper for IndexedDB
|
* Dexie.js - a minimalistic wrapper for IndexedDB
|
||||||
* ===============================================
|
* ===============================================
|
||||||
@@ -17448,6 +17448,7 @@ class AutomaticDispose {
|
|||||||
self.MaxVehicleID = 86
|
self.MaxVehicleID = 86
|
||||||
self.MissionType = null
|
self.MissionType = null
|
||||||
self.MissionID = null
|
self.MissionID = null
|
||||||
|
self.MissionData = null
|
||||||
self.MyRunner = null
|
self.MyRunner = null
|
||||||
self.MyRunnerSettings = null
|
self.MyRunnerSettings = null
|
||||||
self.OweSecure = false
|
self.OweSecure = false
|
||||||
@@ -17567,7 +17568,9 @@ class AutomaticDispose {
|
|||||||
}, 500);
|
}, 500);
|
||||||
|
|
||||||
self.ADisSettings.runner.forEach((runner) => {
|
self.ADisSettings.runner.forEach((runner) => {
|
||||||
self.OpenNextMission(runner)
|
if(['kt','om'].indexOf(runner) !== -1) {
|
||||||
|
self.OpenNextMission(runner)
|
||||||
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -18539,6 +18542,7 @@ class AutomaticDispose {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
const MyOwnObserver = new MutationObserver((mutations) => {
|
const MyOwnObserver = new MutationObserver((mutations) => {
|
||||||
mutations.forEach((mutation) => {
|
mutations.forEach((mutation) => {
|
||||||
// console.log(mutation.target.id);
|
// console.log(mutation.target.id);
|
||||||
@@ -18566,11 +18570,11 @@ class AutomaticDispose {
|
|||||||
|
|
||||||
ReadAndAddMissions(MissionID, Runner) {
|
ReadAndAddMissions(MissionID, Runner) {
|
||||||
const self = this;
|
const self = this;
|
||||||
return self.ADisDB.transaction('rw', [self.ADisDB.ADisMissions, self.ADisDB.ADisAvailabelMissions], () => {
|
return self.ADisDB.transaction('rw', [self.ADisDB.ADisMissions, self.ADisDB.ADisAvailabelMissions], async () => {
|
||||||
if (typeof MissionID != 'undefined') {
|
if (typeof MissionID != 'undefined') {
|
||||||
self.AddMission(MissionID, Runner);
|
await self.AddMission(MissionID, Runner);
|
||||||
} else {
|
} else {
|
||||||
self.ADisSettings.runner_divs.forEach(async (RunnerX, index) => {
|
await self.ADisSettings.runner_divs.forEach(async (RunnerX, index) => {
|
||||||
await $("#" + RunnerX).find(".missionSideBarEntry").each(async (index, elem) => {
|
await $("#" + RunnerX).find(".missionSideBarEntry").each(async (index, elem) => {
|
||||||
MissionID = $(elem).attr("mission_id");
|
MissionID = $(elem).attr("mission_id");
|
||||||
await self.AddMission(MissionID, RunnerX);
|
await self.AddMission(MissionID, RunnerX);
|
||||||
@@ -18588,7 +18592,6 @@ class AutomaticDispose {
|
|||||||
const runnerOpt = self.ADisSettings.runner[runnerID];
|
const runnerOpt = self.ADisSettings.runner[runnerID];
|
||||||
|
|
||||||
return self.ADSettings().then((setting) => {
|
return self.ADSettings().then((setting) => {
|
||||||
|
|
||||||
if (setting[settingOpt] == 'true') {
|
if (setting[settingOpt] == 'true') {
|
||||||
let where = {
|
let where = {
|
||||||
missionID: ID,
|
missionID: ID,
|
||||||
@@ -18597,78 +18600,106 @@ class AutomaticDispose {
|
|||||||
return self.ADisDB.ADisMissions.where(where).limit(1)
|
return self.ADisDB.ADisMissions.where(where).limit(1)
|
||||||
}
|
}
|
||||||
}).then((Missions) => {
|
}).then((Missions) => {
|
||||||
if (typeof Missions === "undefined") {
|
if (typeof Missions !== "undefined") {
|
||||||
return;
|
|
||||||
}
|
return Missions.count((count) => {
|
||||||
return Missions.count((count) => {
|
if (count > 0) {
|
||||||
if (count > 0) {
|
return Missions.each((MyMission) => {
|
||||||
return Missions.each(() => {
|
var MissionElement = $("#mission_" + ID);
|
||||||
|
var _MissionType = MissionElement.attr("mission_type_id");
|
||||||
|
var addr = MissionElement.find(".map_position_mover").text().split(",")
|
||||||
|
var MissionName = addr[0];
|
||||||
|
var MissionStreet = addr[1];
|
||||||
|
var MissionVillage = addr[2];
|
||||||
|
|
||||||
|
if (MissionElement.length) {
|
||||||
|
return self.ADisDB.ADisAvailabelMissions.get({
|
||||||
|
type: _MissionType
|
||||||
|
}).then((available) => {
|
||||||
|
return self.UpdateMissions({
|
||||||
|
"missionID": MyMission.missionID,
|
||||||
|
"type": _MissionType,
|
||||||
|
"runner": MyMission.runner,
|
||||||
|
"name": MissionName,
|
||||||
|
"street": MissionStreet,
|
||||||
|
"village": MissionVillage,
|
||||||
|
"available": (available !== undefined)?'true':'false',
|
||||||
|
"done": "false",
|
||||||
|
"last_check": MyMission.last_check,
|
||||||
|
"next_check": MyMission.next_check
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
var MissionElement = $("#mission_" + ID);
|
var MissionElement = $("#mission_" + ID);
|
||||||
var _MissionID = MissionElement.attr("mission_id");
|
var MissionID = MissionElement.attr("mission_id");
|
||||||
var _MissionType = MissionElement.attr("mission_type_id");
|
var MissionType = MissionElement.attr("mission_type_id");
|
||||||
var addr = MissionElement.find(".map_position_mover").text().split(",")
|
var addr = MissionElement.find(".map_position_mover").text().split(",")
|
||||||
var MissionName = addr[0];
|
var MissionName = addr[0];
|
||||||
var MissionStreet = addr[1];
|
var MissionStreet = addr[1];
|
||||||
var MissionVillage = addr[2];
|
var MissionVillage = addr[2];
|
||||||
|
if (MissionElement.length) {
|
||||||
return self.ADisDB.ADisAvailabelMissions.get({
|
return self.ADisDB.ADisAvailabelMissions.get({
|
||||||
type: MissionType
|
type: MissionType
|
||||||
}).then((available) => {
|
}).then((available) => {
|
||||||
return self.AddMissionsToQueue({
|
return self.UpdateMissions({
|
||||||
"id": _MissionID,
|
"missionID": MissionID,
|
||||||
"type": _MissionType,
|
"type": MissionType,
|
||||||
"runner": runnerOpt,
|
"runner": runnerOpt,
|
||||||
"name": MissionName,
|
"name": MissionName,
|
||||||
"street": MissionStreet,
|
"street": MissionStreet,
|
||||||
"village": MissionVillage,
|
"village": MissionVillage,
|
||||||
"available": (available !== undefined),
|
"available": (available !== undefined)?'true':'false',
|
||||||
"done": false,
|
"done": "false",
|
||||||
"last_check": Math.floor(new Date().getTime() / 1000),
|
"last_check": Math.floor(new Date().getTime() / 1000),
|
||||||
"next_check": Math.floor(new Date().getTime() / 1000) + 1
|
"next_check": Math.floor(new Date().getTime() / 1000) + 1
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
} else {
|
||||||
|
var MissionElement = $("#mission_" + ID);
|
||||||
|
|
||||||
|
var MissionID = MissionElement.attr("mission_id");
|
||||||
|
var MissionType = MissionElement.attr("mission_type_id");
|
||||||
|
var addr = MissionElement.find(".map_position_mover").text().split(",")
|
||||||
|
var MissionName = addr[0];
|
||||||
|
var MissionStreet = addr[1];
|
||||||
|
var MissionVillage = addr[2];
|
||||||
|
|
||||||
|
return self.ADisDB.ADisAvailabelMissions.get({
|
||||||
|
type: MissionType
|
||||||
|
}).then((available) => {
|
||||||
|
return self.AddMissionsToQueue({
|
||||||
|
"missionID": MissionID,
|
||||||
|
"type": MissionType,
|
||||||
|
"runner": runnerOpt,
|
||||||
|
"name": MissionName,
|
||||||
|
"street": MissionStreet,
|
||||||
|
"village": MissionVillage,
|
||||||
|
"available": (available !== undefined)?'true':'false',
|
||||||
|
"done": 'false',
|
||||||
|
"last_check": Math.floor(new Date().getTime() / 1000),
|
||||||
|
"next_check": Math.floor(new Date().getTime() / 1000) + 1
|
||||||
});
|
});
|
||||||
} else {
|
});
|
||||||
var MissionElement = $("#mission_" + ID);
|
}
|
||||||
|
|
||||||
var MissionID = MissionElement.attr("mission_id");
|
|
||||||
var MissionType = MissionElement.attr("mission_type_id");
|
|
||||||
var addr = MissionElement.find(".map_position_mover").text().split(",")
|
|
||||||
var MissionName = addr[0];
|
|
||||||
var MissionStreet = addr[1];
|
|
||||||
var MissionVillage = addr[2];
|
|
||||||
|
|
||||||
return self.ADisDB.ADisAvailabelMissions.get({
|
|
||||||
type: MissionType
|
|
||||||
}).then((available) => {
|
|
||||||
return self.AddMissionsToQueue({
|
|
||||||
"id": MissionID,
|
|
||||||
"type": MissionType,
|
|
||||||
"runner": runnerOpt,
|
|
||||||
"name": MissionName,
|
|
||||||
"street": MissionStreet,
|
|
||||||
"village": MissionVillage,
|
|
||||||
"available": (available !== undefined),
|
|
||||||
"done": false,
|
|
||||||
"last_check": Math.floor(new Date().getTime() / 1000),
|
|
||||||
"next_check": Math.floor(new Date().getTime() / 1000) + 1
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
AddMissionsToQueue(Mission) {
|
AddMissionsToQueue(Mission) {
|
||||||
const self = this;
|
const self = this;
|
||||||
return self.ADisDB.ADisMissions.put({
|
return self.ADisDB.ADisMissions.put({
|
||||||
missionID: Mission.id,
|
missionID: Mission.missionID,
|
||||||
type: Mission.type,
|
type: Mission.type,
|
||||||
runner: Mission.runner,
|
runner: Mission.runner,
|
||||||
name: Mission.name,
|
name: Mission.name,
|
||||||
available: Mission.available ? 'true' : 'false',
|
available: Mission.available,
|
||||||
done: Mission.done ? 'true' : 'false',
|
done: Mission.done,
|
||||||
street: Mission.street,
|
street: Mission.street,
|
||||||
village: Mission.village,
|
village: Mission.village,
|
||||||
last_check: Mission.last_check,
|
last_check: Mission.last_check,
|
||||||
@@ -18687,6 +18718,7 @@ class AutomaticDispose {
|
|||||||
}
|
}
|
||||||
|
|
||||||
FreeIframe(Runner) {
|
FreeIframe(Runner) {
|
||||||
|
// console.log('FreeIframe', Runner);
|
||||||
const self = this;
|
const self = this;
|
||||||
const runnerID = self.ADisSettings.runner.indexOf(Runner)
|
const runnerID = self.ADisSettings.runner.indexOf(Runner)
|
||||||
const runnerIframe = self.ADisSettings.runner_iframes[runnerID];
|
const runnerIframe = self.ADisSettings.runner_iframes[runnerID];
|
||||||
@@ -18699,7 +18731,7 @@ class AutomaticDispose {
|
|||||||
const self = this;
|
const self = this;
|
||||||
return self.ADisDB.ADisMissions.update(MissionID, {
|
return self.ADisDB.ADisMissions.update(MissionID, {
|
||||||
last_check: Math.floor(new Date().getTime() / 1000),
|
last_check: Math.floor(new Date().getTime() / 1000),
|
||||||
next_check: Math.floor(new Date().getTime() / 1000) + 60
|
next_check: Math.floor(new Date().getTime() / 1000) + 120
|
||||||
}).catch((err) => {
|
}).catch((err) => {
|
||||||
console.error(err)
|
console.error(err)
|
||||||
})
|
})
|
||||||
@@ -18726,35 +18758,25 @@ class AutomaticDispose {
|
|||||||
// runnerID: runnerID,
|
// runnerID: runnerID,
|
||||||
// runnerSettings: runnerSettings,
|
// runnerSettings: runnerSettings,
|
||||||
// runnerIframeName: runnerIframeName,
|
// runnerIframeName: runnerIframeName,
|
||||||
// runnerIframe:runnerIframe
|
// runnerIframe: runnerIframe
|
||||||
// })
|
// })
|
||||||
|
|
||||||
return self.ADisDB.transaction('rw', [self.ADisDB.ADisMissions, self.ADisDB.ADisAvailabelMissions], () => {
|
return self.ADisDB.transaction('rw', [self.ADisDB.ADisMissions, self.ADisDB.ADisAvailabelMissions], () => {
|
||||||
self.ADSettings().then((setting) => {
|
self.ADSettings().then((setting) => {
|
||||||
if (setting[runnerSettings] == 'true') {
|
if (setting[runnerSettings] == 'true') {
|
||||||
let where = {
|
let coll = self.ADisDB.ADisMissions.where({
|
||||||
runner: Runner,
|
runner: Runner,
|
||||||
available: 'true',
|
available: 'true',
|
||||||
done: 'false'
|
done: 'false'
|
||||||
}
|
})
|
||||||
var coll = self.ADisDB.ADisMissions.where(where)
|
//if (self.MyRunner != "kt") {
|
||||||
if (self.MyRunner != "kt") {
|
|
||||||
coll = coll.and(function (item) {
|
coll = coll.and(function (item) {
|
||||||
return item.next_check <= Math.floor(new Date().getTime() / 1000)
|
return item.next_check <= Math.floor(new Date().getTime() / 1000)
|
||||||
});
|
});
|
||||||
}
|
//}
|
||||||
|
|
||||||
return coll.toArray()
|
return coll.toArray()
|
||||||
}
|
}
|
||||||
/*
|
|
||||||
if (setting[runnerSettings] == 'true') {
|
|
||||||
return self.ADisDB.ADisMissions.where({
|
|
||||||
runner: Runner,
|
|
||||||
available: 'true',
|
|
||||||
done: 'false'
|
|
||||||
}).and(function (item) {
|
|
||||||
return item.next_check <= Math.floor(new Date().getTime() / 1000)
|
|
||||||
}).toArray()
|
|
||||||
}*/
|
|
||||||
}).then((Wunsche) => {
|
}).then((Wunsche) => {
|
||||||
if (typeof Wunsche === "undefined") {
|
if (typeof Wunsche === "undefined") {
|
||||||
return setTimeout(self.OpenNextMission.bind(self), 1000, Runner);
|
return setTimeout(self.OpenNextMission.bind(self), 1000, Runner);
|
||||||
@@ -18762,11 +18784,13 @@ class AutomaticDispose {
|
|||||||
Wunsche.sort((a, b) => {
|
Wunsche.sort((a, b) => {
|
||||||
return a.next_check - b.next_check;
|
return a.next_check - b.next_check;
|
||||||
});
|
});
|
||||||
// console.table(Wunsche);
|
console.log("TIME:", Math.floor(new Date().getTime() / 1000))
|
||||||
|
//console.table(Wunsche);
|
||||||
|
|
||||||
if (Wunsche.length > 0) {
|
if (Wunsche.length > 0) {
|
||||||
let myWunsch = Wunsche[0];
|
let myWunsch = Wunsche[0];
|
||||||
// console.log("MYWUNSCH:")
|
console.log("MYWUNSCH:")
|
||||||
// console.table(myWunsch);
|
console.table(myWunsch);
|
||||||
let MissionID = myWunsch.missionID;
|
let MissionID = myWunsch.missionID;
|
||||||
if ($('#' + runnerIframe).attr("mission_id") == "empty") {
|
if ($('#' + runnerIframe).attr("mission_id") == "empty") {
|
||||||
$('#' + runnerIframe).attr("src", "https://www.leitstellenspiel.de/missions/" + MissionID);
|
$('#' + runnerIframe).attr("src", "https://www.leitstellenspiel.de/missions/" + MissionID);
|
||||||
@@ -18780,6 +18804,7 @@ class AutomaticDispose {
|
|||||||
} else {
|
} else {
|
||||||
// only while
|
// only while
|
||||||
// setTimeout(self.OpenNextMission.bind(self), 5000, Runner);
|
// setTimeout(self.OpenNextMission.bind(self), 5000, Runner);
|
||||||
|
self.UpdateMissionsToDone(MissionID)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return setTimeout(self.OpenNextMission.bind(self), 1000, Runner);
|
return setTimeout(self.OpenNextMission.bind(self), 1000, Runner);
|
||||||
@@ -18801,63 +18826,69 @@ class AutomaticDispose {
|
|||||||
const runnerID = self.ADisSettings.runner_iframesName.indexOf(window.name);
|
const runnerID = self.ADisSettings.runner_iframesName.indexOf(window.name);
|
||||||
self.MyRunner = self.ADisSettings.runner[runnerID];
|
self.MyRunner = self.ADisSettings.runner[runnerID];
|
||||||
self.MyRunnerSettings = self.ADisSettings.runner_settings[runnerID];
|
self.MyRunnerSettings = self.ADisSettings.runner_settings[runnerID];
|
||||||
|
setTimeout(function () {
|
||||||
|
self.MissionID = document.location.pathname.substr(document.location.pathname.lastIndexOf("/") + 1);
|
||||||
|
var help_el = $('a#mission_help');
|
||||||
|
if (help_el.length > 0) {
|
||||||
|
self.MissionType = help_el[0].href.split("?")[0];
|
||||||
|
var re = /\d+$/i;
|
||||||
|
var found = self.MissionType.match(re);
|
||||||
|
self.MissionType = Number(found[0]);
|
||||||
|
} else {
|
||||||
|
self.MissionType = null;
|
||||||
|
}
|
||||||
|
// console.log("MissionID", self.MissionID);
|
||||||
|
// console.log("MissionType", self.MissionType);
|
||||||
|
// console.log("Window", window.name);
|
||||||
|
// console.log("self.MyRunner", self.MyRunner);
|
||||||
|
// console.log("self.MyRunnerSettings", self.MyRunnerSettings);
|
||||||
|
|
||||||
self.MissionID = document.location.pathname.substr(document.location.pathname.lastIndexOf("/") + 1);
|
if (self.includesString($('#iframe-inside-container > div.missionNotFound > div.missionNotFoundText').text(), 'Der Einsatz wurde erfolgreich abgeschlossen.')) {
|
||||||
var help_el = $('a#mission_help');
|
console.log("DONE: " + self.MissionID);
|
||||||
if (help_el.length > 0) {
|
return self.RemoveMissionsFromQueue(self.MissionID).then(() => {
|
||||||
self.MissionType = help_el[0].href.split("?")[0];
|
return tellParent(`console.log('handler:1000:done:${window.name}:${self.MissionID}');window.AutomaticDisposeCall.FreeIframe('${self.MyRunner}');`); // delete Mission here as completed
|
||||||
var re = /\d+$/i;
|
|
||||||
var found = self.MissionType.match(re);
|
|
||||||
self.MissionType = Number(found[0]);
|
|
||||||
} else {
|
|
||||||
self.MissionType = null;
|
|
||||||
}
|
|
||||||
// console.log("MissionID", self.MissionID);
|
|
||||||
// console.log("MissionType", self.MissionType);
|
|
||||||
// console.log("Window", window.name);
|
|
||||||
// console.log("self.MyRunner", self.MyRunner);
|
|
||||||
// console.log("self.MyRunnerSettings", self.MyRunnerSettings);
|
|
||||||
if (self.includesString($('#iframe-inside-container > div.missionNotFound > div.missionNotFoundText').text(), 'Der Einsatz wurde erfolgreich abgeschlossen.')) {
|
|
||||||
console.log("DONE: " + self.MissionID);
|
|
||||||
return self.RemoveMissionsFromQueue(self.MissionID).then(() => {
|
|
||||||
return tellParent(`console.log('handler:1000:done:${window.name}:${self.MissionID}');window.AutomaticDisposeCall.FreeIframe('${self.MyRunner}');`); // delete Mission here as completed
|
|
||||||
})
|
|
||||||
} else {
|
|
||||||
return self.ADisDB.transaction('rw', [self.ADisDB.ADisMissions], () => {
|
|
||||||
self.ADSettings().then((setting) => {
|
|
||||||
if (setting[self.MyRunnerSettings] === 'true') {
|
|
||||||
let where = {
|
|
||||||
missionID: self.MissionID,
|
|
||||||
runner: self.MyRunner,
|
|
||||||
done: 'false'
|
|
||||||
}
|
|
||||||
// console.log(where);
|
|
||||||
return self.ADisDB.ADisMissions.where(where).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) => {
|
|
||||||
return self.MainHandler()
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
return self.RemoveMissionsFromQueue(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}');`);
|
|
||||||
})
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
})
|
} else {
|
||||||
}
|
return self.ADisDB.transaction('rw', [self.ADisDB.ADisMissions], () => {
|
||||||
|
self.ADSettings().then((setting) => {
|
||||||
|
if (setting[self.MyRunnerSettings] === 'true') {
|
||||||
|
let where = {
|
||||||
|
missionID: self.MissionID,
|
||||||
|
runner: self.MyRunner,
|
||||||
|
done: 'false'
|
||||||
|
}
|
||||||
|
// console.log(where);
|
||||||
|
return self.ADisDB.ADisMissions.where(where).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) => {
|
||||||
|
self.MissionData = mywunsch;
|
||||||
|
return self.UpdateMissionsToDone(self.MissionID).then(() => {
|
||||||
|
return self.MainHandler()
|
||||||
|
});
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
//return self.RemoveMissionsFromQueue(self.MissionID).then(() => {
|
||||||
|
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}');`);
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}, 100);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -18874,13 +18905,13 @@ class AutomaticDispose {
|
|||||||
return tellParent(`console.log('handler:2000:update:${window.name}:${self.MissionID}');window.AutomaticDisposeCall.FreeIframe('${self.MyRunner}');`); // update Mission here as updated or full
|
return tellParent(`console.log('handler:2000:update:${window.name}:${self.MissionID}');window.AutomaticDisposeCall.FreeIframe('${self.MyRunner}');`); // update Mission here as updated or full
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
setTimeout(function () {
|
|
||||||
if (['adis-ownmissions', 'adis-plannedeventss', 'adis-krankentransporte'].indexOf(window.name) != -1) {
|
if (['adis-ownmissions', 'adis-plannedeventss', 'adis-krankentransporte'].indexOf(window.name) != -1) {
|
||||||
self.CheckMissionAutomatic();
|
self.CheckMissionAutomatic();
|
||||||
} else if (['adis-verbandmission', 'adis-verbandmission-event'].indexOf(window.name) != -1) {
|
} else if (['adis-verbandmission', 'adis-verbandmission-event'].indexOf(window.name) != -1) {
|
||||||
self.WorkVerbandMission();
|
self.WorkVerbandMission();
|
||||||
}
|
}
|
||||||
}, 250);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -18980,7 +19011,10 @@ class AutomaticDispose {
|
|||||||
if (self.MyRunner == 'os') {
|
if (self.MyRunner == 'os') {
|
||||||
self.OweSecure = true;
|
self.OweSecure = true;
|
||||||
}
|
}
|
||||||
self.GetMissionConfiguration(Mission.type);
|
Mission.done = "true";
|
||||||
|
self.UpdateMissions(Mission).then(()=>{
|
||||||
|
self.GetMissionConfiguration(Mission.type);
|
||||||
|
})
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -18994,16 +19028,15 @@ class AutomaticDispose {
|
|||||||
return self.ADisDB.ADisAvailabelMissions.get({
|
return self.ADisDB.ADisAvailabelMissions.get({
|
||||||
type: MissionType.toString()
|
type: MissionType.toString()
|
||||||
}).then((availableMission) => {
|
}).then((availableMission) => {
|
||||||
if (availableMission != undefined && availableMission.jsondata) {
|
if (availableMission != undefined) {
|
||||||
self.MissionConfig = availableMission.jsondata;
|
if (availableMission.jsondata) {
|
||||||
// console.log('MissionConfig: ', MissionType.toString(), JSON.stringify(self.MissionConfig, null, 2))
|
self.MissionConfig = availableMission.jsondata;
|
||||||
self.StartAlarmProcess();
|
// console.log('MissionConfig: ', MissionType.toString(), JSON.stringify(self.MissionConfig, null, 2))
|
||||||
} else {
|
self.StartAlarmProcess();
|
||||||
var updateData = {
|
} else {
|
||||||
available: false,
|
self.UpdateMissionsToDone(self.MissionID);
|
||||||
next_check: CurrentTime + 60
|
return tellParent(`console.log('handler:2000:update:${window.name}:${self.MissionID}');window.AutomaticDisposeCall.FreeIframe('${self.MyRunner}');`); // update Mission here as updated or full
|
||||||
};
|
}
|
||||||
self.UpdateOwnMissionsToDone(self.MissionID, updateData);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -19057,32 +19090,26 @@ class AutomaticDispose {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log("Clicked Vehicles:" + self.MissionID + ":" + self.MissionConfig.type + " ", $('#vehicle_show_table_all input[type="checkbox"]:checked').length, $('#vehicle_show_table_all input[type="checkbox"]:checked'));
|
console.log("Clicked Vehicles:"+self.MissionID+":"+self.MissionConfig.type+" ", $('#vehicle_show_table_all input[type="checkbox"]:checked').length, $('#vehicle_show_table_all input[type="checkbox"]:checked'));
|
||||||
console.table(self.MissionData)
|
console.table(self.MissionData)
|
||||||
|
|
||||||
self.UpdateMissionsToDone(self.MissionID).then(async () => {
|
self.UpdateMissionsToDone(self.MissionID).then(async () => {
|
||||||
//tellParent(`setTimeout(function(){console.log('ok:${window.name}:${self.MissionID}');window.AutomaticDisposeCall.FreeIframe('${self.MyRunner}');},2500);`);
|
tellParent(`setTimeout(function(){console.log('ok:${window.name}:${self.MissionID}');},2500);`);
|
||||||
//if (window.$("a.btn.btn-success.btn-sm.alert_notify_alliance").length > 0 && self.MissionConfig.share) {
|
//if (window.$("a.btn.btn-success.btn-sm.alert_notify_alliance").length > 0 && self.MissionConfig.share) {
|
||||||
// window.$('input[type=checkbox]').prop('checked', false);
|
// window.$('input[type=checkbox]').prop('checked', false);
|
||||||
// await self.WorkVerbandMission(true);
|
// await self.WorkVerbandMission(true);
|
||||||
// window.$('#allianceShareText').val('Kein RD, die Patiernten gehören mir! Anonsten kann nach 2h geschlossen werden. Danke für die Aufmerksamkeit!')
|
// window.$('#allianceShareText').val('Kein RD, die Patiernten gehören mir! Anonsten kann nach 2h geschlossen werden. Danke für die Aufmerksamkeit!')
|
||||||
// window.$("a.btn.btn-success.btn-sm.alert_notify_alliance").click();
|
// window.$("a.btn.btn-success.btn-sm.alert_notify_alliance").click();
|
||||||
//} else {
|
//} else {
|
||||||
if ($('#vehicle_show_table_all input[type="checkbox"]:checked').length) {
|
if ($('#vehicle_show_table_all input[type="checkbox"]:checked').length){
|
||||||
console.log('send now')
|
console.log('send now')
|
||||||
if (window.$("a[title='Alarmieren, im Verband freigeben und nächsten Einsatz aufrufen']").length > 0 && self.MissionConfig.share) {
|
window.$('#mission_alarm_btn').click();
|
||||||
window.$('input[type=checkbox]').prop('checked', false);
|
tellParent(`setTimeout(function(){console.log('ok:${window.name}:${self.MissionID}');window.AutomaticDisposeCall.FreeIframe('${self.MyRunner}');},500);`);
|
||||||
await self.WorkVerbandMission(true);
|
} else {
|
||||||
window.$("a[title='Alarmieren, im Verband freigeben und nächsten Einsatz aufrufen']")[0].click();
|
tellParent(`setTimeout(function(){console.log('ok:${window.name}:${self.MissionID}');window.AutomaticDisposeCall.FreeIframe('${self.MyRunner}');},500);`);
|
||||||
} else {
|
}
|
||||||
window.$('#mission_alarm_btn').click();
|
//}
|
||||||
}
|
});
|
||||||
tellParent(`setTimeout(function(){console.log('ok:${window.name}:${self.MissionID}');window.AutomaticDisposeCall.FreeIframe('${self.MyRunner}');},500);`);
|
|
||||||
} else {
|
|
||||||
tellParent(`setTimeout(function(){console.log('ok:${window.name}:${self.MissionID}');window.AutomaticDisposeCall.FreeIframe('${self.MyRunner}');},500);`);
|
|
||||||
}
|
|
||||||
//}
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
})
|
})
|
||||||
@@ -19115,7 +19142,6 @@ class AutomaticDispose {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
// - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
||||||
// -
|
// -
|
||||||
// - Collect Involved Vehicles & Patients
|
// - Collect Involved Vehicles & Patients
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
<title>LEITSTELLENSPIEL.DE - baue deine eigene Leitstelle, in deiner Stadt!</title>
|
<title>LEITSTELLENSPIEL.DE - baue deine eigene Leitstelle, in deiner Stadt!</title>
|
||||||
<meta content="authenticity_token" name="csrf-param" />
|
<meta content="authenticity_token" name="csrf-param" />
|
||||||
<meta content="cvOny8TDgPA/eJthVo45f8+Vh/ExGdKnenC3q0Fr0sk=" name="csrf-token" />
|
<meta content="TjGsiG+tPyL8SPR51dhx6sasfS4wF1Rh9n4qtzZ+rMw=" name="csrf-token" />
|
||||||
|
|
||||||
<script src="/assets/application-a789289a71061d030b76a864e1d16075.js" type="text/javascript"></script>
|
<script src="/assets/application-a789289a71061d030b76a864e1d16075.js" type="text/javascript"></script>
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
<title>LEITSTELLENSPIEL.DE - baue deine eigene Leitstelle, in deiner Stadt!</title>
|
<title>LEITSTELLENSPIEL.DE - baue deine eigene Leitstelle, in deiner Stadt!</title>
|
||||||
<meta content="authenticity_token" name="csrf-param" />
|
<meta content="authenticity_token" name="csrf-param" />
|
||||||
<meta content="/1vfZbjIof1sP0Gy1juDZhzIKL3GHnKnAPVcFhmrmLU=" name="csrf-token" />
|
<meta content="hJglNqkHsn0i29Jl1jR6BKjpRCfjK8cVTvRYHW9X3mQ=" name="csrf-token" />
|
||||||
|
|
||||||
<script src="/assets/application-a789289a71061d030b76a864e1d16075.js" type="text/javascript"></script>
|
<script src="/assets/application-a789289a71061d030b76a864e1d16075.js" type="text/javascript"></script>
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
<title>LEITSTELLENSPIEL.DE - baue deine eigene Leitstelle, in deiner Stadt!</title>
|
<title>LEITSTELLENSPIEL.DE - baue deine eigene Leitstelle, in deiner Stadt!</title>
|
||||||
<meta content="authenticity_token" name="csrf-param" />
|
<meta content="authenticity_token" name="csrf-param" />
|
||||||
<meta content="ftiiGYcaqxTBxvpRVtzy+XpuEqIE9is8LacbnV7bmNo=" name="csrf-token" />
|
<meta content="A7oqOPApiZ55rSDeWfOI6Tk/D0I8Dd/wMWOGGAJr+xw=" name="csrf-token" />
|
||||||
|
|
||||||
<script src="/assets/application-a789289a71061d030b76a864e1d16075.js" type="text/javascript"></script>
|
<script src="/assets/application-a789289a71061d030b76a864e1d16075.js" type="text/javascript"></script>
|
||||||
|
|
||||||
|
|||||||
+200
-174
@@ -22,6 +22,7 @@ class AutomaticDispose {
|
|||||||
self.MaxVehicleID = 86
|
self.MaxVehicleID = 86
|
||||||
self.MissionType = null
|
self.MissionType = null
|
||||||
self.MissionID = null
|
self.MissionID = null
|
||||||
|
self.MissionData = null
|
||||||
self.MyRunner = null
|
self.MyRunner = null
|
||||||
self.MyRunnerSettings = null
|
self.MyRunnerSettings = null
|
||||||
self.OweSecure = false
|
self.OweSecure = false
|
||||||
@@ -141,7 +142,9 @@ class AutomaticDispose {
|
|||||||
}, 500);
|
}, 500);
|
||||||
|
|
||||||
self.ADisSettings.runner.forEach((runner) => {
|
self.ADisSettings.runner.forEach((runner) => {
|
||||||
self.OpenNextMission(runner)
|
if(['kt','om'].indexOf(runner) !== -1) {
|
||||||
|
self.OpenNextMission(runner)
|
||||||
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -879,6 +882,7 @@ class AutomaticDispose {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
const MyOwnObserver = new MutationObserver((mutations) => {
|
const MyOwnObserver = new MutationObserver((mutations) => {
|
||||||
mutations.forEach((mutation) => {
|
mutations.forEach((mutation) => {
|
||||||
// console.log(mutation.target.id);
|
// console.log(mutation.target.id);
|
||||||
@@ -906,11 +910,11 @@ class AutomaticDispose {
|
|||||||
|
|
||||||
ReadAndAddMissions(MissionID, Runner) {
|
ReadAndAddMissions(MissionID, Runner) {
|
||||||
const self = this;
|
const self = this;
|
||||||
return self.ADisDB.transaction('rw', [self.ADisDB.ADisMissions, self.ADisDB.ADisAvailabelMissions], () => {
|
return self.ADisDB.transaction('rw', [self.ADisDB.ADisMissions, self.ADisDB.ADisAvailabelMissions], async () => {
|
||||||
if (typeof MissionID != 'undefined') {
|
if (typeof MissionID != 'undefined') {
|
||||||
self.AddMission(MissionID, Runner);
|
await self.AddMission(MissionID, Runner);
|
||||||
} else {
|
} else {
|
||||||
self.ADisSettings.runner_divs.forEach(async (RunnerX, index) => {
|
await self.ADisSettings.runner_divs.forEach(async (RunnerX, index) => {
|
||||||
await $("#" + RunnerX).find(".missionSideBarEntry").each(async (index, elem) => {
|
await $("#" + RunnerX).find(".missionSideBarEntry").each(async (index, elem) => {
|
||||||
MissionID = $(elem).attr("mission_id");
|
MissionID = $(elem).attr("mission_id");
|
||||||
await self.AddMission(MissionID, RunnerX);
|
await self.AddMission(MissionID, RunnerX);
|
||||||
@@ -928,7 +932,6 @@ class AutomaticDispose {
|
|||||||
const runnerOpt = self.ADisSettings.runner[runnerID];
|
const runnerOpt = self.ADisSettings.runner[runnerID];
|
||||||
|
|
||||||
return self.ADSettings().then((setting) => {
|
return self.ADSettings().then((setting) => {
|
||||||
|
|
||||||
if (setting[settingOpt] == 'true') {
|
if (setting[settingOpt] == 'true') {
|
||||||
let where = {
|
let where = {
|
||||||
missionID: ID,
|
missionID: ID,
|
||||||
@@ -937,78 +940,106 @@ class AutomaticDispose {
|
|||||||
return self.ADisDB.ADisMissions.where(where).limit(1)
|
return self.ADisDB.ADisMissions.where(where).limit(1)
|
||||||
}
|
}
|
||||||
}).then((Missions) => {
|
}).then((Missions) => {
|
||||||
if (typeof Missions === "undefined") {
|
if (typeof Missions !== "undefined") {
|
||||||
return;
|
|
||||||
}
|
return Missions.count((count) => {
|
||||||
return Missions.count((count) => {
|
if (count > 0) {
|
||||||
if (count > 0) {
|
return Missions.each((MyMission) => {
|
||||||
return Missions.each(() => {
|
var MissionElement = $("#mission_" + ID);
|
||||||
|
var _MissionType = MissionElement.attr("mission_type_id");
|
||||||
|
var addr = MissionElement.find(".map_position_mover").text().split(",")
|
||||||
|
var MissionName = addr[0];
|
||||||
|
var MissionStreet = addr[1];
|
||||||
|
var MissionVillage = addr[2];
|
||||||
|
|
||||||
|
if (MissionElement.length) {
|
||||||
|
return self.ADisDB.ADisAvailabelMissions.get({
|
||||||
|
type: _MissionType
|
||||||
|
}).then((available) => {
|
||||||
|
return self.UpdateMissions({
|
||||||
|
"missionID": MyMission.missionID,
|
||||||
|
"type": _MissionType,
|
||||||
|
"runner": MyMission.runner,
|
||||||
|
"name": MissionName,
|
||||||
|
"street": MissionStreet,
|
||||||
|
"village": MissionVillage,
|
||||||
|
"available": (available !== undefined)?'true':'false',
|
||||||
|
"done": "false",
|
||||||
|
"last_check": MyMission.last_check,
|
||||||
|
"next_check": MyMission.next_check
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
var MissionElement = $("#mission_" + ID);
|
var MissionElement = $("#mission_" + ID);
|
||||||
var _MissionID = MissionElement.attr("mission_id");
|
var MissionID = MissionElement.attr("mission_id");
|
||||||
var _MissionType = MissionElement.attr("mission_type_id");
|
var MissionType = MissionElement.attr("mission_type_id");
|
||||||
var addr = MissionElement.find(".map_position_mover").text().split(",")
|
var addr = MissionElement.find(".map_position_mover").text().split(",")
|
||||||
var MissionName = addr[0];
|
var MissionName = addr[0];
|
||||||
var MissionStreet = addr[1];
|
var MissionStreet = addr[1];
|
||||||
var MissionVillage = addr[2];
|
var MissionVillage = addr[2];
|
||||||
|
if (MissionElement.length) {
|
||||||
return self.ADisDB.ADisAvailabelMissions.get({
|
return self.ADisDB.ADisAvailabelMissions.get({
|
||||||
type: MissionType
|
type: MissionType
|
||||||
}).then((available) => {
|
}).then((available) => {
|
||||||
return self.AddMissionsToQueue({
|
return self.UpdateMissions({
|
||||||
"id": _MissionID,
|
"missionID": MissionID,
|
||||||
"type": _MissionType,
|
"type": MissionType,
|
||||||
"runner": runnerOpt,
|
"runner": runnerOpt,
|
||||||
"name": MissionName,
|
"name": MissionName,
|
||||||
"street": MissionStreet,
|
"street": MissionStreet,
|
||||||
"village": MissionVillage,
|
"village": MissionVillage,
|
||||||
"available": (available !== undefined),
|
"available": (available !== undefined)?'true':'false',
|
||||||
"done": false,
|
"done": "false",
|
||||||
"last_check": Math.floor(new Date().getTime() / 1000),
|
"last_check": Math.floor(new Date().getTime() / 1000),
|
||||||
"next_check": Math.floor(new Date().getTime() / 1000) + 1
|
"next_check": Math.floor(new Date().getTime() / 1000) + 1
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
} else {
|
||||||
|
var MissionElement = $("#mission_" + ID);
|
||||||
|
|
||||||
|
var MissionID = MissionElement.attr("mission_id");
|
||||||
|
var MissionType = MissionElement.attr("mission_type_id");
|
||||||
|
var addr = MissionElement.find(".map_position_mover").text().split(",")
|
||||||
|
var MissionName = addr[0];
|
||||||
|
var MissionStreet = addr[1];
|
||||||
|
var MissionVillage = addr[2];
|
||||||
|
|
||||||
|
return self.ADisDB.ADisAvailabelMissions.get({
|
||||||
|
type: MissionType
|
||||||
|
}).then((available) => {
|
||||||
|
return self.AddMissionsToQueue({
|
||||||
|
"missionID": MissionID,
|
||||||
|
"type": MissionType,
|
||||||
|
"runner": runnerOpt,
|
||||||
|
"name": MissionName,
|
||||||
|
"street": MissionStreet,
|
||||||
|
"village": MissionVillage,
|
||||||
|
"available": (available !== undefined)?'true':'false',
|
||||||
|
"done": 'false',
|
||||||
|
"last_check": Math.floor(new Date().getTime() / 1000),
|
||||||
|
"next_check": Math.floor(new Date().getTime() / 1000) + 1
|
||||||
});
|
});
|
||||||
} else {
|
});
|
||||||
var MissionElement = $("#mission_" + ID);
|
}
|
||||||
|
|
||||||
var MissionID = MissionElement.attr("mission_id");
|
|
||||||
var MissionType = MissionElement.attr("mission_type_id");
|
|
||||||
var addr = MissionElement.find(".map_position_mover").text().split(",")
|
|
||||||
var MissionName = addr[0];
|
|
||||||
var MissionStreet = addr[1];
|
|
||||||
var MissionVillage = addr[2];
|
|
||||||
|
|
||||||
return self.ADisDB.ADisAvailabelMissions.get({
|
|
||||||
type: MissionType
|
|
||||||
}).then((available) => {
|
|
||||||
return self.AddMissionsToQueue({
|
|
||||||
"id": MissionID,
|
|
||||||
"type": MissionType,
|
|
||||||
"runner": runnerOpt,
|
|
||||||
"name": MissionName,
|
|
||||||
"street": MissionStreet,
|
|
||||||
"village": MissionVillage,
|
|
||||||
"available": (available !== undefined),
|
|
||||||
"done": false,
|
|
||||||
"last_check": Math.floor(new Date().getTime() / 1000),
|
|
||||||
"next_check": Math.floor(new Date().getTime() / 1000) + 1
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
AddMissionsToQueue(Mission) {
|
AddMissionsToQueue(Mission) {
|
||||||
const self = this;
|
const self = this;
|
||||||
return self.ADisDB.ADisMissions.put({
|
return self.ADisDB.ADisMissions.put({
|
||||||
missionID: Mission.id,
|
missionID: Mission.missionID,
|
||||||
type: Mission.type,
|
type: Mission.type,
|
||||||
runner: Mission.runner,
|
runner: Mission.runner,
|
||||||
name: Mission.name,
|
name: Mission.name,
|
||||||
available: Mission.available ? 'true' : 'false',
|
available: Mission.available,
|
||||||
done: Mission.done ? 'true' : 'false',
|
done: Mission.done,
|
||||||
street: Mission.street,
|
street: Mission.street,
|
||||||
village: Mission.village,
|
village: Mission.village,
|
||||||
last_check: Mission.last_check,
|
last_check: Mission.last_check,
|
||||||
@@ -1027,6 +1058,7 @@ class AutomaticDispose {
|
|||||||
}
|
}
|
||||||
|
|
||||||
FreeIframe(Runner) {
|
FreeIframe(Runner) {
|
||||||
|
// console.log('FreeIframe', Runner);
|
||||||
const self = this;
|
const self = this;
|
||||||
const runnerID = self.ADisSettings.runner.indexOf(Runner)
|
const runnerID = self.ADisSettings.runner.indexOf(Runner)
|
||||||
const runnerIframe = self.ADisSettings.runner_iframes[runnerID];
|
const runnerIframe = self.ADisSettings.runner_iframes[runnerID];
|
||||||
@@ -1039,7 +1071,7 @@ class AutomaticDispose {
|
|||||||
const self = this;
|
const self = this;
|
||||||
return self.ADisDB.ADisMissions.update(MissionID, {
|
return self.ADisDB.ADisMissions.update(MissionID, {
|
||||||
last_check: Math.floor(new Date().getTime() / 1000),
|
last_check: Math.floor(new Date().getTime() / 1000),
|
||||||
next_check: Math.floor(new Date().getTime() / 1000) + 60
|
next_check: Math.floor(new Date().getTime() / 1000) + 120
|
||||||
}).catch((err) => {
|
}).catch((err) => {
|
||||||
console.error(err)
|
console.error(err)
|
||||||
})
|
})
|
||||||
@@ -1066,35 +1098,25 @@ class AutomaticDispose {
|
|||||||
// runnerID: runnerID,
|
// runnerID: runnerID,
|
||||||
// runnerSettings: runnerSettings,
|
// runnerSettings: runnerSettings,
|
||||||
// runnerIframeName: runnerIframeName,
|
// runnerIframeName: runnerIframeName,
|
||||||
// runnerIframe:runnerIframe
|
// runnerIframe: runnerIframe
|
||||||
// })
|
// })
|
||||||
|
|
||||||
return self.ADisDB.transaction('rw', [self.ADisDB.ADisMissions, self.ADisDB.ADisAvailabelMissions], () => {
|
return self.ADisDB.transaction('rw', [self.ADisDB.ADisMissions, self.ADisDB.ADisAvailabelMissions], () => {
|
||||||
self.ADSettings().then((setting) => {
|
self.ADSettings().then((setting) => {
|
||||||
if (setting[runnerSettings] == 'true') {
|
if (setting[runnerSettings] == 'true') {
|
||||||
let where = {
|
let coll = self.ADisDB.ADisMissions.where({
|
||||||
runner: Runner,
|
runner: Runner,
|
||||||
available: 'true',
|
available: 'true',
|
||||||
done: 'false'
|
done: 'false'
|
||||||
}
|
})
|
||||||
var coll = self.ADisDB.ADisMissions.where(where)
|
//if (self.MyRunner != "kt") {
|
||||||
if (self.MyRunner != "kt") {
|
|
||||||
coll = coll.and(function (item) {
|
coll = coll.and(function (item) {
|
||||||
return item.next_check <= Math.floor(new Date().getTime() / 1000)
|
return item.next_check <= Math.floor(new Date().getTime() / 1000)
|
||||||
});
|
});
|
||||||
}
|
//}
|
||||||
|
|
||||||
return coll.toArray()
|
return coll.toArray()
|
||||||
}
|
}
|
||||||
/*
|
|
||||||
if (setting[runnerSettings] == 'true') {
|
|
||||||
return self.ADisDB.ADisMissions.where({
|
|
||||||
runner: Runner,
|
|
||||||
available: 'true',
|
|
||||||
done: 'false'
|
|
||||||
}).and(function (item) {
|
|
||||||
return item.next_check <= Math.floor(new Date().getTime() / 1000)
|
|
||||||
}).toArray()
|
|
||||||
}*/
|
|
||||||
}).then((Wunsche) => {
|
}).then((Wunsche) => {
|
||||||
if (typeof Wunsche === "undefined") {
|
if (typeof Wunsche === "undefined") {
|
||||||
return setTimeout(self.OpenNextMission.bind(self), 1000, Runner);
|
return setTimeout(self.OpenNextMission.bind(self), 1000, Runner);
|
||||||
@@ -1102,11 +1124,13 @@ class AutomaticDispose {
|
|||||||
Wunsche.sort((a, b) => {
|
Wunsche.sort((a, b) => {
|
||||||
return a.next_check - b.next_check;
|
return a.next_check - b.next_check;
|
||||||
});
|
});
|
||||||
// console.table(Wunsche);
|
console.log("TIME:", Math.floor(new Date().getTime() / 1000))
|
||||||
|
//console.table(Wunsche);
|
||||||
|
|
||||||
if (Wunsche.length > 0) {
|
if (Wunsche.length > 0) {
|
||||||
let myWunsch = Wunsche[0];
|
let myWunsch = Wunsche[0];
|
||||||
// console.log("MYWUNSCH:")
|
console.log("MYWUNSCH:")
|
||||||
// console.table(myWunsch);
|
console.table(myWunsch);
|
||||||
let MissionID = myWunsch.missionID;
|
let MissionID = myWunsch.missionID;
|
||||||
if ($('#' + runnerIframe).attr("mission_id") == "empty") {
|
if ($('#' + runnerIframe).attr("mission_id") == "empty") {
|
||||||
$('#' + runnerIframe).attr("src", "https://www.leitstellenspiel.de/missions/" + MissionID);
|
$('#' + runnerIframe).attr("src", "https://www.leitstellenspiel.de/missions/" + MissionID);
|
||||||
@@ -1120,6 +1144,7 @@ class AutomaticDispose {
|
|||||||
} else {
|
} else {
|
||||||
// only while
|
// only while
|
||||||
// setTimeout(self.OpenNextMission.bind(self), 5000, Runner);
|
// setTimeout(self.OpenNextMission.bind(self), 5000, Runner);
|
||||||
|
self.UpdateMissionsToDone(MissionID)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return setTimeout(self.OpenNextMission.bind(self), 1000, Runner);
|
return setTimeout(self.OpenNextMission.bind(self), 1000, Runner);
|
||||||
@@ -1141,63 +1166,69 @@ class AutomaticDispose {
|
|||||||
const runnerID = self.ADisSettings.runner_iframesName.indexOf(window.name);
|
const runnerID = self.ADisSettings.runner_iframesName.indexOf(window.name);
|
||||||
self.MyRunner = self.ADisSettings.runner[runnerID];
|
self.MyRunner = self.ADisSettings.runner[runnerID];
|
||||||
self.MyRunnerSettings = self.ADisSettings.runner_settings[runnerID];
|
self.MyRunnerSettings = self.ADisSettings.runner_settings[runnerID];
|
||||||
|
setTimeout(function () {
|
||||||
|
self.MissionID = document.location.pathname.substr(document.location.pathname.lastIndexOf("/") + 1);
|
||||||
|
var help_el = $('a#mission_help');
|
||||||
|
if (help_el.length > 0) {
|
||||||
|
self.MissionType = help_el[0].href.split("?")[0];
|
||||||
|
var re = /\d+$/i;
|
||||||
|
var found = self.MissionType.match(re);
|
||||||
|
self.MissionType = Number(found[0]);
|
||||||
|
} else {
|
||||||
|
self.MissionType = null;
|
||||||
|
}
|
||||||
|
// console.log("MissionID", self.MissionID);
|
||||||
|
// console.log("MissionType", self.MissionType);
|
||||||
|
// console.log("Window", window.name);
|
||||||
|
// console.log("self.MyRunner", self.MyRunner);
|
||||||
|
// console.log("self.MyRunnerSettings", self.MyRunnerSettings);
|
||||||
|
|
||||||
self.MissionID = document.location.pathname.substr(document.location.pathname.lastIndexOf("/") + 1);
|
if (self.includesString($('#iframe-inside-container > div.missionNotFound > div.missionNotFoundText').text(), 'Der Einsatz wurde erfolgreich abgeschlossen.')) {
|
||||||
var help_el = $('a#mission_help');
|
console.log("DONE: " + self.MissionID);
|
||||||
if (help_el.length > 0) {
|
return self.RemoveMissionsFromQueue(self.MissionID).then(() => {
|
||||||
self.MissionType = help_el[0].href.split("?")[0];
|
return tellParent(`console.log('handler:1000:done:${window.name}:${self.MissionID}');window.AutomaticDisposeCall.FreeIframe('${self.MyRunner}');`); // delete Mission here as completed
|
||||||
var re = /\d+$/i;
|
|
||||||
var found = self.MissionType.match(re);
|
|
||||||
self.MissionType = Number(found[0]);
|
|
||||||
} else {
|
|
||||||
self.MissionType = null;
|
|
||||||
}
|
|
||||||
// console.log("MissionID", self.MissionID);
|
|
||||||
// console.log("MissionType", self.MissionType);
|
|
||||||
// console.log("Window", window.name);
|
|
||||||
// console.log("self.MyRunner", self.MyRunner);
|
|
||||||
// console.log("self.MyRunnerSettings", self.MyRunnerSettings);
|
|
||||||
if (self.includesString($('#iframe-inside-container > div.missionNotFound > div.missionNotFoundText').text(), 'Der Einsatz wurde erfolgreich abgeschlossen.')) {
|
|
||||||
console.log("DONE: " + self.MissionID);
|
|
||||||
return self.RemoveMissionsFromQueue(self.MissionID).then(() => {
|
|
||||||
return tellParent(`console.log('handler:1000:done:${window.name}:${self.MissionID}');window.AutomaticDisposeCall.FreeIframe('${self.MyRunner}');`); // delete Mission here as completed
|
|
||||||
})
|
|
||||||
} else {
|
|
||||||
return self.ADisDB.transaction('rw', [self.ADisDB.ADisMissions], () => {
|
|
||||||
self.ADSettings().then((setting) => {
|
|
||||||
if (setting[self.MyRunnerSettings] === 'true') {
|
|
||||||
let where = {
|
|
||||||
missionID: self.MissionID,
|
|
||||||
runner: self.MyRunner,
|
|
||||||
done: 'false'
|
|
||||||
}
|
|
||||||
// console.log(where);
|
|
||||||
return self.ADisDB.ADisMissions.where(where).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) => {
|
|
||||||
return self.MainHandler()
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
return self.RemoveMissionsFromQueue(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}');`);
|
|
||||||
})
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
})
|
} else {
|
||||||
}
|
return self.ADisDB.transaction('rw', [self.ADisDB.ADisMissions], () => {
|
||||||
|
self.ADSettings().then((setting) => {
|
||||||
|
if (setting[self.MyRunnerSettings] === 'true') {
|
||||||
|
let where = {
|
||||||
|
missionID: self.MissionID,
|
||||||
|
runner: self.MyRunner,
|
||||||
|
done: 'false'
|
||||||
|
}
|
||||||
|
// console.log(where);
|
||||||
|
return self.ADisDB.ADisMissions.where(where).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) => {
|
||||||
|
self.MissionData = mywunsch;
|
||||||
|
return self.UpdateMissionsToDone(self.MissionID).then(() => {
|
||||||
|
return self.MainHandler()
|
||||||
|
});
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
//return self.RemoveMissionsFromQueue(self.MissionID).then(() => {
|
||||||
|
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}');`);
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}, 100);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -1214,13 +1245,13 @@ class AutomaticDispose {
|
|||||||
return tellParent(`console.log('handler:2000:update:${window.name}:${self.MissionID}');window.AutomaticDisposeCall.FreeIframe('${self.MyRunner}');`); // update Mission here as updated or full
|
return tellParent(`console.log('handler:2000:update:${window.name}:${self.MissionID}');window.AutomaticDisposeCall.FreeIframe('${self.MyRunner}');`); // update Mission here as updated or full
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
setTimeout(function () {
|
|
||||||
if (['adis-ownmissions', 'adis-plannedeventss', 'adis-krankentransporte'].indexOf(window.name) != -1) {
|
if (['adis-ownmissions', 'adis-plannedeventss', 'adis-krankentransporte'].indexOf(window.name) != -1) {
|
||||||
self.CheckMissionAutomatic();
|
self.CheckMissionAutomatic();
|
||||||
} else if (['adis-verbandmission', 'adis-verbandmission-event'].indexOf(window.name) != -1) {
|
} else if (['adis-verbandmission', 'adis-verbandmission-event'].indexOf(window.name) != -1) {
|
||||||
self.WorkVerbandMission();
|
self.WorkVerbandMission();
|
||||||
}
|
}
|
||||||
}, 250);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1320,7 +1351,10 @@ class AutomaticDispose {
|
|||||||
if (self.MyRunner == 'os') {
|
if (self.MyRunner == 'os') {
|
||||||
self.OweSecure = true;
|
self.OweSecure = true;
|
||||||
}
|
}
|
||||||
self.GetMissionConfiguration(Mission.type);
|
Mission.done = "true";
|
||||||
|
self.UpdateMissions(Mission).then(()=>{
|
||||||
|
self.GetMissionConfiguration(Mission.type);
|
||||||
|
})
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -1334,16 +1368,15 @@ class AutomaticDispose {
|
|||||||
return self.ADisDB.ADisAvailabelMissions.get({
|
return self.ADisDB.ADisAvailabelMissions.get({
|
||||||
type: MissionType.toString()
|
type: MissionType.toString()
|
||||||
}).then((availableMission) => {
|
}).then((availableMission) => {
|
||||||
if (availableMission != undefined && availableMission.jsondata) {
|
if (availableMission != undefined) {
|
||||||
self.MissionConfig = availableMission.jsondata;
|
if (availableMission.jsondata) {
|
||||||
// console.log('MissionConfig: ', MissionType.toString(), JSON.stringify(self.MissionConfig, null, 2))
|
self.MissionConfig = availableMission.jsondata;
|
||||||
self.StartAlarmProcess();
|
// console.log('MissionConfig: ', MissionType.toString(), JSON.stringify(self.MissionConfig, null, 2))
|
||||||
} else {
|
self.StartAlarmProcess();
|
||||||
var updateData = {
|
} else {
|
||||||
available: false,
|
self.UpdateMissionsToDone(self.MissionID);
|
||||||
next_check: CurrentTime + 60
|
return tellParent(`console.log('handler:2000:update:${window.name}:${self.MissionID}');window.AutomaticDisposeCall.FreeIframe('${self.MyRunner}');`); // update Mission here as updated or full
|
||||||
};
|
}
|
||||||
self.UpdateOwnMissionsToDone(self.MissionID, updateData);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -1397,32 +1430,26 @@ class AutomaticDispose {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log("Clicked Vehicles:" + self.MissionID + ":" + self.MissionConfig.type + " ", $('#vehicle_show_table_all input[type="checkbox"]:checked').length, $('#vehicle_show_table_all input[type="checkbox"]:checked'));
|
console.log("Clicked Vehicles:"+self.MissionID+":"+self.MissionConfig.type+" ", $('#vehicle_show_table_all input[type="checkbox"]:checked').length, $('#vehicle_show_table_all input[type="checkbox"]:checked'));
|
||||||
console.table(self.MissionData)
|
console.table(self.MissionData)
|
||||||
|
|
||||||
self.UpdateMissionsToDone(self.MissionID).then(async () => {
|
self.UpdateMissionsToDone(self.MissionID).then(async () => {
|
||||||
//tellParent(`setTimeout(function(){console.log('ok:${window.name}:${self.MissionID}');window.AutomaticDisposeCall.FreeIframe('${self.MyRunner}');},2500);`);
|
tellParent(`setTimeout(function(){console.log('ok:${window.name}:${self.MissionID}');},2500);`);
|
||||||
//if (window.$("a.btn.btn-success.btn-sm.alert_notify_alliance").length > 0 && self.MissionConfig.share) {
|
//if (window.$("a.btn.btn-success.btn-sm.alert_notify_alliance").length > 0 && self.MissionConfig.share) {
|
||||||
// window.$('input[type=checkbox]').prop('checked', false);
|
// window.$('input[type=checkbox]').prop('checked', false);
|
||||||
// await self.WorkVerbandMission(true);
|
// await self.WorkVerbandMission(true);
|
||||||
// window.$('#allianceShareText').val('Kein RD, die Patiernten gehören mir! Anonsten kann nach 2h geschlossen werden. Danke für die Aufmerksamkeit!')
|
// window.$('#allianceShareText').val('Kein RD, die Patiernten gehören mir! Anonsten kann nach 2h geschlossen werden. Danke für die Aufmerksamkeit!')
|
||||||
// window.$("a.btn.btn-success.btn-sm.alert_notify_alliance").click();
|
// window.$("a.btn.btn-success.btn-sm.alert_notify_alliance").click();
|
||||||
//} else {
|
//} else {
|
||||||
if ($('#vehicle_show_table_all input[type="checkbox"]:checked').length) {
|
if ($('#vehicle_show_table_all input[type="checkbox"]:checked').length){
|
||||||
console.log('send now')
|
console.log('send now')
|
||||||
if (window.$("a[title='Alarmieren, im Verband freigeben und nächsten Einsatz aufrufen']").length > 0 && self.MissionConfig.share) {
|
window.$('#mission_alarm_btn').click();
|
||||||
window.$('input[type=checkbox]').prop('checked', false);
|
tellParent(`setTimeout(function(){console.log('ok:${window.name}:${self.MissionID}');window.AutomaticDisposeCall.FreeIframe('${self.MyRunner}');},500);`);
|
||||||
await self.WorkVerbandMission(true);
|
} else {
|
||||||
window.$("a[title='Alarmieren, im Verband freigeben und nächsten Einsatz aufrufen']")[0].click();
|
tellParent(`setTimeout(function(){console.log('ok:${window.name}:${self.MissionID}');window.AutomaticDisposeCall.FreeIframe('${self.MyRunner}');},500);`);
|
||||||
} else {
|
}
|
||||||
window.$('#mission_alarm_btn').click();
|
//}
|
||||||
}
|
});
|
||||||
tellParent(`setTimeout(function(){console.log('ok:${window.name}:${self.MissionID}');window.AutomaticDisposeCall.FreeIframe('${self.MyRunner}');},500);`);
|
|
||||||
} else {
|
|
||||||
tellParent(`setTimeout(function(){console.log('ok:${window.name}:${self.MissionID}');window.AutomaticDisposeCall.FreeIframe('${self.MyRunner}');},500);`);
|
|
||||||
}
|
|
||||||
//}
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
})
|
})
|
||||||
@@ -1455,7 +1482,6 @@ class AutomaticDispose {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
// - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
||||||
// -
|
// -
|
||||||
// - Collect Involved Vehicles & Patients
|
// - Collect Involved Vehicles & Patients
|
||||||
|
|||||||
+193
-6
@@ -8,9 +8,9 @@
|
|||||||
|
|
||||||
class WatchMissions {
|
class WatchMissions {
|
||||||
|
|
||||||
constructor(){
|
constructor() {
|
||||||
let self = this;
|
let self = this;
|
||||||
self.DB = new Dexie('LSS_AutomaticDispo');
|
self.DB = new Dexie('LSS_WatchMissions');
|
||||||
|
|
||||||
|
|
||||||
self.DB.version(1).stores({
|
self.DB.version(1).stores({
|
||||||
@@ -18,6 +18,7 @@ class WatchMissions {
|
|||||||
* Missions to Watch
|
* Missions to Watch
|
||||||
* - missionID - Mission ID that should be watched.
|
* - missionID - Mission ID that should be watched.
|
||||||
* - limit - If the Mission turns green more than 6 times, no more requests will be sent.
|
* - limit - If the Mission turns green more than 6 times, no more requests will be sent.
|
||||||
|
* - data - {name, datetime, onsite{ username:{ cars: [ {name, type} ] } } }
|
||||||
*/
|
*/
|
||||||
Missions: "++missionID"
|
Missions: "++missionID"
|
||||||
});
|
});
|
||||||
@@ -33,23 +34,209 @@ class WatchMissions {
|
|||||||
else if (window.location.pathname.indexOf("/missions/") !== -1 && window.name == 'watchMission') {
|
else if (window.location.pathname.indexOf("/missions/") !== -1 && window.name == 'watchMission') {
|
||||||
self.RegisterMissionPage();
|
self.RegisterMissionPage();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
get RandomTime() {
|
get RandomTime() {
|
||||||
const max = 6;
|
const max = 6;
|
||||||
const min = 1;
|
const min = 1;
|
||||||
return Math.floor((Math.random()*(max-min+1)+min)*1000);
|
return Math.floor((Math.random() * (max - min + 1) + min) * 1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
RegisterIndexPage() {
|
RegisterIndexPage() {
|
||||||
|
let self = this;
|
||||||
|
// -
|
||||||
|
// - Google Font
|
||||||
|
// -
|
||||||
|
var styleElement = document.createElement("link");
|
||||||
|
styleElement.rel = "stylesheet";
|
||||||
|
styleElement.href = "https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700";
|
||||||
|
this.ADis_MyHead.appendChild(styleElement);
|
||||||
|
|
||||||
|
// -
|
||||||
|
// - FontAwesome 5
|
||||||
|
// -
|
||||||
|
var scriptElement = document.createElement("script");
|
||||||
|
scriptElement.type = "text/javascript";
|
||||||
|
scriptElement.src = "https://use.fontawesome.com/releases/v5.5.0/js/all.js";
|
||||||
|
this.ADis_MyHead.appendChild(scriptElement);
|
||||||
|
|
||||||
|
// -
|
||||||
|
// - Navbar Dashboard
|
||||||
|
// -
|
||||||
|
var styleElement = document.createElement("link");
|
||||||
|
styleElement.rel = "stylesheet";
|
||||||
|
styleElement.type = "text/css";
|
||||||
|
styleElement.media = "screen";
|
||||||
|
styleElement.href = this.ADisSettings.url + this.ADisSettings.branch + "/style/interface.css";
|
||||||
|
this.ADis_MyHead.appendChild(styleElement);
|
||||||
|
|
||||||
|
// Create Dashboard
|
||||||
|
$('#news_li').before('<li id="adis-nav-item"></li>');
|
||||||
|
$('#adis-nav-item').html(`/***ADis_Navbar***/0`)
|
||||||
|
$("#adis-dashboard").css({
|
||||||
|
display: "none",
|
||||||
|
opacity: "0"
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
RegisterMissionPage() {
|
// Generate HTML Table
|
||||||
|
// Builds the HTML Table out of myList json data from Ivy restful service.
|
||||||
|
buildHtmlTable() {
|
||||||
|
const self = this;
|
||||||
|
self.addTable(myList, $("#excelDataTable"));
|
||||||
|
}
|
||||||
|
|
||||||
|
addTable(list, appendObj) {
|
||||||
|
const self = this;
|
||||||
|
appendObj.html('');
|
||||||
|
var columns = self.addAllColumnHeaders(list, appendObj);
|
||||||
|
|
||||||
|
for (var i = 0; i < list.length; i++) {
|
||||||
|
var row$ = $('<tr/>');
|
||||||
|
for (var colIndex = 0; colIndex < columns.length; colIndex++) {
|
||||||
|
var cellValue = list[i][columns[colIndex]];
|
||||||
|
|
||||||
|
if (cellValue == null) {
|
||||||
|
cellValue = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (cellValue.constructor === Array) {
|
||||||
|
$a = $('<td/>');
|
||||||
|
row$.append($a);
|
||||||
|
self.addTable(cellValue, $a);
|
||||||
|
|
||||||
|
} else if (cellValue.constructor === Object) {
|
||||||
|
|
||||||
|
var array = $.map(cellValue, function (value, index) {
|
||||||
|
return [value];
|
||||||
|
});
|
||||||
|
|
||||||
|
$a = $('<td/>');
|
||||||
|
row$.append($a);
|
||||||
|
self.addObject(array, $a);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
row$.append($('<td/>').html(cellValue));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
appendObj.append(row$);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
addObject(list, appendObj) {
|
||||||
|
const self = this;
|
||||||
|
for (var i = 0; i < list.length; i++) {
|
||||||
|
var row$ = $('<tr/>');
|
||||||
|
|
||||||
|
var cellValue = list[i];
|
||||||
|
|
||||||
|
if (cellValue == null) {
|
||||||
|
cellValue = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (cellValue.constructor === Array) {
|
||||||
|
$a = $('<td/>');
|
||||||
|
row$.append($a);
|
||||||
|
self.addTable(cellValue, $a);
|
||||||
|
|
||||||
|
} else if (cellValue.constructor === Object) {
|
||||||
|
|
||||||
|
var array = $.map(cellValue, function (value, index) {
|
||||||
|
return [value];
|
||||||
|
});
|
||||||
|
|
||||||
|
$a = $('<td/>');
|
||||||
|
row$.append($a);
|
||||||
|
self.addObject(array, $a);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
row$.append($('<td/>').html(cellValue));
|
||||||
|
}
|
||||||
|
appendObj.append(row$);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Adds a header row to the table and returns the set of columns.
|
||||||
|
// Need to do union of keys from all records as some records may not contain
|
||||||
|
// all records
|
||||||
|
addAllColumnHeaders(list, appendObj) {
|
||||||
|
var columnSet = [];
|
||||||
|
var headerTr$ = $('<tr/>');
|
||||||
|
|
||||||
|
for (var i = 0; i < list.length; i++) {
|
||||||
|
var rowHash = list[i];
|
||||||
|
for (var key in rowHash) {
|
||||||
|
if ($.inArray(key, columnSet) == -1) {
|
||||||
|
columnSet.push(key);
|
||||||
|
headerTr$.append($('<th/>').html(key));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
appendObj.append(headerTr$);
|
||||||
|
|
||||||
|
return columnSet;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Mission Page
|
||||||
|
|
||||||
|
RegisterMissionPage() {
|
||||||
|
let MissionType = null;
|
||||||
|
let MissionID = document.location.pathname.substr(document.location.pathname.lastIndexOf("/") + 1);
|
||||||
|
let help_el = $('a#mission_help');
|
||||||
|
if (help_el.length > 0) {
|
||||||
|
MissionType = help_el[0].href.split("?")[0];
|
||||||
|
var re = /\d+$/i;
|
||||||
|
var found = MissionType.match(re);
|
||||||
|
MissionType = Number(found[0]);
|
||||||
|
}
|
||||||
|
|
||||||
|
var myRows = [];
|
||||||
|
var $headers = $("table#mission_vehicle_driving th");
|
||||||
|
var $rows = $("table#mission_vehicle_driving tbody tr").each(function (index) {
|
||||||
|
$cells = $(this).find("td");
|
||||||
|
myRows[index] = {};
|
||||||
|
$cells.each(function (cellIndex) {
|
||||||
|
let mcoai = '';
|
||||||
|
if (cellIndex == 1) {
|
||||||
|
mcoai = ($($(this).find("a")[0]).text().trim() + ' ' + $($(this).find("small")[0]).text().trim()).replace(/(\r\n\t|\n|\r\t|\s{2,})/gm, "");
|
||||||
|
} else {
|
||||||
|
mcoai = ($(this).text().trim()).replace(/(\r\n\t|\n|\r\t|\s{2,})/gm, "");
|
||||||
|
}
|
||||||
|
console.log(cellIndex, mcoai, $($headers[cellIndex]).text().trim());
|
||||||
|
if ($($headers[cellIndex]).text().trim() != '') {
|
||||||
|
myRows[index][$($headers[cellIndex]).text().trim()] = mcoai
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// Let's put this in the object like you want and convert to JSON (Note: jQuery will also do this for you on the Ajax request)
|
||||||
|
var myObj = {};
|
||||||
|
myObj.Anfahrt = myRows.filter(value => Object.keys(value).length !== 0);
|
||||||
|
|
||||||
|
myRows = [];
|
||||||
|
$headers = $("table#mission_vehicle_at_mission th");
|
||||||
|
$rows = $("table#mission_vehicle_at_mission tbody tr").each(function (index) {
|
||||||
|
$cells = $(this).find("td");
|
||||||
|
myRows[index] = {};
|
||||||
|
$cells.each(function (cellIndex) {
|
||||||
|
let mcoai = '';
|
||||||
|
if (cellIndex == 1) {
|
||||||
|
mcoai = ($($(this).find("a")[0]).text().trim() + ' ' + $($(this).find("small")[0]).text().trim()).replace(/(\r\n\t|\n|\r\t|\s{2,})/gm, "");
|
||||||
|
} else {
|
||||||
|
mcoai = ($(this).text().trim()).replace(/(\r\n\t|\n|\r\t|\s{2,})/gm, "");
|
||||||
|
}
|
||||||
|
console.log(cellIndex, mcoai, $($headers[cellIndex]).text().trim());
|
||||||
|
if ($($headers[cellIndex]).text().trim() != '') {
|
||||||
|
myRows[index][$($headers[cellIndex]).text().trim()] = mcoai
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// Let's put this in the object like you want and convert to JSON (Note: jQuery will also do this for you on the Ajax request)
|
||||||
|
myObj.VorOrt = myRows.filter(value => Object.keys(value).length !== 0);
|
||||||
|
console.log(myObj);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user