{"version":3,"file":"lazy-load-hubs.legacy.js","mappings":"mMAAqBA,EAAU,yB,4FAAA,S,QA8C1B,O,EA9C0B,E,EAAA,4BAC3B,SAAqBC,EAAMC,EAAIC,GAAyB,IAAdC,IAAQ,UAAH,+CAC3C,IAAIJ,EAAWK,iBAAiBJ,GAAhC,CAGA,IAAIK,EAAMC,SAASC,cAAc,UAYjC,OAXAF,EAAIG,IAAMR,EACVK,EAAIF,MAAQA,EACZE,EAAII,aAAa,KAAMR,GACvBI,EAAIK,UAAUC,IAAI,0BACdT,EACAI,SAASM,KAAKC,YAAYR,GAG1BC,SAASQ,KAAKD,YAAYR,GAGvBA,CAbP,CAcJ,GAAC,wBAED,SAAkBL,EAAME,GACpB,IAAIa,EAAMT,SAASC,cAAc,QACjCQ,EAAIC,IAAM,aACVD,EAAIE,KAAO,WACXF,EAAIf,KAAOA,EACXe,EAAIG,MAAQ,MACZH,EAAIL,UAAUC,IAAI,0BAEdT,EACAI,SAASM,KAAKC,YAAYE,GAG1BT,SAASQ,KAAKD,YAAYE,EAElC,GAAC,8BAED,SAAwBI,GAChBC,OAAOC,EACPF,IAEAG,YAAW,WAAcvB,EAAWwB,iBAAiBJ,EAAS,GAAG,IAEzE,GAAC,8BAED,SAAwBK,GACpB,OAAOlB,SAASmB,iBAAiB,eAAD,OAAgBD,EAAG,OAAME,OAAS,CACtE,IA9C2B,M,cAAA,M,6DA8C1B,EA9C0B,GCIvBpB,SAASqB,iBAAiB,oBAAoB,WAC1C,IAAIC,GAA0B,EAC9B,GAAIC,KAA2B,EAC3BC,QAEC,CACDF,GAA0B,EAC1BR,OAAOO,iBAAiB,SAAUG,GAClC,IAAIC,EAAUC,aAAY,WACtB,GAAIH,KAA2B,EAAG,CAC9BI,cAAcF,GACdD,IACA,IAAMI,EAAQ,IAAIC,MAAM,aACxBf,OAAOgB,cAAcF,EACzB,CACJ,GAAG,IACP,CAEA,SAASJ,IACL,GAAID,KAA2B,EAAG,CAEtBD,GACAR,OAAOiB,oBAAoB,SAAUP,GAGzC,IAAIQ,EAAkB,mCAClB,IAAsBlB,OAAOmB,SACxBxC,EAAWK,iBAAiBkC,IAC7BvC,EAAWyC,cAAcF,EAAiB,UAAU,IAI5DvC,EAAWwB,kBAAiB,WAQ/BjB,SAASmC,eAAe,iBACf1C,EAAWyC,cAAc,uEAAwE,eAAe,GACtHE,OAAS,WACT,IAAIC,EAAOrC,SAASsC,uBAAuB,gBAAgB,GAE3DC,yBACIF,EAAKG,aAAa,sBAClBH,EAAKG,aAAa,gBAClBH,EAAKG,aAAa,kBAClBH,EAAKG,aAAa,mBAClBH,EAAKG,aAAa,6BAClBH,EAAKG,aAAa,gBAClBH,EAAKG,aAAa,+BAClBH,EAAKG,aAAa,0CAClB,EAER,EAtBI,GAER,CACJ,CAuBA,SAASjB,IACL,IAAIkB,EAAOzC,SAASsC,uBAAuB,gBAC3C,OAAIG,EAAKrB,OAAS,EACPqB,EAAK,GAAGC,wBAAwBC,IAAM,KAG1C,CACX,CACJ,G","sources":["webpack://frontend-starter/./src/scripts/helpers/lazy-helper.js","webpack://frontend-starter/./src/scripts/lazy-load/lazy-load-hubs.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 LazyHelper from '../helpers/lazy-helper';\r\n\r\nconst InitHubs = {\r\n init: function () {\r\n document.addEventListener(\"DOMContentLoaded\", function () {\r\n let isEventListenerAttached = false;\r\n if (getScrollFromTopValue() <= 0) {\r\n loadHubs();\r\n }\r\n else {\r\n isEventListenerAttached = true;\r\n window.addEventListener('scroll', loadHubs);\r\n let timeout = setInterval(() => {\r\n if (getScrollFromTopValue() <= 0) {\r\n clearInterval(timeout);\r\n loadHubs();\r\n const event = new Event('lazy-load');\r\n window.dispatchEvent(event);\r\n }\r\n }, 300);\r\n }\r\n\r\n function loadHubs() {\r\n if (getScrollFromTopValue() <= 0) {\r\n {\r\n if (isEventListenerAttached) {\r\n window.removeEventListener('scroll', loadHubs);\r\n }\r\n\r\n let jqueryScriptUrl = '/Scripts/libs/jquery.min.js';\r\n if ('undefined' == typeof window.jQuery) {\r\n if (!LazyHelper.doesScriptExists(jqueryScriptUrl)) {\r\n LazyHelper.addScriptFile(jqueryScriptUrl, 'jquery', true);\r\n }\r\n }\r\n\r\n LazyHelper.waitJqueryToLoad(function () {\r\n loadHubsScript();\r\n });\r\n }\r\n };\r\n }\r\n\r\n function loadHubsScript() {\r\n if (!document.getElementById('hubs-script')) {\r\n let ev1 = LazyHelper.addScriptFile('/Frontend-Assembly/SitefinityWebApp/Mvc/Scripts/ResultWidget/hubs.js', 'hubs-script', false);\r\n ev1.onload = function () {\r\n var data = document.getElementsByClassName('js-load-hubs')[0];\r\n\r\n loadHubsKendoComponenets(\r\n data.getAttribute('data-numberOfItems'),\r\n data.getAttribute('data-strGuid'),\r\n data.getAttribute('data-kendoCore'),\r\n data.getAttribute('data-serviceUrl'),\r\n data.getAttribute('data-initialNumberOfItems'),\r\n data.getAttribute('data-culture'),\r\n data.getAttribute('data-elasticSearchIndexName'),\r\n data.getAttribute('data-conditionalDetailsPageUrlsToJson'),\r\n true\r\n );\r\n }\r\n }\r\n }\r\n\r\n function getScrollFromTopValue() {\r\n let hubs = document.getElementsByClassName('js-load-hubs');\r\n if (hubs.length > 0) {\r\n return hubs[0].getBoundingClientRect().top - 1400;\r\n }\r\n\r\n return 1;\r\n };\r\n });\r\n }\r\n}\r\n\r\nInitHubs.init();"],"names":["LazyHelper","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","getScrollFromTopValue","loadHubs","timeout","setInterval","clearInterval","event","Event","dispatchEvent","removeEventListener","jqueryScriptUrl","jQuery","addScriptFile","getElementById","onload","data","getElementsByClassName","loadHubsKendoComponenets","getAttribute","hubs","getBoundingClientRect","top"],"sourceRoot":""}