diff --git a/public-typescript/lotOccupancyEdit.js b/public-typescript/lotOccupancyEdit.js index 82581274..99c10d2d 100644 --- a/public-typescript/lotOccupancyEdit.js +++ b/public-typescript/lotOccupancyEdit.js @@ -2,7 +2,7 @@ /* eslint-disable spaced-comment, @typescript-eslint/no-non-null-assertion, unicorn/prefer-module */ Object.defineProperty(exports, "__esModule", { value: true }); (() => { - var _a, _b, _c; + var _a, _b, _c, _d, _e, _f; const los = exports.los; const lotOccupancyId = document.querySelector('#lotOccupancy--lotOccupancyId').value; const isCreate = lotOccupancyId === ''; @@ -182,8 +182,8 @@ Object.defineProperty(exports, "__esModule", { value: true }); occupancyTypeIdElement.addEventListener('change', () => { if (occupancyTypeIdElement.value === '') { lotOccupancyFieldsContainerElement.innerHTML = `
-

Select the ${los.escapedAliases.occupancy} type to load the available fields.

-
`; +

Select the ${los.escapedAliases.occupancy} type to load the available fields.

+ `; return; } cityssm.postJSON(los.urlPrefix + '/lotOccupancies/doGetOccupancyTypeFields', { @@ -256,7 +256,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); bulmaJS.confirm({ title: 'Confirm Change', message: `Are you sure you want to change the ${los.escapedAliases.occupancy} type?\n - This change affects the additional fields associated with this record, and may also affect the available fees.`, + 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', @@ -418,9 +418,8 @@ Object.defineProperty(exports, "__esModule", { value: true }); } }); }); - document - .querySelector('.is-lot-view-button') - .addEventListener('click', () => { + (_d = document + .querySelector('.is-lot-view-button')) === null || _d === void 0 ? void 0 : _d.addEventListener('click', () => { const lotId = document.querySelector('#lotOccupancy--lotId').value; if (lotId === '') { bulmaJS.alert({ @@ -432,9 +431,8 @@ Object.defineProperty(exports, "__esModule", { value: true }); window.open(los.urlPrefix + '/lots/' + lotId); } }); - document - .querySelector('.is-clear-lot-button') - .addEventListener('click', () => { + (_e = document + .querySelector('.is-clear-lot-button')) === null || _e === void 0 ? void 0 : _e.addEventListener('click', () => { if (lotNameElement.disabled) { bulmaJS.alert({ message: 'You need to unlock the field before clearing it.', @@ -449,9 +447,8 @@ Object.defineProperty(exports, "__esModule", { value: true }); }); // Start Date los.initializeDatePickers(formElement); - document - .querySelector('#lotOccupancy--occupancyStartDateString') - .addEventListener('change', () => { + (_f = document + .querySelector('#lotOccupancy--occupancyStartDateString')) === null || _f === void 0 ? void 0 : _f.addEventListener('change', () => { const endDatePicker = document.querySelector('#lotOccupancy--occupancyEndDateString').bulmaCalendar.datePicker; endDatePicker.min = document.querySelector('#lotOccupancy--occupancyStartDateString').value; endDatePicker.refresh(); @@ -699,10 +696,17 @@ Object.defineProperty(exports, "__esModule", { value: true }); if (isCreate) { const lotOccupantTypeIdElement = document.querySelector('#lotOccupancy--lotOccupantTypeId'); lotOccupantTypeIdElement.addEventListener('change', () => { + var _a; const occupantFields = formElement.querySelectorAll("[data-table='LotOccupancyOccupant']"); for (const occupantField of occupantFields) { occupantField.disabled = lotOccupantTypeIdElement.value === ''; } + let occupantCommentTitle = (_a = lotOccupantTypeIdElement.selectedOptions[0].dataset + .occupantCommentTitle) !== null && _a !== void 0 ? _a : ''; + if (occupantCommentTitle === '') { + occupantCommentTitle = 'Comment'; + } + formElement.querySelector('#lotOccupancy--occupantCommentTitle').textContent = occupantCommentTitle; }); } else { diff --git a/public-typescript/lotOccupancyEdit/lotOccupancyEdit.js b/public-typescript/lotOccupancyEdit/lotOccupancyEdit.js index 0ec1bb56..175951b8 100644 --- a/public-typescript/lotOccupancyEdit/lotOccupancyEdit.js +++ b/public-typescript/lotOccupancyEdit/lotOccupancyEdit.js @@ -2,7 +2,7 @@ /* eslint-disable spaced-comment, @typescript-eslint/no-non-null-assertion, unicorn/prefer-module */ Object.defineProperty(exports, "__esModule", { value: true }); (() => { - var _a, _b, _c; + var _a, _b, _c, _d, _e, _f; const los = exports.los; const lotOccupancyId = document.querySelector('#lotOccupancy--lotOccupancyId').value; const isCreate = lotOccupancyId === ''; @@ -182,8 +182,8 @@ Object.defineProperty(exports, "__esModule", { value: true }); occupancyTypeIdElement.addEventListener('change', () => { if (occupancyTypeIdElement.value === '') { lotOccupancyFieldsContainerElement.innerHTML = `
-

Select the ${los.escapedAliases.occupancy} type to load the available fields.

-
`; +

Select the ${los.escapedAliases.occupancy} type to load the available fields.

+ `; return; } cityssm.postJSON(los.urlPrefix + '/lotOccupancies/doGetOccupancyTypeFields', { @@ -256,7 +256,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); bulmaJS.confirm({ title: 'Confirm Change', message: `Are you sure you want to change the ${los.escapedAliases.occupancy} type?\n - This change affects the additional fields associated with this record, and may also affect the available fees.`, + 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', @@ -418,9 +418,8 @@ Object.defineProperty(exports, "__esModule", { value: true }); } }); }); - document - .querySelector('.is-lot-view-button') - .addEventListener('click', () => { + (_d = document + .querySelector('.is-lot-view-button')) === null || _d === void 0 ? void 0 : _d.addEventListener('click', () => { const lotId = document.querySelector('#lotOccupancy--lotId').value; if (lotId === '') { bulmaJS.alert({ @@ -432,9 +431,8 @@ Object.defineProperty(exports, "__esModule", { value: true }); window.open(los.urlPrefix + '/lots/' + lotId); } }); - document - .querySelector('.is-clear-lot-button') - .addEventListener('click', () => { + (_e = document + .querySelector('.is-clear-lot-button')) === null || _e === void 0 ? void 0 : _e.addEventListener('click', () => { if (lotNameElement.disabled) { bulmaJS.alert({ message: 'You need to unlock the field before clearing it.', @@ -449,9 +447,8 @@ Object.defineProperty(exports, "__esModule", { value: true }); }); // Start Date los.initializeDatePickers(formElement); - document - .querySelector('#lotOccupancy--occupancyStartDateString') - .addEventListener('change', () => { + (_f = document + .querySelector('#lotOccupancy--occupancyStartDateString')) === null || _f === void 0 ? void 0 : _f.addEventListener('change', () => { const endDatePicker = document.querySelector('#lotOccupancy--occupancyEndDateString').bulmaCalendar.datePicker; endDatePicker.min = document.querySelector('#lotOccupancy--occupancyStartDateString').value; endDatePicker.refresh(); diff --git a/public-typescript/lotOccupancyEdit/lotOccupancyEdit.ts b/public-typescript/lotOccupancyEdit/lotOccupancyEdit.ts index 52118237..c1d5486b 100644 --- a/public-typescript/lotOccupancyEdit/lotOccupancyEdit.ts +++ b/public-typescript/lotOccupancyEdit/lotOccupancyEdit.ts @@ -276,8 +276,8 @@ declare const bulmaJS: BulmaJS occupancyTypeIdElement.addEventListener('change', () => { if (occupancyTypeIdElement.value === '') { lotOccupancyFieldsContainerElement.innerHTML = `
-

Select the ${los.escapedAliases.occupancy} type to load the available fields.

-
` +

Select the ${los.escapedAliases.occupancy} type to load the available fields.

+ ` return } @@ -392,7 +392,7 @@ declare const bulmaJS: BulmaJS bulmaJS.confirm({ title: 'Confirm Change', message: `Are you sure you want to change the ${los.escapedAliases.occupancy} type?\n - This change affects the additional fields associated with this record, and may also affect the available fees.`, + 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', @@ -645,8 +645,8 @@ declare const bulmaJS: BulmaJS }) document - .querySelector('.is-lot-view-button')! - .addEventListener('click', () => { + .querySelector('.is-lot-view-button') + ?.addEventListener('click', () => { const lotId = ( document.querySelector('#lotOccupancy--lotId') as HTMLInputElement ).value @@ -662,8 +662,8 @@ declare const bulmaJS: BulmaJS }) document - .querySelector('.is-clear-lot-button')! - .addEventListener('click', () => { + .querySelector('.is-clear-lot-button') + ?.addEventListener('click', () => { if (lotNameElement.disabled) { bulmaJS.alert({ message: 'You need to unlock the field before clearing it.', @@ -683,8 +683,8 @@ declare const bulmaJS: BulmaJS los.initializeDatePickers(formElement) document - .querySelector('#lotOccupancy--occupancyStartDateString')! - .addEventListener('change', () => { + .querySelector('#lotOccupancy--occupancyStartDateString') + ?.addEventListener('change', () => { const endDatePicker = ( document.querySelector( '#lotOccupancy--occupancyEndDateString' diff --git a/public-typescript/lotOccupancyEdit/lotOccupancyEditOccupants.js b/public-typescript/lotOccupancyEdit/lotOccupancyEditOccupants.js index a617f417..6f46332b 100644 --- a/public-typescript/lotOccupancyEdit/lotOccupancyEditOccupants.js +++ b/public-typescript/lotOccupancyEdit/lotOccupancyEditOccupants.js @@ -237,10 +237,17 @@ function renderLotOccupancyOccupants() { if (isCreate) { const lotOccupantTypeIdElement = document.querySelector('#lotOccupancy--lotOccupantTypeId'); lotOccupantTypeIdElement.addEventListener('change', () => { + var _a; const occupantFields = formElement.querySelectorAll("[data-table='LotOccupancyOccupant']"); for (const occupantField of occupantFields) { occupantField.disabled = lotOccupantTypeIdElement.value === ''; } + let occupantCommentTitle = (_a = lotOccupantTypeIdElement.selectedOptions[0].dataset + .occupantCommentTitle) !== null && _a !== void 0 ? _a : ''; + if (occupantCommentTitle === '') { + occupantCommentTitle = 'Comment'; + } + formElement.querySelector('#lotOccupancy--occupantCommentTitle').textContent = occupantCommentTitle; }); } else { diff --git a/public-typescript/lotOccupancyEdit/lotOccupancyEditOccupants.ts b/public-typescript/lotOccupancyEdit/lotOccupancyEditOccupants.ts index d681e56b..52c7a2f8 100644 --- a/public-typescript/lotOccupancyEdit/lotOccupancyEditOccupants.ts +++ b/public-typescript/lotOccupancyEdit/lotOccupancyEditOccupants.ts @@ -392,6 +392,17 @@ if (isCreate) { for (const occupantField of occupantFields) { occupantField.disabled = lotOccupantTypeIdElement.value === '' } + + let occupantCommentTitle = + lotOccupantTypeIdElement.selectedOptions[0].dataset + .occupantCommentTitle ?? '' + if (occupantCommentTitle === '') { + occupantCommentTitle = 'Comment' + } + + formElement.querySelector( + '#lotOccupancy--occupantCommentTitle' + )!.textContent = occupantCommentTitle }) } else { renderLotOccupancyOccupants() diff --git a/public/javascripts/lotOccupancyEdit.min.js b/public/javascripts/lotOccupancyEdit.min.js index 4ff110df..d3846d1e 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;const c=exports.los,n=document.querySelector("#lotOccupancy--lotOccupancyId").value,o=""===n;let a=o;const s=document.querySelector("#form--lotOccupancy");s.addEventListener("submit",e=>{e.preventDefault(),cityssm.postJSON(c.urlPrefix+"/lotOccupancies/"+(o?"doCreateLotOccupancy":"doUpdateLotOccupancy"),s,e=>{var t;e.success?(c.clearUnsavedChanges(),o||a?window.location.href=c.getLotOccupancyURL(e.lotOccupancyId,!0,!0):bulmaJS.alert({message:`${c.escapedAliases.Occupancy} Updated Successfully`,contextualColorName:"success"})):bulmaJS.alert({title:"Error Saving "+c.escapedAliases.Occupancy,message:null!==(t=e.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})});const l=s.querySelectorAll("input, select");for(const e of l)e.addEventListener("change",c.setUnsavedChanges);function r(){cityssm.postJSON(c.urlPrefix+"/lotOccupancies/doCopyLotOccupancy",{lotOccupancyId:n},e=>{var t;e.success?(cityssm.disableNavBlocker(),window.location.href=c.getLotOccupancyURL(e.lotOccupancyId,!0)):bulmaJS.alert({title:"Error Copying Record",message:null!==(t=e.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}null===(g=document.querySelector("#button--copyLotOccupancy"))||void 0===g||g.addEventListener("click",e=>{e.preventDefault(),c.hasUnsavedChanges()?bulmaJS.alert({title:"Unsaved Changes",message:"Please save all unsaved changes before continuing.",contextualColorName:"warning"}):bulmaJS.confirm({title:`Copy ${c.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:r}})}),null===(e=document.querySelector("#button--deleteLotOccupancy"))||void 0===e||e.addEventListener("click",e=>{e.preventDefault(),bulmaJS.confirm({title:`Delete ${c.escapedAliases.Occupancy} Record`,message:"Are you sure you want to delete this record?",contextualColorName:"warning",okButton:{text:"Yes, Delete",callbackFunction:function(){cityssm.postJSON(c.urlPrefix+"/lotOccupancies/doDeleteLotOccupancy",{lotOccupancyId:n},e=>{var t;e.success?(cityssm.disableNavBlocker(),window.location.href=c.getLotOccupancyURL()):bulmaJS.alert({title:"Error Deleting Record",message:null!==(t=e.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}}})}),null===(t=document.querySelector("#button--createWorkOrder"))||void 0===t||t.addEventListener("click",e=>{let t;function o(e){e.preventDefault(),cityssm.postJSON(c.urlPrefix+"/workOrders/doCreateWorkOrder",e.currentTarget,e=>{e.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=c.getWorkOrderURL(e.workOrderId,!0)}}})):bulmaJS.alert({title:"Error Creating Work Order",message:e.errorMessage,contextualColorName:"danger"})})}e.preventDefault(),cityssm.openHtmlModal("lotOccupancy-createWorkOrder",{onshow(e){var t;e.querySelector("#workOrderCreate--lotOccupancyId").value=n,e.querySelector("#workOrderCreate--workOrderOpenDateString").value=cityssm.dateToString(new Date);const c=e.querySelector("#workOrderCreate--workOrderTypeId"),o=exports.workOrderTypes;1===o.length&&(c.innerHTML="");for(const e of o){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,c){var n;t=c,bulmaJS.toggleHtmlClipped(),e.querySelector("#workOrderCreate--workOrderTypeId").focus(),null===(n=e.querySelector("form"))||void 0===n||n.addEventListener("submit",o)},onremoved(){bulmaJS.toggleHtmlClipped(),document.querySelector("#button--createWorkOrder").focus()}})});const u=document.querySelector("#lotOccupancy--occupancyTypeId");if(o){const e=document.querySelector("#container--lotOccupancyFields");u.addEventListener("change",()=>{""!==u.value?cityssm.postJSON(c.urlPrefix+"/lotOccupancies/doGetOccupancyTypeFields",{occupancyTypeId:u.value},t=>{var n,o;if(0===t.occupancyTypeFields.length)return void(e.innerHTML=`
\n

There are no additional fields for this ${c.escapedAliases.occupancy} type.

\n
`);e.innerHTML="";let a="";for(const c of t.occupancyTypeFields){a+=","+c.occupancyTypeFieldId.toString();const t="lotOccupancyFieldValue_"+c.occupancyTypeFieldId.toString(),s="lotOccupancy--"+t,l=document.createElement("div");if(l.className="field",l.innerHTML=`
`,l.querySelector("label").textContent=c.occupancyTypeField,""===(null!==(n=c.occupancyTypeFieldValues)&&void 0!==n?n:"")){const e=document.createElement("input");e.className="input",e.id=s,e.name=t,e.type="text",e.required=c.isRequired,e.minLength=c.minimumLength,e.maxLength=c.maximumLength,""!==(null!==(o=c.pattern)&&void 0!==o?o:"")&&(e.pattern=c.pattern),l.querySelector(".control").append(e)}else{l.querySelector(".control").innerHTML=`
\n \n
`;const e=l.querySelector("select");e.required=c.isRequired;const n=c.occupancyTypeFieldValues.split("\n");for(const t of n){const c=document.createElement("option");c.value=t,c.textContent=t,e.append(c)}}console.log(l),e.append(l)}e.insertAdjacentHTML("beforeend",``)}):e.innerHTML=`
\n

Select the ${c.escapedAliases.occupancy} type to load the available fields.

\n
`})}else{const e=u.value;u.addEventListener("change",()=>{u.value!==e&&bulmaJS.confirm({title:"Confirm Change",message:`Are you sure you want to change the ${c.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:()=>{a=!0}},cancelButton:{text:"Revert the Change",callbackFunction:()=>{u.value=e}}})})}const i=document.querySelector("#lotOccupancy--lotName");i.addEventListener("click",e=>{const t=e.currentTarget.value;let n,o,a,s;function l(e,t){document.querySelector("#lotOccupancy--lotId").value=e.toString(),document.querySelector("#lotOccupancy--lotName").value=t,c.setUnsavedChanges(),n()}function r(e){e.preventDefault();const t=e.currentTarget;l(t.dataset.lotId,t.dataset.lotName)}function u(){s.innerHTML=c.getLoadingParagraphHTML("Searching..."),cityssm.postJSON(c.urlPrefix+"/lots/doSearchLots",a,e=>{var t,c;if(0===e.count)return void(s.innerHTML='
\n

No results.

\n
');const n=document.createElement("div");n.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='
'+cityssm.escapeHTML(null!==(t=o.lotName)&&void 0!==t?t:"")+'
'+cityssm.escapeHTML(null!==(c=o.mapName)&&void 0!==c?c:"")+'
'+cityssm.escapeHTML(o.lotStatus)+'
'+(o.lotOccupancyCount>0?"Currently Occupied":"")+"
",e.addEventListener("click",r),n.append(e)}s.innerHTML="",s.append(n)})}function i(e){e.preventDefault();const t=o.querySelector("#lotCreate--lotName").value;cityssm.postJSON(c.urlPrefix+"/lots/doCreateLot",e.currentTarget,e=>{var n;e.success?l(e.lotId,t):bulmaJS.alert({title:`Error Creating ${c.escapedAliases.Lot}`,message:null!==(n=e.errorMessage)&&void 0!==n?n:"",contextualColorName:"danger"})})}cityssm.openHtmlModal("lotOccupancy-selectLot",{onshow(e){c.populateAliases(e)},onshown(e,c){var l;bulmaJS.toggleHtmlClipped(),o=e,n=c,bulmaJS.init(e);const r=e.querySelector("#lotSelect--lotName");""!==document.querySelector("#lotOccupancy--lotId").value&&(r.value=t),r.focus(),r.addEventListener("change",u);const d=e.querySelector("#lotSelect--occupancyStatus");if(d.addEventListener("change",u),""!==t&&(d.value=""),a=e.querySelector("#form--lotSelect"),s=e.querySelector("#resultsContainer--lotSelect"),a.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?bulmaJS.alert({message:`No ${c.escapedAliases.lot} selected.`,contextualColorName:"info"}):window.open(c.urlPrefix+"/lots/"+e)}),document.querySelector(".is-clear-lot-button").addEventListener("click",()=>{i.disabled?bulmaJS.alert({message:"You need to unlock the field before clearing it.",contextualColorName:"info"}):(i.value=`(No ${c.escapedAliases.Lot})`,document.querySelector("#lotOccupancy--lotId").value="",c.setUnsavedChanges())}),c.initializeDatePickers(s),document.querySelector("#lotOccupancy--occupancyStartDateString").addEventListener("change",()=>{const e=document.querySelector("#lotOccupancy--occupancyEndDateString").bulmaCalendar.datePicker;e.min=document.querySelector("#lotOccupancy--occupancyStartDateString").value,e.refresh()}),c.initializeUnlockFieldButtons(s),Object.defineProperty(exports,"__esModule",{value:!0});let d=exports.lotOccupancyOccupants;function p(e){const t=Number.parseInt(e.currentTarget.closest("tr").dataset.lotOccupantIndex,10),o=d.find(e=>e.lotOccupantIndex===t);let a,s;function l(e){e.preventDefault(),cityssm.postJSON(c.urlPrefix+"/lotOccupancies/doUpdateLotOccupancyOccupant",a,e=>{var t;const n=e;n.success?(d=n.lotOccupancyOccupants,s(),y()):bulmaJS.alert({title:"Error Updating "+c.escapedAliases.Occupant,message:null!==(t=n.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}cityssm.openHtmlModal("lotOccupancy-editOccupant",{onshow(e){var a;c.populateAliases(e),e.querySelector("#lotOccupancyOccupantEdit--lotOccupancyId").value=n,e.querySelector("#lotOccupancyOccupantEdit--lotOccupantIndex").value=t.toString();const s=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===o.lotOccupantTypeId&&(t.selected=!0,l=!0),s.append(t)}if(!l){const e=document.createElement("option");e.value=o.lotOccupantTypeId.toString(),e.textContent=o.lotOccupantType,e.dataset.occupantCommentTitle=o.occupantCommentTitle,e.dataset.fontAwesomeIconClass=o.fontAwesomeIconClass,e.selected=!0,s.append(e)}e.querySelector("#lotOccupancyOccupantEdit--fontAwesomeIconClass").innerHTML=``,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--occupantCommentTitle").textContent=""===(null!==(a=o.occupantCommentTitle)&&void 0!==a?a:"")?"Comment":o.occupantCommentTitle,e.querySelector("#lotOccupancyOccupantEdit--occupantComment").value=o.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=``;let a=null!==(n=c.selectedOptions[0].dataset.occupantCommentTitle)&&void 0!==n?n:"";""===a&&(a="Comment"),e.querySelector("#lotOccupancyOccupantEdit--occupantCommentTitle").textContent=a}),(a=e.querySelector("form")).addEventListener("submit",l),s=t},onremoved(){bulmaJS.toggleHtmlClipped()}})}function m(e){const t=e.currentTarget.closest("tr").dataset.lotOccupantIndex;bulmaJS.confirm({title:`Remove ${c.escapedAliases.Occupant}?`,message:`Are you sure you want to remove this ${c.escapedAliases.occupant}?`,okButton:{text:"Yes, Remove "+c.escapedAliases.Occupant,callbackFunction:function(){cityssm.postJSON(c.urlPrefix+"/lotOccupancies/doDeleteLotOccupancyOccupant",{lotOccupancyId:n,lotOccupantIndex:t},e=>{var t;const n=e;n.success?(d=n.lotOccupancyOccupants,y()):bulmaJS.alert({title:"Error Removing "+c.escapedAliases.Occupant,message:null!==(t=n.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}},contextualColorName:"warning"})}function y(){var e,t,n,o,a,s,l,r,u,i;const y=document.querySelector("#container--lotOccupancyOccupants");if(cityssm.clearElement(y),0===d.length)return void(y.innerHTML=`
\n

There are no ${c.escapedAliases.occupants} associated with this record.

\n
`);const v=document.createElement("table");v.className="table is-fullwidth is-striped is-hoverable",v.innerHTML=`\n ${c.escapedAliases.Occupant}\n Address\n Other Contact\n Comment\n Options\n \n `;for(const c of d){const d=document.createElement("tr");d.dataset.lotOccupantIndex=c.lotOccupantIndex.toString(),d.innerHTML=""+cityssm.escapeHTML(""===(null!==(e=c.occupantName)&&void 0!==e?e:"")?"(No Name)":c.occupantName)+'
'+cityssm.escapeHTML(c.lotOccupantType)+""+(""===(null!==(t=c.occupantAddress1)&&void 0!==t?t:"")?"":cityssm.escapeHTML(c.occupantAddress1)+"
")+(""===(null!==(n=c.occupantAddress2)&&void 0!==n?n:"")?"":cityssm.escapeHTML(c.occupantAddress2)+"
")+(""===(null!==(o=c.occupantCity)&&void 0!==o?o:"")?"":cityssm.escapeHTML(c.occupantCity)+", ")+cityssm.escapeHTML(null!==(a=c.occupantProvince)&&void 0!==a?a:"")+"
"+cityssm.escapeHTML(null!==(s=c.occupantPostalCode)&&void 0!==s?s:"")+""+(""===(null!==(l=c.occupantPhoneNumber)&&void 0!==l?l:"")?"":cityssm.escapeHTML(c.occupantPhoneNumber)+"
")+(""===(null!==(r=c.occupantEmailAddress)&&void 0!==r?r:"")?"":cityssm.escapeHTML(c.occupantEmailAddress))+''+cityssm.escapeHTML(null!==(i=c.occupantComment)&&void 0!==i?i:"")+'
',d.querySelector(".button--edit").addEventListener("click",p),d.querySelector(".button--delete").addEventListener("click",m),v.querySelector("tbody").append(d)}y.append(v)}if(delete exports.lotOccupancyOccupants,o){const e=document.querySelector("#lotOccupancy--lotOccupantTypeId");e.addEventListener("change",()=>{const t=s.querySelectorAll("[data-table='LotOccupancyOccupant']");for(const c of t)c.disabled=""===e.value})}else y();if(null===(g=document.querySelector("#button--addOccupant"))||void 0===g||g.addEventListener("click",()=>{let e,t,o,a;function s(t){cityssm.postJSON(c.urlPrefix+"/lotOccupancies/doAddLotOccupancyOccupant",t,t=>{var n;const o=t;o.success?(d=o.lotOccupancyOccupants,e(),y()):bulmaJS.alert({title:`Error Adding ${c.escapedAliases.Occupant}`,message:null!==(n=o.errorMessage)&&void 0!==n?n:"",contextualColorName:"danger"})})}function l(e){e.preventDefault(),s(t)}let r=[];function u(e){e.preventDefault();const t=e.currentTarget,o=r[Number.parseInt(t.dataset.index,10)],a=t.closest(".modal").querySelector("#lotOccupancyOccupantCopy--lotOccupantTypeId").value;""===a?bulmaJS.alert({title:`No ${c.escapedAliases.Occupant} Type Selected`,message:`Select a type to apply to the newly added ${c.escapedAliases.occupant}.`,contextualColorName:"warning"}):(o.lotOccupantTypeId=Number.parseInt(a,10),o.lotOccupancyId=Number.parseInt(n,10),s(o))}function i(e){e.preventDefault(),""!==o.querySelector("#lotOccupancyOccupantCopy--searchFilter").value?(a.innerHTML=c.getLoadingParagraphHTML("Searching..."),cityssm.postJSON(c.urlPrefix+"/lotOccupancies/doSearchPastOccupants",o,e=>{var t,c,n,o,s,l,i,d;r=e.occupants;const p=document.createElement("div");p.className="panel";for(const[e,a]of r.entries()){const r=document.createElement("a");r.className="panel-block is-block",r.dataset.index=e.toString(),r.innerHTML=""+cityssm.escapeHTML(null!==(t=a.occupantName)&&void 0!==t?t:"")+'
'+cityssm.escapeHTML(null!==(c=a.occupantAddress1)&&void 0!==c?c:"")+"
"+(""===(null!==(n=a.occupantAddress2)&&void 0!==n?n:"")?"":cityssm.escapeHTML(a.occupantAddress2)+"
")+cityssm.escapeHTML(null!==(o=a.occupantCity)&&void 0!==o?o:"")+", "+cityssm.escapeHTML(null!==(s=a.occupantProvince)&&void 0!==s?s:"")+"
"+cityssm.escapeHTML(null!==(l=a.occupantPostalCode)&&void 0!==l?l:"")+'
'+(""===(null!==(i=a.occupantPhoneNumber)&&void 0!==i?i:"")?"":cityssm.escapeHTML(a.occupantPhoneNumber)+"
")+cityssm.escapeHTML(null!==(d=a.occupantEmailAddress)&&void 0!==d?d:"")+"
",r.addEventListener("click",u),p.append(r)}a.innerHTML="",a.append(p)})):a.innerHTML='

Enter a partial name or address in the search field above.

'}cityssm.openHtmlModal("lotOccupancy-addOccupant",{onshow(e){c.populateAliases(e),e.querySelector("#lotOccupancyOccupantAdd--lotOccupancyId").value=n;const t=e.querySelector("#lotOccupancyOccupantAdd--lotOccupantTypeId"),o=e.querySelector("#lotOccupancyOccupantCopy--lotOccupantTypeId");for(const e of exports.lotOccupantTypes){const c=document.createElement("option");c.value=e.lotOccupantTypeId.toString(),c.textContent=e.lotOccupantType,c.dataset.occupantCommentTitle=e.occupantCommentTitle,c.dataset.fontAwesomeIconClass=e.fontAwesomeIconClass,t.append(c),o.append(c.cloneNode(!0))}e.querySelector("#lotOccupancyOccupantAdd--occupantCity").value=exports.occupantCityDefault,e.querySelector("#lotOccupancyOccupantAdd--occupantProvince").value=exports.occupantProvinceDefault},onshown(c,n){bulmaJS.toggleHtmlClipped(),bulmaJS.init(c);const s=c.querySelector("#lotOccupancyOccupantAdd--lotOccupantTypeId");s.focus(),s.addEventListener("change",()=>{var e,t;const n=null!==(e=s.selectedOptions[0].dataset.fontAwesomeIconClass)&&void 0!==e?e:"user";c.querySelector("#lotOccupancyOccupantAdd--fontAwesomeIconClass").innerHTML=``;let o=null!==(t=s.selectedOptions[0].dataset.occupantCommentTitle)&&void 0!==t?t:"";""===o&&(o="Comment"),c.querySelector("#lotOccupancyOccupantAdd--occupantCommentTitle").textContent=o}),(t=c.querySelector("#form--lotOccupancyOccupantAdd")).addEventListener("submit",l),a=c.querySelector("#lotOccupancyOccupantCopy--searchResults"),(o=c.querySelector("#form--lotOccupancyOccupantCopy")).addEventListener("submit",e=>{e.preventDefault()}),c.querySelector("#lotOccupancyOccupantCopy--searchFilter").addEventListener("change",i),e=n},onremoved(){bulmaJS.toggleHtmlClipped(),document.querySelector("#button--addOccupant").focus()}})}),!o){Object.defineProperty(exports,"__esModule",{value:!0});let e=exports.lotOccupancyComments;function v(t){const o=Number.parseInt(t.currentTarget.closest("tr").dataset.lotOccupancyCommentId,10),a=e.find(e=>e.lotOccupancyCommentId===o);let s,l;function r(t){t.preventDefault(),cityssm.postJSON(c.urlPrefix+"/lotOccupancies/doUpdateLotOccupancyComment",s,t=>{var c;t.success?(e=t.lotOccupancyComments,l(),f()):bulmaJS.alert({title:"Error Updating Comment",message:null!==(c=t.errorMessage)&&void 0!==c?c:"",contextualColorName:"danger"})})}cityssm.openHtmlModal("lotOccupancy-editComment",{onshow(e){c.populateAliases(e),e.querySelector("#lotOccupancyCommentEdit--lotOccupancyId").value=n,e.querySelector("#lotOccupancyCommentEdit--lotOccupancyCommentId").value=o.toString(),e.querySelector("#lotOccupancyCommentEdit--lotOccupancyComment").value=a.lotOccupancyComment;const t=e.querySelector("#lotOccupancyCommentEdit--lotOccupancyCommentDateString");t.value=a.lotOccupancyCommentDateString;const s=cityssm.dateToString(new Date);t.max=a.lotOccupancyCommentDateString<=s?s:a.lotOccupancyCommentDateString,e.querySelector("#lotOccupancyCommentEdit--lotOccupancyCommentTimeString").value=a.lotOccupancyCommentTimeString},onshown(e,t){bulmaJS.toggleHtmlClipped(),c.initializeDatePickers(e),e.querySelector("#lotOccupancyCommentEdit--lotOccupancyComment").focus(),(s=e.querySelector("form")).addEventListener("submit",r),l=t},onremoved(){bulmaJS.toggleHtmlClipped()}})}function O(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:function(){cityssm.postJSON(c.urlPrefix+"/lotOccupancies/doDeleteLotOccupancyComment",{lotOccupancyId:n,lotOccupancyCommentId:o},t=>{var c;t.success?(e=t.lotOccupancyComments,f()):bulmaJS.alert({title:"Error Removing Comment",message:null!==(c=t.errorMessage)&&void 0!==c?c:"",contextualColorName:"danger"})})}},contextualColorName:"warning"})}function f(){var t,c,n;const o=document.querySelector("#container--lotOccupancyComments");if(0===e.length)return void(o.innerHTML='

There are no comments associated with this record.

');const a=document.createElement("table");a.className="table is-fullwidth is-striped is-hoverable",a.innerHTML='CommentorComment DateCommentOptions';for(const o of e){const e=document.createElement("tr");e.dataset.lotOccupancyCommentId=o.lotOccupancyCommentId.toString(),e.innerHTML=""+cityssm.escapeHTML(null!==(t=o.recordCreate_userName)&&void 0!==t?t:"")+""+(null!==(c=o.lotOccupancyCommentDateString)&&void 0!==c?c:"")+(0===o.lotOccupancyCommentTime?"":" "+o.lotOccupancyCommentTimeString)+""+cityssm.escapeHTML(null!==(n=o.lotOccupancyComment)&&void 0!==n?n:"")+'
',e.querySelector(".button--edit").addEventListener("click",v),e.querySelector(".button--delete").addEventListener("click",O),a.querySelector("tbody").append(e)}o.innerHTML="",o.append(a)}var g;delete exports.lotOccupancyComments,null===(g=document.querySelector("#button--addComment"))||void 0===g||g.addEventListener("click",()=>{let t,o;function a(n){n.preventDefault(),cityssm.postJSON(c.urlPrefix+"/lotOccupancies/doAddLotOccupancyComment",t,t=>{var c;t.success?(e=t.lotOccupancyComments,o(),f()):bulmaJS.alert({title:"Error Adding Comment",message:null!==(c=t.errorMessage)&&void 0!==c?c:"",contextualColorName:"danger"})})}cityssm.openHtmlModal("lotOccupancy-addComment",{onshow(e){c.populateAliases(e),e.querySelector("#lotOccupancyCommentAdd--lotOccupancyId").value=n},onshown(e,c){bulmaJS.toggleHtmlClipped(),e.querySelector("#lotOccupancyCommentAdd--lotOccupancyComment").focus(),(t=e.querySelector("form")).addEventListener("submit",a),o=c},onremoved:()=>{bulmaJS.toggleHtmlClipped(),document.querySelector("#button--addComment").focus()}})}),f(),Object.defineProperty(exports,"__esModule",{value:!0});let t=exports.lotOccupancyFees;delete exports.lotOccupancyFees;const o=document.querySelector("#container--lotOccupancyFees");function h(){let e=0;for(const c of t)e+=(c.feeAmount+c.taxAmount)*c.quantity;return e}function 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:function(){cityssm.postJSON(c.urlPrefix+"/lotOccupancies/doDeleteLotOccupancyFee",{lotOccupancyId:n,feeId:o},e=>{var c;e.success?(t=e.lotOccupancyFees,b()):bulmaJS.alert({title:"Error Deleting Fee",message:null!==(c=e.errorMessage)&&void 0!==c?c:"",contextualColorName:"danger"})})}}})}function b(){var e,c,n;if(0===t.length)return o.innerHTML='
\n

There are no fees associated with this record.

\n
',void T();o.innerHTML='\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
FeeUnit Cost×QuantityequalsTotalOptions
Subtotal
Tax
Grand Total
';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=''+cityssm.escapeHTML(null!==(c=l.feeName)&&void 0!==c?c:"")+'
'+cityssm.escapeHTML(null!==(n=l.feeCategory)&&void 0!==n?n:"")+""+(1===l.quantity?"":'$'+l.feeAmount.toFixed(2)+'×'+l.quantity+"=")+'$'+(l.feeAmount*l.quantity).toFixed(2)+'',t.querySelector("button").addEventListener("click",S),o.querySelector("tbody").append(t),a+=l.feeAmount*l.quantity,s+=l.taxAmount*l.quantity}o.querySelector("#lotOccupancyFees--feeAmountTotal").textContent="$"+a.toFixed(2),o.querySelector("#lotOccupancyFees--taxAmountTotal").textContent="$"+s.toFixed(2),o.querySelector("#lotOccupancyFees--grandTotal").textContent="$"+(a+s).toFixed(2),T()}null===(g=document.querySelector("#button--addFee"))||void 0===g||g.addEventListener("click",()=>{if(c.hasUnsavedChanges())return void bulmaJS.alert({message:"Please save all unsaved changes before adding fees.",contextualColorName:"warning"});let e,a,s;function l(e,o=1){cityssm.postJSON(c.urlPrefix+"/lotOccupancies/doAddLotOccupancyFee",{lotOccupancyId:n,feeId:e,quantity:o},e=>{var c;e.success?(t=e.lotOccupancyFees,b(),u()):bulmaJS.alert({title:"Error Adding Fee",message:null!==(c=e.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,c,n,l,u;const i=a.value.trim().toLowerCase().split(" ");s.innerHTML="";for(const a of e){const e=document.createElement("div");e.className="container--feeCategory",e.dataset.feeCategoryId=a.feeCategoryId.toString(),e.innerHTML='

'+cityssm.escapeHTML(null!==(t=a.feeCategory)&&void 0!==t?t:"")+'

';let d=!1;for(const t of a.fees){if(null!==o.querySelector(`.container--lotOccupancyFee[data-fee-id='${t.feeId}'][data-include-quantity='0']`))continue;let s=!0;const p=((null!==(c=t.feeName)&&void 0!==c?c:"")+" "+(null!==(n=t.feeDescription)&&void 0!==n?n:"")).toLowerCase();for(const e of i)if(!p.includes(e)){s=!1;break}if(!s)continue;d=!0;const m=document.createElement("a");m.className="panel-block is-block container--fee",m.dataset.feeId=t.feeId.toString(),m.dataset.feeCategoryId=a.feeCategoryId.toString(),m.href="#",m.innerHTML=""+cityssm.escapeHTML(null!==(l=t.feeName)&&void 0!==l?l:"")+"
"+cityssm.escapeHTML(null!==(u=t.feeDescription)&&void 0!==u?u:"").replace(/\n/g,"
")+"
",m.addEventListener("click",r),e.querySelector(".panel").append(m)}d&&s.append(e)}}cityssm.openHtmlModal("lotOccupancy-addFee",{onshow(t){a=t.querySelector("#feeSelect--feeName"),s=t.querySelector("#resultsContainer--feeSelect"),cityssm.postJSON(c.urlPrefix+"/lotOccupancies/doGetFees",{lotOccupancyId:n},t=>{e=t.feeCategories,a.disabled=!1,a.addEventListener("keyup",u),a.focus(),u()})},onshown(){bulmaJS.toggleHtmlClipped()},onhidden(){b()},onremoved(){bulmaJS.toggleHtmlClipped()}})});let a=exports.lotOccupancyTransactions;delete exports.lotOccupancyTransactions;const s=document.querySelector("#container--lotOccupancyTransactions");function C(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(c.urlPrefix+"/lotOccupancies/doDeleteLotOccupancyTransaction",{lotOccupancyId:n,transactionIndex:t},e=>{var t;e.success?(a=e.lotOccupancyTransactions,T()):bulmaJS.alert({title:"Error Deleting Transaction",message:null!==(t=e.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}}})}function T(){var e,n,o;if(0===a.length)return void(s.innerHTML='

There are no transactions associated with this record.

');s.innerHTML=`\n \n \n \n \n \n \n \n \n \n \n \n \n
Date${c.escapedAliases.ExternalReceiptNumber}AmountOptions
Transaction Total
`;let l=0;for(const t of a){l+=t.transactionAmount;const c=document.createElement("tr");c.className="container--lotOccupancyTransaction",c.dataset.transactionIndex=t.transactionIndex.toString(),c.innerHTML=""+(null!==(e=t.transactionDateString)&&void 0!==e?e:"")+""+(""===t.externalReceiptNumber?"":cityssm.escapeHTML(null!==(n=t.externalReceiptNumber)&&void 0!==n?n:"")+"
")+""+cityssm.escapeHTML(null!==(o=t.transactionNote)&&void 0!==o?o:"")+'$'+t.transactionAmount.toFixed(2)+'',c.querySelector("button").addEventListener("click",C),s.querySelector("tbody").append(c)}s.querySelector("#lotOccupancyTransactions--grandTotal").textContent="$"+l.toFixed(2);const r=h();r>l&&s.insertAdjacentHTML("afterbegin",'
Outstanding Balance
$'+(r-l).toFixed(2)+"
")}document.querySelector("#button--addTransaction").addEventListener("click",()=>{let e;function t(t){t.preventDefault(),cityssm.postJSON(c.urlPrefix+"/lotOccupancies/doAddLotOccupancyTransaction",t.currentTarget,t=>{var c;t.success?(a=t.lotOccupancyTransactions,e(),T()):bulmaJS.confirm({title:"Error Adding Transaction",message:null!==(c=t.errorMessage)&&void 0!==c?c:"",contextualColorName:"danger"})})}cityssm.openHtmlModal("lotOccupancy-addTransaction",{onshow(e){c.populateAliases(e),e.querySelector("#lotOccupancyTransactionAdd--lotOccupancyId").value=n.toString();const t=h(),o=function(){let e=0;for(const t of a)e+=t.transactionAmount;return e}(),s=e.querySelector("#lotOccupancyTransactionAdd--transactionAmount");s.min=(-1*o).toFixed(2),s.max=Math.max(t-o,0).toFixed(2),s.value=Math.max(t-o,0).toFixed(2)},onshown(c,n){bulmaJS.toggleHtmlClipped(),e=n,c.querySelector("form").addEventListener("submit",t)},onremoved(){bulmaJS.toggleHtmlClipped()}})}),b()}})(); \ No newline at end of file +"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;const u=document.querySelector("#form--lotOccupancy");u.addEventListener("submit",e=>{e.preventDefault(),cityssm.postJSON(a.urlPrefix+"/lotOccupancies/"+(l?"doCreateLotOccupancy":"doUpdateLotOccupancy"),u,e=>{var t;e.success?(a.clearUnsavedChanges(),l||r?window.location.href=a.getLotOccupancyURL(e.lotOccupancyId,!0,!0):bulmaJS.alert({message:`${a.escapedAliases.Occupancy} Updated Successfully`,contextualColorName:"success"})):bulmaJS.alert({title:"Error Saving "+a.escapedAliases.Occupancy,message:null!==(t=e.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})});const i=u.querySelectorAll("input, select");for(const e of i)e.addEventListener("change",a.setUnsavedChanges);function d(){cityssm.postJSON(a.urlPrefix+"/lotOccupancies/doCopyLotOccupancy",{lotOccupancyId:s},e=>{var t;e.success?(cityssm.disableNavBlocker(),window.location.href=a.getLotOccupancyURL(e.lotOccupancyId,!0)):bulmaJS.alert({title:"Error Copying Record",message:null!==(t=e.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}null===(b=document.querySelector("#button--copyLotOccupancy"))||void 0===b||b.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:d}})}),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;e.success?(cityssm.disableNavBlocker(),window.location.href=a.getLotOccupancyURL()):bulmaJS.alert({title:"Error Deleting Record",message:null!==(t=e.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=>{e.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(e.workOrderId,!0)}}})):bulmaJS.alert({title:"Error Creating Work Order",message:e.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 p=document.querySelector("#lotOccupancy--occupancyTypeId");if(l){const e=document.querySelector("#container--lotOccupancyFields");p.addEventListener("change",()=>{""!==p.value?cityssm.postJSON(a.urlPrefix+"/lotOccupancies/doGetOccupancyTypeFields",{occupancyTypeId:p.value},t=>{var c,n;if(0===t.occupancyTypeFields.length)return void(e.innerHTML=`
\n

There are no additional fields for this ${a.escapedAliases.occupancy} type.

\n
`);e.innerHTML="";let o="";for(const a of t.occupancyTypeFields){o+=","+a.occupancyTypeFieldId.toString();const t="lotOccupancyFieldValue_"+a.occupancyTypeFieldId.toString(),s="lotOccupancy--"+t,l=document.createElement("div");if(l.className="field",l.innerHTML=`
`,l.querySelector("label").textContent=a.occupancyTypeField,""===(null!==(c=a.occupancyTypeFieldValues)&&void 0!==c?c:"")){const e=document.createElement("input");e.className="input",e.id=s,e.name=t,e.type="text",e.required=a.isRequired,e.minLength=a.minimumLength,e.maxLength=a.maximumLength,""!==(null!==(n=a.pattern)&&void 0!==n?n:"")&&(e.pattern=a.pattern),l.querySelector(".control").append(e)}else{l.querySelector(".control").innerHTML=`
\n \n
`;const e=l.querySelector("select");e.required=a.isRequired;const c=a.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",``)}):e.innerHTML=`
\n

Select the ${a.escapedAliases.occupancy} type to load the available fields.

\n
`})}else{const e=p.value;p.addEventListener("change",()=>{p.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:()=>{p.value=e}}})})}const m=document.querySelector("#lotOccupancy--lotName");m.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,a.setUnsavedChanges(),c()}function r(e){e.preventDefault();const t=e.currentTarget;l(t.dataset.lotId,t.dataset.lotName)}function u(){s.innerHTML=a.getLoadingParagraphHTML("Searching..."),cityssm.postJSON(a.urlPrefix+"/lots/doSearchLots",o,e=>{var t,c;if(0===e.count)return void(s.innerHTML='
\n

No results.

\n
');const n=document.createElement("div");n.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='
'+cityssm.escapeHTML(null!==(t=o.lotName)&&void 0!==t?t:"")+'
'+cityssm.escapeHTML(null!==(c=o.mapName)&&void 0!==c?c:"")+'
'+cityssm.escapeHTML(o.lotStatus)+'
'+(o.lotOccupancyCount>0?"Currently Occupied":"")+"
",e.addEventListener("click",r),n.append(e)}s.innerHTML="",s.append(n)})}function i(e){e.preventDefault();const t=n.querySelector("#lotCreate--lotName").value;cityssm.postJSON(a.urlPrefix+"/lots/doCreateLot",e.currentTarget,e=>{var c;e.success?l(e.lotId,t):bulmaJS.alert({title:`Error Creating ${a.escapedAliases.Lot}`,message:null!==(c=e.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",u);const d=e.querySelector("#lotSelect--occupancyStatus");if(d.addEventListener("change",u),""!==t&&(d.value=""),o=e.querySelector("#form--lotSelect"),s=e.querySelector("#resultsContainer--lotSelect"),o.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()}})}),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",()=>{m.disabled?bulmaJS.alert({message:"You need to unlock the field before clearing it.",contextualColorName:"info"}):(m.value=`(No ${a.escapedAliases.Lot})`,document.querySelector("#lotOccupancy--lotId").value="",a.setUnsavedChanges())}),a.initializeDatePickers(u),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(u),Object.defineProperty(exports,"__esModule",{value:!0});let y=exports.lotOccupancyOccupants;function v(e){const t=Number.parseInt(e.currentTarget.closest("tr").dataset.lotOccupantIndex,10),c=y.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?(y=c.lotOccupancyOccupants,o(),f()):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=``,e.querySelector("#lotOccupancyOccupantEdit--occupantName").value=c.occupantName,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=``;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 O(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?(y=c.lotOccupancyOccupants,f()):bulmaJS.alert({title:"Error Removing "+a.escapedAliases.Occupant,message:null!==(t=c.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}},contextualColorName:"warning"})}function f(){var e,t,c,n,o,s,l,r,u,i;const d=document.querySelector("#container--lotOccupancyOccupants");if(cityssm.clearElement(d),0===y.length)return void(d.innerHTML=`
\n

There are no ${a.escapedAliases.occupants} associated with this record.

\n
`);const p=document.createElement("table");p.className="table is-fullwidth is-striped is-hoverable",p.innerHTML=`\n ${a.escapedAliases.Occupant}\n Address\n Other Contact\n Comment\n Options\n \n `;for(const a of y){const d=document.createElement("tr");d.dataset.lotOccupantIndex=a.lotOccupantIndex.toString(),d.innerHTML=""+cityssm.escapeHTML(""===(null!==(e=a.occupantName)&&void 0!==e?e:"")?"(No Name)":a.occupantName)+'
'+cityssm.escapeHTML(a.lotOccupantType)+""+(""===(null!==(t=a.occupantAddress1)&&void 0!==t?t:"")?"":cityssm.escapeHTML(a.occupantAddress1)+"
")+(""===(null!==(c=a.occupantAddress2)&&void 0!==c?c:"")?"":cityssm.escapeHTML(a.occupantAddress2)+"
")+(""===(null!==(n=a.occupantCity)&&void 0!==n?n:"")?"":cityssm.escapeHTML(a.occupantCity)+", ")+cityssm.escapeHTML(null!==(o=a.occupantProvince)&&void 0!==o?o:"")+"
"+cityssm.escapeHTML(null!==(s=a.occupantPostalCode)&&void 0!==s?s:"")+""+(""===(null!==(l=a.occupantPhoneNumber)&&void 0!==l?l:"")?"":cityssm.escapeHTML(a.occupantPhoneNumber)+"
")+(""===(null!==(r=a.occupantEmailAddress)&&void 0!==r?r:"")?"":cityssm.escapeHTML(a.occupantEmailAddress))+''+cityssm.escapeHTML(null!==(i=a.occupantComment)&&void 0!==i?i:"")+'
',d.querySelector(".button--edit").addEventListener("click",v),d.querySelector(".button--delete").addEventListener("click",O),p.querySelector("tbody").append(d)}d.append(p)}if(delete exports.lotOccupancyOccupants,l){const e=document.querySelector("#lotOccupancy--lotOccupantTypeId");e.addEventListener("change",()=>{var t;const c=u.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"),u.querySelector("#lotOccupancy--occupantCommentTitle").textContent=n})}else f();if(null===(b=document.querySelector("#button--addOccupant"))||void 0===b||b.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?(y=n.lotOccupancyOccupants,e(),f()):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;r=e.occupants;const p=document.createElement("div");p.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=""+cityssm.escapeHTML(null!==(t=n.occupantName)&&void 0!==t?t:"")+'
'+cityssm.escapeHTML(null!==(c=n.occupantAddress1)&&void 0!==c?c:"")+"
"+(""===(null!==(o=n.occupantAddress2)&&void 0!==o?o:"")?"":cityssm.escapeHTML(n.occupantAddress2)+"
")+cityssm.escapeHTML(null!==(a=n.occupantCity)&&void 0!==a?a:"")+", "+cityssm.escapeHTML(null!==(s=n.occupantProvince)&&void 0!==s?s:"")+"
"+cityssm.escapeHTML(null!==(l=n.occupantPostalCode)&&void 0!==l?l:"")+'
'+(""===(null!==(i=n.occupantPhoneNumber)&&void 0!==i?i:"")?"":cityssm.escapeHTML(n.occupantPhoneNumber)+"
")+cityssm.escapeHTML(null!==(d=n.occupantEmailAddress)&&void 0!==d?d:"")+"
",r.addEventListener("click",u),p.append(r)}n.innerHTML="",n.append(p)})):n.innerHTML='

Enter a partial name or address in the search field above.

'}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=``;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 g(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(),S()):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 h(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,S()):bulmaJS.alert({title:"Error Removing Comment",message:null!==(c=t.errorMessage)&&void 0!==c?c:"",contextualColorName:"danger"})})}},contextualColorName:"warning"})}function S(){var t,c,n;const o=document.querySelector("#container--lotOccupancyComments");if(0===e.length)return void(o.innerHTML='

There are no comments associated with this record.

');const a=document.createElement("table");a.className="table is-fullwidth is-striped is-hoverable",a.innerHTML='CommentorComment DateCommentOptions';for(const o of e){const e=document.createElement("tr");e.dataset.lotOccupancyCommentId=o.lotOccupancyCommentId.toString(),e.innerHTML=""+cityssm.escapeHTML(null!==(t=o.recordCreate_userName)&&void 0!==t?t:"")+""+(null!==(c=o.lotOccupancyCommentDateString)&&void 0!==c?c:"")+(0===o.lotOccupancyCommentTime?"":" "+o.lotOccupancyCommentTimeString)+""+cityssm.escapeHTML(null!==(n=o.lotOccupancyComment)&&void 0!==n?n:"")+'
',e.querySelector(".button--edit").addEventListener("click",g),e.querySelector(".button--delete").addEventListener("click",h),a.querySelector("tbody").append(e)}o.innerHTML="",o.append(a)}var b;delete exports.lotOccupancyComments,null===(b=document.querySelector("#button--addComment"))||void 0===b||b.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(),S()):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()}})}),S(),Object.defineProperty(exports,"__esModule",{value:!0});let t=exports.lotOccupancyFees;delete exports.lotOccupancyFees;const c=document.querySelector("#container--lotOccupancyFees");function C(){let e=0;for(const c of t)e+=(c.feeAmount+c.taxAmount)*c.quantity;return e}function T(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;e.success?(t=e.lotOccupancyFees,x()):bulmaJS.alert({title:"Error Deleting Fee",message:null!==(c=e.errorMessage)&&void 0!==c?c:"",contextualColorName:"danger"})})}}})}function x(){var e,n,o;if(0===t.length)return c.innerHTML='
\n

There are no fees associated with this record.

\n
',void q();c.innerHTML='\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
FeeUnit Cost×QuantityequalsTotalOptions
Subtotal
Tax
Grand Total
';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=''+cityssm.escapeHTML(null!==(n=l.feeName)&&void 0!==n?n:"")+'
'+cityssm.escapeHTML(null!==(o=l.feeCategory)&&void 0!==o?o:"")+""+(1===l.quantity?"":'$'+l.feeAmount.toFixed(2)+'×'+l.quantity+"=")+'$'+(l.feeAmount*l.quantity).toFixed(2)+'',t.querySelector("button").addEventListener("click",T),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),q()}null===(b=document.querySelector("#button--addFee"))||void 0===b||b.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;e.success?(t=e.lotOccupancyFees,x(),u()):bulmaJS.alert({title:"Error Adding Fee",message:null!==(c=e.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;const i=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='

'+cityssm.escapeHTML(null!==(t=n.feeCategory)&&void 0!==t?t:"")+'

';let d=!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 p=((null!==(a=t.feeName)&&void 0!==a?a:"")+" "+(null!==(s=t.feeDescription)&&void 0!==s?s:"")).toLowerCase();for(const e of i)if(!p.includes(e)){o=!1;break}if(!o)continue;d=!0;const m=document.createElement("a");m.className="panel-block is-block container--fee",m.dataset.feeId=t.feeId.toString(),m.dataset.feeCategoryId=n.feeCategoryId.toString(),m.href="#",m.innerHTML=""+cityssm.escapeHTML(null!==(l=t.feeName)&&void 0!==l?l:"")+"
"+cityssm.escapeHTML(null!==(u=t.feeDescription)&&void 0!==u?u:"").replace(/\n/g,"
")+"
",m.addEventListener("click",r),e.querySelector(".panel").append(m)}d&&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(){x()},onremoved(){bulmaJS.toggleHtmlClipped()}})});let n=exports.lotOccupancyTransactions;delete exports.lotOccupancyTransactions;const o=document.querySelector("#container--lotOccupancyTransactions");function L(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;e.success?(n=e.lotOccupancyTransactions,q()):bulmaJS.alert({title:"Error Deleting Transaction",message:null!==(t=e.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}}})}function q(){var e,c,s;if(0===n.length)return void(o.innerHTML='

There are no transactions associated with this record.

');o.innerHTML=`\n \n \n \n \n \n \n \n \n \n \n \n \n
Date${a.escapedAliases.ExternalReceiptNumber}AmountOptions
Transaction Total
`;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=""+(null!==(e=t.transactionDateString)&&void 0!==e?e:"")+""+(""===t.externalReceiptNumber?"":cityssm.escapeHTML(null!==(c=t.externalReceiptNumber)&&void 0!==c?c:"")+"
")+""+cityssm.escapeHTML(null!==(s=t.transactionNote)&&void 0!==s?s:"")+'$'+t.transactionAmount.toFixed(2)+'',n.querySelector("button").addEventListener("click",L),o.querySelector("tbody").append(n)}o.querySelector("#lotOccupancyTransactions--grandTotal").textContent="$"+l.toFixed(2);const r=C();r>l&&o.insertAdjacentHTML("afterbegin",'
Outstanding Balance
$'+(r-l).toFixed(2)+"
")}document.querySelector("#button--addTransaction").addEventListener("click",()=>{let e;function t(t){t.preventDefault(),cityssm.postJSON(a.urlPrefix+"/lotOccupancies/doAddLotOccupancyTransaction",t.currentTarget,t=>{var c;t.success?(n=t.lotOccupancyTransactions,e(),q()):bulmaJS.confirm({title:"Error Adding Transaction",message:null!==(c=t.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=C(),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()}})}),x()}})(); \ No newline at end of file diff --git a/views/lotOccupancy-edit.ejs b/views/lotOccupancy-edit.ejs index ff5a7137..9e8e9e4d 100644 --- a/views/lotOccupancy-edit.ejs +++ b/views/lotOccupancy-edit.ejs @@ -23,11 +23,11 @@ <% } %>
  • - <% if (isCreate) { %> - Create a New <%= configFunctions.getProperty("aliases.occupancy") %> Record - <% } else { %> - Update <%= configFunctions.getProperty("aliases.occupancy") %> - <% } %> + <% if (isCreate) { %> + Create a New <%= configFunctions.getProperty("aliases.occupancy") %> Record + <% } else { %> + Update <%= configFunctions.getProperty("aliases.occupancy") %> + <% } %>
  • @@ -136,176 +136,176 @@
    -
    -
    - -
    -
    -
    - -
    -
    -
    - +
    +
    + +
    +
    +
    +
    +
    + +
    +
    - - -
    -
    - " id="lotOccupancy--lotName" type="button" value="<%= lotOccupancy.lotName || "(No " + configFunctions.getProperty("aliases.lot") + ")" %>" - <%= (configFunctions.getProperty("settings.lotOccupancy.lotIdIsRequired") ? " required" : "") %> - <%= (isCreate ? "" : " disabled readonly") %> /> -
    -
    - Field"> - - -
    -
    - Field"> - - -
    -
    - -
    + + +
    +
    + " id="lotOccupancy--lotName" type="button" value="<%= lotOccupancy.lotName || "(No " + configFunctions.getProperty("aliases.lot") + ")" %>" + <%= (configFunctions.getProperty("settings.lotOccupancy.lotIdIsRequired") ? " required" : "") %> + <%= (isCreate ? "" : " disabled readonly") %> />
    -
    -
    -
    - -
    - - - - -
    +
    + Field"> + +
    -
    - -
    - /> - - - -
    +
    + Field"> + +
    -
    -
    -
    - <% if (isCreate) { %> -
    -

    - Select the <%= configFunctions.getProperty("aliases.occupancy").toLowerCase() %> type to load the available fields. -

    -
    - <% } else if (lotOccupancy.lotOccupancyFields.length === 0) { %> -
    -

    - The current <%= configFunctions.getProperty("aliases.occupancy").toLowerCase() %> type has no additional fields. -

    -
    - <% } else { %> - <% let occupancyTypeFieldIds = ""; %> - <% for (const lotOccupancyField of lotOccupancy.lotOccupancyFields) { %> - <% occupancyTypeFieldIds += "," + lotOccupancyField.occupancyTypeFieldId; %> -
    - -
    - <% if (!lotOccupancyField.occupancyTypeFieldValues || lotOccupancyField.occupancyTypeFieldValues === "") { %> - - pattern="<%= lotOccupancyField.pattern %>" - <% } %> - minlength="<%= lotOccupancyField.minimumLength %>" - maxlength="<%= lotOccupancyField.maximumLength %>" - <%= lotOccupancyField.isRequired ? " required" : "" %> /> - <% } else { %> - <% - const fieldValues = lotOccupancyField.occupancyTypeFieldValues.split("\n"); - let valueFound = false; - %> -
    - -
    - <% } %> -
    -
    - <% } %> - - <% } %> +
    +
    +
    +
    + +
    + + + + +
    +
    +
    + +
    + /> + + + +
    +
    +
    +
    +
    + <% if (isCreate) { %> +
    +

    + Select the <%= configFunctions.getProperty("aliases.occupancy").toLowerCase() %> type to load the available fields. +

    +
    + <% } else if (lotOccupancy.lotOccupancyFields.length === 0) { %> +
    +

    + The current <%= configFunctions.getProperty("aliases.occupancy").toLowerCase() %> type has no additional fields. +

    +
    + <% } else { %> + <% let occupancyTypeFieldIds = ""; %> + <% for (const lotOccupancyField of lotOccupancy.lotOccupancyFields) { %> + <% occupancyTypeFieldIds += "," + lotOccupancyField.occupancyTypeFieldId; %> +
    + +
    + <% if (!lotOccupancyField.occupancyTypeFieldValues || lotOccupancyField.occupancyTypeFieldValues === "") { %> + + pattern="<%= lotOccupancyField.pattern %>" + <% } %> + minlength="<%= lotOccupancyField.minimumLength %>" + maxlength="<%= lotOccupancyField.maximumLength %>" + <%= lotOccupancyField.isRequired ? " required" : "" %> /> + <% } else { %> + <% + const fieldValues = lotOccupancyField.occupancyTypeFieldValues.split("\n"); + let valueFound = false; + %> +
    + +
    + <% } %> +
    +
    + <% } %> + + <% } %> +
    +
    +
    <% if (isCreate) { %>
    @@ -317,14 +317,19 @@ <%= configFunctions.getProperty("aliases.occupant") %> Type
    -
    - -
    +
    + +
    @@ -391,7 +396,7 @@
    - +