1"use strict";(self["koneJsonp "]=self["koneJsonp "]||[]).push([[350],{8133:function(e,t,s){s.d(t,{AE:function(){return g},EV:function(){return n},F5:function(){return a},Ij:function(){return c},Je:function(){return p},N0:function(){return l},Sl:function(){return d},dq:function(){return o},hV:function(){return r},nz:function(){return h},oE:function(){return u},oG:function(){return i}});var i="openSearch",n="closeSearch",o="resetSearch",r="focusSearchInput",a="toggleMobileMenu",l="closeMobileMneu",c="openMobileMenu",u="closeMobileMenu",h="CONTENT_SYNDICATION_APPLY_FILTERS",d="SHOW_WIZARD_RESULT",p="UPDATE_WIZARD_STEP",g="SNACKBAR_SHOW"},8967:function(e,t,s){s(5056),s(2008),s(3851),s(1278),s(9432);var i=s(4467),n=s(3029),o=s(2901),r=(s(8706),s(3418),s(3792),s(4782),s(6099),s(3362),s(8781),s(7764),s(3500),s(2953),s(3296),s(7208),s(8408),s(4293)),a={jsonContentSyndicationPath:".content-syndication.json",selectors:{loader:".kone-gridblock__loader",container:".kone-gridblock__container",itemsWrapper:".kone-gridblock__itemsWrapper",item:".kone-gridblock__item",sliderItemActive:".kone-gridblock__list-sliderItemActive",prevButton:".kone-gridblock__pagination-button--prev",nextButton:".kone-gridblock__pagination-button--next",currentPage:".kone-gridblock__pagination-content--currentPage",totalPages:".kone-gridblock__pagination-content--totalPages",applyFilters:".kone-gridblock__filters-apply",pagination:".kone-gridblock__pagination",loadOnRequestButton:".kone-gridblock__loadOnRequestButton",noResults:".kone-gridblock__noResults",gridWrapper:".kone-gridblock__itemsWrapper",mobilePagination:".kone-gridblock__pagination-select",desktopList:".kone-gridblock__pagination-list"},classes:{hidden:"kone-hide",loaderActive:"kone-gridblock__loader-active",sliderContainer:"kone-gridblock__container-slider",buttonDisabled:"kone-button--disabled",sliderItem:"kone-gridblock__list-sliderItem",sliderItemActive:"kone-gridblock__list-sliderItemActive",oneColumn:"one-column",twoColumn:"two-columns",threeColumn:"three-columns",fourColumn:"four-columns"},customProps:{slideNext:"slideNext",slidePrev:"slidePrev"}},l=s(8133);function c(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,i)}return s}function u(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?c(Object(s),!0).forEach((function(t){(0,i.A)(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):c(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}var h=function(){return(0,o.A)((function e(t,s){(0,n.A)(this,e),this.el=t,this.config=u(u({},a),s),this.isAuthor="true"===this.el.dataset.isauthor,this.clientSideRendering="true"===this.config.clientSideRendering,this.feedStructure=this.config.feedStructure||"pagination",this.currentPage=1,this.pages=[],this.allItems=[],this.scrollObserver=null,this.pubsubToken=null,this.init()}),[{key:"init",value:function(){if(this.cacheStaticRefs(),this.clientSideRendering){if(this.cacheDynamicRefs(),this.parseResultsData(),0===this.allItems.length)return this.showNoResults(),void this.subscribeToFilters();this.renderCurrentView(),this.bindEvents(),this.subscribeToFilters(),this.applyGridColumnClass()}else this.applyGridColumnClass()}},{key:"destroy",value:function(){if(this.loadMoreHandler&&this.loadOnRequestButton&&(this.loadOnRequestButton.removeEventListener("click",this.loadMoreHandler),this.loadMoreHandler=null),this.prevHandler&&this.prevButton&&(this.prevButton.removeEventListener("click",this.prevHandler),this.prevHandler=null),this.nextHandler&&this.nextButton&&(this.nextButton.removeEventListener("click",this.nextHandler),this.nextHandler=null),this.scrollObserver&&(this.scrollObserver.disconnect(),this.scrollObserver=null),this.pubsubToken&&(window.PubSub.unsubscribe(this.pubsubToken),this.pubsubToken=null),this.desktopList&&(this.desktopList.innerHTML=""),this.mobileSelect&&this.mobileSelect.parentNode){var e=this.mobileSelect.cloneNode(!1);this.mobileSelect.parentNode.replaceChild(e,this.mobileSelect),this.mobileSelect=e}}},{key:"cacheStaticRefs",value:function(){this.container=this.el.querySelector(this.config.selectors.container),this.itemsWrapper=this.container?this.container.querySelector(this.config.selectors.itemsWrapper):null,this.templateItem=this.itemsWrapper?this.itemsWrapper.querySelector(this.config.selectors.item):null}},{key:"cacheDynamicRefs",value:function(){this.loader=this.el.querySelector(this.config.selectors.loader),this.applyFiltersEl=this.el.querySelector(this.config.selectors.applyFilters),this.noResultsMessage=this.el.querySelector(this.config.selectors.noResults),this.pagination=this.el.querySelector(this.config.selectors.pagination),this.prevButton=this.el.querySelector(this.config.selectors.prevButton),this.nextButton=this.el.querySelector(this.config.selectors.nextButton),this.currentPageEl=this.el.querySelector(this.config.selectors.currentPage),this.totalPagesEl=this.el.querySelector(this.config.selectors.totalPages),this.desktopList=this.el.querySelector(this.config.selectors.desktopList),this.mobileSelect=this.el.querySelector(this.config.selectors.mobilePagination),this.loadOnRequestButton=this.el.querySelector(this.config.selectors.loadOnRequestButton)}},{key:"parseResultsData",value:function(){this.currentPage=1;var e=this.config.resultsData||{};this.allItems=Array.isArray(e.items)?e.items:[],this.pageSize=parseInt(this.config.pageSize,10)||this.allItems.length||1,this.pages=[null];for(var t=0;t<this.allItems.length;t+=this.pageSize)this.pages.push(this.allItems.slice(t,t+this.pageSize));this.totalPages=this.pages.length-1}},{key:"getPageItems",value:function(e){return this.pages[e]||[]}}
1,{key:"renderCurrentView",value:function(){switch(this.feedStructure){case"fixedList":this.renderAllItems();break;case"loadOnRequest":case"loadOnScroll":this.renderAppendableItems();break;default:this.renderPage(this.currentPage)}}},{key:"renderAllItems",value:function(){var e=this;this.clearItemsWrapper(),this.allItems.forEach((function(t){return e.appendItem(t)})),this.showContainer()}},{key:"renderAppendableItems",value:function(){var e=this;this.clearItemsWrapper(),this.getPageItems(1).forEach((function(t){return e.appendItem(t)})),this.showContainer(),this.updateLoadMoreButton()}},{key:"renderPage",value:function(e){var t=this;this.currentPage=e,this.clearItemsWrapper(),this.getPageItems(e).forEach((function(e){return t.appendItem(e)})),this.showContainer(),this.updatePaginationControls()}},{key:"appendItem",value:function(e){if(this.templateItem){var t=this.templateItem.cloneNode(!0),s=e.htmlPath;t.dataset.htmlPath=s||"",this.fetchItemHtml(t,s),this.itemsWrapper.appendChild(t)}}},{key:"fetchItemHtml",value:function(e,t){t&&fetch(t).then((function(e){return e.ok?e.text():(console.error("GridBlock: failed to fetch item HTML (".concat(e.status,"): ").concat(t)),"")})).then((function(t){t&&(e.innerHTML=t)})).catch((function(e){console.error("GridBlock: error fetching item HTML",e)}))}},{key:"clearItemsWrapper",value:function(){this.itemsWrapper&&(this.itemsWrapper.innerHTML="")}},{key:"showContainer",value:function(){this.container&&this.container.classList.remove(this.config.classes.hidden)}},{key:"applyGridColumnClass",value:function(){var e=this.el.querySelector(this.config.selectors.gridWrapper);e&&(e.classList.contains(this.config.classes.oneColumn)||e.classList.contains(this.config.classes.twoColumn)||e.classList.contains(this.config.classes.threeColumn)||e.classList.contains(this.config.classes.fourColumn)||1===e.children.length&&e.classList.add(this.config.classes.oneColumn))}},{key:"showNoResults",value:function(){this.container&&(this.container.innerHTML=""),this.pagination&&this.pagination.classList.add(this.config.classes.hidden),this.noResultsMessage&&this.noResultsMessage.classList.remove(this.config.classes.hidden)}},{key:"hideNoResults",value:function(){this.noResultsMessage&&this.noResultsMessage.classList.add(this.config.classes.hidden),this.pagination&&this.pagination.classList.remove(this.config.classes.hidden)}},{key:"bindEvents",value:function(){switch(this.feedStructure){case"pagination":this.bindPaginationEvents();break;case"loadOnRequest":this.bindLoadOnRequestEvents();break;case"loadOnScroll":this.bindLoadOnScrollEvents()}}},{key:"bindPaginationEvents",value:function(){var e=this;this.prevHandler=function(){return e.goToPage(e.currentPage-1)},this.nextHandler=function(){return e.goToPage(e.currentPage+1)},this.prevButton&&this.prevButton.addEventListener("click",this.prevHandler),this.nextButton&&this.nextButton.addEventListener("click",this.nextHandler)}},{key:"goToPage",value:function(e){e<1||e>this.totalPages||this.renderPage(e)}},{key:"bindLoadOnRequestEvents",value:function(){var e=this;this.loadMoreHandler=function(){return e.loadNextBatch()},this.loadOnRequestButton&&this.loadOnRequestButton.addEventListener("click",this.loadMoreHandler)}},{key:"bindLoadOnScrollEvents",value:function(){var e=this;this.isAuthor||(this.scrollObserver=new IntersectionObserver((function(t){t[0].isIntersecting&&e.loadNextBatch()}),{rootMargin:"100px"}),this.observeLastChild())}},{key:"observeLastChild",value:function(){this.scrollObserver&&this.itemsWrapper&&this.itemsWrapper.lastElementChild&&(this.scrollObserver.disconnect(),this.currentPage<this.totalPages&&this.scrollObserver.observe(this.itemsWrapper.lastElementChild))}},{key:"loadNextBatch",value:function(){var e=this;this.currentPage>=this.totalPages||(this.currentPage+=1,this.getPageItems(this.currentPage).forEach((function(t){return e.appendItem(t)})),this.observeLastChild(),this.updateLoadMoreButton())}},{key:"updateLoadMoreButton",value:function(){if(this.loadOnRequestButton){var e=this.currentPage>=this.totalPages;this.loadOnRequestButton.disabled=e,this.loadOnRequestButton.parentElement&&this.loadOnRequestButton.parentElement.classList.toggle(this.config.classes.buttonDisabled,e)}}},{key:"updatePaginationControls",value:function(){if(this.pagination){var e=this.currentPage,t=this.totalPages;this.currentPageEl&&(this.currentPageEl.textContent=e),this.totalPagesEl&&(this.totalPagesEl.textContent=t),this.setButtonDisabled(this.prevButton,e<=1),this.setButtonDisabled(this.nextButton,e>=t),this.renderDesktopPagination(),this.renderMobilePagination()}}},{key:"setButtonDisabled",value:function(e,t){e&&(e.disabled=t,e.parentElement&&e.parentElement.classList.toggle(this.config.classes.buttonDisabled,t))}},{key:"renderDesktopPagination",value:function(){var e=this;if(this.desktopList){this.desktopList.innerHTML="";var t=this.currentPage,s=this.totalPages;
1this.buildPageNumberRange(t,s).forEach((function(s){"..."===s?e.desktopList.appendChild(e.createEllipsis()):e.desktopList.appendChild(e.createPageButton(s,t))}))}}},{key:"buildPageNumberRange",value:function(e,t){if(t<=7)return Array.from({length:t},(function(e,t){return t+1}));var s=[];if(e<=3){for(var i=1;i<=5;i+=1)s.push(i);s.push("...",t)}else if(e>=t-2){s.push(1,"...");for(var n=t-4;n<=t;n+=1)s.push(n)}else{s.push(1,"...");for(var o=e-2;o<=e+2;o+=1)s.push(o);s.push("...",t)}return s}},{key:"createPageButton",value:function(e,t){var s=this,i=document.createElement("li"),n=document.createElement("button");return n.type="button",n.className="page",n.dataset.page=e,n.textContent=e,e===t&&n.classList.add("selected"),n.addEventListener("click",(function(){return s.goToPage(e)})),i.appendChild(n),i}},{key:"createEllipsis",value:function(){var e=document.createElement("li");return e.className="pagination__ellipsis",e.textContent="...",e}},{key:"renderMobilePagination",value:function(){var e=this;if(this.mobileSelect){var t=this.currentPage,s=this.totalPages,i=this.el.querySelector(".kone-gridblock__pagination-button--iconDown");this.mobileSelect.innerHTML="";for(var n=1;n<=s;n+=1){var o=document.createElement("option");o.value=n,o.textContent=n,n===t&&(o.selected=!0),this.mobileSelect.appendChild(o)}this.mobileSelect.value=t,this.mobileSelect.onchange=function(t){var s=parseInt(t.target.value,10);Number.isNaN(s)||e.goToPage(s)},i&&(i.onclick=function(){return e.mobileSelect.classList.add("active")})}}},{key:"subscribeToFilters",value:function(){var e=this;this.el.contains(this.applyFiltersEl)&&(this.pubsubToken=window.PubSub.subscribe(l.nz,(function(t,s){return e.onApplyFilters(s)})))}},{key:"onApplyFilters",value:function(e){var t=this,s=e.orderParameter,i=e.searchParameter,n=new URL("".concat(this.config.jsonResourcePath).concat(this.config.jsonContentSyndicationPath),window.location.origin);s&&n.searchParams.set("order",s),i&&n.searchParams.set("search",i);var o=n.toString();this.showLoader(),fetch(o).then((function(e){if(!e.ok)throw new Error("HTTP ".concat(e.status));return e.json()})).then((function(e){if(t.hideLoader(),t.destroy(),t.config.resultsData=e,t.cacheStaticRefs(),t.cacheDynamicRefs(),t.parseResultsData(),0===t.allItems.length)return t.showNoResults(),void t.subscribeToFilters();t.hideNoResults(),t.renderCurrentView(),t.bindEvents(),t.subscribeToFilters(),t.applyGridColumnClass()})).catch((function(e){t.hideLoader(),console.error("GridBlock: filter fetch failed",e)}))}},{key:"showLoader",value:function(){this.loader&&this.loader.classList.add(this.config.classes.loaderActive)}},{key:"hideLoader",value:function(){this.loader&&this.loader.classList.remove(this.config.classes.loaderActive)}}])}();(0,r.kz)({GridBlock:h})}},function(e){e.O(0,[922],(function(){return t=8967,e(e.s=t);var t}));e.O()}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.