"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); (() => { const sunrise = exports.sunrise; const searchFilterFormElement = document.querySelector('#form--searchFilters'); const searchResultsContainerElement = document.querySelector('#container--searchResults'); const limitElement = document.querySelector('#searchFilter--limit'); const offsetElement = document.querySelector('#searchFilter--offset'); function renderBurialSites(rawResponseJSON) { const responseJSON = rawResponseJSON; if (responseJSON.burialSites.length === 0) { searchResultsContainerElement.innerHTML = `

There are no burial sites that meet the search criteria.

`; return; } const resultsTbodyElement = document.createElement('tbody'); for (const burialSite of responseJSON.burialSites) { const cemeteryNameHtml = burialSite.cemeteryName === '' ? '(No Name)' : cityssm.escapeHTML(burialSite.cemeteryName ?? ''); // eslint-disable-next-line no-unsanitized/method resultsTbodyElement.insertAdjacentHTML('beforeend', ` ${cityssm.escapeHTML(burialSite.burialSiteName ?? '')} ${burialSite.cemeteryId === null ? '(No Cemetery)' : ` ${cemeteryNameHtml} `} ${cityssm.escapeHTML(burialSite.burialSiteType ?? '')} ${burialSite.burialSiteStatusId === null || burialSite.burialSiteStatusId === undefined ? '(No Status)' : cityssm.escapeHTML(burialSite.burialSiteStatus ?? '')}
${(burialSite.contractCount ?? 0) > 0 ? 'Has Current Contracts' : ''} `); } searchResultsContainerElement.innerHTML = `
Burial Site Cemetery Burial Site Type Status
`; // eslint-disable-next-line no-unsanitized/method searchResultsContainerElement.insertAdjacentHTML('beforeend', sunrise.getSearchResultsPagerHTML(Number.parseInt(limitElement.value, 10), responseJSON.offset, responseJSON.count)); searchResultsContainerElement .querySelector('table') ?.append(resultsTbodyElement); searchResultsContainerElement .querySelector("button[data-page='previous']") ?.addEventListener('click', previousAndGetBurialSites); searchResultsContainerElement .querySelector("button[data-page='next']") ?.addEventListener('click', nextAndGetBurialSites); } function getBurialSites() { // eslint-disable-next-line no-unsanitized/property searchResultsContainerElement.innerHTML = sunrise.getLoadingParagraphHTML('Loading Burial Sites...'); cityssm.postJSON(`${sunrise.urlPrefix}/burialSites/doSearchBurialSites`, searchFilterFormElement, renderBurialSites); } function resetOffsetAndGetBurialSites() { offsetElement.value = '0'; getBurialSites(); } function previousAndGetBurialSites() { offsetElement.value = Math.max(Number.parseInt(offsetElement.value, 10) - Number.parseInt(limitElement.value, 10), 0).toString(); getBurialSites(); } function nextAndGetBurialSites() { offsetElement.value = (Number.parseInt(offsetElement.value, 10) + Number.parseInt(limitElement.value, 10)).toString(); getBurialSites(); } const filterElements = searchFilterFormElement.querySelectorAll('input, select'); for (const filterElement of filterElements) { filterElement.addEventListener('change', resetOffsetAndGetBurialSites); } searchFilterFormElement.addEventListener('submit', (formEvent) => { formEvent.preventDefault(); }); getBurialSites(); })();