1 line
31 KiB
JavaScript
1 line
31 KiB
JavaScript
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{var e;const t=exports.los,c=document.querySelector("#lotOccupancy--lotOccupancyId").value,a=""===c;let o=a;const n=document.querySelector("#form--lotOccupancy");n.addEventListener("submit",e=>{e.preventDefault(),cityssm.postJSON(t.urlPrefix+"/lotOccupancies/"+(a?"doCreateLotOccupancy":"doUpdateLotOccupancy"),n,e=>{var c;e.success?(t.clearUnsavedChanges(),a||o?window.location.href=t.getLotOccupancyURL(e.lotOccupancyId,!0,!0):bulmaJS.alert({message:`${t.escapedAliases.Occupancy} Updated Successfully`,contextualColorName:"success"})):bulmaJS.alert({title:"Error Saving "+t.escapedAliases.Occupancy,message:null!==(c=e.errorMessage)&&void 0!==c?c:"",contextualColorName:"danger"})})});const s=n.querySelectorAll("input, select");for(const e of s)e.addEventListener("change",t.setUnsavedChanges);function l(){cityssm.postJSON(t.urlPrefix+"/lotOccupancies/doCopyLotOccupancy",{lotOccupancyId:c},e=>{var c;e.success?(cityssm.disableNavBlocker(),window.location.href=t.getLotOccupancyURL(e.lotOccupancyId,!0)):bulmaJS.alert({title:"Error Copying Record",message:null!==(c=e.errorMessage)&&void 0!==c?c:"",contextualColorName:"danger"})})}null===(e=document.querySelector("#button--copyLotOccupancy"))||void 0===e||e.addEventListener("click",e=>{e.preventDefault(),t.hasUnsavedChanges()?bulmaJS.alert({title:"Unsaved Changes",message:"Please save all unsaved changes before continuing.",contextualColorName:"warning"}):bulmaJS.confirm({title:`Copy ${t.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:l}})}),document.querySelector("#button--deleteLotOccupancy").addEventListener("click",e=>{e.preventDefault(),bulmaJS.confirm({title:`Delete ${t.escapedAliases.Occupancy} Record`,message:"Are you sure you want to delete this record?",contextualColorName:"warning",okButton:{text:"Yes, Delete",callbackFunction:function(){cityssm.postJSON(t.urlPrefix+"/lotOccupancies/doDeleteLotOccupancy",{lotOccupancyId:c},e=>{var c;e.success?(cityssm.disableNavBlocker(),window.location.href=t.getLotOccupancyURL()):bulmaJS.alert({title:"Error Deleting Record",message:null!==(c=e.errorMessage)&&void 0!==c?c:"",contextualColorName:"danger"})})}}})}),document.querySelector("#button--createWorkOrder").addEventListener("click",e=>{let a;function o(e){e.preventDefault(),cityssm.postJSON(t.urlPrefix+"/workOrders/doCreateWorkOrder",e.currentTarget,e=>{e.success?(a(),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=t.getWorkOrderURL(e.workOrderId,!0)}}})):bulmaJS.alert({title:"Error Creating Work Order",message:e.errorMessage,contextualColorName:"danger"})})}e.preventDefault(),cityssm.openHtmlModal("lotOccupancy-createWorkOrder",{onshow(e){e.querySelector("#workOrderCreate--lotOccupancyId").value=c,e.querySelector("#workOrderCreate--workOrderOpenDateString").value=cityssm.dateToString(new Date);const t=e.querySelector("#workOrderCreate--workOrderTypeId"),a=exports.workOrderTypes;1===a.length&&(t.innerHTML="");for(const e of a){const c=document.createElement("option");c.value=e.workOrderTypeId.toString(),c.textContent=e.workOrderType,t.append(c)}},onshown(e,t){var c;a=t,null===(c=e.querySelector("form"))||void 0===c||c.addEventListener("submit",o)}})});const r=document.querySelector("#lotOccupancy--occupancyTypeId");if(a){const e=document.querySelector("#container--lotOccupancyFields");r.addEventListener("change",()=>{""!==r.value?cityssm.postJSON(t.urlPrefix+"/lotOccupancies/doGetOccupancyTypeFields",{occupancyTypeId:r.value},c=>{if(0===c.occupancyTypeFields.length)return void(e.innerHTML=`<div class="message is-info">\n <p class="message-body">There are no additional fields for this ${t.escapedAliases.occupancy} type.</p>\n </div>`);e.innerHTML="";let a="";for(const t of c.occupancyTypeFields){a+=","+t.occupancyTypeFieldId;const c="lotOccupancyFieldValue_"+t.occupancyTypeFieldId,o="lotOccupancy--"+c,n=document.createElement("div");if(n.className="field",n.innerHTML=`<label class="label" for="${o}"></label><div class="control"></div>`,n.querySelector("label").textContent=t.occupancyTypeField,""===t.occupancyTypeFieldValues){const e=document.createElement("input");e.className="input",e.id=o,e.name=c,e.type="text",e.required=t.isRequired,e.minLength=t.minimumLength,e.maxLength=t.maximumLength,t.pattern&&""!==t.pattern&&(e.pattern=t.pattern),n.querySelector(".control").append(e)}else{n.querySelector(".control").innerHTML='<div class="select is-fullwidth"><select id="'+o+'" name="'+c+'"><option value="">(Not Set)</option></select></div>';const e=n.querySelector("select");e.required=t.isRequired;const a=t.occupancyTypeFieldValues.split("\n");for(const t of a){const c=document.createElement("option");c.value=t,c.textContent=t,e.append(c)}}e.append(n)}e.insertAdjacentHTML("beforeend",`<input name="occupancyTypeFieldIds" type="hidden" value="${a.slice(1)}" />`)}):e.innerHTML=`<div class="message is-info">\n <p class="message-body">Select the ${t.escapedAliases.occupancy} type to load the available fields.</p>\n </div>`})}else{const e=r.value;r.addEventListener("change",()=>{r.value!==e&&bulmaJS.confirm({title:"Confirm Change",message:`Are you sure you want to change the ${t.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:()=>{o=!0}},cancelButton:{text:"Revert the Change",callbackFunction:()=>{r.value=e}}})})}const u=document.querySelector("#lotOccupancy--lotName");let i;u.addEventListener("click",e=>{const c=e.currentTarget.value;let a,o,n,s;function l(e,c){document.querySelector("#lotOccupancy--lotId").value=e.toString(),document.querySelector("#lotOccupancy--lotName").value=c,t.setUnsavedChanges(),a()}function r(e){e.preventDefault();const t=e.currentTarget;l(t.dataset.lotId,t.dataset.lotName)}function u(){s.innerHTML=t.getLoadingParagraphHTML("Searching..."),cityssm.postJSON(t.urlPrefix+"/lots/doSearchLots",n,e=>{var t,c;if(0===e.count)return void(s.innerHTML='<div class="message is-info">\n <p class="message-body">No results.</p>\n </div>');const a=document.createElement("div");a.className="panel";for(const o of e.lots){const e=document.createElement("a");e.className="panel-block is-block",e.href="#",e.dataset.lotId=o.lotId.toString(),e.dataset.lotName=o.lotName,e.innerHTML='<div class="columns"><div class="column">'+cityssm.escapeHTML(null!==(t=o.lotName)&&void 0!==t?t:"")+'<br /><span class="is-size-7">'+cityssm.escapeHTML(null!==(c=o.mapName)&&void 0!==c?c:"")+'</span></div><div class="column">'+cityssm.escapeHTML(o.lotStatus)+'<br /><span class="is-size-7">'+(o.lotOccupancyCount>0?"Currently Occupied":"")+"</span></div></div>",e.addEventListener("click",r),a.append(e)}s.innerHTML="",s.append(a)})}function i(e){e.preventDefault();const c=o.querySelector("#lotCreate--lotName").value;cityssm.postJSON(t.urlPrefix+"/lots/doCreateLot",e.currentTarget,e=>{var a;e.success?l(e.lotId,c):bulmaJS.alert({title:`Error Creating ${t.escapedAliases.Lot}`,message:null!==(a=e.errorMessage)&&void 0!==a?a:"",contextualColorName:"danger"})})}cityssm.openHtmlModal("lotOccupancy-selectLot",{onshow:e=>{t.populateAliases(e)},onshown:(e,t)=>{var l;bulmaJS.toggleHtmlClipped(),o=e,a=t,bulmaJS.init(e);const r=e.querySelector("#lotSelect--lotName");""!==document.querySelector("#lotOccupancy--lotId").value&&(r.value=c),r.focus(),r.addEventListener("change",u);const d=e.querySelector("#lotSelect--occupancyStatus");if(d.addEventListener("change",u),""!==c&&(d.value=""),n=e.querySelector("#form--lotSelect"),s=e.querySelector("#resultsContainer--lotSelect"),n.addEventListener("submit",e=>{e.preventDefault()}),u(),exports.lotNamePattern){const t=exports.lotNamePattern;e.querySelector("#lotCreate--lotName").pattern=t.source}const p=e.querySelector("#lotCreate--lotTypeId");for(const e of exports.lotTypes){const t=document.createElement("option");t.value=e.lotTypeId.toString(),t.textContent=e.lotType,p.append(t)}const m=e.querySelector("#lotCreate--lotStatusId");for(const e of exports.lotStatuses){const t=document.createElement("option");t.value=e.lotStatusId.toString(),t.textContent=e.lotStatus,m.append(t)}const y=e.querySelector("#lotCreate--mapId");for(const e of exports.maps){const t=document.createElement("option");t.value=e.mapId.toString(),t.textContent=""===(null!==(l=e.mapName)&&void 0!==l?l:"")?"(No Name)":e.mapName,y.append(t)}e.querySelector("#form--lotCreate").addEventListener("submit",i)},onremoved:()=>{bulmaJS.toggleHtmlClipped()}})}),document.querySelector(".is-lot-view-button").addEventListener("click",()=>{const e=document.querySelector("#lotOccupancy--lotId").value;e?window.open(t.urlPrefix+"/lots/"+e):bulmaJS.alert({message:`No ${t.escapedAliases.lot} selected.`,contextualColorName:"info"})}),document.querySelector(".is-clear-lot-button").addEventListener("click",()=>{u.disabled?bulmaJS.alert({message:"You need to unlock the field before clearing it.",contextualColorName:"info"}):(u.value=`(No ${t.escapedAliases.Lot})`,document.querySelector("#lotOccupancy--lotId").value="",t.setUnsavedChanges())}),t.initializeDatePickers(n),document.querySelector("#lotOccupancy--occupancyStartDateString").addEventListener("change",()=>{const e=document.querySelector("#lotOccupancy--occupancyEndDateString").bulmaCalendar.datePicker;e.min=document.querySelector("#lotOccupancy--occupancyStartDateString").value,e.refresh()}),t.initializeUnlockFieldButtons(n),Object.defineProperty(exports,"__esModule",{value:!0});const d=e=>{const a=Number.parseInt(e.currentTarget.closest("tr").dataset.lotOccupantIndex,10),o=i.find(e=>e.lotOccupantIndex===a);let n,s;const l=e=>{e.preventDefault(),cityssm.postJSON(t.urlPrefix+"/lotOccupancies/doUpdateLotOccupancyOccupant",n,e=>{e.success?(i=e.lotOccupancyOccupants,s(),m()):bulmaJS.alert({title:"Error Updating "+exports.aliases.occupant,message:e.errorMessage||"",contextualColorName:"danger"})})};cityssm.openHtmlModal("lotOccupancy-editOccupant",{onshow:e=>{t.populateAliases(e),e.querySelector("#lotOccupancyOccupantEdit--lotOccupancyId").value=c,e.querySelector("#lotOccupancyOccupantEdit--lotOccupantIndex").value=a.toString();const n=e.querySelector("#lotOccupancyOccupantEdit--lotOccupantTypeId");let s=!1;for(const e of exports.lotOccupantTypes){const t=document.createElement("option");t.value=e.lotOccupantTypeId.toString(),t.textContent=e.lotOccupantType,e.lotOccupantTypeId===o.lotOccupantTypeId&&(t.selected=!0,s=!0),n.append(t)}if(!s){const e=document.createElement("option");e.value=o.lotOccupantTypeId.toString(),e.textContent=o.lotOccupantType,e.selected=!0,n.append(e)}e.querySelector("#lotOccupancyOccupantEdit--occupantName").value=o.occupantName,e.querySelector("#lotOccupancyOccupantEdit--occupantAddress1").value=o.occupantAddress1,e.querySelector("#lotOccupancyOccupantEdit--occupantAddress2").value=o.occupantAddress2,e.querySelector("#lotOccupancyOccupantEdit--occupantCity").value=o.occupantCity,e.querySelector("#lotOccupancyOccupantEdit--occupantProvince").value=o.occupantProvince,e.querySelector("#lotOccupancyOccupantEdit--occupantPostalCode").value=o.occupantPostalCode,e.querySelector("#lotOccupancyOccupantEdit--occupantPhoneNumber").value=o.occupantPhoneNumber,e.querySelector("#lotOccupancyOccupantEdit--occupantEmailAddress").value=o.occupantEmailAddress,e.querySelector("#lotOccupancyOccupantEdit--occupantComment").value=o.occupantComment},onshown:(e,t)=>{bulmaJS.toggleHtmlClipped(),e.querySelector("#lotOccupancyOccupantEdit--lotOccupantTypeId").focus(),(n=e.querySelector("form")).addEventListener("submit",l),s=t},onremoved:()=>{bulmaJS.toggleHtmlClipped()}})},p=e=>{const a=e.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(t.urlPrefix+"/lotOccupancies/doDeleteLotOccupancyOccupant",{lotOccupancyId:c,lotOccupantIndex:a},e=>{e.success?(i=e.lotOccupancyOccupants,m()):bulmaJS.alert({title:"Error Removing "+exports.aliases.occupant,message:e.errorMessage||"",contextualColorName:"danger"})})}},contextualColorName:"warning"})},m=()=>{const e=document.querySelector("#container--lotOccupancyOccupants");if(cityssm.clearElement(e),0===i.length)return void(e.innerHTML='<div class="message is-warning"><p class="message-body">There are no '+exports.aliases.occupants.toLowerCase()+" associated with this record.</p></div>");const t=document.createElement("table");t.className="table is-fullwidth is-striped is-hoverable",t.innerHTML="<thead><tr><th>"+exports.aliases.occupant+'</th><th>Address</th><th>Other Contact</th><th>Comment</th><th class="is-hidden-print"><span class="is-sr-only">Options</span></th></tr></thead><tbody></tbody>';for(const e of i){const c=document.createElement("tr");c.dataset.lotOccupantIndex=e.lotOccupantIndex.toString(),c.innerHTML="<td>"+cityssm.escapeHTML(e.occupantName||"(No Name)")+'<br /><span class="tag"><i class="fas fa-fw fa-'+cityssm.escapeHTML(e.fontAwesomeIconClass)+'" aria-hidden="true"></i> <span class="ml-1">'+cityssm.escapeHTML(e.lotOccupantType)+"</span></span></td><td>"+(e.occupantAddress1?cityssm.escapeHTML(e.occupantAddress1)+"<br />":"")+(e.occupantAddress2?cityssm.escapeHTML(e.occupantAddress2)+"<br />":"")+(e.occupantCity?cityssm.escapeHTML(e.occupantCity)+", ":"")+cityssm.escapeHTML(e.occupantProvince||"")+"<br />"+cityssm.escapeHTML(e.occupantPostalCode||"")+"</td><td>"+(e.occupantPhoneNumber?cityssm.escapeHTML(e.occupantPhoneNumber)+"<br />":"")+(e.occupantEmailAddress?cityssm.escapeHTML(e.occupantEmailAddress):"")+"</td><td>"+cityssm.escapeHTML(e.occupantComment)+'</td><td class="is-hidden-print"><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",d),c.querySelector(".button--delete").addEventListener("click",p),t.querySelector("tbody").append(c)}e.append(t)};if(a){const e=document.querySelector("#lotOccupancy--lotOccupantTypeId");e.addEventListener("change",()=>{const t=n.querySelectorAll("[data-table='LotOccupancyOccupant']");for(const c of t)c.disabled=""===e.value})}else i=exports.lotOccupancyOccupants,delete exports.lotOccupancyOccupants,document.querySelector("#button--addOccupant").addEventListener("click",()=>{let e,a,o,n;const s=c=>{cityssm.postJSON(t.urlPrefix+"/lotOccupancies/doAddLotOccupancyOccupant",c,t=>{t.success?(i=t.lotOccupancyOccupants,e(),m()):bulmaJS.alert({title:"Error Adding "+exports.aliases.occupant,message:t.errorMessage||"",contextualColorName:"danger"})})},l=e=>{e.preventDefault(),s(a)};let r=[];const u=e=>{e.preventDefault();const t=e.currentTarget,a=r[Number.parseInt(t.dataset.index,10)],o=t.closest(".modal").querySelector("#lotOccupancyOccupantCopy--lotOccupantTypeId").value;""===o?bulmaJS.alert({title:"No "+exports.aliases.occupant+" Type Selected",message:"Select a type to apply to the newly added "+exports.aliases.occupant.toLowerCase()+".",contextualColorName:"warning"}):(a.lotOccupantTypeId=Number.parseInt(o,10),a.lotOccupancyId=Number.parseInt(c,10),s(a))},d=e=>{e.preventDefault(),""!==o.querySelector("#lotOccupancyOccupantCopy--searchFilter").value?(n.innerHTML=t.getLoadingParagraphHTML("Searching..."),cityssm.postJSON(t.urlPrefix+"/lotOccupancies/doSearchPastOccupants",o,e=>{r=e.occupants;const t=document.createElement("div");t.className="panel";for(const[e,c]of r.entries()){const a=document.createElement("a");a.className="panel-block is-block",a.dataset.index=e.toString(),a.innerHTML="<strong>"+cityssm.escapeHTML(c.occupantName||"")+'</strong><br /><div class="columns"><div class="column">'+cityssm.escapeHTML(c.occupantAddress1||"")+"<br />"+(c.occupantAddress2?cityssm.escapeHTML(c.occupantAddress2)+"<br />":"")+cityssm.escapeHTML(c.occupantCity||"")+", "+cityssm.escapeHTML(c.occupantProvince||"")+"<br />"+cityssm.escapeHTML(c.occupantPostalCode||"")+'</div><div class="column">'+(c.occupantPhoneNumber?cityssm.escapeHTML(c.occupantPhoneNumber)+"<br />":"")+cityssm.escapeHTML(c.occupantEmailAddress||"")+"<br /></div></div>",a.addEventListener("click",u),t.append(a)}n.innerHTML="",n.append(t)})):n.innerHTML='<div class="message is-info"><p class="message-body">Enter a partial name or address in the search field above.</p></div>'};cityssm.openHtmlModal("lotOccupancy-addOccupant",{onshow:e=>{t.populateAliases(e),e.querySelector("#lotOccupancyOccupantAdd--lotOccupancyId").value=c;const a=e.querySelector("#lotOccupancyOccupantAdd--lotOccupantTypeId"),o=e.querySelector("#lotOccupancyOccupantCopy--lotOccupantTypeId");for(const e of exports.lotOccupantTypes){const t=document.createElement("option");t.value=e.lotOccupantTypeId.toString(),t.textContent=e.lotOccupantType,a.append(t),o.append(t.cloneNode(!0))}e.querySelector("#lotOccupancyOccupantAdd--occupantCity").value=exports.occupantCityDefault,e.querySelector("#lotOccupancyOccupantAdd--occupantProvince").value=exports.occupantProvinceDefault},onshown:(t,c)=>{bulmaJS.toggleHtmlClipped(),bulmaJS.init(t),t.querySelector("#lotOccupancyOccupantAdd--lotOccupantTypeId").focus(),(a=t.querySelector("#form--lotOccupancyOccupantAdd")).addEventListener("submit",l),n=t.querySelector("#lotOccupancyOccupantCopy--searchResults"),(o=t.querySelector("#form--lotOccupancyOccupantCopy")).addEventListener("submit",e=>{e.preventDefault()}),t.querySelector("#lotOccupancyOccupantCopy--searchFilter").addEventListener("change",d),e=c},onremoved:()=>{bulmaJS.toggleHtmlClipped()}})}),m();if(!a){Object.defineProperty(exports,"__esModule",{value:!0});let e=exports.lotOccupancyComments;function y(a){const o=Number.parseInt(a.currentTarget.closest("tr").dataset.lotOccupancyCommentId,10),n=e.find(e=>e.lotOccupancyCommentId===o);let s,l;function r(c){c.preventDefault(),cityssm.postJSON(t.urlPrefix+"/lotOccupancies/doUpdateLotOccupancyComment",s,t=>{var c;t.success?(e=t.lotOccupancyComments,l(),g()):bulmaJS.alert({title:"Error Updating Comment",message:null!==(c=t.errorMessage)&&void 0!==c?c:"",contextualColorName:"danger"})})}cityssm.openHtmlModal("lotOccupancy-editComment",{onshow:e=>{t.populateAliases(e),e.querySelector("#lotOccupancyCommentEdit--lotOccupancyId").value=c,e.querySelector("#lotOccupancyCommentEdit--lotOccupancyCommentId").value=o.toString(),e.querySelector("#lotOccupancyCommentEdit--lotOccupancyComment").value=n.lotOccupancyComment;const a=e.querySelector("#lotOccupancyCommentEdit--lotOccupancyCommentDateString");a.value=n.lotOccupancyCommentDateString;const s=cityssm.dateToString(new Date);a.max=n.lotOccupancyCommentDateString<=s?s:n.lotOccupancyCommentDateString,e.querySelector("#lotOccupancyCommentEdit--lotOccupancyCommentTimeString").value=n.lotOccupancyCommentTimeString},onshown:(e,c)=>{bulmaJS.toggleHtmlClipped(),t.initializeDatePickers(e),e.querySelector("#lotOccupancyCommentEdit--lotOccupancyComment").focus(),(s=e.querySelector("form")).addEventListener("submit",r),l=c},onremoved:()=>{bulmaJS.toggleHtmlClipped()}})}function O(a){const o=Number.parseInt(a.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:function(){cityssm.postJSON(t.urlPrefix+"/lotOccupancies/doDeleteLotOccupancyComment",{lotOccupancyId:c,lotOccupancyCommentId:o},t=>{var c;t.success?(e=t.lotOccupancyComments,g()):bulmaJS.alert({title:"Error Removing Comment",message:null!==(c=t.errorMessage)&&void 0!==c?c:"",contextualColorName:"danger"})})}},contextualColorName:"warning"})}function g(){var t,c;const a=document.querySelector("#container--lotOccupancyComments");if(0===e.length)return void(a.innerHTML='<div class="message is-info"><p class="message-body">There are no comments associated with this record.</p></div>');const o=document.createElement("table");o.className="table is-fullwidth is-striped is-hoverable",o.innerHTML='<thead><tr><th>Commentor</th><th>Comment Date</th><th>Comment</th><th class="is-hidden-print"><span class="is-sr-only">Options</span></th></tr></thead><tbody></tbody>';for(const a of e){const e=document.createElement("tr");e.dataset.lotOccupancyCommentId=a.lotOccupancyCommentId.toString(),e.innerHTML="<td>"+cityssm.escapeHTML(null!==(t=a.recordCreate_userName)&&void 0!==t?t:"")+"</td><td>"+a.lotOccupancyCommentDateString+(0===a.lotOccupancyCommentTime?"":" "+a.lotOccupancyCommentTimeString)+"</td><td>"+cityssm.escapeHTML(null!==(c=a.lotOccupancyComment)&&void 0!==c?c:"")+'</td><td class="is-hidden-print"><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>',e.querySelector(".button--edit").addEventListener("click",y),e.querySelector(".button--delete").addEventListener("click",O),o.querySelector("tbody").append(e)}a.innerHTML="",a.append(o)}delete exports.lotOccupancyComments,document.querySelector("#button--addComment").addEventListener("click",()=>{let a,o;function n(c){c.preventDefault(),cityssm.postJSON(t.urlPrefix+"/lotOccupancies/doAddLotOccupancyComment",a,t=>{var c;t.success?(e=t.lotOccupancyComments,o(),g()):bulmaJS.alert({title:"Error Adding Comment",message:null!==(c=t.errorMessage)&&void 0!==c?c:"",contextualColorName:"danger"})})}cityssm.openHtmlModal("lotOccupancy-addComment",{onshow:e=>{t.populateAliases(e),e.querySelector("#lotOccupancyCommentAdd--lotOccupancyId").value=c},onshown:(e,t)=>{bulmaJS.toggleHtmlClipped(),e.querySelector("#lotOccupancyCommentAdd--lotOccupancyComment").focus(),(a=e.querySelector("form")).addEventListener("submit",n),o=t},onremoved:()=>{bulmaJS.toggleHtmlClipped()}})}),g(),Object.defineProperty(exports,"__esModule",{value:!0});let a=exports.lotOccupancyFees;delete exports.lotOccupancyFees;const o=document.querySelector("#container--lotOccupancyFees"),n=()=>{let e=0;for(const t of a)e+=(t.feeAmount+t.taxAmount)*t.quantity;return e},s=e=>{const o=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:()=>{cityssm.postJSON(t.urlPrefix+"/lotOccupancies/doDeleteLotOccupancyFee",{lotOccupancyId:c,feeId:o},e=>{e.success?(a=e.lotOccupancyFees,l()):bulmaJS.alert({title:"Error Deleting Fee",message:e.errorMessage||"",contextualColorName:"danger"})})}}})},l=()=>{if(0===a.length)return o.innerHTML='<div class="message is-info"><p class="message-body">There are no fees associated with this record.</p></div>',void p();o.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">×</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 is-hidden-print"><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 class="is-hidden-print"></td></tr><tr><th colspan="5">Tax</th><td class="has-text-right" id="lotOccupancyFees--taxAmountTotal"></td><td class="is-hidden-print"></td></tr><tr><th colspan="5">Grand Total</th><td class="has-text-weight-bold has-text-right" id="lotOccupancyFees--grandTotal"></td><td class="is-hidden-print"></td></tr></tfoot></table>';let e=0,t=0;for(const c of a){const a=document.createElement("tr");a.className="container--lotOccupancyFee",a.dataset.feeId=c.feeId.toString(),a.dataset.includeQuantity=c.includeQuantity?"1":"0",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>×</td><td class="has-text-right">'+c.quantity+"</td><td>=</td>")+'<td class="has-text-right">$'+(c.feeAmount*c.quantity).toFixed(2)+'</td><td class="is-hidden-print"><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",s),o.querySelector("tbody").append(a),e+=c.feeAmount*c.quantity,t+=c.taxAmount*c.quantity}o.querySelector("#lotOccupancyFees--feeAmountTotal").textContent="$"+e.toFixed(2),o.querySelector("#lotOccupancyFees--taxAmountTotal").textContent="$"+t.toFixed(2),o.querySelector("#lotOccupancyFees--grandTotal").textContent="$"+(e+t).toFixed(2),p()};document.querySelector("#button--addFee").addEventListener("click",()=>{if(hasUnsavedChanges)return void bulmaJS.alert({message:"Please save all unsaved changes before adding fees.",contextualColorName:"warning"});let e,n,s;const r=(e,o=1)=>{cityssm.postJSON(t.urlPrefix+"/lotOccupancies/doAddLotOccupancyFee",{lotOccupancyId:c,feeId:e,quantity:o},e=>{e.success?(a=e.lotOccupancyFees,l(),i()):bulmaJS.alert({title:"Error Adding Fee",message:e.errorMessage||"",contextualColorName:"danger"})})},u=t=>{t.preventDefault();const c=Number.parseInt(t.currentTarget.dataset.feeId,10),a=Number.parseInt(t.currentTarget.closest(".container--feeCategory").dataset.feeCategoryId,10),o=e.find(e=>e.feeCategoryId===a).fees.find(e=>e.feeId===c);o.includeQuantity?(e=>{let t,c;const a=a=>{a.preventDefault(),r(e.feeId,t.value),c()};cityssm.openHtmlModal("lotOccupancy-setFeeQuantity",{onshow:t=>{t.querySelector("#lotOccupancyFeeQuantity--quantityUnit").textContent=e.quantityUnit},onshown:(e,o)=>{c=o,t=e.querySelector("#lotOccupancyFeeQuantity--quantity"),e.querySelector("form").addEventListener("submit",a)}})})(o):r(c)},i=()=>{const t=n.value.trim().toLowerCase().split(" ");s.innerHTML="";for(const c of e){const e=document.createElement("div");e.className="container--feeCategory",e.dataset.feeCategoryId=c.feeCategoryId.toString(),e.innerHTML='<h4 class="title is-5 mt-2">'+cityssm.escapeHTML(c.feeCategory||"")+'</h4><div class="panel mb-5"></div>';let a=!1;for(const n of c.fees){if(o.querySelector(".container--lotOccupancyFee[data-fee-id='"+n.feeId+"'][data-include-quantity='0']"))continue;let c=!0;for(const e of t)if(!n.feeName.toLowerCase().includes(e)){c=!1;break}if(!c)continue;a=!0;const s=document.createElement("a");s.className="panel-block is-block container--fee",s.dataset.feeId=n.feeId.toString(),s.href="#",s.innerHTML="<strong>"+cityssm.escapeHTML(n.feeName||"")+"</strong><br /><small>"+cityssm.escapeHTML(n.feeDescription||"").replace(/\n/g,"<br />")+"</small>",s.addEventListener("click",u),e.querySelector(".panel").append(s)}a&&s.append(e)}};cityssm.openHtmlModal("lotOccupancy-addFee",{onshow:a=>{n=a.querySelector("#feeSelect--feeName"),s=a.querySelector("#resultsContainer--feeSelect"),cityssm.postJSON(t.urlPrefix+"/lotOccupancies/doGetFees",{lotOccupancyId:c},t=>{e=t.feeCategories,n.disabled=!1,n.addEventListener("keyup",i),n.focus(),i()})},onshown:()=>{bulmaJS.toggleHtmlClipped()},onhidden:()=>{l()},onremoved:()=>{bulmaJS.toggleHtmlClipped()}})});let r=exports.lotOccupancyTransactions;delete exports.lotOccupancyTransactions;const u=document.querySelector("#container--lotOccupancyTransactions"),i=()=>{let e=0;for(const t of r)e+=t.transactionAmount;return e},d=e=>{const a=e.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(t.urlPrefix+"/lotOccupancies/doDeleteLotOccupancyTransaction",{lotOccupancyId:c,transactionIndex:a},e=>{e.success?(r=e.lotOccupancyTransactions,p()):bulmaJS.alert({title:"Error Deleting Transaction",message:e.errorMessage||"",contextualColorName:"danger"})})}}})},p=()=>{if(0===r.length)return void(u.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>');u.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 is-hidden-print"><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 class="is-hidden-print"></td></tr></tfoot></table>';let e=0;for(const t of r){e+=t.transactionAmount;const c=document.createElement("tr");c.className="container--lotOccupancyTransaction",c.dataset.transactionIndex=t.transactionIndex.toString(),c.innerHTML="<td>"+t.transactionDateString+"</td><td>"+cityssm.escapeHTML(t.externalReceiptNumber||"")+"<br /><small>"+cityssm.escapeHTML(t.transactionNote||"")+'</small></td><td class="has-text-right">$'+t.transactionAmount.toFixed(2)+'</td><td class="is-hidden-print"><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",d),u.querySelector("tbody").append(c)}u.querySelector("#lotOccupancyTransactions--grandTotal").textContent="$"+e.toFixed(2);const t=n();t>e&&u.insertAdjacentHTML("afterbegin",'<div class="message is-warning"><div class="message-body"><div class="level"><div class="level-left"><div class="level-item">Outstanding Balance</div></div><div class="level-right"><div class="level-item">$'+(t-e).toFixed(2)+"</div></div></div></div></div>")};document.querySelector("#button--addTransaction").addEventListener("click",()=>{let e;const a=c=>{c.preventDefault(),cityssm.postJSON(t.urlPrefix+"/lotOccupancies/doAddLotOccupancyTransaction",c.currentTarget,t=>{t.success?(r=t.lotOccupancyTransactions,e(),p()):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=n(),o=i(),s=e.querySelector("#lotOccupancyTransactionAdd--transactionAmount");s.min=(-1*o).toFixed(2),s.max=Math.max(a-o,0).toFixed(2),s.value=Math.max(a-o,0).toFixed(2)},onshown:(t,c)=>{bulmaJS.toggleHtmlClipped(),e=c,t.querySelector("form").addEventListener("submit",a)},onremoved:()=>{bulmaJS.toggleHtmlClipped()}})}),l()}})(); |