diff --git a/public-typescript/main.js b/public-typescript/main.js index dd647972..fb8fc193 100644 --- a/public-typescript/main.js +++ b/public-typescript/main.js @@ -353,25 +353,26 @@ Object.defineProperty(exports, "__esModule", { value: true }); * URLs */ const urlPrefix = document.querySelector("main").dataset.urlPrefix; + function getRecordURL(recordTypePlural, recordId, edit, time) { + return (urlPrefix + + "/" + + recordTypePlural + + "/" + + recordId + + (edit ? "/edit" : "") + + (time ? "/?t=" + Date.now() : "")); + } function getMapURL(mapId, edit = false, time = false) { - return urlPrefix + "/maps/" + mapId + (edit ? "/edit" : "") + (time ? "/?t=" + Date.now() : ""); + return getRecordURL("maps", mapId, edit, time); } function getLotURL(lotId, edit = false, time = false) { - return urlPrefix + "/lots/" + lotId + (edit ? "/edit" : "") + (time ? "/?t=" + Date.now() : ""); + return getRecordURL("lots", lotId, edit, time); } function getLotOccupancyURL(lotOccupancyId, edit = false, time = false) { - return (urlPrefix + - "/lotOccupancies/" + - lotOccupancyId + - (edit ? "/edit" : "") + - (time ? "/?t=" + Date.now() : "")); + return getRecordURL("lotOccupancies", lotOccupancyId, edit, time); } function getWorkOrderURL(workOrderId, edit = false, time = false) { - return (urlPrefix + - "/workOrders/" + - workOrderId + - (edit ? "/edit" : "") + - (time ? "/?t=" + Date.now() : "")); + return getRecordURL("workOrders", workOrderId, edit, time); } /* * Declare LOS diff --git a/public-typescript/main.ts b/public-typescript/main.ts index e018f732..588884f2 100644 --- a/public-typescript/main.ts +++ b/public-typescript/main.ts @@ -438,32 +438,37 @@ declare const bulmaJS: BulmaJS; const urlPrefix = document.querySelector("main")!.dataset.urlPrefix!; + function getRecordURL( + recordTypePlural: "maps" | "lots" | "lotOccupancies" | "workOrders", + recordId: number | string, + edit: boolean, + time: boolean + ): string { + return ( + urlPrefix + + "/" + + recordTypePlural + + "/" + + recordId + + (edit ? "/edit" : "") + + (time ? "/?t=" + Date.now() : "") + ); + } + function getMapURL(mapId: number | string, edit = false, time = false) { - return urlPrefix + "/maps/" + mapId + (edit ? "/edit" : "") + (time ? "/?t=" + Date.now() : ""); + return getRecordURL("maps", mapId, edit, time); } function getLotURL(lotId: number | string, edit = false, time = false) { - return urlPrefix + "/lots/" + lotId + (edit ? "/edit" : "") + (time ? "/?t=" + Date.now() : ""); + return getRecordURL("lots", lotId, edit, time); } function getLotOccupancyURL(lotOccupancyId: number | string, edit = false, time = false) { - return ( - urlPrefix + - "/lotOccupancies/" + - lotOccupancyId + - (edit ? "/edit" : "") + - (time ? "/?t=" + Date.now() : "") - ); + return getRecordURL("lotOccupancies", lotOccupancyId, edit, time); } function getWorkOrderURL(workOrderId: number | string, edit = false, time = false) { - return ( - urlPrefix + - "/workOrders/" + - workOrderId + - (edit ? "/edit" : "") + - (time ? "/?t=" + Date.now() : "") - ); + return getRecordURL("workOrders", workOrderId, edit, time); } /* diff --git a/public-typescript/workOrderEdit.js b/public-typescript/workOrderEdit.js index d6fa60bf..4bbaf837 100644 --- a/public-typescript/workOrderEdit.js +++ b/public-typescript/workOrderEdit.js @@ -247,9 +247,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); "" + ("" + '' + cityssm.escapeHTML(lotOccupancy.occupancyType || "") + "" + @@ -434,9 +432,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); rowElement.innerHTML = "" + '' + cityssm.escapeHTML(lot.lotName || "") + "" + diff --git a/public-typescript/workOrderEdit/workOrderEditLots.js b/public-typescript/workOrderEdit/workOrderEditLots.js index 809d9c5a..a16ec1b9 100644 --- a/public-typescript/workOrderEdit/workOrderEditLots.js +++ b/public-typescript/workOrderEdit/workOrderEditLots.js @@ -119,9 +119,7 @@ function renderRelatedOccupancies() { "" + ("" + '' + cityssm.escapeHTML(lotOccupancy.occupancyType || "") + "" + @@ -306,9 +304,7 @@ function renderRelatedLots() { rowElement.innerHTML = "" + '' + cityssm.escapeHTML(lot.lotName || "") + "" + diff --git a/public-typescript/workOrderEdit/workOrderEditLots.ts b/public-typescript/workOrderEdit/workOrderEditLots.ts index 45cd75c7..0c9db22a 100644 --- a/public-typescript/workOrderEdit/workOrderEditLots.ts +++ b/public-typescript/workOrderEdit/workOrderEditLots.ts @@ -174,9 +174,7 @@ function renderRelatedOccupancies(): void { "" + ("" + '' + cityssm.escapeHTML(lotOccupancy.occupancyType || "") + "" + @@ -427,9 +425,7 @@ function renderRelatedLots(): void { rowElement.innerHTML = "" + '' + cityssm.escapeHTML(lot.lotName || "") + "" + diff --git a/public/javascripts/main.min.js b/public/javascripts/main.min.js index 0c501e18..a49faefe 100644 --- a/public/javascripts/main.min.js +++ b/public/javascripts/main.min.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{let e=!1;function t(){return e}function s(e){const t=e.currentTarget.closest(".field").querySelector("input, select");if(t.classList.remove("is-readonly"),"INPUT"===t.tagName)t.readOnly=!1,t.disabled=!1;else{const e=t.querySelectorAll("option");for(const t of e)t.disabled=!1}t.focus()}const a={type:"date",dateFormat:"yyyy-MM-dd",showFooter:!1,color:"info",displayMode:"dialog"};const o=Object.freeze({Map:cityssm.escapeHTML(exports.aliases.map),map:cityssm.escapeHTML(exports.aliases.map.toLowerCase()),Maps:cityssm.escapeHTML(exports.aliases.maps),maps:cityssm.escapeHTML(exports.aliases.maps.toLowerCase()),Lot:cityssm.escapeHTML(exports.aliases.lot),lot:cityssm.escapeHTML(exports.aliases.lot.toLowerCase()),Lots:cityssm.escapeHTML(exports.aliases.lots),lots:cityssm.escapeHTML(exports.aliases.lots.toLowerCase()),Occupancy:cityssm.escapeHTML(exports.aliases.occupancy),occupancy:cityssm.escapeHTML(exports.aliases.occupancy.toLowerCase()),Occupancies:cityssm.escapeHTML(exports.aliases.occupancies),occupancies:cityssm.escapeHTML(exports.aliases.occupancies.toLowerCase()),Occupant:cityssm.escapeHTML(exports.aliases.occupant),occupant:cityssm.escapeHTML(exports.aliases.occupant.toLowerCase()),Occupants:cityssm.escapeHTML(exports.aliases.occupants),occupants:cityssm.escapeHTML(exports.aliases.occupants.toLowerCase()),ExternalReceiptNumber:cityssm.escapeHTML(exports.aliases.externalReceiptNumber),externalReceiptNumber:cityssm.escapeHTML(exports.aliases.externalReceiptNumber.toLowerCase()),OccupancyStartDate:cityssm.escapeHTML(exports.aliases.occupancyStartDate),occupancyStartDate:cityssm.escapeHTML(exports.aliases.occupancyStartDate.toLowerCase()),WorkOrderOpenDate:cityssm.escapeHTML(exports.aliases.workOrderOpenDate),workOrderOpenDate:cityssm.escapeHTML(exports.aliases.workOrderOpenDate.toLowerCase()),WorkOrderCloseDate:cityssm.escapeHTML(exports.aliases.workOrderCloseDate),workOrderCloseDate:cityssm.escapeHTML(exports.aliases.workOrderCloseDate.toLowerCase())}),c=["red","green","orange","blue","pink","yellow","purple"],i=["bright","light","dark"];const n=document.querySelector("main").dataset.urlPrefix;const r={urlPrefix:n,apiKey:document.querySelector("main").dataset.apiKey,highlightMap:function(e,t,s){let a,o=t;for(;!(a=e.querySelector("#"+o))&&o.includes("-");)o=o.slice(0,Math.max(0,o.lastIndexOf("-")));if(a){a.style.fill="",a.classList.add("highlight","is-"+s);const e=a.querySelectorAll("path");for(const t of e)t.style.fill=""}},initializeUnlockFieldButtons:function(e){const t=e.querySelectorAll(".is-unlock-field-button");for(const e of t)e.addEventListener("click",s)},initializeDatePickers:function(e){const t=e.querySelectorAll("input[type='date']");for(const s of t){const t=Object.assign({},a);s.required&&(t.showClearButton=!1),s.min&&(t.minDate=cityssm.dateStringToDate(s.min)),s.max&&(t.maxDate=cityssm.dateStringToDate(s.max));const o=exports.bulmaCalendar.attach(s,t)[0];o.on("save",()=>{s.value=o.value(),s.dispatchEvent(new Event("change"))}),o.on("show",()=>{document.querySelector("html").classList.add("is-clipped")}),o.on("hide",()=>{bulmaJS.toggleHtmlClipped()});const c=e.querySelector("#"+o._id),i=c.querySelectorAll(".datepicker-nav button.is-text");for(const e of i)e.classList.add("is-"+a.color),e.classList.remove("is-text");const n=c.querySelector(".datetimepicker-clear-button");n&&(s.required?n.remove():(n.dataset.tooltip="Clear",n.ariaLabel="Clear",n.innerHTML=''));const r=document.querySelector("label[for='"+s.id+"']");r&&(c.querySelector(".datetimepicker-dummy-input").ariaLabel=r.textContent)}},populateAliases:function(e){const t=e.querySelectorAll(".alias");for(const e of t)switch(e.dataset.alias){case"Map":e.textContent=exports.aliases.map;break;case"Lot":e.textContent=exports.aliases.lot;break;case"lot":e.textContent=exports.aliases.lot.toLowerCase();break;case"Occupancy":e.textContent=exports.aliases.occupancy;break;case"occupancy":e.textContent=exports.aliases.occupancy.toLowerCase();break;case"Occupant":e.textContent=exports.aliases.occupant;break;case"occupant":e.textContent=exports.aliases.occupant.toLowerCase();break;case"ExternalReceiptNumber":e.textContent=exports.aliases.externalReceiptNumber}},escapedAliases:o,getRandomColor:function(e){let t=e;return t.length<2&&(t+="a1"),exports.randomColor({seed:t+t,hue:c[t.codePointAt(t.length-1)%c.length],luminosity:i[t.codePointAt(t.length-2)%i.length]})},setUnsavedChanges:function(){t()||(e=!0,cityssm.enableNavBlocker())},clearUnsavedChanges:function(){e=!1,cityssm.disableNavBlocker()},hasUnsavedChanges:t,getMoveUpDownButtonFieldHTML:function(e,t,s=!0){return`
\n
\n \n \n \n
\n
\n \n \n \n
\n
`},getLoadingParagraphHTML:function(e="Loading..."){return`

\n
\n ${cityssm.escapeHTML(e)}\n

`},getSearchResultsPagerHTML:function(e,t,s){return'
Displaying '+(t+1).toString()+" to "+Math.min(s,e+t)+" of "+s+'
'+(t>0?'
':"")+(e+t
':"")+"
"},getMapURL:function(e,t=!1,s=!1){return n+"/maps/"+e+(t?"/edit":"")+(s?"/?t="+Date.now():"")},getLotURL:function(e,t=!1,s=!1){return n+"/lots/"+e+(t?"/edit":"")+(s?"/?t="+Date.now():"")},getLotOccupancyURL:function(e,t=!1,s=!1){return n+"/lotOccupancies/"+e+(t?"/edit":"")+(s?"/?t="+Date.now():"")},getWorkOrderURL:function(e,t=!1,s=!1){return n+"/workOrders/"+e+(t?"/edit":"")+(s?"/?t="+Date.now():"")}};exports.los=r})(); \ No newline at end of file +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{let e=!1;function t(){return e}function s(e){const t=e.currentTarget.closest(".field").querySelector("input, select");if(t.classList.remove("is-readonly"),"INPUT"===t.tagName)t.readOnly=!1,t.disabled=!1;else{const e=t.querySelectorAll("option");for(const t of e)t.disabled=!1}t.focus()}const a={type:"date",dateFormat:"yyyy-MM-dd",showFooter:!1,color:"info",displayMode:"dialog"};const o=Object.freeze({Map:cityssm.escapeHTML(exports.aliases.map),map:cityssm.escapeHTML(exports.aliases.map.toLowerCase()),Maps:cityssm.escapeHTML(exports.aliases.maps),maps:cityssm.escapeHTML(exports.aliases.maps.toLowerCase()),Lot:cityssm.escapeHTML(exports.aliases.lot),lot:cityssm.escapeHTML(exports.aliases.lot.toLowerCase()),Lots:cityssm.escapeHTML(exports.aliases.lots),lots:cityssm.escapeHTML(exports.aliases.lots.toLowerCase()),Occupancy:cityssm.escapeHTML(exports.aliases.occupancy),occupancy:cityssm.escapeHTML(exports.aliases.occupancy.toLowerCase()),Occupancies:cityssm.escapeHTML(exports.aliases.occupancies),occupancies:cityssm.escapeHTML(exports.aliases.occupancies.toLowerCase()),Occupant:cityssm.escapeHTML(exports.aliases.occupant),occupant:cityssm.escapeHTML(exports.aliases.occupant.toLowerCase()),Occupants:cityssm.escapeHTML(exports.aliases.occupants),occupants:cityssm.escapeHTML(exports.aliases.occupants.toLowerCase()),ExternalReceiptNumber:cityssm.escapeHTML(exports.aliases.externalReceiptNumber),externalReceiptNumber:cityssm.escapeHTML(exports.aliases.externalReceiptNumber.toLowerCase()),OccupancyStartDate:cityssm.escapeHTML(exports.aliases.occupancyStartDate),occupancyStartDate:cityssm.escapeHTML(exports.aliases.occupancyStartDate.toLowerCase()),WorkOrderOpenDate:cityssm.escapeHTML(exports.aliases.workOrderOpenDate),workOrderOpenDate:cityssm.escapeHTML(exports.aliases.workOrderOpenDate.toLowerCase()),WorkOrderCloseDate:cityssm.escapeHTML(exports.aliases.workOrderCloseDate),workOrderCloseDate:cityssm.escapeHTML(exports.aliases.workOrderCloseDate.toLowerCase())}),c=["red","green","orange","blue","pink","yellow","purple"],n=["bright","light","dark"];const i=document.querySelector("main").dataset.urlPrefix;function r(e,t,s,a){return i+"/"+e+"/"+t+(s?"/edit":"")+(a?"/?t="+Date.now():"")}const l={urlPrefix:i,apiKey:document.querySelector("main").dataset.apiKey,highlightMap:function(e,t,s){let a,o=t;for(;!(a=e.querySelector("#"+o))&&o.includes("-");)o=o.slice(0,Math.max(0,o.lastIndexOf("-")));if(a){a.style.fill="",a.classList.add("highlight","is-"+s);const e=a.querySelectorAll("path");for(const t of e)t.style.fill=""}},initializeUnlockFieldButtons:function(e){const t=e.querySelectorAll(".is-unlock-field-button");for(const e of t)e.addEventListener("click",s)},initializeDatePickers:function(e){const t=e.querySelectorAll("input[type='date']");for(const s of t){const t=Object.assign({},a);s.required&&(t.showClearButton=!1),s.min&&(t.minDate=cityssm.dateStringToDate(s.min)),s.max&&(t.maxDate=cityssm.dateStringToDate(s.max));const o=exports.bulmaCalendar.attach(s,t)[0];o.on("save",()=>{s.value=o.value(),s.dispatchEvent(new Event("change"))}),o.on("show",()=>{document.querySelector("html").classList.add("is-clipped")}),o.on("hide",()=>{bulmaJS.toggleHtmlClipped()});const c=e.querySelector("#"+o._id),n=c.querySelectorAll(".datepicker-nav button.is-text");for(const e of n)e.classList.add("is-"+a.color),e.classList.remove("is-text");const i=c.querySelector(".datetimepicker-clear-button");i&&(s.required?i.remove():(i.dataset.tooltip="Clear",i.ariaLabel="Clear",i.innerHTML=''));const r=document.querySelector("label[for='"+s.id+"']");r&&(c.querySelector(".datetimepicker-dummy-input").ariaLabel=r.textContent)}},populateAliases:function(e){const t=e.querySelectorAll(".alias");for(const e of t)switch(e.dataset.alias){case"Map":e.textContent=exports.aliases.map;break;case"Lot":e.textContent=exports.aliases.lot;break;case"lot":e.textContent=exports.aliases.lot.toLowerCase();break;case"Occupancy":e.textContent=exports.aliases.occupancy;break;case"occupancy":e.textContent=exports.aliases.occupancy.toLowerCase();break;case"Occupant":e.textContent=exports.aliases.occupant;break;case"occupant":e.textContent=exports.aliases.occupant.toLowerCase();break;case"ExternalReceiptNumber":e.textContent=exports.aliases.externalReceiptNumber}},escapedAliases:o,getRandomColor:function(e){let t=e;return t.length<2&&(t+="a1"),exports.randomColor({seed:t+t,hue:c[t.codePointAt(t.length-1)%c.length],luminosity:n[t.codePointAt(t.length-2)%n.length]})},setUnsavedChanges:function(){t()||(e=!0,cityssm.enableNavBlocker())},clearUnsavedChanges:function(){e=!1,cityssm.disableNavBlocker()},hasUnsavedChanges:t,getMoveUpDownButtonFieldHTML:function(e,t,s=!0){return`
\n
\n \n \n \n
\n
\n \n \n \n
\n
`},getLoadingParagraphHTML:function(e="Loading..."){return`

\n
\n ${cityssm.escapeHTML(e)}\n

`},getSearchResultsPagerHTML:function(e,t,s){return'
Displaying '+(t+1).toString()+" to "+Math.min(s,e+t)+" of "+s+'
'+(t>0?'
':"")+(e+t
':"")+"
"},getMapURL:function(e,t=!1,s=!1){return r("maps",e,t,s)},getLotURL:function(e,t=!1,s=!1){return r("lots",e,t,s)},getLotOccupancyURL:function(e,t=!1,s=!1){return r("lotOccupancies",e,t,s)},getWorkOrderURL:function(e,t=!1,s=!1){return r("workOrders",e,t,s)}};exports.los=l})(); \ No newline at end of file diff --git a/public/javascripts/workOrderEdit.min.js b/public/javascripts/workOrderEdit.min.js index ca8af2c4..2c8176fa 100644 --- a/public/javascripts/workOrderEdit.min.js +++ b/public/javascripts/workOrderEdit.min.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{var e;const t=exports.los,o=document.querySelector("#workOrderEdit--workOrderId").value,r=""===o,s=document.querySelector("#form--workOrderEdit");t.initializeDatePickers(s.querySelector("#workOrderEdit--workOrderOpenDateString").closest(".field")),t.initializeUnlockFieldButtons(s),s.addEventListener("submit",e=>{e.preventDefault(),cityssm.postJSON(t.urlPrefix+"/workOrders/"+(r?"doCreateWorkOrder":"doUpdateWorkOrder"),e.currentTarget,e=>{e.success?(cityssm.disableNavBlocker(),r?window.location.href=t.getWorkOrderURL(e.workOrderId,!0):bulmaJS.alert({message:"Work Order Updated Successfully",contextualColorName:"success"})):bulmaJS.alert({title:"Error Updating Work Order",message:e.errorMessage||"",contextualColorName:"danger"})})});const n=s.querySelectorAll("input, select");for(const e of n)e.addEventListener("change",cityssm.enableNavBlocker);function a(){cityssm.postJSON(t.urlPrefix+"/workOrders/doCloseWorkOrder",{workOrderId:o},e=>{e.success?window.location.href=t.urlPrefix+"/workOrders/"+o:bulmaJS.alert({title:"Error Closing Work Order",message:e.errorMessage||"",contextualColorName:"danger"})})}function l(){cityssm.postJSON(t.urlPrefix+"/workOrders/doDeleteWorkOrder",{workOrderId:o},e=>{e.success?window.location.href=t.urlPrefix+"/workOrders":bulmaJS.alert({title:"Error Deleting Work Order",message:e.errorMessage||"",contextualColorName:"danger"})})}let c;if(null===(w=document.querySelector("#button--closeWorkOrder"))||void 0===w||w.addEventListener("click",()=>{c.some(e=>!e.workOrderMilestoneCompletionDate)?bulmaJS.alert({title:"Outstanding Milestones",message:"You cannot close a work order with outstanding milestones.\n Either complete the outstanding milestones, or remove them from the work order.",contextualColorName:"warning"}):bulmaJS.confirm({title:"Close Work Order",message:"Are you sure you want to close this work order?",contextualColorName:"info",okButton:{text:"Yes, Close Work Order",callbackFunction:a}})}),null===(e=document.querySelector("#button--deleteWorkOrder"))||void 0===e||e.addEventListener("click",e=>{e.preventDefault(),bulmaJS.confirm({title:"Delete Work Order",message:"Are you sure you want to delete this work order?",contextualColorName:"warning",okButton:{text:"Yes, Delete Work Order",callbackFunction:l}})}),!r){Object.defineProperty(exports,"__esModule",{value:!0});let e=exports.workOrderLots;delete exports.workOrderLots;let r=exports.workOrderLotOccupancies;function i(e){const s=e.currentTarget.closest(".container--lotOccupancy").dataset.lotOccupancyId;bulmaJS.confirm({title:`Delete ${t.escapedAliases.Occupancy} Relationship`,message:`Are you sure you want to remove the relationship to this ${t.escapedAliases.occupancy} record from this work order? Note that the record will remain.`,contextualColorName:"warning",okButton:{text:"Yes, Delete Relationship",callbackFunction:function(){cityssm.postJSON(t.urlPrefix+"/workOrders/doDeleteWorkOrderLotOccupancy",{workOrderId:o,lotOccupancyId:s},e=>{e.success?(r=e.workOrderLotOccupancies,y()):bulmaJS.alert({title:"Error Deleting Relationship",message:e.errorMessage||"",contextualColorName:"danger"})})}}})}function d(r,s){cityssm.postJSON(t.urlPrefix+"/workOrders/doAddWorkOrderLot",{workOrderId:o,lotId:r},o=>{o.success?(e=o.workOrderLots,y()):bulmaJS.alert({title:"Error Adding "+t.escapedAliases.Lot,message:o.errorMessage||"",contextualColorName:"danger"}),s&&s(o.success)})}function u(e){d(e.currentTarget.dataset.lotId)}function m(r){const s=Number.parseInt(r.currentTarget.closest(".container--lot").dataset.lotId,10),n=e.find(e=>e.lotId===s);let a;function l(o){o.preventDefault(),cityssm.postJSON(t.urlPrefix+"/workOrders/doUpdateLotStatus",o.currentTarget,t=>{t.success?(e=t.workOrderLots,y(),a()):bulmaJS.alert({title:"Error Deleting Relationship",message:t.errorMessage||"",contextualColorName:"danger"})})}cityssm.openHtmlModal("lot-editLotStatus",{onshow(e){t.populateAliases(e),e.querySelector("#lotStatusEdit--lotId").value=s.toString(),e.querySelector("#lotStatusEdit--lotName").value=n.lotName;const r=e.querySelector("#lotStatusEdit--lotStatusId");let a=!1;for(const e of exports.lotStatuses){const t=document.createElement("option");t.value=e.lotStatusId.toString(),t.textContent=e.lotStatus,e.lotStatusId===n.lotStatusId&&(a=!0),r.append(t)}if(!a&&n.lotStatusId){const e=document.createElement("option");e.value=n.lotStatusId.toString(),e.textContent=n.lotStatus,r.append(e)}n.lotStatusId&&(r.value=n.lotStatusId.toString()),e.querySelector("form").insertAdjacentHTML("beforeend",``)},onshown(e,t){a=t,bulmaJS.toggleHtmlClipped(),e.querySelector("form").addEventListener("submit",l)},onremoved(){bulmaJS.toggleHtmlClipped()}})}function p(r){const s=r.currentTarget.closest(".container--lot").dataset.lotId;bulmaJS.confirm({title:`Delete ${t.escapedAliases.Occupancy} Relationship`,message:`Are you sure you want to remove the relationship to this ${t.escapedAliases.occupancy} record from this work order? Note that the record will remain.`,contextualColorName:"warning",okButton:{text:"Yes, Delete Relationship",callbackFunction:function(){cityssm.postJSON(t.urlPrefix+"/workOrders/doDeleteWorkOrderLot",{workOrderId:o,lotId:s},t=>{t.success?(e=t.workOrderLots,y()):bulmaJS.alert({title:"Error Deleting Relationship",message:t.errorMessage||"",contextualColorName:"danger"})})}}})}function y(){!function(){var o,s;const n=document.querySelector("#container--lotOccupancies");if(document.querySelector(".tabs a[href='#relatedTab--lotOccupancies'] .tag").textContent=r.length.toString(),0===r.length)return void(n.innerHTML=`
\n

There are no ${t.escapedAliases.occupancies} associated with this work order.

\n
`);n.innerHTML=`\n \n \n \n \n \n \n \n
${t.escapedAliases.Occupancy} Type${t.escapedAliases.Lot}${t.escapedAliases.OccupancyStartDate}End Date${t.escapedAliases.Occupants}
`;const a=cityssm.dateToString(new Date);for(const l of r){const r=document.createElement("tr");r.className="container--lotOccupancy",r.dataset.lotOccupancyId=l.lotOccupancyId.toString();const c=!(l.occupancyEndDate&&l.occupancyEndDateStringl.lotId===e.lotId);r.innerHTML=''+(c?'':'')+''+cityssm.escapeHTML(l.occupancyType||"")+"",l.lotId?r.insertAdjacentHTML("beforeend",""+cityssm.escapeHTML(l.lotName||"")+(d?"":' ')+""):r.insertAdjacentHTML("beforeend",`(No ${t.escapedAliases.Lot})`),r.insertAdjacentHTML("beforeend",""+l.occupancyStartDateString+""+(l.occupancyEndDate?l.occupancyEndDateString:'(No End Date)')+""+(0===l.lotOccupancyOccupants.length?'(No '+t.escapedAliases.Occupants+")":null===(o=l.lotOccupancyOccupants)||void 0===o?void 0:o.reduce((e,o)=>e+' '+cityssm.escapeHTML(o.occupantName)+"
",""))+''),null===(s=r.querySelector(".button--addLot"))||void 0===s||s.addEventListener("click",u),r.querySelector(".button--deleteLotOccupancy").addEventListener("click",i),n.querySelector("tbody").append(r)}}(),function(){const o=document.querySelector("#container--lots");if(document.querySelector(".tabs a[href='#relatedTab--lots'] .tag").textContent=e.length.toString(),0!==e.length){o.innerHTML=`\n \n \n \n \n \n \n \n \n
${t.escapedAliases.Lot}${t.escapedAliases.Map}${t.escapedAliases.Lot} TypeStatus
`;for(const r of e){const e=document.createElement("tr");e.className="container--lot",e.dataset.lotId=r.lotId.toString(),e.innerHTML=''+cityssm.escapeHTML(r.lotName||"")+""+cityssm.escapeHTML(r.mapName||"")+""+cityssm.escapeHTML(r.lotType||"")+""+(r.lotStatusId?cityssm.escapeHTML(r.lotStatus||""):'(No Status)')+' ',e.querySelector(".button--editLotStatus").addEventListener("click",m),e.querySelector(".button--deleteLot").addEventListener("click",p),o.querySelector("tbody").append(e)}}else o.innerHTML=`
\n

There are no ${t.escapedAliases.lots} associated with this work order.

\n
`}()}function O(e){const s=e.currentTarget.closest("tr");!function(e,s){cityssm.postJSON(t.urlPrefix+"/workOrders/doAddWorkOrderLotOccupancy",{workOrderId:o,lotOccupancyId:e},e=>{e.success?(r=e.workOrderLotOccupancies,y()):bulmaJS.alert({title:"Error Adding "+t.escapedAliases.Occupancy,message:e.errorMessage||"",contextualColorName:"danger"}),s&&s(e.success)})}(s.dataset.lotOccupancyId,e=>{e&&s.remove()})}function h(e){const t=e.currentTarget.closest("tr");d(t.dataset.lotId,e=>{e&&t.remove()})}delete exports.workOrderLotOccupancies,y(),document.querySelector("#button--addLotOccupancy").addEventListener("click",()=>{let e,r;function s(o){o&&o.preventDefault(),r.innerHTML=t.getLoadingParagraphHTML("Searching..."),cityssm.postJSON(t.urlPrefix+"/lotOccupancies/doSearchLotOccupancies",e,e=>{if(0!==e.lotOccupancies.length){r.innerHTML=`\n \n \n \n \n \n \n \n \n \n
${t.escapedAliases.Occupancy} Type${t.escapedAliases.Lot}${t.escapedAliases.OccupancyStartDate}End Date${t.escapedAliases.Occupants}
`;for(const o of e.lotOccupancies){const e=document.createElement("tr");e.className="container--lotOccupancy",e.dataset.lotOccupancyId=o.lotOccupancyId.toString(),e.innerHTML=''+cityssm.escapeHTML(o.occupancyType||"")+"",o.lotId?e.insertAdjacentHTML("beforeend",""+cityssm.escapeHTML(o.lotName||"")+""):e.insertAdjacentHTML("beforeend",`(No ${t.escapedAliases.Lot})`),e.insertAdjacentHTML("beforeend",""+o.occupancyStartDateString+""+(o.occupancyEndDate?o.occupancyEndDateString:'(No End Date)')+""+(0===o.lotOccupancyOccupants.length?'(No '+cityssm.escapeHTML(exports.aliases.occupants)+")":cityssm.escapeHTML(o.lotOccupancyOccupants[0].occupantName)+(o.lotOccupancyOccupants.length>1?" plus "+(o.lotOccupancyOccupants.length-1):""))+""),e.querySelector(".button--addLotOccupancy").addEventListener("click",O),r.querySelector("tbody").append(e)}}else r.innerHTML='
\n

There are no records that meet the search criteria.

\n
'})}cityssm.openHtmlModal("workOrder-addLotOccupancy",{onshow(n){t.populateAliases(n),e=n.querySelector("form"),r=n.querySelector("#resultsContainer--lotOccupancyAdd"),n.querySelector("#lotOccupancySearch--notWorkOrderId").value=o,n.querySelector("#lotOccupancySearch--occupancyEffectiveDateString").value=document.querySelector("#workOrderEdit--workOrderOpenDateString").value,s()},onshown(t){bulmaJS.toggleHtmlClipped(),t.querySelector("#lotOccupancySearch--occupantName").addEventListener("change",s),t.querySelector("#lotOccupancySearch--lotName").addEventListener("change",s),e.addEventListener("submit",s)},onremoved(){bulmaJS.toggleHtmlClipped()}})}),document.querySelector("#button--addLot").addEventListener("click",()=>{let e,r;function s(o){o&&o.preventDefault(),r.innerHTML=t.getLoadingParagraphHTML("Searching..."),cityssm.postJSON(t.urlPrefix+"/lots/doSearchLots",e,e=>{if(0!==e.lots.length){r.innerHTML=`\n \n \n \n \n \n \n \n \n
${t.escapedAliases.Lot}${t.escapedAliases.Map}${t.escapedAliases.Lot} TypeStatus
`;for(const t of e.lots){const e=document.createElement("tr");e.className="container--lot",e.dataset.lotId=t.lotId.toString(),e.innerHTML=''+cityssm.escapeHTML(t.lotName||"")+""+cityssm.escapeHTML(t.mapName||"")+""+cityssm.escapeHTML(t.lotType||"")+""+cityssm.escapeHTML(t.lotStatus||"")+"",e.querySelector(".button--addLot").addEventListener("click",h),r.querySelector("tbody").append(e)}}else r.innerHTML='

There are no records that meet the search criteria.

'})}cityssm.openHtmlModal("workOrder-addLot",{onshow(n){t.populateAliases(n),e=n.querySelector("form"),r=n.querySelector("#resultsContainer--lotAdd"),n.querySelector("#lotSearch--notWorkOrderId").value=o;const a=n.querySelector("#lotSearch--lotStatusId");for(const e of exports.lotStatuses){const t=document.createElement("option");t.value=e.lotStatusId.toString(),t.textContent=e.lotStatus,a.append(t)}s()},onshown(t){bulmaJS.toggleHtmlClipped(),t.querySelector("#lotSearch--lotName").addEventListener("change",s),t.querySelector("#lotSearch--lotStatusId").addEventListener("change",s),e.addEventListener("submit",s)},onremoved(){bulmaJS.toggleHtmlClipped()}})})}var w;Object.defineProperty(exports,"__esModule",{value:!0});let k=exports.workOrderComments;delete exports.workOrderComments;const S=e=>{const r=Number.parseInt(e.currentTarget.closest("tr").dataset.workOrderCommentId,10),s=k.find(e=>e.workOrderCommentId===r);let n,a;function l(e){e.preventDefault(),cityssm.postJSON(t.urlPrefix+"/workOrders/doUpdateWorkOrderComment",n,e=>{e.success?(k=e.workOrderComments,a(),b()):bulmaJS.alert({title:"Error Updating Comment",message:e.errorMessage||"",contextualColorName:"danger"})})}cityssm.openHtmlModal("workOrder-editComment",{onshow(e){e.querySelector("#workOrderCommentEdit--workOrderId").value=o,e.querySelector("#workOrderCommentEdit--workOrderCommentId").value=r.toString(),e.querySelector("#workOrderCommentEdit--workOrderComment").value=s.workOrderComment;const t=e.querySelector("#workOrderCommentEdit--workOrderCommentDateString");t.value=s.workOrderCommentDateString;const n=cityssm.dateToString(new Date);t.max=s.workOrderCommentDateString<=n?n:s.workOrderCommentDateString,e.querySelector("#workOrderCommentEdit--workOrderCommentTimeString").value=s.workOrderCommentTimeString},onshown(e,o){bulmaJS.toggleHtmlClipped(),t.initializeDatePickers(e),e.querySelector("#workOrderCommentEdit--workOrderComment").focus(),(n=e.querySelector("form")).addEventListener("submit",l),a=o},onremoved(){bulmaJS.toggleHtmlClipped()}})};function g(e){const r=Number.parseInt(e.currentTarget.closest("tr").dataset.workOrderCommentId,10);bulmaJS.confirm({title:"Remove Comment?",message:"Are you sure you want to remove this comment?",okButton:{text:"Yes, Remove Comment",callbackFunction:function(){cityssm.postJSON(t.urlPrefix+"/workOrders/doDeleteWorkOrderComment",{workOrderId:o,workOrderCommentId:r},e=>{e.success?(k=e.workOrderComments,b()):bulmaJS.alert({title:"Error Removing Comment",message:e.errorMessage||"",contextualColorName:"danger"})})}},contextualColorName:"warning"})}function b(){const e=document.querySelector("#container--workOrderComments");if(0===k.length)return void(e.innerHTML='
\n

There are no comments to display.

\n
');const t=document.createElement("table");t.className="table is-fullwidth is-striped is-hoverable",t.innerHTML='\n Commentor\n Comment Date\n Comment\n Options';for(const e of k){const o=document.createElement("tr");o.dataset.workOrderCommentId=e.workOrderCommentId.toString(),o.innerHTML=""+cityssm.escapeHTML(e.recordCreate_userName||"")+""+e.workOrderCommentDateString+(0===e.workOrderCommentTime?"":" "+e.workOrderCommentTimeString)+""+cityssm.escapeHTML(e.workOrderComment||"")+'
',o.querySelector(".button--edit").addEventListener("click",S),o.querySelector(".button--delete").addEventListener("click",g),t.querySelector("tbody").append(o)}e.innerHTML="",e.append(t)}function f(e){e.success?(c=e.workOrderMilestones,T()):bulmaJS.alert({title:"Error Reopening Milestone",message:e.errorMessage||"",contextualColorName:"danger"})}function M(e){e.preventDefault();const r=cityssm.dateToString(new Date),s=Number.parseInt(e.currentTarget.closest(".container--milestone").dataset.workOrderMilestoneId,10),n=c.find(e=>e.workOrderMilestoneId===s);bulmaJS.confirm({title:"Complete Milestone",message:"Are you sure you want to complete this milestone?"+(n.workOrderMilestoneDateString>r?"
Note that this milestone is expected to be completed in the future.":""),messageIsHtml:!0,contextualColorName:"warning",okButton:{text:"Yes, Complete Milestone",callbackFunction:()=>{cityssm.postJSON(t.urlPrefix+"/workOrders/doCompleteWorkOrderMilestone",{workOrderId:o,workOrderMilestoneId:s},f)}}})}function v(e){e.preventDefault();const r=e.currentTarget.closest(".container--milestone").dataset.workOrderMilestoneId;bulmaJS.confirm({title:"Reopen Milestone",message:"Are you sure you want to remove the completion status from this milestone, and reopen it?",contextualColorName:"warning",okButton:{text:"Yes, Reopen Milestone",callbackFunction:()=>{cityssm.postJSON(t.urlPrefix+"/workOrders/doReopenWorkOrderMilestone",{workOrderId:o,workOrderMilestoneId:r},f)}}})}function L(e){e.preventDefault();const r=e.currentTarget.closest(".container--milestone").dataset.workOrderMilestoneId;bulmaJS.confirm({title:"Delete Milestone",message:"Are you sure you want to delete this milestone?",contextualColorName:"warning",okButton:{text:"Yes, Delete Milestone",callbackFunction:()=>{cityssm.postJSON(t.urlPrefix+"/workOrders/doDeleteWorkOrderMilestone",{workOrderMilestoneId:r,workOrderId:o},f)}}})}function C(e){e.preventDefault();const r=Number.parseInt(e.currentTarget.closest(".container--milestone").dataset.workOrderMilestoneId,10),s=c.find(e=>e.workOrderMilestoneId===r);let n;const a=e=>{e.preventDefault(),cityssm.postJSON(t.urlPrefix+"/workOrders/doUpdateWorkOrderMilestone",e.currentTarget,e=>{f(e),e.success&&n()})};cityssm.openHtmlModal("workOrder-editMilestone",{onshow(e){e.querySelector("#milestoneEdit--workOrderId").value=o,e.querySelector("#milestoneEdit--workOrderMilestoneId").value=s.workOrderMilestoneId.toString();const t=e.querySelector("#milestoneEdit--workOrderMilestoneTypeId");let r=!1;for(const e of exports.workOrderMilestoneTypes){const o=document.createElement("option");o.value=e.workOrderMilestoneTypeId.toString(),o.textContent=e.workOrderMilestoneType,e.workOrderMilestoneTypeId===s.workOrderMilestoneTypeId&&(o.selected=!0,r=!0),t.append(o)}if(!r&&s.workOrderMilestoneTypeId){const e=document.createElement("option");e.value=s.workOrderMilestoneTypeId.toString(),e.textContent=s.workOrderMilestoneType,e.selected=!0,t.append(e)}e.querySelector("#milestoneEdit--workOrderMilestoneDateString").value=s.workOrderMilestoneDateString,s.workOrderMilestoneTime&&(e.querySelector("#milestoneEdit--workOrderMilestoneTimeString").value=s.workOrderMilestoneTimeString),e.querySelector("#milestoneEdit--workOrderMilestoneDescription").value=s.workOrderMilestoneDescription},onshown(e,o){n=o,bulmaJS.toggleHtmlClipped(),t.initializeDatePickers(e),e.querySelector("form").addEventListener("submit",a)},onremoved(){bulmaJS.toggleHtmlClipped()}})}function T(){var e,t,o;const r=document.querySelector("#panel--milestones"),s=r.querySelectorAll(".panel-block");for(const e of s)e.remove();for(const s of c){const n=document.createElement("div");n.className="panel-block is-block container--milestone",n.dataset.workOrderMilestoneId=s.workOrderMilestoneId.toString(),n.innerHTML='
'+(s.workOrderMilestoneCompletionDate?'':'')+'
'+(s.workOrderMilestoneTypeId?""+cityssm.escapeHTML(s.workOrderMilestoneType||"")+"
":"")+s.workOrderMilestoneDateString+(s.workOrderMilestoneTime?" "+s.workOrderMilestoneTimeString:"")+'
'+cityssm.escapeHTML(s.workOrderMilestoneDescription||"")+'
',null===(e=n.querySelector(".button--reopenMilestone"))||void 0===e||e.addEventListener("click",v),null===(t=n.querySelector(".button--editMilestone"))||void 0===t||t.addEventListener("click",C),null===(o=n.querySelector(".button--completeMilestone"))||void 0===o||o.addEventListener("click",M),n.querySelector(".button--deleteMilestone").addEventListener("click",L),r.append(n)}bulmaJS.init(r)}null===(w=document.querySelector("#workOrderComments--add"))||void 0===w||w.addEventListener("click",function(){let e;function r(o){o.preventDefault(),cityssm.postJSON(t.urlPrefix+"/workOrders/doAddWorkOrderComment",o.currentTarget,t=>{t.success&&(k=t.workOrderComments,b(),e())})}cityssm.openHtmlModal("workOrder-addComment",{onshow(e){t.populateAliases(e),e.querySelector("#workOrderCommentAdd--workOrderId").value=o,e.querySelector("form").addEventListener("submit",r)},onshown(t,o){bulmaJS.toggleHtmlClipped(),e=o,t.querySelector("#workOrderCommentAdd--workOrderComment").focus()},onremoved(){bulmaJS.toggleHtmlClipped(),document.querySelector("#workOrderComments--add").focus()}})}),r||b(),r||(c=exports.workOrderMilestones,delete exports.workOrderMilestones,T(),document.querySelector("#button--addMilestone").addEventListener("click",()=>{let e,r,s;const n=o=>{o&&o.preventDefault();const n=cityssm.dateToString(new Date);function a(){cityssm.postJSON(t.urlPrefix+"/workOrders/doAddWorkOrderMilestone",r,e=>{f(e),e.success&&s()})}e.querySelector("#milestoneAdd--workOrderMilestoneDateString").value{var e;const t=exports.los,o=document.querySelector("#workOrderEdit--workOrderId").value,r=""===o,s=document.querySelector("#form--workOrderEdit");t.initializeDatePickers(s.querySelector("#workOrderEdit--workOrderOpenDateString").closest(".field")),t.initializeUnlockFieldButtons(s),s.addEventListener("submit",e=>{e.preventDefault(),cityssm.postJSON(t.urlPrefix+"/workOrders/"+(r?"doCreateWorkOrder":"doUpdateWorkOrder"),e.currentTarget,e=>{e.success?(cityssm.disableNavBlocker(),r?window.location.href=t.getWorkOrderURL(e.workOrderId,!0):bulmaJS.alert({message:"Work Order Updated Successfully",contextualColorName:"success"})):bulmaJS.alert({title:"Error Updating Work Order",message:e.errorMessage||"",contextualColorName:"danger"})})});const n=s.querySelectorAll("input, select");for(const e of n)e.addEventListener("change",cityssm.enableNavBlocker);function a(){cityssm.postJSON(t.urlPrefix+"/workOrders/doCloseWorkOrder",{workOrderId:o},e=>{e.success?window.location.href=t.urlPrefix+"/workOrders/"+o:bulmaJS.alert({title:"Error Closing Work Order",message:e.errorMessage||"",contextualColorName:"danger"})})}function l(){cityssm.postJSON(t.urlPrefix+"/workOrders/doDeleteWorkOrder",{workOrderId:o},e=>{e.success?window.location.href=t.urlPrefix+"/workOrders":bulmaJS.alert({title:"Error Deleting Work Order",message:e.errorMessage||"",contextualColorName:"danger"})})}let c;if(null===(w=document.querySelector("#button--closeWorkOrder"))||void 0===w||w.addEventListener("click",()=>{c.some(e=>!e.workOrderMilestoneCompletionDate)?bulmaJS.alert({title:"Outstanding Milestones",message:"You cannot close a work order with outstanding milestones.\n Either complete the outstanding milestones, or remove them from the work order.",contextualColorName:"warning"}):bulmaJS.confirm({title:"Close Work Order",message:"Are you sure you want to close this work order?",contextualColorName:"info",okButton:{text:"Yes, Close Work Order",callbackFunction:a}})}),null===(e=document.querySelector("#button--deleteWorkOrder"))||void 0===e||e.addEventListener("click",e=>{e.preventDefault(),bulmaJS.confirm({title:"Delete Work Order",message:"Are you sure you want to delete this work order?",contextualColorName:"warning",okButton:{text:"Yes, Delete Work Order",callbackFunction:l}})}),!r){Object.defineProperty(exports,"__esModule",{value:!0});let e=exports.workOrderLots;delete exports.workOrderLots;let r=exports.workOrderLotOccupancies;function i(e){const s=e.currentTarget.closest(".container--lotOccupancy").dataset.lotOccupancyId;bulmaJS.confirm({title:`Delete ${t.escapedAliases.Occupancy} Relationship`,message:`Are you sure you want to remove the relationship to this ${t.escapedAliases.occupancy} record from this work order? Note that the record will remain.`,contextualColorName:"warning",okButton:{text:"Yes, Delete Relationship",callbackFunction:function(){cityssm.postJSON(t.urlPrefix+"/workOrders/doDeleteWorkOrderLotOccupancy",{workOrderId:o,lotOccupancyId:s},e=>{e.success?(r=e.workOrderLotOccupancies,y()):bulmaJS.alert({title:"Error Deleting Relationship",message:e.errorMessage||"",contextualColorName:"danger"})})}}})}function d(r,s){cityssm.postJSON(t.urlPrefix+"/workOrders/doAddWorkOrderLot",{workOrderId:o,lotId:r},o=>{o.success?(e=o.workOrderLots,y()):bulmaJS.alert({title:"Error Adding "+t.escapedAliases.Lot,message:o.errorMessage||"",contextualColorName:"danger"}),s&&s(o.success)})}function u(e){d(e.currentTarget.dataset.lotId)}function m(r){const s=Number.parseInt(r.currentTarget.closest(".container--lot").dataset.lotId,10),n=e.find(e=>e.lotId===s);let a;function l(o){o.preventDefault(),cityssm.postJSON(t.urlPrefix+"/workOrders/doUpdateLotStatus",o.currentTarget,t=>{t.success?(e=t.workOrderLots,y(),a()):bulmaJS.alert({title:"Error Deleting Relationship",message:t.errorMessage||"",contextualColorName:"danger"})})}cityssm.openHtmlModal("lot-editLotStatus",{onshow(e){t.populateAliases(e),e.querySelector("#lotStatusEdit--lotId").value=s.toString(),e.querySelector("#lotStatusEdit--lotName").value=n.lotName;const r=e.querySelector("#lotStatusEdit--lotStatusId");let a=!1;for(const e of exports.lotStatuses){const t=document.createElement("option");t.value=e.lotStatusId.toString(),t.textContent=e.lotStatus,e.lotStatusId===n.lotStatusId&&(a=!0),r.append(t)}if(!a&&n.lotStatusId){const e=document.createElement("option");e.value=n.lotStatusId.toString(),e.textContent=n.lotStatus,r.append(e)}n.lotStatusId&&(r.value=n.lotStatusId.toString()),e.querySelector("form").insertAdjacentHTML("beforeend",``)},onshown(e,t){a=t,bulmaJS.toggleHtmlClipped(),e.querySelector("form").addEventListener("submit",l)},onremoved(){bulmaJS.toggleHtmlClipped()}})}function p(r){const s=r.currentTarget.closest(".container--lot").dataset.lotId;bulmaJS.confirm({title:`Delete ${t.escapedAliases.Occupancy} Relationship`,message:`Are you sure you want to remove the relationship to this ${t.escapedAliases.occupancy} record from this work order? Note that the record will remain.`,contextualColorName:"warning",okButton:{text:"Yes, Delete Relationship",callbackFunction:function(){cityssm.postJSON(t.urlPrefix+"/workOrders/doDeleteWorkOrderLot",{workOrderId:o,lotId:s},t=>{t.success?(e=t.workOrderLots,y()):bulmaJS.alert({title:"Error Deleting Relationship",message:t.errorMessage||"",contextualColorName:"danger"})})}}})}function y(){!function(){var o,s;const n=document.querySelector("#container--lotOccupancies");if(document.querySelector(".tabs a[href='#relatedTab--lotOccupancies'] .tag").textContent=r.length.toString(),0===r.length)return void(n.innerHTML=`
\n

There are no ${t.escapedAliases.occupancies} associated with this work order.

\n
`);n.innerHTML=`\n \n \n \n \n \n \n \n
${t.escapedAliases.Occupancy} Type${t.escapedAliases.Lot}${t.escapedAliases.OccupancyStartDate}End Date${t.escapedAliases.Occupants}
`;const a=cityssm.dateToString(new Date);for(const l of r){const r=document.createElement("tr");r.className="container--lotOccupancy",r.dataset.lotOccupancyId=l.lotOccupancyId.toString();const c=!(l.occupancyEndDate&&l.occupancyEndDateStringl.lotId===e.lotId);r.innerHTML=''+(c?'':'')+''+cityssm.escapeHTML(l.occupancyType||"")+"",l.lotId?r.insertAdjacentHTML("beforeend",""+cityssm.escapeHTML(l.lotName||"")+(d?"":' ')+""):r.insertAdjacentHTML("beforeend",`(No ${t.escapedAliases.Lot})`),r.insertAdjacentHTML("beforeend",""+l.occupancyStartDateString+""+(l.occupancyEndDate?l.occupancyEndDateString:'(No End Date)')+""+(0===l.lotOccupancyOccupants.length?'(No '+t.escapedAliases.Occupants+")":null===(o=l.lotOccupancyOccupants)||void 0===o?void 0:o.reduce((e,o)=>e+' '+cityssm.escapeHTML(o.occupantName)+"
",""))+''),null===(s=r.querySelector(".button--addLot"))||void 0===s||s.addEventListener("click",u),r.querySelector(".button--deleteLotOccupancy").addEventListener("click",i),n.querySelector("tbody").append(r)}}(),function(){const o=document.querySelector("#container--lots");if(document.querySelector(".tabs a[href='#relatedTab--lots'] .tag").textContent=e.length.toString(),0!==e.length){o.innerHTML=`\n \n \n \n \n \n \n \n \n
${t.escapedAliases.Lot}${t.escapedAliases.Map}${t.escapedAliases.Lot} TypeStatus
`;for(const r of e){const e=document.createElement("tr");e.className="container--lot",e.dataset.lotId=r.lotId.toString(),e.innerHTML=''+cityssm.escapeHTML(r.lotName||"")+""+cityssm.escapeHTML(r.mapName||"")+""+cityssm.escapeHTML(r.lotType||"")+""+(r.lotStatusId?cityssm.escapeHTML(r.lotStatus||""):'(No Status)')+' ',e.querySelector(".button--editLotStatus").addEventListener("click",m),e.querySelector(".button--deleteLot").addEventListener("click",p),o.querySelector("tbody").append(e)}}else o.innerHTML=`
\n

There are no ${t.escapedAliases.lots} associated with this work order.

\n
`}()}function O(e){const s=e.currentTarget.closest("tr");!function(e,s){cityssm.postJSON(t.urlPrefix+"/workOrders/doAddWorkOrderLotOccupancy",{workOrderId:o,lotOccupancyId:e},e=>{e.success?(r=e.workOrderLotOccupancies,y()):bulmaJS.alert({title:"Error Adding "+t.escapedAliases.Occupancy,message:e.errorMessage||"",contextualColorName:"danger"}),s&&s(e.success)})}(s.dataset.lotOccupancyId,e=>{e&&s.remove()})}function h(e){const t=e.currentTarget.closest("tr");d(t.dataset.lotId,e=>{e&&t.remove()})}delete exports.workOrderLotOccupancies,y(),document.querySelector("#button--addLotOccupancy").addEventListener("click",()=>{let e,r;function s(o){o&&o.preventDefault(),r.innerHTML=t.getLoadingParagraphHTML("Searching..."),cityssm.postJSON(t.urlPrefix+"/lotOccupancies/doSearchLotOccupancies",e,e=>{if(0!==e.lotOccupancies.length){r.innerHTML=`\n \n \n \n \n \n \n \n \n \n
${t.escapedAliases.Occupancy} Type${t.escapedAliases.Lot}${t.escapedAliases.OccupancyStartDate}End Date${t.escapedAliases.Occupants}
`;for(const o of e.lotOccupancies){const e=document.createElement("tr");e.className="container--lotOccupancy",e.dataset.lotOccupancyId=o.lotOccupancyId.toString(),e.innerHTML=''+cityssm.escapeHTML(o.occupancyType||"")+"",o.lotId?e.insertAdjacentHTML("beforeend",""+cityssm.escapeHTML(o.lotName||"")+""):e.insertAdjacentHTML("beforeend",`(No ${t.escapedAliases.Lot})`),e.insertAdjacentHTML("beforeend",""+o.occupancyStartDateString+""+(o.occupancyEndDate?o.occupancyEndDateString:'(No End Date)')+""+(0===o.lotOccupancyOccupants.length?'(No '+cityssm.escapeHTML(exports.aliases.occupants)+")":cityssm.escapeHTML(o.lotOccupancyOccupants[0].occupantName)+(o.lotOccupancyOccupants.length>1?" plus "+(o.lotOccupancyOccupants.length-1):""))+""),e.querySelector(".button--addLotOccupancy").addEventListener("click",O),r.querySelector("tbody").append(e)}}else r.innerHTML='
\n

There are no records that meet the search criteria.

\n
'})}cityssm.openHtmlModal("workOrder-addLotOccupancy",{onshow(n){t.populateAliases(n),e=n.querySelector("form"),r=n.querySelector("#resultsContainer--lotOccupancyAdd"),n.querySelector("#lotOccupancySearch--notWorkOrderId").value=o,n.querySelector("#lotOccupancySearch--occupancyEffectiveDateString").value=document.querySelector("#workOrderEdit--workOrderOpenDateString").value,s()},onshown(t){bulmaJS.toggleHtmlClipped(),t.querySelector("#lotOccupancySearch--occupantName").addEventListener("change",s),t.querySelector("#lotOccupancySearch--lotName").addEventListener("change",s),e.addEventListener("submit",s)},onremoved(){bulmaJS.toggleHtmlClipped()}})}),document.querySelector("#button--addLot").addEventListener("click",()=>{let e,r;function s(o){o&&o.preventDefault(),r.innerHTML=t.getLoadingParagraphHTML("Searching..."),cityssm.postJSON(t.urlPrefix+"/lots/doSearchLots",e,e=>{if(0!==e.lots.length){r.innerHTML=`\n \n \n \n \n \n \n \n \n
${t.escapedAliases.Lot}${t.escapedAliases.Map}${t.escapedAliases.Lot} TypeStatus
`;for(const t of e.lots){const e=document.createElement("tr");e.className="container--lot",e.dataset.lotId=t.lotId.toString(),e.innerHTML=''+cityssm.escapeHTML(t.lotName||"")+""+cityssm.escapeHTML(t.mapName||"")+""+cityssm.escapeHTML(t.lotType||"")+""+cityssm.escapeHTML(t.lotStatus||"")+"",e.querySelector(".button--addLot").addEventListener("click",h),r.querySelector("tbody").append(e)}}else r.innerHTML='

There are no records that meet the search criteria.

'})}cityssm.openHtmlModal("workOrder-addLot",{onshow(n){t.populateAliases(n),e=n.querySelector("form"),r=n.querySelector("#resultsContainer--lotAdd"),n.querySelector("#lotSearch--notWorkOrderId").value=o;const a=n.querySelector("#lotSearch--lotStatusId");for(const e of exports.lotStatuses){const t=document.createElement("option");t.value=e.lotStatusId.toString(),t.textContent=e.lotStatus,a.append(t)}s()},onshown(t){bulmaJS.toggleHtmlClipped(),t.querySelector("#lotSearch--lotName").addEventListener("change",s),t.querySelector("#lotSearch--lotStatusId").addEventListener("change",s),e.addEventListener("submit",s)},onremoved(){bulmaJS.toggleHtmlClipped()}})})}var w;Object.defineProperty(exports,"__esModule",{value:!0});let g=exports.workOrderComments;delete exports.workOrderComments;const k=e=>{const r=Number.parseInt(e.currentTarget.closest("tr").dataset.workOrderCommentId,10),s=g.find(e=>e.workOrderCommentId===r);let n,a;function l(e){e.preventDefault(),cityssm.postJSON(t.urlPrefix+"/workOrders/doUpdateWorkOrderComment",n,e=>{e.success?(g=e.workOrderComments,a(),b()):bulmaJS.alert({title:"Error Updating Comment",message:e.errorMessage||"",contextualColorName:"danger"})})}cityssm.openHtmlModal("workOrder-editComment",{onshow(e){e.querySelector("#workOrderCommentEdit--workOrderId").value=o,e.querySelector("#workOrderCommentEdit--workOrderCommentId").value=r.toString(),e.querySelector("#workOrderCommentEdit--workOrderComment").value=s.workOrderComment;const t=e.querySelector("#workOrderCommentEdit--workOrderCommentDateString");t.value=s.workOrderCommentDateString;const n=cityssm.dateToString(new Date);t.max=s.workOrderCommentDateString<=n?n:s.workOrderCommentDateString,e.querySelector("#workOrderCommentEdit--workOrderCommentTimeString").value=s.workOrderCommentTimeString},onshown(e,o){bulmaJS.toggleHtmlClipped(),t.initializeDatePickers(e),e.querySelector("#workOrderCommentEdit--workOrderComment").focus(),(n=e.querySelector("form")).addEventListener("submit",l),a=o},onremoved(){bulmaJS.toggleHtmlClipped()}})};function S(e){const r=Number.parseInt(e.currentTarget.closest("tr").dataset.workOrderCommentId,10);bulmaJS.confirm({title:"Remove Comment?",message:"Are you sure you want to remove this comment?",okButton:{text:"Yes, Remove Comment",callbackFunction:function(){cityssm.postJSON(t.urlPrefix+"/workOrders/doDeleteWorkOrderComment",{workOrderId:o,workOrderCommentId:r},e=>{e.success?(g=e.workOrderComments,b()):bulmaJS.alert({title:"Error Removing Comment",message:e.errorMessage||"",contextualColorName:"danger"})})}},contextualColorName:"warning"})}function b(){const e=document.querySelector("#container--workOrderComments");if(0===g.length)return void(e.innerHTML='
\n

There are no comments to display.

\n
');const t=document.createElement("table");t.className="table is-fullwidth is-striped is-hoverable",t.innerHTML='\n Commentor\n Comment Date\n Comment\n Options';for(const e of g){const o=document.createElement("tr");o.dataset.workOrderCommentId=e.workOrderCommentId.toString(),o.innerHTML=""+cityssm.escapeHTML(e.recordCreate_userName||"")+""+e.workOrderCommentDateString+(0===e.workOrderCommentTime?"":" "+e.workOrderCommentTimeString)+""+cityssm.escapeHTML(e.workOrderComment||"")+'
',o.querySelector(".button--edit").addEventListener("click",k),o.querySelector(".button--delete").addEventListener("click",S),t.querySelector("tbody").append(o)}e.innerHTML="",e.append(t)}function f(e){e.success?(c=e.workOrderMilestones,T()):bulmaJS.alert({title:"Error Reopening Milestone",message:e.errorMessage||"",contextualColorName:"danger"})}function M(e){e.preventDefault();const r=cityssm.dateToString(new Date),s=Number.parseInt(e.currentTarget.closest(".container--milestone").dataset.workOrderMilestoneId,10),n=c.find(e=>e.workOrderMilestoneId===s);bulmaJS.confirm({title:"Complete Milestone",message:"Are you sure you want to complete this milestone?"+(n.workOrderMilestoneDateString>r?"
Note that this milestone is expected to be completed in the future.":""),messageIsHtml:!0,contextualColorName:"warning",okButton:{text:"Yes, Complete Milestone",callbackFunction:()=>{cityssm.postJSON(t.urlPrefix+"/workOrders/doCompleteWorkOrderMilestone",{workOrderId:o,workOrderMilestoneId:s},f)}}})}function v(e){e.preventDefault();const r=e.currentTarget.closest(".container--milestone").dataset.workOrderMilestoneId;bulmaJS.confirm({title:"Reopen Milestone",message:"Are you sure you want to remove the completion status from this milestone, and reopen it?",contextualColorName:"warning",okButton:{text:"Yes, Reopen Milestone",callbackFunction:()=>{cityssm.postJSON(t.urlPrefix+"/workOrders/doReopenWorkOrderMilestone",{workOrderId:o,workOrderMilestoneId:r},f)}}})}function L(e){e.preventDefault();const r=e.currentTarget.closest(".container--milestone").dataset.workOrderMilestoneId;bulmaJS.confirm({title:"Delete Milestone",message:"Are you sure you want to delete this milestone?",contextualColorName:"warning",okButton:{text:"Yes, Delete Milestone",callbackFunction:()=>{cityssm.postJSON(t.urlPrefix+"/workOrders/doDeleteWorkOrderMilestone",{workOrderMilestoneId:r,workOrderId:o},f)}}})}function C(e){e.preventDefault();const r=Number.parseInt(e.currentTarget.closest(".container--milestone").dataset.workOrderMilestoneId,10),s=c.find(e=>e.workOrderMilestoneId===r);let n;const a=e=>{e.preventDefault(),cityssm.postJSON(t.urlPrefix+"/workOrders/doUpdateWorkOrderMilestone",e.currentTarget,e=>{f(e),e.success&&n()})};cityssm.openHtmlModal("workOrder-editMilestone",{onshow(e){e.querySelector("#milestoneEdit--workOrderId").value=o,e.querySelector("#milestoneEdit--workOrderMilestoneId").value=s.workOrderMilestoneId.toString();const t=e.querySelector("#milestoneEdit--workOrderMilestoneTypeId");let r=!1;for(const e of exports.workOrderMilestoneTypes){const o=document.createElement("option");o.value=e.workOrderMilestoneTypeId.toString(),o.textContent=e.workOrderMilestoneType,e.workOrderMilestoneTypeId===s.workOrderMilestoneTypeId&&(o.selected=!0,r=!0),t.append(o)}if(!r&&s.workOrderMilestoneTypeId){const e=document.createElement("option");e.value=s.workOrderMilestoneTypeId.toString(),e.textContent=s.workOrderMilestoneType,e.selected=!0,t.append(e)}e.querySelector("#milestoneEdit--workOrderMilestoneDateString").value=s.workOrderMilestoneDateString,s.workOrderMilestoneTime&&(e.querySelector("#milestoneEdit--workOrderMilestoneTimeString").value=s.workOrderMilestoneTimeString),e.querySelector("#milestoneEdit--workOrderMilestoneDescription").value=s.workOrderMilestoneDescription},onshown(e,o){n=o,bulmaJS.toggleHtmlClipped(),t.initializeDatePickers(e),e.querySelector("form").addEventListener("submit",a)},onremoved(){bulmaJS.toggleHtmlClipped()}})}function T(){var e,t,o;const r=document.querySelector("#panel--milestones"),s=r.querySelectorAll(".panel-block");for(const e of s)e.remove();for(const s of c){const n=document.createElement("div");n.className="panel-block is-block container--milestone",n.dataset.workOrderMilestoneId=s.workOrderMilestoneId.toString(),n.innerHTML='
'+(s.workOrderMilestoneCompletionDate?'':'')+'
'+(s.workOrderMilestoneTypeId?""+cityssm.escapeHTML(s.workOrderMilestoneType||"")+"
":"")+s.workOrderMilestoneDateString+(s.workOrderMilestoneTime?" "+s.workOrderMilestoneTimeString:"")+'
'+cityssm.escapeHTML(s.workOrderMilestoneDescription||"")+'
',null===(e=n.querySelector(".button--reopenMilestone"))||void 0===e||e.addEventListener("click",v),null===(t=n.querySelector(".button--editMilestone"))||void 0===t||t.addEventListener("click",C),null===(o=n.querySelector(".button--completeMilestone"))||void 0===o||o.addEventListener("click",M),n.querySelector(".button--deleteMilestone").addEventListener("click",L),r.append(n)}bulmaJS.init(r)}null===(w=document.querySelector("#workOrderComments--add"))||void 0===w||w.addEventListener("click",function(){let e;function r(o){o.preventDefault(),cityssm.postJSON(t.urlPrefix+"/workOrders/doAddWorkOrderComment",o.currentTarget,t=>{t.success&&(g=t.workOrderComments,b(),e())})}cityssm.openHtmlModal("workOrder-addComment",{onshow(e){t.populateAliases(e),e.querySelector("#workOrderCommentAdd--workOrderId").value=o,e.querySelector("form").addEventListener("submit",r)},onshown(t,o){bulmaJS.toggleHtmlClipped(),e=o,t.querySelector("#workOrderCommentAdd--workOrderComment").focus()},onremoved(){bulmaJS.toggleHtmlClipped(),document.querySelector("#workOrderComments--add").focus()}})}),r||b(),r||(c=exports.workOrderMilestones,delete exports.workOrderMilestones,T(),document.querySelector("#button--addMilestone").addEventListener("click",()=>{let e,r,s;const n=o=>{o&&o.preventDefault();const n=cityssm.dateToString(new Date);function a(){cityssm.postJSON(t.urlPrefix+"/workOrders/doAddWorkOrderMilestone",r,e=>{f(e),e.success&&s()})}e.querySelector("#milestoneAdd--workOrderMilestoneDateString").value