sanitize html
parent
f364280f2d
commit
1cbfce9279
|
|
@ -4,8 +4,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
const urlPrefix = document.querySelector("main").dataset.urlPrefix;
|
||||
const searchFilterFormElement = document.querySelector("#form--searchFilters");
|
||||
const searchResultsContainerElement = document.querySelector("#container--searchResults");
|
||||
const limit = Number.parseInt(document.querySelector("#searchFilter--limit")
|
||||
.value, 10);
|
||||
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);
|
||||
|
|
@ -21,7 +20,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
searchResultsContainerElement.innerHTML =
|
||||
'<div class="message is-info">' +
|
||||
'<p class="message-body">There are no ' +
|
||||
exports.aliases.occupancy.toLowerCase() +
|
||||
cityssm.escapeHTML(exports.aliases.occupancy.toLowerCase()) +
|
||||
" records that meet the search criteria.</p>" +
|
||||
"</div>";
|
||||
return;
|
||||
|
|
@ -30,11 +29,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
const nowDateString = cityssm.dateToString(new Date());
|
||||
for (const lotOccupancy of responseJSON.lotOccupancies) {
|
||||
let occupancyTimeHTML = "";
|
||||
if (lotOccupancy.occupancyStartDateString <=
|
||||
nowDateString &&
|
||||
if (lotOccupancy.occupancyStartDateString <= nowDateString &&
|
||||
(lotOccupancy.occupancyEndDateString === "" ||
|
||||
lotOccupancy.occupancyEndDateString >=
|
||||
nowDateString)) {
|
||||
lotOccupancy.occupancyEndDateString >= nowDateString)) {
|
||||
occupancyTimeHTML =
|
||||
'<i class="fas fa-play" title="Current ' +
|
||||
exports.aliases.occupancy +
|
||||
|
|
@ -54,14 +51,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
}
|
||||
let occupantsHTML = "";
|
||||
for (const occupant of lotOccupancy.lotOccupancyOccupants) {
|
||||
occupantsHTML +=
|
||||
cityssm.escapeHTML(occupant.occupantName) +
|
||||
"<br />";
|
||||
occupantsHTML += cityssm.escapeHTML(occupant.occupantName) + "<br />";
|
||||
}
|
||||
resultsTbodyElement.insertAdjacentHTML("beforeend", "<tr>" +
|
||||
"<td>" +
|
||||
occupancyTimeHTML +
|
||||
"</td>" +
|
||||
("<td>" + occupancyTimeHTML + "</td>") +
|
||||
("<td>" +
|
||||
'<a class="has-text-weight-bold" href="' +
|
||||
urlPrefix +
|
||||
|
|
@ -82,9 +75,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
cityssm.escapeHTML(lotOccupancy.mapName || "") +
|
||||
"</span>" +
|
||||
"</td>") +
|
||||
("<td>" +
|
||||
lotOccupancy.occupancyStartDateString +
|
||||
"</td>") +
|
||||
("<td>" + lotOccupancy.occupancyStartDateString + "</td>") +
|
||||
("<td>" +
|
||||
(lotOccupancy.occupancyEndDate
|
||||
? lotOccupancy.occupancyEndDateString
|
||||
|
|
@ -99,17 +90,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
'<table class="table is-fullwidth is-striped is-hoverable">' +
|
||||
"<thead><tr>" +
|
||||
"<th></th>" +
|
||||
"<th>" +
|
||||
exports.aliases.occupancy +
|
||||
" Type</th>" +
|
||||
"<th>" +
|
||||
exports.aliases.lot +
|
||||
"</th>" +
|
||||
("<th>" + cityssm.escapeHTML(exports.aliases.occupancy) + " Type</th>") +
|
||||
("<th>" + cityssm.escapeHTML(exports.aliases.lot) + "</th>") +
|
||||
"<th>Start Date</th>" +
|
||||
"<th>End Date</th>" +
|
||||
"<th>" +
|
||||
exports.aliases.occupants +
|
||||
"</th>" +
|
||||
("<th>" + cityssm.escapeHTML(exports.aliases.occupants) + "</th>") +
|
||||
"</tr></thead>" +
|
||||
"<table>" +
|
||||
'<div class="level">' +
|
||||
|
|
@ -141,9 +126,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
: "") +
|
||||
"</div>") +
|
||||
"</div>";
|
||||
searchResultsContainerElement
|
||||
.querySelector("table")
|
||||
.append(resultsTbodyElement);
|
||||
searchResultsContainerElement.querySelector("table").append(resultsTbodyElement);
|
||||
if (offset > 0) {
|
||||
searchResultsContainerElement
|
||||
.querySelector("button[data-page='previous']")
|
||||
|
|
|
|||
|
|
@ -17,13 +17,10 @@ declare const cityssm: cityssmGlobal;
|
|||
) as HTMLElement;
|
||||
|
||||
const limit = Number.parseInt(
|
||||
(document.querySelector("#searchFilter--limit") as HTMLInputElement)
|
||||
.value,
|
||||
(document.querySelector("#searchFilter--limit") as HTMLInputElement).value,
|
||||
10
|
||||
);
|
||||
const offsetElement = document.querySelector(
|
||||
"#searchFilter--offset"
|
||||
) as HTMLInputElement;
|
||||
const offsetElement = document.querySelector("#searchFilter--offset") as HTMLInputElement;
|
||||
|
||||
const getLotOccupancies = () => {
|
||||
const offset = Number.parseInt(offsetElement.value, 10);
|
||||
|
|
@ -39,15 +36,12 @@ declare const cityssm: cityssmGlobal;
|
|||
cityssm.postJSON(
|
||||
urlPrefix + "/lotOccupancies/doSearchLotOccupancies",
|
||||
searchFilterFormElement,
|
||||
(responseJSON: {
|
||||
count: number;
|
||||
lotOccupancies: recordTypes.LotOccupancy[];
|
||||
}) => {
|
||||
(responseJSON: { count: number; lotOccupancies: recordTypes.LotOccupancy[] }) => {
|
||||
if (responseJSON.lotOccupancies.length === 0) {
|
||||
searchResultsContainerElement.innerHTML =
|
||||
'<div class="message is-info">' +
|
||||
'<p class="message-body">There are no ' +
|
||||
exports.aliases.occupancy.toLowerCase() +
|
||||
cityssm.escapeHTML(exports.aliases.occupancy.toLowerCase()) +
|
||||
" records that meet the search criteria.</p>" +
|
||||
"</div>";
|
||||
|
||||
|
|
@ -62,19 +56,15 @@ declare const cityssm: cityssmGlobal;
|
|||
let occupancyTimeHTML = "";
|
||||
|
||||
if (
|
||||
lotOccupancy.occupancyStartDateString <=
|
||||
nowDateString &&
|
||||
lotOccupancy.occupancyStartDateString <= nowDateString &&
|
||||
(lotOccupancy.occupancyEndDateString === "" ||
|
||||
lotOccupancy.occupancyEndDateString >=
|
||||
nowDateString)
|
||||
lotOccupancy.occupancyEndDateString >= nowDateString)
|
||||
) {
|
||||
occupancyTimeHTML =
|
||||
'<i class="fas fa-play" title="Current ' +
|
||||
exports.aliases.occupancy +
|
||||
'"></i>';
|
||||
} else if (
|
||||
lotOccupancy.occupancyStartDateString > nowDateString
|
||||
) {
|
||||
} else if (lotOccupancy.occupancyStartDateString > nowDateString) {
|
||||
occupancyTimeHTML =
|
||||
'<i class="fas fa-fast-forward" title="Future ' +
|
||||
exports.aliases.occupancy +
|
||||
|
|
@ -89,26 +79,20 @@ declare const cityssm: cityssmGlobal;
|
|||
let occupantsHTML = "";
|
||||
|
||||
for (const occupant of lotOccupancy.lotOccupancyOccupants) {
|
||||
occupantsHTML +=
|
||||
cityssm.escapeHTML(occupant.occupantName) +
|
||||
"<br />";
|
||||
occupantsHTML += cityssm.escapeHTML(occupant.occupantName) + "<br />";
|
||||
}
|
||||
|
||||
resultsTbodyElement.insertAdjacentHTML(
|
||||
"beforeend",
|
||||
"<tr>" +
|
||||
"<td>" +
|
||||
occupancyTimeHTML +
|
||||
"</td>" +
|
||||
("<td>" + occupancyTimeHTML + "</td>") +
|
||||
("<td>" +
|
||||
'<a class="has-text-weight-bold" href="' +
|
||||
urlPrefix +
|
||||
"/lotOccupancies/" +
|
||||
lotOccupancy.lotOccupancyId +
|
||||
'">' +
|
||||
cityssm.escapeHTML(
|
||||
lotOccupancy.occupancyType as string
|
||||
) +
|
||||
cityssm.escapeHTML(lotOccupancy.occupancyType as string) +
|
||||
"</a>" +
|
||||
"</td>") +
|
||||
("<td>" +
|
||||
|
|
@ -122,9 +106,7 @@ declare const cityssm: cityssmGlobal;
|
|||
cityssm.escapeHTML(lotOccupancy.mapName || "") +
|
||||
"</span>" +
|
||||
"</td>") +
|
||||
("<td>" +
|
||||
lotOccupancy.occupancyStartDateString +
|
||||
"</td>") +
|
||||
("<td>" + lotOccupancy.occupancyStartDateString + "</td>") +
|
||||
("<td>" +
|
||||
(lotOccupancy.occupancyEndDate
|
||||
? lotOccupancy.occupancyEndDateString
|
||||
|
|
@ -141,17 +123,11 @@ declare const cityssm: cityssmGlobal;
|
|||
'<table class="table is-fullwidth is-striped is-hoverable">' +
|
||||
"<thead><tr>" +
|
||||
"<th></th>" +
|
||||
"<th>" +
|
||||
exports.aliases.occupancy +
|
||||
" Type</th>" +
|
||||
"<th>" +
|
||||
exports.aliases.lot +
|
||||
"</th>" +
|
||||
("<th>" + cityssm.escapeHTML(exports.aliases.occupancy) + " Type</th>") +
|
||||
("<th>" + cityssm.escapeHTML(exports.aliases.lot) + "</th>") +
|
||||
"<th>Start Date</th>" +
|
||||
"<th>End Date</th>" +
|
||||
"<th>" +
|
||||
exports.aliases.occupants +
|
||||
"</th>" +
|
||||
("<th>" + cityssm.escapeHTML(exports.aliases.occupants) + "</th>") +
|
||||
"</tr></thead>" +
|
||||
"<table>" +
|
||||
'<div class="level">' +
|
||||
|
|
@ -184,17 +160,12 @@ declare const cityssm: cityssmGlobal;
|
|||
"</div>") +
|
||||
"</div>";
|
||||
|
||||
searchResultsContainerElement
|
||||
.querySelector("table")
|
||||
.append(resultsTbodyElement);
|
||||
searchResultsContainerElement.querySelector("table").append(resultsTbodyElement);
|
||||
|
||||
if (offset > 0) {
|
||||
searchResultsContainerElement
|
||||
.querySelector("button[data-page='previous']")
|
||||
.addEventListener(
|
||||
"click",
|
||||
previousAndGetLotOccupancies
|
||||
);
|
||||
.addEventListener("click", previousAndGetLotOccupancies);
|
||||
}
|
||||
|
||||
if (limit + offset < responseJSON.count) {
|
||||
|
|
@ -220,21 +191,16 @@ declare const cityssm: cityssmGlobal;
|
|||
};
|
||||
|
||||
const nextAndGetLotOccupancies = () => {
|
||||
offsetElement.value = (
|
||||
Number.parseInt(offsetElement.value, 10) + limit
|
||||
).toString();
|
||||
offsetElement.value = (Number.parseInt(offsetElement.value, 10) + limit).toString();
|
||||
getLotOccupancies();
|
||||
};
|
||||
|
||||
const filterElements = searchFilterFormElement.querySelectorAll(
|
||||
"input, select"
|
||||
) as NodeListOf<HTMLInputElement | HTMLSelectElement>;
|
||||
const filterElements = searchFilterFormElement.querySelectorAll("input, select") as NodeListOf<
|
||||
HTMLInputElement | HTMLSelectElement
|
||||
>;
|
||||
|
||||
for (const filterElement of filterElements) {
|
||||
filterElement.addEventListener(
|
||||
"change",
|
||||
resetOffsetAndGetLotOccupancies
|
||||
);
|
||||
filterElement.addEventListener("change", resetOffsetAndGetLotOccupancies);
|
||||
}
|
||||
|
||||
searchFilterFormElement.addEventListener("submit", (formEvent) => {
|
||||
|
|
|
|||
|
|
@ -4,8 +4,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
const urlPrefix = document.querySelector("main").dataset.urlPrefix;
|
||||
const searchFilterFormElement = document.querySelector("#form--searchFilters");
|
||||
const searchResultsContainerElement = document.querySelector("#container--searchResults");
|
||||
const limit = Number.parseInt(document.querySelector("#searchFilter--limit")
|
||||
.value, 10);
|
||||
const limit = Number.parseInt(document.querySelector("#searchFilter--limit").value, 10);
|
||||
const offsetElement = document.querySelector("#searchFilter--offset");
|
||||
const getLots = () => {
|
||||
const offset = Number.parseInt(offsetElement.value, 10);
|
||||
|
|
@ -35,7 +34,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
"/lots/" +
|
||||
lot.lotId +
|
||||
'">' +
|
||||
lot.lotName +
|
||||
cityssm.escapeHTML(lot.lotName) +
|
||||
"</a>" +
|
||||
"</td>") +
|
||||
("<td>" +
|
||||
|
|
@ -44,14 +43,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
"/maps/" +
|
||||
lot.mapId +
|
||||
'">' +
|
||||
lot.mapName +
|
||||
(lot.mapName
|
||||
? cityssm.escapeHTML(lot.mapName)
|
||||
: '<span class="has-text-grey">(No Name)</span>') +
|
||||
"</a>" +
|
||||
"</td>") +
|
||||
"<td>" +
|
||||
lot.lotType +
|
||||
"</td>" +
|
||||
("<td>" + cityssm.escapeHTML(lot.lotType) + "</td>") +
|
||||
("<td>" +
|
||||
lot.lotStatus +
|
||||
cityssm.escapeHTML(lot.lotStatus) +
|
||||
"<br />" +
|
||||
(lot.lotOccupancyCount > 0
|
||||
? '<span class="is-size-7">Currently Occupied</span>'
|
||||
|
|
@ -62,15 +61,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
searchResultsContainerElement.innerHTML =
|
||||
'<table class="table is-fullwidth is-striped is-hoverable">' +
|
||||
"<thead><tr>" +
|
||||
"<th>" +
|
||||
exports.aliases.lot +
|
||||
"</th>" +
|
||||
"<th>" +
|
||||
exports.aliases.map +
|
||||
"</th>" +
|
||||
"<th>" +
|
||||
exports.aliases.lot +
|
||||
" Type</th>" +
|
||||
("<th>" + cityssm.escapeHTML(exports.aliases.lot) + "</th>") +
|
||||
("<th>" + cityssm.escapeHTML(exports.aliases.map) + "</th>") +
|
||||
("<th>" + cityssm.escapeHTML(exports.aliases.lot) + " Type</th>") +
|
||||
"<th>Status</th>" +
|
||||
"</tr></thead>" +
|
||||
"<table>" +
|
||||
|
|
@ -103,9 +96,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
: "") +
|
||||
"</div>") +
|
||||
"</div>";
|
||||
searchResultsContainerElement
|
||||
.querySelector("table")
|
||||
.append(resultsTbodyElement);
|
||||
searchResultsContainerElement.querySelector("table").append(resultsTbodyElement);
|
||||
if (offset > 0) {
|
||||
searchResultsContainerElement
|
||||
.querySelector("button[data-page='previous']")
|
||||
|
|
|
|||
|
|
@ -17,13 +17,10 @@ declare const cityssm: cityssmGlobal;
|
|||
) as HTMLElement;
|
||||
|
||||
const limit = Number.parseInt(
|
||||
(document.querySelector("#searchFilter--limit") as HTMLInputElement)
|
||||
.value,
|
||||
(document.querySelector("#searchFilter--limit") as HTMLInputElement).value,
|
||||
10
|
||||
);
|
||||
const offsetElement = document.querySelector(
|
||||
"#searchFilter--offset"
|
||||
) as HTMLInputElement;
|
||||
const offsetElement = document.querySelector("#searchFilter--offset") as HTMLInputElement;
|
||||
|
||||
const getLots = () => {
|
||||
const offset = Number.parseInt(offsetElement.value, 10);
|
||||
|
|
@ -63,7 +60,7 @@ declare const cityssm: cityssmGlobal;
|
|||
"/lots/" +
|
||||
lot.lotId +
|
||||
'">' +
|
||||
lot.lotName +
|
||||
cityssm.escapeHTML(lot.lotName) +
|
||||
"</a>" +
|
||||
"</td>") +
|
||||
("<td>" +
|
||||
|
|
@ -72,14 +69,14 @@ declare const cityssm: cityssmGlobal;
|
|||
"/maps/" +
|
||||
lot.mapId +
|
||||
'">' +
|
||||
lot.mapName +
|
||||
(lot.mapName
|
||||
? cityssm.escapeHTML(lot.mapName)
|
||||
: '<span class="has-text-grey">(No Name)</span>') +
|
||||
"</a>" +
|
||||
"</td>") +
|
||||
"<td>" +
|
||||
lot.lotType +
|
||||
"</td>" +
|
||||
("<td>" + cityssm.escapeHTML(lot.lotType) + "</td>") +
|
||||
("<td>" +
|
||||
lot.lotStatus +
|
||||
cityssm.escapeHTML(lot.lotStatus) +
|
||||
"<br />" +
|
||||
(lot.lotOccupancyCount > 0
|
||||
? '<span class="is-size-7">Currently Occupied</span>'
|
||||
|
|
@ -92,15 +89,9 @@ declare const cityssm: cityssmGlobal;
|
|||
searchResultsContainerElement.innerHTML =
|
||||
'<table class="table is-fullwidth is-striped is-hoverable">' +
|
||||
"<thead><tr>" +
|
||||
"<th>" +
|
||||
exports.aliases.lot +
|
||||
"</th>" +
|
||||
"<th>" +
|
||||
exports.aliases.map +
|
||||
"</th>" +
|
||||
"<th>" +
|
||||
exports.aliases.lot +
|
||||
" Type</th>" +
|
||||
("<th>" + cityssm.escapeHTML(exports.aliases.lot) + "</th>") +
|
||||
("<th>" + cityssm.escapeHTML(exports.aliases.map) + "</th>") +
|
||||
("<th>" + cityssm.escapeHTML(exports.aliases.lot) + " Type</th>") +
|
||||
"<th>Status</th>" +
|
||||
"</tr></thead>" +
|
||||
"<table>" +
|
||||
|
|
@ -134,9 +125,7 @@ declare const cityssm: cityssmGlobal;
|
|||
"</div>") +
|
||||
"</div>";
|
||||
|
||||
searchResultsContainerElement
|
||||
.querySelector("table")
|
||||
.append(resultsTbodyElement);
|
||||
searchResultsContainerElement.querySelector("table").append(resultsTbodyElement);
|
||||
|
||||
if (offset > 0) {
|
||||
searchResultsContainerElement
|
||||
|
|
@ -167,15 +156,13 @@ declare const cityssm: cityssmGlobal;
|
|||
};
|
||||
|
||||
const nextAndGetLots = () => {
|
||||
offsetElement.value = (
|
||||
Number.parseInt(offsetElement.value, 10) + limit
|
||||
).toString();
|
||||
offsetElement.value = (Number.parseInt(offsetElement.value, 10) + limit).toString();
|
||||
getLots();
|
||||
};
|
||||
|
||||
const filterElements = searchFilterFormElement.querySelectorAll(
|
||||
"input, select"
|
||||
) as NodeListOf<HTMLInputElement | HTMLSelectElement>;
|
||||
const filterElements = searchFilterFormElement.querySelectorAll("input, select") as NodeListOf<
|
||||
HTMLInputElement | HTMLSelectElement
|
||||
>;
|
||||
|
||||
for (const filterElement of filterElements) {
|
||||
filterElement.addEventListener("change", resetOffsetAndGetLots);
|
||||
|
|
|
|||
|
|
@ -38,7 +38,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
continue;
|
||||
}
|
||||
searchResultCount += 1;
|
||||
const mapName = map.mapName === "" ? "(No Name)" : map.mapName;
|
||||
searchResultsTbodyElement.insertAdjacentHTML("beforeend", "<tr>" +
|
||||
("<td>" +
|
||||
'<a class="has-text-weight-bold" href="' +
|
||||
|
|
@ -46,7 +45,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
"/maps/" +
|
||||
map.mapId +
|
||||
'">' +
|
||||
cityssm.escapeHTML(mapName) +
|
||||
cityssm.escapeHTML(map.mapName || "(No Name)") +
|
||||
"</a><br />" +
|
||||
cityssm.escapeHTML(map.mapAddress1) +
|
||||
"</td>") +
|
||||
|
|
|
|||
|
|
@ -62,8 +62,6 @@ declare const cityssm: cityssmGlobal;
|
|||
|
||||
searchResultCount += 1;
|
||||
|
||||
const mapName = map.mapName === "" ? "(No Name)" : map.mapName;
|
||||
|
||||
searchResultsTbodyElement.insertAdjacentHTML(
|
||||
"beforeend",
|
||||
"<tr>" +
|
||||
|
|
@ -73,7 +71,7 @@ declare const cityssm: cityssmGlobal;
|
|||
"/maps/" +
|
||||
map.mapId +
|
||||
'">' +
|
||||
cityssm.escapeHTML(mapName) +
|
||||
cityssm.escapeHTML(map.mapName || "(No Name)") +
|
||||
"</a><br />" +
|
||||
cityssm.escapeHTML(map.mapAddress1) +
|
||||
"</td>") +
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=document.querySelector("main").dataset.urlPrefix,t=document.querySelector("#form--searchFilters"),a=document.querySelector("#container--searchResults"),s=Number.parseInt(document.querySelector("#searchFilter--limit").value,10),c=document.querySelector("#searchFilter--offset"),i=()=>{const i=Number.parseInt(c.value,10);a.innerHTML='<div class="has-text-grey has-text-centered"><i class="fas fa-5x fa-circle-notch fa-spin" aria-hidden="true"></i><br />Loading '+exports.aliases.occupancies+"...</div>",cityssm.postJSON(e+"/lotOccupancies/doSearchLotOccupancies",t,t=>{if(0===t.lotOccupancies.length)return void(a.innerHTML='<div class="message is-info"><p class="message-body">There are no '+exports.aliases.occupancy.toLowerCase()+" records that meet the search criteria.</p></div>");const c=document.createElement("tbody"),n=cityssm.dateToString(new Date);for(const a of t.lotOccupancies){let t="";t=a.occupancyStartDateString<=n&&(""===a.occupancyEndDateString||a.occupancyEndDateString>=n)?'<i class="fas fa-play" title="Current '+exports.aliases.occupancy+'"></i>':a.occupancyStartDateString>n?'<i class="fas fa-fast-forward" title="Future '+exports.aliases.occupancy+'"></i>':'<i class="fas fa-stop" title="Previous '+exports.aliases.occupancy+'"></i>';let s="";for(const e of a.lotOccupancyOccupants)s+=cityssm.escapeHTML(e.occupantName)+"<br />";c.insertAdjacentHTML("beforeend","<tr><td>"+t+'</td><td><a class="has-text-weight-bold" href="'+e+"/lotOccupancies/"+a.lotOccupancyId+'">'+cityssm.escapeHTML(a.occupancyType)+"</a></td><td>"+(a.lotName?cityssm.escapeHTML(a.lotName):'<span class="has-text-grey">(No '+cityssm.escapeHTML(exports.aliases.lot)+")</span>")+'<br /><span class="is-size-7">'+cityssm.escapeHTML(a.mapName||"")+"</span></td><td>"+a.occupancyStartDateString+"</td><td>"+(a.occupancyEndDate?a.occupancyEndDateString:'<span class="has-text-grey">(No End Date)</span>')+"</td><td>"+s+"</td></tr>")}a.innerHTML='<table class="table is-fullwidth is-striped is-hoverable"><thead><tr><th></th><th>'+exports.aliases.occupancy+" Type</th><th>"+exports.aliases.lot+"</th><th>Start Date</th><th>End Date</th><th>"+exports.aliases.occupants+'</th></tr></thead><table><div class="level"><div class="level-left"><div class="level-item has-text-weight-bold">Displaying '+(i+1).toString()+" to "+Math.min(t.count,s+i)+" of "+t.count+'</div></div><div class="level-right">'+(i>0?'<div class="level-item"><button class="button is-rounded is-link is-outlined" data-page="previous" type="button" title="Previous"><i class="fas fa-arrow-left" aria-hidden="true"></i></button></div>':"")+(s+i<t.count?'<div class="level-item"><button class="button is-rounded is-link" data-page="next" type="button" title="Next"><span>Next</span><span class="icon"><i class="fas fa-arrow-right" aria-hidden="true"></i></span></button></div>':"")+"</div></div>",a.querySelector("table").append(c),i>0&&a.querySelector("button[data-page='previous']").addEventListener("click",r),s+i<t.count&&a.querySelector("button[data-page='next']").addEventListener("click",o)})},n=()=>{c.value="0",i()},r=()=>{c.value=Math.max(Number.parseInt(c.value,10)-s,0).toString(),i()},o=()=>{c.value=(Number.parseInt(c.value,10)+s).toString(),i()},l=t.querySelectorAll("input, select");for(const e of l)e.addEventListener("change",n);t.addEventListener("submit",e=>{e.preventDefault(),n()}),i()})();
|
||||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=document.querySelector("main").dataset.urlPrefix,t=document.querySelector("#form--searchFilters"),a=document.querySelector("#container--searchResults"),s=Number.parseInt(document.querySelector("#searchFilter--limit").value,10),c=document.querySelector("#searchFilter--offset"),i=()=>{const i=Number.parseInt(c.value,10);a.innerHTML='<div class="has-text-grey has-text-centered"><i class="fas fa-5x fa-circle-notch fa-spin" aria-hidden="true"></i><br />Loading '+exports.aliases.occupancies+"...</div>",cityssm.postJSON(e+"/lotOccupancies/doSearchLotOccupancies",t,t=>{if(0===t.lotOccupancies.length)return void(a.innerHTML='<div class="message is-info"><p class="message-body">There are no '+cityssm.escapeHTML(exports.aliases.occupancy.toLowerCase())+" records that meet the search criteria.</p></div>");const c=document.createElement("tbody"),n=cityssm.dateToString(new Date);for(const a of t.lotOccupancies){let t="";t=a.occupancyStartDateString<=n&&(""===a.occupancyEndDateString||a.occupancyEndDateString>=n)?'<i class="fas fa-play" title="Current '+exports.aliases.occupancy+'"></i>':a.occupancyStartDateString>n?'<i class="fas fa-fast-forward" title="Future '+exports.aliases.occupancy+'"></i>':'<i class="fas fa-stop" title="Previous '+exports.aliases.occupancy+'"></i>';let s="";for(const e of a.lotOccupancyOccupants)s+=cityssm.escapeHTML(e.occupantName)+"<br />";c.insertAdjacentHTML("beforeend","<tr><td>"+t+'</td><td><a class="has-text-weight-bold" href="'+e+"/lotOccupancies/"+a.lotOccupancyId+'">'+cityssm.escapeHTML(a.occupancyType)+"</a></td><td>"+(a.lotName?cityssm.escapeHTML(a.lotName):'<span class="has-text-grey">(No '+cityssm.escapeHTML(exports.aliases.lot)+")</span>")+'<br /><span class="is-size-7">'+cityssm.escapeHTML(a.mapName||"")+"</span></td><td>"+a.occupancyStartDateString+"</td><td>"+(a.occupancyEndDate?a.occupancyEndDateString:'<span class="has-text-grey">(No End Date)</span>')+"</td><td>"+s+"</td></tr>")}a.innerHTML='<table class="table is-fullwidth is-striped is-hoverable"><thead><tr><th></th><th>'+cityssm.escapeHTML(exports.aliases.occupancy)+" Type</th><th>"+cityssm.escapeHTML(exports.aliases.lot)+"</th><th>Start Date</th><th>End Date</th><th>"+cityssm.escapeHTML(exports.aliases.occupants)+'</th></tr></thead><table><div class="level"><div class="level-left"><div class="level-item has-text-weight-bold">Displaying '+(i+1).toString()+" to "+Math.min(t.count,s+i)+" of "+t.count+'</div></div><div class="level-right">'+(i>0?'<div class="level-item"><button class="button is-rounded is-link is-outlined" data-page="previous" type="button" title="Previous"><i class="fas fa-arrow-left" aria-hidden="true"></i></button></div>':"")+(s+i<t.count?'<div class="level-item"><button class="button is-rounded is-link" data-page="next" type="button" title="Next"><span>Next</span><span class="icon"><i class="fas fa-arrow-right" aria-hidden="true"></i></span></button></div>':"")+"</div></div>",a.querySelector("table").append(c),i>0&&a.querySelector("button[data-page='previous']").addEventListener("click",r),s+i<t.count&&a.querySelector("button[data-page='next']").addEventListener("click",o)})},n=()=>{c.value="0",i()},r=()=>{c.value=Math.max(Number.parseInt(c.value,10)-s,0).toString(),i()},o=()=>{c.value=(Number.parseInt(c.value,10)+s).toString(),i()},l=t.querySelectorAll("input, select");for(const e of l)e.addEventListener("change",n);t.addEventListener("submit",e=>{e.preventDefault(),n()}),i()})();
|
||||
|
|
@ -1 +1 @@
|
|||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=document.querySelector("main").dataset.urlPrefix,t=document.querySelector("#form--searchFilters"),s=document.querySelector("#container--searchResults"),a=Number.parseInt(document.querySelector("#searchFilter--limit").value,10),r=document.querySelector("#searchFilter--offset"),i=()=>{const i=Number.parseInt(r.value,10);s.innerHTML='<div class="has-text-grey has-text-centered"><i class="fas fa-5x fa-circle-notch fa-spin" aria-hidden="true"></i><br />Loading '+exports.aliases.lots+"...</div>",cityssm.postJSON(e+"/lots/doSearchLots",t,t=>{if(0===t.lots.length)return void(s.innerHTML='<div class="message is-info"><p class="message-body">There are no '+exports.aliases.lots.toLowerCase()+" that meet the search criteria.</p></div>");const r=document.createElement("tbody");for(const s of t.lots)r.insertAdjacentHTML("beforeend",'<tr><td><a class="has-text-weight-bold" href="'+e+"/lots/"+s.lotId+'">'+s.lotName+'</a></td><td><a href="'+e+"/maps/"+s.mapId+'">'+s.mapName+"</a></td><td>"+s.lotType+"</td><td>"+s.lotStatus+"<br />"+(s.lotOccupancyCount>0?'<span class="is-size-7">Currently Occupied</span>':"")+"</td></tr>");s.innerHTML='<table class="table is-fullwidth is-striped is-hoverable"><thead><tr><th>'+exports.aliases.lot+"</th><th>"+exports.aliases.map+"</th><th>"+exports.aliases.lot+' Type</th><th>Status</th></tr></thead><table><div class="level"><div class="level-left"><div class="level-item has-text-weight-bold">Displaying '+(i+1).toString()+" to "+Math.min(t.count,a+i)+" of "+t.count+'</div></div><div class="level-right">'+(i>0?'<div class="level-item"><button class="button is-rounded is-link is-outlined" data-page="previous" type="button" title="Previous"><i class="fas fa-arrow-left" aria-hidden="true"></i></button></div>':"")+(a+i<t.count?'<div class="level-item"><button class="button is-rounded is-link" data-page="next" type="button" title="Next"><span>Next</span><span class="icon"><i class="fas fa-arrow-right" aria-hidden="true"></i></span></button></div>':"")+"</div></div>",s.querySelector("table").append(r),i>0&&s.querySelector("button[data-page='previous']").addEventListener("click",o),a+i<t.count&&s.querySelector("button[data-page='next']").addEventListener("click",n)})},l=()=>{r.value="0",i()},o=()=>{r.value=Math.max(Number.parseInt(r.value,10)-a,0).toString(),i()},n=()=>{r.value=(Number.parseInt(r.value,10)+a).toString(),i()},d=t.querySelectorAll("input, select");for(const e of d)e.addEventListener("change",l);t.addEventListener("submit",e=>{e.preventDefault(),l()}),i()})();
|
||||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=document.querySelector("main").dataset.urlPrefix,t=document.querySelector("#form--searchFilters"),s=document.querySelector("#container--searchResults"),a=Number.parseInt(document.querySelector("#searchFilter--limit").value,10),i=document.querySelector("#searchFilter--offset"),r=()=>{const r=Number.parseInt(i.value,10);s.innerHTML='<div class="has-text-grey has-text-centered"><i class="fas fa-5x fa-circle-notch fa-spin" aria-hidden="true"></i><br />Loading '+exports.aliases.lots+"...</div>",cityssm.postJSON(e+"/lots/doSearchLots",t,t=>{if(0===t.lots.length)return void(s.innerHTML='<div class="message is-info"><p class="message-body">There are no '+exports.aliases.lots.toLowerCase()+" that meet the search criteria.</p></div>");const i=document.createElement("tbody");for(const s of t.lots)i.insertAdjacentHTML("beforeend",'<tr><td><a class="has-text-weight-bold" href="'+e+"/lots/"+s.lotId+'">'+cityssm.escapeHTML(s.lotName)+'</a></td><td><a href="'+e+"/maps/"+s.mapId+'">'+(s.mapName?cityssm.escapeHTML(s.mapName):'<span class="has-text-grey">(No Name)</span>')+"</a></td><td>"+cityssm.escapeHTML(s.lotType)+"</td><td>"+cityssm.escapeHTML(s.lotStatus)+"<br />"+(s.lotOccupancyCount>0?'<span class="is-size-7">Currently Occupied</span>':"")+"</td></tr>");s.innerHTML='<table class="table is-fullwidth is-striped is-hoverable"><thead><tr><th>'+cityssm.escapeHTML(exports.aliases.lot)+"</th><th>"+cityssm.escapeHTML(exports.aliases.map)+"</th><th>"+cityssm.escapeHTML(exports.aliases.lot)+' Type</th><th>Status</th></tr></thead><table><div class="level"><div class="level-left"><div class="level-item has-text-weight-bold">Displaying '+(r+1).toString()+" to "+Math.min(t.count,a+r)+" of "+t.count+'</div></div><div class="level-right">'+(r>0?'<div class="level-item"><button class="button is-rounded is-link is-outlined" data-page="previous" type="button" title="Previous"><i class="fas fa-arrow-left" aria-hidden="true"></i></button></div>':"")+(a+r<t.count?'<div class="level-item"><button class="button is-rounded is-link" data-page="next" type="button" title="Next"><span>Next</span><span class="icon"><i class="fas fa-arrow-right" aria-hidden="true"></i></span></button></div>':"")+"</div></div>",s.querySelector("table").append(i),r>0&&s.querySelector("button[data-page='previous']").addEventListener("click",o),a+r<t.count&&s.querySelector("button[data-page='next']").addEventListener("click",n)})},l=()=>{i.value="0",r()},o=()=>{i.value=Math.max(Number.parseInt(i.value,10)-a,0).toString(),r()},n=()=>{i.value=(Number.parseInt(i.value,10)+a).toString(),r()},c=t.querySelectorAll("input, select");for(const e of c)e.addEventListener("change",l);t.addEventListener("submit",e=>{e.preventDefault(),l()}),r()})();
|
||||
|
|
@ -1 +1 @@
|
|||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=document.querySelector("main").dataset.urlPrefix,t=exports.maps,a=document.querySelector("#searchFilter--map"),s=document.querySelector("#container--searchResults"),r=()=>{s.innerHTML='<div class="has-text-grey has-text-centered"><i class="fas fa-5x fa-circle-notch fa-spin" aria-hidden="true"></i><br />Loading '+exports.aliases.maps+"...</div>";let r=0;const i=document.createElement("tbody"),o=a.value.trim().toLowerCase().split(" ");for(const a of t){const t=(a.mapName+" "+a.mapDescription+" "+a.mapAddress1+" "+a.mapAddress2).toLowerCase();let s=!0;for(const e of o)if(!t.includes(e)){s=!1;break}if(!s)continue;r+=1;const c=""===a.mapName?"(No Name)":a.mapName;i.insertAdjacentHTML("beforeend",'<tr><td><a class="has-text-weight-bold" href="'+e+"/maps/"+a.mapId+'">'+cityssm.escapeHTML(c)+"</a><br />"+cityssm.escapeHTML(a.mapAddress1)+'</td><td class="has-text-centered">'+(a.mapLatitude&&a.mapLongitude?'<i class="fas fa-map-marker-alt" title="Has Geographic Coordinates"></i>':"")+'</td><td class="has-text-centered">'+(a.mapSVG?'<i class="fas fa-image" title="Has Image"></i>':"")+'</td><td class="has-text-right"><a href="'+e+"/lots?mapId="+a.mapId+'">'+a.lotCount+"</a></td></tr>")}if(s.innerHTML="",0===r)s.innerHTML='<div class="message is-info"><p class="message-body">There are no '+exports.aliases.maps.toLowerCase()+" that meet the search criteria.</p></div>";else{const e=document.createElement("table");e.className="table is-fullwidth is-striped is-hoverable",e.innerHTML="<thead><tr><th>"+exports.aliases.map+'</th><th class="has-text-centered">Coordinates</th><th class="has-text-centered">Image</th><th class="has-text-right">'+exports.aliases.lot+" Count</th></tr></thead>",e.append(i),s.append(e)}};a.addEventListener("keyup",r),document.querySelector("#form--searchFilters").addEventListener("submit",e=>{e.preventDefault(),r()}),r()})();
|
||||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=document.querySelector("main").dataset.urlPrefix,t=exports.maps,a=document.querySelector("#searchFilter--map"),s=document.querySelector("#container--searchResults"),r=()=>{s.innerHTML='<div class="has-text-grey has-text-centered"><i class="fas fa-5x fa-circle-notch fa-spin" aria-hidden="true"></i><br />Loading '+exports.aliases.maps+"...</div>";let r=0;const i=document.createElement("tbody"),d=a.value.trim().toLowerCase().split(" ");for(const a of t){const t=(a.mapName+" "+a.mapDescription+" "+a.mapAddress1+" "+a.mapAddress2).toLowerCase();let s=!0;for(const e of d)if(!t.includes(e)){s=!1;break}s&&(r+=1,i.insertAdjacentHTML("beforeend",'<tr><td><a class="has-text-weight-bold" href="'+e+"/maps/"+a.mapId+'">'+cityssm.escapeHTML(a.mapName||"(No Name)")+"</a><br />"+cityssm.escapeHTML(a.mapAddress1)+'</td><td class="has-text-centered">'+(a.mapLatitude&&a.mapLongitude?'<i class="fas fa-map-marker-alt" title="Has Geographic Coordinates"></i>':"")+'</td><td class="has-text-centered">'+(a.mapSVG?'<i class="fas fa-image" title="Has Image"></i>':"")+'</td><td class="has-text-right"><a href="'+e+"/lots?mapId="+a.mapId+'">'+a.lotCount+"</a></td></tr>"))}if(s.innerHTML="",0===r)s.innerHTML='<div class="message is-info"><p class="message-body">There are no '+exports.aliases.maps.toLowerCase()+" that meet the search criteria.</p></div>";else{const e=document.createElement("table");e.className="table is-fullwidth is-striped is-hoverable",e.innerHTML="<thead><tr><th>"+exports.aliases.map+'</th><th class="has-text-centered">Coordinates</th><th class="has-text-centered">Image</th><th class="has-text-right">'+exports.aliases.lot+" Count</th></tr></thead>",e.append(i),s.append(e)}};a.addEventListener("keyup",r),document.querySelector("#form--searchFilters").addEventListener("submit",e=>{e.preventDefault(),r()}),r()})();
|
||||
Loading…
Reference in New Issue