/* eslint-disable unicorn/prefer-module */ import type * as recordTypes from "../types/recordTypes"; import type { cityssmGlobal } from "@cityssm/bulma-webapp-js/src/types"; declare const cityssm: cityssmGlobal; (() => { const urlPrefix = document.querySelector("main").dataset.urlPrefix; const searchFilterFormElement = document.querySelector("#form--searchFilters") as HTMLFormElement; const searchResultsContainerElement = document.querySelector("#container--searchResults") as HTMLElement; const getLots = () => { searchResultsContainerElement.innerHTML = "
" + "
" + "Loading " + exports.aliases.lots + "..." + "
"; cityssm.postJSON(urlPrefix + "/lots/doSearchLots", searchFilterFormElement, (responseJSON: { lots: recordTypes.Lot[] }) => { if (responseJSON.lots.length === 0) { searchResultsContainerElement.innerHTML = "
" + "

There are no " + exports.aliases.lots.toLowerCase() + " that meet the search criteria.

" + "
"; return; } const resultsTbodyElement = document.createElement("tbody"); for (const lot of responseJSON.lots) { resultsTbodyElement.insertAdjacentHTML("beforeend", "" + ("" + "" + lot.lotName + "" + "") + ("" + "" + lot.mapName + "" + "") + "" + lot.lotType + "" + ("" + lot.lotStatus + "
" + (lot.lotOccupancyCount > 0 ? "Currently Occupied" : "") + "") + ""); } searchResultsContainerElement.innerHTML = "" + "" + "" + "" + "" + "" + ""; searchResultsContainerElement.querySelector("table").append(resultsTbodyElement); }); }; const filterElements = searchFilterFormElement.querySelectorAll("input, select") as NodeListOf < HTMLInputElement | HTMLSelectElement > ; for (const filterElement of filterElements) { filterElement.addEventListener("change", getLots); } searchFilterFormElement.addEventListener("submit", (formEvent) => { formEvent.preventDefault(); getLots(); }); getLots(); })();
" + exports.aliases.lot + "" + exports.aliases.map + "" + exports.aliases.lot + " TypeStatus