Fix JavaScript UI and complete database table migration
- Update status page JavaScript to reset all fields to '-' on error - Fix status page to not show 'Connected' when API returns error - Update remaining database methods to use new live_routes_v4/v6 tables - Fix GetStatsContext to count routes from both IPv4 and IPv6 tables - Fix UpsertLiveRoute to insert into correct table based on IP version - Fix DeleteLiveRoute to determine table from prefix IP version
This commit is contained in:
@@ -286,6 +286,39 @@
|
||||
});
|
||||
}
|
||||
|
||||
function resetAllFields() {
|
||||
// Reset all metric fields to '-'
|
||||
document.getElementById('connected').textContent = '-';
|
||||
document.getElementById('connected').className = 'metric-value';
|
||||
document.getElementById('uptime').textContent = '-';
|
||||
document.getElementById('go_version').textContent = '-';
|
||||
document.getElementById('goroutines').textContent = '-';
|
||||
document.getElementById('memory_usage').textContent = '-';
|
||||
document.getElementById('total_messages').textContent = '-';
|
||||
document.getElementById('messages_per_sec').textContent = '-';
|
||||
document.getElementById('total_bytes').textContent = '-';
|
||||
document.getElementById('mbits_per_sec').textContent = '-';
|
||||
document.getElementById('asns').textContent = '-';
|
||||
document.getElementById('prefixes').textContent = '-';
|
||||
document.getElementById('ipv4_prefixes').textContent = '-';
|
||||
document.getElementById('ipv6_prefixes').textContent = '-';
|
||||
document.getElementById('peerings').textContent = '-';
|
||||
document.getElementById('peers').textContent = '-';
|
||||
document.getElementById('database_size').textContent = '-';
|
||||
document.getElementById('live_routes').textContent = '-';
|
||||
document.getElementById('ipv4_routes').textContent = '-';
|
||||
document.getElementById('ipv6_routes').textContent = '-';
|
||||
document.getElementById('ipv4_updates_per_sec').textContent = '-';
|
||||
document.getElementById('ipv6_updates_per_sec').textContent = '-';
|
||||
|
||||
// Clear handler stats
|
||||
document.getElementById('handler-stats-container').innerHTML = '';
|
||||
|
||||
// Clear prefix distributions
|
||||
document.getElementById('ipv4-prefix-distribution').innerHTML = '<div class="metric"><span class="metric-label">No data</span></div>';
|
||||
document.getElementById('ipv6-prefix-distribution').innerHTML = '<div class="metric"><span class="metric-label">No data</span></div>';
|
||||
}
|
||||
|
||||
function updateStatus() {
|
||||
fetch('/api/v1/stats')
|
||||
.then(response => response.json())
|
||||
@@ -294,6 +327,7 @@
|
||||
if (response.status === 'error') {
|
||||
document.getElementById('error').textContent = 'Error: ' + response.error.msg;
|
||||
document.getElementById('error').style.display = 'block';
|
||||
resetAllFields();
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -340,6 +374,7 @@
|
||||
.catch(error => {
|
||||
document.getElementById('error').textContent = 'Error fetching status: ' + error;
|
||||
document.getElementById('error').style.display = 'block';
|
||||
resetAllFields();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user