{"version":3,"sources":["node_modules/browser-pack/_prelude.js","src/js/common/selectMultiLevel.js","src/js/helpers/preloader.js","src/js/helpers/toggleElementsVisibility.js","src/js/whereToBuy.js"],"names":["r","e","n","t","o","i","f","c","require","u","a","Error","code","p","exports","call","length","1","module","selectMultiLevelConfig","dir","document","minimumResultsForSearch","templateResult","data","element","text","$wrapper","$","addClass","className","SelectMultiLevel","_classCallCheck","this","each","index","select","select2","key","value","preloader","$container","toggle","find","toggleClass","toggleElementsVisibility","selectors","toogle","forEach","selector","_toggleElementsVisibility","_selectMultiLevel","_preloader","_typeof","obj","Symbol","iterator","constructor","prototype","_defineProperties","target","props","descriptor","enumerable","configurable","writable","Object","defineProperty","arg","input","hint","prim","toPrimitive","undefined","String","Number","res","TypeError","_toPrimitive","_toPropertyKey","window","HMSWhereToBuy","WhereToBuy","instance","Constructor","product","productName","radius","zipCode","segment","productData","segmentFilter","allProductsHtml","html","addEventListeners","getCgrProductData","protoProps","staticProps","_this","filteredProductData","results","SegmentUrlFriendy","Families","family","optionsHtml","Products","concat","UrlFriendlyName","DisplayName","FamilyName","event","$product","$clickedSegment","currentTarget","removeClass","renderFilteredProducts","Infinity","empty","open","arguments","endpoint","ajax","url","type","success","response","HMSBuyNowInstance","init","trim","magnificPopup","items","src","_this2","val","trigger","$preloader","IriStores","initBuyDirect","render","HMSBuyInStoreInstance","_$$data","_this3","on","toggleSegment","onChangeProductLocation","onChangeRadius","onBuyDirectPopupInit","elements","containerSelector","Name","Address","Phone","append","_data$results$Product","ProductData","PackShotImage","allSpecialtyStores","_data$results","SpecialtyStores","hideForm","renderStoreList","renderBuyNowItem","initMap","_this4","_data$results$Product2","Radius","ZipCode","Segment"],"mappings":"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","file":"whereToBuy.js","sourcesContent":["(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i {\r\n if (!data.element) {\r\n return data.text;\r\n }\r\n const $wrapper = $('');\r\n $wrapper.addClass($(data.element)[0].className);\r\n $wrapper.text(data.text);\r\n\r\n return $wrapper;\r\n }\r\n};\r\n\r\n/**\r\n * Inits Select2 plugin for dropdowns that have 3 levels of options\r\n */\r\nexport class SelectMultiLevel {\r\n static isOnPage() {\r\n return $('.js-select-multilevel').length !== 0;\r\n }\r\n\r\n constructor() {\r\n $(() => {\r\n $.each($('.js-select-multilevel'), (index, select) =>\r\n $(select).select2(selectMultiLevelConfig));\r\n });\r\n }\r\n}\r\n","/**\n * Toggle preloader in section\n * @param {Node} $container - Section container\n * @param {Boolean} toggle\n */\nexport const preloader = ($container, toggle) => {\n $container.find('.js-preloader').toggleClass('show', toggle);\n}\n","/**\r\n * Show/hide elements by toggling u-display-none css class.\r\n * @param {Array} selectors - css selectors\r\n * @param {Boolean} toogle - true shows the element, false hides it\r\n */\r\nexport const toggleElementsVisibility = (selectors, toogle) => {\r\n selectors.forEach(selector => $(selector).toggleClass('u-display-none', !toogle));\r\n};\r\n","import { toggleElementsVisibility } from './helpers/toggleElementsVisibility';\nimport { selectMultiLevelConfig } from './common/selectMultiLevel';\nimport { preloader } from './helpers/preloader';\n\nwindow.HMSWhereToBuy = class WhereToBuy {\n\tconstructor() {\n this.product = null;\n this.productName = null;\n this.radius = null;\n this.zipCode = null;\n this.segment = null;\n this.productData = null;\n this.segmentFilter = null;\n this.allProductsHtml = $('#product').html();\n\n this.addEventListeners();\n\n if ($('.js-product-segment-btn').length > 0) {\n this.getCgrProductData();\n }\n\t}\n\n renderFilteredProducts() {\n const filteredProductData = this.productData.results\n .find(segment => segment.SegmentUrlFriendy === this.segmentFilter);\n let html = '';\n\n if (filteredProductData) {\n filteredProductData.Families.forEach(family => {\n let optionsHtml = '';\n\n family.Products.forEach(product => {\n optionsHtml +=\n ``;\n });\n\n html += `\n \n ${optionsHtml}\n \n `;\n });\n }\n\n $('#product').html(html);\n }\n\n toggleSegment(event) {\n const $product = $('#product');\n $product.select2('destroy');\n $('.js-product-segment-btn').addClass('btn-hollow');\n\n const $clickedSegment = $(event.currentTarget);\n const isActivate = this.segmentFilter !== $clickedSegment.data('segment');\n\n if (isActivate) {\n this.segmentFilter = $clickedSegment.data('segment');\n $clickedSegment.removeClass('btn-hollow');\n this.renderFilteredProducts();\n $product.select2({ minimumResultsForSearch: Infinity });\n } else {\n this.segmentFilter = null;\n $product.html(this.allProductsHtml);\n $product.select2(selectMultiLevelConfig);\n }\n }\n\n onChangeProductLocation() {\n toggleElementsVisibility(\n [\n '.js-specialty-stores-container', '.js-buy-direct', '.js-buy-in-store', '.js-retail-title',\n '.js-where-to-buy-title', '.js-change-radius-value', '.js-change-product-location'\n ],\n false\n );\n $('.js-specialty-stores').empty();\n $('.js-retail-location').empty();\n toggleElementsVisibility(['.js-buy-in-store-crate'], true);\n }\n\n /**\n * Gets the content for buy direct popup.\n * Inits it. Opens it if open param set to true.\n * @param {String} product Product name\n * @param {String} segment Segment name\n * @param {Boolean} open Set to true to open the popup when data is received.\n * @param {Boolean|String} endpoint Set to true to open the popup when data is received.\n */\n initBuyDirect(product, segment, open = false, endpoint = false) {\n if (open) {\n preloader($('.js-main-preloader'), true);\n }\n\n $.ajax({\n url: endpoint || '/BuyDirect',\n data: {\n product,\n segment\n },\n type: 'POST',\n success: response => {\n $('#buy-direct').html(response);\n window.HMSBuyNowInstance.init();\n $('.js-select').select2({ minimumResultsForSearch: Infinity });\n toggleElementsVisibility(['.js-buy-direct'], $.trim(response).length > 0);\n\n // Open buy direct manually when inited from product card\n if (open) {\n preloader($('.js-main-preloader'), false);\n $.magnificPopup.open({\n items: {\n src: '#buy-direct'\n },\n type: 'inline'\n });\n }\n }\n });\n }\n\n onChangeRadius(event) {\n const radius = $(event.currentTarget).val();\n this.radius = radius;\n $('#radius').val(radius).trigger('change');\n const $preloader = $('.js-changeRadius-preloader');\n\n $preloader.addClass('show');\n\n $.ajax({\n url: '/Iri/GetWhereToBuy',\n type: 'POST',\n data: {\n zipCode: this.zipCode,\n product: this.productName,\n radius: this.radius,\n segment: this.segment\n },\n success: data => {\n $('.js-display-miles').html(this.radius);\n $preloader.removeClass('show');\n if (data.results.IriStores.length === 0) {\n this.initBuyDirect(this.productName, this.segment);\n }\n\n this.render(data);\n window.HMSBuyInStoreInstance.render(data);\n }\n });\n }\n\n /**\n * Inits Buy Direct popup for products displayed in product card\n * @param {Event} event - clicked button\n */\n onBuyDirectPopupInit(event) {\n const {\n product, segment, endpoint\n } = $(event.currentTarget).data();\n\n this.initBuyDirect(product, segment, true, endpoint);\n }\n\n addEventListeners() {\n $('.js-product-segment-btn').on('click', event => this.toggleSegment(event));\n\n $('.js-change-product-location').on('click', () => this.onChangeProductLocation());\n\n $('.js-change-radius').on('select2:select', event => this.onChangeRadius(event));\n\n $(document).on('click', '.js-buy-direct-popup-init', event => this.onBuyDirectPopupInit(event));\n }\n\n renderStoreList(elements, containerSelector) {\n const $container = $(containerSelector);\n $container.empty();\n\n elements.forEach(element => {\n const { Name, Address, Phone } = element;\n\n $container.append(\n `
\n
\n

${Name}

\n

${Address}

\n

${Phone}

\n
\n
`);\n });\n }\n\n renderBuyNowItem(data) {\n const { Name, PackShotImage } = data.results.ProductData;\n\n $('.js-buy-direct-widget-content').html(\n `
\n \n
\n

${Name}

`\n );\n }\n\n render(data, allSpecialtyStores = false) {\n const { IriStores, SpecialtyStores } = data.results;\n\n toggleElementsVisibility(['.js-change-product-location', '.js-where-to-buy-title'], true);\n\n if (IriStores.length > 0 ) {\n window.HMSBuyInStoreInstance.hideForm();\n toggleElementsVisibility(['.js-buy-in-store', '.js-retail-title'], true);\n this.renderStoreList(IriStores, '.js-retail-location');\n toggleElementsVisibility(['.js-buy-in-store-no-results', '.js-change-radius-value'], false);\n } else {\n toggleElementsVisibility(['.js-buy-in-store-no-results', '.js-change-radius-value'], true);\n this.renderBuyNowItem(data);\n }\n\n if (SpecialtyStores.length > 0) {\n window.HMSBuyInStoreInstance.hideForm();\n $('.js-specialty-stores-container').removeClass('u-display-none');\n\n this.renderStoreList(allSpecialtyStores || SpecialtyStores, '.js-specialty-stores');\n } else {\n $('.js-specialty-stores-container').addClass('u-display-none');\n }\n\n if (IriStores.length > 0 || SpecialtyStores.length > 0) {\n window.HMSBuyInStoreInstance.initMap(data);\n }\n\n if (IriStores.length === 0 && SpecialtyStores.length === 0) {\n window.HMSBuyInStoreInstance.hideForm();\n }\n\n $('.js-display-productName').html(this.product);\n $('.js-display-miles').html(this.radius);\n $('.js-display-zip-code').html(this.zipCode);\n $('.js-change-radius').val(this.radius);\n }\n\n getCgrProductData() {\n $.ajax({\n url: '/Iri/GetProducts',\n type: 'POST',\n data: {\n segment: $('#segment').val()\n },\n success: productData => {\n this.productData = productData;\n },\n });\n }\n\n init(data) {\n const { Name, Radius, ZipCode, UrlFriendlyName, Segment } = data.results.ProductData;\n\n this.product = Name;\n this.radius = Radius;\n this.zipCode = ZipCode;\n this.productName = UrlFriendlyName;\n this.segment = Segment;\n\n this.render(data);\n\t}\n};\n"]}