const staticItems = document.querySelectorAll('[lightbox-cms="list"] .w-dyn-item');
const promises = [];
staticItems.forEach(function loadMultiImages(staticItem) {
const promise = (async () => {
const templateLink = staticItem.querySelector('[lightbox-cms="template-link"]');
const templateUrl = templateLink.getAttribute('href');
const jsonElement = staticItem.querySelector('script.w-json');
const json = JSON.parse(jsonElement.textContent.trim());
json.group = templateLink.innerText.trim();
try {
const response = await fetch(templateUrl);
const templateHTML = await response.text();
const parser = new DOMParser();
const templateDoc = parser.parseFromString(templateHTML, 'text/html');
const templateImages = templateDoc.querySelectorAll('[lightbox-cms="template-list"] img');
templateImages.forEach(function(templateImage) {
json.items.push({
url: templateImage.src,
type: 'image'
});
});
jsonElement.textContent = JSON.stringify(json, null, 2);
} catch (error) {
console.error('Fehler beim Laden der Template-Seite:', error);
}
})();
promises.push(promise);
});
Promise.all(promises)
.then(function() {
restartWebflow('lightbox');
})
.catch(console.error);
//Reinitialisierung
function restartWebflow(modules) {
var Webflow = window.Webflow;
if (!Webflow || !('destroy' in Webflow) || !('ready' in Webflow) || !('require' in Webflow))
return;
if (modules && !modules.length)
return;
// Global
if (!modules) {
Webflow.destroy();
Webflow.ready();
}
// IX2
if (!modules || modules.indexOf('ix2') !== -1) {
var ix2 = Webflow.require('ix2');
if (ix2) {
var store = ix2.store;
var actions = ix2.actions;
var eventState = store.getState().ixSession.eventState;
var stateEntries = Object.entries(eventState);
if (!modules) {
ix2.destroy();
}
ix2.init();
var promises = stateEntries.map(function(state) {
return new Promise(function(resolve) {
resolve(store.dispatch(actions.eventStateChanged.apply(actions, state)));
});
});
return Promise.all(promises);
}
}
// Commerce
if (!modules || modules.indexOf('commerce') !== -1) {
var commerce = Webflow.require('commerce');
var siteId = getSiteId();
if (commerce && siteId) {
commerce.destroy();
commerce.init({ siteId: siteId, apiUrl: 'https://render.webflow.com' });
}
}
// Lightbox
if (modules && modules.indexOf('lightbox') !== -1) {
var lightbox = Webflow.require('lightbox');
if (lightbox) {
lightbox.ready();
}
}
// Slider
if (modules && modules.indexOf('slider') !== -1) {
var slider = Webflow.require('slider');
if (slider) {
slider.redraw();
slider.ready();
}
}
// Tabs
if (modules && modules.indexOf('tabs') !== -1) {
var tabs = Webflow.require('tabs');
if (tabs) {
tabs.redraw();
}
}
return new Promise(function(resolve) {
Webflow.push(function() {
resolve(undefined);
});
});
}