From 6637929eab47b8cc93ea64c626d0f18f61f24942 Mon Sep 17 00:00:00 2001 From: Dan Gowans Date: Thu, 29 Sep 2022 13:19:27 -0400 Subject: [PATCH] sticky table headers --- public-typescript/lotOccupancySearch.js | 2 +- public-typescript/lotOccupancySearch.ts | 2 +- public-typescript/lotSearch.js | 2 +- public-typescript/lotSearch.ts | 2 +- public-typescript/mapSearch.js | 2 +- public-typescript/mapSearch.ts | 2 +- public-typescript/workOrderSearch.js | 2 +- public-typescript/workOrderSearch.ts | 2 +- public/javascripts/lotOccupancySearch.min.js | 2 +- public/javascripts/lotSearch.min.js | 2 +- public/javascripts/mapSearch.min.js | 2 +- public/javascripts/workOrderSearch.min.js | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/public-typescript/lotOccupancySearch.js b/public-typescript/lotOccupancySearch.js index 45e29961..d887f23e 100644 --- a/public-typescript/lotOccupancySearch.js +++ b/public-typescript/lotOccupancySearch.js @@ -106,7 +106,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); ""); } searchResultsContainerElement.innerHTML = - '' + + '
' + "" + '' + ("") + diff --git a/public-typescript/lotOccupancySearch.ts b/public-typescript/lotOccupancySearch.ts index 1016eec7..352951a7 100644 --- a/public-typescript/lotOccupancySearch.ts +++ b/public-typescript/lotOccupancySearch.ts @@ -141,7 +141,7 @@ declare const cityssm: cityssmGlobal; } searchResultsContainerElement.innerHTML = - '
" + cityssm.escapeHTML(exports.aliases.occupancy) + " Type
' + + '
' + "" + '' + ("") + diff --git a/public-typescript/lotSearch.js b/public-typescript/lotSearch.js index 1671bb8d..2ba7c568 100644 --- a/public-typescript/lotSearch.js +++ b/public-typescript/lotSearch.js @@ -59,7 +59,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); ""); } searchResultsContainerElement.innerHTML = - '
" + cityssm.escapeHTML(exports.aliases.occupancy) + " Type
' + + '
' + "" + ("") + ("") + diff --git a/public-typescript/lotSearch.ts b/public-typescript/lotSearch.ts index a7af7368..7272c817 100644 --- a/public-typescript/lotSearch.ts +++ b/public-typescript/lotSearch.ts @@ -87,7 +87,7 @@ declare const cityssm: cityssmGlobal; } searchResultsContainerElement.innerHTML = - '
" + cityssm.escapeHTML(exports.aliases.lot) + "" + cityssm.escapeHTML(exports.aliases.map) + "
' + + '
' + "" + ("") + ("") + diff --git a/public-typescript/mapSearch.js b/public-typescript/mapSearch.js index 390498c5..b667dd1f 100644 --- a/public-typescript/mapSearch.js +++ b/public-typescript/mapSearch.js @@ -82,7 +82,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); else { const searchResultsTableElement = document.createElement("table"); searchResultsTableElement.className = - "table is-fullwidth is-striped is-hoverable"; + "table is-fullwidth is-striped is-hoverable has-sticky-header"; searchResultsTableElement.innerHTML = "" + "" + ""); } searchResultsContainerElement.innerHTML = - '
" + cityssm.escapeHTML(exports.aliases.lot) + "" + cityssm.escapeHTML(exports.aliases.map) + "
" + diff --git a/public-typescript/mapSearch.ts b/public-typescript/mapSearch.ts index b0a08996..2f9a0104 100644 --- a/public-typescript/mapSearch.ts +++ b/public-typescript/mapSearch.ts @@ -110,7 +110,7 @@ declare const cityssm: cityssmGlobal; } else { const searchResultsTableElement = document.createElement("table"); searchResultsTableElement.className = - "table is-fullwidth is-striped is-hoverable"; + "table is-fullwidth is-striped is-hoverable has-sticky-header"; searchResultsTableElement.innerHTML = "
" + diff --git a/public-typescript/workOrderSearch.js b/public-typescript/workOrderSearch.js index d39361b5..c32810e6 100644 --- a/public-typescript/workOrderSearch.js +++ b/public-typescript/workOrderSearch.js @@ -78,7 +78,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); "
' + + '
' + "" + "" + "" + diff --git a/public-typescript/workOrderSearch.ts b/public-typescript/workOrderSearch.ts index f06bfaee..d7509fb4 100644 --- a/public-typescript/workOrderSearch.ts +++ b/public-typescript/workOrderSearch.ts @@ -111,7 +111,7 @@ declare const cityssm: cityssmGlobal; } searchResultsContainerElement.innerHTML = - '
Work Order NumberWork Order Description
' + + '
' + "" + "" + "" + diff --git a/public/javascripts/lotOccupancySearch.min.js b/public/javascripts/lotOccupancySearch.min.js index 1893e9f7..47c62314 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",'"+(e.length>0?'':"")+"")}s.innerHTML='
Work Order NumberWork Order Description
'+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?'':"")+'
'+cityssm.escapeHTML(exports.aliases.occupancy)+" Type"+cityssm.escapeHTML(exports.aliases.lot)+"Start DateEnd 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",l),c+n{i.value="0",n()},l=()=>{i.value=Math.max(Number.parseInt(i.value,10)-c,0).toString(),n()},o=()=>{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,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",'
"+(e.length>0?'':"")+"")}s.innerHTML='
'+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?'':"")+'
'+cityssm.escapeHTML(exports.aliases.occupancy)+" Type"+cityssm.escapeHTML(exports.aliases.lot)+"Start DateEnd 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",l),c+n{i.value="0",n()},l=()=>{i.value=Math.max(Number.parseInt(i.value,10)-c,0).toString(),n()},o=()=>{i.value=(Number.parseInt(i.value,10)+c).toString(),n()},d=a.querySelectorAll("input, select");for(const t of d)t.addEventListener("change",r);a.addEventListener("submit",t=>{t.preventDefault(),r()}),n()})(); \ No newline at end of file diff --git a/public/javascripts/lotSearch.min.js b/public/javascripts/lotSearch.min.js index 2d360136..91e48f6f 100644 --- a/public/javascripts/lotSearch.min.js +++ b/public/javascripts/lotSearch.min.js @@ -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),i=document.querySelector("#searchFilter--offset"),r=()=>{const r=Number.parseInt(i.value,10);s.innerHTML='

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

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

