Fix buga w funkcji getHotspotData
This commit is contained in:
36
getHotspotFromHTML.js
Normal file
36
getHotspotFromHTML.js
Normal file
@@ -0,0 +1,36 @@
|
||||
|
||||
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);
|
||||
});
|
||||
38
klasa.js
38
klasa.js
@@ -591,12 +591,12 @@ class IdmHotspot{
|
||||
});
|
||||
const data = await res.json();
|
||||
products = data?.data?.[this.query.graphFn === IDM_HOTSPOTS_GQL ? "hotspots" : "products"]?.products;
|
||||
this.title = this.title || data?.data?.hotspots?.name || "";
|
||||
}
|
||||
|
||||
if(!products || !products.length) throw new Error(idmHotspotTextObject["Nie znaleziono produktów"]);
|
||||
|
||||
this.products = products;
|
||||
this.title = this.title || data?.data?.hotspots?.name || "";
|
||||
}catch(err){
|
||||
console.error(idmHotspotTextObject["Błąd przy pobieraniu danych"], err);
|
||||
return null;
|
||||
@@ -2117,39 +2117,3 @@ document.addEventListener("DOMContentLoaded", ()=>{
|
||||
// swiper: true,
|
||||
// }
|
||||
// });
|
||||
|
||||
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);
|
||||
});
|
||||
Reference in New Issue
Block a user