import { parseString } from 'xml2js'; // Import our interactive measurement renderer import { renderMeasurementResults } from './renderers/MeasurementRenderer.js'; import { renderAdminData } from './renderers/AdminRenderer.js'; // Global configuration const selectableLanguages = ['en', 'de', 'fr', 'es']; let selectedLanguage = 'en'; let dccData = null; export function initApp() { const appContainer = document.getElementById('app'); // Create language selection dropdown const langSelect = document.createElement('select'); selectableLanguages.forEach(lang => { const option = document.createElement('option'); option.value = lang; option.textContent = lang; if (lang === selectedLanguage) option.selected = true; langSelect.appendChild(option); }); langSelect.addEventListener('change', (e) => { selectedLanguage = e.target.value; renderAll(); }); appContainer.appendChild(langSelect); // Create containers for admin data and measurement results const adminContainer = document.createElement('div'); adminContainer.id = 'adminData'; appContainer.appendChild(adminContainer); const measContainer = document.createElement('div'); measContainer.id = 'measurementResults'; appContainer.appendChild(measContainer); // Load the XML file from the data folder fetch('/data/sin_acceleration_example_dcc_WithExampleConformatyStatment.xml') .then(response => response.text()) .then(xmlText => { parseString(xmlText, { explicitArray: false }, (err, result) => { if (err) { console.error('Error parsing XML:', err); return; } dccData = result; renderAll(); }); }) .catch(err => console.error('Error loading XML file:', err)); } function renderAll() { // Clear containers document.getElementById('adminData').innerHTML = ''; document.getElementById('measurementResults').innerHTML = ''; if (dccData && dccData['dcc:digitalCalibrationCertificate']) { const cert = dccData['dcc:digitalCalibrationCertificate']; if (cert['dcc:administrativeData']) { renderAdminData(cert['dcc:administrativeData'], selectedLanguage); } if (cert['dcc:measurementResults']) { renderMeasurementResults(cert['dcc:measurementResults'], selectedLanguage); } } }