{"version":3,"sources":["../ts/education/products.ts"],"names":["onDeviceChange","device","desktopProducts","currentDevice","jquery_1","default","find","each","this","wrapAll","slick","dots","infinite","speed","arrows","slide","cssEase","dotsClass","draggable","customPaging","slider","i","title","$slides","data","thumb","attr","responsive","breakpoint","settings","insertBefore","hide","moveToSelectedProduct","slideindex","length","productCategory","querystring_1","getQueryVariable","categoryEl","click","animate","scrollTop","offset","closest","parseInt","device_1","getDevice","window","on","e","addEventListener","event","currentSlide","nextSlide","get","deepLinkID","deepLink","updateQueryStringParameter","location","href","history","pushState","show","slideCount"],"mappings":"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","file":"products.js","sourcesContent":["import $ from 'jquery'\r\nimport { getQueryVariable, updateQueryStringParameter } from './querystring'\r\nimport 'slick-carousel';\r\nimport { getDevice } from './device';\r\nimport './accordion';\r\n\r\nlet currentDevice:string;\r\n\r\nfunction onDeviceChange(device: string) {\r\n  if(currentDevice === device) {\r\n    return;\r\n  }\r\n  if(device === 'desktop') {\r\n    initializeProducts();\r\n  }\r\n  currentDevice = device;\r\n}\r\n\r\nfunction moveToSelectedProduct() {\r\n   if ($(\".product-accordion\").length > 0) {\r\n    var productCategory = getQueryVariable(\"category\");\r\n    var categoryEl = $('.accordion__header[data-slug*=\"' +productCategory+'\"]');\r\n    if (categoryEl.length > 0) {\r\n      categoryEl.click();\r\n      $('html, body').animate({\r\n      scrollTop: ($('.accordion__header[data-slug*=\"' +productCategory+'\"]').offset().top)\r\n      },500);\r\n    }  \r\n  }\r\n\r\n  if (getQueryVariable(\"category\") != '') {\r\n   var desktopProducts = $('.product-accordion .products.desktop');\r\n   \r\n   var productCategory = getQueryVariable(\"category\");\r\n    // console.log(productCategory);\r\n    var slideindex = $('.js-accordion__panel[data-slug=\"'+productCategory+'\"]').closest('.slick-slide').data('slick-index');\r\n    // console.log(slideindex);\r\n    desktopProducts.slick('slickGoTo', parseInt(slideindex) );\r\n  }\r\n}\r\n\r\nonDeviceChange(getDevice());\r\n$(window).on('device:change', function(e, device){\r\n  onDeviceChange(device);\r\n});\r\n\r\nwindow.addEventListener('popstate', function(event) {\r\n    moveToSelectedProduct();\r\n});\r\n\r\nfunction initializeProducts() {\r\n  var desktopProducts = $('.product-accordion .products.desktop');\r\n  var productPanel = desktopProducts.find('.js-accordion__panel');\r\n  productPanel.each(function () {\r\n    $(this).wrapAll('<div class=\"slide\">');\r\n  });\r\n  desktopProducts.slick({\r\n    dots: true,\r\n    infinite: false,\r\n    speed: 1000,\r\n    arrows: true,\r\n    slide: 'div',\r\n    cssEase: 'ease-in-out',\r\n    dotsClass: 'controls',\r\n    draggable: false,\r\n    customPaging: function (slider, i) {\r\n      var title = $(slider.$slides[i]).find('.js-accordion__panel').data('title');\r\n      var thumb = $(slider.$slides[i]).find('.js-accordion__panel').data('thumbnail');\r\n      var id = $(slider.$slides[i]).find('.js-accordion__panel').attr('id');\r\n      return '<button type=\"button\" data-role=\"none\" role=\"button\" tabindex=\"0\"><img src=\"' + thumb + '\" alt=\"\"><span>' + title + '</span></button>';\r\n    },\r\n    responsive: [{\r\n      breakpoint: 768,\r\n      settings: \"unslick\"\r\n    }]\r\n  });\r\n  $('.product-accordion .controls').insertBefore('.product-accordion .products.desktop');\r\n  $('.product-accordion .products.desktop .slick-prev').hide();\r\n  moveToSelectedProduct();\r\n  \r\n};\r\n$(function(){\r\n  moveToSelectedProduct();\r\n  // After slide change\r\n  $('.product-accordion .products').on('afterChange', function (event, slick, currentSlide, nextSlide) {\r\n    var slide = $(slick.$slides.get(currentSlide)).find('.js-accordion__panel');\r\n    var title = slide.data('title');\r\n    var deepLinkID = slide.data('slug');\r\n    var deepLink = updateQueryStringParameter(window.location.href, 'category', deepLinkID);\r\n    history.pushState('Category', title, deepLink);\r\n    if (currentSlide === 0) {\r\n      $('.slick-prev').hide();\r\n      $('.slick-next').show();\r\n    } else if (slick.slideCount === currentSlide + 1) {\r\n      $('.slick-prev').show();\r\n      $('.slick-next').hide();\r\n    } else {\r\n      $('.slick-prev').show();\r\n      $('.slick-next').show();\r\n    }\r\n  });\r\n});"]}