{"version":3,"sources":["webpack:///7.1e4e69ef.bundle.js","webpack:///./src/js/components/Pagination.js","webpack:///./src/js/components/people/Search.js","webpack:///./src/modules/templates/search-facet.html"],"names":["webpackJsonp","207","module","exports","__webpack_require__","jQuery","$","_classCallCheck","instance","Constructor","TypeError","_possibleConstructorReturn","self","call","ReferenceError","_inherits","subClass","superClass","prototype","Object","create","constructor","value","enumerable","writable","configurable","setPrototypeOf","__proto__","defineProperty","_createClass","defineProperties","target","props","i","length","descriptor","key","protoProps","staticProps","_component2","obj","__esModule","default","_component","Pagination","el","config","_Component","this","dom","$pagination","$el","find","$prevBtn","$nextBtn","$paginationPages","on","onClickPrevBtn","onClickNextBtn","currentPage","pageCount","range","push","Math","max","min","unshift","totalNumberOfPages","onLoadData","headerElement","extraUrlParams","queryParams","scrollToElement","empty","hide","rangePagination","pageNumber","span","document","createElement","pageNumberText","createTextNode","appendChild","addDotsStyles","addEventListener","onClickPageNumber","classList","add","remove","setInvisibleBtn","setVisibleBtn","append","setAttribute","currentpage","setURLParameters","scrollTo","historyParams","keyword","upcoming","past","clecredit","firmevent","insightsbytype","solution","solutionname","topic","topicname","position","location","experience","letter","sort","people","person","personname","type","insightType","subtype","timerange","timerangefrom","timerangeto","format","area","series","seriesnames","topics","property","updateHistory","param","button","addClass","removeClass","changeCurrentPage","e","parseInt","innerHTML","element","window","top","getScrollPostion","stickyHeaderHeight","height","elementYPostion","getElementYPostion","yPosition","offsetTop","scrollTop","clientTop","offsetParent","Component","271","_interopRequireDefault","_asyncToGenerator","fn","gen","apply","arguments","Promise","resolve","reject","step","arg","info","error","done","then","err","_toConsumableArray","arr","Array","isArray","arr2","from","_extends","assign","source","hasOwnProperty","_forEach2","_forEach","_isArray3","_isArray2","_template3","_template2","_isEmpty2","_searchFacet2","_searchFacet","_debounce2","_Pagination2","_Pagination","Search","initAnimation","initPredictiveSearch","$body","$predictiveKeyword","$predictiveResults","$filters","$subFilterDD","$filterType","$filterSolution","$filterPosition","$filterLocation","$filterExperience","$filterLetters","$filterLetterContainer","$filterLetter","$filterToggle","$filterFacets","$filterFacetsCheckbox","$facetBtn","$accordionList","$clearBtn","$results","$resultsList","$loadTotal","$loadCount","$searchTitle","$viewMode","$searchBox","$itemWrapper","$dropdownFilters","$itemDescription","$footer","$sortDD","$searchBtn","$filterToggleClose","$updateMobileFilter","$searchResultsText","$window","pagesize","updateableResults","isBackxD","facetGroupId","personName","subtypeName","solutionName","topicName","appliedFilters","backFilters","queryParamsOptions","searchName","toggleTextHide","text","toggleTextShow","data","recordsPerPage","list","getUrlParameter","cssClasses","listMode","gridMode","searchDone","noResults","blogSearch","navOpenFilters","accordionOpenTab","initRequest","paginationComponent","selectric","disableOnMobile","nativeOnMobile","isMobile","addLabelsToSelectric","val","trigger","initComponent","onClearClick","bind","onSubFilterChange","onFacetClick","onToggleFilter","onToggleFilterClose","updateResultsMobile","onLetterPressed","onLetterChange","onSortChange","siblings","$tlFilters","TimelineMax","paused","to","autoAlpha","display","animFilters","PredictiveSearch","predictiveEndpoint","isBackButtonAction","isTriggeredByScript","manuallyChanged","pathname","$filterGroup","filterGroup","applyFilter","forEach","fv","prop","checkUrlParams","appliedCheckmarks","subtypes","keywordParam","letterParam","toLowerCase","currentPageParam","sortParam","solutionParam","positionParam","locationParam","experienceParam","replace","category","title","toUpperCase","split","loadData","filter","filterToBeApplied","$filterCategory","$filterValue","attr","$filterId","$checkmark","hasClass","toggleClass","createFacets","filtersDisplayed","facetInfo","createFacet","item","facetTmpl","insertBefore","show","params","getJSON","endpoint","renderResults","catch","console","sendSearchGAEvent","GA_SEARCH_EVENTS","Fail","_ref","regeneratorRuntime","mark","_callee","ListResult","items","_this7","wrap","_context","prev","next","getResults","TotalNumberOfPages","totalResults","TotalResults","CurrentPage","PageSize","results","Results","TypeFilters","Series","loadSelectFilterOptions","Solution","Location","Position","Experience","setPagination","querySelector","content","template","imports","html","numberWithCommas","Success","openActiveAccordions","applyCheckmarks","applyLetter","$itemLinks","handleListItemClick","sessionStorage","getItem","href","Number","behavior","clearStorageNavigation","stop","$filterSelect","dataCategory","dataSeeMoreText","dataSeeLessText","selectOptions","counter","idx","Value","Total","itemLowerCase","Label","viewMoreLink","each","accordion","isTrigered","preventDefault","stopPropagation","$facet","currentTarget","facetVal","updateUrlParams","option","paramsSet","updated","filterItem","join","$currentTarget","$parent","parent","$isActive","children","parentsUntil","last","$filterGroupTest","$filterValueTest","$filterIDTest","applySelectedFilterState","$filterTitle","filterValue","isTabletLandscape","checkmark","keyCode","firstChild","checked","$selectedLetter","newFilter","r","map","u","otherFilters","targetUrl","setItem","pageYOffset","toString","removeItem","614"],"mappings":"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","file":"7.1e4e69ef.bundle.js","sourcesContent":["webpackJsonp([7,53],{\n\n/***/ 207:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(jQuery, $) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _component = __webpack_require__(33);\n\nvar _component2 = _interopRequireDefault(_component);\n\nvar _index = __webpack_require__(139);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Pagination = function (_Component) {\n _inherits(Pagination, _Component);\n\n function Pagination(el, config) {\n _classCallCheck(this, Pagination);\n\n return _possibleConstructorReturn(this, (Pagination.__proto__ || Object.getPrototypeOf(Pagination)).call(this, el, config));\n }\n\n _createClass(Pagination, [{\n key: 'setupDefaults',\n value: function setupDefaults() {\n this.dom = {\n $pagination: this.$el.find('.wh-search-results__pagination'),\n $prevBtn: this.$el.find('.wh-search-results__prev-btn'),\n $nextBtn: this.$el.find('.wh-search-results__next-btn'),\n $paginationPages: this.$el.find('.wh-search-results__pages')\n };\n }\n }, {\n key: 'addListeners',\n value: function addListeners() {\n this.dom.$prevBtn.on('click', this.onClickPrevBtn.bind(this));\n this.dom.$nextBtn.on('click', this.onClickNextBtn.bind(this));\n }\n }, {\n key: 'rangePagination',\n value: function rangePagination(currentPage, pageCount) {\n var delta = 1;\n var range = [];\n\n if (pageCount <= 5) {\n for (var i = 1; i <= pageCount; i++) {\n range.push(i);\n }\n return range;\n }\n\n if (currentPage < 3) {\n for (var _i = 2; _i <= 4; _i++) {\n range.push(_i);\n }\n } else if (currentPage > pageCount - 1) {\n for (var _i2 = currentPage - 3; _i2 <= pageCount - 1; _i2++) {\n range.push(_i2);\n }\n } else if (currentPage > pageCount - 2) {\n for (var _i3 = currentPage - 2; _i3 <= pageCount - 1; _i3++) {\n range.push(_i3);\n }\n } else {\n for (var _i4 = Math.max(2, currentPage - delta); _i4 <= Math.min(pageCount - 1, currentPage + delta); _i4++) {\n range.push(_i4);\n }\n }\n\n if (currentPage - delta > 2) {\n range.unshift('...');\n }\n if (currentPage + delta < pageCount - 1) {\n range.push('...');\n }\n\n range.unshift(1);\n range.push(pageCount);\n\n return range;\n }\n }, {\n key: 'setPagination',\n value: function setPagination(totalNumberOfPages, currentPage, onLoadData, headerElement, extraUrlParams, queryParams) {\n\n if (queryParams) {\n this.config.queryParams = queryParams;\n }\n\n var _dom = this.dom,\n $pagination = _dom.$pagination,\n $paginationPages = _dom.$paginationPages,\n $prevBtn = _dom.$prevBtn,\n $nextBtn = _dom.$nextBtn;\n\n this.onLoadData = onLoadData;\n this.currentPage = currentPage;\n this.scrollToElement = headerElement;\n this.extraUrlParams = extraUrlParams;\n\n $paginationPages.empty();\n\n if (totalNumberOfPages === 1) {\n $pagination.hide();\n return;\n }\n\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = this.rangePagination(currentPage, totalNumberOfPages)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var pageNumber = _step.value;\n\n var span = document.createElement('button');\n var pageNumberText = document.createTextNode(pageNumber);\n span.appendChild(pageNumberText);\n pageNumber === '...' ? this.addDotsStyles(span) : span.addEventListener('click', this.onClickPageNumber.bind(this));\n currentPage === pageNumber ? span.classList.add('active') : span.classList.remove('active');\n currentPage === 1 ? this.setInvisibleBtn($prevBtn) : this.setVisibleBtn($prevBtn);\n currentPage === totalNumberOfPages ? this.setInvisibleBtn($nextBtn) : this.setVisibleBtn($nextBtn);\n $paginationPages.append(span);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n }, {\n key: 'addDotsStyles',\n value: function addDotsStyles(span) {\n span.setAttribute('tabindex', '-1');\n span.classList.add('ellipsis');\n }\n }, {\n key: 'changeCurrentPage',\n value: function changeCurrentPage() {\n this.config.queryParams.currentpage = this.currentPage;\n this.currentPage = this.currentPage;\n this.setURLParameters();\n this.scrollTo(this.scrollToElement);\n this.onLoadData();\n }\n }, {\n key: 'setURLParameters',\n value: function setURLParameters() {\n var historyParams = {};\n if (this.config.queryParams.keyword) {\n historyParams.keyword = this.config.queryParams.keyword;\n }\n\n if (this.config.queryParams.upcoming) {\n historyParams.upcoming = this.config.queryParams.upcoming;\n }\n\n if (this.config.queryParams.past) {\n historyParams.past = this.config.queryParams.past;\n }\n\n if (this.config.queryParams.clecredit) {\n historyParams.clecredit = this.config.queryParams.clecredit;\n }\n\n if (this.config.queryParams.firmevent) {\n historyParams.firmevent = this.config.queryParams.firmevent;\n }\n\n if (this.config.queryParams.insightsbytype) {\n historyParams.insightsbytype = this.config.queryParams.insightsbytype;\n }\n\n if (this.config.queryParams.solution) {\n historyParams.solution = this.config.queryParams.solution;\n }\n\n if (this.config.queryParams.solutionname) {\n historyParams.solution = this.config.queryParams.solutionname;\n }\n\n if (this.config.queryParams.topic) {\n historyParams.topic = this.config.queryParams.topic;\n }\n\n if (this.config.queryParams.topicname) {\n historyParams.topicname = this.config.queryParams.topicname;\n }\n\n if (this.config.queryParams.position) {\n historyParams.position = this.config.queryParams.position;\n }\n\n if (this.config.queryParams.location) {\n historyParams.location = this.config.queryParams.location;\n }\n\n if (this.config.queryParams.experience) {\n historyParams.experience = this.config.queryParams.experience;\n }\n\n if (this.config.queryParams.letter) {\n historyParams.letter = this.config.queryParams.letter;\n }\n\n if (this.config.queryParams.sort) {\n historyParams.sort = this.config.queryParams.sort;\n }\n\n if (this.config.queryParams.people) {\n historyParams.person = this.config.queryParams.people;\n }\n\n if (this.config.queryParams.personname) {\n historyParams.personname = this.config.queryParams.personname;\n }\n\n if (this.config.queryParams.person) {\n historyParams.person = this.config.queryParams.person;\n }\n\n if (this.config.queryParams.type) {\n historyParams['insight-type'] = this.config.queryParams.insightType;\n }\n\n if (this.config.queryParams.subtype) {\n historyParams.subtype = this.config.queryParams.subtype;\n }\n\n if (this.config.queryParams.timerange) {\n historyParams.timerange = this.config.queryParams.timerange;\n }\n\n if (this.config.queryParams.timerangefrom) {\n historyParams.timerangefrom = this.config.queryParams.timerangefrom;\n }\n\n if (this.config.queryParams.timerangeto) {\n historyParams.timerangeto = this.config.queryParams.timerangeto;\n }\n\n if (this.config.queryParams.format) {\n historyParams.format = this.config.queryParams.format;\n }\n\n if (this.config.queryParams.area) {\n historyParams.area = this.config.queryParams.area;\n }\n\n if (this.config.queryParams.series) {\n historyParams.series = this.config.queryParams.series;\n }\n\n if (this.config.queryParams.seriesnames) {\n historyParams.seriesnames = this.config.queryParams.seriesnames;\n }\n\n if (this.config.queryParams.topics) {\n historyParams.topics = this.config.queryParams.topics;\n }\n\n if (this.config.queryParams.currentpage > 1) {\n historyParams.currentpage = this.config.queryParams.currentpage;\n }\n\n for (var property in this.extraUrlParams) {\n if (this.extraUrlParams[property]) {\n historyParams['' + property] = this.extraUrlParams[property];\n }\n }\n\n (0, _index.updateHistory)(jQuery.param(historyParams));\n }\n }, {\n key: 'setVisibleBtn',\n value: function setVisibleBtn(button) {\n button.addClass('visible');\n button.removeClass('no-visible');\n }\n }, {\n key: 'setInvisibleBtn',\n value: function setInvisibleBtn(button) {\n button.addClass('no-visible');\n button.removeClass('visible');\n }\n }, {\n key: 'onClickPrevBtn',\n value: function onClickPrevBtn() {\n this.currentPage--;\n this.changeCurrentPage();\n }\n }, {\n key: 'onClickNextBtn',\n value: function onClickNextBtn() {\n this.currentPage++;\n this.changeCurrentPage();\n }\n }, {\n key: 'onClickPageNumber',\n value: function onClickPageNumber(e) {\n $(e.target).addClass('active');\n this.currentPage = parseInt(e.target.innerHTML);\n this.changeCurrentPage();\n }\n }, {\n key: 'scrollTo',\n value: function scrollTo(element) {\n window.scrollTo({\n top: this.getScrollPostion(element)\n });\n }\n }, {\n key: 'getScrollPostion',\n value: function getScrollPostion(element) {\n var stickyHeaderHeight = $('.wh-sticky-header').height();\n var elementYPostion = this.getElementYPostion(element);\n return stickyHeaderHeight ? elementYPostion - stickyHeaderHeight : elementYPostion;\n }\n }, {\n key: 'getElementYPostion',\n value: function getElementYPostion(element) {\n var yPosition = 0;\n\n while (element) {\n yPosition += element.offsetTop - element.scrollTop + element.clientTop;\n element = element.offsetParent;\n }\n\n return yPosition;\n }\n }]);\n\n return Pagination;\n}(_component2.default);\n\nexports.default = Pagination;\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10), __webpack_require__(10)))\n\n/***/ }),\n\n/***/ 271:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function($, jQuery) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _component = __webpack_require__(33);\n\nvar _component2 = _interopRequireDefault(_component);\n\n__webpack_require__(210);\n\nvar _forEach = __webpack_require__(211);\n\nvar _forEach2 = _interopRequireDefault(_forEach);\n\nvar _isArray2 = __webpack_require__(25);\n\nvar _isArray3 = _interopRequireDefault(_isArray2);\n\nvar _template2 = __webpack_require__(91);\n\nvar _template3 = _interopRequireDefault(_template2);\n\nvar _isEmpty2 = __webpack_require__(208);\n\nvar _isEmpty3 = _interopRequireDefault(_isEmpty2);\n\nvar _searchFacet = __webpack_require__(614);\n\nvar _searchFacet2 = _interopRequireDefault(_searchFacet);\n\nvar _debounce2 = __webpack_require__(206);\n\nvar _debounce3 = _interopRequireDefault(_debounce2);\n\nvar _gsap = __webpack_require__(90);\n\nvar _index = __webpack_require__(139);\n\nvar _Pagination = __webpack_require__(207);\n\nvar _Pagination2 = _interopRequireDefault(_Pagination);\n\nvar _index2 = __webpack_require__(92);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Search = function (_Component) {\n _inherits(Search, _Component);\n\n function Search(el, config) {\n _classCallCheck(this, Search);\n\n var _this = _possibleConstructorReturn(this, (Search.__proto__ || Object.getPrototypeOf(Search)).call(this, el, config));\n\n _this.initAnimation().initPredictiveSearch();\n return _this;\n }\n //\n\n\n _createClass(Search, [{\n key: 'setupDefaults',\n value: function setupDefaults() {\n this.dom = {\n $body: $('body'),\n $predictiveKeyword: this.$el.find('.wh-predictive-search-group__items .keyword'),\n $predictiveResults: this.$el.find('.wh-predictive-search'),\n $filters: this.$el.find('.wh-search-filters'),\n $subFilterDD: this.$el.find('.wh-search-dropdown'),\n $filterType: this.$el.find('.wh-search-filters__type'),\n\n $filterSolution: this.$el.find('#solution'),\n $filterPosition: this.$el.find('#position'),\n $filterLocation: this.$el.find('#location'),\n $filterExperience: this.$el.find('#experience'),\n\n $filterLetters: this.$el.find('.wh-people-search-filters__alphabet'),\n $filterLetterContainer: this.$el.find('.wh-people-search-filters__alphabet li'),\n $filterLetter: this.$el.find('.wh-people-search-filters__alphabet input'),\n\n $filterToggle: this.$el.find('.wh-search__filter-toggle'),\n $filterFacets: this.$el.find('.wh-search-results-filters'),\n $filterFacetsCheckbox: this.$el.find('.wh-accordion-item__checkbox'),\n $facetBtn: this.$el.find('.wh-search-results-filters__facet'),\n $accordionList: this.$el.find('.wh-accordion__list'), //is-1\n\n $clearBtn: this.$el.find('.wh-search-results-filters__clear'),\n $results: this.$el.find('.wh-search-results'),\n $resultsList: this.$el.find('.wh-search-results__content'),\n $loadTotal: this.$el.find('.load-total'),\n $loadCount: this.$el.find('.load-count'),\n $searchTitle: this.$el.find('.wh-search-results__title'),\n\n $viewMode: this.$el.find('.wh-insights-search-results-views__item'),\n $searchBox: this.$el.find('.wh-search-box__field'),\n $itemWrapper: this.$el.find('.wh-insights-search-results-item__wrapper'),\n $dropdownFilters: this.$el.find('.wh-search-filters__dropdowns'),\n $itemDescription: this.$el.find('.wh-insights-search-results-item__description'),\n $footer: this.$el.find('.wh-search-results__footer'),\n $sortDD: this.$el.find('.wh-search-sort-dropdown'),\n $searchBtn: this.$el.find('.wh-search-box__button'),\n $filterToggleClose: this.$el.find('.wh-accordion-filters-mobile__close'),\n $pagination: this.$el.find('.wh-search-results__pagination'),\n $updateMobileFilter: this.$el.find('.wh-accordion-filters__footer-mobile > button'),\n $searchResultsText: $('.wh-generic-content__teaser.wh-global-search__teaser'),\n $window: $(window)\n };\n\n this.pagesize = 30;\n this.updateableResults = true;\n this.isBackxD = false;\n this.dom.$searchResultsText.hide();\n this.facetGroupId = '';\n this.personName = '';\n this.subtypeName = '';\n this.solutionName = '';\n this.topicName = '';\n this.series = [];\n this.appliedFilters = [];\n this.backFilters = [];\n this.queryParamsOptions = ['letter', 'solution', 'position', 'location', 'experience', 'sort'];\n\n this.searchName = 'SearchInsight';\n\n this.toggleTextHide = this.dom.$filterToggle.text();\n this.toggleTextShow = this.dom.$filterToggle.data('alt-text');\n\n this.currentPage = 1;\n\n this.recordsPerPage = this.config.pagesize.list;\n\n this.queryParams = {\n currentpage: this.currentPage,\n pagesize: this.recordsPerPage\n };\n this.queryParams.sort = (0, _index.getUrlParameter)('sort');\n\n this.cssClasses = {\n list: 'wh-search-results',\n listMode: 'wh-search-results--list',\n gridMode: 'wh-search-results--grid',\n searchDone: 'search-done',\n noResults: 'no-results',\n blogSearch: 'wh-insights-search-results--blogs',\n navOpenFilters: 'nav-open-filters',\n accordionOpenTab: 'wh-accordion-item--open'\n };\n\n this.initRequest = true;\n\n if (this.dom.$pagination) {\n this.paginationComponent = new _Pagination2.default(this.dom.$pagination, {\n queryParams: this.queryParams\n });\n }\n\n this.noResults = '

No results

';\n\n this.dom.$sortDD.selectric({\n disableOnMobile: false,\n nativeOnMobile: _index.isMobile\n });\n\n (0, _index.addLabelsToSelectric)();\n\n if (this.queryParams.sort) {\n this.dom.$sortDD.val(this.queryParams.sort).selectric('refresh').trigger('change', 'true');\n }\n\n this.initComponent(); //<--------------------------------1st step\n }\n }, {\n key: 'addListeners',\n value: function addListeners() {\n var _this2 = this;\n\n this.dom.$clearBtn.on('click touchend', this.onClearClick.bind(this));\n this.$el.on('change touch', 'input:checkbox.filter', this.onSubFilterChange.bind(this));\n\n this.dom.$body.on('click touchend', '.wh-search-results-filters__facet', this.onFacetClick.bind(this));\n\n this.dom.$searchTitle.on('click', this.onToggleFilter.bind(this));\n this.dom.$filterToggleClose.on('click touch', this.onToggleFilterClose.bind(this));\n this.dom.$updateMobileFilter.on('click touch', this.updateResultsMobile.bind(this));\n this.dom.$filterLetterContainer.on('keyup', this.onLetterPressed.bind(this));\n this.dom.$filterLetter.on('click', this.onLetterChange.bind(this));\n\n this.dom.$sortDD.on('change', this.onSortChange.bind(this));\n\n window.addEventListener('popstate', function () {\n _this2.dom.$filters.find('input').siblings('.checkmark').removeClass('active');\n\n _this2.dom.$filterFacets.find('.wh-search-results-filters__facet').remove();\n _this2.dom.$searchBox.val('');\n\n _this2.initComponent();\n });\n }\n }, {\n key: 'initAnimation',\n value: function initAnimation() {\n var $tlFilters = new _gsap.TimelineMax({ paused: true });\n\n $tlFilters.to(this.dom.$filters, 0.5, { height: 0, autoAlpha: 0, display: 'none' }, 0);\n\n this.animFilters = $tlFilters;\n\n return this;\n }\n }, {\n key: 'initPredictiveSearch',\n value: function initPredictiveSearch() {\n var _this3 = this;\n\n new this.config.PredictiveSearch(this.$el, {\n predictiveEndpoint: this.config.predictiveEndpoint\n });\n\n //-- Add listeners\n this.$el.on('search:value', function (e, value) {\n // Start the search over and clear all other advanced filters\n _this3.queryParams.keyword = value;\n _this3.isBackButtonAction = false;\n _this3.isTriggeredByScript = false;\n _this3.manuallyChanged = true;\n\n if (value !== '') {\n _this3.dom.$resultsList.empty();\n } else {\n delete _this3.queryParams['keyword'];\n delete _this3.queryParams['group'];\n }\n\n window.location = window.location.pathname + '?keyword=' + _this3.queryParams.keyword;\n }).on('search:setKeyword', function (e, value) {\n if (value !== '') {\n _this3.queryParams['keyword'] = value;\n } else {\n delete _this3.queryParams['keyword'];\n delete _this3.queryParams['group'];\n }\n }).on('search:filter', function (e, data) {\n var $filterGroup = '#' + data.filterGroup;\n\n data.value = (0, _isArray3.default)(data.value) ? data.value : [data.value];\n data.keyword = (0, _isArray3.default)(data.keyword) ? data.keyword : [data.keyword];\n\n // When a filter item in the predictive search has been selected\n // the keyword should not be applied\n if (data.keyword !== '') {\n _this3.dom.$searchBox.val('');\n delete _this3.queryParams['keyword'];\n }\n\n _this3.applyFilter(data.filterGroup, data.value, data.keyword);\n\n data.value.forEach(function (fv, key) {\n _this3.dom.$filters.find($filterGroup).find('option[value=\"' + fv + '\"]').prop('selected', true);\n });\n });\n return this;\n }\n\n // 1st step\n\n }, {\n key: 'initComponent',\n value: function initComponent() {\n this.checkUrlParams();\n }\n\n //second step\n\n }, {\n key: 'checkUrlParams',\n value: function checkUrlParams() {\n this.queryParams = {};\n this.appliedFilters = [];\n this.appliedCheckmarks = [];\n var subtypes = [];\n\n //Simple Params\n\n var keywordParam = (0, _index.getUrlParameter)('keyword') ? (0, _index.getUrlParameter)('keyword') : '';\n var letterParam = (0, _index.getUrlParameter)('letter') ? (0, _index.getUrlParameter)('letter').toLowerCase() : '';\n var currentPageParam = (0, _index.getUrlParameter)('currentpage') ? (0, _index.getUrlParameter)('currentpage').toLowerCase() : '';\n var sortParam = (0, _index.getUrlParameter)('sort') ? (0, _index.getUrlParameter)('sort').toLowerCase() : '';\n\n //Multiple Params\n\n var solutionParam = (0, _index.getUrlParameter)('solution') ? (0, _index.getUrlParameter)('solution').toLowerCase() : '';\n var positionParam = (0, _index.getUrlParameter)('position') ? (0, _index.getUrlParameter)('position').toLowerCase() : '';\n var locationParam = (0, _index.getUrlParameter)('location') ? (0, _index.getUrlParameter)('location').toLowerCase() : '';\n var experienceParam = (0, _index.getUrlParameter)('experience') ? (0, _index.getUrlParameter)('experience').toLowerCase() : '';\n\n //Set Simple Params\n\n if (keywordParam && keywordParam !== 'undefined') {\n this.queryParams['keyword'] = keywordParam.replace('+', '');\n this.dom.$searchBox.val(keywordParam); //Setting searchbox text;\n }\n\n if (currentPageParam) {\n this.queryParams['currentpage'] = currentPageParam;\n } else {\n this.queryParams['currentpage'] = 1;\n }\n\n if (letterParam) {\n this.queryParams['letter'] = letterParam;\n this.appliedFilters.push({\n category: 'letter',\n value: letterParam,\n title: letterParam.toUpperCase()\n });\n }\n\n if (sortParam) {\n this.queryParams['sort'] = sortParam;\n this.appliedFilters.push({\n category: 'sort',\n value: sortParam,\n title: sortParam\n });\n }\n\n //Set Multiple Params\n\n if (solutionParam) {\n this.queryParams['solution'] = solutionParam;\n subtypes = [].concat(_toConsumableArray(subtypes), _toConsumableArray(solutionParam.split('|')));\n }\n\n if (positionParam) {\n this.queryParams['position'] = positionParam;\n subtypes = [].concat(_toConsumableArray(subtypes), _toConsumableArray(positionParam.split('|')));\n }\n\n if (locationParam) {\n this.queryParams['location'] = locationParam;\n subtypes = [].concat(_toConsumableArray(subtypes), _toConsumableArray(locationParam.split('|')));\n }\n\n if (experienceParam) {\n this.queryParams['experience'] = experienceParam;\n subtypes = [].concat(_toConsumableArray(subtypes), _toConsumableArray(experienceParam.split('|')));\n }\n\n this.appliedCheckmarks = subtypes;\n\n this.loadData();\n }\n\n /*\n Do: Add checked status to checkmarks\n How: found the correspondieng filter inside dropdowns.\n Expeted: [\"all\", \"people\", \"news\"]\n */\n\n }, {\n key: 'applyCheckmarks',\n value: function applyCheckmarks() {\n var _this4 = this;\n\n this.dom.$filters.find('input').siblings('.checkmark').removeClass('active');\n this.appliedCheckmarks.forEach(function (filter) {\n if (filter) {\n var filterToBeApplied = _this4.dom.$filters.find('input[id=\"' + filter + '\"]');\n var $filterCategory = filterToBeApplied.data('category');\n var $filterValue = filterToBeApplied.attr('value');\n var $filterId = filterToBeApplied.attr('id');\n var $checkmark = filterToBeApplied.siblings('.checkmark');\n if (!$checkmark.hasClass('active')) $checkmark.toggleClass('active');\n _this4.appliedFilters.push({\n category: $filterCategory,\n value: $filterId,\n title: $filterValue\n });\n }\n });\n\n this.createFacets();\n }\n }, {\n key: 'applyLetter',\n value: function applyLetter(letter) {\n this.dom.$filterLetter.filter('#' + letter).prop('checked', true);\n }\n }, {\n key: 'createFacets',\n value: function createFacets() {\n var _this5 = this;\n\n var filtersDisplayed = this.dom.$filterFacets.find('.wh-search-results-filters__facet');\n\n if (this.appliedFilters.length === 0 || filtersDisplayed.length > 0) {\n filtersDisplayed.remove();\n }\n\n this.appliedFilters.forEach(function (fv, key) {\n if (fv.category !== 'sort') {\n var facetInfo = {\n category: fv.category,\n value: fv.value,\n title: fv.title\n };\n\n _this5.createFacet(facetInfo);\n }\n });\n }\n }, {\n key: 'createFacet',\n value: function createFacet(facetInfo) {\n var item = (0, _template3.default)(_searchFacet2.default)(_extends({}, facetInfo));\n\n $(item).insertBefore(this.dom.$clearBtn);\n }\n }, {\n key: 'getResults',\n value: function getResults() {\n this.dom.$results.show();\n\n this.dom.$results.addClass('loading');\n this.dom.$results.removeClass(this.cssClasses.noResults);\n\n this.queryParams.keyword = this.dom.$searchBox.val();\n\n //Copy queryParams to remove external-subtype w/o affecting original object\n var params = Object.assign({}, this.queryParams);\n\n //by default the service always want this parameter\n if (!params.type) {\n params['type'] = 'insight';\n }\n\n params['pagesize'] = this.pagesize;\n\n return $.getJSON(this.config.endpoint, _extends({}, params));\n }\n\n //3th step\n\n }, {\n key: 'loadData',\n value: function loadData() {\n var _this6 = this;\n\n this.renderResults().catch(function (err) {\n console.error('There was an issue getting your results', err);\n if (_this6.queryParams.keyword) (0, _index.sendSearchGAEvent)(_index2.GA_SEARCH_EVENTS.Fail, _this6.queryParams.keyword, 0);\n });\n }\n\n //4th step\n\n }, {\n key: 'renderResults',\n value: function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n var _this7 = this;\n\n var data, ListResult, items;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return this.getResults();\n\n case 2:\n data = _context.sent;\n ListResult = data.ListResult;\n\n this.totalNumberOfPages = ListResult.TotalNumberOfPages;\n this.totalResults = ListResult.TotalResults;\n this.queryParams.currentpage = ListResult.CurrentPage;\n this.pagesize = ListResult.PageSize ? ListResult.PageSize : this.pagesize;\n this.results = ListResult.Results;\n this.series = ListResult.TypeFilters.Series;\n this.dom.$filters.show();\n this.dom.$results.show();\n\n // Add filter load options here\n\n this.loadSelectFilterOptions(ListResult.TypeFilters.Solution, this.dom.$filterSolution);\n this.loadSelectFilterOptions(ListResult.TypeFilters.Location, this.dom.$filterLocation);\n this.loadSelectFilterOptions(ListResult.TypeFilters.Position, this.dom.$filterPosition);\n this.loadSelectFilterOptions(ListResult.TypeFilters.Experience, this.dom.$filterExperience);\n\n this.dom.$body.addClass(this.cssClasses.searchDone);\n\n items = '';\n\n\n this.totalNumberOfPages > 1 ? this.dom.$footer.show() : this.dom.$footer.hide();\n\n if (this.totalResults > 0) {\n this.dom.$pagination.show();\n this.dom.$sortDD.show();\n this.paginationComponent.setPagination(this.totalNumberOfPages, this.queryParams.currentpage, this.checkUrlParams.bind(this), document.querySelector('.wh-search-results__wrapper'), {}, this.queryParams);\n this.dom.$results.removeClass(this.cssClasses.blogSearch);\n this.results.forEach(function (content) {\n items += (0, _template3.default)(_this7.config.template, { imports: { forEach: _forEach2.default } })(_extends({}, content));\n });\n this.dom.$resultsList.html(items);\n\n this.dom.$loadTotal.text(this.totalResults);\n this.dom.$results.removeClass(this.cssClasses.noResults);\n this.dom.$results.show();\n this.dom.$searchResultsText.hide();\n } else {\n this.dom.$sortDD.hide();\n this.dom.$results.addClass(this.cssClasses.noResults);\n this.dom.$loadTotal.text('no');\n this.dom.$resultsList.show();\n this.dom.$resultsList.html(this.noResults);\n this.totalResults = 0;\n this.dom.$searchResultsText.show();\n }\n\n if (this.queryParams.keyword) {\n this.dom.$searchTitle.html('Filter ' + (0, _index.numberWithCommas)(this.totalResults) + ' results for ' + this.queryParams.keyword + '');\n if (this.totalResults > 0) {\n (0, _index.sendSearchGAEvent)(_index2.GA_SEARCH_EVENTS.Success, this.queryParams.keyword, this.totalResults);\n } else {\n (0, _index.sendSearchGAEvent)(_index2.GA_SEARCH_EVENTS.Fail, this.queryParams.keyword, this.totalResults);\n }\n } else {\n this.dom.$searchTitle.html('Filter ' + (0, _index.numberWithCommas)(this.totalResults) + ' results');\n }\n\n this.dom.$results.removeClass('loading');\n\n if (this.initRequest) {\n this.initRequest = false;\n } else {\n this.openActiveAccordions();\n }\n\n if (Array.isArray(this.appliedCheckmarks) && this.appliedCheckmarks.length || this.queryParams.letter) {\n this.applyCheckmarks();\n if (this.queryParams.letter) this.applyLetter(this.queryParams.letter);\n } else {\n this.$el.find('.wh-search-results-filters__facet').remove();\n }\n\n this.dom.$itemLinks = this.$el.find('.wh-person__name a');\n\n this.dom.$itemLinks.on('click', this.handleListItemClick);\n\n if (sessionStorage.getItem('people-listing-src-url') === window.location.href) {\n if (sessionStorage.getItem('people-listing-target-url') === sessionStorage.getItem('people-return-url')) {\n window.scrollTo({\n top: Number(sessionStorage.getItem('people-listing-vertical-position')),\n behavior: 'smooth'\n });\n this.clearStorageNavigation();\n }\n } else {\n this.clearStorageNavigation();\n }\n\n case 27:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function renderResults() {\n return _ref.apply(this, arguments);\n }\n\n return renderResults;\n }()\n }, {\n key: 'loadSelectFilterOptions',\n value: function loadSelectFilterOptions(data, $filterSelect) {\n var dataCategory = $filterSelect.prop('id');\n\n if (data && this.facetGroupId !== dataCategory) {\n var dataSeeMoreText = $filterSelect.data('more');\n var dataSeeLessText = $filterSelect.data('less');\n var selectOptions = '',\n counter = 0;\n\n data.forEach(function (item, idx) {\n if ((item.Value !== '' || idx > 0) && item.Total > 0) {\n var itemLowerCase = item.Value.toLowerCase();\n\n selectOptions += '\\n
\\n \\n
\\n ';\n\n counter++;\n }\n });\n\n var viewMoreLink = '\\n \\n ';\n\n $filterSelect.show();\n $filterSelect.find('.wh-accordion-item__content').remove();\n counter > 0 ? $filterSelect.append('
\\n \\n ' + selectOptions + (counter > 6 ? viewMoreLink : '') + '
') : $filterSelect.hide();\n }\n }\n }, {\n key: 'openActiveAccordions',\n value: function openActiveAccordions() {\n this.dom.$accordionList.find('.wh-accordion-item').each(function (i, item) {\n var accordion = $(item);\n if (accordion.hasClass('wh-accordion-item--open')) {\n accordion.find('.wh-accordion-item__content').height('auto');\n }\n });\n }\n }, {\n key: 'onClearClick',\n value: function onClearClick(e) {\n if (!$('.wh-insights-slider').length) {\n window.location = '' + window.location.pathname;\n }\n }\n }, {\n key: 'onFacetClick',\n value: function onFacetClick(e, isTrigered) {\n e.preventDefault();\n e.stopPropagation();\n var $facet = $(e.currentTarget);\n var facetVal = $facet.data('value');\n var title = $facet.text();\n var $facetCategory = $facet.data('category');\n\n if ($facetCategory === 'letter') {\n this.dom.$filterLetters.find('input[value=' + facetVal + ']').prop('checked', false);\n }\n\n this.dom.$filters.find('input[id=\\'' + facetVal + '\\']').siblings('.active').toggleClass('active');\n this.appliedFilters = this.appliedFilters.filter(function (item) {\n return item.value !== facetVal;\n });\n\n $facet.remove();\n\n this.updateUrlParams();\n this.initComponent();\n }\n }, {\n key: 'updateUrlParams',\n value: function updateUrlParams() {\n var _this8 = this;\n\n var historyParams = {};\n\n this.queryParamsOptions.forEach(function (option) {\n var paramsSet = [];\n var updated = false;\n\n _this8.appliedFilters.forEach(function (filterItem) {\n if (filterItem.category === option) {\n paramsSet.push(filterItem.value);\n updated = true;\n }\n });\n\n if (updated) {\n _this8.queryParams[option] = paramsSet.join('|');\n historyParams[option] = paramsSet.join('|');\n }\n });\n\n if (this.queryParams.keyword) {\n historyParams.keyword = this.queryParams.keyword;\n }\n\n (0, _index.updateHistory)(jQuery.param(historyParams));\n }\n }, {\n key: 'onSubFilterChange',\n value: function onSubFilterChange(e, isTrigered) {\n var _this9 = this;\n\n var $currentTarget = void 0,\n $filterValue = void 0;\n e.currentTarget ? $currentTarget = $(e.currentTarget) : $currentTarget = e;\n\n var $parent = $currentTarget.parent();\n var $isActive = $parent.children('.checkmark');\n $filterValue = $currentTarget.attr('id');\n this.facetGroupId = $currentTarget.parentsUntil('.wh-accordion__list').last().attr('id');\n\n var $filterGroupTest = $currentTarget.data('category');\n var $filterValueTest = $currentTarget.attr('value');\n var $filterIDTest = $currentTarget.attr('id');\n\n this.appliedFilters.push({\n category: $filterGroupTest,\n value: $filterIDTest,\n title: $filterValueTest\n });\n\n if ($isActive.hasClass('active')) {\n this.appliedFilters = this.appliedFilters.filter(function (filterItem) {\n return filterItem.value !== $filterIDTest;\n });\n }\n\n this.applySelectedFilterState($currentTarget, $isActive);\n\n var $filterTitle = [];\n\n if (!(0, _isArray3.default)($filterValue)) {\n $filterValue = [$filterValue];\n }\n\n $filterValue.forEach(function (filterValue) {\n $filterTitle.push(_this9.dom.$filters.find('span.checkbox-text[data-value=' + filterValue + ']').text());\n });\n\n if ((0, _index.isTabletLandscape)() && !this.updateResultsMobile) {\n return;\n }\n\n this.updateUrlParams();\n this.initComponent();\n }\n }, {\n key: 'applySelectedFilterState',\n value: function applySelectedFilterState(target, checkmark) {\n target.prop('checked', !target.prop('checked'));\n checkmark.toggleClass('active');\n }\n }, {\n key: 'onToggleFilter',\n value: function onToggleFilter(e) {\n e.preventDefault();\n if (!(0, _index.isTabletLandscape)()) {\n return;\n }\n this.dom.$body.toggleClass(this.cssClasses.navOpenFilters);\n }\n }, {\n key: 'onToggleFilterClose',\n value: function onToggleFilterClose(e) {\n e.preventDefault();\n this.dom.$body.removeClass(this.cssClasses.navOpenFilters);\n }\n }, {\n key: 'updateResultsMobile',\n value: function updateResultsMobile(e) {\n e.preventDefault();\n this.dom.$body.removeClass(this.cssClasses.navOpenFilters);\n }\n }, {\n key: 'onLetterPressed',\n value: function onLetterPressed(e) {\n if (e.keyCode === 13) {\n e.target.firstChild.checked = true;\n this.onLetterChange();\n }\n }\n }, {\n key: 'onLetterChange',\n value: function onLetterChange(e, isTrigered) {\n var $selectedLetter = '';\n var $filterGroupTest = 'letter';\n $selectedLetter = this.dom.$filterLetter.filter(':checked').val();\n\n if (this.$selectedLetter && this.$selectedLetter === $selectedLetter) {\n this.appliedFilters = this.appliedFilters.filter(function (el) {\n return el.category !== $filterGroupTest;\n });\n this.dom.$filterLetter.filter(':checked').prop('checked', false);\n this.$selectedLetter = '';\n } else {\n this.$selectedLetter = $selectedLetter;\n\n var $filterValueTest = $selectedLetter;\n var $filterIDTest = $selectedLetter;\n\n var newFilter = {\n category: $filterGroupTest,\n value: $filterIDTest,\n title: $filterValueTest\n };\n\n var result = this.appliedFilters.filter(function (r) {\n return r.category === $filterGroupTest;\n });\n if (result.length) {\n this.appliedFilters = this.appliedFilters.map(function (u) {\n return u.category !== $filterGroupTest ? u : newFilter;\n });\n } else {\n this.appliedFilters.push(newFilter);\n }\n }\n\n this.updateUrlParams();\n this.checkUrlParams();\n }\n }, {\n key: 'onSortChange',\n value: function onSortChange(e) {\n var otherFilters = this.appliedFilters.filter(function (e) {\n return e.category !== 'sort';\n });\n otherFilters.push({\n category: 'sort',\n value: e.currentTarget.value,\n title: e.currentTarget.value\n });\n this.appliedFilters = otherFilters;\n this.updateUrlParams();\n this.checkUrlParams();\n }\n }, {\n key: 'handleListItemClick',\n value: function handleListItemClick(e) {\n e.preventDefault();\n var targetUrl = e.currentTarget.href;\n sessionStorage.setItem('people-listing-src-url', window.location.href);\n sessionStorage.setItem('people-listing-target-url', targetUrl);\n sessionStorage.setItem('people-listing-vertical-position', window.pageYOffset.toString());\n window.location.href = targetUrl;\n }\n }, {\n key: 'clearStorageNavigation',\n value: function clearStorageNavigation() {\n sessionStorage.removeItem('people-listing-vertical-position');\n sessionStorage.removeItem('people-listing-src-url');\n sessionStorage.removeItem('people-listing-target-url');\n sessionStorage.removeItem('people-return-url');\n }\n }]);\n\n return Search;\n}(_component2.default);\n\nexports.default = Search;\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10), __webpack_require__(10)))\n\n/***/ }),\n\n/***/ 614:\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// 7.1e4e69ef.bundle.js","import Component from 'component';\nimport { updateHistory, getUrlParameter } from '../helpers/index'\n\nclass Pagination extends Component{\n constructor(el, config){\n super(el, config);\n }\n\n setupDefaults(){\n this.dom = {\n $pagination: this.$el.find('.wh-search-results__pagination'),\n $prevBtn: this.$el.find('.wh-search-results__prev-btn'),\n $nextBtn: this.$el.find('.wh-search-results__next-btn'),\n $paginationPages: this.$el.find('.wh-search-results__pages')\n };\n }\n\n addListeners(){\n this.dom.$prevBtn.on('click', ::this.onClickPrevBtn);\n this.dom.$nextBtn.on('click', ::this.onClickNextBtn);\n\n }\n\n rangePagination(currentPage, pageCount) {\n const delta = 1;\n const range = [];\n\n if (pageCount <= 5) {\n for(let i = 1; i <= pageCount; i++) {\n range.push(i);\n }\n return range;\n }\n\n if (currentPage < 3) {\n for(let i = 2; i <= 4; i++) {\n range.push(i);\n }\n } else if (currentPage > pageCount - 1) {\n for(let i = currentPage - 3; i <= pageCount - 1; i++) {\n range.push(i);\n }\n } else if (currentPage > pageCount - 2) {\n for(let i = currentPage - 2; i <= pageCount - 1; i++) {\n range.push(i);\n }\n } else {\n for(\n let i = Math.max(2, currentPage - delta);\n i <= Math.min(pageCount - 1, currentPage + delta);\n i++\n ) {\n range.push(i);\n }\n }\n\n if (currentPage - delta > 2) {\n range.unshift('...');\n }\n if (currentPage + delta < pageCount - 1) {\n range.push('...');\n }\n\n range.unshift(1);\n range.push(pageCount);\n\n return range;\n }\n\n setPagination(totalNumberOfPages, currentPage, onLoadData, headerElement, extraUrlParams, queryParams) {\n\n if (queryParams) {\n this.config.queryParams = queryParams;\n }\n\n const { $pagination, $paginationPages, $prevBtn, $nextBtn } = this.dom\n this.onLoadData = onLoadData;\n this.currentPage = currentPage;\n this.scrollToElement = headerElement;\n this.extraUrlParams = extraUrlParams;\n\n $paginationPages.empty();\n\n if (totalNumberOfPages === 1){\n $pagination.hide();\n return;\n }\n\n for(const pageNumber of this.rangePagination(currentPage, totalNumberOfPages)) {\n const span = document.createElement('button');\n const pageNumberText = document.createTextNode(pageNumber);\n span.appendChild(pageNumberText)\n pageNumber === '...' ? this.addDotsStyles(span) : span.addEventListener('click', ::this.onClickPageNumber)\n currentPage === pageNumber ? span.classList.add('active'): span.classList.remove('active');\n currentPage === 1 ? this.setInvisibleBtn($prevBtn) : this.setVisibleBtn($prevBtn)\n currentPage === totalNumberOfPages ? this.setInvisibleBtn($nextBtn): this.setVisibleBtn($nextBtn)\n $paginationPages.append(span)\n }\n }\n\n addDotsStyles(span) {\n span.setAttribute('tabindex', '-1');\n span.classList.add('ellipsis');\n }\n\n changeCurrentPage() {\n this.config.queryParams.currentpage = this.currentPage;\n this.currentPage = this.currentPage;\n this.setURLParameters();\n this.scrollTo(this.scrollToElement);\n this.onLoadData();\n }\n\n setURLParameters(){\n const historyParams = {};\n if (this.config.queryParams.keyword) {\n historyParams.keyword = this.config.queryParams.keyword\n }\n\n if (this.config.queryParams.upcoming) {\n historyParams.upcoming = this.config.queryParams.upcoming\n }\n\n if (this.config.queryParams.past) {\n historyParams.past = this.config.queryParams.past\n }\n\n if (this.config.queryParams.clecredit) {\n historyParams.clecredit = this.config.queryParams.clecredit\n }\n\n if (this.config.queryParams.firmevent) {\n historyParams.firmevent = this.config.queryParams.firmevent\n }\n\n if (this.config.queryParams.insightsbytype) {\n historyParams.insightsbytype = this.config.queryParams.insightsbytype;\n }\n\n if (this.config.queryParams.solution) {\n historyParams.solution = this.config.queryParams.solution;\n }\n\n if (this.config.queryParams.solutionname) {\n historyParams.solution = this.config.queryParams.solutionname;\n }\n\n if (this.config.queryParams.topic) {\n historyParams.topic = this.config.queryParams.topic;\n }\n\n if (this.config.queryParams.topicname) {\n historyParams.topicname = this.config.queryParams.topicname;\n }\n\n if (this.config.queryParams.position) {\n historyParams.position = this.config.queryParams.position;\n }\n\n if (this.config.queryParams.location) {\n historyParams.location = this.config.queryParams.location;\n }\n\n if (this.config.queryParams.experience) {\n historyParams.experience = this.config.queryParams.experience;\n }\n\n if (this.config.queryParams.letter) {\n historyParams.letter = this.config.queryParams.letter;\n }\n\n if (this.config.queryParams.sort) {\n historyParams.sort = this.config.queryParams.sort;\n }\n\n if (this.config.queryParams.people) {\n historyParams.person = this.config.queryParams.people;\n }\n\n if (this.config.queryParams.personname) {\n historyParams.personname = this.config.queryParams.personname;\n }\n\n if (this.config.queryParams.person) {\n historyParams.person = this.config.queryParams.person;\n }\n\n if (this.config.queryParams.type) {\n historyParams['insight-type'] = this.config.queryParams.insightType;\n }\n\n if (this.config.queryParams.subtype) {\n historyParams.subtype = this.config.queryParams.subtype;\n }\n\n if (this.config.queryParams.timerange) {\n historyParams.timerange = this.config.queryParams.timerange;\n }\n\n if (this.config.queryParams.timerangefrom) {\n historyParams.timerangefrom = this.config.queryParams.timerangefrom;\n }\n\n if (this.config.queryParams.timerangeto) {\n historyParams.timerangeto = this.config.queryParams.timerangeto;\n }\n\n if (this.config.queryParams.format) {\n historyParams.format = this.config.queryParams.format;\n }\n\n if (this.config.queryParams.area) {\n historyParams.area = this.config.queryParams.area;\n }\n\n if (this.config.queryParams.series) {\n historyParams.series = this.config.queryParams.series;\n }\n\n if (this.config.queryParams.seriesnames) {\n historyParams.seriesnames = this.config.queryParams.seriesnames;\n }\n\n if (this.config.queryParams.topics) {\n historyParams.topics = this.config.queryParams.topics;\n }\n\n if (this.config.queryParams.currentpage > 1) {\n historyParams.currentpage = this.config.queryParams.currentpage;\n }\n\n for(const property in this.extraUrlParams) {\n if (this.extraUrlParams[property]) {\n historyParams[`${property}`] = this.extraUrlParams[property];\n }\n }\n\n updateHistory(jQuery.param(historyParams));\n }\n\n setVisibleBtn(button) {\n button.addClass('visible');\n button.removeClass('no-visible')\n }\n\n setInvisibleBtn(button) {\n button.addClass('no-visible');\n button.removeClass('visible')\n }\n\n onClickPrevBtn() {\n this.currentPage--;\n this.changeCurrentPage();\n }\n\n onClickNextBtn() {\n this.currentPage++;\n this.changeCurrentPage();\n }\n\n onClickPageNumber(e) {\n $(e.target).addClass('active');\n this.currentPage = parseInt(e.target.innerHTML);\n this.changeCurrentPage();\n }\n\n scrollTo(element) {\n window.scrollTo({\n top: this.getScrollPostion(element)\n });\n }\n\n getScrollPostion(element){\n const stickyHeaderHeight = $('.wh-sticky-header').height();\n const elementYPostion = this.getElementYPostion(element);\n return stickyHeaderHeight ? elementYPostion - stickyHeaderHeight : elementYPostion;\n }\n\n getElementYPostion(element) {\n let yPosition = 0;\n\n while(element) {\n yPosition += (element.offsetTop - element.scrollTop + element.clientTop);\n element = element.offsetParent;\n }\n\n return yPosition;\n }\n\n}\n\nexport default Pagination;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/components/Pagination.js","import Component from 'component';\nimport 'selectric';\nimport forEach from 'lodash/forEach';\nimport _isArray from 'lodash/isArray';\nimport _template from 'lodash/template';\nimport _isEmpty from 'lodash/isEmpty';\nimport facetTmpl from 'templates/search-facet';\nimport _debounce from 'lodash/debounce';\n\nimport { TweenMax, TimelineMax, Expo } from 'gsap';\nimport {\n addLabelsToSelectric,\n getUrlParameter,\n updateHistory,\n setScrollPosition,\n goToPreviewPosition,\n isMobile,\n isTabletLandscape,\n numberWithCommas\n} from '../../helpers/index.js';\nimport Pagination from '../Pagination';\nimport { sendSearchGAEvent } from '../../helpers/index.js';\nimport { GA_SEARCH_EVENTS } from '../../constants/index.js';\n\nclass Search extends Component {\n constructor(el, config) {\n super(el, config);\n\n this.initAnimation().initPredictiveSearch();\n }\n //\n setupDefaults() {\n this.dom = {\n $body: $('body'),\n $predictiveKeyword: this.$el.find(\n '.wh-predictive-search-group__items .keyword'\n ),\n $predictiveResults: this.$el.find('.wh-predictive-search'),\n $filters: this.$el.find('.wh-search-filters'),\n $subFilterDD: this.$el.find('.wh-search-dropdown'),\n $filterType: this.$el.find('.wh-search-filters__type'),\n\n $filterSolution: this.$el.find('#solution'),\n $filterPosition: this.$el.find('#position'),\n $filterLocation: this.$el.find('#location'),\n $filterExperience: this.$el.find('#experience'),\n\n $filterLetters: this.$el.find('.wh-people-search-filters__alphabet'),\n $filterLetterContainer: this.$el.find(\n '.wh-people-search-filters__alphabet li'\n ),\n $filterLetter: this.$el.find('.wh-people-search-filters__alphabet input'),\n\n $filterToggle: this.$el.find('.wh-search__filter-toggle'),\n $filterFacets: this.$el.find('.wh-search-results-filters'),\n $filterFacetsCheckbox: this.$el.find('.wh-accordion-item__checkbox'),\n $facetBtn: this.$el.find('.wh-search-results-filters__facet'),\n $accordionList: this.$el.find('.wh-accordion__list'), //is-1\n\n $clearBtn: this.$el.find('.wh-search-results-filters__clear'),\n $results: this.$el.find('.wh-search-results'),\n $resultsList: this.$el.find('.wh-search-results__content'),\n $loadTotal: this.$el.find('.load-total'),\n $loadCount: this.$el.find('.load-count'),\n $searchTitle: this.$el.find('.wh-search-results__title'),\n\n $viewMode: this.$el.find('.wh-insights-search-results-views__item'),\n $searchBox: this.$el.find('.wh-search-box__field'),\n $itemWrapper: this.$el.find('.wh-insights-search-results-item__wrapper'),\n $dropdownFilters: this.$el.find('.wh-search-filters__dropdowns'),\n $itemDescription: this.$el.find(\n '.wh-insights-search-results-item__description'\n ),\n $footer: this.$el.find('.wh-search-results__footer'),\n $sortDD: this.$el.find('.wh-search-sort-dropdown'),\n $searchBtn: this.$el.find('.wh-search-box__button'),\n $filterToggleClose: this.$el.find('.wh-accordion-filters-mobile__close'),\n $pagination: this.$el.find('.wh-search-results__pagination'),\n $updateMobileFilter: this.$el.find(\n '.wh-accordion-filters__footer-mobile > button'\n ),\n $searchResultsText: $(\n '.wh-generic-content__teaser.wh-global-search__teaser'\n ),\n $window: $(window)\n };\n\n this.pagesize = 30;\n this.updateableResults = true;\n this.isBackxD = false;\n this.dom.$searchResultsText.hide();\n this.facetGroupId = '';\n this.personName = '';\n this.subtypeName = '';\n this.solutionName = '';\n this.topicName = '';\n this.series = [];\n this.appliedFilters = [];\n this.backFilters = [];\n this.queryParamsOptions = [\n 'letter',\n 'solution',\n 'position',\n 'location',\n 'experience',\n 'sort'\n ];\n\n this.searchName = 'SearchInsight';\n\n this.toggleTextHide = this.dom.$filterToggle.text();\n this.toggleTextShow = this.dom.$filterToggle.data('alt-text');\n\n this.currentPage = 1;\n\n this.recordsPerPage = this.config.pagesize.list;\n\n this.queryParams = {\n currentpage: this.currentPage,\n pagesize: this.recordsPerPage\n };\n this.queryParams.sort = getUrlParameter('sort');\n\n this.cssClasses = {\n list: 'wh-search-results',\n listMode: 'wh-search-results--list',\n gridMode: 'wh-search-results--grid',\n searchDone: 'search-done',\n noResults: 'no-results',\n blogSearch: 'wh-insights-search-results--blogs',\n navOpenFilters: 'nav-open-filters',\n accordionOpenTab: 'wh-accordion-item--open'\n };\n\n this.initRequest = true;\n\n if (this.dom.$pagination) {\n this.paginationComponent = new Pagination(this.dom.$pagination, {\n queryParams: this.queryParams\n });\n }\n\n this.noResults =\n '

No results

';\n\n this.dom.$sortDD.selectric({\n disableOnMobile: false,\n nativeOnMobile: isMobile\n });\n\n addLabelsToSelectric();\n\n if (this.queryParams.sort) {\n this.dom.$sortDD.val(this.queryParams.sort)\n .selectric('refresh')\n .trigger('change', 'true');\n }\n\n this.initComponent(); //<--------------------------------1st step\n }\n\n addListeners() {\n this.dom.$clearBtn.on('click touchend', this.onClearClick.bind(this));\n this.$el.on(\n 'change touch',\n 'input:checkbox.filter',\n this.onSubFilterChange.bind(this)\n );\n\n this.dom.$body.on(\n 'click touchend',\n '.wh-search-results-filters__facet',\n this.onFacetClick.bind(this)\n );\n\n this.dom.$searchTitle.on('click', this.onToggleFilter.bind(this));\n this.dom.$filterToggleClose.on(\n 'click touch',\n this.onToggleFilterClose.bind(this)\n );\n this.dom.$updateMobileFilter.on(\n 'click touch',\n this.updateResultsMobile.bind(this)\n );\n this.dom.$filterLetterContainer.on(\n 'keyup',\n this.onLetterPressed.bind(this)\n );\n this.dom.$filterLetter.on('click', this.onLetterChange.bind(this));\n\n this.dom.$sortDD.on('change', this.onSortChange.bind(this));\n\n window.addEventListener('popstate', () => {\n this.dom.$filters\n .find('input')\n .siblings('.checkmark')\n .removeClass('active');\n\n this.dom.$filterFacets.find('.wh-search-results-filters__facet').remove();\n this.dom.$searchBox.val('');\n\n this.initComponent();\n });\n }\n\n initAnimation() {\n const $tlFilters = new TimelineMax({ paused: true });\n\n $tlFilters.to(\n this.dom.$filters,\n 0.5,\n { height: 0, autoAlpha: 0, display: 'none' },\n 0\n );\n\n this.animFilters = $tlFilters;\n\n return this;\n }\n\n initPredictiveSearch() {\n new this.config.PredictiveSearch(this.$el, {\n predictiveEndpoint: this.config.predictiveEndpoint\n });\n\n //-- Add listeners\n this.$el\n .on('search:value', (e, value) => {\n // Start the search over and clear all other advanced filters\n this.queryParams.keyword = value;\n this.isBackButtonAction = false;\n this.isTriggeredByScript = false;\n this.manuallyChanged = true;\n\n if (value !== '') {\n this.dom.$resultsList.empty();\n } else {\n delete this.queryParams['keyword'];\n delete this.queryParams['group'];\n }\n\n window.location = `${window.location.pathname}?keyword=${this.queryParams.keyword}`;\n })\n .on('search:setKeyword', (e, value) => {\n if (value !== '') {\n this.queryParams['keyword'] = value;\n } else {\n delete this.queryParams['keyword'];\n delete this.queryParams['group'];\n }\n })\n .on('search:filter', (e, data) => {\n const $filterGroup = `#${data.filterGroup}`;\n\n data.value = _isArray(data.value) ? data.value : [data.value];\n data.keyword = _isArray(data.keyword) ? data.keyword : [data.keyword];\n\n // When a filter item in the predictive search has been selected\n // the keyword should not be applied\n if (data.keyword !== '') {\n this.dom.$searchBox.val('');\n delete this.queryParams['keyword'];\n }\n\n this.applyFilter(data.filterGroup, data.value, data.keyword);\n\n data.value.forEach((fv, key) => {\n this.dom.$filters\n .find($filterGroup)\n .find('option[value=\"' + fv + '\"]')\n .prop('selected', true);\n });\n });\n return this;\n }\n\n // 1st step\n initComponent() {\n this.checkUrlParams();\n }\n\n //second step\n checkUrlParams() {\n this.queryParams = {};\n this.appliedFilters = [];\n this.appliedCheckmarks = [];\n let subtypes = [];\n\n //Simple Params\n\n const keywordParam = getUrlParameter('keyword')\n ? getUrlParameter('keyword')\n : '';\n const letterParam = getUrlParameter('letter')\n ? getUrlParameter('letter').toLowerCase()\n : '';\n const currentPageParam = getUrlParameter('currentpage')\n ? getUrlParameter('currentpage').toLowerCase()\n : '';\n const sortParam = getUrlParameter('sort')\n ? getUrlParameter('sort').toLowerCase()\n : '';\n\n //Multiple Params\n\n const solutionParam = getUrlParameter('solution')\n ? getUrlParameter('solution').toLowerCase()\n : '';\n const positionParam = getUrlParameter('position')\n ? getUrlParameter('position').toLowerCase()\n : '';\n const locationParam = getUrlParameter('location')\n ? getUrlParameter('location').toLowerCase()\n : '';\n const experienceParam = getUrlParameter('experience')\n ? getUrlParameter('experience').toLowerCase()\n : '';\n\n //Set Simple Params\n\n if (keywordParam && keywordParam !== 'undefined') {\n this.queryParams['keyword'] = keywordParam.replace('+', '');\n this.dom.$searchBox.val(keywordParam); //Setting searchbox text;\n }\n\n if (currentPageParam) {\n this.queryParams['currentpage'] = currentPageParam;\n } else {\n this.queryParams['currentpage'] = 1;\n }\n\n if (letterParam) {\n this.queryParams['letter'] = letterParam;\n this.appliedFilters.push({\n category: 'letter',\n value: letterParam,\n title: letterParam.toUpperCase()\n });\n }\n\n if (sortParam) {\n this.queryParams['sort'] = sortParam;\n this.appliedFilters.push({\n category: 'sort',\n value: sortParam,\n title: sortParam\n });\n }\n\n //Set Multiple Params\n\n if (solutionParam) {\n this.queryParams['solution'] = solutionParam;\n subtypes = [...subtypes, ...solutionParam.split('|')];\n }\n\n if (positionParam) {\n this.queryParams['position'] = positionParam;\n subtypes = [...subtypes, ...positionParam.split('|')];\n }\n\n if (locationParam) {\n this.queryParams['location'] = locationParam;\n subtypes = [...subtypes, ...locationParam.split('|')];\n }\n\n if (experienceParam) {\n this.queryParams['experience'] = experienceParam;\n subtypes = [...subtypes, ...experienceParam.split('|')];\n }\n\n this.appliedCheckmarks = subtypes;\n\n this.loadData();\n }\n\n /*\n Do: Add checked status to checkmarks\n How: found the correspondieng filter inside dropdowns.\n Expeted: [\"all\", \"people\", \"news\"]\n */\n applyCheckmarks() {\n this.dom.$filters\n .find('input')\n .siblings('.checkmark')\n .removeClass('active');\n this.appliedCheckmarks.forEach(filter => {\n if (filter) {\n const filterToBeApplied = this.dom.$filters.find(\n `input[id=\"${filter}\"]`\n );\n const $filterCategory = filterToBeApplied.data('category');\n const $filterValue = filterToBeApplied.attr('value');\n const $filterId = filterToBeApplied.attr('id');\n const $checkmark = filterToBeApplied.siblings('.checkmark');\n if (!$checkmark.hasClass('active')) $checkmark.toggleClass('active');\n this.appliedFilters.push({\n category: $filterCategory,\n value: $filterId,\n title: $filterValue\n });\n }\n });\n\n this.createFacets();\n }\n\n applyLetter(letter) {\n this.dom.$filterLetter.filter(`#${letter}`).prop('checked', true);\n }\n\n createFacets() {\n const filtersDisplayed = this.dom.$filterFacets.find(\n '.wh-search-results-filters__facet'\n );\n\n if (this.appliedFilters.length === 0 || filtersDisplayed.length > 0) {\n filtersDisplayed.remove();\n }\n\n this.appliedFilters.forEach((fv, key) => {\n if (fv.category !== 'sort') {\n const facetInfo = {\n category: fv.category,\n value: fv.value,\n title: fv.title\n };\n\n this.createFacet(facetInfo);\n }\n\n });\n }\n\n createFacet(facetInfo) {\n const item = _template(facetTmpl)({\n ...facetInfo\n });\n\n $(item).insertBefore(this.dom.$clearBtn);\n }\n\n getResults() {\n this.dom.$results.show();\n\n this.dom.$results.addClass('loading');\n this.dom.$results.removeClass(this.cssClasses.noResults);\n\n this.queryParams.keyword = this.dom.$searchBox.val();\n\n //Copy queryParams to remove external-subtype w/o affecting original object\n const params = Object.assign({}, this.queryParams);\n\n //by default the service always want this parameter\n if (!params.type) {\n params['type'] = 'insight';\n }\n\n params['pagesize'] = this.pagesize;\n\n return $.getJSON(this.config.endpoint, {\n ...params\n });\n }\n\n //3th step\n loadData() {\n this.renderResults().catch(err => {\n console.error('There was an issue getting your results', err);\n if (this.queryParams.keyword)\n sendSearchGAEvent(GA_SEARCH_EVENTS.Fail, this.queryParams.keyword, 0);\n });\n }\n\n //4th step\n async renderResults() {\n const data = await this.getResults();\n\n const { ListResult } = data;\n this.totalNumberOfPages = ListResult.TotalNumberOfPages;\n this.totalResults = ListResult.TotalResults;\n this.queryParams.currentpage = ListResult.CurrentPage;\n this.pagesize = ListResult.PageSize ? ListResult.PageSize : this.pagesize;\n this.results = ListResult.Results;\n this.series = ListResult.TypeFilters.Series;\n this.dom.$filters.show();\n this.dom.$results.show();\n\n // Add filter load options here\n\n this.loadSelectFilterOptions(\n ListResult.TypeFilters.Solution,\n this.dom.$filterSolution\n );\n this.loadSelectFilterOptions(\n ListResult.TypeFilters.Location,\n this.dom.$filterLocation\n );\n this.loadSelectFilterOptions(\n ListResult.TypeFilters.Position,\n this.dom.$filterPosition\n );\n this.loadSelectFilterOptions(\n ListResult.TypeFilters.Experience,\n this.dom.$filterExperience\n );\n\n this.dom.$body.addClass(this.cssClasses.searchDone);\n\n let items = '';\n\n this.totalNumberOfPages > 1\n ? this.dom.$footer.show()\n : this.dom.$footer.hide();\n\n if (this.totalResults > 0) {\n this.dom.$pagination.show();\n this.dom.$sortDD.show();\n this.paginationComponent.setPagination(\n this.totalNumberOfPages,\n this.queryParams.currentpage,\n this.checkUrlParams.bind(this),\n document.querySelector('.wh-search-results__wrapper'),\n {},\n this.queryParams\n );\n this.dom.$results.removeClass(this.cssClasses.blogSearch);\n this.results.forEach(content => {\n items += _template(this.config.template, { imports: { forEach } })({\n ...content\n });\n });\n this.dom.$resultsList.html(items);\n\n this.dom.$loadTotal.text(this.totalResults);\n this.dom.$results.removeClass(this.cssClasses.noResults);\n this.dom.$results.show();\n this.dom.$searchResultsText.hide();\n } else {\n this.dom.$sortDD.hide();\n this.dom.$results.addClass(this.cssClasses.noResults);\n this.dom.$loadTotal.text('no');\n this.dom.$resultsList.show();\n this.dom.$resultsList.html(this.noResults);\n this.totalResults = 0;\n this.dom.$searchResultsText.show();\n }\n\n if (this.queryParams.keyword) {\n this.dom.$searchTitle.html(\n `Filter ${numberWithCommas(\n this.totalResults\n )} results for ${this.queryParams.keyword}`\n );\n if (this.totalResults > 0) {\n sendSearchGAEvent(GA_SEARCH_EVENTS.Success, this.queryParams.keyword, this.totalResults);\n } else {\n sendSearchGAEvent(GA_SEARCH_EVENTS.Fail, this.queryParams.keyword, this.totalResults);\n }\n } else {\n this.dom.$searchTitle.html(\n `Filter ${numberWithCommas(\n this.totalResults\n )} results`\n );\n }\n\n this.dom.$results.removeClass('loading');\n\n if (this.initRequest) {\n this.initRequest = false;\n } else {\n this.openActiveAccordions();\n }\n\n if (\n (Array.isArray(this.appliedCheckmarks) &&\n this.appliedCheckmarks.length) ||\n this.queryParams.letter\n ) {\n this.applyCheckmarks();\n if (this.queryParams.letter) this.applyLetter(this.queryParams.letter);\n } else {\n this.$el.find('.wh-search-results-filters__facet').remove();\n }\n\n this.dom.$itemLinks = this.$el.find('.wh-person__name a');\n\n this.dom.$itemLinks.on(\n 'click',\n this.handleListItemClick\n );\n\n if (sessionStorage.getItem('people-listing-src-url') === window.location.href) {\n if (sessionStorage.getItem('people-listing-target-url') === sessionStorage.getItem('people-return-url')\n ) {\n window.scrollTo({\n top: Number(sessionStorage.getItem('people-listing-vertical-position')),\n behavior: 'smooth'\n });\n this.clearStorageNavigation();\n }\n } else {\n this.clearStorageNavigation();\n }\n }\n\n loadSelectFilterOptions(data, $filterSelect) {\n const dataCategory = $filterSelect.prop('id');\n\n if (data && this.facetGroupId !== dataCategory) {\n const dataSeeMoreText = $filterSelect.data('more');\n const dataSeeLessText = $filterSelect.data('less');\n let selectOptions = '',\n counter = 0;\n\n data.forEach((item, idx) => {\n if ((item.Value !== '' || idx > 0) && item.Total > 0) {\n const itemLowerCase = item.Value.toLowerCase();\n\n selectOptions += `\n
\n \n
\n `;\n\n counter++;\n }\n });\n\n const viewMoreLink = `\n \n `;\n\n $filterSelect.show();\n $filterSelect.find('.wh-accordion-item__content').remove();\n counter > 0\n ? $filterSelect.append(\n `
\n \n ${selectOptions}${counter > 6 ? viewMoreLink : ''\n }
`\n )\n : $filterSelect.hide();\n }\n }\n\n openActiveAccordions() {\n this.dom.$accordionList.find('.wh-accordion-item').each((i, item) => {\n const accordion = $(item);\n if (accordion.hasClass('wh-accordion-item--open')) {\n accordion.find('.wh-accordion-item__content').height('auto');\n }\n });\n }\n\n onClearClick(e) {\n if (!$('.wh-insights-slider').length) {\n window.location = `${window.location.pathname}`;\n }\n }\n\n onFacetClick(e, isTrigered) {\n e.preventDefault();\n e.stopPropagation();\n const $facet = $(e.currentTarget);\n const facetVal = $facet.data('value');\n const title = $facet.text();\n const $facetCategory = $facet.data('category');\n\n if ($facetCategory === 'letter') {\n this.dom.$filterLetters\n .find('input[value=' + facetVal + ']')\n .prop('checked', false);\n }\n\n this.dom.$filters\n .find(`input[id='${facetVal}']`)\n .siblings('.active')\n .toggleClass('active');\n this.appliedFilters = this.appliedFilters.filter(\n item => item.value !== facetVal\n );\n\n $facet.remove();\n\n this.updateUrlParams();\n this.initComponent();\n }\n\n updateUrlParams() {\n const historyParams = {};\n\n this.queryParamsOptions.forEach(option => {\n const paramsSet = [];\n let updated = false;\n\n this.appliedFilters.forEach(filterItem => {\n if (filterItem.category === option) {\n paramsSet.push(filterItem.value);\n updated = true;\n }\n });\n\n if (updated) {\n this.queryParams[option] = paramsSet.join('|');\n historyParams[option] = paramsSet.join('|');\n }\n });\n\n if (this.queryParams.keyword) {\n historyParams.keyword = this.queryParams.keyword;\n }\n\n updateHistory(jQuery.param(historyParams));\n }\n\n onSubFilterChange(e, isTrigered) {\n let $currentTarget, $filterValue;\n e.currentTarget\n ? ($currentTarget = $(e.currentTarget))\n : ($currentTarget = e);\n\n const $parent = $currentTarget.parent();\n const $isActive = $parent.children('.checkmark');\n $filterValue = $currentTarget.attr('id');\n this.facetGroupId = $currentTarget\n .parentsUntil('.wh-accordion__list')\n .last()\n .attr('id');\n\n const $filterGroupTest = $currentTarget.data('category');\n const $filterValueTest = $currentTarget.attr('value');\n const $filterIDTest = $currentTarget.attr('id');\n\n this.appliedFilters.push({\n category: $filterGroupTest,\n value: $filterIDTest,\n title: $filterValueTest\n });\n\n if ($isActive.hasClass('active')) {\n this.appliedFilters = this.appliedFilters.filter(\n filterItem => filterItem.value !== $filterIDTest\n );\n }\n\n this.applySelectedFilterState($currentTarget, $isActive);\n\n const $filterTitle = [];\n\n if (!_isArray($filterValue)) {\n $filterValue = [$filterValue];\n }\n\n $filterValue.forEach(filterValue => {\n $filterTitle.push(\n this.dom.$filters\n .find('span.checkbox-text[data-value=' + filterValue + ']')\n .text()\n );\n });\n\n if (isTabletLandscape() && !this.updateResultsMobile) {\n return;\n }\n\n this.updateUrlParams();\n this.initComponent();\n }\n\n applySelectedFilterState(target, checkmark) {\n target.prop('checked', !target.prop('checked'));\n checkmark.toggleClass('active');\n }\n\n onToggleFilter(e) {\n e.preventDefault();\n if (!isTabletLandscape()) {\n return;\n }\n this.dom.$body.toggleClass(this.cssClasses.navOpenFilters);\n }\n\n onToggleFilterClose(e) {\n e.preventDefault();\n this.dom.$body.removeClass(this.cssClasses.navOpenFilters);\n }\n\n updateResultsMobile(e) {\n e.preventDefault();\n this.dom.$body.removeClass(this.cssClasses.navOpenFilters);\n }\n\n onLetterPressed(e) {\n if (e.keyCode === 13) {\n e.target.firstChild.checked = true;\n this.onLetterChange();\n }\n }\n\n onLetterChange(e, isTrigered) {\n let $selectedLetter = '';\n const $filterGroupTest = 'letter';\n $selectedLetter = this.dom.$filterLetter.filter(':checked').val();\n\n if (this.$selectedLetter && this.$selectedLetter === $selectedLetter) {\n this.appliedFilters = this.appliedFilters.filter(\n el => el.category !== $filterGroupTest\n );\n this.dom.$filterLetter.filter(':checked').prop('checked', false);\n this.$selectedLetter = '';\n } else {\n this.$selectedLetter = $selectedLetter;\n\n const $filterValueTest = $selectedLetter;\n const $filterIDTest = $selectedLetter;\n\n const newFilter = {\n category: $filterGroupTest,\n value: $filterIDTest,\n title: $filterValueTest\n };\n\n const result = this.appliedFilters.filter(\n r => r.category === $filterGroupTest\n );\n if (result.length) {\n this.appliedFilters = this.appliedFilters.map(u =>\n u.category !== $filterGroupTest ? u : newFilter\n );\n } else {\n this.appliedFilters.push(newFilter);\n }\n }\n\n this.updateUrlParams();\n this.checkUrlParams();\n }\n\n onSortChange(e) {\n const otherFilters = this.appliedFilters.filter(e => e.category !== 'sort');\n otherFilters.push({\n category: 'sort',\n value: e.currentTarget.value,\n title: e.currentTarget.value\n });\n this.appliedFilters = otherFilters;\n this.updateUrlParams();\n this.checkUrlParams();\n }\n\n handleListItemClick(e) {\n e.preventDefault();\n const targetUrl = e.currentTarget.href;\n sessionStorage.setItem('people-listing-src-url', window.location.href);\n sessionStorage.setItem('people-listing-target-url', targetUrl);\n sessionStorage.setItem('people-listing-vertical-position', window.pageYOffset.toString());\n window.location.href = targetUrl;\n }\n\n clearStorageNavigation() {\n sessionStorage.removeItem('people-listing-vertical-position');\n sessionStorage.removeItem('people-listing-src-url');\n sessionStorage.removeItem('people-listing-target-url');\n sessionStorage.removeItem('people-return-url');\n }\n}\n\nexport default Search;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/components/people/Search.js","module.exports = \" \";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/modules/templates/search-facet.html\n// module id = 614\n// module chunks = 0 6 7 8 9 10 11"],"sourceRoot":""}