{"version":3,"sources":["SiteSearchNHS.js"],"names":["searchHandleBarsTemplate","itemsPerPage","SearchType","initialSearch","searchParams","filterClicked","versionNo","initHandleBarsHelpers","Handlebars","registerHelper","datetime","format","moment","a","opts","year","inverse","this","fn","b","initSiteSearchHandleBars","hasSearchTerm","source","document","getElementById","innerHTML","compile","GetSearchResults","then","result","html","$","pagination","items","totalResultCount","itemsOnPage","cssStyle","onPageClick","pageNumber","event","DoAjaxSearch","scrollToAnchorOffset","onInit","resultCount","doPagination","keypress","keyCode","which","click","initCharitySiteSearchHandleBars","console","log","initPublicationHandleBars","datepicker","language","range","dateFormat","multipleDatesSeparator","autoClose","view","minView","onSelect","formattedDate","date","inst","length","startString","endString","endOf","val","data","hide","attr","initEventsHandleBars","newsRoot","calendarEl","events","results","each","index","eventItem","push","title","Name","start","EventDate","FullCalendar","Calendar","initialView","render","initNewsHandleBars","initCaseStudyHandleBars","csRoot","clearPublicationSearch","prop","clear","clearNewsSearch","clearSiteSearch","clearCharitySiteSearch","DoAjaxSearchCharity","populatePublicationSearch","fieldsObj","keywords","undefined","dates","startDate","toDate","endDate","selectDate","checkBoxesByValue","publicationType","populateNewsSearch","populateSiteSearch","contentType","audience","health","services","populateCaseStudySearch","populateCharitySiteSearch","arrayOfValues","i","uncheckBoxesByValue","currentPage","$pagination","show","pageNo","selector","orderField","rootNode","Promise","resolve","reject","Cookies","get","JSON","parse","buildSiteSearchParams","rootNodeId","window","error","ajax","url","method","done","fail","filterToArray","collection","Array","j","isEmptyOrSpaces","str","match","resultPage","contentTypeCorM","rnv","dateFilterField","checks","newsType","isNews","checkArray","split","set","stringify"],"mappings":"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","file":"../SiteSearchNHS.js","sourcesContent":["var searchHandleBarsTemplate = null;\r\nvar itemsPerPage = 30;\r\nvar SearchType = \"\";\r\nvar initialSearch = true;\r\nvar searchParams = null;\r\n//var newsRootId = 0;\r\nvar filterClicked = false;\r\nvar versionNo = 2;\r\n\r\nfunction initHandleBarsHelpers() {\r\n Handlebars.registerHelper(\"formatDate\", function (datetime, format) {\r\n if (moment) {\r\n return moment(datetime).format(format);\r\n } else {\r\n return datetime;\r\n }\r\n });\r\n Handlebars.registerHelper('if_1900', function (a, opts) {\r\n var dateObj = moment(a);\r\n if (dateObj.year() === 1900) {\r\n return opts.inverse(this);\r\n } else {\r\n return opts.fn(this);\r\n }\r\n });\r\n Handlebars.registerHelper('if_eq', function (a, b, opts) {\r\n if (a === b) {\r\n return opts.fn(this);\r\n } else {\r\n return opts.inverse(this);\r\n }\r\n });\r\n}\r\n\r\n// Init - Called from the script Utils.AddScript() tag in the template\r\nfunction initSiteSearchHandleBars(hasSearchTerm) {\r\n if (hasSearchTerm === true) {\r\n initialSearch = false; // Prevent a keyword from the query string from being overwritten\r\n }\r\n\r\n SearchType = \"SiteSearch\";\r\n initHandleBarsHelpers();\r\n\r\n // Init handlebars and get the results\r\n var source = document.getElementById(\"searchTemplate\").innerHTML;\r\n searchHandleBarsTemplate = Handlebars.compile(source);\r\n var prom = GetSearchResults(1);\r\n prom.then(\r\n function (result) {\r\n //console.log(\"Search results : %o\", result);\r\n\r\n var html = searchHandleBarsTemplate(result);\r\n $('#search__results').html(html);\r\n\r\n $('#pagination_search').pagination({\r\n items: result.totalResultCount,\r\n itemsOnPage: itemsPerPage,\r\n cssStyle: 'light-theme',\r\n onPageClick: function (pageNumber, event) {\r\n //console.log('page %o, contents : %o', pageNumber, event);\r\n DoAjaxSearch(pageNumber);\r\n scrollToAnchorOffset('#topOfSearch', -120);\r\n },\r\n onInit: function () {\r\n //console.log('Init paging');\r\n var resultCount = 0;\r\n if (result.totalResultCount !== null) {\r\n resultCount = result.totalResultCount;\r\n }\r\n doPagination(resultCount, 1);\r\n }\r\n });\r\n }\r\n );\r\n\r\n $('#searchboxSite').keypress(function (event) {\r\n var keycode = event.keyCode ? event.keyCode : event.which;\r\n if (keycode === '13') {\r\n DoAjaxSearch(1);\r\n }\r\n });\r\n\r\n // Add events for checkboxes\r\n $(\".search__aggregation input[type='checkbox']\").click(function () {\r\n //console.log(\"Checkbox clicked\");\r\n DoAjaxSearch(1);\r\n });\r\n}\r\nfunction initCharitySiteSearchHandleBars(hasSearchTerm) {\r\n if (hasSearchTerm === true) {\r\n initialSearch = false; // Prevent a keyword from the query string from being overwritten\r\n }\r\n\r\n SearchType = \"CharitySiteSearch\";\r\n initHandleBarsHelpers();\r\n\r\n // Init handlebars and get the results\r\n var source = document.getElementById(\"searchTemplate\").innerHTML;\r\n searchHandleBarsTemplate = Handlebars.compile(source);\r\n var prom = GetSearchResults(1);\r\n prom.then(\r\n function (result) {\r\n console.log(\"Search results : %o\", result);\r\n\r\n var html = searchHandleBarsTemplate(result);\r\n $('#search__results').html(html);\r\n\r\n $('#pagination_search').pagination({\r\n items: result.totalResultCount,\r\n itemsOnPage: itemsPerPage,\r\n cssStyle: 'light-theme',\r\n onPageClick: function (pageNumber, event) {\r\n //console.log('page %o, contents : %o', pageNumber, event);\r\n DoAjaxSearch(pageNumber);\r\n scrollToAnchorOffset('#topOfSearch', -120);\r\n },\r\n onInit: function () {\r\n //console.log('Init paging');\r\n var resultCount = 0;\r\n if (result.totalResultCount !== null) {\r\n resultCount = result.totalResultCount;\r\n }\r\n doPagination(resultCount, 1);\r\n }\r\n });\r\n }\r\n );\r\n\r\n $('#searchboxSite').keypress(function (event) {\r\n var keycode = event.keyCode ? event.keyCode : event.which;\r\n if (keycode === '13') {\r\n DoAjaxSearch(1);\r\n }\r\n });\r\n\r\n // Add events for checkboxes\r\n $(\".search__aggregation input[type='checkbox']\").click(function () {\r\n //console.log(\"Checkbox clicked\");\r\n DoAjaxSearch(1);\r\n });\r\n}\r\nfunction initPublicationHandleBars() {\r\n SearchType = \"PublicationSearch\";\r\n initHandleBarsHelpers();\r\n\r\n // Init date range picker\r\n $('#dateRangePicker').datepicker({\r\n language: 'en',\r\n range: true,\r\n dateFormat: 'M yyyy',\r\n multipleDatesSeparator: \" - \",\r\n autoClose: true,\r\n view: \"months\",\r\n minView: \"months\",\r\n onSelect: function (formattedDate, date, inst) {\r\n //console.log('on select : %o, %o, %o', formattedDate, date, inst);\r\n if (date.length > 1) {\r\n //\"YYYYMMDDHHmmssSSS\"\r\n var startString = moment(date[0]).format();\r\n // Only picking month so go to the end of both the days (month) and hours (days)\r\n var endString = moment(date[1]).endOf('month').endOf('day').endOf('hour').endOf('minute').endOf('second').format();\r\n //console.log('Got dates : %o, %o', startString , endString );\r\n\r\n $('#startDate').val(startString);\r\n $('#endDate').val(endString);\r\n\r\n // Fire the search\r\n if (!initialSearch) {\r\n var datepicker = $('#dateRangePicker').datepicker().data('datepicker');\r\n datepicker.hide();\r\n DoAjaxSearch(1);\r\n }\r\n }\r\n }\r\n });\r\n $(\"#dateRangePicker\").attr(\"autocomplete\", \"off\");\r\n\r\n // Init handlebars and get the results\r\n var source = document.getElementById(\"searchTemplate\").innerHTML;\r\n searchHandleBarsTemplate = Handlebars.compile(source);\r\n var rootNode = $('#rootNode').val();\r\n var prom = GetSearchResults(1, rootNode);\r\n prom.then(\r\n function (result) {\r\n console.log(\"Search results : %o\", result);\r\n\r\n var html = searchHandleBarsTemplate(result);\r\n $('#search__results').html(html);\r\n\r\n $('#pagination_search').pagination({\r\n items: result.totalResultCount,\r\n itemsOnPage: itemsPerPage,\r\n cssStyle: 'light-theme',\r\n onPageClick: function (pageNumber, event) {\r\n //console.log('page %o, contents : %o', pageNumber, event);\r\n DoAjaxSearch(pageNumber);\r\n },\r\n onInit: function () {\r\n //console.log('Init paging');\r\n //doPagination(result.results.length, 1);\r\n }\r\n });\r\n }\r\n );\r\n\r\n $('#searchboxSite').keypress(function (event) {\r\n var keycode = event.keyCode ? event.keyCode : event.which;\r\n if (keycode === '13') {\r\n DoAjaxSearch(1);\r\n }\r\n });\r\n\r\n // Add events for checkboxes\r\n $(\".search__aggregation input[type='checkbox']\").click(function () {\r\n DoAjaxSearch(1);\r\n });\r\n}\r\nfunction initEventsHandleBars(newsRoot) {\r\n var calendarEl = document.getElementById('calendar');\r\n var events = [];\r\n\r\n //console.log(\"I am here updated2\");\r\n //newsRootId = newsRoot;\r\n SearchType = \"NewsSearch\";\r\n initHandleBarsHelpers();\r\n\r\n // Init date range picker\r\n $('#dateRangePicker').datepicker({\r\n language: 'en',\r\n range: true,\r\n dateFormat: 'M yyyy',\r\n multipleDatesSeparator: \" - \",\r\n autoClose: true,\r\n view: \"months\",\r\n minView: \"months\",\r\n onSelect: function (formattedDate, date, inst) {\r\n //console.log('on select : %o, %o, %o', formattedDate, date, inst);\r\n if (date.length > 1) {\r\n //\"YYYYMMDDHHmmssSSS\"\r\n var startString = moment(date[0]).format();\r\n // Only picking month so go to the end of both the days (month) and hours (days)\r\n var endString = moment(date[1]).endOf('month').endOf('day').endOf('hour').endOf('minute').endOf('second').format();\r\n //console.log('Got dates : %o, %o', startString , endString );\r\n\r\n $('#startDate').val(startString);\r\n $('#endDate').val(endString);\r\n\r\n // Fire the search\r\n if (!initialSearch) {\r\n var datepicker = $('#dateRangePicker').datepicker().data('datepicker');\r\n datepicker.hide();\r\n DoAjaxSearch(1);\r\n }\r\n }\r\n }\r\n });\r\n $(\"#dateRangePicker\").attr(\"autocomplete\", \"off\");\r\n\r\n // Init handlebars and get the results\r\n var source = document.getElementById(\"searchTemplate\").innerHTML;\r\n searchHandleBarsTemplate = Handlebars.compile(source);\r\n var prom = GetSearchResults(1, newsRoot);\r\n prom.then(\r\n function (result) {\r\n console.log(\"Search results : %o\", result);\r\n\r\n var html = searchHandleBarsTemplate(result);\r\n $('#search__results').html(html);\r\n $(result.results).each(function (index, eventItem) {\r\n events.push({\r\n \"title\": eventItem.Name,\r\n \"start\": eventItem.EventDate\r\n });\r\n });\r\n var calendar = new FullCalendar.Calendar(calendarEl, {\r\n initialView: 'dayGridMonth',\r\n events: events,\r\n });\r\n calendar.render();\r\n\r\n $('#pagination_search').pagination({\r\n items: result.totalResultCount,\r\n itemsOnPage: itemsPerPage,\r\n cssStyle: 'light-theme',\r\n onPageClick: function (pageNumber, event) {\r\n //console.log('page %o, contents : %o', pageNumber, event);\r\n DoAjaxSearch(pageNumber);\r\n },\r\n onInit: function () {\r\n //console.log('Init paging');\r\n //doPagination(result.results.length, 1);\r\n }\r\n });\r\n }\r\n );\r\n\r\n // Catch enter key on search box\r\n $('#searchboxSite').keypress(function (event) {\r\n var keycode = event.keyCode ? event.keyCode : event.which;\r\n if (keycode === '13') {\r\n DoAjaxSearch(1);\r\n }\r\n });\r\n $(\".search__aggregation input[type='checkbox']\").click(function () {\r\n //console.log(\"Checkbox clicked\");\r\n filterClicked = true;\r\n DoAjaxSearch(1);\r\n });\r\n}\r\nfunction initNewsHandleBars(newsRoot) {\r\n //console.log(\"I am here updated2\");\r\n //newsRootId = newsRoot;\r\n SearchType = \"NewsSearch\";\r\n initHandleBarsHelpers();\r\n\r\n // Init date range picker\r\n $('#dateRangePicker').datepicker({\r\n language: 'en',\r\n range: true,\r\n dateFormat: 'M yyyy',\r\n multipleDatesSeparator: \" - \",\r\n autoClose: true,\r\n view: \"months\",\r\n minView: \"months\",\r\n onSelect: function (formattedDate, date, inst) {\r\n //console.log('on select : %o, %o, %o', formattedDate, date, inst);\r\n if (date.length > 1) {\r\n //\"YYYYMMDDHHmmssSSS\"\r\n var startString = moment(date[0]).format();\r\n // Only picking month so go to the end of both the days (month) and hours (days)\r\n var endString = moment(date[1]).endOf('month').endOf('day').endOf('hour').endOf('minute').endOf('second').format();\r\n //console.log('Got dates : %o, %o', startString , endString );\r\n\r\n $('#startDate').val(startString);\r\n $('#endDate').val(endString);\r\n\r\n // Fire the search\r\n if (!initialSearch) {\r\n var datepicker = $('#dateRangePicker').datepicker().data('datepicker');\r\n datepicker.hide();\r\n DoAjaxSearch(1);\r\n }\r\n }\r\n }\r\n });\r\n $(\"#dateRangePicker\").attr(\"autocomplete\", \"off\");\r\n\r\n // Init handlebars and get the results\r\n var source = document.getElementById(\"searchTemplate\").innerHTML;\r\n searchHandleBarsTemplate = Handlebars.compile(source);\r\n var prom = GetSearchResults(1, newsRoot);\r\n prom.then(\r\n function (result) {\r\n console.log(\"Search results : %o\", result);\r\n\r\n var html = searchHandleBarsTemplate(result);\r\n $('#search__results').html(html);\r\n //console.log(\"I am here\");\r\n\r\n $('#pagination_search').pagination({\r\n items: result.totalResultCount,\r\n itemsOnPage: itemsPerPage,\r\n cssStyle: 'light-theme',\r\n onPageClick: function (pageNumber, event) {\r\n //console.log('page %o, contents : %o', pageNumber, event);\r\n DoAjaxSearch(pageNumber);\r\n },\r\n onInit: function () {\r\n //console.log('Init paging');\r\n //doPagination(result.results.length, 1);\r\n }\r\n });\r\n }\r\n );\r\n\r\n // Catch enter key on search box\r\n $('#searchboxSite').keypress(function (event) {\r\n var keycode = event.keyCode ? event.keyCode : event.which;\r\n if (keycode === '13') {\r\n DoAjaxSearch(1);\r\n }\r\n });\r\n $(\".search__aggregation input[type='checkbox']\").click(function () {\r\n //console.log(\"Checkbox clicked\");\r\n filterClicked = true;\r\n DoAjaxSearch(1);\r\n });\r\n}\r\nfunction initCaseStudyHandleBars(csRoot) {\r\n //newsRootId = newsRoot;\r\n SearchType = \"CaseStudySearch\";\r\n initHandleBarsHelpers();\r\n\r\n // Init date range picker\r\n $('#dateRangePicker').datepicker({\r\n language: 'en',\r\n range: true,\r\n dateFormat: 'M yyyy',\r\n multipleDatesSeparator: \" - \",\r\n autoClose: true,\r\n view: \"months\",\r\n minView: \"months\",\r\n onSelect: function (formattedDate, date, inst) {\r\n //console.log('on select : %o, %o, %o', formattedDate, date, inst);\r\n if (date.length > 1) {\r\n //\"YYYYMMDDHHmmssSSS\"\r\n var startString = moment(date[0]).format();\r\n // Only picking month so go to the end of both the days (month) and hours (days)\r\n var endString = moment(date[1]).endOf('month').endOf('day').endOf('hour').endOf('minute').endOf('second').format();\r\n //console.log('Got dates : %o, %o', startString , endString );\r\n\r\n $('#startDate').val(startString);\r\n $('#endDate').val(endString);\r\n\r\n // Fire the search\r\n if (!initialSearch) {\r\n var datepicker = $('#dateRangePicker').datepicker().data('datepicker');\r\n datepicker.hide();\r\n DoAjaxSearch(1);\r\n }\r\n }\r\n }\r\n });\r\n $(\"#dateRangePicker\").attr(\"autocomplete\", \"off\");\r\n\r\n // Init handlebars and get the results\r\n var source = document.getElementById(\"searchTemplate\").innerHTML;\r\n searchHandleBarsTemplate = Handlebars.compile(source);\r\n var prom = GetSearchResults(1, csRoot);\r\n prom.then(\r\n function (result) {\r\n console.log(\"Search results : %o\", result);\r\n\r\n var html = searchHandleBarsTemplate(result);\r\n $('#search__results').html(html);\r\n\r\n $('#pagination_search').pagination({\r\n items: result.totalResultCount,\r\n itemsOnPage: itemsPerPage,\r\n cssStyle: 'light-theme',\r\n onPageClick: function (pageNumber, event) {\r\n //console.log('page %o, contents : %o', pageNumber, event);\r\n DoAjaxSearch(pageNumber);\r\n },\r\n onInit: function () {\r\n //console.log('Init paging');\r\n //doPagination(result.results.length, 1);\r\n }\r\n });\r\n }\r\n );\r\n\r\n // Catch enter key on search box\r\n $('#searchboxSite').keypress(function (event) {\r\n var keycode = event.keyCode ? event.keyCode : event.which;\r\n if (keycode === '13') {\r\n DoAjaxSearch(1);\r\n }\r\n });\r\n $(\".search__aggregation input[type='checkbox']\").click(function () {\r\n //console.log(\"Checkbox clicked\");\r\n filterClicked = true;\r\n DoAjaxSearch(1);\r\n });\r\n}\r\n\r\nfunction clearPublicationSearch() {\r\n $('.search__aggregation input[type=checkbox]').prop('checked', '');\r\n\r\n var datepicker = $('#dateRangePicker').datepicker().data('datepicker');\r\n\r\n datepicker.clear();\r\n $('#startDate').val('');\r\n $('#endDate').val('');\r\n\r\n DoAjaxSearch(1);\r\n}\r\nfunction clearNewsSearch() {\r\n var datepicker = $('#dateRangePicker').datepicker().data('datepicker');\r\n datepicker.clear();\r\n $('#startDate').val('');\r\n $('#endDate').val('');\r\n\r\n DoAjaxSearch(1);\r\n}\r\nfunction clearSiteSearch() {\r\n // Uncheck all the boxes\r\n $('.search__aggregation input[type=checkbox]').prop('checked', '');\r\n\r\n // Recheck the Content type boxes\r\n $('.search__aggregation input[type=checkbox][data-group=\"ContentType\"]').prop('checked', 'checked');\r\n\r\n DoAjaxSearch(1);\r\n}\r\nfunction clearCharitySiteSearch() {\r\n DoAjaxSearchCharity(1);\r\n}\r\n\r\n// The following groups are called by convention using searchType e.g. 'populate' + SearchType + '()'\r\nfunction populatePublicationSearch(fieldsObj) {\r\n //console.log('Populate form from cookie object : %o', fieldsObj);\r\n $('#searchboxSite').val(fieldsObj.keywords);\r\n\r\n if (typeof fieldsObj[\"startDate\"] !== 'undefined' && typeof fieldsObj[\"endDate\"] !== undefined) {\r\n var datepicker = $('#dateRangePicker').datepicker().data('datepicker');\r\n var dates = [moment(fieldsObj.startDate).toDate(), moment(fieldsObj.endDate).toDate()];\r\n //console.log(dates);\r\n datepicker.selectDate(dates);\r\n }\r\n\r\n checkBoxesByValue(fieldsObj.publicationType);\r\n}\r\nfunction populateNewsSearch(fieldsObj) {\r\n //console.log('Populate form from cookie object : %o', fieldsObj);\r\n $('#searchboxSite').val(fieldsObj.keywords);\r\n\r\n if (typeof fieldsObj[\"startDate\"] !== 'undefined' && typeof fieldsObj[\"endDate\"] !== undefined) {\r\n var datepicker = $('#dateRangePicker').datepicker().data('datepicker');\r\n var dates = [moment(fieldsObj.startDate).toDate(), moment(fieldsObj.endDate).toDate()];\r\n //console.log(dates);\r\n datepicker.selectDate(dates);\r\n }\r\n}\r\nfunction populateSiteSearch(fieldsObj) {\r\n //console.log('Populate form from cookie object : %o', fieldsObj);\r\n $('#searchboxSite').val(fieldsObj.keywords);\r\n\r\n // Checked by default so in this case we need to disable all then apply the saved ones\r\n $('input[type=checkbox][data-group=\"ContentType\"]').prop('checked', '');\r\n\r\n //console.log(\"Content type : %o\", fieldsObj.contentType[5]);\r\n if (fieldsObj.contentType[5] === \"gatewayPage standardContentPage homePageCampaign\") {\r\n //console.log(\"Fixed old content type\");\r\n fieldsObj.contentType[5] = \"gatewayPage standardContentPage homePageCampaign charityGatewayPage charityHomepage charityStandardContentPage\";\r\n }\r\n\r\n checkBoxesByValue(fieldsObj.contentType);\r\n checkBoxesByValue(fieldsObj.audience);\r\n checkBoxesByValue(fieldsObj.health);\r\n checkBoxesByValue(fieldsObj.services);\r\n}\r\nfunction populateCaseStudySearch(fieldsObj) {\r\n //console.log('Populate form from cookie object : %o', fieldsObj);\r\n $('#searchboxSite').val(fieldsObj.keywords);\r\n\r\n if (typeof fieldsObj[\"startDate\"] !== 'undefined' && typeof fieldsObj[\"endDate\"] !== undefined) {\r\n var datepicker = $('#dateRangePicker').datepicker().data('datepicker');\r\n var dates = [moment(fieldsObj.startDate).toDate(), moment(fieldsObj.endDate).toDate()];\r\n //console.log(dates);\r\n datepicker.selectDate(dates);\r\n }\r\n}\r\nfunction populateCharitySiteSearch(fieldsObj) {\r\n //console.log('Populate charity site search : %o', fieldsObj);\r\n $('#searchboxSite').val(fieldsObj.keywords);\r\n}\r\n\r\n// Takes an array of values and checks the corresponding boxes\r\nfunction checkBoxesByValue(arrayOfValues) {\r\n if (typeof arrayOfValues !== 'undefined') {\r\n if (arrayOfValues.length > 0) {\r\n for (var i = 0; i < arrayOfValues.length; i++) {\r\n $('input[type=checkbox][value=\"' + arrayOfValues[i] + '\"]').prop('checked', 'checked');\r\n }\r\n }\r\n }\r\n}\r\n// Some boxes are ticked by default and we need to untick\r\nfunction uncheckBoxesByValue(arrayOfValues) {\r\n if (typeof arrayOfValues !== 'undefined') {\r\n if (arrayOfValues.length > 0) {\r\n for (var i = 0; i < arrayOfValues.length; i++) {\r\n $('input[type=checkbox][value=\"' + arrayOfValues[i] + '\"]').prop('checked', 'checked');\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction doPagination(resultCount, currentPage) {\r\n var $pagination = $('#pagination_search');\r\n\r\n //console.log('Page results count : %o' , resultCount);\r\n\r\n if (resultCount !== null && resultCount > itemsPerPage) {\r\n $pagination.pagination('destroy');\r\n $pagination.pagination('updateItems', resultCount);\r\n $pagination.pagination('drawPage', currentPage);\r\n $pagination.show();\r\n } else {\r\n $pagination.hide();\r\n }\r\n}\r\n\r\nfunction DoAjaxSearch(pageNo) {\r\n var prom = GetSearchResults(pageNo);\r\n prom.then(\r\n function (result) {\r\n //console.log(\"Processing ajax results : %o\", result);\r\n\r\n var html = searchHandleBarsTemplate(result);\r\n $('#search__results').html(html);\r\n\r\n doPagination(result.totalResultCount, pageNo);\r\n\r\n // Order by drop down\r\n var selector = '#orderField option[value=' + searchParams.orderField + ']';\r\n $(selector).attr('selected', 'selected');\r\n }\r\n );\r\n}\r\nfunction DoAjaxSearchCharity(pageNo) {\r\n var prom = GetSearchResults(pageNo);\r\n prom.then(\r\n function (result) {\r\n //console.log(\"Processing ajax results : %o\", result);\r\n\r\n var html = searchHandleBarsTemplate(result);\r\n $('#search__results').html(html);\r\n\r\n doPagination(result.totalResultCount, pageNo);\r\n\r\n // Order by drop down\r\n var selector = '#orderField option[value=' + searchParams.orderField + ']';\r\n $(selector).attr('selected', 'selected');\r\n }\r\n );\r\n}\r\n\r\n// Do our ajax call to fetch the results\r\nfunction GetSearchResults(pageNo, rootNode) {\r\n return new Promise(function (resolve, reject) {\r\n //var searchParams = null;\r\n var paramSource = \"\";\r\n\r\n // If we have a cookie use that object to search and populate the form\r\n if (initialSearch && Cookies.get(SearchType)) {\r\n // Get from cookie\r\n paramSource = \"cookie\";\r\n searchParams = JSON.parse(Cookies.get(SearchType));\r\n\r\n if (searchParams.versionNo != versionNo) {\r\n // Remove all the settings\r\n console.log('Clear all checkboxes');\r\n paramSource = \"fields\";\r\n searchParams = buildSiteSearchParams(pageNo, versionNo);\r\n } else {\r\n // default\r\n searchParams.rootNodeId = rootNode;\r\n var fn = window['populate' + SearchType];\r\n if (typeof fn === \"function\") {\r\n fn(searchParams);\r\n } else {\r\n console.error('Missing populate function %o so can\\'t populate form', 'populate' + SearchType);\r\n }\r\n }\r\n } else {\r\n // Default\r\n paramSource = \"fields\";\r\n searchParams = buildSiteSearchParams(pageNo, versionNo);\r\n }\r\n\r\n //console.log('GetSearchResults from %o searchParams : %o', paramSource, searchParams);\r\n initialSearch = false;\r\n $.ajax({\r\n url: \"/Umbraco/Surface/NHSSiteSearch/DoSiteSearchJSON\",\r\n method: 'post',\r\n data: searchParams\r\n }).done(function (result) {\r\n //console.log('done ', result);\r\n resolve(result);\r\n }).fail(function (result) {\r\n console.log('Failed', result);\r\n reject(result);\r\n });\r\n });\r\n}\r\n\r\nfunction filterToArray(collection) {\r\n var result = new Array();\r\n var length = collection.length;\r\n\r\n for (var j = 0; j < length; j++) {\r\n result.push($(collection[j]).val());\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction isEmptyOrSpaces(str) {\r\n if (str === undefined) { return true; }\r\n return str === null || str.match(/^ *$/) !== null;\r\n}\r\n\r\nfunction buildSiteSearchParams(pageNo, versionNo) {\r\n searchParams = {};\r\n searchParams.resultPage = pageNo;\r\n\r\n searchParams.versionNo = 0;\r\n if (versionNo !== '') {\r\n searchParams.versionNo = versionNo;\r\n }\r\n\r\n // Keywords\r\n if ($('#searchboxSite').val() !== '') {\r\n searchParams.keywords = $('#searchboxSite').val();\r\n }\r\n\r\n // content type : \"content\" or \"media\" - (empty = both)\r\n if ($('#searchContentType').val() !== null && $('#searchContentType').val() !== '') {\r\n searchParams.contentTypeCorM = $('#searchContentType').val();\r\n }\r\n\r\n // Root node restriction . e.g. publications only look in the archive folder\r\n var rnv = $('#rootNode').val();\r\n if (rnv !== null && rnv !== '' && rnv !== undefined) {\r\n searchParams.rootNodeId = $('#rootNode').val();\r\n }\r\n\r\n // Date filter target field\r\n if ($('#dateFilterField').val() !== null && $('#dateFilterField').val() !== '') {\r\n searchParams.dateFilterField = $('#dateFilterField').val();\r\n }\r\n\r\n // Results order\r\n if ($('#orderField').val() !== null && $('#orderField').val() !== '') {\r\n searchParams.orderField = $('#orderField').val();\r\n }\r\n\r\n // Services\r\n var checks = $(\"input[type='checkbox']:checked[data-group='Service types']\");\r\n if (checks.length) {\r\n searchParams.services = filterToArray(checks);\r\n }\r\n\r\n // Health topic\r\n checks = $(\"input[type='checkbox']:checked[data-group='Health Topic']\");\r\n if (checks.length) {\r\n searchParams.health = filterToArray(checks);\r\n }\r\n\r\n // Audience\r\n checks = $(\"input[type='checkbox']:checked[data-group='Audience']\");\r\n if (checks.length) {\r\n searchParams.audience = filterToArray(checks);\r\n }\r\n\r\n // Content type\r\n checks = $(\"input[type='checkbox']:checked[data-group='ContentType']\");\r\n if (checks.length) {\r\n searchParams.contentType = filterToArray(checks);\r\n }\r\n\r\n // Publication Types\r\n checks = $(\"input[type='checkbox']:checked[data-group='pubTypes']\");\r\n if (checks.length) {\r\n searchParams.publicationType = filterToArray(checks);\r\n }\r\n\r\n // News types\r\n checks = $(\"input[type='checkbox']:checked[data-group='NewsType']\");\r\n if (checks.length) {\r\n searchParams.newsType = filterToArray(checks);\r\n searchParams.isNews = true;\r\n } else {\r\n searchParams.newsType = [];\r\n searchParams.isNews = true;\r\n }\r\n filterClicked = false;\r\n\r\n // No checkboxes but news type is specified in a hidden field\r\n if (searchParams.newsType.length == 0) {\r\n checks = $(\"#newsTags\").val();\r\n if (checks !== null && checks !== undefined && checks !== 'undefined') {\r\n var checkArray = checks.split(\",\");\r\n\r\n //console.log(\"News checks: %o\", checkArray);\r\n if (checks.length) {\r\n searchParams.newsType = checkArray;\r\n searchParams.isNews = true;\r\n }\r\n }\r\n }\r\n\r\n //console.log()\r\n if (!isEmptyOrSpaces($('#startDate').val()) && !isEmptyOrSpaces($('#endDate').val())) {\r\n searchParams.startDate = $('#startDate').val();\r\n searchParams.endDate = $('#endDate').val();\r\n }\r\n\r\n // Save a cookie\r\n if (SearchType === \"\" || SearchType === \"NewsSearch\") {\r\n console.log('Search type not set so no cookie name available');\r\n } else {\r\n //console.log('Setting %o cookie to %o', SearchType, searchParams);\r\n Cookies.set(SearchType, JSON.stringify(searchParams), {\r\n //expires: 1 - Session cookie\r\n });\r\n }\r\n\r\n //console.log('search params : %o', searchParams);\r\n return searchParams;\r\n}"]}