"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(){var e,s,u,y,f,v,p,m,g,C,S,b,F,q,E,x,T;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 \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===(u=o.querySelector(".button--deleteFeeCategory"))||void 0===u||u.addEventListener("click",l));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!==(y=e.isRequired)&&void 0!==y&&y||void 0!==e.occupancyTypeId||void 0!==e.lotTypeId;n.innerHTML=`
\n
\n
\n ${cityssm.escapeHTML(null!==(f=e.feeName)&&void 0!==f?f:"")}
\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!==(m=e.occupancyTypeId)&&void 0!==m?m:-1)?"":` \n \n ${cityssm.escapeHTML(null!==(g=e.occupancyType)&&void 0!==g?g:"")}\n `}\n ${-1===(null!==(C=e.lotTypeId)&&void 0!==C?C:-1)?"":` \n \n ${cityssm.escapeHTML(null!==(S=e.lotType)&&void 0!==S?S:"")}\n `}\n
`:""}\n
\n
\n
\n
\n ${e.feeFunction?`${cityssm.escapeHTML(e.feeFunction)}
\n Fee Function`:`$${(null!==(b=e.feeAmount)&&void 0!==b?b:0).toFixed(2)}
\n Fee`}\n
\n
\n ${e.taxPercentage?`${e.taxPercentage.toString()}%`:`$${(null!==(F=e.taxAmount)&&void 0!==F?F:0).toFixed(2)}`}
\n Tax\n
\n
\n ${e.includeQuantity?`${cityssm.escapeHTML(null!==(q=e.quantityUnit)&&void 0!==q?q:"")}
\n Quantity`:""}\n
\n
\n
\n
\n ${t.getMoveUpDownButtonFieldHTML("button--moveFeeUp","button--moveFeeDown")}\n
\n
`,null===(E=n.querySelector("a"))||void 0===E||E.addEventListener("click",c),n.querySelector(".button--moveFeeUp").addEventListener("click",d),n.querySelector(".button--moveFeeDown").addEventListener("click",d),o.append(n)}null===(x=o.querySelector(".button--editFeeCategory"))||void 0===x||x.addEventListener("click",a),null===(T=o.querySelector(".button--addFee"))||void 0===T||T.addEventListener("click",i),o.querySelector(".button--moveFeeCategoryUp").addEventListener("click",r),o.querySelector(".button--moveFeeCategoryDown").addEventListener("click",r),n.append(o)}}else n.innerHTML='
\n
There are no available fees.
\n
'}function a(e){var n;const a=Number.parseInt(null!==(n=e.currentTarget.closest(".container--feeCategory").dataset.feeCategoryId)&&void 0!==n?n:"",10),l=o.find(e=>e.feeCategoryId===a);let r;function i(e){e.preventDefault(),cityssm.postJSON(`${t.urlPrefix}/admin/doUpdateFeeCategory`,e.currentTarget,e=>{var t;const n=e;n.success?(o=n.feeCategories,r(),s()):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=l.feeCategoryId.toString(),e.querySelector("#feeCategoryEdit--feeCategory").value=l.feeCategory},onshown(e,t){var n;bulmaJS.toggleHtmlClipped(),r=t,null===(n=e.querySelector("form"))||void 0===n||n.addEventListener("submit",i),e.querySelector("#feeCategoryEdit--feeCategory").focus()},onremoved:()=>{bulmaJS.toggleHtmlClipped()}})}function l(e){var n;const a=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:a},e=>{var t;const n=e;n.success?(o=n.feeCategories,s()):bulmaJS.alert({title:"Error Updating Fee Category",message:null!==(t=n.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}}})}function r(e){var n;const a=e.currentTarget,l=null!==(n=a.closest(".container--feeCategory").dataset.feeCategoryId)&&void 0!==n?n:"";cityssm.postJSON(`${t.urlPrefix}/admin/${"up"===a.dataset.direction?"doMoveFeeCategoryUp":"doMoveFeeCategoryDown"}`,{feeCategoryId:l,moveToEnd:e.shiftKey?"1":"0"},e=>{var t;const n=e;n.success?(o=n.feeCategories,s()):bulmaJS.alert({title:"Error Moving Fee Category",message:null!==(t=n.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}function i(e){var n;const a=Number.parseInt(null!==(n=e.currentTarget.closest(".container--feeCategory").dataset.feeCategoryId)&&void 0!==n?n:"",10);let l;function r(e){e.preventDefault(),cityssm.postJSON(`${t.urlPrefix}/admin/doAddFee`,e.currentTarget,e=>{var t;const n=e;n.success?(o=n.feeCategories,l(),s()):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===a&&(t.selected=!0),n.append(t)}const s=e.querySelector("#feeAdd--occupancyTypeId");for(const e of exports.occupancyTypes){const t=document.createElement("option");t.value=e.occupancyTypeId.toString(),t.textContent=e.occupancyType,s.append(t)}const l=e.querySelector("#feeAdd--lotTypeId");for(const e of exports.lotTypes){const t=document.createElement("option");t.value=e.lotTypeId.toString(),t.textContent=e.lotType,l.append(t)}e.querySelector("#feeAdd--taxPercentage").value=exports.taxPercentageDefault.toString(),t.populateAliases(e)},onshown(e,t){var n,o,s;bulmaJS.toggleHtmlClipped(),l=t,null===(n=e.querySelector("form"))||void 0===n||n.addEventListener("submit",r),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 c(e){var n,a;e.preventDefault();const l=e.currentTarget.closest(".container--fee"),r=Number.parseInt(null!==(n=l.dataset.feeId)&&void 0!==n?n:"",10),i=Number.parseInt(null!==(a=l.closest(".container--feeCategory").dataset.feeCategoryId)&&void 0!==a?a:""),c=o.find(e=>e.feeCategoryId===i).fees.find(e=>e.feeId===r);let d,u;function y(e){e.preventDefault(),cityssm.postJSON(`${t.urlPrefix}/admin/doUpdateFee`,e.currentTarget,e=>{var t;const n=e;n.success?(o=n.feeCategories,d(),s()):bulmaJS.alert({title:"Error Updating Fee",message:null!==(t=n.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}function f(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:r},e=>{var t;const n=e;n.success?(o=n.feeCategories,d(),s()):bulmaJS.alert({title:"Error Deleting Fee",message:null!==(t=n.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}}})}function v(){var e,t;const n=u.querySelector("#feeEdit--feeAmount"),o=u.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 p(){const e=u.querySelector("#feeEdit--taxAmount"),t=u.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 m(){const e=u.querySelector("#feeEdit--includeQuantity").value;u.querySelector("#feeEdit--quantityUnit").disabled=""===e}cityssm.openHtmlModal("adminFees-editFee",{onshow(e){var n,s,a,l,r,d,y;u=e,e.querySelector("#feeEdit--feeId").value=c.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===i&&(t.selected=!0),f.append(t)}e.querySelector("#feeEdit--feeName").value=null!==(n=c.feeName)&&void 0!==n?n:"",e.querySelector("#feeEdit--feeAccount").value=null!==(s=c.feeAccount)&&void 0!==s?s:"",e.querySelector("#feeEdit--feeDescription").value=null!==(a=c.feeDescription)&&void 0!==a?a:"";const g=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===c.occupancyTypeId&&(t.selected=!0),g.append(t)}const C=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===c.lotTypeId&&(t.selected=!0),C.append(t)}e.querySelector("#feeEdit--feeAmount").value=c.feeAmount?c.feeAmount.toFixed(2):"",null===(l=e.querySelector("#feeEdit--feeFunction"))||void 0===l||l.addEventListener("change",v),v(),e.querySelector("#feeEdit--taxAmount").value=c.taxAmount?c.taxAmount.toFixed(2):"";const S=e.querySelector("#feeEdit--taxPercentage");S.value=c.taxPercentage?c.taxPercentage.toString():"",S.addEventListener("keyup",p),p();const b=e.querySelector("#feeEdit--includeQuantity");null!==(r=c.includeQuantity)&&void 0!==r&&r&&(b.value="1"),b.addEventListener("change",m),e.querySelector("#feeEdit--quantityUnit").value=null!==(d=c.quantityUnit)&&void 0!==d?d:"",m(),null!==(y=c.isRequired)&&void 0!==y&&y&&(e.querySelector("#feeEdit--isRequired").value="1"),t.populateAliases(e)},onshown(e,t){var n,o;bulmaJS.toggleHtmlClipped(),d=t,null===(n=e.querySelector("form"))||void 0===n||n.addEventListener("submit",y),bulmaJS.init(e),null===(o=e.querySelector(".button--deleteFee"))||void 0===o||o.addEventListener("click",f)},onremoved(){bulmaJS.toggleHtmlClipped()}})}function d(e){var n;const a=e.currentTarget,l=null!==(n=a.closest(".container--fee").dataset.feeId)&&void 0!==n?n:"";cityssm.postJSON(`${t.urlPrefix}/admin/${"up"===a.dataset.direction?"doMoveFeeUp":"doMoveFeeDown"}`,{feeId:l,moveToEnd:e.shiftKey?"1":"0"},e=>{var t;const n=e;n.success?(o=n.feeCategories,s()):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 a=t;a.success?(o=a.feeCategories,e(),s()):bulmaJS.alert({title:"Error Creating Fee Category",message:null!==(n=a.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()}})}),s()})();