{"version":3,"file":"jwsdw-jacketFinder.js","sources":["../../../../../../../temp/ngAnnotate/assets/jwsdw-jacketFinder.js"],"sourcesContent":["'use strict';\r\n\r\n(function ($, Swiper, Promise) {\r\n var $productSlider = $('#jwsdw-jacketFinder-productSlider'),\r\n $productSearchResult = $('#jwsdw-jacketFinder-searchResult'),\r\n $productDetail = $('#jwsdw-jacketFinder-productDetail'),\r\n $productSlideTemplate = $('#jwsdw-jacketFinder-productSlide-template'),\r\n $productSlidePlaceholderTemplate = $('#jwsdw-jacketFinder-placeholder-template'),\r\n $productDetailTemplate = $('#jwsdw-jacketFinder-productDetail-template'),\r\n $technologyLogoTemplate = $('#jwsdw-jacketFinder-technologyLogo-template'),\r\n $typeSelect = $('.jwsdw-jacketFinder-type'),\r\n $activitySelectWrapper = $('#jwsdw-jacketFinder-activitySelect'),\r\n $activitySelect = $('.jwsdw-jacketFinder-activity'),\r\n $functionSelectWrapper = $('#jwsdw-jacketFinder-functionSelect'),\r\n $functionSelect = $('.jwsdw-jacketFinder-function'),\r\n $attributeSelectWrapper = $('#jwsdw-jacketFinder-attributeSelect'),\r\n $attributeSelect = $('.jwsdw-jacketFinder-attribute'),\r\n $nextLinkActivity = $('.jwsdw-jacketFinder-nextLink-activity'),\r\n $nextLinkFunction = $('.jwsdw-jacketFinder-nextLink-function'),\r\n $nextLinkAttribute = $('.jwsdw-jacketFinder-nextLink-attribute'),\r\n $nextLinkResults = $('.jwsdw-jacketFinder-nextLink-results'),\r\n $searchResults = $('#jwsdw-jacketFinder-searchResult'),\r\n _cache = {},\r\n _selectedProduct,\r\n _compareWith,\r\n _disableAutoScroll = false,\r\n _productSearchHits = [],\r\n _offset = 0,\r\n sliders = {\r\n 'product': null,\r\n 'productDetail': {}\r\n },\r\n sliderOptions = {\r\n 'productSlider': {\r\n 'init': false,\r\n 'loop': false,\r\n 'freeMode': true,\r\n 'preloadImages': false,\r\n 'slidesPerView': 2,\r\n 'spaceBetween': 10,\r\n 'centerInsufficientSlides': true,\r\n // Responsive breakpoints\r\n 'breakpoints': {\r\n // when window width is >= 600px\r\n '600': {\r\n 'slidesPerView': 3,\r\n 'spaceBetween': 15\r\n },\r\n // when window width is >= 767px\r\n '767': {\r\n 'slidesPerView': 4,\r\n 'spaceBetween': 20\r\n },\r\n // when window width is >= 1200px\r\n '1200': {\r\n 'slidesPerView': 4,\r\n 'spaceBetween': 20\r\n }\r\n },\r\n 'navigation': {\r\n 'nextEl': '.swiper-button-next',\r\n 'prevEl': '.swiper-button-prev'\r\n }\r\n },\r\n 'productDetailSlider': {\r\n 'init': false,\r\n 'loop': true,\r\n 'freeMode': false,\r\n 'preloadImages': false,\r\n 'slidesPerView': 1,\r\n 'threshold': 10,\r\n 'slideThumbActiveClass': 'jwsdw-selected',\r\n 'autoScrollOffset': 1,\r\n 'navigation': {\r\n 'nextEl': '.swiper-button-next',\r\n 'prevEl': '.swiper-button-prev'\r\n }\r\n }\r\n },\r\n transforms = {\r\n 'slider': {\r\n 'scaleWidth': 360,\r\n 'format': 'jpg'\r\n },\r\n 'productDetail': {\r\n 'scaleWidth': 600,\r\n 'format': 'jpg'\r\n }\r\n },\r\n filterHitCountXhrs = [],\r\n xhrs = [];\r\n\r\n // check the category and select the appropriate one on load\r\n if (window.currentCategory) {\r\n if (window.currentCategory.split('-')[0] === \"Damen\") {\r\n $('.jwsdw-jacketFinder-type').eq(1).prop(\"checked\", true);\r\n }\r\n if (window.currentCategory.split('-')[0] === \"Herren\") {\r\n $('.jwsdw-jacketFinder-type').eq(0).prop(\"checked\", true);\r\n }\r\n }\r\n search(buildHTML, true);\r\n getFilterHitCount(deactivateEmptyRefinements, true, true, true);\r\n\r\n $('a[href^=\"#\"]').click(function(e) {\r\n var $element = $($(this).attr('href'));\r\n e.preventDefault();\r\n\r\n if ($element.length === 1) {\r\n scrollTop($element, -55);\r\n }\r\n });\r\n\r\n $('.jwsdw-productFinder-infoWrapper').click(function() {\r\n window.jwsdwMediator.publish('openPicker', 'infoPicker', {\r\n 'content': $(this).data('info')\r\n });\r\n });\r\n\r\n $nextLinkActivity.on('click', function() {\r\n if (!_disableAutoScroll) {\r\n setTimeout(function() {\r\n scrollTop($activitySelectWrapper, -55);\r\n }, 500);\r\n }\r\n });\r\n\r\n $nextLinkFunction.on('click', function() {\r\n if (!_disableAutoScroll) {\r\n setTimeout(function() {\r\n scrollTop($functionSelectWrapper, -55);\r\n }, 500);\r\n }\r\n });\r\n\r\n $nextLinkAttribute.on('click', function() {\r\n if (!_disableAutoScroll) {\r\n setTimeout(function() {\r\n scrollTop($attributeSelectWrapper, -55);\r\n }, 500);\r\n }\r\n });\r\n\r\n $nextLinkResults.on('click', function() {\r\n if (!_disableAutoScroll) {\r\n setTimeout(function() {\r\n scrollTop($searchResults, -55);\r\n }, 500);\r\n }\r\n });\r\n\r\n $typeSelect.on('click', function () {\r\n _disableAutoScroll = true;\r\n $functionSelect.prop('checked', false);\r\n $attributeSelect.prop('checked', false);\r\n $('#jwsdw-jacketFinder-activity-none').removeAttr('disabled').prop('checked', true);\r\n $('#jwsdw-jacketFinder-function-none').removeAttr('disabled').prop('checked', true);\r\n $('#jwsdw-jacketFinder-attribute-none').removeAttr('disabled').prop('checked', true);\r\n _disableAutoScroll = false;\r\n $('.jwsdw-jacketFinder-activity').attr('disabled', 'disabled');\r\n $('.jwsdw-jacketFinder-function').attr('disabled', 'disabled');\r\n $('.jwsdw-jacketFinder-attribute').attr('disabled', 'disabled');\r\n $('.jwsdw-jacketFinder-activity').next('.jwsdw-productFinder-refinementStep-tile').find('.jwsdw-spinner').removeClass('jws-hidden');\r\n $('.jwsdw-jacketFinder-function').next('.jwsdw-productFinder-refinementStep-tile').find('.jwsdw-spinner').removeClass('jws-hidden');\r\n $('.jwsdw-jacketFinder-attribute').next('.jwsdw-productFinder-refinementStep-tile').find('.jwsdw-spinner').removeClass('jws-hidden');\r\n\r\n search(buildHTML, true);\r\n getFilterHitCount(deactivateEmptyRefinements, true, true, true);\r\n window.dataLayer = window.dataLayer || [];\r\n window.dataLayer.push({\r\n 'event': 'ce.advice',\r\n 'eventCategory': 'Advice',\r\n 'eventAction': 'Jacket Finder',\r\n 'eventLabel': '1',\r\n 'eventValue': undefined,\r\n 'nonInteraction': false,\r\n 'selection': $('#jwsdw-jacketFinder-typeSelect input:checked').val()\r\n });\r\n });\r\n\r\n $activitySelect.on('click', function () {\r\n _disableAutoScroll = true;\r\n $functionSelect.prop('checked', false);\r\n $attributeSelect.prop('checked', false);\r\n $('#jwsdw-jacketFinder-function-none').removeAttr('disabled').prop('checked', true);\r\n $('#jwsdw-jacketFinder-attribute-none').removeAttr('disabled').prop('checked', true);\r\n _disableAutoScroll = false;\r\n $('.jwsdw-jacketFinder-function').attr('disabled', 'disabled');\r\n $('.jwsdw-jacketFinder-function').next('.jwsdw-productFinder-refinementStep-tile').find('.jwsdw-spinner').removeClass('jws-hidden');\r\n\r\n $('.jwsdw-jacketFinder-activity').each(function () {\r\n if ($(this).is(\":checked\")) {\r\n $(this).parent().removeClass('jwsdw-borderGrey5');\r\n } else {\r\n $(this).parent().addClass('jwsdw-borderGrey5');\r\n }\r\n });\r\n\r\n search(buildHTML, true);\r\n getFilterHitCount(deactivateEmptyRefinements, true, true, true);\r\n window.dataLayer = window.dataLayer || [];\r\n window.dataLayer.push({\r\n 'event': 'ce.advice',\r\n 'eventCategory': 'Advice',\r\n 'eventAction': 'Jacket Finder',\r\n 'eventLabel': '2',\r\n 'eventValue': undefined,\r\n 'nonInteraction': false,\r\n 'selection': $('#jwsdw-jacketFinder-activitySelect input:checked').val()\r\n });\r\n });\r\n\r\n $functionSelect.on('click', function () {\r\n $attributeSelect.prop('checked', false);\r\n $('#jwsdw-jacketFinder-attribute-none').removeAttr('disabled').prop('checked', true);\r\n if ($(this).val() === '') {\r\n $functionSelect.prop('checked', false);\r\n $(this).prop('checked', true);\r\n } else {\r\n $('#jwsdw-jacketFinder-function-none').removeAttr('disabled').prop('checked', false);\r\n }\r\n\r\n search(buildHTML, true);\r\n getFilterHitCount(deactivateEmptyRefinements, true, true, true);\r\n window.dataLayer = window.dataLayer || [];\r\n window.dataLayer.push({\r\n 'event': 'ce.advice',\r\n 'eventCategory': 'Advice',\r\n 'eventAction': 'Jacket Finder',\r\n 'eventLabel': '3',\r\n 'eventValue': undefined,\r\n 'nonInteraction': false,\r\n 'selection': $('#jwsdw-jacketFinder-functionSelect input:checked').val()\r\n });\r\n });\r\n\r\n $attributeSelect.on('click', function () {\r\n if ($(this).val() === '') {\r\n $attributeSelect.prop('checked', false);\r\n $(this).prop('checked', true);\r\n } else {\r\n $('#jwsdw-jacketFinder-attribute-none').removeAttr('disabled').prop('checked', false);\r\n }\r\n\r\n $('.jwsdw-jacketFinder-attribute').each(function () {\r\n if ($(this).is(\":checked\")) {\r\n $(this).parent().removeClass('jwsdw-borderGrey5');\r\n } else {\r\n $(this).parent().addClass('jwsdw-borderGrey5');\r\n }\r\n });\r\n\r\n search(buildHTML, true);\r\n getFilterHitCount(deactivateEmptyRefinements, true, true, true);\r\n window.dataLayer = window.dataLayer || [];\r\n window.dataLayer.push({\r\n 'event': 'ce.advice',\r\n 'eventCategory': 'Advice',\r\n 'eventAction': 'Jacket Finder',\r\n 'eventLabel': 'finished',\r\n 'eventValue': undefined,\r\n 'nonInteraction': false,\r\n 'selection': $('#jwsdw-jacketFinder-attributeSelect input:checked').val()\r\n });\r\n });\r\n\r\n $(document).on('click', '.jwsdw-product-tiles-grid-wrapper .jwsdw-productTile .jwsdw-product-variation', function(e) {\r\n e.preventDefault();\r\n _selectedProduct = $(this).attr('data-product-id');\r\n\r\n $('.jwsdw-product-tiles-grid-wrapper .jwsdw-productTile .jwsdw-product-variation').removeClass('jwsdw-selected');\r\n $(this).addClass('jwsdw-selected');\r\n\r\n $productDetail.find('.jwsdw-jacketFinder-productDetail-product').each(function(i, el) {\r\n $(el).removeClass('jws-visuallyHidden');\r\n buildProductDetail(_productSearchHits, _selectedProduct);\r\n });\r\n });\r\n\r\n $(document).on('click', '#jwsdw-jacketFinder-productSlider .jwsdw-jacketFinder-productSlide', function() {\r\n _selectedProduct = $(this).attr('data-product-id');\r\n\r\n $('#jwsdw-jacketFinder-productSlider .jwsdw-jacketFinder-productSlide').removeClass('jwsdw-selected');\r\n $(this).addClass('jwsdw-selected');\r\n\r\n buildProductDetail(_productSearchHits, _selectedProduct);\r\n $productDetail.find('.jwsdw-jacketFinder-productDetail-product').each(function(i, el) {\r\n $(el).removeClass('jws-visuallyHidden');\r\n });\r\n });\r\n\r\n $(document).on('click', '#jwsdw-jacketFinder-productSlider-prev', function() {\r\n $productSlider.find('.swiper-button-prev').click();\r\n });\r\n $(document).on('click', '#jwsdw-jacketFinder-productSlider-next', function() {\r\n $productSlider.find('.swiper-button-next').click();\r\n });\r\n\r\n\r\n $(document).on('click', '.jwsdw-jacketFinder-shopNow', function () {\r\n window.jwsdwMediator.publish('openPicker', 'productDetailPicker', {\r\n 'productId': $(this).data('product-id'),\r\n 'showRefinements': false\r\n });\r\n });\r\n\r\n $(document).on('click', '.jwsdw-jacketFinder-compare', function () {\r\n let $comparePickerContent = $('#jwsdw-jacketFinder-comparePicker-template').clone(),\r\n cgids = [],\r\n allResults;\r\n\r\n window.jwsdwMediator.publish('openPicker', 'infoPicker', {\r\n 'content': '
'\r\n });\r\n\r\n if ($('.jwsdw-jacketFinder-type:checked').val()) {\r\n cgids = [\r\n buildCategoryId(\r\n $('.jwsdw-jacketFinder-type:checked').val()\r\n )\r\n ];\r\n } else {\r\n cgids = [\r\n buildCategoryId(\r\n $('.jwsdw-jacketFinder-type').eq(0).val()\r\n ),\r\n buildCategoryId(\r\n $('.jwsdw-jacketFinder-type').eq(1).val()\r\n )\r\n ];\r\n }\r\n\r\n allResults = cgids\r\n .map(function (cgid) {\r\n let data = cgid,\r\n offsets,\r\n result,\r\n tempArr;\r\n\r\n if ($('.jwsdw-jacketFinder-activity:checked').val()) {\r\n data += '-' + $('.jwsdw-jacketFinder-activity:checked').val();\r\n }\r\n\r\n if ($('.jwsdw-jacketFinder-function:checked').val()) {\r\n tempArr = $('.jwsdw-jacketFinder-function:checked').map(function(){return $(this).val()}).get(); //eslint-disable-line\r\n for (let i = 0; i < tempArr.length; i++) {\r\n data += '-' + tempArr[i];\r\n }\r\n }\r\n\r\n if ($('.jwsdw-jacketFinder-attribute:checked').val()) {\r\n tempArr = $('.jwsdw-jacketFinder-attribute:checked').map(function(){return $(this).val()}).get(); //eslint-disable-line\r\n for (let i = 0; i < tempArr.length; i++) {\r\n data += '-' + tempArr[i];\r\n }\r\n }\r\n\r\n offsets = Array.from({ 'length': Math.floor(_offset / 10) }, (_, i) => i * 10);\r\n\r\n offsets.forEach((start) => {\r\n let currentSearch = data + (start ? '-' + start : ''),\r\n cachedSearch = _cache[currentSearch];\r\n\r\n if (cachedSearch) {\r\n if (!result) {\r\n result = Object.assign({}, cachedSearch);\r\n } else {\r\n result.productSearchHits = result.productSearchHits.concat(cachedSearch.productSearchHits);\r\n }\r\n }\r\n });\r\n\r\n return result;\r\n })\r\n .filter(Boolean);\r\n\r\n let productSearchHits;\r\n\r\n productSearchHits = allResults.reduce(function (arr, result) {\r\n if (!result.categoryId) {\r\n return arr;\r\n }\r\n return arr.concat(result.productSearchHits);\r\n }, []);\r\n\r\n productSearchHits\r\n .filter(function(product) {\r\n return product.ID !== _selectedProduct &&\r\n product.pricing.standard;\r\n })\r\n .forEach(function (product) {\r\n var $productTile = $productSlideTemplate.clone();\r\n $productTile.removeClass('jws-hidden').removeAttr('id');\r\n\r\n $productTile\r\n .attr('data-product-id', product.ID)\r\n .addClass('jws-grid-small-column-6');\r\n $productTile\r\n .find('.jwsdw-productTile-image')\r\n .attr(\r\n 'data-src',\r\n window.jwsdwUtil.urlUtils.imageUrl(product.ID, 0, transforms.slider, 'Bone5')\r\n )\r\n .attr(\r\n 'alt',\r\n product.displayedName || product.name\r\n );\r\n $productTile.find('.jwsdw-productName').text(product.displayedName || product.name);\r\n if (product.pricing.sale && product.pricing.sale < product.pricing.standard) {\r\n // has sale price\r\n $productTile.find('.jwsdw-productListPrice')\r\n .addClass('jwsdw-lineThrough jws-copy1 jws-colorGrey3')\r\n .text(window.jwsdwUtil.formatPrice(product.pricing.standard));\r\n $productTile.find('.jwsdw-productSalePrice')\r\n .removeClass('jws-hidden')\r\n .text(window.jwsdwUtil.formatPrice(product.pricing.sale));\r\n } else {\r\n $productTile.find('.jwsdw-productListPrice').text(window.jwsdwUtil.formatPrice(product.pricing.standard));\r\n }\r\n $comparePickerContent.find('.jwsdw-jacketFinder-comparePicker-products').append($productTile);\r\n });\r\n\r\n setTimeout(function() {\r\n $('.jwsdw-jacketFinder-compare-container').html($comparePickerContent.html());\r\n $('.jwsdw-jacketFinder-compare-container').scrollTop(0);\r\n }, 150);\r\n });\r\n\r\n $(document).on('click', '.jwsdw-jacketFinder-comparePicker-products .jwsdw-jacketFinder-productSlide', function() {\r\n _compareWith = $(this).attr('data-product-id');\r\n\r\n $('.jwsdw-jacketFinder-comparePicker-products .jwsdw-jacketFinder-productSlide').removeClass('jwsdw-selected');\r\n $(this).addClass('jwsdw-selected');\r\n\r\n $('.jwsdw-jacketFinder-comparePicker-compare:visible').addClass('jws-buttonYellow');\r\n $('.jwsdw-jacketFinder-comparePicker-compare:visible').removeClass('jws-buttonGrey5');\r\n $('.jwsdw-jacketFinder-comparePicker-compare:visible').removeAttr('disabled');\r\n $('.jwsdw-jacketFinder-comparePicker-compare:visible').find('span').eq(0).addClass('jws-hidden');\r\n $('.jwsdw-jacketFinder-comparePicker-compare:visible').find('span').eq(1).removeClass('jws-hidden');\r\n });\r\n\r\n $(document).on('click', '.jwsdw-jacketFinder-comparePicker-compare', function() {\r\n _productSearchHits.filter(function(product) {\r\n return product.ID === _compareWith && product.pricing.standard;\r\n }).map(function (product) {\r\n var $productDetailProduct = $productDetailTemplate.clone();\r\n\r\n $productDetailProduct.find('.jwsdw-jacketFinder-productImage').attr(\r\n 'src',\r\n window.jwsdwUtil.urlUtils.imageUrl(product.ID, 0, transforms.productDetail, 'Bone5')\r\n );\r\n\r\n $productDetailProduct.attr('data-product-id', product.ID);\r\n $productDetailProduct.attr('id', 'jwsdw-jacketFinder-productDetail-product-' + product.ID);\r\n\r\n $productDetailProduct.find('.jwsdw-productName').text(product.displayedName || product.name);\r\n $productDetailProduct.find('.jwsdw-productPrice').text(product.pricing.priceFormatted);\r\n $productDetailProduct.find('.jwsdw-jacketFinder-shopNow, .jwsdw-jacketFinder-compare, .jwsdw-jacketFinder-compare-remove').attr('data-product-id', product.ID);\r\n\r\n product.info.forEach(function (info) {\r\n $productDetailProduct.find('.jwsdw-pdp-detailList').append(\r\n $('
  • ' + info + '
  • ')\r\n );\r\n });\r\n product.technology.forEach(function (technology) {\r\n var $technologyLogo = $technologyLogoTemplate.clone();\r\n\r\n $technologyLogo.removeAttr('id').removeClass('jws-hidden');\r\n if (technology.cid) {\r\n $technologyLogo.find('.jwsdw-badgeContainer').addClass('jws-cursorPointer');\r\n $technologyLogo.find('.jwsdw-badgeContainer').attr('data-picker-options', JSON.stringify({\r\n 'cid': technology.cid,\r\n 'introduction': technology.excerpt,\r\n 'width': 1\r\n }));\r\n } else {\r\n $technologyLogo.find('.jwsdw-badge').remove();\r\n }\r\n $technologyLogo.find('.jwsdw-techLogo').attr('src', technology.imageUrl);\r\n $productDetailProduct.find('.jwsdw-jacketFinder-productDetail-technologies').append($technologyLogo);\r\n });\r\n\r\n $productDetail.append($productDetailProduct);\r\n\r\n return product;\r\n });\r\n $productDetail.find('.jwsdw-jacketFinder-productDetail-product').addClass('jwsdw-jacketFinder-productDetail-compare');\r\n $productDetail.find('.jwsdw-jacketFinder-productDetail-product[data-product-id=' + _compareWith + ']').removeClass('jws-visuallyHidden');\r\n\r\n $productDetail.find('.jwsdw-jacketFinder-productDetail-product')\r\n .removeClass('jws-grid-small-column-10')\r\n .addClass('jws-grid-small-column-5');\r\n $productDetail.find('.jwsdw-jacketFinder-productImage-container').removeClass('jws-grid-medium-column-6');\r\n $productDetail.find('.jwsdw-jacketFinder-productDetail-container').removeClass('jws-grid-medium-column-6');\r\n $productDetail.find('.jws-headline3, .jws-headline4').addClass('jws-textAlignCenter');\r\n $productDetail.find('.jwsdw-jacketFinder-productDetail-tabTitle').addClass('jwsdw-justifyContentStretch');\r\n $productDetail.find('.jwsdw-jacketFinder-productDetail-tabLink').addClass('jwsdw-width100');\r\n $productDetail.find('.jwsdw-jacketFinder-productDetail-tabLink:last-child').addClass('jws-textAlignRight');\r\n\r\n $('.jwsdw-jacketFinder-compare').addClass('jws-hidden');\r\n $('.jwsdw-jacketFinder-compare-remove').removeClass('jws-hidden');\r\n $('.jwsdw-jacketFinder-compare-remove').each(function () {\r\n $(this).text($(this).text().toLowerCase());\r\n });\r\n\r\n window.jwsdwMediator.publish('closePicker', 'infoPicker', true);\r\n });\r\n\r\n $(document).on('click', '.jwsdw-jacketFinder-compare-remove', function() {\r\n var productId = $(this).attr('data-product-id');\r\n\r\n if (_selectedProduct === productId) {\r\n _selectedProduct = _compareWith;\r\n }\r\n _compareWith = null;\r\n\r\n $productDetail.find('.jwsdw-jacketFinder-productDetail-product').removeClass('jwsdw-jacketFinder-productDetail-compare');\r\n $productDetail.find('#jwsdw-jacketFinder-productDetail-product-' + productId).remove();\r\n $productDetail.find('.jwsdw-jacketFinder-productDetail-product')\r\n .removeClass('jws-grid-small-column-5')\r\n .addClass('jws-grid-small-column-10');\r\n $productDetail.find('.jwsdw-jacketFinder-productImage-container').addClass('jws-grid-medium-column-6');\r\n $productDetail.find('.jwsdw-jacketFinder-productDetail-container').addClass('jws-grid-medium-column-6');\r\n $productDetail.find('.jws-headline3, .jws-headline4').removeClass('jws-textAlignCenter');\r\n $productDetail.find('.jwsdw-jacketFinder-productDetail-tabTitle').removeClass('jwsdw-justifyContentStretch');\r\n $productDetail.find('.jwsdw-jacketFinder-productDetail-tabLink').removeClass('jwsdw-width100');\r\n $productDetail.find('.jwsdw-jacketFinder-productDetail-tabLink:last-child').removeClass('jws-textAlignRight');\r\n\r\n $('.jwsdw-jacketFinder-compare').removeClass('jws-hidden');\r\n $('.jwsdw-jacketFinder-compare-remove').addClass('jws-hidden');\r\n });\r\n\r\n $(window).on('resize', window.jwsdwUtil.debounce(300, function() {\r\n if (/small/.test(window.jwsdwUtil.uiUtils.getViewport())) {\r\n $('.jwsdw-jacketFinder-productDetail-product').not('.jws-visuallyHidden').find('.jwsdw-jacketFinder-compare-remove').eq(1).click();\r\n }\r\n }));\r\n\r\n /**\r\n * @description Method to build cateogry Id based on user inputs\r\n * @param {String} type tent type\r\n * @param {String} [activity] activity\r\n * @returns {String} cateogry Id\r\n */\r\n function buildCategoryId(type) {\r\n var parts = [\r\n type,\r\n 'Beratung-Jackenfinder'\r\n ];\r\n\r\n return parts.join('-');\r\n }\r\n\r\n /**\r\n * @description Method to trigger product search\r\n * @param {Function} callback callback function\r\n * @param {Boolean} updateFrontend if true show loading animation on frontend\r\n * @param {Integer} [offset] offset for product search. Used for pagination.\r\n * @returns {void}\r\n */\r\n function search(callback, updateFrontend, offset) {\r\n var cgids,\r\n _xhrs = [];\r\n\r\n xhrs.forEach(function (xhr) {\r\n if (xhr && xhr.hasOwnProperty('abort')) {\r\n xhr.abort();\r\n }\r\n });\r\n\r\n if (updateFrontend) {\r\n $productSearchResult.find('.jwsdw-spinner').removeClass('jws-hidden');\r\n $productSearchResult.find('.jwsdw-jacketFinder-searchResult-slider-wrapper').addClass('jws-hidden');\r\n $productSearchResult.find('.jwsdw-jacketFinder-triangle-container').addClass('jws-hidden');\r\n }\r\n\r\n if ($('.jwsdw-jacketFinder-type:checked').val()) {\r\n cgids = [\r\n buildCategoryId(\r\n $('.jwsdw-jacketFinder-type:checked').val()\r\n )\r\n ];\r\n } else {\r\n cgids = [\r\n buildCategoryId(\r\n $('.jwsdw-jacketFinder-type').eq(0).val()\r\n ),\r\n buildCategoryId(\r\n $('.jwsdw-jacketFinder-type').eq(1).val()\r\n )\r\n ];\r\n }\r\n\r\n Promise\r\n .all(cgids.map(function (cgid) {\r\n return new Promise(function (resolve) {\r\n let _currentSearch = cgid,\r\n data = {\r\n 'cgid': cgid,\r\n 'reducedProductData': true\r\n },\r\n tempArr;\r\n\r\n\r\n if ($('.jwsdw-jacketFinder-activity:checked').val()) {\r\n data.prefn5 = 'refinementAktivitaet';\r\n data.prefv5 = $('.jwsdw-jacketFinder-activity:checked').val();\r\n _currentSearch += '-' + data.prefv5;\r\n }\r\n\r\n if ($('.jwsdw-jacketFinder-function:checked').val()) {\r\n tempArr = $('.jwsdw-jacketFinder-function:checked').map(function(){return $(this).val()}).get(); //eslint-disable-line\r\n for (let i = 0; i < tempArr.length; i++) {\r\n data['prefn' + (i + 6)] = 'refinementFunktion';\r\n data['prefv' + (i + 6)] = tempArr[i];\r\n _currentSearch += '-' + data['prefv' + (i + 6)];\r\n }\r\n }\r\n\r\n if ($('.jwsdw-jacketFinder-attribute:checked').val()) {\r\n tempArr = $('.jwsdw-jacketFinder-attribute:checked').map(function(){return $(this).val()}).get(); //eslint-disable-line\r\n for (let i = 0; i < tempArr.length; i++) {\r\n data['prefn' + (i + 12)] = 'refinementAusstattungsdetails';\r\n data['prefv' + (i + 12)] = tempArr[i];\r\n _currentSearch += '-' + data['prefv' + (i + 12)];\r\n }\r\n }\r\n\r\n if (offset) {\r\n data.start = offset;\r\n _currentSearch += '-' + offset;\r\n }\r\n\r\n _xhrs.push($.ajax({\r\n 'url': window.jwsdwSettings.baseUrl + '/Search-searchProducts',\r\n 'data': data,\r\n 'success': function (response) {\r\n _cache[_currentSearch] = response;\r\n resolve(response);\r\n }\r\n }));\r\n });\r\n }))\r\n .then(function(data) {\r\n var productSearchResult = data.reduce(function(obj, result) {\r\n if (!result.categoryId) {\r\n return obj;\r\n }\r\n\r\n let productMap = new Map(),\r\n combinedProductSearchHits = (obj.productSearchHits || []).concat(result.productSearchHits),\r\n uniqueProductSearchHits;\r\n\r\n combinedProductSearchHits.forEach(hit => {\r\n productMap.set(hit.ID, hit);\r\n });\r\n\r\n uniqueProductSearchHits = Array.from(productMap.values());\r\n\r\n return {\r\n 'pagingModels': (obj.pagingModels || []).concat(result.pagingModel),\r\n 'productSearchHits': uniqueProductSearchHits\r\n };\r\n }, {});\r\n\r\n let uniqueProductHits = productSearchResult.productSearchHits.filter(hit =>\r\n !_productSearchHits.some(existingHit => existingHit.ID === hit.ID)\r\n );\r\n\r\n _productSearchHits = _productSearchHits.concat(uniqueProductHits);\r\n _offset = productSearchResult.pagingModels[0].pageEnd + 1;\r\n\r\n // if \"no type preference\" is selected randomize results\r\n if (!$('.jwsdw-jacketFinder-type:checked').val()) {\r\n productSearchResult.productSearchHits = productSearchResult.productSearchHits.sort( (a, b) => 0.5 - Math.random() ); //eslint-disable-line\r\n }\r\n\r\n callback(productSearchResult, updateFrontend);\r\n });\r\n\r\n if (updateFrontend) {\r\n xhrs = _xhrs;\r\n }\r\n }\r\n\r\n /**\r\n * @description Method to get filter hit count of search\r\n * @param {Function} callback callback function\r\n * @param {Boolean} updateActivities if true update activity tiles as well\r\n * @param {Boolean} updateFunctions if true update capacity tiles as well\r\n * @param {Boolean} updateAttributes if true update capacity tiles as well\r\n * @returns {void}\r\n */\r\n function getFilterHitCount(callback, updateActivities, updateFunctions, updateAttributes) {\r\n var cgids,\r\n _filterHitCountXhrs = [];\r\n\r\n filterHitCountXhrs.forEach(function (xhr) {\r\n if (xhr && xhr.hasOwnProperty('abort')) {\r\n xhr.abort();\r\n }\r\n });\r\n\r\n if ($('.jwsdw-jacketFinder-type:checked').val()) {\r\n cgids = [\r\n buildCategoryId(\r\n $('.jwsdw-jacketFinder-type:checked').val()\r\n )\r\n ];\r\n } else {\r\n cgids = [\r\n buildCategoryId(\r\n $('.jwsdw-jacketFinder-type').eq(0).val()\r\n ),\r\n buildCategoryId(\r\n $('.jwsdw-jacketFinder-type').eq(1).val()\r\n )\r\n ];\r\n }\r\n\r\n Promise\r\n .all(cgids.map(function (cgid) {\r\n return new Promise(function (resolve) {\r\n var data = {\r\n 'cgid': cgid\r\n },\r\n tempArr;\r\n\r\n if ($('.jwsdw-jacketFinder-activity:checked').val()) {\r\n data.prefn5 = 'refinementAktivitaet';\r\n data.prefv5 = $('.jwsdw-jacketFinder-activity:checked').val();\r\n }\r\n\r\n if ($('.jwsdw-jacketFinder-function:checked').val()) {\r\n tempArr = $('.jwsdw-jacketFinder-function:checked').map(function(){return $(this).val()}).get(); //eslint-disable-line\r\n for (let i = 0; i < tempArr.length; i++) {\r\n data['prefn' + (i + 6)] = 'refinementFunktion';\r\n data['prefv' + (i + 6)] = tempArr[i];\r\n }\r\n }\r\n\r\n if ($('.jwsdw-jacketFinder-attribute:checked').val()) {\r\n tempArr = $('.jwsdw-jacketFinder-attribute:checked').map(function(){return $(this).val()}).get(); //eslint-disable-line\r\n for (let i = 0; i < tempArr.length; i++) {\r\n data['prefn' + (i + 12)] = 'refinementAusstattungsdetails';\r\n data['prefv' + (i + 12)] = tempArr[i];\r\n }\r\n }\r\n\r\n if (_cache['filterHitCount-' + cgid + '-' + data.prefv5 + '-' + data.prefv6 + '-' + data.prefv7]) {\r\n resolve(_cache['filterHitCount-' + cgid + '-' + data.prefv5 + '-' + data.prefv6 + '-' + data.prefv7]);\r\n return;\r\n }\r\n\r\n _filterHitCountXhrs.push($.ajax({\r\n 'url': window.jwsdwSettings.baseUrl + '/Search-FilterHitCount',\r\n 'data': data,\r\n 'success': function (response) {\r\n _cache['filterHitCount-' + cgid + '-' + data.prefv5 + '-' + data.prefv6 + '-' + data.prefv7] = response;\r\n resolve(response);\r\n }\r\n }));\r\n });\r\n }))\r\n .then(function(data) {\r\n var filterHitCount = data.reduce(function(obj, result) {\r\n var refinementAktivitaet = result.refinements.find(function(refinement) {\r\n return refinement.id === 'refinementAktivitaet';\r\n }),\r\n refinementFunktion = result.refinements.find(function(refinement) {\r\n return refinement.id === 'refinementFunktion';\r\n }),\r\n refinementAusstattungsdetails = result.refinements.find(function(refinement) {\r\n return refinement.id === 'refinementAusstattungsdetails';\r\n });\r\n\r\n if (updateActivities) {\r\n if (!obj.refinementAktivitaet && refinementAktivitaet) {\r\n obj.refinementAktivitaet = refinementAktivitaet;\r\n } else if (refinementAktivitaet) {\r\n refinementAktivitaet.refinementValues.forEach(function(refinementValue) {\r\n var exists = obj.refinementAktivitaet.refinementValues.some(function(currentRefinementValue) {\r\n return refinementValue.value === currentRefinementValue.value;\r\n });\r\n if (!exists) {\r\n obj.refinementAktivitaet.refinementValues.push(refinementValue);\r\n }\r\n });\r\n obj.refinementAktivitaet.refinementValues = obj.refinementAktivitaet.refinementValues.map(function(refinementValue) {\r\n var value = refinementAktivitaet.refinementValues.find(function(currentRefinementValue) {\r\n return refinementValue.value === currentRefinementValue.value;\r\n });\r\n\r\n if (value) {\r\n refinementValue.hitCount += value.hitCount;\r\n }\r\n return refinementValue;\r\n });\r\n }\r\n }\r\n if (updateFunctions) {\r\n if (!obj.refinementFunktion && refinementFunktion) {\r\n obj.refinementFunktion = refinementFunktion;\r\n } else if (refinementFunktion) {\r\n refinementFunktion.refinementValues.forEach(function(refinementValue) {\r\n var exists = obj.refinementFunktion.refinementValues.some(function(currentRefinementValue) {\r\n return refinementValue.value === currentRefinementValue.value;\r\n });\r\n if (!exists) {\r\n obj.refinementFunktion.refinementValues.push(refinementValue);\r\n }\r\n });\r\n obj.refinementFunktion.refinementValues = obj.refinementFunktion.refinementValues.map(function(refinementValue) {\r\n var value = refinementFunktion.refinementValues.find(function(currentRefinementValue) {\r\n return refinementValue.value === currentRefinementValue.value;\r\n });\r\n\r\n if (value) {\r\n refinementValue.hitCount += value.hitCount;\r\n }\r\n return refinementValue;\r\n });\r\n }\r\n }\r\n if (updateAttributes) {\r\n if (!obj.refinementAusstattungsdetails && refinementAusstattungsdetails) {\r\n obj.refinementAusstattungsdetails = refinementAusstattungsdetails;\r\n } else if (refinementAusstattungsdetails) {\r\n refinementAusstattungsdetails.refinementValues.forEach(function(refinementValue) {\r\n var exists = obj.refinementAusstattungsdetails.refinementValues.some(function(currentRefinementValue) {\r\n return refinementValue.value === currentRefinementValue.value;\r\n });\r\n if (!exists) {\r\n obj.refinementAusstattungsdetails.refinementValues.push(refinementValue);\r\n }\r\n });\r\n obj.refinementAusstattungsdetails.refinementValues = obj.refinementAusstattungsdetails.refinementValues.map(function(refinementValue) {\r\n var value = refinementAusstattungsdetails.refinementValues.find(function(currentRefinementValue) {\r\n return refinementValue.value === currentRefinementValue.value;\r\n });\r\n\r\n if (value) {\r\n refinementValue.hitCount += value.hitCount;\r\n }\r\n return refinementValue;\r\n });\r\n }\r\n }\r\n return obj;\r\n }, {\r\n 'refinementCategory': null,\r\n 'refinementAktivitaet': null,\r\n 'refinementFunktion': null,\r\n 'refinementAusstattungsdetails': null\r\n\r\n });\r\n\r\n callback(filterHitCount);\r\n });\r\n\r\n filterHitCountXhrs = _filterHitCountXhrs;\r\n }\r\n\r\n /**\r\n * @description Method for productdetail tabs\r\n * @returns {void}\r\n */\r\n $(document).on('click', '.jwsdw-jacketFinder-productDetail-tabLink', function () {\r\n var $container = $(this).parents('.jwsdw-jacketFinder-productDetail-tabContainer'),\r\n tabId = $(this).attr('data-tab-id');\r\n\r\n $container.find('.jwsdw-jacketFinder-productDetail-tabLink').removeClass('jwsdw-borderYellow-2px-bottom jwsdw-borderGrey4-bottom');\r\n $container.find('.jwsdw-jacketFinder-productDetail-tabLink').addClass('jwsdw-borderGrey4-bottom');\r\n $container.find('.jwsdw-jacketFinder-productDetail-tabContent').addClass('jws-hidden');\r\n\r\n $(this).addClass('jwsdw-borderYellow-2px-bottom jwsdw-borderGrey4-bottom');\r\n $(this).removeClass('jwsdw-borderGrey4-bottom');\r\n\r\n $container.find('.jwsdw-jacketFinder-productDetail-tabContent[data-tab-id=' + tabId + ']').removeClass('jws-hidden');\r\n });\r\n\r\n /**\r\n * @description Method to build the HTML for the product detail change on the page\r\n * @param {Object[]} productSearchHits search results\r\n * @param {String} productID product id\r\n * @returns {void}\r\n */\r\n function buildProductDetail(productSearchHits, productID) {\r\n $productDetail.html('');\r\n\r\n productSearchHits = productSearchHits\r\n .filter(function(product) {\r\n return product.ID === productID;\r\n })\r\n .map(function (product) {\r\n var $productDetailProduct = $productDetailTemplate.clone();\r\n\r\n $productDetailProduct.find('.jwsdw-jacketFinder-productImage').attr(\r\n 'src',\r\n window.jwsdwUtil.urlUtils.imageUrl(product.ID, 0, transforms.productDetail, 'Bone5')\r\n );\r\n\r\n $productDetailProduct.attr('data-product-id', product.ID);\r\n $productDetailProduct.attr('id', 'jwsdw-jacketFinder-productDetail-product-' + product.ID);\r\n\r\n $productDetailProduct.find('.jwsdw-productName').text(product.displayedName || product.name);\r\n $productDetailProduct.find('.jwsdw-productPrice').text(product.pricing.priceFormatted);\r\n $productDetailProduct.find('.jwsdw-jacketFinder-shopNow, .jwsdw-jacketFinder-compare, .jwsdw-jacketFinder-compare-remove').attr('data-product-id', product.ID);\r\n if ($('.jwsdw-jacketFinder-productSlide').length - 1 === 1) {\r\n $productDetailProduct.find('.jwsdw-jacketFinder-compare').addClass('jws-hidden');\r\n $productDetailProduct.find('.jwsdw-jacketFinder-compare-remove').addClass('jws-hidden');\r\n } else {\r\n $productDetailProduct.find('.jwsdw-jacketFinder-compare').removeClass('jws-hidden');\r\n $productDetailProduct.find('.jwsdw-jacketFinder-compare-remove').addClass('jws-hidden');\r\n }\r\n product.info.forEach(function (info) {\r\n $productDetailProduct.find('.jwsdw-pdp-detailList').append(\r\n $('
  • ' + info + '
  • ')\r\n );\r\n });\r\n product.technology.forEach(function (technology) {\r\n var $technologyLogo = $technologyLogoTemplate.clone();\r\n\r\n $technologyLogo.removeAttr('id').removeClass('jws-hidden');\r\n if (technology.cid) {\r\n $technologyLogo.find('.jwsdw-badgeContainer').addClass('jws-cursorPointer');\r\n $technologyLogo.find('.jwsdw-badgeContainer').attr('data-picker-options', JSON.stringify({\r\n 'cid': technology.cid,\r\n 'introduction': technology.excerpt,\r\n 'width': 1\r\n }));\r\n } else {\r\n $technologyLogo.find('.jwsdw-badge').remove();\r\n }\r\n $technologyLogo.find('.jwsdw-techLogo').attr('src', technology.imageUrl);\r\n $productDetailProduct.find('.jwsdw-jacketFinder-productDetail-technologies').append($technologyLogo);\r\n });\r\n\r\n $productDetail.append($productDetailProduct);\r\n\r\n return product;\r\n });\r\n\r\n if (productSearchHits.length === 0) {\r\n $productSearchResult.find('.jwsdw-jacketFinder-searchResult-no-results').removeClass('jws-hidden');\r\n\r\n return;\r\n }\r\n }\r\n\r\n /**\r\n * @description Method to build the HTML on the page\r\n * @param {Object[]} productSearchResult search results\r\n * @returns {void}\r\n */\r\n function buildHTML(productSearchResult) {\r\n let productSearchHits = productSearchResult.productSearchHits,\r\n pagingModels = productSearchResult.pagingModels;\r\n if (sliders.product) {\r\n sliders.product.destroy();\r\n }\r\n sliders.productImage = {};\r\n\r\n $productSlider.find('.swiper-wrapper').html('');\r\n $productDetail.html('');\r\n $productSearchResult.find('.jwsdw-spinner').addClass('jws-hidden');\r\n\r\n productSearchHits = _updateProductSlider(productSearchHits, pagingModels);\r\n\r\n if (productSearchHits.length === 0) {\r\n $productSearchResult.find('.jwsdw-jacketFinder-searchResult-no-results').removeClass('jws-hidden');\r\n\r\n return;\r\n }\r\n\r\n $productSearchResult.find('.jwsdw-jacketFinder-searchResult-no-results').addClass('jws-hidden');\r\n\r\n $productSearchResult.find('.jwsdw-jacketFinder-searchResult-slider-wrapper').removeClass('jws-hidden');\r\n $productSearchResult.find('.jwsdw-jacketFinder-triangle-container').removeClass('jws-hidden');\r\n\r\n sliders.product = new Swiper('#' + $productSlider.attr('id'), sliderOptions.productSlider);\r\n\r\n $productSlider.removeClass('jws-hidden');\r\n sliders.product.on('init', _updateFakeArrows);\r\n sliders.product.on('slideChange', _updateFakeArrows);\r\n sliders.product.on('reachEnd', _loadMore);\r\n sliders.product.on('resize', window.jwsdwUtil.debounce(300, _updateFakeArrows));\r\n\r\n sliders.product.init();\r\n\r\n $('#jwsdw-jacketFinder-productSlider .jwsdw-jacketFinder-productSlide').eq(0).click();\r\n }\r\n\r\n /**\r\n * @description Method to deactivate refinement tiles that don't yield results\r\n * @param {Object} filterHitCount filter hit count result\r\n * @returns {void}\r\n */\r\n function deactivateEmptyRefinements(filterHitCount) {\r\n $activitySelect.each(function () {\r\n var regex = new RegExp(this.value),\r\n value = filterHitCount.refinementAktivitaet && filterHitCount.refinementAktivitaet.refinementValues.find(function(refinementValue) {\r\n return regex.test(refinementValue.value);\r\n });\r\n\r\n if (value && value.hitCount > 0) {\r\n $(this).removeAttr('disabled');\r\n $(this).next('.jwsdw-productFinder-refinementStep-tile').find('.jwsdw-productFinder-icon-activities').addClass('jwsdw-fillColorGrey1').removeClass('jwsdw-fillColorBone3'); //eslint-disable-line\r\n $(this).next('.jwsdw-productFinder-refinementStep-tile').find('.jwsdw-text-refinement').addClass('jws-colorBlack').removeClass('jws-colorBone3'); //eslint-disable-line\r\n } else {\r\n if ($(this).is(':checked')) {\r\n $('#jwsdw-jacketFinder-activity-none').prop('checked', true);\r\n }\r\n $(this).attr('disabled', 'disabled');\r\n $(this).next('.jwsdw-productFinder-refinementStep-tile').find('.jwsdw-productFinder-icon-activities').addClass('jwsdw-fillColorBone3').removeClass('jwsdw-fillColorGrey1'); //eslint-disable-line\r\n $(this).next('.jwsdw-productFinder-refinementStep-tile').find('.jwsdw-text-refinement').addClass('jws-colorBone3').removeClass('jws-colorBlack'); //eslint-disable-line\r\n }\r\n $(this).next('.jwsdw-productFinder-refinementStep-tile').find('.jwsdw-spinner').addClass('jws-hidden');\r\n });\r\n\r\n $functionSelect.each(function () {\r\n var regex = new RegExp(this.value),\r\n value = filterHitCount.refinementFunktion && filterHitCount.refinementFunktion.refinementValues.find(function(refinementValue) {\r\n return regex.test(refinementValue.value);\r\n });\r\n\r\n if (value && value.hitCount > 0) {\r\n $(this).removeAttr('disabled');\r\n $(this).next('.jwsdw-productFinder-refinementStep-tile').find('.jwsdw-productFinder-icon-functions').addClass('jwsdw-fillColorGrey1').removeClass('jwsdw-fillColorBone3'); //eslint-disable-line\r\n $(this).next('.jwsdw-productFinder-refinementStep-tile').find('.jwsdw-text-refinement').addClass('jws-colorBlack').removeClass('jws-colorBone3'); //eslint-disable-line\r\n } else {\r\n if ($(this).is(':checked')) {\r\n $('#jwsdw-jacketFinder-function-none').prop('checked', true);\r\n }\r\n $(this).attr('disabled', 'disabled');\r\n $(this).next('.jwsdw-productFinder-refinementStep-tile').find('.jwsdw-productFinder-icon-functions').addClass('jwsdw-fillColorBone3').removeClass('jwsdw-fillColorGrey1'); //eslint-disable-line\r\n $(this).next('.jwsdw-productFinder-refinementStep-tile').find('.jwsdw-text-refinement').addClass('jws-colorBone3').removeClass('jws-colorBlack'); //eslint-disable-line\r\n }\r\n $(this).next('.jwsdw-productFinder-refinementStep-tile').find('.jwsdw-spinner').addClass('jws-hidden');\r\n });\r\n\r\n $attributeSelect.each(function () {\r\n var regex = new RegExp(this.value),\r\n value = filterHitCount.refinementAusstattungsdetails && filterHitCount.refinementAusstattungsdetails.refinementValues.find(function(refinementValue) {\r\n return regex.test(refinementValue.value);\r\n });\r\n\r\n if (value && value.hitCount > 0) {\r\n $(this).removeAttr('disabled');\r\n $(this).next('.jwsdw-productFinder-refinementStep-tile').find('.jwsdw-productFinder-icon-functions').addClass('jwsdw-fillColorGrey1').removeClass('jwsdw-fillColorBone3'); //eslint-disable-line\r\n $(this).next('.jwsdw-productFinder-refinementStep-tile').find('.jwsdw-text-refinement').addClass('jws-colorBlack').removeClass('jws-colorBone3'); //eslint-disable-line\r\n } else {\r\n if ($(this).is(':checked')) {\r\n $('#jwsdw-jacketFinder-attribute-none').prop('checked', true);\r\n }\r\n $(this).attr('disabled', 'disabled');\r\n $(this).next('.jwsdw-productFinder-refinementStep-tile').find('.jwsdw-productFinder-icon-functions').addClass('jwsdw-fillColorBone3').removeClass('jwsdw-fillColorGrey1'); //eslint-disable-line\r\n $(this).next('.jwsdw-productFinder-refinementStep-tile').find('.jwsdw-text-refinement').addClass('jws-colorBone3').removeClass('jws-colorBlack'); //eslint-disable-line\r\n }\r\n $(this).next('.jwsdw-productFinder-refinementStep-tile').find('.jwsdw-spinner').addClass('jws-hidden');\r\n });\r\n }\r\n\r\n /**\r\n * @description Method to update product slider fake arrows\r\n * @returns {void}\r\n * @private\r\n */\r\n function _updateFakeArrows() {\r\n setTimeout(function() {\r\n if ($productSlider.find('.swiper-button-prev.swiper-button-disabled').length > 0) {\r\n $('#jwsdw-jacketFinder-productSlider-prev').addClass('swiper-button-disabled');\r\n } else {\r\n $('#jwsdw-jacketFinder-productSlider-prev').removeClass('swiper-button-disabled');\r\n }\r\n if ($productSlider.find('.swiper-button-next.swiper-button-disabled').length > 0) {\r\n $('#jwsdw-jacketFinder-productSlider-next').addClass('swiper-button-disabled');\r\n } else {\r\n $('#jwsdw-jacketFinder-productSlider-next').removeClass('swiper-button-disabled');\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * @description Method to load more product results\r\n * @returns {undefined}\r\n * @private\r\n */\r\n function _loadMore() {\r\n if ($productSlider.find('.jwsdw-placeholderSlide').length) {\r\n search(\r\n (productSearchResult) => {\r\n let productSearchHits = productSearchResult.productSearchHits,\r\n pagingModels = productSearchResult.pagingModels;\r\n\r\n $productSlider.find('.jwsdw-placeholderSlide').remove();\r\n\r\n _updateProductSlider(productSearchHits, pagingModels);\r\n sliders.product.update();\r\n _updateFakeArrows();\r\n },\r\n false,\r\n _offset\r\n );\r\n }\r\n }\r\n\r\n /**\r\n * @description Helper function to add product search hits to swiper slides.\r\n * @param {*} productSearchHits - Array of product search hits.\r\n * @param {*} pagingModels - Array of product search result paging models.\r\n * @returns {Object[]} an array of product search hits.\r\n */\r\n function _updateProductSlider(productSearchHits, pagingModels) {\r\n let pHits = productSearchHits\r\n .filter(function(product) {\r\n return product.pricing.standard;\r\n })\r\n .map(function (product) {\r\n var $productSlide = $productSlideTemplate.clone(),\r\n $productDetailProduct = $productDetailTemplate.clone();\r\n\r\n $productSlide.removeClass('jws-hidden').removeAttr('id');\r\n\r\n $productSlide.attr('data-product-id', product.ID);\r\n $productSlide\r\n .find('.jwsdw-productTile-image')\r\n .attr(\r\n 'data-src',\r\n window.jwsdwUtil.urlUtils.imageUrl(product.ID, 0, transforms.slider, 'Bone5')\r\n )\r\n .attr(\r\n 'alt',\r\n product.displayedName || product.name\r\n );\r\n $productSlide.find('.jwsdw-productName').text(product.displayedName || product.name);\r\n $productDetailProduct.find('.jwsdw-jacketFinder-productImage').attr(\r\n 'src',\r\n window.jwsdwUtil.urlUtils.imageUrl(product.ID, 0, transforms.productDetail, 'Bone5')\r\n );\r\n\r\n $productSlide.find('.jwsdw-productName').text(product.name);\r\n if (product.pricing.sale && product.pricing.sale < product.pricing.standard) {\r\n // has sale price\r\n $productSlide.find('.jwsdw-productListPrice')\r\n .addClass('jwsdw-lineThrough jws-copy1 jws-colorGrey3')\r\n .text(window.jwsdwUtil.formatPrice(product.pricing.standard));\r\n $productSlide.find('.jwsdw-productSalePrice')\r\n .removeClass('jws-hidden')\r\n .text(window.jwsdwUtil.formatPrice(product.pricing.sale));\r\n } else {\r\n $productSlide.find('.jwsdw-productListPrice').text(window.jwsdwUtil.formatPrice(product.pricing.standard));\r\n }\r\n $productSlider.find('.swiper-wrapper').append($productSlide);\r\n\r\n return product;\r\n });\r\n\r\n if (pagingModels.some((pagingModel) => pagingModel.hasNextPage)) {\r\n let $productSlide = $productSlidePlaceholderTemplate.clone();\r\n $productSlide.removeAttr('id').removeClass('jws-hidden');\r\n $productSlider.find('.swiper-wrapper').append($productSlide);\r\n }\r\n\r\n return pHits;\r\n }\r\n\r\n /**\r\n * @description Method to scroll to the top of an element. Additionally an offset can be passed.\r\n * @param {Object} element jQuery element for which offset.top defines the scroll position\r\n * @param {Integer} [offset] optional offset\r\n * @returns {void}\r\n */\r\n function scrollTop(element, offset) {\r\n offset = offset || 0;\r\n $('html, body').animate({\r\n 'scrollTop': element.offset().top + offset\r\n });\r\n }\r\n\r\n if (!!window.navigator.userAgent.match(/Trident/g) || !!window.navigator.userAgent.match(/MSIE/g)) {\r\n // IE11 fix to remove second scrollbar when search results loaded\r\n $('#jwsdw-body').css('overflow', 'visible');\r\n }\r\n}(jQuery, Swiper, Promise)); // eslint-disable-line no-undef\r\n"],"names":["$","Swiper","Promise","_selectedProduct","_compareWith","$productSlider","$productSearchResult","$productDetail","$productSlideTemplate","$productSlidePlaceholderTemplate","$productDetailTemplate","$technologyLogoTemplate","$typeSelect","$activitySelectWrapper","$activitySelect","$functionSelectWrapper","$functionSelect","$attributeSelectWrapper","$attributeSelect","$nextLinkActivity","$nextLinkFunction","$nextLinkAttribute","$nextLinkResults","$searchResults","_cache","_disableAutoScroll","_productSearchHits","_offset","sliders","product","productDetail","sliderOptions","init","loop","freeMode","preloadImages","slidesPerView","spaceBetween","centerInsufficientSlides","breakpoints","600","767","1200","navigation","nextEl","prevEl","transforms","slider","scaleWidth","format","filterHitCountXhrs","xhrs","buildCategoryId","type","join","search","callback","updateFrontend","offset","cgids","_xhrs","forEach","xhr","hasOwnProperty","abort","find","removeClass","addClass","val","eq","all","map","cgid","resolve","let","_currentSearch","data","reducedProductData","tempArr","prefn5","prefv5","this","get","i","length","start","push","ajax","url","window","jwsdwSettings","baseUrl","success","response","then","productSearchResult","reduce","obj","result","categoryId","productMap","Map","combinedProductSearchHits","productSearchHits","concat","uniqueProductSearchHits","hit","set","ID","Array","from","values","pagingModels","pagingModel","uniqueProductHits","filter","some","existingHit","pageEnd","sort","a","b","Math","random","getFilterHitCount","updateActivities","updateFunctions","updateAttributes","_filterHitCountXhrs","prefv6","prefv7","filterHitCount","refinementAktivitaet","refinements","refinement","id","refinementFunktion","refinementAusstattungsdetails","refinementValues","refinementValue","currentRefinementValue","value","hitCount","refinementCategory","buildProductDetail","productID","html","$productDetailProduct","clone","attr","jwsdwUtil","urlUtils","imageUrl","text","displayedName","name","pricing","priceFormatted","info","append","technology","$technologyLogo","removeAttr","cid","JSON","stringify","introduction","excerpt","width","remove","buildHTML","destroy","productImage","_updateProductSlider","on","_updateFakeArrows","_loadMore","debounce","click","deactivateEmptyRefinements","each","regex","RegExp","test","next","is","prop","setTimeout","update","pHits","standard","$productSlide","sale","formatPrice","hasNextPage","scrollTop","element","animate","top","currentCategory","split","e","$element","preventDefault","jwsdwMediator","publish","content","dataLayer","event","eventCategory","eventAction","eventLabel","eventValue","undefined","nonInteraction","selection","parent","document","el","productId","showRefinements","$comparePickerContent","floor","_","currentSearch","cachedSearch","Object","assign","Boolean","arr","$productTile","toLowerCase","uiUtils","getViewport","not","$container","parents","tabId","navigator","userAgent","match","css","jQuery"],"mappings":"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"}