1 line
13 KiB
JavaScript
1 line
13 KiB
JavaScript
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=exports.los,t=document.querySelector("#container--feeCategories");let s=exports.feeCategories;function o(){var o,d,u,y,f,p,m,g,v,C,S;if(0!==s.length){t.innerHTML="";for(const b of s){const s=document.createElement("section");s.className="panel container--feeCategory",s.dataset.feeCategoryId=b.feeCategoryId.toString(),s.innerHTML='<div class="panel-heading"><div class="columns"><div class="column"><h2 class="title is-4">'+cityssm.escapeHTML(null!==(o=b.feeCategory)&&void 0!==o?o:"")+'</h2></div><div class="column is-narrow"><div class="field is-grouped is-justify-content-end">'+(0===b.fees.length?'<div class="control"><button class="button is-small is-danger button--deleteFeeCategory" type="button"><span class="icon is-small"><i class="fas fa-trash" aria-hidden="true"></i></span><span>Delete Category</span></button></div>':"")+'<div class="control"><button class="button is-small is-primary button--editFeeCategory" type="button"><span class="icon is-small"><i class="fas fa-pencil-alt" aria-hidden="true"></i></span><span>Edit Category</span></button></div><div class="control"><button class="button is-small is-success button--addFee" data-cy="addFee" type="button"><span class="icon is-small"><i class="fas fa-plus" aria-hidden="true"></i></span><span>Add Fee</span></button></div><div class="control">'+e.getMoveUpDownButtonFieldHTML("button--moveFeeCategoryUp","button--moveFeeCategoryDown")+"</div></div></div></div>",0===b.fees.length&&(s.insertAdjacentHTML("beforeend",`<div class="panel-block is-block">\n <div class="message is-info">\n <p class="message-body">\n There are no fees in the\n "${cityssm.escapeHTML(null!==(d=b.feeCategory)&&void 0!==d?d:"")}"\n category.\n </p>\n </div>\n </div>`),s.querySelector(".button--deleteFeeCategory").addEventListener("click",n));for(const t of b.fees){const o=document.createElement("div");o.className="panel-block is-block container--fee",o.dataset.feeId=t.feeId.toString();const a=null!==(u=t.isRequired)&&void 0!==u&&u||void 0!==t.occupancyTypeId||void 0!==t.lotTypeId;o.innerHTML='<div class="columns"><div class="column is-half"><p><a class="has-text-weight-bold" href="#">'+cityssm.escapeHTML(null!==(y=t.feeName)&&void 0!==y?y:"")+"</a><br /><small>"+cityssm.escapeHTML(null!==(f=t.feeDescription)&&void 0!==f?f:"").replace(/\n/g,"<br />")+"</small></p>"+(a?'<p class="tags">'+(null!==(p=t.isRequired)&&void 0!==p&&p?'<span class="tag is-warning">Required</span>':"")+(-1===(null!==(m=t.occupancyTypeId)&&void 0!==m?m:-1)?"":' <span class="tag has-tooltip-bottom" data-tooltip="'+e.escapedAliases.Occupancy+' Type Filter"><span class="icon is-small"><i class="fas fa-filter" aria-hidden="true"></i></span> <span>'+cityssm.escapeHTML(null!==(g=t.occupancyType)&&void 0!==g?g:"")+"</span></span>")+(-1===(null!==(v=t.lotTypeId)&&void 0!==v?v:-1)?"":' <span class="tag has-tooltip-bottom" data-tooltip="'+e.escapedAliases.Lot+' Type Filter"><span class="icon is-small"><i class="fas fa-filter" aria-hidden="true"></i></span> <span>'+cityssm.escapeHTML(null!==(C=t.lotType)&&void 0!==C?C:"")+"</span></span>")+"</p>":"")+'</div><div class="column"><div class="columns is-mobile"><div class="column has-text-centered">'+(t.feeFunction?cityssm.escapeHTML(t.feeFunction)+"<br /><small>Fee Function</small>":"$"+t.feeAmount.toFixed(2)+"<br /><small>Fee</small>")+'</div><div class="column has-text-centered">'+(t.taxPercentage?t.taxPercentage+"%":"$"+t.taxAmount.toFixed(2))+'<br /><small>Tax</small></div><div class="column has-text-centered">'+(t.includeQuantity?cityssm.escapeHTML(null!==(S=t.quantityUnit)&&void 0!==S?S:"")+"<br /><small>Quantity</small>":"")+'</div></div></div><div class="column is-narrow">'+e.getMoveUpDownButtonFieldHTML("button--moveFeeUp","button--moveFeeDown")+"</div></div></div>",o.querySelector("a").addEventListener("click",c),o.querySelector(".button--moveFeeUp").addEventListener("click",i),o.querySelector(".button--moveFeeDown").addEventListener("click",i),s.append(o)}s.querySelector(".button--editFeeCategory").addEventListener("click",a),s.querySelector(".button--addFee").addEventListener("click",l),s.querySelector(".button--moveFeeCategoryUp").addEventListener("click",r),s.querySelector(".button--moveFeeCategoryDown").addEventListener("click",r),t.append(s)}}else t.innerHTML='<div class="message is-warning">\n <p class="message-body">There are no available fees.</p>\n </div>'}function a(t){const a=Number.parseInt(t.currentTarget.closest(".container--feeCategory").dataset.feeCategoryId,10),n=s.find(e=>e.feeCategoryId===a);let r;function l(t){t.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doUpdateFeeCategory",t.currentTarget,e=>{var t;e.success?(s=e.feeCategories,r(),o()):bulmaJS.alert({title:"Error Updating Fee Category",message:null!==(t=e.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}cityssm.openHtmlModal("adminFees-editFeeCategory",{onshow(e){e.querySelector("#feeCategoryEdit--feeCategoryId").value=n.feeCategoryId.toString(),e.querySelector("#feeCategoryEdit--feeCategory").value=n.feeCategory},onshown(e,t){bulmaJS.toggleHtmlClipped(),r=t,e.querySelector("form").addEventListener("submit",l),e.querySelector("#feeCategoryEdit--feeCategory").focus()},onremoved:()=>{bulmaJS.toggleHtmlClipped()}})}function n(t){const a=Number.parseInt(t.currentTarget.closest(".container--feeCategory").dataset.feeCategoryId,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(e.urlPrefix+"/admin/doDeleteFeeCategory",{feeCategoryId:a},e=>{var t;e.success?(s=e.feeCategories,o()):bulmaJS.alert({title:"Error Updating Fee Category",message:null!==(t=e.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}}})}function r(t){const a=t.currentTarget,n=a.closest(".container--feeCategory").dataset.feeCategoryId;cityssm.postJSON(e.urlPrefix+"/admin/"+("up"===a.dataset.direction?"doMoveFeeCategoryUp":"doMoveFeeCategoryDown"),{feeCategoryId:n,moveToEnd:t.shiftKey?"1":"0"},e=>{var t;e.success?(s=e.feeCategories,o()):bulmaJS.alert({title:"Error Moving Fee Category",message:null!==(t=e.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}function l(t){const a=Number.parseInt(t.currentTarget.closest(".container--feeCategory").dataset.feeCategoryId,10);let n;function r(t){t.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doAddFee",t.currentTarget,e=>{var t;e.success?(s=e.feeCategories,n(),o()):bulmaJS.alert({title:"Error Adding Fee",message:null!==(t=e.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}cityssm.openHtmlModal("adminFees-addFee",{onshow(t){const o=t.querySelector("#feeAdd--feeCategoryId");for(const e of s){const t=document.createElement("option");t.value=e.feeCategoryId.toString(),t.textContent=e.feeCategory,e.feeCategoryId===a&&(t.selected=!0),o.append(t)}const n=t.querySelector("#feeAdd--occupancyTypeId");for(const e of exports.occupancyTypes){const t=document.createElement("option");t.value=e.occupancyTypeId.toString(),t.textContent=e.occupancyType,n.append(t)}const r=t.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)}t.querySelector("#feeAdd--taxPercentage").value=exports.taxPercentageDefault.toString(),e.populateAliases(t)},onshown(e,t){bulmaJS.toggleHtmlClipped(),n=t,e.querySelector("form").addEventListener("submit",r),e.querySelector("#feeAdd--feeName").focus(),e.querySelector("#feeAdd--feeFunction").addEventListener("change",()=>{const t=e.querySelector("#feeAdd--feeAmount"),s=e.querySelector("#feeAdd--feeFunction");""===s.value?(s.closest(".select").classList.remove("is-success"),t.classList.add("is-success"),t.disabled=!1):(s.closest(".select").classList.add("is-success"),t.classList.remove("is-success"),t.disabled=!0)}),e.querySelector("#feeAdd--taxPercentage").addEventListener("keyup",()=>{const t=e.querySelector("#feeAdd--taxAmount"),s=e.querySelector("#feeAdd--taxPercentage");""===s.value?(s.classList.remove("is-success"),t.classList.add("is-success"),t.disabled=!1):(s.classList.add("is-success"),t.classList.remove("is-success"),t.disabled=!0)}),e.querySelector("#feeAdd--includeQuantity").addEventListener("change",()=>{e.querySelector("#feeAdd--quantityUnit").disabled=""===e.querySelector("#feeAdd--includeQuantity").value})},onremoved(){bulmaJS.toggleHtmlClipped()}})}function c(t){t.preventDefault();const a=t.currentTarget.closest(".container--fee"),n=Number.parseInt(a.dataset.feeId,10),r=Number.parseInt(a.closest(".container--feeCategory").dataset.feeCategoryId),l=s.find(e=>e.feeCategoryId===r).fees.find(e=>e.feeId===n);let c,i;function d(t){t.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doUpdateFee",t.currentTarget,e=>{var t;e.success?(s=e.feeCategories,c(),o()):bulmaJS.alert({title:"Error Updating Fee",message:null!==(t=e.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}function u(t){t.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(e.urlPrefix+"/admin/doDeleteFee",{feeId:n},e=>{var t;e.success?(s=e.feeCategories,c(),o()):bulmaJS.alert({title:"Error Deleting Fee",message:null!==(t=e.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}}})}function y(){const e=i.querySelector("#feeEdit--feeAmount"),t=i.querySelector("#feeEdit--feeFunction");""===t.value?(t.closest(".select").classList.remove("is-success"),e.classList.add("is-success"),e.disabled=!1):(t.closest(".select").classList.add("is-success"),e.classList.remove("is-success"),e.disabled=!0)}function f(){const e=i.querySelector("#feeEdit--taxAmount"),t=i.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 p(){const e=i.querySelector("#feeEdit--includeQuantity").value;i.querySelector("#feeEdit--quantityUnit").disabled=""===e}cityssm.openHtmlModal("adminFees-editFee",{onshow(t){var o,a,n;i=t,t.querySelector("#feeEdit--feeId").value=l.feeId.toString();const c=t.querySelector("#feeEdit--feeCategoryId");for(const e of s){const t=document.createElement("option");t.value=e.feeCategoryId.toString(),t.textContent=e.feeCategory,e.feeCategoryId===r&&(t.selected=!0),c.append(t)}t.querySelector("#feeEdit--feeName").value=l.feeName,t.querySelector("#feeEdit--feeDescription").value=l.feeDescription;const d=t.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===l.occupancyTypeId&&(t.selected=!0),d.append(t)}const u=t.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===l.lotTypeId&&(t.selected=!0),u.append(t)}t.querySelector("#feeEdit--feeAmount").value=l.feeAmount?l.feeAmount.toFixed(2):"",t.querySelector("#feeEdit--feeFunction").addEventListener("change",y),y(),t.querySelector("#feeEdit--taxAmount").value=l.taxAmount?l.taxAmount.toFixed(2):"";const m=t.querySelector("#feeEdit--taxPercentage");m.value=l.taxPercentage?l.taxPercentage.toString():"",m.addEventListener("keyup",f),f();const g=t.querySelector("#feeEdit--includeQuantity");null!==(o=l.includeQuantity)&&void 0!==o&&o&&(g.value="1"),g.addEventListener("change",p),t.querySelector("#feeEdit--quantityUnit").value=null!==(a=l.quantityUnit)&&void 0!==a?a:"",p(),null!==(n=l.isRequired)&&void 0!==n&&n&&(t.querySelector("#feeEdit--isRequired").value="1"),e.populateAliases(t)},onshown(e,t){bulmaJS.toggleHtmlClipped(),c=t,e.querySelector("form").addEventListener("submit",d),bulmaJS.init(e),e.querySelector(".button--deleteFee").addEventListener("click",u)},onremoved:()=>{bulmaJS.toggleHtmlClipped()}})}function i(t){const a=t.currentTarget,n=a.closest(".container--fee").dataset.feeId;cityssm.postJSON(e.urlPrefix+"/admin/"+("up"===a.dataset.direction?"doMoveFeeUp":"doMoveFeeDown"),{feeId:n,moveToEnd:t.shiftKey?"1":"0"},e=>{var t;e.success?(s=e.feeCategories,o()):bulmaJS.alert({title:"Error Moving Fee",message:null!==(t=e.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}delete exports.feeCategories,document.querySelector("#button--addFeeCategory").addEventListener("click",()=>{let t;function a(a){a.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doAddFeeCategory",a.currentTarget,e=>{var a;e.success?(s=e.feeCategories,t(),o()):bulmaJS.alert({title:"Error Creating Fee Category",message:null!==(a=e.errorMessage)&&void 0!==a?a:"",contextualColorName:"danger"})})}cityssm.openHtmlModal("adminFees-addFeeCategory",{onshown(e,s){bulmaJS.toggleHtmlClipped(),e.querySelector("#feeCategoryAdd--feeCategory").focus(),t=s,e.querySelector("form").addEventListener("submit",a)},onremoved(){bulmaJS.toggleHtmlClipped(),document.querySelector("#button--addFeeCategory").focus()}})}),o()})(); |