From 6540381f1fd12aa56cc29e90e494e8c804de7e1f Mon Sep 17 00:00:00 2001 From: "pawel.gaca" Date: Mon, 15 Dec 2025 08:44:57 +0100 Subject: [PATCH] Fix buga w funkcji getHotspotData --- getHotspotFromHTML.js | 36 ++++++++++++++++++++++++++++++++++++ klasa.js | 38 +------------------------------------- ramka.txt | 7 ------- 3 files changed, 37 insertions(+), 44 deletions(-) create mode 100644 getHotspotFromHTML.js diff --git a/getHotspotFromHTML.js b/getHotspotFromHTML.js new file mode 100644 index 0000000..2334c15 --- /dev/null +++ b/getHotspotFromHTML.js @@ -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); +}); \ No newline at end of file diff --git a/klasa.js b/klasa.js index 5778b5e..8d165fe 100644 --- a/klasa.js +++ b/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); -}); \ No newline at end of file diff --git a/ramka.txt b/ramka.txt index cc27b85..a7612d7 100644 --- a/ramka.txt +++ b/ramka.txt @@ -30,10 +30,3 @@ BUG Z RAMKAMI HTML jak się używa extends!!!!!! cacheowanie ramek do indexedDB - - - - -kolejny bug jakis zaraz sobie przypomnek - -Dodawanie do ulubionych nie ma jak działać w modalu, daj warunek żeby to wyłączyć \ No newline at end of file