"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); (() => { const los = exports.los; const searchFilterFormElement = document.querySelector('#form--searchFilters'); const searchResultsContainerElement = document.querySelector('#container--searchResults'); const limit = Number.parseInt(document.querySelector('#searchFilter--limit').value, 10); const offsetElement = document.querySelector('#searchFilter--offset'); function renderLots(rawResponseJSON) { const responseJSON = rawResponseJSON; if (responseJSON.lots.length === 0) { // eslint-disable-next-line no-unsanitized/property searchResultsContainerElement.innerHTML = `

There are no ${los.escapedAliases.lots} that meet the search criteria.

`; return; } const resultsTbodyElement = document.createElement('tbody'); for (const lot of responseJSON.lots) { // eslint-disable-next-line no-unsanitized/method resultsTbodyElement.insertAdjacentHTML('beforeend', ` ${cityssm.escapeHTML(lot.lotName ?? '')} ${lot.mapName ? cityssm.escapeHTML(lot.mapName) : '(No Name)'} ${cityssm.escapeHTML(lot.lotType ?? '')} ${lot.lotStatusId ? cityssm.escapeHTML(lot.lotStatus ?? '') : '(No Status)'}
${(lot.lotOccupancyCount ?? 0) > 0 ? 'Currently Occupied' : ''} `); } // eslint-disable-next-line no-unsanitized/property searchResultsContainerElement.innerHTML = `
${los.escapedAliases.Lot} ${los.escapedAliases.Map} ${los.escapedAliases.Lot} Type Status
`; // eslint-disable-next-line no-unsanitized/method searchResultsContainerElement.insertAdjacentHTML('beforeend', los.getSearchResultsPagerHTML(limit, responseJSON.offset, responseJSON.count)); searchResultsContainerElement .querySelector('table') ?.append(resultsTbodyElement); searchResultsContainerElement .querySelector("button[data-page='previous']") ?.addEventListener('click', previousAndGetLots); searchResultsContainerElement .querySelector("button[data-page='next']") ?.addEventListener('click', nextAndGetLots); } function getLots() { // eslint-disable-next-line no-unsanitized/property searchResultsContainerElement.innerHTML = los.getLoadingParagraphHTML(`Loading ${los.escapedAliases.Lots}...`); cityssm.postJSON(`${los.urlPrefix}/lots/doSearchLots`, searchFilterFormElement, renderLots); } function resetOffsetAndGetLots() { offsetElement.value = '0'; getLots(); } function previousAndGetLots() { offsetElement.value = Math.max(Number.parseInt(offsetElement.value, 10) - limit, 0).toString(); getLots(); } function nextAndGetLots() { offsetElement.value = (Number.parseInt(offsetElement.value, 10) + limit).toString(); getLots(); } const filterElements = searchFilterFormElement.querySelectorAll('input, select'); for (const filterElement of filterElements) { filterElement.addEventListener('change', resetOffsetAndGetLots); } searchFilterFormElement.addEventListener('submit', (formEvent) => { formEvent.preventDefault(); }); getLots(); })();