Add visualization_tool/js/app.js
This commit is contained in:
parent
fe3700868d
commit
b2893c518c
1 changed files with 49 additions and 0 deletions
49
visualization_tool/js/app.js
Normal file
49
visualization_tool/js/app.js
Normal file
|
|
@ -0,0 +1,49 @@
|
||||||
|
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);
|
||||||
Loading…
Reference in a new issue