+
+
@@ -154,11 +155,13 @@ function initializeDatatable() {
recordsFiltered: response.recordsFiltered || 0
});
hideSpinner();
+ hideEventsSkeleton();
},
error: function (xhr, status, error) {
console.error("Error fetching session events:", status, error, xhr.responseText);
callback({ data: [], recordsTotal: 0, recordsFiltered: 0 });
hideSpinner();
+ hideEventsSkeleton();
}
});
},
@@ -253,4 +256,12 @@ function getEvents(type) {
showSpinner();
table.ajax.reload(null, true); // reset to page 1
}
+
+function hideEventsSkeleton() {
+ $('#events-skeleton').fadeOut(250, function () { $(this).remove(); });
+}
+
+window.addEventListener('load', function () {
+ setTimeout(hideEventsSkeleton, 15000);
+});
diff --git a/front/js/common.js b/front/js/common.js
index 3ae3803b..7c0762d3 100755
--- a/front/js/common.js
+++ b/front/js/common.js
@@ -957,8 +957,8 @@ let animationTime = 300
function showSpinner(stringKey = 'Loading') {
let text = isEmpty(stringKey) ? "Loading..." : getString(stringKey || "Loading");
- if (text == ""){
- text = "Loading"
+ if (!text || !text.trim()) {
+ text = "Loading..."
}
const spinner = $("#loadingSpinner");
@@ -978,7 +978,7 @@ function showSpinner(stringKey = 'Loading') {
left: offset.left,
width: width,
height: height,
- zIndex: 800
+ zIndex: 9999
});
} else {
// Fullscreen fallback
@@ -988,7 +988,7 @@ function showSpinner(stringKey = 'Loading') {
left: 0,
width: "100%",
height: "100%",
- zIndex: 800
+ zIndex: 9999
});
}
@@ -1018,7 +1018,7 @@ function hideSpinner() {
left: offset.left,
width: width,
height: height,
- zIndex: 800
+ zIndex: 9999
});
} else {
// Fullscreen fallback
@@ -1028,7 +1028,7 @@ function hideSpinner() {
left: 0,
width: "100%",
height: "100%",
- zIndex: 800
+ zIndex: 9999
});
}
diff --git a/front/js/settings_utils.js b/front/js/settings_utils.js
index 6cb01e62..11b1a12b 100755
--- a/front/js/settings_utils.js
+++ b/front/js/settings_utils.js
@@ -99,7 +99,7 @@ function pluginCards(prefixesOfEnabledPlugins, includeSettings) {
});
html += `
-
+
diff --git a/front/maintenance.php b/front/maintenance.php
index f707acf5..d401ecf8 100755
--- a/front/maintenance.php
+++ b/front/maintenance.php
@@ -1,6 +1,5 @@
@@ -146,6 +145,7 @@ $db->close();
+
@@ -200,6 +200,7 @@ $db->close();
+
@@ -241,6 +242,7 @@ $db->close();
+
@@ -273,6 +275,7 @@ $db->close();
+
-
diff --git a/front/php/templates/migrationCheck.php b/front/php/templates/migrationCheck.php
index 8890df74..ad229a67 100755
--- a/front/php/templates/migrationCheck.php
+++ b/front/php/templates/migrationCheck.php
@@ -1,6 +1,4 @@
-
+
hideSpinner(), 50);
+ setTimeout(() => {
+ hideSpinner();
+ }, 50);
}
//------------------------------------------------------------------------------
@@ -836,6 +841,7 @@ function renderLogs(customData) {
// data: { items: JSON.stringify(customData) }, // Send customData as JSON
success: function(response) {
$('#logsPlc').html(response); // Replace container content with fetched HTML
+ hideMaintLoggingSkeleton();
applyFilter();
@@ -847,6 +853,7 @@ function renderLogs(customData) {
},
error: function(xhr, status, error) {
console.error('Error fetching infoboxes:', error);
+ hideMaintLoggingSkeleton();
}
});
}
@@ -870,6 +877,23 @@ window.onload = function asyncFooter() {
+
+
diff --git a/front/network.php b/front/network.php
index eb57afd5..7cf2dfeb 100755
--- a/front/network.php
+++ b/front/network.php
@@ -1,6 +1,5 @@
diff --git a/front/php/templates/footer.php b/front/php/templates/footer.php
index d242cfe5..dc699877 100755
--- a/front/php/templates/footer.php
+++ b/front/php/templates/footer.php
@@ -43,6 +43,9 @@
+
+
+
diff --git a/front/php/templates/header.php b/front/php/templates/header.php
index 8060abe9..4faff4c8 100755
--- a/front/php/templates/header.php
+++ b/front/php/templates/header.php
@@ -151,7 +151,7 @@
| + | Loading... |
+
+
+
+
diff --git a/front/php/templates/skel_devices.php b/front/php/templates/skel_devices.php
new file mode 100644
index 00000000..51058cac
--- /dev/null
+++ b/front/php/templates/skel_devices.php
@@ -0,0 +1,301 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/front/php/templates/skel_events.php b/front/php/templates/skel_events.php
new file mode 100644
index 00000000..a5f90ef4
--- /dev/null
+++ b/front/php/templates/skel_events.php
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/front/php/templates/skel_notifications.php b/front/php/templates/skel_notifications.php
new file mode 100644
index 00000000..8315ebf2
--- /dev/null
+++ b/front/php/templates/skel_notifications.php
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/front/php/templates/skel_plugins.php b/front/php/templates/skel_plugins.php
new file mode 100644
index 00000000..6da4a974
--- /dev/null
+++ b/front/php/templates/skel_plugins.php
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/front/php/templates/skel_presence.php b/front/php/templates/skel_presence.php
new file mode 100644
index 00000000..69821f95
--- /dev/null
+++ b/front/php/templates/skel_presence.php
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/front/php/templates/skel_report.php b/front/php/templates/skel_report.php
new file mode 100644
index 00000000..fa6748c2
--- /dev/null
+++ b/front/php/templates/skel_report.php
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/front/php/templates/skel_settings.php b/front/php/templates/skel_settings.php
new file mode 100644
index 00000000..f230a689
--- /dev/null
+++ b/front/php/templates/skel_settings.php
@@ -0,0 +1,106 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/front/php/templates/skel_tab_details.php b/front/php/templates/skel_tab_details.php
new file mode 100644
index 00000000..0067c7e4
--- /dev/null
+++ b/front/php/templates/skel_tab_details.php
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/front/php/templates/skel_tab_events.php b/front/php/templates/skel_tab_events.php
new file mode 100644
index 00000000..667049b0
--- /dev/null
+++ b/front/php/templates/skel_tab_events.php
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/front/php/templates/skel_tab_maint_backup.php b/front/php/templates/skel_tab_maint_backup.php
new file mode 100644
index 00000000..83044e56
--- /dev/null
+++ b/front/php/templates/skel_tab_maint_backup.php
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/front/php/templates/skel_tab_maint_dbtools.php b/front/php/templates/skel_tab_maint_dbtools.php
new file mode 100644
index 00000000..7072bfa4
--- /dev/null
+++ b/front/php/templates/skel_tab_maint_dbtools.php
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
diff --git a/front/php/templates/skel_tab_maint_logging.php b/front/php/templates/skel_tab_maint_logging.php
new file mode 100644
index 00000000..74ce9a6f
--- /dev/null
+++ b/front/php/templates/skel_tab_maint_logging.php
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
diff --git a/front/php/templates/skel_tab_maint_multiedit.php b/front/php/templates/skel_tab_maint_multiedit.php
new file mode 100644
index 00000000..d9caa923
--- /dev/null
+++ b/front/php/templates/skel_tab_maint_multiedit.php
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/front/php/templates/skel_tab_presence.php b/front/php/templates/skel_tab_presence.php
new file mode 100644
index 00000000..c403b47d
--- /dev/null
+++ b/front/php/templates/skel_tab_presence.php
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
diff --git a/front/php/templates/skel_tab_sessions.php b/front/php/templates/skel_tab_sessions.php
new file mode 100644
index 00000000..80cedbf6
--- /dev/null
+++ b/front/php/templates/skel_tab_sessions.php
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/front/php/templates/skel_tab_sysinfo_initcheck.php b/front/php/templates/skel_tab_sysinfo_initcheck.php
new file mode 100644
index 00000000..4c8656d3
--- /dev/null
+++ b/front/php/templates/skel_tab_sysinfo_initcheck.php
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/front/php/templates/skel_tab_sysinfo_network.php b/front/php/templates/skel_tab_sysinfo_network.php
new file mode 100644
index 00000000..06ee49f4
--- /dev/null
+++ b/front/php/templates/skel_tab_sysinfo_network.php
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/front/php/templates/skel_tab_sysinfo_server.php b/front/php/templates/skel_tab_sysinfo_server.php
new file mode 100644
index 00000000..9422a79f
--- /dev/null
+++ b/front/php/templates/skel_tab_sysinfo_server.php
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/front/php/templates/skel_tab_sysinfo_storage.php b/front/php/templates/skel_tab_sysinfo_storage.php
new file mode 100644
index 00000000..8f0f1a24
--- /dev/null
+++ b/front/php/templates/skel_tab_sysinfo_storage.php
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
diff --git a/front/php/templates/skel_workflows.php b/front/php/templates/skel_workflows.php
new file mode 100644
index 00000000..23a72188
--- /dev/null
+++ b/front/php/templates/skel_workflows.php
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/front/plugins.php b/front/plugins.php
index 0cae73c8..6d946ff1 100755
--- a/front/plugins.php
+++ b/front/plugins.php
@@ -1,16 +1,16 @@
-
+
+
+
+
+
+
+
+
+
+
+
-
+
${getString('Gen_No_Data')}`);
hideSpinner();
+ hidePluginsSkeleton();
return;
}
@@ -534,6 +537,7 @@ function generateTabs() {
}
hideSpinner()
+ hidePluginsSkeleton()
}
function resetTabs() {
@@ -858,4 +862,12 @@ else
initFields();
}
+function hidePluginsSkeleton() {
+ $('#plugins-skeleton').fadeOut(250, function() { $(this).remove(); });
+}
+
+window.addEventListener('load', function() {
+ setTimeout(function() { hidePluginsSkeleton(); hideSpinner(); }, 15000);
+});
+
diff --git a/front/presence.php b/front/presence.php
index 98698947..9646de85 100755
--- a/front/presence.php
+++ b/front/presence.php
@@ -21,7 +21,8 @@
-
+
+
@@ -344,6 +345,7 @@ function initializeCalendar () {
showSpinner();
} else {
hideSpinner();
+ hidePresenceSkeleton();
}
}
@@ -507,6 +509,13 @@ function getDevicesPresence (status) {
});
};
+function hidePresenceSkeleton() {
+ hideSpinner();
+ $('#presence-skeleton').fadeOut(250, function() { $(this).remove(); });
+}
+window.addEventListener('load', function() {
+ setTimeout(hidePresenceSkeleton, 15000);
+});
diff --git a/front/report.php b/front/report.php
index 33afb736..1a1ce4fb 100755
--- a/front/report.php
+++ b/front/report.php
@@ -1,7 +1,6 @@
@@ -10,7 +9,8 @@
-
+
+
@@ -126,6 +126,7 @@
})
.finally(() => {
hideSpinner(); // always called, even if error occurred
+ hideReportSkeleton();
});
}
@@ -183,6 +184,14 @@
+
diff --git a/front/settings.php b/front/settings.php
index 5780de78..03d3e291 100755
--- a/front/settings.php
+++ b/front/settings.php
@@ -69,20 +69,17 @@ $settingsJSON_DB = json_encode($settings, JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX
-
-
-
-
-
+
+
-