- Create individual CSS files: monitoring.css, alerts.css, health.css, logs.css, metrics.css, resources.css - Create individual JS files: monitoring.js, alerts.js, health.js, logs.js, metrics.js, resources.js - Update HTML files to reference external CSS/JS files - Add CSS/JS files for other modules (analytics, chat, mail, meet, tasks, etc.) - Remove obsolete implementation plan files
54 lines
1.6 KiB
JavaScript
54 lines
1.6 KiB
JavaScript
/* Metrics page JavaScript */
|
|
|
|
function updateMetricsRange(range) {
|
|
localStorage.setItem('metrics-time-range', range);
|
|
refreshMetrics();
|
|
}
|
|
|
|
function refreshMetrics() {
|
|
// Refresh all metric components
|
|
htmx.trigger('.key-metrics', 'refresh');
|
|
htmx.trigger('#requests-chart', 'refresh');
|
|
htmx.trigger('#latency-chart', 'refresh');
|
|
htmx.trigger('#errors-chart', 'refresh');
|
|
htmx.trigger('#throughput-chart', 'refresh');
|
|
}
|
|
|
|
function updateChartType(chart, type) {
|
|
// This would update the chart visualization type
|
|
console.log(`Updating ${chart} chart to ${type} type`);
|
|
// Implementation depends on charting library
|
|
}
|
|
|
|
function filterMetrics(query) {
|
|
const rows = document.querySelectorAll('.metrics-table tbody tr');
|
|
const lowerQuery = query.toLowerCase();
|
|
|
|
rows.forEach(row => {
|
|
const text = row.textContent.toLowerCase();
|
|
row.style.display = text.includes(lowerQuery) ? '' : 'none';
|
|
});
|
|
}
|
|
|
|
function filterByCategory(category) {
|
|
const rows = document.querySelectorAll('.metrics-table tbody tr');
|
|
|
|
rows.forEach(row => {
|
|
if (category === 'all') {
|
|
row.style.display = '';
|
|
} else {
|
|
const rowCategory = row.dataset.category || '';
|
|
row.style.display = rowCategory === category ? '' : 'none';
|
|
}
|
|
});
|
|
}
|
|
|
|
// Initialize on page load
|
|
document.addEventListener('DOMContentLoaded', function() {
|
|
// Restore time range preference
|
|
const savedRange = localStorage.getItem('metrics-time-range');
|
|
if (savedRange) {
|
|
const select = document.getElementById('metrics-time-range');
|
|
if (select) select.value = savedRange;
|
|
}
|
|
});
|