36 lines
1.6 KiB
JavaScript
36 lines
1.6 KiB
JavaScript
|
|
async function idmPrepareHotspotObject(selectedContainerEl){
|
|
selectedContainerEl.classList.add("--init");
|
|
const source = {};
|
|
|
|
if(selectedContainerEl.dataset?.link) source.link = selectedContainerEl.dataset.link;
|
|
else if(selectedContainerEl.dataset?.hotspotsType) source.hotspotsType = selectedContainerEl.dataset.hotspotsType;
|
|
else {
|
|
if(selectedContainerEl.dataset?.productsId) source.productsId = selectedContainerEl.dataset.productsId.split(",");
|
|
if(selectedContainerEl.dataset?.productsMenu) source.productsMenu = selectedContainerEl.dataset.productsMenu;
|
|
if(selectedContainerEl.dataset?.producersId) source.producersId = selectedContainerEl.dataset.producersId;
|
|
if(selectedContainerEl.dataset?.seriesId) source.seriesId = selectedContainerEl.dataset.seriesId;
|
|
if(selectedContainerEl.dataset?.parametersId) source.seriesId = selectedContainerEl.dataset.parametersId;
|
|
if(selectedContainerEl.dataset?.priceFrom && selectedContainerEl.dataset?.priceTo) source.priceRange = {from: +selectedContainerEl.dataset.priceFrom, to: +selectedContainerEl.dataset.priceTo};
|
|
}
|
|
|
|
if(Object.keys(source).length === 0){
|
|
console.error();
|
|
selectedContainerEl?.remove();
|
|
return;
|
|
}
|
|
|
|
const idmHotspotObj = {
|
|
id: selectedContainerEl?.id,
|
|
source,
|
|
hotspotEl: selectedContainerEl
|
|
};
|
|
|
|
if(selectedContainerEl?.dataset?.lazy) idmHotspotObj.options = {lazy: selectedContainerEl?.dataset?.lazy === "true" ? true : false};
|
|
|
|
new IdmHotspot(idmHotspotObj);
|
|
}
|
|
|
|
document.querySelectorAll(".hotspot__wrapper.idm__hotspot").forEach(currentHotspot=>{
|
|
idmPrepareHotspotObject(currentHotspot);
|
|
}); |