sunrise-cms/public/javascripts/lotOccupancyEdit.min.js

1 line
23 KiB
JavaScript

"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const t=exports.los,e=document.querySelector("main").dataset.urlPrefix,c=document.querySelector("#lotOccupancy--lotOccupancyId").value,a=""===c;let o=!1,n=a;const s=()=>{o||(o=!0,cityssm.enableNavBlocker())},l=document.querySelector("#form--lotOccupancy");l.addEventListener("submit",t=>{t.preventDefault(),cityssm.postJSON(e+"/lotOccupancies/"+(a?"doCreateLotOccupancy":"doUpdateLotOccupancy"),l,t=>{t.success?(o=!1,cityssm.disableNavBlocker(),a||n?window.location.href=e+"/lotOccupancies/"+t.lotOccupancyId+"/edit?t="+Date.now():bulmaJS.alert({message:exports.aliases.occupancy+" Updated Successfully",contextualColorName:"success"})):bulmaJS.alert({title:"Error Saving "+exports.aliases.occupancy,message:t.errorMessage,contextualColorName:"danger"})})});const r=l.querySelectorAll("input, select");for(const t of r)t.addEventListener("change",s);a||document.querySelector("#button--deleteLotOccupancy").addEventListener("click",t=>{t.preventDefault();bulmaJS.confirm({title:"Delete "+exports.aliases.occupancy+" Record",message:"Are you sure you want to delete this record?",contextualColorName:"warning",okButton:{text:"Yes, Delete",callbackFunction:()=>{cityssm.postJSON(e+"/lotOccupancies/doDeleteLotOccupancy",{lotOccupancyId:c},t=>{t.success?window.location.href=e+"/lotOccupancies?t="+Date.now():bulmaJS.alert({title:"Error Deleting Record",message:t.errorMessage,contextualColorName:"danger"})})}}})});const u=document.querySelector("#lotOccupancy--occupancyTypeId");if(a){const t=document.querySelector("#container--lotOccupancyFields");u.addEventListener("change",()=>{""!==u.value?cityssm.postJSON(e+"/lotOccupancies/doGetOccupancyTypeFields",{occupancyTypeId:u.value},e=>{if(0===e.occupancyTypeFields.length)return void(t.innerHTML='<div class="message is-info"><p class="message-body">There are no additional fields for this '+exports.aliases.occupancy.toLowerCase()+" type.</p></div>");t.innerHTML="";let c="";for(const a of e.occupancyTypeFields){c+=","+a.occupancyTypeFieldId;const e=document.createElement("div");e.className="field",e.innerHTML='<label class="label" for="lotOccupancy--lotOccupancyFieldValue_'+a.occupancyTypeFieldId+'"></label><div class="control"></div>',e.querySelector("label").textContent=a.occupancyTypeField;const o=document.createElement("input");o.className="input",o.id="lotOccupancy--lotOccupancyFieldValue_"+a.occupancyTypeFieldId,o.name="lotOccupancyFieldValue_"+a.occupancyTypeFieldId,o.type="text",o.required=a.isRequired,o.minLength=a.minimumLength,o.maxLength=a.maximumLength,a.pattern&&""!==a.pattern&&(o.pattern=a.pattern),e.querySelector(".control").append(o),t.append(e)}t.insertAdjacentHTML("beforeend",'<input name="occupancyTypeFieldIds" type="hidden" value="'+c.slice(1)+'" />')}):t.innerHTML='<div class="message is-info"><p class="message-body">Select the '+exports.aliases.occupancy.toLowerCase()+" type to load the available fields.</p></div>"})}else{const t=u.value;u.addEventListener("change",()=>{u.value!==t&&bulmaJS.confirm({title:"Confirm Change",message:"Are you sure you want to change the "+exports.aliases.occupancy.toLowerCase()+" type?\nThis 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:()=>{n=!0}},cancelButton:{text:"Revert the Change",callbackFunction:()=>{u.value=t}}})})}if(document.querySelector("#lotOccupancy--lotName").addEventListener("click",c=>{const a=c.currentTarget.value;let o,n,l;const r=t=>{t.preventDefault();const e=t.currentTarget;document.querySelector("#lotOccupancy--lotId").value=e.dataset.lotId,document.querySelector("#lotOccupancy--lotName").value=e.dataset.lotName,s(),o()},u=()=>{l.innerHTML='<p class="has-text-centered"><i class="fas fa-3x fa-pulse fa-spinner" aria-hidden="true"></i><br />Searching...</p>',cityssm.postJSON(e+"/lots/doSearchLots",n,t=>{if(0===t.count)return void(l.innerHTML='<div class="message is-info"><p class="message-body">No results.</p></div>');const e=document.createElement("div");e.className="panel";for(const c of t.lots){const t=document.createElement("a");t.className="panel-block is-block",t.href="#",t.dataset.lotId=c.lotId.toString(),t.dataset.lotName=c.lotName,t.innerHTML='<div class="columns"><div class="column">'+cityssm.escapeHTML(c.lotName)+'<br /><span class="is-size-7">'+cityssm.escapeHTML(c.mapName)+'</span></div><div class="column">'+cityssm.escapeHTML(c.lotStatus)+'<br /><span class="is-size-7">'+(c.lotOccupancyCount>0?"Currently Occupied":"")+"</span></div></div>",t.addEventListener("click",r),e.append(t)}l.innerHTML="",l.append(e)})};cityssm.openHtmlModal("lotOccupancy-selectLot",{onshow:e=>{t.populateAliases(e)},onshown:(t,e)=>{bulmaJS.toggleHtmlClipped(),o=e;const c=t.querySelector("#lotSelect--lotName");c.value=a,c.focus(),c.addEventListener("change",u),t.querySelector("#lotSelect--occupancyStatus").addEventListener("change",u),n=t.querySelector("#form--lotSelect"),l=t.querySelector("#resultsContainer--lotSelect"),n.addEventListener("submit",t=>{t.preventDefault()}),u()},onremoved:()=>{bulmaJS.toggleHtmlClipped()}})}),document.querySelector("#lotOccupancy--occupancyStartDateString").addEventListener("change",()=>{document.querySelector("#lotOccupancy--occupancyEndDateString").min=document.querySelector("#lotOccupancy--occupancyStartDateString").value}),t.initializeUnlockFieldButtons(l),!a){let a=exports.lotOccupancyOccupants;const o=o=>{const n=Number.parseInt(o.currentTarget.closest("tr").dataset.lotOccupantIndex,10),l=a.find(t=>t.lotOccupantIndex===n);let r,u;const i=t=>{t.preventDefault(),cityssm.postJSON(e+"/lotOccupancies/doUpdateLotOccupancyOccupant",r,t=>{t.success?(a=t.lotOccupancyOccupants,u(),s()):bulmaJS.alert({title:"Error Updating "+exports.aliases.occupant,message:t.errorMessage,contextualColorName:"danger"})})};cityssm.openHtmlModal("lotOccupancy-editOccupant",{onshow:e=>{t.populateAliases(e),e.querySelector("#lotOccupancyOccupantEdit--lotOccupancyId").value=c,e.querySelector("#lotOccupancyOccupantEdit--lotOccupantIndex").value=n.toString();const a=e.querySelector("#lotOccupancyOccupantEdit--lotOccupantTypeId");let o=!1;for(const t of exports.lotOccupantTypes){const e=document.createElement("option");e.value=t.lotOccupantTypeId.toString(),e.textContent=t.lotOccupantType,t.lotOccupantTypeId===l.lotOccupantTypeId&&(e.selected=!0,o=!0),a.append(e)}if(!o){const t=document.createElement("option");t.value=l.lotOccupantTypeId.toString(),t.textContent=l.lotOccupantType,t.selected=!0,a.append(t)}e.querySelector("#lotOccupancyOccupantEdit--occupantName").value=l.occupantName,e.querySelector("#lotOccupancyOccupantEdit--occupantAddress1").value=l.occupantAddress1,e.querySelector("#lotOccupancyOccupantEdit--occupantAddress2").value=l.occupantAddress2,e.querySelector("#lotOccupancyOccupantEdit--occupantCity").value=l.occupantCity,e.querySelector("#lotOccupancyOccupantEdit--occupantProvince").value=l.occupantProvince,e.querySelector("#lotOccupancyOccupantEdit--occupantPostalCode").value=l.occupantPostalCode,e.querySelector("#lotOccupancyOccupantEdit--occupantPhoneNumber").value=l.occupantPhoneNumber},onshown:(t,e)=>{bulmaJS.toggleHtmlClipped(),t.querySelector("#lotOccupancyOccupantEdit--lotOccupantTypeId").focus(),(r=t.querySelector("form")).addEventListener("submit",i),u=e},onremoved:()=>{bulmaJS.toggleHtmlClipped()}})},n=t=>{const o=t.currentTarget.closest("tr").dataset.lotOccupantIndex;bulmaJS.confirm({title:"Remove "+exports.aliases.occupant+"?",message:"Are you sure you want to remove this "+exports.aliases.occupant.toLowerCase()+"?",okButton:{text:"Yes, Remove "+exports.aliases.occupant,callbackFunction:()=>{cityssm.postJSON(e+"/lotOccupancies/doDeleteLotOccupancyOccupant",{lotOccupancyId:c,lotOccupantIndex:o},t=>{t.success?(a=t.lotOccupancyOccupants,s()):bulmaJS.alert({title:"Error Removing "+exports.aliases.occupant,message:t.errorMessage,contextualColorName:"danger"})})}},contextualColorName:"warning"})},s=()=>{const t=document.querySelector("#container--lotOccupancyOccupants");if(cityssm.clearElement(t),0===a.length)return void(t.innerHTML='<div class="message is-warning"><p class="message-body">There are no '+exports.aliases.occupants.toLowerCase()+" associated with this record.</p></div>");const e=document.createElement("table");e.className="table is-fullwidth is-striped is-hoverable",e.innerHTML="<thead><tr><th>"+exports.aliases.occupant+" Type</th><th>"+exports.aliases.occupant+"</th><th>Address</th><th>Phone Number</th><th></th></tr></thead><tbody></tbody>";for(const t of a){const c=document.createElement("tr");c.dataset.lotOccupantIndex=t.lotOccupantIndex.toString(),c.innerHTML="<td>"+cityssm.escapeHTML(t.lotOccupantType)+"</td><td>"+cityssm.escapeHTML(t.occupantName)+"</td><td>"+cityssm.escapeHTML(t.occupantAddress1)+"<br />"+(t.occupantAddress2?cityssm.escapeHTML(t.occupantAddress2)+"<br />":"")+cityssm.escapeHTML(t.occupantCity)+", "+cityssm.escapeHTML(t.occupantProvince)+"<br />"+cityssm.escapeHTML(t.occupantPostalCode)+"</td><td>"+cityssm.escapeHTML(t.occupantPhoneNumber)+'</td><td><div class="buttons are-small is-justify-content-end"><button class="button is-primary button--edit" type="button"><span class="icon is-small"><i class="fas fa-pencil-alt" aria-hidden="true"></i></span> <span>Edit</span></button><button class="button is-light is-danger button--delete" data-tooltip="Delete '+cityssm.escapeHTML(exports.aliases.occupant)+'" type="button" aria-label="Delete"><i class="fas fa-trash" aria-hidden="true"></i></button></div></td>',c.querySelector(".button--edit").addEventListener("click",o),c.querySelector(".button--delete").addEventListener("click",n),e.querySelector("tbody").append(c)}t.append(e)};document.querySelector("#button--addOccupant").addEventListener("click",()=>{let o,n;const l=t=>{t.preventDefault(),cityssm.postJSON(e+"/lotOccupancies/doAddLotOccupancyOccupant",o,t=>{t.success?(a=t.lotOccupancyOccupants,n(),s()):bulmaJS.alert({title:"Error Adding "+exports.aliases.occupant,message:t.errorMessage,contextualColorName:"danger"})})};cityssm.openHtmlModal("lotOccupancy-addOccupant",{onshow:e=>{t.populateAliases(e),e.querySelector("#lotOccupancyOccupantAdd--lotOccupancyId").value=c;const a=e.querySelector("#lotOccupancyOccupantAdd--lotOccupantTypeId");for(const t of exports.lotOccupantTypes){const e=document.createElement("option");e.value=t.lotOccupantTypeId.toString(),e.textContent=t.lotOccupantType,a.append(e)}e.querySelector("#lotOccupancyOccupantAdd--occupantCity").value=exports.occupantCityDefault,e.querySelector("#lotOccupancyOccupantAdd--occupantProvince").value=exports.occupantProvinceDefault},onshown:(t,e)=>{bulmaJS.toggleHtmlClipped(),t.querySelector("#lotOccupancyOccupantAdd--lotOccupantTypeId").focus(),(o=t.querySelector("form")).addEventListener("submit",l),n=e},onremoved:()=>{bulmaJS.toggleHtmlClipped()}})}),s()}if(!a){let a=exports.lotOccupancyComments;const o=o=>{const n=Number.parseInt(o.currentTarget.closest("tr").dataset.lotOccupancyCommentId,10),l=a.find(t=>t.lotOccupancyCommentId===n);let r,u;const i=t=>{t.preventDefault(),cityssm.postJSON(e+"/lotOccupancies/doUpdateLotOccupancyComment",r,t=>{t.success?(a=t.lotOccupancyComments,u(),s()):bulmaJS.alert({title:"Error Updating Comment",message:t.errorMessage,contextualColorName:"danger"})})};cityssm.openHtmlModal("lotOccupancy-editComment",{onshow:e=>{t.populateAliases(e),e.querySelector("#lotOccupancyCommentEdit--lotOccupancyId").value=c,e.querySelector("#lotOccupancyCommentEdit--lotOccupancyCommentId").value=n.toString(),e.querySelector("#lotOccupancyCommentEdit--lotOccupancyComment").value=l.lotOccupancyComment,e.querySelector("#lotOccupancyCommentEdit--lotOccupancyCommentDateString").value=l.lotOccupancyCommentDateString,e.querySelector("#lotOccupancyCommentEdit--lotOccupancyCommentTimeString").value=l.lotOccupancyCommentTimeString},onshown:(t,e)=>{bulmaJS.toggleHtmlClipped(),t.querySelector("#lotOccupancyCommentEdit--lotOccupancyComment").focus(),(r=t.querySelector("form")).addEventListener("submit",i),u=e},onremoved:()=>{bulmaJS.toggleHtmlClipped()}})},n=t=>{const o=Number.parseInt(t.currentTarget.closest("tr").dataset.lotOccupancyCommentId,10);bulmaJS.confirm({title:"Remove Comment?",message:"Are you sure you want to remove this comment?",okButton:{text:"Yes, Remove Comment",callbackFunction:()=>{cityssm.postJSON(e+"/lotOccupancies/doDeleteLotOccupancyComment",{lotOccupancyId:c,lotOccupancyCommentId:o},t=>{t.success?(a=t.lotOccupancyComments,s()):bulmaJS.alert({title:"Error Removing Comment",message:t.errorMessage,contextualColorName:"danger"})})}},contextualColorName:"warning"})},s=()=>{const t=document.querySelector("#container--lotOccupancyComments");if(0===a.length)return void(t.innerHTML='<div class="message is-info"><p class="message-body">There are no comments associated with this record.</p></div>');const e=document.createElement("table");e.className="table is-fullwidth is-striped is-hoverable",e.innerHTML='<thead><tr><th>Commentor</th><th>Comment Date</th><th>Comment</th><th><span class="is-sr-only">Options</span></th></tr></thead><tbody></tbody>';for(const t of a){const c=document.createElement("tr");c.dataset.lotOccupancyCommentId=t.lotOccupancyCommentId.toString(),c.innerHTML="<td>"+cityssm.escapeHTML(t.recordCreate_userName)+"</td><td>"+t.lotOccupancyCommentDateString+(0===t.lotOccupancyCommentTime?"":" "+t.lotOccupancyCommentTimeString)+"</td><td>"+cityssm.escapeHTML(t.lotOccupancyComment)+'</td><td><div class="buttons are-small is-justify-content-end"><button class="button is-primary button--edit" type="button"><span class="icon is-small"><i class="fas fa-pencil-alt" aria-hidden="true"></i></span> <span>Edit</span></button><button class="button is-light is-danger button--delete" data-tooltip="Delete Comment" type="button" aria-label="Delete"><i class="fas fa-trash" aria-hidden="true"></i></button></div></td>',c.querySelector(".button--edit").addEventListener("click",o),c.querySelector(".button--delete").addEventListener("click",n),e.querySelector("tbody").append(c)}t.innerHTML="",t.append(e)};document.querySelector("#button--addComment").addEventListener("click",()=>{let o,n;const l=t=>{t.preventDefault(),cityssm.postJSON(e+"/lotOccupancies/doAddLotOccupancyComment",o,t=>{t.success?(a=t.lotOccupancyComments,n(),s()):bulmaJS.alert({title:"Error Adding Comment",message:t.errorMessage,contextualColorName:"danger"})})};cityssm.openHtmlModal("lotOccupancy-addComment",{onshow:e=>{t.populateAliases(e),e.querySelector("#lotOccupancyCommentAdd--lotOccupancyId").value=c},onshown:(t,e)=>{bulmaJS.toggleHtmlClipped(),t.querySelector("#lotOccupancyCommentAdd--lotOccupancyComment").focus(),(o=t.querySelector("form")).addEventListener("submit",l),n=e},onremoved:()=>{bulmaJS.toggleHtmlClipped()}})}),s()}if(!a){let a=exports.lotOccupancyFees;const n=document.querySelector("#container--lotOccupancyFees"),s=()=>{let t=0;for(const e of a)t+=(e.feeAmount+e.taxAmount)*e.quantity;return t},l=t=>{const o=t.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:()=>{cityssm.postJSON(e+"/lotOccupancies/doDeleteLotOccupancyFee",{lotOccupancyId:c,feeId:o},t=>{t.success?(a=t.lotOccupancyFees,r()):bulmaJS.alert({title:"Error Deleting Fee",message:t.errorMessage,contextualColorName:"danger"})})}}})},r=()=>{if(0===a.length)return void(n.innerHTML='<div class="message is-info"><p class="message-body">There are no fees associated with this record.</p></div>');n.innerHTML='<table class="table is-fullwidth is-striped is-hoverable"><thead><tr><th>Fee</th><th><span class="is-sr-only">Unit Cost</span></th><th class="has-width-1"><span class="is-sr-only">&times;</span></th><th class="has-width-1"><span class="is-sr-only">Quantity</span></th><th class="has-width-1"><span class="is-sr-only">equals</span></th><th class="has-width-1 has-text-right">Total</th><th class="has-width-1"><span class="is-sr-only">Options</span></th></tr></thead><tbody></tbody><tfoot><tr><th colspan="5">Subtotal</th><td class="has-text-weight-bold has-text-right" id="lotOccupancyFees--feeAmountTotal"></td><td></td></tr><tr><th colspan="5">Tax</th><td class="has-text-right" id="lotOccupancyFees--taxAmountTotal"></td><td></td></tr><tr><th colspan="5">Grand Total</th><td class="has-text-weight-bold has-text-right" id="lotOccupancyFees--grandTotal"></td><td></td></tr></tfoot></table>';let t=0,e=0;for(const c of a){const a=document.createElement("tr");a.className="container--lotOccupancyFee",a.dataset.feeId=c.feeId.toString(),a.innerHTML='<td colspan="'+(1===c.quantity?"5":"1")+'">'+cityssm.escapeHTML(c.feeName)+"</td>"+(1===c.quantity?"":'<td class="has-text-right">$'+c.feeAmount.toFixed(2)+'</td><td>&times;</td><td class="has-text-right">'+c.quantity+"</td><td>=</td>")+'<td class="has-text-right">$'+(c.feeAmount*c.quantity).toFixed(2)+'</td><td><button class="button is-small is-danger is-light" data-tooltip="Delete Fee" type="button"><i class="fas fa-trash" aria-hidden="true"></i></button></td>',a.querySelector("button").addEventListener("click",l),n.querySelector("tbody").append(a),t+=c.feeAmount*c.quantity,e+=c.taxAmount*c.quantity}n.querySelector("#lotOccupancyFees--feeAmountTotal").textContent="$"+t.toFixed(2),n.querySelector("#lotOccupancyFees--taxAmountTotal").textContent="$"+e.toFixed(2),n.querySelector("#lotOccupancyFees--grandTotal").textContent="$"+(t+e).toFixed(2),m()};document.querySelector("#button--addFee").addEventListener("click",()=>{if(o)return void bulmaJS.alert({message:"Please save all unsaved changes before adding fees.",contextualColorName:"warning"});let t,s,l;const u=(t,o=1)=>{cityssm.postJSON(e+"/lotOccupancies/doAddLotOccupancyFee",{lotOccupancyId:c,feeId:t,quantity:o},t=>{t.success?(a=t.lotOccupancyFees,r(),d()):bulmaJS.alert({title:"Error Adding Fee",message:t.errorMessage,contextualColorName:"danger"})})},i=e=>{e.preventDefault();const c=Number.parseInt(e.currentTarget.dataset.feeId,10),a=Number.parseInt(e.currentTarget.closest(".container--feeCategory").dataset.feeCategoryId,10),o=t.find(t=>t.feeCategoryId===a).fees.find(t=>t.feeId===c);o.includeQuantity?(t=>{let e,c;const a=a=>{a.preventDefault(),u(t.feeId,e.value),c()};cityssm.openHtmlModal("lotOccupancy-setFeeQuantity",{onshow:e=>{e.querySelector("#lotOccupancyFeeQuantity--quantityUnit").textContent=t.quantityUnit},onshown:(t,o)=>{c=o,e=t.querySelector("#lotOccupancyFeeQuantity--quantity"),t.querySelector("form").addEventListener("submit",a)}})})(o):u(c)},d=()=>{const e=s.value.trim().toLowerCase().split(" ");l.innerHTML="";for(const c of t){const t=document.createElement("div");t.className="container--feeCategory",t.dataset.feeCategoryId=c.feeCategoryId.toString(),t.innerHTML='<h4 class="title is-5">'+cityssm.escapeHTML(c.feeCategory)+'</h4><div class="panel"></div>';let a=!1;for(const o of c.fees){if(n.querySelector(".container--lotOccupancyFee[data-fee-id='"+o.feeId+"']"))continue;let c=!0;for(const t of e)if(!o.feeName.toLowerCase().includes(t)){c=!1;break}if(!c)continue;a=!0;const s=document.createElement("a");s.className="panel-block is-block container--fee",s.dataset.feeId=o.feeId.toString(),s.href="#",s.innerHTML="<strong>"+cityssm.escapeHTML(o.feeName)+"</strong><br /><small>"+cityssm.escapeHTML(o.feeDescription).replace(/\n/g,"<br />")+"</small>",s.addEventListener("click",i),t.querySelector(".panel").append(s)}a&&l.append(t)}};cityssm.openHtmlModal("lotOccupancy-addFee",{onshow:a=>{s=a.querySelector("#feeSelect--feeName"),l=a.querySelector("#resultsContainer--feeSelect"),cityssm.postJSON(e+"/lotOccupancies/doGetFees",{lotOccupancyId:c},e=>{t=e.feeCategories,s.disabled=!1,s.addEventListener("keyup",d),s.focus(),d()})},onshown:()=>{bulmaJS.toggleHtmlClipped()},onhidden:()=>{r()},onremoved:()=>{bulmaJS.toggleHtmlClipped()}})});let u=exports.lotOccupancyTransactions;const i=document.querySelector("#container--lotOccupancyTransactions"),d=()=>{let t=0;for(const e of u)t+=e.transactionAmount;return t},p=t=>{const a=t.currentTarget.closest(".container--lotOccupancyTransaction").dataset.transactionIndex;bulmaJS.confirm({title:"Delete Trasnaction",message:"Are you sure you want to delete this transaction?",contextualColorName:"warning",okButton:{text:"Yes, Delete Transaction",callbackFunction:()=>{cityssm.postJSON(e+"/lotOccupancies/doDeleteLotOccupancyTransaction",{lotOccupancyId:c,transactionIndex:a},t=>{t.success?(u=t.lotOccupancyTransactions,m()):bulmaJS.alert({title:"Error Deleting Transaction",message:t.errorMessage,contextualColorName:"danger"})})}}})},m=()=>{if(0===u.length)return void(i.innerHTML='<div class="message '+(0===a.length?"is-info":"is-warning")+'"><p class="message-body">There are no transactions associated with this record.</p></div>');i.innerHTML='<table class="table is-fullwidth is-striped is-hoverable"><thead><tr><th class="has-width-1">Date</th><th>'+cityssm.escapeHTML(exports.aliases.externalReceiptNumber)+'</th><th class="has-text-right has-width-1">Amount</th><th class="has-width-1"><span class="is-sr-only">Options</span></th></tr></thead><tbody></tbody><tfoot><tr><th colspan="2">Transaction Total</th><td class="has-text-weight-bold has-text-right" id="lotOccupancyTransactions--grandTotal"></td><td></td></tr></tfoot></table>';let t=0;for(const e of u){t+=e.transactionAmount;const c=document.createElement("tr");c.className="container--lotOccupancyTransaction",c.dataset.transactionIndex=e.transactionIndex.toString(),c.innerHTML="<td>"+e.transactionDateString+"</td><td>"+cityssm.escapeHTML(e.externalReceiptNumber)+"<br /><small>"+cityssm.escapeHTML(e.transactionNote)+'</small></td><td class="has-text-right">$'+e.transactionAmount.toFixed(2)+'</td><td><button class="button is-small is-danger is-light" data-tooltip="Delete Transaction" type="button"><i class="fas fa-trash" aria-hidden="true"></i></button></td>',c.querySelector("button").addEventListener("click",p),i.querySelector("tbody").append(c)}i.querySelector("#lotOccupancyTransactions--grandTotal").textContent="$"+t.toFixed(2);s()};document.querySelector("#button--addTransaction").addEventListener("click",()=>{let a;const o=t=>{t.preventDefault(),cityssm.postJSON(e+"/lotOccupancies/doAddLotOccupancyTransaction",t.currentTarget,t=>{t.success?(u=t.lotOccupancyTransactions,a(),m()):bulmaJS.confirm({title:"Error Adding Transaction",message:t.errorMessage,contextualColorName:"danger"})})};cityssm.openHtmlModal("lotOccupancy-addTransaction",{onshow:e=>{t.populateAliases(e),e.querySelector("#lotOccupancyTransactionAdd--lotOccupancyId").value=c.toString();const a=s(),o=d(),n=e.querySelector("#lotOccupancyTransactionAdd--transactionAmount");n.min=(-1*o).toFixed(2),n.max=Math.max(a-o,0).toFixed(2),n.value=Math.max(a-o,0).toFixed(2)},onshown:(t,e)=>{bulmaJS.toggleHtmlClipped(),a=e,t.querySelector("form").addEventListener("submit",o)},onremoved:()=>{bulmaJS.toggleHtmlClipped()}})}),r()}})();