`
tableRowElement
- .querySelector('.button--edit')!
- .addEventListener('click', openEditLotOccupancyComment)
+ .querySelector('.button--edit')
+ ?.addEventListener('click', openEditLotOccupancyComment)
tableRowElement
- .querySelector('.button--delete')!
- .addEventListener('click', deleteLotOccupancyComment)
+ .querySelector('.button--delete')
+ ?.addEventListener('click', deleteLotOccupancyComment)
- tableElement.querySelector('tbody')!.append(tableRowElement)
+ tableElement.querySelector('tbody')?.append(tableRowElement)
}
containerElement.innerHTML = ''
@@ -243,15 +247,17 @@ document.querySelector('#button--addComment')?.addEventListener('click', () => {
submitEvent.preventDefault()
cityssm.postJSON(
- los.urlPrefix + '/lotOccupancies/doAddLotOccupancyComment',
+ `${los.urlPrefix}/lotOccupancies/doAddLotOccupancyComment`,
addFormElement,
- (responseJSON: {
- success: boolean
- errorMessage?: string
- lotOccupancyComments?: recordTypes.LotOccupancyComment[]
- }) => {
+ (rawResponseJSON) => {
+ const responseJSON = rawResponseJSON as {
+ success: boolean
+ errorMessage?: string
+ lotOccupancyComments: recordTypes.LotOccupancyComment[]
+ }
+
if (responseJSON.success) {
- lotOccupancyComments = responseJSON.lotOccupancyComments!
+ lotOccupancyComments = responseJSON.lotOccupancyComments
addCloseModalFunction()
renderLotOccupancyComments()
} else {
@@ -282,7 +288,8 @@ document.querySelector('#button--addComment')?.addEventListener('click', () => {
) as HTMLTextAreaElement
).focus()
- addFormElement = modalElement.querySelector('form')!
+ addFormElement = modalElement.querySelector('form') as HTMLFormElement
+
addFormElement.addEventListener('submit', addComment)
addCloseModalFunction = closeModalFunction
diff --git a/public/javascripts/lotOccupancyEdit.min.js b/public/javascripts/lotOccupancyEdit.min.js
index 4438be57..74255ee7 100644
--- a/public/javascripts/lotOccupancyEdit.min.js
+++ b/public/javascripts/lotOccupancyEdit.min.js
@@ -1 +1 @@
-"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{var e,t,n,c,a;const o=exports.los,s=document.querySelector("#lotOccupancy--lotOccupancyId").value,l=""===s;let r=l;function i(){var e;o.setUnsavedChanges(),null===(e=document.querySelector("button[type='submit'][form='form--lotOccupancy']"))||void 0===e||e.classList.remove("is-light")}function u(){var e;o.clearUnsavedChanges(),null===(e=document.querySelector("button[type='submit'][form='form--lotOccupancy']"))||void 0===e||e.classList.add("is-light")}const d=document.querySelector("#form--lotOccupancy");d.addEventListener("submit",e=>{e.preventDefault(),cityssm.postJSON(`${o.urlPrefix}/lotOccupancies/${l?"doCreateLotOccupancy":"doUpdateLotOccupancy"}`,d,e=>{var t;const n=e;n.success?(u(),l||r?window.location.href=o.getLotOccupancyURL(n.lotOccupancyId,!0,!0):bulmaJS.alert({message:`${o.escapedAliases.Occupancy} Updated Successfully`,contextualColorName:"success"})):bulmaJS.alert({title:`Error Saving ${o.escapedAliases.Occupancy}`,message:null!==(t=n.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})});const p=d.querySelectorAll("input, select");for(const e of p)e.addEventListener("change",i);function m(){cityssm.postJSON(`${o.urlPrefix}/lotOccupancies/doCopyLotOccupancy`,{lotOccupancyId:s},e=>{var t;const n=e;n.success?(u(),window.location.href=o.getLotOccupancyURL(n.lotOccupancyId,!0)):bulmaJS.alert({title:"Error Copying Record",message:null!==(t=n.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}null===(S=document.querySelector("#button--copyLotOccupancy"))||void 0===S||S.addEventListener("click",e=>{e.preventDefault(),o.hasUnsavedChanges()?bulmaJS.alert({title:"Unsaved Changes",message:"Please save all unsaved changes before continuing.",contextualColorName:"warning"}):bulmaJS.confirm({title:`Copy ${o.escapedAliases.Occupancy} Record as New`,message:"Are you sure you want to copy this record to a new record?",contextualColorName:"info",okButton:{text:"Yes, Copy",callbackFunction:m}})}),null===(e=document.querySelector("#button--deleteLotOccupancy"))||void 0===e||e.addEventListener("click",e=>{e.preventDefault(),bulmaJS.confirm({title:`Delete ${o.escapedAliases.Occupancy} Record`,message:"Are you sure you want to delete this record?",contextualColorName:"warning",okButton:{text:"Yes, Delete",callbackFunction:function(){cityssm.postJSON(`${o.urlPrefix}/lotOccupancies/doDeleteLotOccupancy`,{lotOccupancyId:s},e=>{var t;const n=e;n.success?(u(),window.location.href=o.getLotOccupancyURL()):bulmaJS.alert({title:"Error Deleting Record",message:null!==(t=n.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}}})}),null===(t=document.querySelector("#button--createWorkOrder"))||void 0===t||t.addEventListener("click",e=>{let t;function n(e){e.preventDefault(),cityssm.postJSON(`${o.urlPrefix}/workOrders/doCreateWorkOrder`,e.currentTarget,e=>{const n=e;n.success?(t(),bulmaJS.confirm({title:"Work Order Created Successfully",message:"Would you like to open the work order now?",contextualColorName:"success",okButton:{text:"Yes, Open the Work Order",callbackFunction:()=>{window.location.href=o.getWorkOrderURL(n.workOrderId,!0)}}})):bulmaJS.alert({title:"Error Creating Work Order",message:n.errorMessage,contextualColorName:"danger"})})}e.preventDefault(),cityssm.openHtmlModal("lotOccupancy-createWorkOrder",{onshow(e){var t;e.querySelector("#workOrderCreate--lotOccupancyId").value=s,e.querySelector("#workOrderCreate--workOrderOpenDateString").value=cityssm.dateToString(new Date);const n=e.querySelector("#workOrderCreate--workOrderTypeId"),c=exports.workOrderTypes;1===c.length&&(n.innerHTML="");for(const e of c){const c=document.createElement("option");c.value=e.workOrderTypeId.toString(),c.textContent=null!==(t=e.workOrderType)&&void 0!==t?t:"",n.append(c)}},onshown(e,c){var a;t=c,bulmaJS.toggleHtmlClipped(),e.querySelector("#workOrderCreate--workOrderTypeId").focus(),null===(a=e.querySelector("form"))||void 0===a||a.addEventListener("submit",n)},onremoved(){bulmaJS.toggleHtmlClipped(),document.querySelector("#button--createWorkOrder").focus()}})});const y=document.querySelector("#lotOccupancy--occupancyTypeId");if(l){const e=document.querySelector("#container--lotOccupancyFields");y.addEventListener("change",()=>{""!==y.value?cityssm.postJSON(o.urlPrefix+"/lotOccupancies/doGetOccupancyTypeFields",{occupancyTypeId:y.value},t=>{var n,c;const a=t;if(0===a.occupancyTypeFields.length)return void(e.innerHTML=`
\n
There are no additional fields for this ${o.escapedAliases.occupancy} type.
\n
`);e.innerHTML="";let s="";for(const t of a.occupancyTypeFields){s+=","+t.occupancyTypeFieldId.toString();const a=`lotOccupancyFieldValue_${t.occupancyTypeFieldId.toString()}`,o=`lotOccupancy--${a}`,l=document.createElement("div");if(l.className="field",l.innerHTML=``,l.querySelector("label").textContent=t.occupancyTypeField,""===(null!==(n=t.occupancyTypeFieldValues)&&void 0!==n?n:"")){const e=document.createElement("input");e.className="input",e.id=o,e.name=a,e.type="text",e.required=t.isRequired,e.minLength=t.minimumLength,e.maxLength=t.maximumLength,""!==(null!==(c=t.pattern)&&void 0!==c?c:"")&&(e.pattern=t.pattern),l.querySelector(".control").append(e)}else{l.querySelector(".control").innerHTML=`
\n \n
`;const e=l.querySelector("select");e.required=t.isRequired;const n=t.occupancyTypeFieldValues.split("\n");for(const t of n){const n=document.createElement("option");n.value=t,n.textContent=t,e.append(n)}}console.log(l),e.append(l)}e.insertAdjacentHTML("beforeend",``)}):e.innerHTML=`
\n
Select the ${o.escapedAliases.occupancy} type to load the available fields.
\n
`})}else{const e=y.value;y.addEventListener("change",()=>{y.value!==e&&bulmaJS.confirm({title:"Confirm Change",message:`Are you sure you want to change the ${o.escapedAliases.occupancy} type?\n\n This change affects the additional fields associated with this record, and may also affect the available fees.`,contextualColorName:"warning",okButton:{text:"Yes, Keep the Change",callbackFunction:()=>{r=!0}},cancelButton:{text:"Revert the Change",callbackFunction:()=>{y.value=e}}})})}const v=document.querySelector("#lotOccupancy--lotName");v.addEventListener("click",e=>{const t=e.currentTarget.value;let n,c,a,s;function l(e,t){document.querySelector("#lotOccupancy--lotId").value=e.toString(),document.querySelector("#lotOccupancy--lotName").value=t,i(),n()}function r(e){e.preventDefault();const t=e.currentTarget;l(t.dataset.lotId,t.dataset.lotName)}function u(){s.innerHTML=o.getLoadingParagraphHTML("Searching..."),cityssm.postJSON(`${o.urlPrefix}/lots/doSearchLots`,a,e=>{var t,n;const c=e;if(0===c.count)return void(s.innerHTML='
\n
No results.
\n
');const a=document.createElement("div");a.className="panel";for(const e of c.lots){const c=document.createElement("a");c.className="panel-block is-block",c.href="#",c.dataset.lotId=e.lotId.toString(),c.dataset.lotName=e.lotName,c.innerHTML=`
',e.querySelector(".button--edit").addEventListener("click",b),e.querySelector(".button--delete").addEventListener("click",C),o.querySelector("tbody").append(e)}a.innerHTML="",a.append(o)}delete exports.lotOccupancyComments,null===(S=document.querySelector("#button--addComment"))||void 0===S||S.addEventListener("click",()=>{let t,n;function c(c){c.preventDefault(),cityssm.postJSON(o.urlPrefix+"/lotOccupancies/doAddLotOccupancyComment",t,t=>{var c;t.success?(e=t.lotOccupancyComments,n(),T()):bulmaJS.alert({title:"Error Adding Comment",message:null!==(c=t.errorMessage)&&void 0!==c?c:"",contextualColorName:"danger"})})}cityssm.openHtmlModal("lotOccupancy-addComment",{onshow(e){o.populateAliases(e),e.querySelector("#lotOccupancyCommentAdd--lotOccupancyId").value=s},onshown(e,a){bulmaJS.toggleHtmlClipped(),e.querySelector("#lotOccupancyCommentAdd--lotOccupancyComment").focus(),(t=e.querySelector("form")).addEventListener("submit",c),n=a},onremoved:()=>{bulmaJS.toggleHtmlClipped(),document.querySelector("#button--addComment").focus()}})}),T(),Object.defineProperty(exports,"__esModule",{value:!0});let t=exports.lotOccupancyFees;delete exports.lotOccupancyFees;const n=document.querySelector("#container--lotOccupancyFees");function x(){let e=0;for(const n of t)e+=(n.feeAmount+n.taxAmount)*n.quantity;return e}function L(e){const n=Number.parseInt(e.currentTarget.closest("tr").dataset.feeId,10),c=t.find(e=>e.feeId===n);let a;function l(e){e.preventDefault(),cityssm.postJSON(o.urlPrefix+"/lotOccupancies/doUpdateLotOccupancyFeeQuantity",e.currentTarget,e=>{const n=e;n.success?(t=n.lotOccupancyFees,N(),a()):bulmaJS.alert({title:"Error Updating Quantity",message:"Please try again.",contextualColorName:"danger"})})}cityssm.openHtmlModal("lotOccupancy-editFeeQuantity",{onshow(e){e.querySelector("#lotOccupancyFeeQuantity--lotOccupancyId").value=s,e.querySelector("#lotOccupancyFeeQuantity--feeId").value=c.feeId.toString(),e.querySelector("#lotOccupancyFeeQuantity--quantity").valueAsNumber=c.quantity,e.querySelector("#lotOccupancyFeeQuantity--quantityUnit").textContent=c.quantityUnit},onshown(e,t){var n;bulmaJS.toggleHtmlClipped(),a=t,e.querySelector("#lotOccupancyFeeQuantity--quantity").focus(),null===(n=e.querySelector("form"))||void 0===n||n.addEventListener("submit",l)},onremoved(){bulmaJS.toggleHtmlClipped()}})}function q(e){const n=e.currentTarget.closest(".container--lotOccupancyFee").dataset.feeId;bulmaJS.confirm({title:"Delete Fee",message:"Are you sure you want to delete this fee?",contextualColorName:"warning",okButton:{text:"Yes, Delete Fee",callbackFunction:function(){cityssm.postJSON(o.urlPrefix+"/lotOccupancies/doDeleteLotOccupancyFee",{lotOccupancyId:s,feeId:n},e=>{var n;const c=e;c.success?(t=c.lotOccupancyFees,N()):bulmaJS.alert({title:"Error Deleting Fee",message:null!==(n=c.errorMessage)&&void 0!==n?n:"",contextualColorName:"danger"})})}}})}function N(){var e,c,a,o,s,l,r;if(0===t.length)return n.innerHTML='
\n
There are no fees associated with this record.
\n
',void M();n.innerHTML='
\n
\n
Fee
\n
Unit Cost
\n
×
\n
Quantity
\n
equals
\n
Total
\n
Options
\n
\n \n
\n
Subtotal
\n
\n
\n
\n
Tax
\n
\n
\n
\n
Grand Total
\n
\n
\n
';let i=0,u=0;for(const d of t){const t=document.createElement("tr");t.className="container--lotOccupancyFee",t.dataset.feeId=d.feeId.toString(),t.dataset.includeQuantity=null!==(e=d.includeQuantity)&&void 0!==e&&e?"1":"0",t.innerHTML='
")}const r=document.querySelector("#button--addTransaction");r.addEventListener("click",()=>{let e,t,n;function c(e){e.preventDefault(),cityssm.postJSON(o.urlPrefix+"/lotOccupancies/doAddLotOccupancyTransaction",e.currentTarget,e=>{var t;const c=e;c.success?(a=c.lotOccupancyTransactions,n(),M()):bulmaJS.confirm({title:"Error Adding Transaction",message:null!==(t=c.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}function l(){const n=t.value,c=t.closest(".control").querySelector(".icon"),a=t.closest(".field").querySelector(".help");if(""===n)return a.innerHTML=" ",void(c.innerHTML='');cityssm.postJSON(o.urlPrefix+"/lotOccupancies/doGetDynamicsGPDocument",{externalReceiptNumber:n},t=>{const n=t;n.success&&void 0!==n.dynamicsGPDocument?e.valueAsNumber===n.dynamicsGPDocument.documentTotal?(a.textContent="Matching Document Found",c.innerHTML=''):(a.textContent="Matching Document: $"+n.dynamicsGPDocument.documentTotal.toFixed(2),c.innerHTML=''):(a.textContent="No Matching Document Found",c.innerHTML='')})}cityssm.openHtmlModal("lotOccupancy-addTransaction",{onshow(n){o.populateAliases(n),n.querySelector("#lotOccupancyTransactionAdd--lotOccupancyId").value=s.toString();const c=x(),r=function(){let e=0;for(const t of a)e+=t.transactionAmount;return e}();if((e=n.querySelector("#lotOccupancyTransactionAdd--transactionAmount")).min=(-1*r).toFixed(2),e.max=Math.max(c-r,0).toFixed(2),e.value=Math.max(c-r,0).toFixed(2),o.dynamicsGPIntegrationIsEnabled){const c=(t=n.querySelector("#lotOccupancyTransactionAdd--externalReceiptNumber")).closest(".control");c.classList.add("has-icons-right"),c.insertAdjacentHTML("beforeend",''),c.insertAdjacentHTML("afterend",''),t.addEventListener("change",l),e.addEventListener("change",l),l()}},onshown(t,a){bulmaJS.toggleHtmlClipped(),e.focus(),n=a,t.querySelector("form").addEventListener("submit",c)},onremoved(){bulmaJS.toggleHtmlClipped(),r.focus()}})}),N()}})();
\ No newline at end of file
+"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{var e,t,n,c,a;const o=exports.los,s=document.querySelector("#lotOccupancy--lotOccupancyId").value,l=""===s;let r=l;function i(){var e;o.setUnsavedChanges(),null===(e=document.querySelector("button[type='submit'][form='form--lotOccupancy']"))||void 0===e||e.classList.remove("is-light")}function u(){var e;o.clearUnsavedChanges(),null===(e=document.querySelector("button[type='submit'][form='form--lotOccupancy']"))||void 0===e||e.classList.add("is-light")}const d=document.querySelector("#form--lotOccupancy");d.addEventListener("submit",e=>{e.preventDefault(),cityssm.postJSON(`${o.urlPrefix}/lotOccupancies/${l?"doCreateLotOccupancy":"doUpdateLotOccupancy"}`,d,e=>{var t;const n=e;n.success?(u(),l||r?window.location.href=o.getLotOccupancyURL(n.lotOccupancyId,!0,!0):bulmaJS.alert({message:`${o.escapedAliases.Occupancy} Updated Successfully`,contextualColorName:"success"})):bulmaJS.alert({title:`Error Saving ${o.escapedAliases.Occupancy}`,message:null!==(t=n.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})});const p=d.querySelectorAll("input, select");for(const e of p)e.addEventListener("change",i);function m(){cityssm.postJSON(`${o.urlPrefix}/lotOccupancies/doCopyLotOccupancy`,{lotOccupancyId:s},e=>{var t;const n=e;n.success?(u(),window.location.href=o.getLotOccupancyURL(n.lotOccupancyId,!0)):bulmaJS.alert({title:"Error Copying Record",message:null!==(t=n.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}null===(S=document.querySelector("#button--copyLotOccupancy"))||void 0===S||S.addEventListener("click",e=>{e.preventDefault(),o.hasUnsavedChanges()?bulmaJS.alert({title:"Unsaved Changes",message:"Please save all unsaved changes before continuing.",contextualColorName:"warning"}):bulmaJS.confirm({title:`Copy ${o.escapedAliases.Occupancy} Record as New`,message:"Are you sure you want to copy this record to a new record?",contextualColorName:"info",okButton:{text:"Yes, Copy",callbackFunction:m}})}),null===(e=document.querySelector("#button--deleteLotOccupancy"))||void 0===e||e.addEventListener("click",e=>{e.preventDefault(),bulmaJS.confirm({title:`Delete ${o.escapedAliases.Occupancy} Record`,message:"Are you sure you want to delete this record?",contextualColorName:"warning",okButton:{text:"Yes, Delete",callbackFunction:function(){cityssm.postJSON(`${o.urlPrefix}/lotOccupancies/doDeleteLotOccupancy`,{lotOccupancyId:s},e=>{var t;const n=e;n.success?(u(),window.location.href=o.getLotOccupancyURL()):bulmaJS.alert({title:"Error Deleting Record",message:null!==(t=n.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}}})}),null===(t=document.querySelector("#button--createWorkOrder"))||void 0===t||t.addEventListener("click",e=>{let t;function n(e){e.preventDefault(),cityssm.postJSON(`${o.urlPrefix}/workOrders/doCreateWorkOrder`,e.currentTarget,e=>{const n=e;n.success?(t(),bulmaJS.confirm({title:"Work Order Created Successfully",message:"Would you like to open the work order now?",contextualColorName:"success",okButton:{text:"Yes, Open the Work Order",callbackFunction:()=>{window.location.href=o.getWorkOrderURL(n.workOrderId,!0)}}})):bulmaJS.alert({title:"Error Creating Work Order",message:n.errorMessage,contextualColorName:"danger"})})}e.preventDefault(),cityssm.openHtmlModal("lotOccupancy-createWorkOrder",{onshow(e){var t;e.querySelector("#workOrderCreate--lotOccupancyId").value=s,e.querySelector("#workOrderCreate--workOrderOpenDateString").value=cityssm.dateToString(new Date);const n=e.querySelector("#workOrderCreate--workOrderTypeId"),c=exports.workOrderTypes;1===c.length&&(n.innerHTML="");for(const e of c){const c=document.createElement("option");c.value=e.workOrderTypeId.toString(),c.textContent=null!==(t=e.workOrderType)&&void 0!==t?t:"",n.append(c)}},onshown(e,c){var a;t=c,bulmaJS.toggleHtmlClipped(),e.querySelector("#workOrderCreate--workOrderTypeId").focus(),null===(a=e.querySelector("form"))||void 0===a||a.addEventListener("submit",n)},onremoved(){bulmaJS.toggleHtmlClipped(),document.querySelector("#button--createWorkOrder").focus()}})});const y=document.querySelector("#lotOccupancy--occupancyTypeId");if(l){const e=document.querySelector("#container--lotOccupancyFields");y.addEventListener("change",()=>{""!==y.value?cityssm.postJSON(o.urlPrefix+"/lotOccupancies/doGetOccupancyTypeFields",{occupancyTypeId:y.value},t=>{var n,c;const a=t;if(0===a.occupancyTypeFields.length)return void(e.innerHTML=`
\n
There are no additional fields for this ${o.escapedAliases.occupancy} type.
\n
`);e.innerHTML="";let s="";for(const t of a.occupancyTypeFields){s+=","+t.occupancyTypeFieldId.toString();const a=`lotOccupancyFieldValue_${t.occupancyTypeFieldId.toString()}`,o=`lotOccupancy--${a}`,l=document.createElement("div");if(l.className="field",l.innerHTML=``,l.querySelector("label").textContent=t.occupancyTypeField,""===(null!==(n=t.occupancyTypeFieldValues)&&void 0!==n?n:"")){const e=document.createElement("input");e.className="input",e.id=o,e.name=a,e.type="text",e.required=t.isRequired,e.minLength=t.minimumLength,e.maxLength=t.maximumLength,""!==(null!==(c=t.pattern)&&void 0!==c?c:"")&&(e.pattern=t.pattern),l.querySelector(".control").append(e)}else{l.querySelector(".control").innerHTML=`
\n \n
`;const e=l.querySelector("select");e.required=t.isRequired;const n=t.occupancyTypeFieldValues.split("\n");for(const t of n){const n=document.createElement("option");n.value=t,n.textContent=t,e.append(n)}}console.log(l),e.append(l)}e.insertAdjacentHTML("beforeend",``)}):e.innerHTML=`
\n
Select the ${o.escapedAliases.occupancy} type to load the available fields.
\n
`})}else{const e=y.value;y.addEventListener("change",()=>{y.value!==e&&bulmaJS.confirm({title:"Confirm Change",message:`Are you sure you want to change the ${o.escapedAliases.occupancy} type?\n\n This change affects the additional fields associated with this record, and may also affect the available fees.`,contextualColorName:"warning",okButton:{text:"Yes, Keep the Change",callbackFunction:()=>{r=!0}},cancelButton:{text:"Revert the Change",callbackFunction:()=>{y.value=e}}})})}const v=document.querySelector("#lotOccupancy--lotName");v.addEventListener("click",e=>{const t=e.currentTarget.value;let n,c,a,s;function l(e,t){document.querySelector("#lotOccupancy--lotId").value=e.toString(),document.querySelector("#lotOccupancy--lotName").value=t,i(),n()}function r(e){e.preventDefault();const t=e.currentTarget;l(t.dataset.lotId,t.dataset.lotName)}function u(){s.innerHTML=o.getLoadingParagraphHTML("Searching..."),cityssm.postJSON(`${o.urlPrefix}/lots/doSearchLots`,a,e=>{var t,n;const c=e;if(0===c.count)return void(s.innerHTML='
\n
No results.
\n
');const a=document.createElement("div");a.className="panel";for(const e of c.lots){const c=document.createElement("a");c.className="panel-block is-block",c.href="#",c.dataset.lotId=e.lotId.toString(),c.dataset.lotName=e.lotName,c.innerHTML=`
\n ';for(const i of e){const e=document.createElement("tr");e.dataset.lotOccupancyCommentId=null===(t=i.lotOccupancyCommentId)||void 0===t?void 0:t.toString(),e.innerHTML=`
`,null===(s=e.querySelector(".button--edit"))||void 0===s||s.addEventListener("click",b),null===(l=e.querySelector(".button--delete"))||void 0===l||l.addEventListener("click",C),null===(r=u.querySelector("tbody"))||void 0===r||r.append(e)}i.innerHTML="",i.append(u)}delete exports.lotOccupancyComments,null===(S=document.querySelector("#button--addComment"))||void 0===S||S.addEventListener("click",()=>{let t,n;function c(c){c.preventDefault(),cityssm.postJSON(`${o.urlPrefix}/lotOccupancies/doAddLotOccupancyComment`,t,t=>{var c;const a=t;a.success?(e=a.lotOccupancyComments,n(),T()):bulmaJS.alert({title:"Error Adding Comment",message:null!==(c=a.errorMessage)&&void 0!==c?c:"",contextualColorName:"danger"})})}cityssm.openHtmlModal("lotOccupancy-addComment",{onshow(e){o.populateAliases(e),e.querySelector("#lotOccupancyCommentAdd--lotOccupancyId").value=s},onshown(e,a){bulmaJS.toggleHtmlClipped(),e.querySelector("#lotOccupancyCommentAdd--lotOccupancyComment").focus(),(t=e.querySelector("form")).addEventListener("submit",c),n=a},onremoved:()=>{bulmaJS.toggleHtmlClipped(),document.querySelector("#button--addComment").focus()}})}),T(),Object.defineProperty(exports,"__esModule",{value:!0});let t=exports.lotOccupancyFees;delete exports.lotOccupancyFees;const n=document.querySelector("#container--lotOccupancyFees");function x(){let e=0;for(const n of t)e+=(n.feeAmount+n.taxAmount)*n.quantity;return e}function L(e){const n=Number.parseInt(e.currentTarget.closest("tr").dataset.feeId,10),c=t.find(e=>e.feeId===n);let a;function l(e){e.preventDefault(),cityssm.postJSON(o.urlPrefix+"/lotOccupancies/doUpdateLotOccupancyFeeQuantity",e.currentTarget,e=>{const n=e;n.success?(t=n.lotOccupancyFees,N(),a()):bulmaJS.alert({title:"Error Updating Quantity",message:"Please try again.",contextualColorName:"danger"})})}cityssm.openHtmlModal("lotOccupancy-editFeeQuantity",{onshow(e){e.querySelector("#lotOccupancyFeeQuantity--lotOccupancyId").value=s,e.querySelector("#lotOccupancyFeeQuantity--feeId").value=c.feeId.toString(),e.querySelector("#lotOccupancyFeeQuantity--quantity").valueAsNumber=c.quantity,e.querySelector("#lotOccupancyFeeQuantity--quantityUnit").textContent=c.quantityUnit},onshown(e,t){var n;bulmaJS.toggleHtmlClipped(),a=t,e.querySelector("#lotOccupancyFeeQuantity--quantity").focus(),null===(n=e.querySelector("form"))||void 0===n||n.addEventListener("submit",l)},onremoved(){bulmaJS.toggleHtmlClipped()}})}function q(e){const n=e.currentTarget.closest(".container--lotOccupancyFee").dataset.feeId;bulmaJS.confirm({title:"Delete Fee",message:"Are you sure you want to delete this fee?",contextualColorName:"warning",okButton:{text:"Yes, Delete Fee",callbackFunction:function(){cityssm.postJSON(o.urlPrefix+"/lotOccupancies/doDeleteLotOccupancyFee",{lotOccupancyId:s,feeId:n},e=>{var n;const c=e;c.success?(t=c.lotOccupancyFees,N()):bulmaJS.alert({title:"Error Deleting Fee",message:null!==(n=c.errorMessage)&&void 0!==n?n:"",contextualColorName:"danger"})})}}})}function N(){var e,c,a,o,s,l,r;if(0===t.length)return n.innerHTML='
\n
There are no fees associated with this record.
\n
',void M();n.innerHTML='
\n
\n
Fee
\n
Unit Cost
\n
×
\n
Quantity
\n
equals
\n
Total
\n
Options
\n
\n \n
\n
Subtotal
\n
\n
\n
\n
Tax
\n
\n
\n
\n
Grand Total
\n
\n
\n
';let i=0,u=0;for(const d of t){const t=document.createElement("tr");t.className="container--lotOccupancyFee",t.dataset.feeId=d.feeId.toString(),t.dataset.includeQuantity=null!==(e=d.includeQuantity)&&void 0!==e&&e?"1":"0",t.innerHTML='