From 4e3616ce533999aa74d356d5d982b0c378122eeb Mon Sep 17 00:00:00 2001 From: Dan Gowans Date: Fri, 14 Oct 2022 10:34:21 -0400 Subject: [PATCH] show lot type on occupancy search --- helpers/lotOccupancyDB/getLotOccupancies.js | 3 +- helpers/lotOccupancyDB/getLotOccupancies.ts | 3 +- public-typescript/lotOccupancySearch.js | 34 +++++++++++++++----- public-typescript/lotOccupancySearch.ts | 34 +++++++++++++++----- public/javascripts/lotOccupancySearch.min.js | 2 +- types/recordTypes.d.ts | 1 + types/recordTypes.ts | 1 + 7 files changed, 59 insertions(+), 19 deletions(-) diff --git a/helpers/lotOccupancyDB/getLotOccupancies.js b/helpers/lotOccupancyDB/getLotOccupancies.js index 38586795..321e7354 100644 --- a/helpers/lotOccupancyDB/getLotOccupancies.js +++ b/helpers/lotOccupancyDB/getLotOccupancies.js @@ -105,13 +105,14 @@ export const getLotOccupancies = (filters, options, connectedDatabase) => { lotOccupancies = database .prepare("select o.lotOccupancyId," + " o.occupancyTypeId, t.occupancyType," + - " o.lotId, l.lotName," + + " o.lotId, lt.lotType, l.lotName," + " l.mapId, m.mapName," + " o.occupancyStartDate, userFn_dateIntegerToString(o.occupancyStartDate) as occupancyStartDateString," + " o.occupancyEndDate, userFn_dateIntegerToString(o.occupancyEndDate) as occupancyEndDateString" + " from LotOccupancies o" + " left join OccupancyTypes t on o.occupancyTypeId = t.occupancyTypeId" + " left join Lots l on o.lotId = l.lotId" + + " left join LotTypes lt on l.lotTypeId = lt.lotTypeId" + " left join Maps m on l.mapId = m.mapId" + sqlWhereClause + " order by o.occupancyStartDate desc, ifnull(o.occupancyEndDate, 99999999) desc, l.lotName, o.lotId" + diff --git a/helpers/lotOccupancyDB/getLotOccupancies.ts b/helpers/lotOccupancyDB/getLotOccupancies.ts index 39c58f71..9d0b9b1a 100644 --- a/helpers/lotOccupancyDB/getLotOccupancies.ts +++ b/helpers/lotOccupancyDB/getLotOccupancies.ts @@ -168,13 +168,14 @@ export const getLotOccupancies = ( .prepare( "select o.lotOccupancyId," + " o.occupancyTypeId, t.occupancyType," + - " o.lotId, l.lotName," + + " o.lotId, lt.lotType, l.lotName," + " l.mapId, m.mapName," + " o.occupancyStartDate, userFn_dateIntegerToString(o.occupancyStartDate) as occupancyStartDateString," + " o.occupancyEndDate, userFn_dateIntegerToString(o.occupancyEndDate) as occupancyEndDateString" + " from LotOccupancies o" + " left join OccupancyTypes t on o.occupancyTypeId = t.occupancyTypeId" + " left join Lots l on o.lotId = l.lotId" + + " left join LotTypes lt on l.lotTypeId = lt.lotTypeId" + " left join Maps m on l.mapId = m.mapId" + sqlWhereClause + " order by o.occupancyStartDate desc, ifnull(o.occupancyEndDate, 99999999) desc, l.lotName, o.lotId" + diff --git a/public-typescript/lotOccupancySearch.js b/public-typescript/lotOccupancySearch.js index ffc8d59e..080aeab5 100644 --- a/public-typescript/lotOccupancySearch.js +++ b/public-typescript/lotOccupancySearch.js @@ -34,21 +34,33 @@ Object.defineProperty(exports, "__esModule", { value: true }); (lotOccupancy.occupancyEndDateString === "" || lotOccupancy.occupancyEndDateString >= nowDateString)) { occupancyTimeHTML = - ''; + '">' + + ('') + + ""; } else if (lotOccupancy.occupancyStartDateString > nowDateString) { occupancyTimeHTML = - ''; + '">' + + ('') + + ""; } else { occupancyTimeHTML = - ''; + '">' + + ('') + + ""; } let occupantsHTML = ""; for (const occupant of lotOccupancy.lotOccupancyOccupants) { @@ -72,7 +84,11 @@ Object.defineProperty(exports, "__esModule", { value: true }); "") + ("" + (lotOccupancy.lotName - ? cityssm.escapeHTML(lotOccupancy.lotName) + ? '' + + cityssm.escapeHTML(lotOccupancy.lotName) + + "" : '(No ' + cityssm.escapeHTML(exports.aliases.lot) + ")") + @@ -111,7 +127,9 @@ Object.defineProperty(exports, "__esModule", { value: true }); '' + ("" + cityssm.escapeHTML(exports.aliases.occupancy) + " Type") + ("" + cityssm.escapeHTML(exports.aliases.lot) + "") + - "" + cityssm.escapeHTML(exports.aliases.occupancyStartDate) + "" + + "" + + cityssm.escapeHTML(exports.aliases.occupancyStartDate) + + "" + "End Date" + ("" + cityssm.escapeHTML(exports.aliases.occupants) + "") + (lotOccupancyPrints.length > 0 ? '' : "") + diff --git a/public-typescript/lotOccupancySearch.ts b/public-typescript/lotOccupancySearch.ts index c9d13699..a677e5ef 100644 --- a/public-typescript/lotOccupancySearch.ts +++ b/public-typescript/lotOccupancySearch.ts @@ -64,19 +64,31 @@ declare const cityssm: cityssmGlobal; lotOccupancy.occupancyEndDateString >= nowDateString) ) { occupancyTimeHTML = - ''; + '">' + + ('') + + ""; } else if (lotOccupancy.occupancyStartDateString > nowDateString) { occupancyTimeHTML = - ''; + '">' + + ('') + + ""; } else { occupancyTimeHTML = - ''; + '">' + + ('') + + ""; } let occupantsHTML = ""; @@ -105,7 +117,11 @@ declare const cityssm: cityssmGlobal; "") + ("" + (lotOccupancy.lotName - ? cityssm.escapeHTML(lotOccupancy.lotName) + ? '' + + cityssm.escapeHTML(lotOccupancy.lotName) + + "" : '(No ' + cityssm.escapeHTML(exports.aliases.lot) + ")") + @@ -146,7 +162,9 @@ declare const cityssm: cityssmGlobal; '' + ("" + cityssm.escapeHTML(exports.aliases.occupancy) + " Type") + ("" + cityssm.escapeHTML(exports.aliases.lot) + "") + - "" + cityssm.escapeHTML(exports.aliases.occupancyStartDate) + "" + + "" + + cityssm.escapeHTML(exports.aliases.occupancyStartDate) + + "" + "End Date" + ("" + cityssm.escapeHTML(exports.aliases.occupants) + "") + (lotOccupancyPrints.length > 0 ? '' : "") + diff --git a/public/javascripts/lotOccupancySearch.min.js b/public/javascripts/lotOccupancySearch.min.js index 76d5435c..b9f42812 100644 --- a/public/javascripts/lotOccupancySearch.min.js +++ b/public/javascripts/lotOccupancySearch.min.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const t=document.querySelector("main").dataset.urlPrefix,e=exports.lotOccupancyPrints,a=document.querySelector("#form--searchFilters"),s=document.querySelector("#container--searchResults"),c=Number.parseInt(document.querySelector("#searchFilter--limit").value,10),i=document.querySelector("#searchFilter--offset"),n=()=>{const n=Number.parseInt(i.value,10);s.innerHTML='

Loading '+exports.aliases.occupancies+"...
",cityssm.postJSON(t+"/lotOccupancies/doSearchLotOccupancies",a,a=>{if(0===a.lotOccupancies.length)return void(s.innerHTML='

There are no '+cityssm.escapeHTML(exports.aliases.occupancy.toLowerCase())+" records that meet the search criteria.

");const i=document.createElement("tbody"),r=cityssm.dateToString(new Date);for(const s of a.lotOccupancies){let a="";a=s.occupancyStartDateString<=r&&(""===s.occupancyEndDateString||s.occupancyEndDateString>=r)?'':s.occupancyStartDateString>r?'':'';let c="";for(const t of s.lotOccupancyOccupants)c+=''+cityssm.escapeHTML(t.occupantName)+"
";i.insertAdjacentHTML("beforeend",''+a+''+cityssm.escapeHTML(s.occupancyType)+""+(s.lotName?cityssm.escapeHTML(s.lotName):'(No '+cityssm.escapeHTML(exports.aliases.lot)+")")+'
'+cityssm.escapeHTML(s.mapName||"")+""+s.occupancyStartDateString+""+(s.occupancyEndDate?s.occupancyEndDateString:'(No End Date)')+""+c+""+(e.length>0?'':"")+"")}s.innerHTML='"+(e.length>0?'':"")+'
'+cityssm.escapeHTML(exports.aliases.occupancy)+" Type"+cityssm.escapeHTML(exports.aliases.lot)+""+cityssm.escapeHTML(exports.aliases.occupancyStartDate)+"End Date"+cityssm.escapeHTML(exports.aliases.occupants)+"
Displaying '+(n+1).toString()+" to "+Math.min(a.count,c+n)+" of "+a.count+'
'+(n>0?'
':"")+(c+n
':"")+"
",s.querySelector("table").append(i),n>0&&s.querySelector("button[data-page='previous']").addEventListener("click",o),c+n{i.value="0",n()},o=()=>{i.value=Math.max(Number.parseInt(i.value,10)-c,0).toString(),n()},l=()=>{i.value=(Number.parseInt(i.value,10)+c).toString(),n()},p=a.querySelectorAll("input, select");for(const t of p)t.addEventListener("change",r);a.addEventListener("submit",t=>{t.preventDefault(),r()}),n()})(); \ No newline at end of file +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const t=document.querySelector("main").dataset.urlPrefix,a=exports.lotOccupancyPrints,e=document.querySelector("#form--searchFilters"),s=document.querySelector("#container--searchResults"),c=Number.parseInt(document.querySelector("#searchFilter--limit").value,10),i=document.querySelector("#searchFilter--offset"),n=()=>{const n=Number.parseInt(i.value,10);s.innerHTML='

Loading '+exports.aliases.occupancies+"...
",cityssm.postJSON(t+"/lotOccupancies/doSearchLotOccupancies",e,e=>{if(0===e.lotOccupancies.length)return void(s.innerHTML='

There are no '+cityssm.escapeHTML(exports.aliases.occupancy.toLowerCase())+" records that meet the search criteria.

");const i=document.createElement("tbody"),o=cityssm.dateToString(new Date);for(const s of e.lotOccupancies){let e="";e=s.occupancyStartDateString<=o&&(""===s.occupancyEndDateString||s.occupancyEndDateString>=o)?'':s.occupancyStartDateString>o?'':'';let c="";for(const t of s.lotOccupancyOccupants)c+=''+cityssm.escapeHTML(t.occupantName)+"
";i.insertAdjacentHTML("beforeend",'
"+(a.length>0?'':"")+"")}s.innerHTML='
'+e+''+cityssm.escapeHTML(s.occupancyType)+""+(s.lotName?''+cityssm.escapeHTML(s.lotName)+"":'(No '+cityssm.escapeHTML(exports.aliases.lot)+")")+'
'+cityssm.escapeHTML(s.mapName||"")+"
"+s.occupancyStartDateString+""+(s.occupancyEndDate?s.occupancyEndDateString:'(No End Date)')+""+c+"
"+(a.length>0?'':"")+'
'+cityssm.escapeHTML(exports.aliases.occupancy)+" Type"+cityssm.escapeHTML(exports.aliases.lot)+""+cityssm.escapeHTML(exports.aliases.occupancyStartDate)+"End Date"+cityssm.escapeHTML(exports.aliases.occupants)+"
Displaying '+(n+1).toString()+" to "+Math.min(e.count,c+n)+" of "+e.count+'
'+(n>0?'
':"")+(c+n
':"")+"
",s.querySelector("table").append(i),n>0&&s.querySelector("button[data-page='previous']").addEventListener("click",l),c+n{i.value="0",n()},l=()=>{i.value=Math.max(Number.parseInt(i.value,10)-c,0).toString(),n()},r=()=>{i.value=(Number.parseInt(i.value,10)+c).toString(),n()},p=e.querySelectorAll("input, select");for(const t of p)t.addEventListener("change",o);e.addEventListener("submit",t=>{t.preventDefault(),o()}),n()})(); \ No newline at end of file diff --git a/types/recordTypes.d.ts b/types/recordTypes.d.ts index f98b6ba9..cb92c532 100644 --- a/types/recordTypes.d.ts +++ b/types/recordTypes.d.ts @@ -177,6 +177,7 @@ export interface LotOccupancy extends Record { occupancyType?: string; lotId?: number; lotTypeId?: number; + lotType?: string; lotName?: string; mapId?: number; mapName?: string; diff --git a/types/recordTypes.ts b/types/recordTypes.ts index aa2e455c..216d75d5 100644 --- a/types/recordTypes.ts +++ b/types/recordTypes.ts @@ -235,6 +235,7 @@ export interface LotOccupancy extends Record { lotId?: number; lotTypeId?: number; + lotType?: string; lotName?: string; mapId?: number;