{"version":3,"sources":["NewsSearchHSCP.js"],"names":["NewsSearch","newsResultsPerPage","newsExcludeId","newsRootId","newsCurrentResultPage","docType","partialView","newsResultTarget","loadMoreTarget","me","this","InitNewsSearch","_resultsPerPage","_highlightedArticle","_rootId","document","querySelector","addEventListener","e","preventDefault","DoSearch","bind","querySelectorAll","forEach","key","GetSearchResults","then","result","pages","classList","remove","add","innerHTML","htmlResults","GetSearchParams","peopleFilter","nodeListToIds","params","resultsPerPage","rootNode","excludeId","currentResultPage","dateFilterField","people","console","log","searchParams","JSON","stringify","Promise","resolve","reject","fetch","body","method","headers","Accept","response","json","catch","error"],"mappings":"AAAA,IAAIA,WAAa,CACbC,mBAAoB,EACpBC,cAAe,EACfC,WAAY,EACZC,sBAAuB,EAEvBC,QAAS,cACTC,YAAa,kBAEbC,iBAAkB,KAClBC,eAAgB,KAEhBC,GAAIC,KAEJC,eAAgB,SAAUC,EAAiBC,EAAqBC,GAC5DJ,KAAKT,mBAAqBW,EAC1BF,KAAKR,cAAgBW,EACrBH,KAAKP,WAAaW,EAClBJ,KAAKH,iBAAmBQ,SAASC,cAAc,sBAC/CN,KAAKF,eAAiBO,SAASC,cAAc,iBAE7CN,KAAKF,eAAeS,iBAAiB,QAAS,SAAUC,GACpDA,EAAEC,iBAEFT,KAAKU,YACPC,KAAKX,OAEPK,SAASO,iBAAiB,6CAA6CC,QAAQ,SAAUC,GACrFA,EAAIP,iBAAiB,SAAU,SAAUC,GACrCA,EAAEC,iBACFT,KAAKU,YACPC,KAAKX,QACTW,KAAKX,OAEPA,KAAKU,YAGTA,SAAU,WACKV,KAAKe,mBACXC,KACD,SAAUC,GAEFjB,KAAKN,sBAAwBuB,EAAOC,MACpClB,KAAKF,eAAeqB,UAAUC,OAAO,UAErCpB,KAAKF,eAAeqB,UAAUE,IAAI,UAGtCrB,KAAKH,iBAAiByB,UAAYL,EAAOM,YACzCvB,KAAKN,yBACPiB,KAAKX,QAIfwB,gBAAiB,WACb,IAAIC,EAAeC,cAAcrB,SAASO,iBAAiB,mEAEvDe,EAAS,CACTC,eAAgB5B,KAAKT,mBACrBsC,SAAU7B,KAAKP,WACfqC,UAAW9B,KAAKR,cAChBuC,kBAAmB/B,KAAKN,sBACxBC,QAASK,KAAKL,QACdC,YAAaI,KAAKJ,YAClBoC,gBAAiB,mBAGjBC,OAAQR,GAKZ,OAFAS,QAAQC,IAAIR,GAELA,GAGXZ,iBAAkB,WACd,IAAIqB,EAAepC,KAAKwB,kBAGxB,OAFAU,QAAQC,IAAIE,KAAKC,UAAUF,IAEpB,IAAIG,SAAQ,SAAUC,EAASC,GAClCC,MAAM,+CAAgD,CAClDC,KAAMN,KAAKC,UAAUF,GAAeQ,OAAQ,OAAQC,QAAS,CAAEC,OAAU,mBAAoB,eAAgB,sBAE5G9B,MAAK,SAAU+B,GAEZP,EAAQO,EAASC,WAEpBC,OAAMC,IACHhB,QAAQC,IAAI,SAAUe,GACtBT,EAAOS","file":"../NewsSearchHSCP.js","sourcesContent":["var NewsSearch = {\r\n newsResultsPerPage: 9,\r\n newsExcludeId: 0,\r\n newsRootId: 0,\r\n newsCurrentResultPage: 1,\r\n\r\n docType: \"newsArticle\",\r\n partialView: \"NewsResult_Rows\",\r\n\r\n newsResultTarget: null,\r\n loadMoreTarget: null,\r\n\r\n me: this,\r\n\r\n InitNewsSearch: function (_resultsPerPage, _highlightedArticle, _rootId) {\r\n this.newsResultsPerPage = _resultsPerPage;\r\n this.newsExcludeId = _highlightedArticle;\r\n this.newsRootId = _rootId;\r\n this.newsResultTarget = document.querySelector('#nextPageOfResults');\r\n this.loadMoreTarget = document.querySelector('#loadMoreNews');\r\n\r\n this.loadMoreTarget.addEventListener(\"click\", function (e) {\r\n e.preventDefault();\r\n //console.log('load more');\r\n this.DoSearch();\r\n }.bind(this));\r\n\r\n document.querySelectorAll('.search__aggregation input[type=checkbox]').forEach(function (key) {\r\n key.addEventListener(\"change\", function (e) {\r\n e.preventDefault();\r\n this.DoSearch();\r\n }.bind(this));\r\n }.bind(this));\r\n\r\n this.DoSearch();\r\n },\r\n\r\n DoSearch: function () {\r\n let prom = this.GetSearchResults();\r\n prom.then(\r\n function (result) {\r\n //console.log(this);\r\n if (this.newsCurrentResultPage < result.pages) {\r\n this.loadMoreTarget.classList.remove('hidden')\r\n } else {\r\n this.loadMoreTarget.classList.add('hidden')\r\n }\r\n\r\n this.newsResultTarget.innerHTML = result.htmlResults;\r\n this.newsCurrentResultPage++;\r\n }.bind(this) // Bind the parent scope to this\r\n );\r\n },\r\n\r\n GetSearchParams: function () {\r\n var peopleFilter = nodeListToIds(document.querySelectorAll('.search__aggregation input[type=checkbox][data-group=\"people\"]'));\r\n\r\n var params = {\r\n resultsPerPage: this.newsResultsPerPage,\r\n rootNode: this.newsRootId,\r\n excludeId: this.newsExcludeId,\r\n currentResultPage: this.newsCurrentResultPage,\r\n docType: this.docType,\r\n partialView: this.partialView,\r\n dateFilterField: 'displayDateIndex',\r\n\r\n // Facets\r\n people: peopleFilter\r\n };\r\n\r\n console.log(params);\r\n\r\n return params;\r\n },\r\n\r\n GetSearchResults: function () {\r\n let searchParams = this.GetSearchParams();\r\n console.log(JSON.stringify(searchParams));\r\n\r\n return new Promise(function (resolve, reject) {\r\n fetch('/umbraco/surface/NewsSearch/DoNewsSearchView', {\r\n body: JSON.stringify(searchParams), method: 'post', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' },\r\n })\r\n .then(function (response) {\r\n // console.log('response : %o', response.json());\r\n resolve(response.json());\r\n })\r\n .catch(error => {\r\n console.log('Failed', error);\r\n reject(error);\r\n });\r\n });\r\n }\r\n}"]}