📝 "Refactor backend files
This commit is contained in:
@@ -265,19 +265,65 @@ async function loadStats() {
|
||||
const response = await fetch('/api/stats');
|
||||
const data = await response.json();
|
||||
|
||||
// Update dashboard counters
|
||||
document.getElementById('total-users-count').textContent = data.total_users || 0;
|
||||
document.getElementById('total-printers-count').textContent = data.total_printers || 0;
|
||||
document.getElementById('active-jobs-count').textContent = data.active_jobs || 0;
|
||||
// Update dashboard counters mit robusten ID-Checks
|
||||
const userCountEl = document.getElementById('live-users-count');
|
||||
if (userCountEl) {
|
||||
userCountEl.textContent = data.total_users || 0;
|
||||
}
|
||||
|
||||
const printerCountEl = document.getElementById('live-printers-count');
|
||||
if (printerCountEl) {
|
||||
printerCountEl.textContent = data.total_printers || 0;
|
||||
}
|
||||
|
||||
const activeJobsEl = document.getElementById('live-jobs-active');
|
||||
if (activeJobsEl) {
|
||||
activeJobsEl.textContent = data.active_jobs || 0;
|
||||
}
|
||||
|
||||
// Update scheduler status
|
||||
updateSchedulerStatusIndicator(data.scheduler_status || false);
|
||||
|
||||
// Update additional stats if elements exist
|
||||
const onlinePrintersEl = document.getElementById('live-printers-online');
|
||||
if (onlinePrintersEl) {
|
||||
onlinePrintersEl.textContent = `${data.online_printers || 0} online`;
|
||||
}
|
||||
|
||||
const queuedJobsEl = document.getElementById('live-jobs-queued');
|
||||
if (queuedJobsEl) {
|
||||
queuedJobsEl.textContent = `${data.queued_jobs || 0} in Warteschlange`;
|
||||
}
|
||||
|
||||
const successRateEl = document.getElementById('live-success-rate');
|
||||
if (successRateEl) {
|
||||
successRateEl.textContent = `${data.success_rate || 0}%`;
|
||||
}
|
||||
|
||||
// Update progress bars if they exist
|
||||
updateProgressBar('users-progress', data.total_users, 10);
|
||||
updateProgressBar('printers-progress', data.online_printers, data.total_printers);
|
||||
updateProgressBar('jobs-progress', data.active_jobs, 10);
|
||||
updateProgressBar('success-progress', data.success_rate, 100);
|
||||
|
||||
console.log('✅ Dashboard-Statistiken erfolgreich aktualisiert:', data);
|
||||
} catch (error) {
|
||||
console.error('Error loading stats:', error);
|
||||
showToast('Fehler beim Laden der Statistiken', 'error');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper-Funktion zum sicheren Aktualisieren von Progress-Bars
|
||||
*/
|
||||
function updateProgressBar(progressId, currentValue, maxValue) {
|
||||
const progressEl = document.getElementById(progressId);
|
||||
if (progressEl && currentValue !== undefined && maxValue > 0) {
|
||||
const percentage = Math.min(100, Math.max(0, (currentValue / maxValue) * 100));
|
||||
progressEl.style.width = `${percentage}%`;
|
||||
}
|
||||
}
|
||||
|
||||
function updateSchedulerStatusIndicator(isRunning) {
|
||||
const statusText = document.getElementById('scheduler-status');
|
||||
const indicator = document.getElementById('scheduler-indicator');
|
||||
|
Reference in New Issue
Block a user