{"version":3,"file":"infinity_scroll_ambientes.js","mappings":"AAAAA,OAAOC,eAAiB,CAGtBC,WAAYF,OAAOG,YAEnBC,aAAcC,SAASC,cAAc,qBAGrCC,OAAQF,SAASC,cAAc,oBAE/BE,YAAa,WACX,MAAMD,OAASE,KAAKF,OACN,MAAVA,QAAgBA,OAAOG,cAAcC,YAAYJ,OACvD,EAEAK,eAAgB,SAAUC,SACxB,MAAMC,MAAQL,KACRM,WAAaD,MAAMZ,WAAWc,YAGpC,GAAIH,SAAWE,aAGbD,MAAMZ,WAAWe,aAAeJ,QAG5BC,MAAMZ,WAAWe,cAAgBF,YAAYD,MAAMN,cAGnDK,QAAUE,YACZ,OAAOD,MAAMZ,WAAWgB,SAAWJ,MAAMZ,WAAWiB,MAAMN,SAASO,GAEzE,EAEAC,aAAcC,iBACZ,MAEMC,WAFUd,KAAKP,WAAWgB,SAELM,QAAQ,UAAW,aAKxCC,eAAiBC,MAAMH,YACvBI,WAAaF,SAASG,OAK5B,OAFe,IAAIC,WACAC,gBAAgBH,KAAM,aAC9BI,iBAAiB,kBAC9B,EAEAC,YAAaV,iBACX,MAAMR,MAAQL,KACRwB,YAAcnB,MAAMZ,WAAWe,aAC/BiB,QAAUpB,MAAMV,aAEjB8B,QAAQC,UAAUC,SAAS,eAG9BtB,MAAMV,aAAa+B,UAAUE,IAAI,aACjCvB,MAAMP,OAAO4B,UAAUE,IAAI,oBACDvB,MAAMO,gBACpBiB,SAAQC,UAAaL,QAAQM,YAAYD,QAAO,IAG5DzB,MAAMF,eAAeqB,YAAc,GAGnCQ,iBAAiBC,SAGjB1C,OAAO2C,MAAMC,eAGbV,QAAQC,UAAUU,OAAO,aACzB/B,MAAMP,OAAO4B,UAAUU,OAAO,aAElC,EAEAC,KAAM,WACJ,MAAMhC,MAAQL,KACRF,OAASO,MAAMP,OAGUwC,aAApBjC,MAAMZ,YAED,MAAVK,QAEFA,OAAOyC,iBAAiB,SAAS,KAAQlC,MAAMkB,aAAY,GAGjE,GAEFhC,OAAOgD,iBAAiB,QAAQ,KAAQ/C,eAAe6C,MAAK","sources":["webpack://build/../miudamobilia/assets/javascripts/infinity_scroll_ambientes.js"],"sourcesContent":["window.infiniteScroll = {\r\n\r\n // variável criada no arquivo _infinity_scroll.liquid\r\n pagination: window._pagination,\r\n // wrapper que contém/recebe os produtos\r\n postsWrapper: document.querySelector('[data-posts-list]'),\r\n\r\n // elemento que ativa a busca por mais produtos\r\n loadEl: document.querySelector('[data-load-more]'),\r\n\r\n stopLoading: function() {\r\n const loadEl = this.loadEl;\r\n if (loadEl != null) loadEl.parentElement.removeChild(loadEl);\r\n },\r\n\r\n setCurrentPage: function (_number) {\r\n const _this = this;\r\n const totalPages = _this.pagination.total_pages;\r\n\r\n // Verifica se a página atual não é maior que o total de páginas\r\n if (_number <= totalPages) {\r\n\r\n // Atualiza a página atual\r\n _this.pagination.current_page = _number;\r\n\r\n // Desabilita prosseguimento caso tenha chegado na última página, removendo o elemento que dá trigger\r\n if (_this.pagination.current_page >= totalPages) _this.stopLoading();\r\n\r\n // Atualiza a URL da próxima página\r\n if (_number < totalPages)\r\n return _this.pagination.next_url = _this.pagination.pages[_number].url\r\n }\r\n },\r\n\r\n loadProducts: async function() {\r\n const nextUrl = this.pagination.next_url;\r\n // Arruma a url para a coleção correta para se fazer o fetch. \r\n const nextUrlNew = nextUrl.replace('cockpit', 'ambientes')\r\n\r\n\r\n // Busca próxima leva de produtos\r\n \r\n const response = await fetch(nextUrlNew)\r\n const data = await response.text();\r\n\r\n // Parse e retorno da resposta\r\n const parser = new DOMParser();\r\n const doc = parser.parseFromString(data, \"text/html\");\r\n return doc.querySelectorAll('.ambiente_thumb');\r\n },\r\n\r\n getNextPage: async function() {\r\n const _this = this;\r\n const currentPage = _this.pagination.current_page;\r\n const wrapper = _this.postsWrapper;\r\n\r\n if (!wrapper.classList.contains('searching')) {\r\n\r\n // Busca e adiciona novos produtos\r\n _this.postsWrapper.classList.add('searching');\r\n _this.loadEl.classList.add('searching');\r\n const newProducts = await _this.loadProducts();\r\n newProducts.forEach(product => { wrapper.appendChild(product) });\r\n\r\n // Atualiza página atual carregada e próxima etapa se tiver\r\n _this.setCurrentPage(currentPage + 1);\r\n\r\n // Atualiza o lazy load\r\n lazyLoadInstance.update();\r\n\r\n // Busca preços por ajax\r\n window.store.getPriceProd();\r\n\r\n // libera o processo de busca de novas páginas\r\n wrapper.classList.remove('searching');\r\n _this.loadEl.classList.remove('searching');\r\n }\r\n },\r\n\r\n init: function() {\r\n const _this = this;\r\n const loadEl = _this.loadEl;\r\n\r\n // Verifica se há paginação definida antes de iniciar\r\n if (typeof _this.pagination != undefined) {\r\n\r\n if (loadEl != null) {\r\n // Inicia com clique no botão\r\n loadEl.addEventListener('click', () => { _this.getNextPage() })\r\n }\r\n }\r\n }\r\n}\r\nwindow.addEventListener('load', () => { infiniteScroll.init() })\r\n"],"names":["window","infiniteScroll","pagination","_pagination","postsWrapper","document","querySelector","loadEl","stopLoading","this","parentElement","removeChild","setCurrentPage","_number","_this","totalPages","total_pages","current_page","next_url","pages","url","loadProducts","async","nextUrlNew","replace","response","fetch","data","text","DOMParser","parseFromString","querySelectorAll","getNextPage","currentPage","wrapper","classList","contains","add","forEach","product","appendChild","lazyLoadInstance","update","store","getPriceProd","remove","init","undefined","addEventListener"],"sourceRoot":""}