{{#if _source.elements.summary}}
{{_source.elements.summary}}
{{else}}
{{{searchBodyFormat _source.elements.body}}}
{{/if}}
Published on {{searchDateFormat _source.publishedDate}}
{{/each}}
`;
$( document ).ready(function () {
var urlParams = new URLSearchParams( window.location.search ),
searchQuery = urlParams.get( 'search_query' );
if ( !searchQuery ) {
searchQuery = '*';
}
$( '#search-query-text' ).text( searchQuery ).show();
$( '#wpthemeSearchBoxInput' ).val( searchQuery );
OHIO.ODX.actions.applyMultilingualLabels(
'#singleColumn',
'span.multilingual'
);
Handlebars.Helper('searchDateFormat', function ( value ) {
return new Date( value ).toDateString();
});
Handlebars.Helper('searchUrlFormat', function ( value ) {
return (
window.location.origin +
'/wps/portal/gov' +
value.substring( value.indexOf( '/' ) )
);
});
Handlebars.Helper('searchBodyFormat', function ( value ) {
if ( !value ) return '';
var safeValue = value.replace(/<\/?[^>]+(>|$)/g, '');
return safeValue.length > 400
? safeValue.substring(0, 398) + "..."
: safeValue;
});
var compiledTemplate = Handlebars.compile( searchedResultsTemplate );
window.displaySearchPage = function (index) {
var Language = OHIO.ODX.actions.getLanguageByCookie();
var pageSize = 10,
navPageLimit = 5,
navPageLimitOffset = 2;
var fuzzySearchQuery =
searchQuery.replace(/([\(\):])/g, "\\$1") + "~1";
var searchIndex = window.siteId + "." + Language;
var searchQueryES = {
from: index * pageSize,
size: pageSize,
query: {
bool: {
should: [
{
query_string: {
query: fuzzySearchQuery,
// "analyzer": "snowball",
fields: [
"name",
"title",
"elements.summary",
"elements.body",
"description",
],
},
},
{
match: {
keywords: {
query: fuzzySearchQuery,
boost: 4,
},
},
},
],
must_not: [
{ match: { authoringTemplate: "Ad" } },
{
match: {
authoringTemplate: "Long Text Translation",
},
},
{
match: {
authoringTemplate: "Label Translations",
},
},
{ match: { authoringTemplate: "TaxForm" } },
{ match: { authoringTemplate: "application" } },
],
},
},
};
$.ajax({
type: "POST",
contentType: "application/json",
url: "/wps/odx-common/content/search/" + searchIndex,
data: JSON.stringify( searchQueryES ),
dataType: "json",
}).done(function ( data ) {
var totalPages = Math.ceil( data.hits.total.value / pageSize );
var maxIndex = totalPages - 1;
var pageStart = index - navPageLimitOffset,
pageEnd = index + navPageLimitOffset;
if ( maxIndex < navPageLimit ) {
pageStart = 0;
pageEnd = maxIndex;
} else {
if ( maxIndex - index < navPageLimitOffset ) {
pageEnd = maxIndex;
pageStart = maxIndex - (navPageLimit - 1);
}
if ( index < 2 ) {
pageStart = 0;
pageEnd = pageStart + (navPageLimit - 1);
}
}
var pageArray = [];
for (i = pageStart; i <= pageEnd; i++) {
pageArray[i] = {
pageNumber: i + 1,
inactive: i === index ? true : false,
};
}
data.hits.pagination = {
hasLessPages: index >= 1 ? true : false,
hasMorePages: index < maxIndex ? true : false,
prevIndex: index - 1,
nextIndex: index + 1,
pageArray: pageArray,
};
$( '#searchResults' ).html( compiledTemplate( data.hits ) );
var $paginationLinks = $( '.b-pagination .odx-pagination a' );
$paginationLinks.on("click", function ( event ) {
var pageNumber = $( this ).data( 'go-to-page' );
displaySearchPage( pageNumber );
});
$paginationLinks.on("keypress", function ( event ) {
if ( event.key === "Enter" ) {
var pageNumber = $( this ).data( 'go-to-page' );
displaySearchPage( pageNumber );
}
});
$( [document.documentElement, document.body] ).animate(
{
scrollTop: 0,
},
500
);
});
};
//Start at the first page, which has index=0
displaySearchPage(0);
});
var getRootSiteAreas = '2f234854-741f-4952-a046-f0639aaaa5d7';