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