feat: add visibility change event listener for diagnostics updates

This commit is contained in:
Ivan K
2025-03-21 15:06:08 +03:00
parent 69c4445c85
commit 3b4ce9e7a3

View File

@@ -97,10 +97,15 @@ function createConfigSection(section, map, network) {
if (activeConfig) { if (activeConfig) {
if (activeConfig.includes('#')) { if (activeConfig.includes('#')) {
const label = activeConfig.split('#').pop() || 'unnamed'; const label = activeConfig.split('#').pop();
const decodedLabel = decodeURIComponent(label); if (label && label.trim()) {
const descDiv = E('div', { 'class': 'cbi-value-description' }, _('Current config: ') + decodedLabel); const decodedLabel = decodeURIComponent(label);
container.appendChild(descDiv); const descDiv = E('div', { 'class': 'cbi-value-description' }, _('Current config: ') + decodedLabel);
container.appendChild(descDiv);
} else {
const descDiv = E('div', { 'class': 'cbi-value-description' }, _('Config without description'));
container.appendChild(descDiv);
}
} else { } else {
const descDiv = E('div', { 'class': 'cbi-value-description' }, _('Config without description')); const descDiv = E('div', { 'class': 'cbi-value-description' }, _('Config without description'));
container.appendChild(descDiv); container.appendChild(descDiv);
@@ -1250,8 +1255,12 @@ return view.extend({
if (activeConfig) { if (activeConfig) {
if (activeConfig.includes('#')) { if (activeConfig.includes('#')) {
const label = activeConfig.split('#').pop() || 'unnamed'; const label = activeConfig.split('#').pop();
configName = _('Config: ') + decodeURIComponent(label); if (label && label.trim()) {
configName = _('Config: ') + decodeURIComponent(label);
} else {
configName = _('Main config');
}
} else { } else {
configName = _('Main config'); configName = _('Main config');
} }
@@ -1321,6 +1330,15 @@ return view.extend({
const titleDiv = E('h2', { 'class': 'cbi-map-title' }, _('Podkop')); const titleDiv = E('h2', { 'class': 'cbi-map-title' }, _('Podkop'));
node.insertBefore(titleDiv, node.firstChild); node.insertBefore(titleDiv, node.firstChild);
document.addEventListener('visibilitychange', function () {
const diagnosticsContainer = document.getElementById('diagnostics-status');
if (document.hidden) {
stopDiagnosticsUpdates();
} else if (diagnosticsContainer && diagnosticsContainer.hasAttribute('data-loading')) {
startDiagnosticsUpdates();
}
});
setTimeout(() => { setTimeout(() => {
const diagnosticsContainer = document.getElementById('diagnostics-status'); const diagnosticsContainer = document.getElementById('diagnostics-status');
if (diagnosticsContainer) { if (diagnosticsContainer) {