'}document.querySelector("#form--addWorkOrderType").addEventListener("submit",t=>{t.preventDefault();const o=t.currentTarget;cityssm.postJSON(e.urlPrefix+"/admin/doAddWorkOrderType",o,e=>{var t;const r=e;r.success?(s=r.workOrderTypes,n(),o.reset(),o.querySelector("input").focus()):bulmaJS.alert({title:"Error Adding Work Order Type",message:null!==(t=r.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}),n(),Object.defineProperty(exports,"__esModule",{value:!0});let l=exports.workOrderMilestoneTypes;function c(t){t.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doUpdateWorkOrderMilestoneType",t.currentTarget,e=>{var t;const s=e;s.success?(l=s.workOrderMilestoneTypes,bulmaJS.alert({message:"Work Order Milestone Type Updated Successfully",contextualColorName:"success"})):bulmaJS.alert({title:"Error Updating Work Order Milestone Type",message:null!==(t=s.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}function d(t){const s=t.currentTarget.closest("tr"),o=s.dataset.workOrderMilestoneTypeId;bulmaJS.confirm({title:"Delete Work Order Milestone Type",message:"Are you sure you want to delete this work order milestone type? \n Note that no work orders will be removed.",messageIsHtml:!0,contextualColorName:"warning",okButton:{text:"Yes, Delete Work Order Milestone Type",callbackFunction:function(){cityssm.postJSON(e.urlPrefix+"/admin/doDeleteWorkOrderMilestoneType",{workOrderMilestoneTypeId:o},e=>{var t;const o=e;o.success?(0===(l=o.workOrderMilestoneTypes).length?u():s.remove(),bulmaJS.alert({message:"Work Order Milestone Type Deleted Successfully",contextualColorName:"success"})):bulmaJS.alert({title:"Error Deleting Work Order Milestone Type",message:null!==(t=o.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}}})}function i(t){const s=t.currentTarget,o=s.closest("tr").dataset.workOrderMilestoneTypeId;cityssm.postJSON(e.urlPrefix+"/admin/"+("up"===s.dataset.direction?"doMoveWorkOrderMilestoneTypeUp":"doMoveWorkOrderMilestoneTypeDown"),{workOrderMilestoneTypeId:o,moveToEnd:t.shiftKey?"1":"0"},e=>{var t;const s=e;s.success?(l=s.workOrderMilestoneTypes,u()):bulmaJS.alert({title:"Error Moving Work Order Milestone Type",message:null!==(t=s.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}function u(){const t=document.querySelector("#container--workOrderMilestoneTypes");if(0!==l.length){t.innerHTML="";for(const s of l){const o=document.createElement("tr");o.dataset.workOrderMilestoneTypeId=s.workOrderMilestoneTypeId.toString(),o.innerHTML='
'}delete exports.workOrderMilestoneTypes,document.querySelector("#form--addWorkOrderMilestoneType").addEventListener("submit",t=>{t.preventDefault();const s=t.currentTarget;cityssm.postJSON(e.urlPrefix+"/admin/doAddWorkOrderMilestoneType",s,e=>{var t;const o=e;o.success?(l=o.workOrderMilestoneTypes,u(),s.reset(),s.querySelector("input").focus()):bulmaJS.alert({title:"Error Adding Work Order Milestone Type",message:null!==(t=o.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}),u(),Object.defineProperty(exports,"__esModule",{value:!0});let p=exports.lotStatuses;function m(t){t.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doUpdateLotStatus",t.currentTarget,t=>{var s;const o=t;o.success?(p=o.lotStatuses,bulmaJS.alert({message:e.escapedAliases.Lot+" Status Updated Successfully",contextualColorName:"success"})):bulmaJS.alert({title:"Error Updating "+e.escapedAliases.Lot+" Status",message:null!==(s=o.errorMessage)&&void 0!==s?s:"",contextualColorName:"danger"})})}function y(t){const s=t.currentTarget.closest("tr"),o=s.dataset.lotStatusId;bulmaJS.confirm({title:`Delete ${e.escapedAliases.Lot} Status`,message:`Are you sure you want to delete this status? \n Note that no ${e.escapedAliases.lot} will be removed.`,messageIsHtml:!0,contextualColorName:"warning",okButton:{text:"Yes, Delete Status",callbackFunction:function(){cityssm.postJSON(e.urlPrefix+"/admin/doDeleteLotStatus",{lotStatusId:o},t=>{var o;const r=t;r.success?(0===(p=r.lotStatuses).length?T():s.remove(),bulmaJS.alert({message:e.escapedAliases.Lot+" Status Deleted Successfully",contextualColorName:"success"})):bulmaJS.alert({title:`Error Deleting ${e.escapedAliases.Lot} Status`,message:null!==(o=r.errorMessage)&&void 0!==o?o:"",contextualColorName:"danger"})})}}})}function v(t){const s=t.currentTarget,o=s.closest("tr").dataset.lotStatusId;cityssm.postJSON(e.urlPrefix+"/admin/"+("up"===s.dataset.direction?"doMoveLotStatusUp":"doMoveLotStatusDown"),{lotStatusId:o,moveToEnd:t.shiftKey?"1":"0"},t=>{var s;const o=t;o.success?(p=o.lotStatuses,T()):bulmaJS.alert({title:"Error Moving "+e.escapedAliases.Lot+" Status",message:null!==(s=o.errorMessage)&&void 0!==s?s:"",contextualColorName:"danger"})})}function T(){const t=document.querySelector("#container--lotStatuses");if(0!==p.length){t.innerHTML="";for(const s of p){const o=document.createElement("tr");o.dataset.lotStatusId=s.lotStatusId.toString(),o.innerHTML='
There are no active ${e.escapedAliases.lot} ${e.escapedAliases.occupant} types.
\n
\n
`}delete exports.lotOccupantTypes,document.querySelector("#form--addLotOccupantType").addEventListener("submit",t=>{t.preventDefault();const s=t.currentTarget;cityssm.postJSON(e.urlPrefix+"/admin/doAddLotOccupantType",s,t=>{var o;const r=t;r.success?(g=r.lotOccupantTypes,b(),s.reset(),s.querySelector("input").focus()):bulmaJS.alert({title:`Error Adding ${e.escapedAliases.Lot} ${e.escapedAliases.Occupant} Type`,message:null!==(o=r.errorMessage)&&void 0!==o?o:"",contextualColorName:"danger"})})}),b()})();
\ No newline at end of file
+"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=exports.los;function t(e){var t;const s=e.currentTarget,o=s.value;(null===(t=s.closest(".field"))||void 0===t?void 0:t.querySelectorAll(".button.is-static"))[1].innerHTML=``}Object.defineProperty(exports,"__esModule",{value:!0});let s=exports.workOrderTypes;function o(t){t.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doUpdateWorkOrderType",t.currentTarget,e=>{var t;const o=e;o.success?(s=o.workOrderTypes,bulmaJS.alert({message:"Work Order Type Updated Successfully",contextualColorName:"success"})):bulmaJS.alert({title:"Error Updating Work Order Type",message:null!==(t=o.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}delete exports.workOrderTypes;const r=t=>{const o=t.currentTarget.closest("tr"),r=o.dataset.workOrderTypeId;bulmaJS.confirm({title:"Delete Work Order Type",message:"Are you sure you want to delete this work order type? \n Note that no work orders will be removed.",messageIsHtml:!0,contextualColorName:"warning",okButton:{text:"Yes, Delete Work Order Type",callbackFunction:function(){cityssm.postJSON(e.urlPrefix+"/admin/doDeleteWorkOrderType",{workOrderTypeId:r},e=>{var t;const r=e;r.success?(0===(s=r.workOrderTypes).length?n():o.remove(),bulmaJS.alert({message:"Work Order Type Deleted Successfully",contextualColorName:"success"})):bulmaJS.alert({title:"Error Deleting Work Order Type",message:null!==(t=r.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}}})};function a(t){const o=t.currentTarget,r=o.closest("tr").dataset.workOrderTypeId;cityssm.postJSON(e.urlPrefix+"/admin/"+("up"===o.dataset.direction?"doMoveWorkOrderTypeUp":"doMoveWorkOrderTypeDown"),{workOrderTypeId:r,moveToEnd:t.shiftKey?"1":"0"},e=>{var t;const o=e;o.success?(s=o.workOrderTypes,n()):bulmaJS.alert({title:"Error Moving Work Order Type",message:null!==(t=o.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}function n(){var t;const n=document.querySelector("#container--workOrderTypes");if(0!==s.length){n.innerHTML="";for(const l of s){const s=document.createElement("tr");s.dataset.workOrderTypeId=l.workOrderTypeId.toString(),s.innerHTML='
'}document.querySelector("#form--addWorkOrderType").addEventListener("submit",t=>{t.preventDefault();const o=t.currentTarget;cityssm.postJSON(e.urlPrefix+"/admin/doAddWorkOrderType",o,e=>{var t;const r=e;r.success?(s=r.workOrderTypes,n(),o.reset(),o.querySelector("input").focus()):bulmaJS.alert({title:"Error Adding Work Order Type",message:null!==(t=r.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}),n(),Object.defineProperty(exports,"__esModule",{value:!0});let l=exports.workOrderMilestoneTypes;function c(t){t.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doUpdateWorkOrderMilestoneType",t.currentTarget,e=>{var t;const s=e;s.success?(l=s.workOrderMilestoneTypes,bulmaJS.alert({message:"Work Order Milestone Type Updated Successfully",contextualColorName:"success"})):bulmaJS.alert({title:"Error Updating Work Order Milestone Type",message:null!==(t=s.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}function d(t){const s=t.currentTarget.closest("tr"),o=s.dataset.workOrderMilestoneTypeId;bulmaJS.confirm({title:"Delete Work Order Milestone Type",message:"Are you sure you want to delete this work order milestone type? \n Note that no work orders will be removed.",messageIsHtml:!0,contextualColorName:"warning",okButton:{text:"Yes, Delete Work Order Milestone Type",callbackFunction:function(){cityssm.postJSON(e.urlPrefix+"/admin/doDeleteWorkOrderMilestoneType",{workOrderMilestoneTypeId:o},e=>{var t;const o=e;o.success?(0===(l=o.workOrderMilestoneTypes).length?u():s.remove(),bulmaJS.alert({message:"Work Order Milestone Type Deleted Successfully",contextualColorName:"success"})):bulmaJS.alert({title:"Error Deleting Work Order Milestone Type",message:null!==(t=o.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}}})}function i(t){const s=t.currentTarget,o=s.closest("tr").dataset.workOrderMilestoneTypeId;cityssm.postJSON(e.urlPrefix+"/admin/"+("up"===s.dataset.direction?"doMoveWorkOrderMilestoneTypeUp":"doMoveWorkOrderMilestoneTypeDown"),{workOrderMilestoneTypeId:o,moveToEnd:t.shiftKey?"1":"0"},e=>{var t;const s=e;s.success?(l=s.workOrderMilestoneTypes,u()):bulmaJS.alert({title:"Error Moving Work Order Milestone Type",message:null!==(t=s.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}function u(){const t=document.querySelector("#container--workOrderMilestoneTypes");if(0!==l.length){t.innerHTML="";for(const s of l){const o=document.createElement("tr");o.dataset.workOrderMilestoneTypeId=s.workOrderMilestoneTypeId.toString(),o.innerHTML='
'}delete exports.workOrderMilestoneTypes,document.querySelector("#form--addWorkOrderMilestoneType").addEventListener("submit",t=>{t.preventDefault();const s=t.currentTarget;cityssm.postJSON(e.urlPrefix+"/admin/doAddWorkOrderMilestoneType",s,e=>{var t;const o=e;o.success?(l=o.workOrderMilestoneTypes,u(),s.reset(),s.querySelector("input").focus()):bulmaJS.alert({title:"Error Adding Work Order Milestone Type",message:null!==(t=o.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}),u(),Object.defineProperty(exports,"__esModule",{value:!0});let p=exports.lotStatuses;function m(t){t.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doUpdateLotStatus",t.currentTarget,t=>{var s;const o=t;o.success?(p=o.lotStatuses,bulmaJS.alert({message:e.escapedAliases.Lot+" Status Updated Successfully",contextualColorName:"success"})):bulmaJS.alert({title:"Error Updating "+e.escapedAliases.Lot+" Status",message:null!==(s=o.errorMessage)&&void 0!==s?s:"",contextualColorName:"danger"})})}function y(t){const s=t.currentTarget.closest("tr"),o=s.dataset.lotStatusId;bulmaJS.confirm({title:`Delete ${e.escapedAliases.Lot} Status`,message:`Are you sure you want to delete this status? \n Note that no ${e.escapedAliases.lot} will be removed.`,messageIsHtml:!0,contextualColorName:"warning",okButton:{text:"Yes, Delete Status",callbackFunction:function(){cityssm.postJSON(e.urlPrefix+"/admin/doDeleteLotStatus",{lotStatusId:o},t=>{var o;const r=t;r.success?(0===(p=r.lotStatuses).length?T():s.remove(),bulmaJS.alert({message:e.escapedAliases.Lot+" Status Deleted Successfully",contextualColorName:"success"})):bulmaJS.alert({title:`Error Deleting ${e.escapedAliases.Lot} Status`,message:null!==(o=r.errorMessage)&&void 0!==o?o:"",contextualColorName:"danger"})})}}})}function v(t){const s=t.currentTarget,o=s.closest("tr").dataset.lotStatusId;cityssm.postJSON(e.urlPrefix+"/admin/"+("up"===s.dataset.direction?"doMoveLotStatusUp":"doMoveLotStatusDown"),{lotStatusId:o,moveToEnd:t.shiftKey?"1":"0"},t=>{var s;const o=t;o.success?(p=o.lotStatuses,T()):bulmaJS.alert({title:"Error Moving "+e.escapedAliases.Lot+" Status",message:null!==(s=o.errorMessage)&&void 0!==s?s:"",contextualColorName:"danger"})})}function T(){const t=document.querySelector("#container--lotStatuses");if(0!==p.length){t.innerHTML="";for(const s of p){const o=document.createElement("tr");o.dataset.lotStatusId=s.lotStatusId.toString(),o.innerHTML='
There are no active ${e.escapedAliases.lot} ${e.escapedAliases.occupant} types.
\n
\n
`}delete exports.lotOccupantTypes,document.querySelector("#form--addLotOccupantType").addEventListener("submit",t=>{t.preventDefault();const s=t.currentTarget;cityssm.postJSON(e.urlPrefix+"/admin/doAddLotOccupantType",s,t=>{var o;const r=t;r.success?(g=r.lotOccupantTypes,b(),s.reset(),s.querySelector("input").focus()):bulmaJS.alert({title:`Error Adding ${e.escapedAliases.Lot} ${e.escapedAliases.Occupant} Type`,message:null!==(o=r.errorMessage)&&void 0!==o?o:"",contextualColorName:"danger"})})}),b()})();
\ No newline at end of file
diff --git a/public/javascripts/workOrderEdit.min.js b/public/javascripts/workOrderEdit.min.js
index a60fe447..1597f0d4 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,t;const o=exports.los,r=document.querySelector("#workOrderEdit--workOrderId").value,n=""===r,s=document.querySelector("#form--workOrderEdit");function a(){var e;o.setUnsavedChanges(),null===(e=document.querySelector("button[type='submit'][form='form--workOrderEdit']"))||void 0===e||e.classList.remove("is-light")}function l(){var e;o.clearUnsavedChanges(),null===(e=document.querySelector("button[type='submit'][form='form--workOrderEdit']"))||void 0===e||e.classList.add("is-light")}o.initializeDatePickers(null===(S=s.querySelector("#workOrderEdit--workOrderOpenDateString"))||void 0===S?void 0:S.closest(".field")),o.initializeUnlockFieldButtons(s),s.addEventListener("submit",e=>{e.preventDefault(),cityssm.postJSON(`${o.urlPrefix}/workOrders/${n?"doCreateWorkOrder":"doUpdateWorkOrder"}`,e.currentTarget,e=>{var t;const r=e;r.success?(l(),n?window.location.href=o.getWorkOrderURL(r.workOrderId,!0):bulmaJS.alert({message:"Work Order Updated Successfully",contextualColorName:"success"})):bulmaJS.alert({title:"Error Updating Work Order",message:null!==(t=r.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})});const i=s.querySelectorAll("input, select, textarea");for(const e of i)e.addEventListener("change",a);function d(){cityssm.postJSON(`${o.urlPrefix}/workOrders/doCloseWorkOrder`,{workOrderId:r},e=>{var t;const n=e;n.success?(l(),window.location.href=o.getWorkOrderURL(r)):bulmaJS.alert({title:"Error Closing Work Order",message:null!==(t=n.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}function c(){cityssm.postJSON(`${o.urlPrefix}/workOrders/doDeleteWorkOrder`,{workOrderId:r},e=>{var t;const r=e;r.success?(l(),window.location.href=`${o.urlPrefix}/workOrders`):bulmaJS.alert({title:"Error Deleting Work Order",message:null!==(t=r.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}let u;if(null===(m=document.querySelector("#button--closeWorkOrder"))||void 0===m||m.addEventListener("click",()=>{u.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:o.hasUnsavedChanges()?"Are you sure you want to close this work order with unsaved changes?":"Are you sure you want to close this work order?",contextualColorName:o.hasUnsavedChanges()?"warning":"info",okButton:{text:"Yes, Close Work Order",callbackFunction:d}})}),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:c}})}),!n){var m;Object.defineProperty(exports,"__esModule",{value:!0});let e=exports.workOrderLots;delete exports.workOrderLots;let t=exports.workOrderLotOccupancies;function p(e){const n=e.currentTarget.closest(".container--lotOccupancy").dataset.lotOccupancyId;bulmaJS.confirm({title:`Delete ${o.escapedAliases.Occupancy} Relationship`,message:`Are you sure you want to remove the relationship to this ${o.escapedAliases.occupancy} record from this work order? Note that the record will remain.`,contextualColorName:"warning",okButton:{text:"Yes, Delete Relationship",callbackFunction:function(){cityssm.postJSON(o.urlPrefix+"/workOrders/doDeleteWorkOrderLotOccupancy",{workOrderId:r,lotOccupancyId:n},e=>{var o;const r=e;r.success?(t=r.workOrderLotOccupancies,k()):bulmaJS.alert({title:"Error Deleting Relationship",message:null!==(o=r.errorMessage)&&void 0!==o?o:"",contextualColorName:"danger"})})}}})}function y(t,n){cityssm.postJSON(o.urlPrefix+"/workOrders/doAddWorkOrderLot",{workOrderId:r,lotId:t},t=>{var r;const s=t;s.success?(e=s.workOrderLots,k()):bulmaJS.alert({title:`Error Adding ${o.escapedAliases.Lot}`,message:null!==(r=s.errorMessage)&&void 0!==r?r:"",contextualColorName:"danger"}),void 0!==n&&n(s.success)})}function O(e){y(e.currentTarget.dataset.lotId)}function h(t){const n=Number.parseInt(t.currentTarget.closest(".container--lot").dataset.lotId,10),s=e.find(e=>e.lotId===n);let a;function l(t){t.preventDefault(),cityssm.postJSON(o.urlPrefix+"/workOrders/doUpdateLotStatus",t.currentTarget,t=>{var o;const r=t;r.success?(e=r.workOrderLots,k(),a()):bulmaJS.alert({title:"Error Deleting Relationship",message:null!==(o=r.errorMessage)&&void 0!==o?o:"",contextualColorName:"danger"})})}cityssm.openHtmlModal("lot-editLotStatus",{onshow(e){o.populateAliases(e),e.querySelector("#lotStatusEdit--lotId").value=n.toString(),e.querySelector("#lotStatusEdit--lotName").value=s.lotName;const t=e.querySelector("#lotStatusEdit--lotStatusId");let a=!1;for(const e of exports.lotStatuses){const o=document.createElement("option");o.value=e.lotStatusId.toString(),o.textContent=e.lotStatus,e.lotStatusId===s.lotStatusId&&(a=!0),t.append(o)}if(!a&&s.lotStatusId){const e=document.createElement("option");e.value=s.lotStatusId.toString(),e.textContent=s.lotStatus,t.append(e)}s.lotStatusId&&(t.value=s.lotStatusId.toString()),e.querySelector("form").insertAdjacentHTML("beforeend",``)},onshown(e,t){a=t,bulmaJS.toggleHtmlClipped(),e.querySelector("form").addEventListener("submit",l)},onremoved(){bulmaJS.toggleHtmlClipped()}})}function g(t){const n=t.currentTarget.closest(".container--lot").dataset.lotId;bulmaJS.confirm({title:`Delete ${o.escapedAliases.Occupancy} Relationship`,message:`Are you sure you want to remove the relationship to this ${o.escapedAliases.occupancy} record from this work order? Note that the record will remain.`,contextualColorName:"warning",okButton:{text:"Yes, Delete Relationship",callbackFunction:function(){cityssm.postJSON(o.urlPrefix+"/workOrders/doDeleteWorkOrderLot",{workOrderId:r,lotId:n},t=>{var o;const r=t;r.success?(e=r.workOrderLots,k()):bulmaJS.alert({title:"Error Deleting Relationship",message:null!==(o=r.errorMessage)&&void 0!==o?o:"",contextualColorName:"danger"})})}}})}function k(){!function(){var r,n,s,a;const l=document.querySelector("#container--lotOccupancies");if(document.querySelector(".tabs a[href='#relatedTab--lotOccupancies'] .tag").textContent=t.length.toString(),0===t.length)return void(l.innerHTML=`
\n
There are no ${o.escapedAliases.occupancies} associated with this work order.
\n
`);l.innerHTML=`
\n
\n
\n
${o.escapedAliases.Occupancy} Type
\n
${o.escapedAliases.Lot}
\n
${o.escapedAliases.OccupancyStartDate}
\n
End Date
\n
${o.escapedAliases.Occupants}
\n
\n
\n \n
`;const i=cityssm.dateToString(new Date);for(const d of t){const t=document.createElement("tr");t.className="container--lotOccupancy",t.dataset.lotOccupancyId=d.lotOccupancyId.toString();const c=!(d.occupancyEndDate&&d.occupancyEndDateStringd.lotId===e.lotId);t.innerHTML='
`;for(const e of s.lotOccupancies){const s=document.createElement("tr");s.className="container--lotOccupancy",s.dataset.lotOccupancyId=e.lotOccupancyId.toString(),s.innerHTML=`
"+(e.occupancyEndDate?e.occupancyEndDateString:'(No End Date)')+"
"+(0===e.lotOccupancyOccupants.length?`(No ${cityssm.escapeHTML(o.escapedAliases.Occupants)})`:cityssm.escapeHTML(e.lotOccupancyOccupants[0].occupantName+" "+e.lotOccupancyOccupants[0].occupantFamilyName)+(e.lotOccupancyOccupants.length>1?" plus "+(e.lotOccupancyOccupants.length-1).toString():""))+"
',n.querySelector(".button--edit").addEventListener("click",b),n.querySelector(".button--delete").addEventListener("click",M),r.querySelector("tbody").append(n)}o.innerHTML="",o.append(r)}function T(e){for(const t of e.querySelectorAll(".panel-block"))t.remove()}function C(e,t){T(t),t.insertAdjacentHTML("beforeend",`
`),cityssm.postJSON(`${o.urlPrefix}/workOrders/doGetWorkOrderMilestones`,{workOrderMilestoneDateFilter:"date",workOrderMilestoneDateString:e},o=>{var n,s,a,l;const i=o.workOrderMilestones.filter(e=>e.workOrderId.toString()!==r);T(t);for(const e of i)t.insertAdjacentHTML("beforeend",`
\n There are no milestones on other work orders scheduled for\n ${cityssm.escapeHTML(e)}.\n
\n
\n
`)})}function I(e){var t;const o=e;o.success?(u=o.workOrderMilestones,A()):bulmaJS.alert({title:"Error Reopening Milestone",message:null!==(t=o.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})}function x(e){var t;e.preventDefault();const n=cityssm.dateToString(new Date),s=Number.parseInt(null!==(t=e.currentTarget.closest(".container--milestone").dataset.workOrderMilestoneId)&&void 0!==t?t:"",10),a=u.find(e=>e.workOrderMilestoneId===s);bulmaJS.confirm({title:"Complete Milestone",message:"Are you sure you want to complete this milestone?"+(void 0!==a.workOrderMilestoneDateString&&""!==a.workOrderMilestoneDateString&&a.workOrderMilestoneDateString>n?" Note that this milestone is expected to be completed in the future.":""),messageIsHtml:!0,contextualColorName:"warning",okButton:{text:"Yes, Complete Milestone",callbackFunction:function(){cityssm.postJSON(`${o.urlPrefix}/workOrders/doCompleteWorkOrderMilestone`,{workOrderId:r,workOrderMilestoneId:s},I)}}})}function E(e){e.preventDefault();const t=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:function(){cityssm.postJSON(o.urlPrefix+"/workOrders/doReopenWorkOrderMilestone",{workOrderId:r,workOrderMilestoneId:t},I)}}})}function D(e){e.preventDefault();const t=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:function(){cityssm.postJSON(`${o.urlPrefix}/workOrders/doDeleteWorkOrderMilestone`,{workOrderMilestoneId:t,workOrderId:r},I)}}})}function q(e){var t;e.preventDefault();const n=Number.parseInt(null!==(t=e.currentTarget.closest(".container--milestone").dataset.workOrderMilestoneId)&&void 0!==t?t:"",10),s=u.find(e=>e.workOrderMilestoneId===n);let a,l;function i(e){e.preventDefault(),cityssm.postJSON(`${o.urlPrefix}/workOrders/doUpdateWorkOrderMilestone`,e.currentTarget,e=>{const t=e;I(t),t.success&&a()})}cityssm.openHtmlModal("workOrder-editMilestone",{onshow(e){var t,o,n,a,i,d;e.querySelector("#milestoneEdit--workOrderId").value=r,e.querySelector("#milestoneEdit--workOrderMilestoneId").value=null!==(o=null===(t=s.workOrderMilestoneId)||void 0===t?void 0:t.toString())&&void 0!==o?o:"";const c=e.querySelector("#milestoneEdit--workOrderMilestoneTypeId");let u=!1;for(const e of exports.workOrderMilestoneTypes){const t=document.createElement("option");t.value=e.workOrderMilestoneTypeId.toString(),t.textContent=e.workOrderMilestoneType,e.workOrderMilestoneTypeId===s.workOrderMilestoneTypeId&&(t.selected=!0,u=!0),c.append(t)}if(!u&&s.workOrderMilestoneTypeId){const e=document.createElement("option");e.value=s.workOrderMilestoneTypeId.toString(),e.textContent=null!==(n=s.workOrderMilestoneType)&&void 0!==n?n:"",e.selected=!0,c.append(e)}(l=e.querySelector("#milestoneEdit--workOrderMilestoneDateString")).value=null!==(a=s.workOrderMilestoneDateString)&&void 0!==a?a:"",s.workOrderMilestoneTime&&(e.querySelector("#milestoneEdit--workOrderMilestoneTimeString").value=null!==(i=s.workOrderMilestoneTimeString)&&void 0!==i?i:""),e.querySelector("#milestoneEdit--workOrderMilestoneDescription").value=null!==(d=s.workOrderMilestoneDescription)&&void 0!==d?d:""},onshown(e,t){var r;a=t,bulmaJS.toggleHtmlClipped(),o.initializeDatePickers(e),null===(r=e.querySelector("form"))||void 0===r||r.addEventListener("submit",i);const n=document.querySelector("#milestoneEdit--conflictingMilestonesPanel");l.addEventListener("change",()=>{C(l.value,n)}),C(l.value,n)},onremoved(){bulmaJS.toggleHtmlClipped()}})}function A(){var e,t,o,r,n,s,a;const l=document.querySelector("#panel--milestones"),i=l.querySelectorAll(".panel-block");for(const e of i)e.remove();for(const i of u){const d=document.createElement("div");d.className="panel-block is-block container--milestone",d.dataset.workOrderMilestoneId=null===(e=i.workOrderMilestoneId)||void 0===e?void 0:e.toString(),d.innerHTML='
'+(i.workOrderMilestoneCompletionDate?'':'')+'
'+(i.workOrderMilestoneTypeId?""+cityssm.escapeHTML(null!==(t=i.workOrderMilestoneType)&&void 0!==t?t:"")+" ":"")+(0===i.workOrderMilestoneDate?'(No Set Date)':i.workOrderMilestoneDateString)+(i.workOrderMilestoneTime?" "+i.workOrderMilestoneTimePeriodString:"")+' '+cityssm.escapeHTML(null!==(o=i.workOrderMilestoneDescription)&&void 0!==o?o:"")+'
',null===(r=d.querySelector(".button--reopenMilestone"))||void 0===r||r.addEventListener("click",E),null===(n=d.querySelector(".button--editMilestone"))||void 0===n||n.addEventListener("click",q),null===(s=d.querySelector(".button--completeMilestone"))||void 0===s||s.addEventListener("click",x),null===(a=d.querySelector(".button--deleteMilestone"))||void 0===a||a.addEventListener("click",D),l.append(d)}bulmaJS.init(l)}delete exports.workOrderComments,null===(S=document.querySelector("#workOrderComments--add"))||void 0===S||S.addEventListener("click",function(){let e;function t(t){t.preventDefault(),cityssm.postJSON(o.urlPrefix+"/workOrders/doAddWorkOrderComment",t.currentTarget,t=>{t.success&&(f=t.workOrderComments,L(),e())})}cityssm.openHtmlModal("workOrder-addComment",{onshow(e){o.populateAliases(e),e.querySelector("#workOrderCommentAdd--workOrderId").value=r,e.querySelector("form").addEventListener("submit",t)},onshown(t,o){bulmaJS.toggleHtmlClipped(),e=o,t.querySelector("#workOrderCommentAdd--workOrderComment").focus()},onremoved(){bulmaJS.toggleHtmlClipped(),document.querySelector("#workOrderComments--add").focus()}})}),n||L(),n||(u=exports.workOrderMilestones,delete exports.workOrderMilestones,A(),null===(t=document.querySelector("#button--addMilestone"))||void 0===t||t.addEventListener("click",()=>{let e,t,n;function s(r){r&&r.preventDefault();const s=cityssm.dateToString(new Date);function a(){cityssm.postJSON(`${o.urlPrefix}/workOrders/doAddWorkOrderMilestone`,e,e=>{const t=e;I(t),t.success&&n()})}const l=t.value;""!==l&&l{C(t.value,l)}),C(t.value,l)},onremoved(){bulmaJS.toggleHtmlClipped(),document.querySelector("#button--addMilestone").focus()}})}))})();
\ No newline at end of file
+"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{var e,t;const o=exports.los,r=document.querySelector("#workOrderEdit--workOrderId").value,n=""===r,s=document.querySelector("#form--workOrderEdit");function a(){var e;o.setUnsavedChanges(),null===(e=document.querySelector("button[type='submit'][form='form--workOrderEdit']"))||void 0===e||e.classList.remove("is-light")}function l(){var e;o.clearUnsavedChanges(),null===(e=document.querySelector("button[type='submit'][form='form--workOrderEdit']"))||void 0===e||e.classList.add("is-light")}o.initializeDatePickers(null===(S=s.querySelector("#workOrderEdit--workOrderOpenDateString"))||void 0===S?void 0:S.closest(".field")),o.initializeUnlockFieldButtons(s),s.addEventListener("submit",e=>{e.preventDefault(),cityssm.postJSON(`${o.urlPrefix}/workOrders/${n?"doCreateWorkOrder":"doUpdateWorkOrder"}`,e.currentTarget,e=>{var t;const r=e;r.success?(l(),n?window.location.href=o.getWorkOrderURL(r.workOrderId,!0):bulmaJS.alert({message:"Work Order Updated Successfully",contextualColorName:"success"})):bulmaJS.alert({title:"Error Updating Work Order",message:null!==(t=r.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})});const i=s.querySelectorAll("input, select, textarea");for(const e of i)e.addEventListener("change",a);function d(){cityssm.postJSON(`${o.urlPrefix}/workOrders/doCloseWorkOrder`,{workOrderId:r},e=>{var t;const n=e;n.success?(l(),window.location.href=o.getWorkOrderURL(r)):bulmaJS.alert({title:"Error Closing Work Order",message:null!==(t=n.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}function c(){cityssm.postJSON(`${o.urlPrefix}/workOrders/doDeleteWorkOrder`,{workOrderId:r},e=>{var t;const r=e;r.success?(l(),window.location.href=`${o.urlPrefix}/workOrders`):bulmaJS.alert({title:"Error Deleting Work Order",message:null!==(t=r.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}let u;if(null===(m=document.querySelector("#button--closeWorkOrder"))||void 0===m||m.addEventListener("click",()=>{u.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:o.hasUnsavedChanges()?"Are you sure you want to close this work order with unsaved changes?":"Are you sure you want to close this work order?",contextualColorName:o.hasUnsavedChanges()?"warning":"info",okButton:{text:"Yes, Close Work Order",callbackFunction:d}})}),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:c}})}),!n){var m;Object.defineProperty(exports,"__esModule",{value:!0});let e=exports.workOrderLots;delete exports.workOrderLots;let t=exports.workOrderLotOccupancies;function p(e){const n=e.currentTarget.closest(".container--lotOccupancy").dataset.lotOccupancyId;bulmaJS.confirm({title:`Delete ${o.escapedAliases.Occupancy} Relationship`,message:`Are you sure you want to remove the relationship to this ${o.escapedAliases.occupancy} record from this work order? Note that the record will remain.`,contextualColorName:"warning",okButton:{text:"Yes, Delete Relationship",callbackFunction:function(){cityssm.postJSON(o.urlPrefix+"/workOrders/doDeleteWorkOrderLotOccupancy",{workOrderId:r,lotOccupancyId:n},e=>{var o;const r=e;r.success?(t=r.workOrderLotOccupancies,k()):bulmaJS.alert({title:"Error Deleting Relationship",message:null!==(o=r.errorMessage)&&void 0!==o?o:"",contextualColorName:"danger"})})}}})}function y(t,n){cityssm.postJSON(o.urlPrefix+"/workOrders/doAddWorkOrderLot",{workOrderId:r,lotId:t},t=>{var r;const s=t;s.success?(e=s.workOrderLots,k()):bulmaJS.alert({title:`Error Adding ${o.escapedAliases.Lot}`,message:null!==(r=s.errorMessage)&&void 0!==r?r:"",contextualColorName:"danger"}),void 0!==n&&n(s.success)})}function O(e){y(e.currentTarget.dataset.lotId)}function h(t){const n=Number.parseInt(t.currentTarget.closest(".container--lot").dataset.lotId,10),s=e.find(e=>e.lotId===n);let a;function l(t){t.preventDefault(),cityssm.postJSON(o.urlPrefix+"/workOrders/doUpdateLotStatus",t.currentTarget,t=>{var o;const r=t;r.success?(e=r.workOrderLots,k(),a()):bulmaJS.alert({title:"Error Deleting Relationship",message:null!==(o=r.errorMessage)&&void 0!==o?o:"",contextualColorName:"danger"})})}cityssm.openHtmlModal("lot-editLotStatus",{onshow(e){o.populateAliases(e),e.querySelector("#lotStatusEdit--lotId").value=n.toString(),e.querySelector("#lotStatusEdit--lotName").value=s.lotName;const t=e.querySelector("#lotStatusEdit--lotStatusId");let a=!1;for(const e of exports.lotStatuses){const o=document.createElement("option");o.value=e.lotStatusId.toString(),o.textContent=e.lotStatus,e.lotStatusId===s.lotStatusId&&(a=!0),t.append(o)}if(!a&&s.lotStatusId){const e=document.createElement("option");e.value=s.lotStatusId.toString(),e.textContent=s.lotStatus,t.append(e)}s.lotStatusId&&(t.value=s.lotStatusId.toString()),e.querySelector("form").insertAdjacentHTML("beforeend",``)},onshown(e,t){a=t,bulmaJS.toggleHtmlClipped(),e.querySelector("form").addEventListener("submit",l)},onremoved(){bulmaJS.toggleHtmlClipped()}})}function g(t){const n=t.currentTarget.closest(".container--lot").dataset.lotId;bulmaJS.confirm({title:`Delete ${o.escapedAliases.Occupancy} Relationship`,message:`Are you sure you want to remove the relationship to this ${o.escapedAliases.occupancy} record from this work order? Note that the record will remain.`,contextualColorName:"warning",okButton:{text:"Yes, Delete Relationship",callbackFunction:function(){cityssm.postJSON(o.urlPrefix+"/workOrders/doDeleteWorkOrderLot",{workOrderId:r,lotId:n},t=>{var o;const r=t;r.success?(e=r.workOrderLots,k()):bulmaJS.alert({title:"Error Deleting Relationship",message:null!==(o=r.errorMessage)&&void 0!==o?o:"",contextualColorName:"danger"})})}}})}function k(){!function(){var r,n,s,a;const l=document.querySelector("#container--lotOccupancies");if(document.querySelector(".tabs a[href='#relatedTab--lotOccupancies'] .tag").textContent=t.length.toString(),0===t.length)return void(l.innerHTML=`
\n
There are no ${o.escapedAliases.occupancies} associated with this work order.
\n
`);l.innerHTML=`
\n
\n
\n
${o.escapedAliases.Occupancy} Type
\n
${o.escapedAliases.Lot}
\n
${o.escapedAliases.OccupancyStartDate}
\n
End Date
\n
${o.escapedAliases.Occupants}
\n
\n
\n \n
`;const i=cityssm.dateToString(new Date);for(const d of t){const t=document.createElement("tr");t.className="container--lotOccupancy",t.dataset.lotOccupancyId=d.lotOccupancyId.toString();const c=!(d.occupancyEndDate&&d.occupancyEndDateStringd.lotId===e.lotId);t.innerHTML='
`;for(const e of s.lotOccupancies){const s=document.createElement("tr");s.className="container--lotOccupancy",s.dataset.lotOccupancyId=e.lotOccupancyId.toString(),s.innerHTML=`
"+(e.occupancyEndDate?e.occupancyEndDateString:'(No End Date)')+"
"+(0===e.lotOccupancyOccupants.length?`(No ${cityssm.escapeHTML(o.escapedAliases.Occupants)})`:cityssm.escapeHTML(e.lotOccupancyOccupants[0].occupantName+" "+e.lotOccupancyOccupants[0].occupantFamilyName)+(e.lotOccupancyOccupants.length>1?" plus "+(e.lotOccupancyOccupants.length-1).toString():""))+"
',n.querySelector(".button--edit").addEventListener("click",b),n.querySelector(".button--delete").addEventListener("click",M),r.querySelector("tbody").append(n)}o.innerHTML="",o.append(r)}function T(e){for(const t of e.querySelectorAll(".panel-block"))t.remove()}function C(e,t){T(t),t.insertAdjacentHTML("beforeend",`
`),cityssm.postJSON(`${o.urlPrefix}/workOrders/doGetWorkOrderMilestones`,{workOrderMilestoneDateFilter:"date",workOrderMilestoneDateString:e},o=>{var n,s,a,l;const i=o.workOrderMilestones.filter(e=>e.workOrderId.toString()!==r);T(t);for(const e of i)t.insertAdjacentHTML("beforeend",`
\n There are no milestones on other work orders scheduled for\n ${cityssm.escapeHTML(e)}.\n
\n
\n
`)})}function I(e){var t;const o=e;o.success?(u=o.workOrderMilestones,A()):bulmaJS.alert({title:"Error Reopening Milestone",message:null!==(t=o.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})}function x(e){var t;e.preventDefault();const n=cityssm.dateToString(new Date),s=Number.parseInt(null!==(t=e.currentTarget.closest(".container--milestone").dataset.workOrderMilestoneId)&&void 0!==t?t:"",10),a=u.find(e=>e.workOrderMilestoneId===s);bulmaJS.confirm({title:"Complete Milestone",message:`Are you sure you want to complete this milestone?\n ${void 0!==a.workOrderMilestoneDateString&&""!==a.workOrderMilestoneDateString&&a.workOrderMilestoneDateString>n?" Note that this milestone is expected to be completed in the future.":""}`,messageIsHtml:!0,contextualColorName:"warning",okButton:{text:"Yes, Complete Milestone",callbackFunction:function(){cityssm.postJSON(`${o.urlPrefix}/workOrders/doCompleteWorkOrderMilestone`,{workOrderId:r,workOrderMilestoneId:s},I)}}})}function E(e){e.preventDefault();const t=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:function(){cityssm.postJSON(o.urlPrefix+"/workOrders/doReopenWorkOrderMilestone",{workOrderId:r,workOrderMilestoneId:t},I)}}})}function D(e){e.preventDefault();const t=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:function(){cityssm.postJSON(`${o.urlPrefix}/workOrders/doDeleteWorkOrderMilestone`,{workOrderMilestoneId:t,workOrderId:r},I)}}})}function q(e){var t;e.preventDefault();const n=Number.parseInt(null!==(t=e.currentTarget.closest(".container--milestone").dataset.workOrderMilestoneId)&&void 0!==t?t:"",10),s=u.find(e=>e.workOrderMilestoneId===n);let a,l;function i(e){e.preventDefault(),cityssm.postJSON(`${o.urlPrefix}/workOrders/doUpdateWorkOrderMilestone`,e.currentTarget,e=>{const t=e;I(t),t.success&&a()})}cityssm.openHtmlModal("workOrder-editMilestone",{onshow(e){var t,o,n,a,i,d;e.querySelector("#milestoneEdit--workOrderId").value=r,e.querySelector("#milestoneEdit--workOrderMilestoneId").value=null!==(o=null===(t=s.workOrderMilestoneId)||void 0===t?void 0:t.toString())&&void 0!==o?o:"";const c=e.querySelector("#milestoneEdit--workOrderMilestoneTypeId");let u=!1;for(const e of exports.workOrderMilestoneTypes){const t=document.createElement("option");t.value=e.workOrderMilestoneTypeId.toString(),t.textContent=e.workOrderMilestoneType,e.workOrderMilestoneTypeId===s.workOrderMilestoneTypeId&&(t.selected=!0,u=!0),c.append(t)}if(!u&&s.workOrderMilestoneTypeId){const e=document.createElement("option");e.value=s.workOrderMilestoneTypeId.toString(),e.textContent=null!==(n=s.workOrderMilestoneType)&&void 0!==n?n:"",e.selected=!0,c.append(e)}(l=e.querySelector("#milestoneEdit--workOrderMilestoneDateString")).value=null!==(a=s.workOrderMilestoneDateString)&&void 0!==a?a:"",s.workOrderMilestoneTime&&(e.querySelector("#milestoneEdit--workOrderMilestoneTimeString").value=null!==(i=s.workOrderMilestoneTimeString)&&void 0!==i?i:""),e.querySelector("#milestoneEdit--workOrderMilestoneDescription").value=null!==(d=s.workOrderMilestoneDescription)&&void 0!==d?d:""},onshown(e,t){var r;a=t,bulmaJS.toggleHtmlClipped(),o.initializeDatePickers(e),null===(r=e.querySelector("form"))||void 0===r||r.addEventListener("submit",i);const n=document.querySelector("#milestoneEdit--conflictingMilestonesPanel");l.addEventListener("change",()=>{C(l.value,n)}),C(l.value,n)},onremoved(){bulmaJS.toggleHtmlClipped()}})}function A(){var e,t,o,r,n,s,a;const l=document.querySelector("#panel--milestones"),i=l.querySelectorAll(".panel-block");for(const e of i)e.remove();for(const i of u){const d=document.createElement("div");d.className="panel-block is-block container--milestone",d.dataset.workOrderMilestoneId=null===(e=i.workOrderMilestoneId)||void 0===e?void 0:e.toString(),d.innerHTML='
'+(i.workOrderMilestoneCompletionDate?'':'')+'
'+(i.workOrderMilestoneTypeId?""+cityssm.escapeHTML(null!==(t=i.workOrderMilestoneType)&&void 0!==t?t:"")+" ":"")+(0===i.workOrderMilestoneDate?'(No Set Date)':i.workOrderMilestoneDateString)+(i.workOrderMilestoneTime?" "+i.workOrderMilestoneTimePeriodString:"")+' '+cityssm.escapeHTML(null!==(o=i.workOrderMilestoneDescription)&&void 0!==o?o:"")+'