"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{var e;const t=exports.los,n=document.querySelector("#container--feeCategories");let o=exports.feeCategories;function s(e){return o.find(t=>t.feeCategoryId===e)}function a(e,t){return e.fees.find(e=>e.feeId===t)}function r(){var e,s,a,r,m,v,p,g,C,S,b,F,q,E,x,T,A,I;if(0!==o.length){n.innerHTML="";for(const L of o){const o=document.createElement("section");o.className="panel container--feeCategory",o.dataset.feeCategoryId=L.feeCategoryId.toString(),o.innerHTML=`
\n
\n
\n
${cityssm.escapeHTML(null!==(e=L.feeCategory)&&void 0!==e?e:"")}
\n ${L.isGroupedFee?'Grouped Fee':""}\n \n
\n
\n ${0===L.fees.length?'
\n \n
':""}\n
\n \n
\n
\n \n
\n
\n ${t.getMoveUpDownButtonFieldHTML("button--moveFeeCategoryUp","button--moveFeeCategoryDown")}\n
\n
\n
\n
`,0===L.fees.length&&(o.insertAdjacentHTML("beforeend",`
\n
\n
\n There are no fees in the\n "${cityssm.escapeHTML(null!==(s=L.feeCategory)&&void 0!==s?s:"")}"\n category.\n
\n
\n
`),null===(a=o.querySelector(".button--deleteFeeCategory"))||void 0===a||a.addEventListener("click",i));for(const e of L.fees){const n=document.createElement("div");n.className="panel-block is-block container--fee",n.dataset.feeId=e.feeId.toString();const s=null!==(r=e.isRequired)&&void 0!==r&&r||void 0!==e.occupancyTypeId||void 0!==e.lotTypeId;n.innerHTML=`
\n
\n
\n ${cityssm.escapeHTML(null!==(m=e.feeName)&&void 0!==m?m:"")}
\n \n ${cityssm.escapeHTML(null!==(v=e.feeDescription)&&void 0!==v?v:"").replaceAll("\n","
")}\n \n
\n ${s?`
\n ${null!==(p=e.isRequired)&&void 0!==p&&p?'Required':""}\n ${-1===(null!==(g=e.occupancyTypeId)&&void 0!==g?g:-1)?"":` \n \n ${cityssm.escapeHTML(null!==(C=e.occupancyType)&&void 0!==C?C:"")}\n `}\n ${-1===(null!==(S=e.lotTypeId)&&void 0!==S?S:-1)?"":` \n \n ${cityssm.escapeHTML(null!==(b=e.lotType)&&void 0!==b?b:"")}\n `}\n
`:""}\n
\n
\n
\n
\n ${e.feeFunction?`${cityssm.escapeHTML(e.feeFunction)}
\n
Fee Function`:`
\n $${(null!==(F=e.feeAmount)&&void 0!==F?F:0).toFixed(2)}
\n Fee\n `}\n
\n
\n ${e.taxPercentage?`${e.taxPercentage.toString()}%`:`$${(null!==(q=e.taxAmount)&&void 0!==q?q:0).toFixed(2)}`}
\n Tax\n
\n
\n ${e.includeQuantity?`${cityssm.escapeHTML(null!==(E=e.quantityUnit)&&void 0!==E?E:"")}
\n Quantity`:""}\n
\n
\n
\n
\n ${t.getMoveUpDownButtonFieldHTML("button--moveFeeUp","button--moveFeeDown")}\n
\n
`,null===(x=n.querySelector(".a--editFee"))||void 0===x||x.addEventListener("click",f),null===(T=n.querySelector(".a--editFeeAmount"))||void 0===T||T.addEventListener("click",u),n.querySelector(".button--moveFeeUp").addEventListener("click",y),n.querySelector(".button--moveFeeDown").addEventListener("click",y),o.append(n)}null===(A=o.querySelector(".button--editFeeCategory"))||void 0===A||A.addEventListener("click",l),null===(I=o.querySelector(".button--addFee"))||void 0===I||I.addEventListener("click",d),o.querySelector(".button--moveFeeCategoryUp").addEventListener("click",c),o.querySelector(".button--moveFeeCategoryDown").addEventListener("click",c),n.append(o)}}else n.innerHTML='
\n
There are no available fees.
\n
'}function l(e){var n;const a=s(Number.parseInt(null!==(n=e.currentTarget.closest(".container--feeCategory").dataset.feeCategoryId)&&void 0!==n?n:"",10));let l;function i(e){e.preventDefault(),cityssm.postJSON(`${t.urlPrefix}/admin/doUpdateFeeCategory`,e.currentTarget,e=>{var t;const n=e;n.success?(o=n.feeCategories,l(),r()):bulmaJS.alert({title:"Error Updating Fee Category",message:null!==(t=n.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}cityssm.openHtmlModal("adminFees-editFeeCategory",{onshow(e){e.querySelector("#feeCategoryEdit--feeCategoryId").value=a.feeCategoryId.toString(),e.querySelector("#feeCategoryEdit--feeCategory").value=a.feeCategory,a.isGroupedFee&&(e.querySelector("#feeCategoryEdit--isGroupedFee").checked=!0)},onshown(e,t){var n;bulmaJS.toggleHtmlClipped(),l=t,null===(n=e.querySelector("form"))||void 0===n||n.addEventListener("submit",i),e.querySelector("#feeCategoryEdit--feeCategory").focus()},onremoved:()=>{bulmaJS.toggleHtmlClipped()}})}function i(e){var n;const s=Number.parseInt(null!==(n=e.currentTarget.closest(".container--feeCategory").dataset.feeCategoryId)&&void 0!==n?n:"",10);bulmaJS.confirm({title:"Delete Fee Category?",message:"Are you sure you want to delete this fee category?",contextualColorName:"warning",okButton:{text:"Yes, Delete the Fee Category",callbackFunction:function(){cityssm.postJSON(`${t.urlPrefix}/admin/doDeleteFeeCategory`,{feeCategoryId:s},e=>{var t;const n=e;n.success?(o=n.feeCategories,r()):bulmaJS.alert({title:"Error Updating Fee Category",message:null!==(t=n.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}}})}function c(e){var n;const s=e.currentTarget,a=null!==(n=s.closest(".container--feeCategory").dataset.feeCategoryId)&&void 0!==n?n:"";cityssm.postJSON(`${t.urlPrefix}/admin/${"up"===s.dataset.direction?"doMoveFeeCategoryUp":"doMoveFeeCategoryDown"}`,{feeCategoryId:a,moveToEnd:e.shiftKey?"1":"0"},e=>{var t;const n=e;n.success?(o=n.feeCategories,r()):bulmaJS.alert({title:"Error Moving Fee Category",message:null!==(t=n.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}function d(e){var n;const s=Number.parseInt(null!==(n=e.currentTarget.closest(".container--feeCategory").dataset.feeCategoryId)&&void 0!==n?n:"",10);let a;function l(e){e.preventDefault(),cityssm.postJSON(`${t.urlPrefix}/admin/doAddFee`,e.currentTarget,e=>{var t;const n=e;n.success?(o=n.feeCategories,a(),r()):bulmaJS.alert({title:"Error Adding Fee",message:null!==(t=n.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}cityssm.openHtmlModal("adminFees-addFee",{onshow(e){const n=e.querySelector("#feeAdd--feeCategoryId");for(const e of o){const t=document.createElement("option");t.value=e.feeCategoryId.toString(),t.textContent=e.feeCategory,e.feeCategoryId===s&&(t.selected=!0),n.append(t)}const a=e.querySelector("#feeAdd--occupancyTypeId");for(const e of exports.occupancyTypes){const t=document.createElement("option");t.value=e.occupancyTypeId.toString(),t.textContent=e.occupancyType,a.append(t)}const r=e.querySelector("#feeAdd--lotTypeId");for(const e of exports.lotTypes){const t=document.createElement("option");t.value=e.lotTypeId.toString(),t.textContent=e.lotType,r.append(t)}e.querySelector("#feeAdd--taxPercentage").value=exports.taxPercentageDefault.toString(),t.populateAliases(e)},onshown(e,t){var n,o,s;bulmaJS.toggleHtmlClipped(),a=t,null===(n=e.querySelector("form"))||void 0===n||n.addEventListener("submit",l),e.querySelector("#feeAdd--feeName").focus(),e.querySelector("#feeAdd--feeFunction").addEventListener("change",()=>{var t,n;const o=e.querySelector("#feeAdd--feeAmount"),s=e.querySelector("#feeAdd--feeFunction");""===s.value?(null===(t=s.closest(".select"))||void 0===t||t.classList.remove("is-success"),o.classList.add("is-success"),o.disabled=!1):(null===(n=s.closest(".select"))||void 0===n||n.classList.add("is-success"),o.classList.remove("is-success"),o.disabled=!0)}),null===(o=e.querySelector("#feeAdd--taxPercentage"))||void 0===o||o.addEventListener("keyup",()=>{const t=e.querySelector("#feeAdd--taxAmount"),n=e.querySelector("#feeAdd--taxPercentage");""===n.value?(n.classList.remove("is-success"),t.classList.add("is-success"),t.disabled=!1):(n.classList.add("is-success"),t.classList.remove("is-success"),t.disabled=!0)}),null===(s=e.querySelector("#feeAdd--includeQuantity"))||void 0===s||s.addEventListener("change",()=>{e.querySelector("#feeAdd--quantityUnit").disabled=""===e.querySelector("#feeAdd--includeQuantity").value})},onremoved(){bulmaJS.toggleHtmlClipped()}})}function u(e){var n,l;e.preventDefault();const i=e.currentTarget.closest(".container--fee"),c=Number.parseInt(null!==(n=i.dataset.feeId)&&void 0!==n?n:"",10),d=s(Number.parseInt(null!==(l=i.closest(".container--feeCategory").dataset.feeCategoryId)&&void 0!==l?l:"")),u=a(d,c);let f;function y(e){e.preventDefault(),cityssm.postJSON(`${t.urlPrefix}/admin/doUpdateFeeAmount`,e.currentTarget,e=>{var t;const n=e;n.success?(o=n.feeCategories,f(),r()):bulmaJS.alert({title:"Error Updating Fee Amount",message:null!==(t=n.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}cityssm.openHtmlModal("adminFees-editFeeAmount",{onshow(e){var t,n,o;e.querySelector("#feeAmountEdit--feeId").value=u.feeId.toString(),e.querySelector("#feeAmountEdit--feeCategory").textContent=d.feeCategory,e.querySelector("#feeAmountEdit--feeName").textContent=null!==(t=u.feeName)&&void 0!==t?t:"",e.querySelector("#feeAmountEdit--feeAmount").value=null!==(o=null===(n=u.feeAmount)||void 0===n?void 0:n.toFixed(2))&&void 0!==o?o:"0"},onshown(e,t){var n;e.querySelector("#feeAmountEdit--feeAmount").select(),f=t,null===(n=e.querySelector("form"))||void 0===n||n.addEventListener("submit",y)}})}function f(e){var n,l;e.preventDefault();const i=e.currentTarget.closest(".container--fee"),c=Number.parseInt(null!==(n=i.dataset.feeId)&&void 0!==n?n:"",10),d=Number.parseInt(null!==(l=i.closest(".container--feeCategory").dataset.feeCategoryId)&&void 0!==l?l:""),u=a(s(d),c);let f,y;function m(e){e.preventDefault(),cityssm.postJSON(`${t.urlPrefix}/admin/doUpdateFee`,e.currentTarget,e=>{var t;const n=e;n.success?(o=n.feeCategories,f(),r()):bulmaJS.alert({title:"Error Updating Fee",message:null!==(t=n.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}function v(e){e.preventDefault(),bulmaJS.confirm({title:"Delete Fee?",message:"Are you sure you want to delete this fee?",contextualColorName:"warning",okButton:{text:"Yes, Delete the Fee",callbackFunction:function(){cityssm.postJSON(`${t.urlPrefix}/admin/doDeleteFee`,{feeId:c},e=>{var t;const n=e;n.success?(o=n.feeCategories,f(),r()):bulmaJS.alert({title:"Error Deleting Fee",message:null!==(t=n.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}}})}function p(){var e,t;const n=y.querySelector("#feeEdit--feeAmount"),o=y.querySelector("#feeEdit--feeFunction");""===o.value?(null===(e=o.closest(".select"))||void 0===e||e.classList.remove("is-success"),n.classList.add("is-success"),n.disabled=!1):(null===(t=o.closest(".select"))||void 0===t||t.classList.add("is-success"),n.classList.remove("is-success"),n.disabled=!0)}function g(){const e=y.querySelector("#feeEdit--taxAmount"),t=y.querySelector("#feeEdit--taxPercentage");""===t.value?(t.classList.remove("is-success"),e.classList.add("is-success"),e.disabled=!1):(t.classList.add("is-success"),e.classList.remove("is-success"),e.disabled=!0)}function C(){const e=y.querySelector("#feeEdit--includeQuantity").value;y.querySelector("#feeEdit--quantityUnit").disabled=""===e}cityssm.openHtmlModal("adminFees-editFee",{onshow(e){var n,s,a,r,l,i,c;y=e,e.querySelector("#feeEdit--feeId").value=u.feeId.toString();const f=e.querySelector("#feeEdit--feeCategoryId");for(const e of o){const t=document.createElement("option");t.value=e.feeCategoryId.toString(),t.textContent=e.feeCategory,e.feeCategoryId===d&&(t.selected=!0),f.append(t)}e.querySelector("#feeEdit--feeName").value=null!==(n=u.feeName)&&void 0!==n?n:"",e.querySelector("#feeEdit--feeAccount").value=null!==(s=u.feeAccount)&&void 0!==s?s:"",e.querySelector("#feeEdit--feeDescription").value=null!==(a=u.feeDescription)&&void 0!==a?a:"";const m=e.querySelector("#feeEdit--occupancyTypeId");for(const e of exports.occupancyTypes){const t=document.createElement("option");t.value=e.occupancyTypeId.toString(),t.textContent=e.occupancyType,e.occupancyTypeId===u.occupancyTypeId&&(t.selected=!0),m.append(t)}const v=e.querySelector("#feeEdit--lotTypeId");for(const e of exports.lotTypes){const t=document.createElement("option");t.value=e.lotTypeId.toString(),t.textContent=e.lotType,e.lotTypeId===u.lotTypeId&&(t.selected=!0),v.append(t)}e.querySelector("#feeEdit--feeAmount").value=u.feeAmount?u.feeAmount.toFixed(2):"",null===(r=e.querySelector("#feeEdit--feeFunction"))||void 0===r||r.addEventListener("change",p),p(),e.querySelector("#feeEdit--taxAmount").value=u.taxAmount?u.taxAmount.toFixed(2):"";const S=e.querySelector("#feeEdit--taxPercentage");S.value=u.taxPercentage?u.taxPercentage.toString():"",S.addEventListener("keyup",g),g();const b=e.querySelector("#feeEdit--includeQuantity");null!==(l=u.includeQuantity)&&void 0!==l&&l&&(b.value="1"),b.addEventListener("change",C),e.querySelector("#feeEdit--quantityUnit").value=null!==(i=u.quantityUnit)&&void 0!==i?i:"",C(),null!==(c=u.isRequired)&&void 0!==c&&c&&(e.querySelector("#feeEdit--isRequired").value="1"),t.populateAliases(e)},onshown(e,t){var n,o;bulmaJS.toggleHtmlClipped(),f=t,null===(n=e.querySelector("form"))||void 0===n||n.addEventListener("submit",m),bulmaJS.init(e),null===(o=e.querySelector(".button--deleteFee"))||void 0===o||o.addEventListener("click",v)},onremoved(){bulmaJS.toggleHtmlClipped()}})}function y(e){var n;const s=e.currentTarget,a=null!==(n=s.closest(".container--fee").dataset.feeId)&&void 0!==n?n:"";cityssm.postJSON(`${t.urlPrefix}/admin/${"up"===s.dataset.direction?"doMoveFeeUp":"doMoveFeeDown"}`,{feeId:a,moveToEnd:e.shiftKey?"1":"0"},e=>{var t;const n=e;n.success?(o=n.feeCategories,r()):bulmaJS.alert({title:"Error Moving Fee",message:null!==(t=n.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}delete exports.feeCategories,null===(e=document.querySelector("#button--addFeeCategory"))||void 0===e||e.addEventListener("click",()=>{let e;function n(n){n.preventDefault(),cityssm.postJSON(`${t.urlPrefix}/admin/doAddFeeCategory`,n.currentTarget,t=>{var n;const s=t;s.success?(o=s.feeCategories,e(),r()):bulmaJS.alert({title:"Error Creating Fee Category",message:null!==(n=s.errorMessage)&&void 0!==n?n:"",contextualColorName:"danger"})})}cityssm.openHtmlModal("adminFees-addFeeCategory",{onshown(t,o){var s;bulmaJS.toggleHtmlClipped(),t.querySelector("#feeCategoryAdd--feeCategory").focus(),e=o,null===(s=t.querySelector("form"))||void 0===s||s.addEventListener("submit",n)},onremoved(){bulmaJS.toggleHtmlClipped(),document.querySelector("#button--addFeeCategory").focus()}})}),r()})();