Merge pull request #4060 from IgorA100/patch-133

Delay monitors stopping for 15 seconds when hiding Montage, Watch, Zone, Zone edit page
This commit is contained in:
Isaac Connor
2024-05-31 11:00:05 -04:00
committed by GitHub
4 changed files with 31 additions and 14 deletions

View File

@@ -1105,11 +1105,15 @@ $j(window).on('load', () => initPage());
document.onvisibilitychange = () => {
if (document.visibilityState === "hidden") {
//Stop monitors when closing or hiding page
for (let i = 0, length = monitorData.length; i < length; i++) {
monitors[i].kill();
}
TimerHideShow = clearTimeout(TimerHideShow);
TimerHideShow = setTimeout(function() {
//Stop monitors when closing or hiding page
for (let i = 0, length = monitorData.length; i < length; i++) {
monitors[i].kill();
}
}, 15*1000);
} else {
TimerHideShow = clearTimeout(TimerHideShow);
//Start monitors when show page
for (let i = 0, length = monitorData.length; i < length; i++) {
if (!monitors[i].started) {
@@ -1119,6 +1123,7 @@ document.onvisibilitychange = () => {
}
};
/*
window.onbeforeunload = function(e) {
console.log('unload');

View File

@@ -24,6 +24,7 @@ var coordinateMouse = {
};
var leftBtnStatus = {Down: false, UpAfterDown: false};
var updateScale = false; //Scale needs to be updated
var TimerHideShow;
/*
This is the format of the json object sent by bootstrap-table
@@ -1407,8 +1408,11 @@ $j( window ).on("load", initPage);
document.onvisibilitychange = () => {
if (document.visibilityState === "hidden") {
//Stop monitor when closing or hiding page
monitorStream.kill();
TimerHideShow = clearTimeout(TimerHideShow);
TimerHideShow = setTimeout(function() {
//Stop monitor when closing or hiding page
monitorStream.kill();
}, 15*1000);
} else {
//Start monitor when show page
if (!monitorStream.started) {

View File

@@ -7,6 +7,7 @@ var refreshBtn = $j('#refreshBtn');
var analyseBtn = $j('#analyseBtn');
var monitors = [];
var analyse_frames = true;
var TimerHideShow;
function validateForm( form ) {
var errors = [];
@@ -763,10 +764,13 @@ function Polygon_calcArea(coords) {
document.onvisibilitychange = () => {
if (document.visibilityState === "hidden") {
//Stop monitors when closing or hiding page
for (let i = 0, length = monitorData.length; i < length; i++) {
monitors[i].kill();
}
TimerHideShow = clearTimeout(TimerHideShow);
TimerHideShow = setTimeout(function() {
//Stop monitors when closing or hiding page
for (let i = 0, length = monitorData.length; i < length; i++) {
monitors[i].kill();
}
}, 15*1000);
} else {
//Start monitors when show page
for (let i = 0, length = monitorData.length; i < length; i++) {

View File

@@ -5,6 +5,7 @@ function AddNewZone(el) {
}
var monitors = new Array();
var TimerHideShow;
function initPage() {
for ( var i = 0, length = monitorData.length; i < length; i++ ) {
@@ -54,10 +55,13 @@ window.addEventListener('DOMContentLoaded', initPage);
document.onvisibilitychange = () => {
if (document.visibilityState === "hidden") {
//Stop monitors when closing or hiding page
for (let i = 0, length = monitorData.length; i < length; i++) {
monitors[i].kill();
}
TimerHideShow = clearTimeout(TimerHideShow);
TimerHideShow = setTimeout(function() {
//Stop monitors when closing or hiding page
for (let i = 0, length = monitorData.length; i < length; i++) {
monitors[i].kill();
}
}, 15*1000);
} else {
//Start monitors when show page
for (let i = 0, length = monitorData.length; i < length; i++) {