{"version":3,"file":"lazy-load-filter-widget.legacy.js","mappings":"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","sources":["webpack://frontend-starter/./src/scripts/url-handler.js","webpack://frontend-starter/./src/scripts/helpers/lazy-helper.js","webpack://frontend-starter/./src/scripts/lazy-load/lazy-load-filter-widget.js"],"sourcesContent":["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","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();"],"names":["this","urlArr","init","window","pubSubEvents","subscribe","params","length","dataAsQueryString","parseData","filter","value","index","self","indexOf","history","pushState","location","pathname","trim","join","search","substring","split","map","str","tmp","param","values","forEach","setTimeout","publish","data","result","searchFields","searchValue","el","hasOwnProperty","fieldName","push","encodeURI","taxonName","LazyHelper","href","id","addToHead","async","doesScriptExists","ev1","document","createElement","src","setAttribute","classList","add","head","appendChild","body","css","rel","type","media","method","$","waitJqueryToLoad","url","querySelectorAll","addEventListener","isEventListenerAttached","loadFilterComponents","getScrollFromTopValue","removeEventListener","filterWidgetWrapper","getElementsByClassName","jqueryScriptUrl","jQuery","getElementById","addScriptFile","kendoUrl","getAttribute","addCssFile","onload","on","e","toggleClass","hasClass","find","addClass","removeClass","openFilters","applyCss","UrlHandler","filterWidget","matchMedia","matches","getBoundingClientRect","top"],"sourceRoot":""}