");const i=document.createElement("tbody");for(const s of t.lots)i.insertAdjacentHTML("beforeend",'
");s.innerHTML='
'+cityssm.escapeHTML(s.lotName)+''+(s.mapName?cityssm.escapeHTML(s.mapName):'(No Name)')+""+cityssm.escapeHTML(s.lotType)+""+cityssm.escapeHTML(s.lotStatus)+"
"+(s.lotOccupancyCount>0?'Currently Occupied':"")+"
'+cityssm.escapeHTML(exports.aliases.lot)+""+cityssm.escapeHTML(exports.aliases.map)+""+cityssm.escapeHTML(exports.aliases.lot)+' TypeStatus
Displaying '+(r+1).toString()+" to "+Math.min(t.count,a+r)+" of "+t.count+'
'+(r>0?'
':"")+(a+r
':"")+"
",s.querySelector("table").append(i),r>0&&s.querySelector("button[data-page='previous']").addEventListener("click",o),a+r{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()})(); \ No newline at end of file +"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='

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

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

");const i=document.createElement("tbody");for(const s of t.lots)i.insertAdjacentHTML("beforeend",'
");s.innerHTML='
'+cityssm.escapeHTML(s.lotName)+''+(s.mapName?cityssm.escapeHTML(s.mapName):'(No Name)')+""+cityssm.escapeHTML(s.lotType)+""+cityssm.escapeHTML(s.lotStatus)+"
"+(s.lotOccupancyCount>0?'Currently Occupied':"")+"
'+cityssm.escapeHTML(exports.aliases.lot)+""+cityssm.escapeHTML(exports.aliases.map)+""+cityssm.escapeHTML(exports.aliases.lot)+' TypeStatus
Displaying '+(r+1).toString()+" to "+Math.min(t.count,a+r)+" of "+t.count+'
'+(r>0?'
':"")+(a+r
':"")+"
",s.querySelector("table").append(i),r>0&&s.querySelector("button[data-page='previous']").addEventListener("click",o),a+r{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()})(); \ No newline at end of file diff --git a/public/javascripts/mapSearch.min.js b/public/javascripts/mapSearch.min.js index ac05bcef..75128c1c 100644 --- a/public/javascripts/mapSearch.min.js +++ b/public/javascripts/mapSearch.min.js @@ -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='

Loading '+exports.aliases.maps+"...
";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",'
"))}if(s.innerHTML="",0===r)s.innerHTML='

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

";else{const e=document.createElement("table");e.className="table is-fullwidth is-striped is-hoverable",e.innerHTML="",e.append(i),s.append(e)}};a.addEventListener("keyup",r),document.querySelector("#form--searchFilters").addEventListener("submit",e=>{e.preventDefault(),r()}),r()})(); \ No newline at end of file +"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='

Loading '+exports.aliases.maps+"...
";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",'"))}if(s.innerHTML="",0===r)s.innerHTML='

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

";else{const e=document.createElement("table");e.className="table is-fullwidth is-striped is-hoverable has-sticky-header",e.innerHTML="",e.append(i),s.append(e)}};a.addEventListener("keyup",r),document.querySelector("#form--searchFilters").addEventListener("submit",e=>{e.preventDefault(),r()}),r()})(); \ No newline at end of file diff --git a/public/javascripts/workOrderSearch.min.js b/public/javascripts/workOrderSearch.min.js index d68f4617..d0bb9870 100644 --- a/public/javascripts/workOrderSearch.min.js +++ b/public/javascripts/workOrderSearch.min.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=exports.los,t=document.querySelector("main").dataset.urlPrefix,r=exports.workOrderPrints,s=document.querySelector("#form--searchFilters");e.initializeDatePickers(s);const a=document.querySelector("#container--searchResults"),i=Number.parseInt(document.querySelector("#searchFilter--limit").value,10),o=document.querySelector("#searchFilter--offset"),n=()=>{const e=Number.parseInt(o.value,10);a.innerHTML='

