{"version":3,"file":"lazy-load-filter-widget.js","mappings":"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","sources":["webpack://frontend-starter/./src/scripts/helpers/lazy-helper.js","webpack://frontend-starter/./src/scripts/lazy-load/lazy-load-filter-widget.js","webpack://frontend-starter/./src/scripts/url-handler.js"],"sourcesContent":["export default class LazyHelper {\r\n static addScriptFile(href, id, addToHead, async = true) {\r\n if (LazyHelper.doesScriptExists(href)) {\r\n return;\r\n }\r\n let ev1 = document.createElement('script');\r\n ev1.src = href;\r\n ev1.async = async;\r\n ev1.setAttribute('id', id);\r\n ev1.classList.add('optanon-category-C0001');\r\n if (addToHead) {\r\n document.head.appendChild(ev1);\r\n }\r\n else {\r\n document.body.appendChild(ev1);\r\n }\r\n\r\n return ev1;\r\n }\r\n\r\n static addCssFile(href, addToHead) {\r\n let css = document.createElement('link');\r\n css.rel = 'stylesheet';\r\n css.type = 'text/css';\r\n css.href = href;\r\n css.media = 'all';\r\n css.classList.add('optanon-category-C0001');\r\n\r\n if (addToHead) {\r\n document.head.appendChild(css);\r\n }\r\n else {\r\n document.body.appendChild(css);\r\n }\r\n }\r\n\r\n static waitJqueryToLoad(method) {\r\n if (window.$) {\r\n method();\r\n } else {\r\n setTimeout(function () { LazyHelper.waitJqueryToLoad(method); }, 100);\r\n }\r\n }\r\n\r\n static doesScriptExists(url) {\r\n return document.querySelectorAll(`script[src=\"${url}\"]`).length > 0;\r\n }\r\n}","import UrlHandler from '../url-handler';\r\nimport LazyHelper from '../helpers/lazy-helper';\r\n\r\nconst InitFilterWidget = {\r\n init: function () {\r\n document.addEventListener(\"DOMContentLoaded\", function () {\r\n let isEventListenerAttached = false;\r\n if (getScrollFromTopValue() <= 0) {\r\n loadFilterComponents();\r\n }\r\n else {\r\n isEventListenerAttached = true;\r\n window.addEventListener('scroll', loadFilterComponents);\r\n }\r\n\r\n function loadFilterComponents() {\r\n if (getScrollFromTopValue() <= 0) {\r\n {\r\n if (isEventListenerAttached) {\r\n window.removeEventListener('scroll', loadFilterComponents);\r\n }\r\n let filterWidgetWrapper = document.getElementsByClassName('js-filter-widget')[0];\r\n\r\n let jqueryScriptUrl = '/Scripts/libs/jquery.min.js';\r\n\r\n if ('undefined' == typeof window.jQuery) {\r\n if (!document.getElementById('jquery') && !LazyHelper.doesScriptExists(jqueryScriptUrl)) {\r\n LazyHelper.addScriptFile(jqueryScriptUrl, 'jquery', true);\r\n }\r\n }\r\n\r\n LazyHelper.waitJqueryToLoad(function () {\r\n if (!document.getElementById('kendoall-script')) {\r\n let kendoUrl = filterWidgetWrapper.getAttribute('data-kendoBaseUrl');\r\n\r\n let ev1 = LazyHelper.addScriptFile(kendoUrl + '/js/kendo.all.min.js', 'kendoall-script', true);\r\n\r\n LazyHelper.addCssFile(kendoUrl + '/styles/kendo.common-material.min.css', true);\r\n LazyHelper.addCssFile(kendoUrl + '/styles/kendo.rtl.min.css', true);\r\n LazyHelper.addCssFile(kendoUrl + '/styles/kendo.material.min.css', true);\r\n LazyHelper.addCssFile(kendoUrl + '/styles/kendo.material.mobile.min.css', true);\r\n\r\n ev1.onload = function () {\r\n applyCss();\r\n LazyHelper.addScriptFile('/Frontend-Assembly/SitefinityWebApp/Mvc/Scripts/FilterWidget/filter-widget.js', 'filterwidget-script', false);\r\n window.UrlHandler = new UrlHandler();\r\n }\r\n }\r\n })\r\n }\r\n };\r\n }\r\n\r\n function applyCss() {\r\n $(\".filter-widget__wrapper\").css(\"opacity\", \"1\");\r\n\r\n $(\".advanced-filter__btn span\").on('click', function (e) {\r\n $('.advanced-filter__content').toggleClass(\"show\");\r\n\r\n if ($('.advanced-filter__content').hasClass(\"show\")) {\r\n $(this).find(\"i\").addClass('minus').removeClass('plus');\r\n } else {\r\n $(this).find(\"i\").addClass('plus').removeClass('minus');\r\n }\r\n });\r\n\r\n var openFilters = $(\".btn.show-more\");\r\n if (openFilters) {\r\n openFilters.on('click', function (e) {\r\n $('.filter-widget__wrapper.expandable').toggleClass(\"show\");\r\n if ($('.filter-widget__wrapper.expandable').hasClass(\"show\")) {\r\n $(this).addClass('show-more--open');\r\n } else {\r\n $(this).removeClass('show-more--open');\r\n }\r\n });\r\n }\r\n }\r\n\r\n function getScrollFromTopValue() {\r\n let filterWidget = document.getElementsByClassName('js-filter-widget');\r\n if (filterWidget.length > 0) {\r\n let isMobile = window.matchMedia('(max-width: 700px)');\r\n if (isMobile.matches) {\r\n return filterWidget[0].getBoundingClientRect().top - 800;\r\n }\r\n else {\r\n return filterWidget[0].getBoundingClientRect().top - 1000;\r\n }\r\n }\r\n\r\n return 1;\r\n };\r\n });\r\n }\r\n}\r\n\r\nInitFilterWidget.init();","class UrlHandler {\r\n constructor() {\r\n this.urlArr = [];\r\n\r\n this.init();\r\n\r\n window.pubSubEvents.subscribe('hubsUpdate', (params) => {\r\n if(params && params.length > 0) {\r\n const dataAsQueryString = this.parseData(params).filter((value, index, self) => {\r\n return self.indexOf(value) === index;\r\n });\r\n window.history.pushState(\r\n null,\r\n 'contentHubsStateTitle',\r\n window.location.pathname.trim('/') + '?' + dataAsQueryString.join('&'));\r\n } else {\r\n window.history.pushState(null, 'contentHubsStateTitle', window.location.pathname.trim('/'));\r\n }\r\n });\r\n }\r\n\r\n init() {\r\n if (window.location.search > '') {\r\n const urlParams = location.search.substring(1).split('&').map((str) => {\r\n const tmp = str.split('=');\r\n if (tmp.length > 1) {\r\n return {\r\n param: tmp[0],\r\n values: tmp[1].split(/[, ]+/)\r\n };\r\n }\r\n });\r\n\r\n urlParams.forEach(param => setTimeout(function() { window.pubSubEvents.publish('urlUpdate', param); }, 600));\r\n }\r\n }\r\n\r\n parseData(data) {\r\n const result = [];\r\n const searchFields = [];\r\n let searchValue = '';\r\n\r\n data.forEach(el => {\r\n if (el.hasOwnProperty('fieldName')) {\r\n if (el.fieldName != 'search-value-with-fields') {\r\n searchFields.push(encodeURI(el.fieldName));\r\n }\r\n searchValue = encodeURI(el.value);\r\n }\r\n else {\r\n result.push(el.taxonName + '=' + el.value.join())\r\n }\r\n });\r\n\r\n if (searchValue) {\r\n result.push('search-value-with-fields' + '=' + searchValue + \",\" + searchFields.join());\r\n }\r\n return result;\r\n }\r\n}\r\n\r\nexport default UrlHandler;\r\n"],"names":["LazyHelper","static","href","id","addToHead","async","doesScriptExists","ev1","document","createElement","src","setAttribute","classList","add","head","appendChild","body","css","rel","type","media","method","window","$","setTimeout","waitJqueryToLoad","url","querySelectorAll","length","addEventListener","isEventListenerAttached","loadFilterComponents","getScrollFromTopValue","removeEventListener","filterWidgetWrapper","getElementsByClassName","jqueryScriptUrl","jQuery","getElementById","addScriptFile","kendoUrl","getAttribute","addCssFile","onload","on","e","toggleClass","hasClass","this","find","addClass","removeClass","openFilters","applyCss","UrlHandler","constructor","urlArr","init","pubSubEvents","subscribe","params","dataAsQueryString","parseData","filter","value","index","self","indexOf","history","pushState","location","pathname","trim","join","search","substring","split","map","str","tmp","param","values","forEach","publish","data","result","searchFields","searchValue","el","hasOwnProperty","fieldName","push","encodeURI","taxonName","filterWidget","matchMedia","matches","getBoundingClientRect","top"],"sourceRoot":""}