import { fetchResults } from './api.js'; import { renderTable, clearTable } from './ui.js'; import { renderChart, clearChart } from './charts.js'; /** * Aktualisiert die Darstellung basierend auf aktuellen Filterparametern. * @param {Object} filters - Aktuelle Filtereinstellungen (run_type, time_range etc.) */ export async function refreshData(filters = {}) { try { clearTable(); clearChart(); const results = await fetchResults(filters); if (!Array.isArray(results)) { console.error('Unerwartetes Datenformat von /results'); return; } renderTable(results); renderChart(results); } catch (error) { console.error('Fehler beim Laden der Analyseergebnisse:', error); } } /** * Initialisiert die Anwendung: Filter, Eventlistener und initialen Datenabruf. */ export function initApp() { const filterRunType = document.getElementById('filter-run-type'); const filterTimeRange = document.getElementById('filter-time-range'); const handleFilterChange = async () => { const filters = { run_type: filterRunType?.value || '', time_range: filterTimeRange?.value || '' }; await refreshData(filters); }; filterRunType?.addEventListener('change', handleFilterChange); filterTimeRange?.addEventListener('change', handleFilterChange); refreshData(); } window.addEventListener('load', initApp);