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();
|
const data = await res.json();
|
||||||
products = data?.data?.[this.query.graphFn === IDM_HOTSPOTS_GQL ? "hotspots" : "products"]?.products;
|
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"]);
|
if(!products || !products.length) throw new Error(idmHotspotTextObject["Nie znaleziono produktów"]);
|
||||||
|
|
||||||
this.products = products;
|
this.products = products;
|
||||||
this.title = this.title || data?.data?.hotspots?.name || "";
|
|
||||||
}catch(err){
|
}catch(err){
|
||||||
console.error(idmHotspotTextObject["Błąd przy pobieraniu danych"], err);
|
console.error(idmHotspotTextObject["Błąd przy pobieraniu danych"], err);
|
||||||
return null;
|
return null;
|
||||||
@@ -2117,39 +2117,3 @@ document.addEventListener("DOMContentLoaded", ()=>{
|
|||||||
// swiper: true,
|
// 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