sunrise-cms/public/javascripts/adminFees.min.js

1 line
15 KiB
JavaScript

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