Loading Work Orders...
',cityssm.postJSON(t+"/workOrders/doSearchWorkOrders",s,s=>{if(0===s.workOrders.length)return void(a.innerHTML='

There are no work orders that meet the search criteria.

');const o=document.createElement("tbody");for(const e of s.workOrders)o.insertAdjacentHTML("beforeend",'"+(r.length>0?'':"")+"");a.innerHTML='
'+cityssm.escapeHTML(a.mapName||"(No Name)")+"
"+cityssm.escapeHTML(a.mapAddress1)+'
'+(a.mapLatitude&&a.mapLongitude?'':"")+''+(a.mapSVG?'':"")+''+a.lotCount+"
"+exports.aliases.map+'CoordinatesImage'+exports.aliases.lot+" Count
'+cityssm.escapeHTML(a.mapName||"(No Name)")+"
"+cityssm.escapeHTML(a.mapAddress1)+'
'+(a.mapLatitude&&a.mapLongitude?'':"")+''+(a.mapSVG?'':"")+''+a.lotCount+"
"+exports.aliases.map+'CoordinatesImage'+exports.aliases.lot+" Count
'+cityssm.escapeHTML(e.workOrderNumber)+""+cityssm.escapeHTML(e.workOrderType)+'
'+cityssm.escapeHTML(e.workOrderDescription)+'
'+e.workOrderOpenDateString+'
'+(e.workOrderCloseDate?e.workOrderCloseDateString:'(No Close Date)')+"
"+(0===e.workOrderMilestoneCount?"-":e.workOrderMilestoneCompletionCount+" / "+e.workOrderMilestoneCount)+"
'+(r.length>0?'':"")+'
Work Order NumberWork Order DescriptionDateProgress
Displaying '+(e+1).toString()+" to "+Math.min(s.count,i+e)+" of "+s.count+'
'+(e>0?'
':"")+(i+e
':"")+"
",a.querySelector("table").append(o),e>0&&a.querySelector("button[data-page='previous']").addEventListener("click",d),i+e{o.value="0",n()},d=()=>{o.value=Math.max(Number.parseInt(o.value,10)-i,0).toString(),n()},c=()=>{o.value=(Number.parseInt(o.value,10)+i).toString(),n()},u=s.querySelectorAll("input, select");for(const e of u)e.addEventListener("change",l);s.addEventListener("submit",e=>{e.preventDefault(),l()}),n()})(); \ No newline at end of file +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=exports.los,t=document.querySelector("main").dataset.urlPrefix,r=exports.workOrderPrints,s=document.querySelector("#form--searchFilters");e.initializeDatePickers(s);const a=document.querySelector("#container--searchResults"),i=Number.parseInt(document.querySelector("#searchFilter--limit").value,10),o=document.querySelector("#searchFilter--offset"),n=()=>{const e=Number.parseInt(o.value,10);a.innerHTML='

Loading Work Orders...
',cityssm.postJSON(t+"/workOrders/doSearchWorkOrders",s,s=>{if(0===s.workOrders.length)return void(a.innerHTML='

There are no work orders that meet the search criteria.

');const o=document.createElement("tbody");for(const e of s.workOrders)o.insertAdjacentHTML("beforeend",'
"+(r.length>0?'':"")+"");a.innerHTML='
'+cityssm.escapeHTML(e.workOrderNumber)+""+cityssm.escapeHTML(e.workOrderType)+'
'+cityssm.escapeHTML(e.workOrderDescription)+'
'+e.workOrderOpenDateString+'
'+(e.workOrderCloseDate?e.workOrderCloseDateString:'(No Close Date)')+"
"+(0===e.workOrderMilestoneCount?"-":e.workOrderMilestoneCompletionCount+" / "+e.workOrderMilestoneCount)+"
'+(r.length>0?'':"")+'
Work Order NumberWork Order DescriptionDateProgress
Displaying '+(e+1).toString()+" to "+Math.min(s.count,i+e)+" of "+s.count+'
'+(e>0?'
':"")+(i+e
':"")+"
",a.querySelector("table").append(o),e>0&&a.querySelector("button[data-page='previous']").addEventListener("click",d),i+e{o.value="0",n()},d=()=>{o.value=Math.max(Number.parseInt(o.value,10)-i,0).toString(),n()},c=()=>{o.value=(Number.parseInt(o.value,10)+i).toString(),n()},u=s.querySelectorAll("input, select");for(const e of u)e.addEventListener("change",l);s.addEventListener("submit",e=>{e.preventDefault(),l()}),n()})(); \ No newline at end of file