{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/ts/Controllers/search.ts","webpack:///./src/ts/apps/Common/helpers/pagination.ts"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","7","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","default","object","property","p","jsonpArray","window","kwsWebpackJsonp","oldJsonpFunction","slice","KWS","$","pagination_1","controllers","search","setupPagination","target","type","page","pagecount","empty","paginationArray","buildPaginationArray","paginationArrayLength","isActive","active","label","appendTo","getParameterByName","url","location","href","replace","results","RegExp","exec","decodeURIComponent","setupViewingResultsCount","activeLink","resultsLength","pageEndNumber","pageStartNumber","activePageNumber","numResults","$pageBegin","$pageEnd","isNaN","text","init","$form","tabValue","toLowerCase","$paginationList","typeOfContent","$loadIndicator","$loadIndicatorCover","trackSearchFilter","dataLayer","clickText","event","prop","removeClass","addClass","on","e","$checkbox","this","contentType","is","siblings","val","load","serialize","$span","find","$resultLi","setTimeout","$pagingLink","closest","resultsContainer","html","scrollTo","top","behavior","preventDefault","split","selectedTab","trigger","attr","firstTab","focus","currentPage","totalPages","pagination","toString","tmpArray","unshift","pop"],"mappings":"aACA,SAAAA,EAAAC,GAQA,IAPA,IAMAC,EAAAC,EANAC,EAAAH,EAAA,GACAI,EAAAJ,EAAA,GACAK,EAAAL,EAAA,GAIAM,EAAA,EAAAC,KACQD,EAAAH,EAAAK,OAAoBF,IAC5BJ,EAAAC,EAAAG,GACAG,EAAAP,IACAK,EAAAG,KAAAD,EAAAP,GAAA,IAEAO,EAAAP,GAAA,EAEA,IAAAD,KAAAG,EACAO,OAAAC,UAAAC,eAAAC,KAAAV,EAAAH,KACAc,EAAAd,GAAAG,EAAAH,IAKA,IAFAe,KAAAhB,GAEAO,EAAAC,QACAD,EAAAU,OAAAV,GAOA,OAHAW,EAAAR,KAAAS,MAAAD,EAAAb,OAGAe,IAEA,SAAAA,IAEA,IADA,IAAAC,EACAf,EAAA,EAAiBA,EAAAY,EAAAV,OAA4BF,IAAA,CAG7C,IAFA,IAAAgB,EAAAJ,EAAAZ,GACAiB,KACAC,EAAA,EAAkBA,EAAAF,EAAAd,OAA2BgB,IAAA,CAC7C,IAAAC,EAAAH,EAAAE,GACA,IAAAf,EAAAgB,KAAAF,MAEAA,IACAL,EAAAQ,OAAApB,IAAA,GACAe,EAAAM,IAAAC,EAAAN,EAAA,KAGA,OAAAD,EAIA,IAAAQ,KAKApB,GACAqB,EAAA,GAGAZ,KAGA,SAAAS,EAAA1B,GAGA,GAAA4B,EAAA5B,GACA,OAAA4B,EAAA5B,GAAA8B,QAGA,IAAAC,EAAAH,EAAA5B,IACAK,EAAAL,EACAgC,KACAF,YAUA,OANAhB,EAAAd,GAAAa,KAAAkB,EAAAD,QAAAC,IAAAD,QAAAJ,GAGAK,EAAAC,KAGAD,EAAAD,QAKAJ,EAAAO,EAAAnB,EAGAY,EAAAQ,EAAAN,EAGAF,EAAAS,EAAA,SAAAL,EAAAM,EAAAC,GACAX,EAAAY,EAAAR,EAAAM,IACA1B,OAAA6B,eAAAT,EAAAM,GAA0CI,cAAAC,IAAAJ,KAK1CX,EAAAgB,EAAA,SAAAZ,GACA,oBAAAa,eAAAC,aACAlC,OAAA6B,eAAAT,EAAAa,OAAAC,aAAwDC,MAAA,WAExDnC,OAAA6B,eAAAT,EAAA,cAAiDe,YAQjDnB,EAAAoB,EAAA,SAAAD,EAAAE,GAEA,GADA,EAAAA,IAAAF,EAAAnB,EAAAmB,IACA,EAAAE,EAAA,OAAAF,EACA,KAAAE,GAAA,iBAAAF,QAAAG,WAAA,OAAAH,EACA,IAAAI,EAAAvC,OAAAwC,OAAA,MAGA,GAFAxB,EAAAgB,EAAAO,GACAvC,OAAA6B,eAAAU,EAAA,WAAyCT,cAAAK,UACzC,EAAAE,GAAA,iBAAAF,EAAA,QAAAM,KAAAN,EAAAnB,EAAAS,EAAAc,EAAAE,EAAA,SAAAA,GAAgH,OAAAN,EAAAM,IAAqBC,KAAA,KAAAD,IACrI,OAAAF,GAIAvB,EAAA2B,EAAA,SAAAtB,GACA,IAAAM,EAAAN,KAAAiB,WACA,WAA2B,OAAAjB,EAAAuB,SAC3B,WAAiC,OAAAvB,GAEjC,OADAL,EAAAS,EAAAE,EAAA,IAAAA,GACAA,GAIAX,EAAAY,EAAA,SAAAiB,EAAAC,GAAsD,OAAA9C,OAAAC,UAAAC,eAAAC,KAAA0C,EAAAC,IAGtD9B,EAAA+B,EAAA,GAEA,IAAAC,EAAAC,OAAAC,gBAAAD,OAAAC,iBAAA,GACAC,EAAAH,EAAAjD,KAAA2C,KAAAM,GACAA,EAAAjD,KAAAX,EACA4D,IAAAI,QACA,QAAAzD,EAAA,EAAgBA,EAAAqD,EAAAnD,OAAuBF,IAAAP,EAAA4D,EAAArD,IACvC,IAAAU,EAAA8C,EAIA5C,EAAAR,MAAA,OAEAU,uFCtJA,IAGU4C,EAHVC,EAAAtC,EAAA,GACAuC,EAAAvC,EAAA,KAEA,SAAUqC,IAAI,SAAAG,IAAY,SAAAC,GAEtB,SAAAC,EAAyBC,EAAQC,EAAMC,EAAMC,GACzCH,EAAOI,QACPD,EAA0B,MAAbA,GAAkC,aAAbA,GAAyC,IAAbA,EAAmBR,EAAE,eAAeM,EAAI,eAAevE,KAAK,aAAeyE,EAIzI,IAHA,IAAIE,EAAkBT,EAAAU,qBAAqBJ,EAAMC,GAC7CI,EAAwBF,EAAgBnE,OAEnCF,EAAI,EAAGA,EAAIuE,EAAuBvE,IAAK,CAC5C,IAAIwE,EACwBA,EAA5BH,EAAgBrE,GAAGyE,OAAoB,SAAsB,GAC9B,MAA3BJ,EAAgBrE,GAAGkE,KACnBP,EAAE,OAAOU,EAAgBrE,GAAG0E,MAAK,SAASC,SAASX,GAEnDL,EAAE,cAAca,EAAQ,2DAA2DP,EAAI,gBAAgBI,EAAgBrE,GAAGkE,KAAI,qBAAqBC,EAAS,KAAKE,EAAgBrE,GAAG0E,MAAK,aAAaC,SAASX,IAO3N,SAAAY,EAA4B7C,EAAM8C,GACzBA,IAAKA,EAAMvB,OAAOwB,SAASC,MAChChD,EAAOA,EAAKiD,QAAQ,UAAW,QAC/B,IACIC,EADQ,IAAIC,OAAO,OAASnD,EAAO,qBACnBoD,KAAKN,GACzB,OAAKI,EACAA,EAAQ,GACNG,mBAAmBH,EAAQ,GAAGD,QAAQ,MAAO,MAD5B,GADH,KAKzB,SAAAK,EAAkCC,EAAYC,GAC1C,IAIIC,EACAC,EALAC,EAAmBJ,EAAW5F,KAAK,QAAU,GAAK,EAClDiG,EAAaJ,EAAcrF,OAC3B0F,EAAajC,EAAE,kBACfkC,EAAWlC,EAAE,gBAKb4B,EAAcrF,OAAS,GAEvBsF,GADAC,EAA6C,GAA1BH,EAAW5F,KAAK,QAAgB,GAAK,IACnBiG,EAAa,GAGlDF,GADAD,EAAgBE,EAAmBC,IACAA,EAAa,GAGpDG,MAAML,GAAmBG,EAAWG,KAAK,KAAOH,EAAWG,KAAKN,GAChEK,MAAMN,GAAiBK,EAASE,KAAK,KAAOF,EAASE,KAAKP,GAG9C1B,EAAAkC,KAAhB,WACI,IACInB,EADelB,EAAE,yBACEjE,KAAK,OACxBuG,EAAQtC,EAAE,mBACVuC,EAAW,gBACJtB,EAAmB,uBAAsCA,EAAmB,wBACnFsB,EAAWtB,EAAmB,sBAAsBuB,eAExD,IAAIC,EAAkBzC,EAAE,uBACpB0C,EAAgBD,EAAgB1G,KAAK,gBACrC4G,EAAiB3C,EAAE,sBACnB4C,EAAsB5C,EAAE,4BAa5B,SAAA6C,EAA2BT,EAAM9B,GAC7BX,OAAOmD,UAAYnD,OAAOmD,cACb,YAATxC,EACAX,OAAOmD,UAAUrG,MACbsG,UAAaX,EACbY,MAAS,2BAGbrD,OAAOmD,UAAUrG,MACbsG,UAAaX,EACbY,MAAS,6BAyFrB,GA/GAhD,EAAE,wBAAwBiD,KAAK,cAEd,OAAbV,IACAvC,EAAE,oBAAoBkD,YAAY,kBAClClD,EAAE,WAAauC,GAAUY,SAAS,kBAElCnD,EAAE,+BAA+BkD,YAAY,gBAC7ClD,EAAE,4BAA8BuC,GAAUY,SAAS,iBAGvD/C,EAAgBqC,EAAiBC,EAAe,GAiBhD1C,EAAE,QAAQoD,GAAG,SAAU,oBAAqB,SAAUC,GAClD,IAAIC,EAAYtD,EAAEuD,MACdC,EAAcF,EAAUvH,KAAK,eAE7BuH,EAAUG,GAAG,YACbZ,EAAkBS,EAAUI,SAAS,mBAAmBtB,OAAQ,WAEhES,EAAkBS,EAAUI,SAAS,mBAAmBtB,OAAQ,aAGpEQ,EAAoBM,YAAY,gBAChCP,EAAeQ,SAAS,iBAGxBnD,EAAE,uBAAuB2D,IAAIH,GAC7BxD,EAAE,wBAAwB2D,IAAI,GAG9B3D,EAAE,eAAiBwD,GAAaI,KAAK1C,EAAKoB,EAAMuB,YAAa,SAAU9H,GAEnE,IAAI+H,EAAQ9D,EAAE,QAAUjE,EAAO,UAAUgI,KAAK,cAC1CC,EAAYhE,EAAE,QAAUjE,EAAO,UAAUgI,KAAK,gCAElD/D,EAAE,qBAAuBwD,GAAapB,KAAK0B,EAAM/H,KAAK,iBACtDqE,EAAgBqC,EAAiBe,EAAa,GAE9CS,WAAW,WAEPvC,EADkB1B,EAAE,iDACkBgE,GAEtCpB,EAAoBO,SAAS,gBAC7BR,EAAeO,YAAY,kBAC5B,SAKXlD,EAAE,QAAQoD,GAAG,QAAS,kBAAmB,SAAUC,GAC/CT,EAAoBM,YAAY,gBAChCP,EAAeQ,SAAS,iBACxB,IAAIe,EAAclE,EAAEqD,EAAEhD,QAClBmD,EAAcxD,EAAEuD,MAAMY,QAAQ,uBAAuBpI,KAAK,gBAC1DwE,EAAO2D,EAAYnI,KAAK,QACxBqI,EAAmBpE,EAAE,eAAiBwD,GAG1CxD,EAAE,uBAAuB2D,IAAIH,GAC7BxD,EAAE,wBAAwB2D,IAAIpD,GAG9B6D,EAAiB3D,QACjB2D,EAAiBR,KAAK1C,EAAKoB,EAAMuB,YAAa,SAAS9H,GACnDqI,EAAiBC,KAAKtI,GACtB,IAAI+H,EAAQM,EAAiBL,KAAK,cAC9BC,EAAYI,EAAiBL,KAAK,gCAEtCpE,OAAO2E,UACHC,IAAK,EACLC,SAAU,WAGdpE,EAAgBqC,EAAiBe,EAAajD,EAAMuD,EAAM/H,KAAK,cAE/DkI,WAAW,WACPvC,EAAyBwC,EAAaF,GACtCpB,EAAoBO,SAAS,gBAC7BR,EAAeO,YAAY,kBAC5B,OAGPG,EAAEoB,mBAGNzE,EAAE,WAAWoD,GAAG,QAAS,WACrBhD,EAAgBqC,EAAiBzC,EAAEuD,MAAMxH,KAAK,UAAU2I,MAAM,KAAK,GAAI,EAAG1E,EAAEA,EAAEuD,MAAMxH,KAAK,WAAWgI,KAAK,cAAchI,KAAK,cAC5HkI,WAAW,WAGPvC,EAFkB1B,EAAE,iDACJA,EAAE,0CAEnB,OAKFA,EAAE,0BAA0BzD,QAAWyD,EAAE,8BAA8B+D,KAAK,wBAAwBxH,QAKlG,GAAIyD,EAAE,0BAA0BzD,OAAQ,CAC3C,IAAIoI,EAAc3E,EAAE,0BACpB2E,EAAYC,QAAQ,SACpB5E,EAAE2E,EAAYE,KAAK,gBAAgB1B,SAAS,qBARiE,CAC7G,IAAI2B,EAAW9E,EAAE,8BAA8B+D,KAAK,WACpDe,EAAS3B,SAAS,kBAClBnD,EAAE8E,EAASD,KAAK,gBAAgB1B,SAAS,gBACzC2B,EAASF,QAAQ,SAOrB5E,EAAE,oBAAoB+E,SA1LJ,CAAA7E,EAAAC,SAAAD,EAAAC,YAAZ,CAAAJ,EAAAG,cAAAH,EAAAG,iBAAd,CAAUH,WA8LVA,EAAIG,YAAYC,OAAOkC,yFCzLvBvE,EAAA6C,qBAAA,SAAqCqE,EAAaC,GAGjD,IAFA,IAAIC,KAEK7I,EAAI,EAAGA,EAAI4I,EAAY5I,IAC/B6I,EAAWzI,MACVsE,OAAQ1E,EAAI,GAAG8I,WACf5E,KAAMlE,EACNyE,OAAQzE,IAAM2I,IAIhB,GAAIC,EAAa,EAAG,CACnB,IAAIG,KAGAJ,EAAc,IACjBI,EAAWF,EAAWpF,MAAM,EAAG,IACtBrD,MACRsE,MAAO,IACPR,KAAM,KACNO,YAEDsE,EAAS3I,KAAKyI,EAAWA,EAAW3I,OAAS,IAC7C2I,EAAaE,GACHJ,EAAeC,EAAa,IAEtCG,EAAWF,EAAWpF,OAAO,IACpBuF,SACRtE,MAAO,IACPR,KAAM,KACNO,YAEDsE,EAASC,QAAQH,EAAW,IAC5BA,EAAaE,KAGbA,EAAWF,EAAWpF,MAAMkF,EAAc,EAAGA,EAAc,IAClDK,SACRtE,MAAO,IACPR,KAAM,KACNO,YAEDsE,EAASC,QAAQH,EAAWlI,SAC5BoI,EAAS3I,MACRsE,MAAO,IACPR,KAAM,KACNO,YAEDsE,EAAS3I,KAAKyI,EAAWI,OACzBJ,EAAaE,GAIf,OAAOF","file":"/controllers/search.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t7: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \tvar jsonpArray = window[\"kwsWebpackJsonp\"] = window[\"kwsWebpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([21,0]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import * as $ from 'jquery';\r\nimport { buildPaginationArray } from \"../apps/Common/helpers/pagination\";\r\n\r\nnamespace KWS.controllers.search {\r\n \r\n function setupPagination(target, type, page, pagecount?) {\r\n target.empty();\r\n pagecount = (pagecount == null || pagecount == \"undefined\" || pagecount == \"\") ? $(`#js-results-${type} #js-counts`).data('pagecount') : pagecount;\r\n let paginationArray = buildPaginationArray(page, pagecount);\r\n let paginationArrayLength = paginationArray.length; \r\n\r\n for (let i = 0; i < paginationArrayLength; i++) {\r\n let isActive;\r\n paginationArray[i].active ? isActive = \"active\" : isActive = \"\";\r\n if (paginationArray[i].page == null) {\r\n $(`
  • ${paginationArray[i].label}
  • `).appendTo(target);\r\n } else {\r\n $(`
  • ${paginationArray[i].label}
  • `).appendTo(target);\r\n }\r\n }\r\n }\r\n\r\n\r\n //FUNCTION TO GET PARAMETER BY NAME\r\n function getParameterByName(name, url?) {\r\n if (!url) url = window.location.href;\r\n name = name.replace(/[\\[\\]]/g, \"\\\\$&\");\r\n var regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"),\r\n results = regex.exec(url);\r\n if (!results) return null;\r\n if (!results[2]) return '';\r\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\r\n }\r\n\r\n function setupViewingResultsCount(activeLink, resultsLength) {\r\n let activePageNumber = activeLink.data('page') + 1 || 1;\r\n let numResults = resultsLength.length;\r\n let $pageBegin = $('.js-page-begin');\r\n let $pageEnd = $('.js-page-end');\r\n let pageEndNumber;\r\n let pageStartNumber;\r\n\r\n \r\n if (resultsLength.length < 20) {\r\n pageStartNumber = (activeLink.data('page') * 20) + 1 || 1;\r\n pageEndNumber = (pageStartNumber) + (numResults - 1);\r\n } else {\r\n pageEndNumber = activePageNumber * numResults;\r\n pageStartNumber = pageEndNumber - (numResults - 1);\r\n }\r\n\r\n isNaN(pageStartNumber) ? $pageBegin.text(\"0\") : $pageBegin.text(pageStartNumber);\r\n isNaN(pageEndNumber) ? $pageEnd.text(\"0\") : $pageEnd.text(pageEndNumber);\r\n }\r\n\r\n export function init() { \r\n let $searchQuery = $('#FilterCriteria_Query');\r\n let url = $searchQuery.data('url');\r\n let $form = $('#fSearchResults');\r\n let tabValue = \"\";\r\n if (typeof getParameterByName('FilterCriteria.Tab') != undefined && getParameterByName('FilterCriteria.Tab')) {\r\n tabValue = getParameterByName('FilterCriteria.Tab').toLowerCase();\r\n }\r\n let $paginationList = $('.js-pagination-list');\r\n let typeOfContent = $paginationList.data('content-type');\r\n let $loadIndicator = $('.js-load-indicator');\r\n let $loadIndicatorCover = $('.js-load-indicator-cover');\r\n $('input[type=checkbox]').prop('checked', false);\r\n\r\n if (tabValue !== null) {\r\n $('.js-tabs .js-tab').removeClass('state-selected');\r\n $('#toggle-' + tabValue).addClass('state-selected');\r\n\r\n $(\"#products, #support, #pages\").removeClass('state-active');\r\n $(\".js-tab-contents .js-tab-\" + tabValue).addClass('state-active');\r\n }\r\n\r\n setupPagination($paginationList, typeOfContent, 0);\r\n\r\n function trackSearchFilter(text, type) {\r\n window.dataLayer = window.dataLayer || [];\r\n if (type === \"checked\") {\r\n window.dataLayer.push({\r\n 'clickText': text, \r\n 'event': 'search_filter_selected'\r\n }); \r\n } else {\r\n window.dataLayer.push({\r\n 'clickText': text, \r\n 'event': 'search_filter_unselected'\r\n }); \r\n }\r\n }\r\n\r\n $('body').on('change', '.js-search-filter', function (e) {\r\n let $checkbox = $(this);\r\n let contentType = $checkbox.data('contenttype');\r\n\r\n if ($checkbox.is(\":checked\")) {\r\n trackSearchFilter($checkbox.siblings('.checkbox__text').text(), \"checked\");\r\n } else {\r\n trackSearchFilter($checkbox.siblings('.checkbox__text').text(), \"unchecked\");\r\n }\r\n //setup the load indicator to run\r\n $loadIndicatorCover.removeClass('state-hidden');\r\n $loadIndicator.addClass('state-loading');\r\n\r\n // Set the content tab that is being updated and reset page number\r\n $('#FilterCriteria_Tab').val(contentType);\r\n $('#FilterCriteria_Page').val(0);\r\n\r\n // Refresh the contents of this tab\r\n $('#js-results-' + contentType).load(url, $form.serialize(), function (data) { \r\n // Update the page count in the header and on Load More link\r\n let $span = $('
    ' + data + '
    ').find('#js-counts');\r\n let $resultLi = $('
    ' + data + '
    ').find('.js-search-results-list > li');\r\n\r\n $('.js-results-count-' + contentType).text($span.data('totalrecords'));\r\n setupPagination($paginationList, contentType, 0);\r\n\r\n setTimeout(function () {\r\n let $pagingLink = $('.js-pagination-list li.active .js-page-number');\r\n setupViewingResultsCount($pagingLink, $resultLi);\r\n\r\n $loadIndicatorCover.addClass('state-hidden');\r\n $loadIndicator.removeClass('state-loading');\r\n }, 200);\r\n\r\n });\r\n });\r\n\r\n $(\"body\").on('click', '.js-page-number', function (e) {\r\n $loadIndicatorCover.removeClass('state-hidden');\r\n $loadIndicator.addClass('state-loading');\r\n let $pagingLink = $(e.target);\r\n let contentType = $(this).closest('.js-pagination-list').data('content-type');\r\n let page = $pagingLink.data('page');\r\n let resultsContainer = $('#js-results-' + contentType);\r\n\r\n // Set the content tab that is being updated and update page number\r\n $('#FilterCriteria_Tab').val(contentType);\r\n $('#FilterCriteria_Page').val(page);\r\n\r\n // Append results to list\r\n resultsContainer.empty();\r\n resultsContainer.load(url, $form.serialize(), function(data) {\r\n resultsContainer.html(data);\r\n let $span = resultsContainer.find('#js-counts');\r\n let $resultLi = resultsContainer.find('.js-search-results-list > li');\r\n\r\n window.scrollTo({\r\n top: 0,\r\n behavior: 'smooth'\r\n });\r\n\r\n setupPagination($paginationList, contentType, page, $span.data('pagecount'));\r\n\r\n setTimeout(function() {\r\n setupViewingResultsCount($pagingLink, $resultLi);\r\n $loadIndicatorCover.addClass('state-hidden');\r\n $loadIndicator.removeClass('state-loading');\r\n }, 200);\r\n });\r\n\r\n e.preventDefault();\r\n });\r\n\r\n $('.js-tab').on('click', function () {\r\n setupPagination($paginationList, $(this).data('target').split(\"#\")[1], 0, $($(this).data('target')).find('#js-counts').data('pagecount'));\r\n setTimeout(function () {\r\n let $pagingLink = $('.js-pagination-list li.active .js-page-number');\r\n let $resultLi = $('.js-search-results-list:visible > li');\r\n setupViewingResultsCount($pagingLink, $resultLi);\r\n }, 200);\r\n\r\n });\r\n\r\n //make sure at least one tab is set\r\n if (!$('.js-tab.state-selected').length && !$('.tab-list__tab:first-child').find('.js-tab.state-active').length) {\r\n let firstTab = $('.tab-list__tab:first-child').find('.js-tab');\r\n firstTab.addClass('state-selected');\r\n $(firstTab.attr('data-target')).addClass('state-active');\r\n firstTab.trigger('click');\r\n } else if ($('.js-tab.state-selected').length) {\r\n let selectedTab = $('.js-tab.state-selected');\r\n selectedTab.trigger('click');\r\n $(selectedTab.attr('data-target')).addClass('state-active');\r\n }\r\n\r\n $('.js-search-query').focus();\r\n \r\n }\r\n}\r\nKWS.controllers.search.init();\r\n","const MAX_PAGES = 7;\r\n\r\nexport interface IPageCounter {\r\n\tlabel: string,\r\n\tpage: number,\r\n\tactive: boolean\r\n}\r\n\r\nexport function buildPaginationArray(currentPage, totalPages) {\r\n\tlet pagination: IPageCounter[] = [];\r\n\r\n\tfor (let i = 0; i < totalPages; i++) {\r\n\t\tpagination.push({\r\n\t\t\tlabel: (i + 1).toString(),\r\n\t\t\tpage: i,\r\n\t\t\tactive: i === currentPage\r\n\t\t});\r\n\t}\r\n\t// To stop the result set from looking messy, we'll trim the results if there are more than 5 pages\r\n\tif (totalPages > 7) {\r\n\t\tlet tmpArray = [];\r\n\r\n\t\t// If we're near the beginning, show the first 4 results and the last one\r\n\t\tif (currentPage < 4) {\r\n\t\t\ttmpArray = pagination.slice(0, 6);\r\n\t\t\ttmpArray.push({\r\n\t\t\t\tlabel: '\\u2026',\r\n\t\t\t\tpage: null,\r\n\t\t\t\tactive: false\r\n\t\t\t});\r\n\t\t\ttmpArray.push(pagination[pagination.length - 1]);\r\n\t\t\tpagination = tmpArray;\r\n\t\t} else if (currentPage > (totalPages - 4)) {\r\n\t\t\t// If we're near the end, show the first page and the last 4\r\n\t\t\ttmpArray = pagination.slice(-6);\r\n\t\t\ttmpArray.unshift({\r\n\t\t\t\tlabel: '\\u2026',\r\n\t\t\t\tpage: null,\r\n\t\t\t\tactive: false\r\n\t\t\t});\r\n\t\t\ttmpArray.unshift(pagination[0]);\r\n\t\t\tpagination = tmpArray;\r\n\t\t} else {\r\n\t\t\t// If we're in the middle, output the first, last, and the two on either side of the current page\r\n\t\t\ttmpArray = pagination.slice(currentPage - 2, currentPage + 3);\r\n\t\t\ttmpArray.unshift({\r\n\t\t\t\tlabel: '\\u2026',\r\n\t\t\t\tpage: null,\r\n\t\t\t\tactive: false\r\n\t\t\t});\r\n\t\t\ttmpArray.unshift(pagination.shift());\r\n\t\t\ttmpArray.push({\r\n\t\t\t\tlabel: '\\u2026',\r\n\t\t\t\tpage: null,\r\n\t\t\t\tactive: false\r\n\t\t\t});\r\n\t\t\ttmpArray.push(pagination.pop());\r\n\t\t\tpagination = tmpArray;\r\n\t\t}\r\n\t}\r\n\r\n\treturn pagination;\r\n}\r\n"],"sourceRoot":""}