Diese Anwendung simuliert eine Europeana-Suche mit inline Beispieldaten. Sie können nach Begriffen suchen, nach Typ filtern und die Ergebnisse als Bildergalerie durchstöbern. Der Code zeigt das typische Muster für die Arbeit mit API-ähnlichen Daten.
// 1. Suche ausfuehren
function suche() {
const begriff = suchfeld.value.toLowerCase();
const typ = typFilter.value;
let ergebnisse = europeanaItems;
// Nach Suchbegriff filtern
if (begriff) {
ergebnisse = ergebnisse.filter(item => {
const titel = (item.title?.[0] || '').toLowerCase();
const anbieter = (item.dataProvider?.[0] || '').toLowerCase();
return titel.includes(begriff) || anbieter.includes(begriff);
});
}
// Nach Typ filtern
if (typ) {
ergebnisse = ergebnisse.filter(item => item.type === typ);
}
// Sortieren
ergebnisse = sortiere(ergebnisse);
// Anzeigen
zeigeErgebnisse(ergebnisse);
}
// 2. Ergebnisse als Galerie rendern
function zeigeErgebnisse(items) {
container.innerHTML = items.map(item => `
<div class="galerie-item">
<img src="${item.edmPreview?.[0]}" alt="${item.title?.[0]}">
<div class="info">
<span class="typ-badge">${item.type}</span>
<h3>${item.title?.[0]}</h3>
<p class="meta">${item.year?.[0]} | ${item.dataProvider?.[0]}</p>
</div>
</div>
`).join('');
}