diff --git a/handlers/lotOccupancies-post/doSearchLotOccupancies.js b/handlers/lotOccupancies-post/doSearchLotOccupancies.js index f93ddf61..d7db2a47 100644 --- a/handlers/lotOccupancies-post/doSearchLotOccupancies.js +++ b/handlers/lotOccupancies-post/doSearchLotOccupancies.js @@ -7,6 +7,7 @@ export const handler = async (request, response) => { }); response.json({ count: result.count, + offset: Number.parseInt(request.body.offset, 10), lotOccupancies: result.lotOccupancies }); }; diff --git a/handlers/lotOccupancies-post/doSearchLotOccupancies.ts b/handlers/lotOccupancies-post/doSearchLotOccupancies.ts index eb21bc88..a80f1579 100644 --- a/handlers/lotOccupancies-post/doSearchLotOccupancies.ts +++ b/handlers/lotOccupancies-post/doSearchLotOccupancies.ts @@ -11,6 +11,7 @@ export const handler: RequestHandler = async (request, response) => { response.json({ count: result.count, + offset: Number.parseInt(request.body.offset, 10), lotOccupancies: result.lotOccupancies }); }; diff --git a/public-typescript/lotOccupancySearch.js b/public-typescript/lotOccupancySearch.js index 0ddf4020..1d04b8b9 100644 --- a/public-typescript/lotOccupancySearch.js +++ b/public-typescript/lotOccupancySearch.js @@ -7,8 +7,166 @@ Object.defineProperty(exports, "__esModule", { value: true }); const searchResultsContainerElement = document.querySelector("#container--searchResults"); const limit = Number.parseInt(document.querySelector("#searchFilter--limit").value, 10); const offsetElement = document.querySelector("#searchFilter--offset"); - const getLotOccupancies = () => { - const offset = Number.parseInt(offsetElement.value, 10); + function renderLotOccupancies(responseJSON) { + if (responseJSON.lotOccupancies.length === 0) { + searchResultsContainerElement.innerHTML = + '
"; + return; + } + const resultsTbodyElement = document.createElement("tbody"); + const nowDateString = cityssm.dateToString(new Date()); + for (const lotOccupancy of responseJSON.lotOccupancies) { + let occupancyTimeHTML = ""; + if (lotOccupancy.occupancyStartDateString <= nowDateString && + (lotOccupancy.occupancyEndDateString === "" || + lotOccupancy.occupancyEndDateString >= nowDateString)) { + occupancyTimeHTML = + '' + + ('') + + ""; + } + else if (lotOccupancy.occupancyStartDateString > nowDateString) { + occupancyTimeHTML = + '' + + ('') + + ""; + } + else { + occupancyTimeHTML = + '' + + ('') + + ""; + } + let occupantsHTML = ""; + for (const occupant of lotOccupancy.lotOccupancyOccupants) { + occupantsHTML += + '' + + (' ') + + cityssm.escapeHTML(occupant.occupantName || "") + + "| ' + + (" | " + cityssm.escapeHTML(exports.aliases.occupancy) + " Type | ") + + ("" + cityssm.escapeHTML(exports.aliases.lot) + " | ") + + ("" + cityssm.escapeHTML(exports.aliases.occupancyStartDate) + " | ") + + "End Date | " + + ("" + cityssm.escapeHTML(exports.aliases.occupants) + " | ") + + '
|---|
| ' + occupancyTimeHTML + " | ") + - ("" + - '' + - cityssm.escapeHTML(lotOccupancy.occupancyType) + - "" + - " | ") + - ("" +
- (lotOccupancy.lotName
- ? '' +
- cityssm.escapeHTML(lotOccupancy.lotName) +
- ""
- : '(No ' +
- cityssm.escapeHTML(exports.aliases.lot) +
- ")") +
- " " + - ('' + - cityssm.escapeHTML(lotOccupancy.mapName || "") + - "") + - " | ") +
- ("" + lotOccupancy.occupancyStartDateString + " | ") + - ("" + - (lotOccupancy.occupancyEndDate - ? lotOccupancy.occupancyEndDateString - : '(No End Date)') + - " | ") + - ("" + occupantsHTML + " | ") + - "" + - (lotOccupancy.printEJS - ? '' + - '' + - "" - : "") + - " | " + - "
| ' + - (" | " + cityssm.escapeHTML(exports.aliases.occupancy) + " Type | ") + - ("" + cityssm.escapeHTML(exports.aliases.lot) + " | ") + - ("" + cityssm.escapeHTML(exports.aliases.occupancyStartDate) + " | ") + - "End Date | " + - ("" + cityssm.escapeHTML(exports.aliases.occupants) + " | ") + - '
|---|
| ' + occupancyTimeHTML + " | ") + + ("" + + '' + + cityssm.escapeHTML(lotOccupancy.occupancyType as string) + + "" + + " | ") + + ("" +
+ (lotOccupancy.lotName
+ ? '' +
+ cityssm.escapeHTML(lotOccupancy.lotName) +
+ ""
+ : '(No ' +
+ cityssm.escapeHTML(exports.aliases.lot) +
+ ")") +
+ " " + + ('' + + cityssm.escapeHTML(lotOccupancy.mapName || "") + + "") + + " | ") +
+ ("" + lotOccupancy.occupancyStartDateString + " | ") + + ("" + + (lotOccupancy.occupancyEndDate + ? lotOccupancy.occupancyEndDateString + : '(No End Date)') + + " | ") + + ("" + occupantsHTML + " | ") + + "" + + (lotOccupancy.printEJS + ? '' + + '' + + "" + : "") + + " | " + + "
| ' + + (" | " + cityssm.escapeHTML(exports.aliases.occupancy) + " Type | ") + + ("" + cityssm.escapeHTML(exports.aliases.lot) + " | ") + + ("" + cityssm.escapeHTML(exports.aliases.occupancyStartDate) + " | ") + + "End Date | " + + ("" + cityssm.escapeHTML(exports.aliases.occupants) + " | ") + + '
|---|
| ' + occupancyTimeHTML + " | ") + - ("" + - '' + - cityssm.escapeHTML(lotOccupancy.occupancyType as string) + - "" + - " | ") + - ("" +
- (lotOccupancy.lotName
- ? '' +
- cityssm.escapeHTML(lotOccupancy.lotName) +
- ""
- : '(No ' +
- cityssm.escapeHTML(exports.aliases.lot) +
- ")") +
- " " + - ('' + - cityssm.escapeHTML(lotOccupancy.mapName || "") + - "") + - " | ") +
- ("" + lotOccupancy.occupancyStartDateString + " | ") + - ("" + - (lotOccupancy.occupancyEndDate - ? lotOccupancy.occupancyEndDateString - : '(No End Date)') + - " | ") + - ("" + occupantsHTML + " | ") + - "" + - (lotOccupancy.printEJS - ? '' + - '' + - "" - : "") + - " | " + - "
| ' + - (" | " + cityssm.escapeHTML(exports.aliases.occupancy) + " Type | ") + - ("" + cityssm.escapeHTML(exports.aliases.lot) + " | ") + - ("" + cityssm.escapeHTML(exports.aliases.occupancyStartDate) + " | ") + - "End Date | " + - ("" + cityssm.escapeHTML(exports.aliases.occupants) + " | ") + - '
|---|
| '+a+' | '+cityssm.escapeHTML(e.occupancyType)+" | "+(e.lotName?''+cityssm.escapeHTML(e.lotName)+"":'(No '+cityssm.escapeHTML(exports.aliases.lot)+")")+' '+cityssm.escapeHTML(e.mapName||"")+" | "+e.occupancyStartDateString+" | "+(e.occupancyEndDate?e.occupancyEndDateString:'(No End Date)')+" | "+s+" | "+(e.printEJS?'':"")+" |
| '+cityssm.escapeHTML(exports.aliases.occupancy)+" Type | "+cityssm.escapeHTML(exports.aliases.lot)+" | "+cityssm.escapeHTML(exports.aliases.occupancyStartDate)+" | End Date | "+cityssm.escapeHTML(exports.aliases.occupants)+' |
|---|
| '+e+' | '+cityssm.escapeHTML(a.occupancyType)+" | "+(a.lotName?''+cityssm.escapeHTML(a.lotName)+"":'(No '+cityssm.escapeHTML(exports.aliases.lot)+")")+' '+cityssm.escapeHTML(a.mapName||"")+" | "+a.occupancyStartDateString+" | "+(a.occupancyEndDate?a.occupancyEndDateString:'(No End Date)')+" | "+s+" | "+(a.printEJS?'':"")+" |
| '+cityssm.escapeHTML(exports.aliases.occupancy)+" Type | "+cityssm.escapeHTML(exports.aliases.lot)+" | "+cityssm.escapeHTML(exports.aliases.occupancyStartDate)+" | End Date | "+cityssm.escapeHTML(exports.aliases.occupants)+' |
|---|