"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=exports.los,c=document.querySelector("main").dataset.urlPrefix,t=document.querySelector("#container--occupancyTypes");let a=exports.occupancyTypes;delete exports.occupancyTypes;let s=exports.allOccupancyTypeFields;delete exports.allOccupancyTypeFields;const n=new Set,l=e=>{const c=e.currentTarget,t=c.closest(".container--occupancyType"),a=Number.parseInt(t.dataset.occupancyTypeId,10);n.has(a)?n.delete(a):n.add(a),c.innerHTML=n.has(a)?'':'';const s=t.querySelectorAll(".panel-block");for(const e of s)e.classList.toggle("is-hidden")},i=e=>{e.success?(a=e.occupancyTypes,s=e.allOccupancyTypeFields,T()):bulmaJS.alert({title:"Error Updating "+exports.aliases.occupancy+" Type",message:e.errorMessage,contextualColorName:"danger"})},o=e=>{const t=Number.parseInt(e.currentTarget.closest(".container--occupancyType").dataset.occupancyTypeId,10);bulmaJS.confirm({title:"Delete "+exports.aliases.occupancy+" Type",message:"Are you sure you want to delete this "+exports.aliases.occupancy.toLowerCase()+" type?",contextualColorName:"warning",okButton:{text:"Yes, Delete "+exports.aliases.occupancy+" Type",callbackFunction:()=>{cityssm.postJSON(c+"/admin/doDeleteOccupancyType",{occupancyTypeId:t},i)}}})},d=t=>{const s=Number.parseInt(t.currentTarget.closest(".container--occupancyType").dataset.occupancyTypeId,10),n=a.find(e=>s===e.occupancyTypeId);let l;const o=e=>{e.preventDefault(),cityssm.postJSON(c+"/admin/doUpdateOccupancyType",e.currentTarget,e=>{i(e),e.success&&l()})};cityssm.openHtmlModal("adminOccupancyTypes-editOccupancyType",{onshow:c=>{e.populateAliases(c),c.querySelector("#occupancyTypeEdit--occupancyTypeId").value=s.toString(),c.querySelector("#occupancyTypeEdit--occupancyType").value=n.occupancyType},onshown:(e,c)=>{l=c,e.querySelector("#occupancyTypeEdit--occupancyType").focus(),e.querySelector("form").addEventListener("submit",o),bulmaJS.toggleHtmlClipped()},onremoved:()=>{bulmaJS.toggleHtmlClipped()}})},p=t=>{const a=Number.parseInt(t.currentTarget.closest(".container--occupancyType").dataset.occupancyTypeId,10);let s;const l=e=>{e.preventDefault(),cityssm.postJSON(c+"/admin/doAddOccupancyTypeField",e.currentTarget,e=>{n.add(a),i(e),e.success&&(s(),r(a,e.occupancyTypeFieldId))})};cityssm.openHtmlModal("adminOccupancyTypes-addOccupancyTypeField",{onshow:c=>{e.populateAliases(c),a&&(c.querySelector("#occupancyTypeFieldAdd--occupancyTypeId").value=a.toString())},onshown:(e,c)=>{s=c,e.querySelector("#occupancyTypeFieldAdd--occupancyTypeField").focus(),e.querySelector("form").addEventListener("submit",l),bulmaJS.toggleHtmlClipped()},onremoved:()=>{bulmaJS.toggleHtmlClipped()}})},u=e=>{e.preventDefault();const t=e.currentTarget.closest(".container--occupancyType").dataset.occupancyTypeId;cityssm.postJSON(c+"/admin/doMoveOccupancyTypeUp",{occupancyTypeId:t},i)},y=e=>{e.preventDefault();const t=e.currentTarget.closest(".container--occupancyType").dataset.occupancyTypeId;cityssm.postJSON(c+"/admin/doMoveOccupancyTypeDown",{occupancyTypeId:t},i)},r=(t,n)=>{let l,o,d,p,u,y;if(t){const e=a.find(e=>e.occupancyTypeId===t);l=e.occupancyTypeFields.find(e=>e.occupancyTypeFieldId===n)}else l=s.find(e=>e.occupancyTypeFieldId===n);const r=()=>{d.min=o.value},m=()=>{""===u.value?(o.disabled=!1,d.disabled=!1,p.disabled=!1):(o.disabled=!0,d.disabled=!0,p.disabled=!0)},v=e=>{e.preventDefault(),cityssm.postJSON(c+"/admin/doUpdateOccupancyTypeField",e.currentTarget,e=>{i(e),e.success&&y()})},T=()=>{bulmaJS.confirm({title:"Delete Field",message:"Are you sure you want to delete this field? Note that historical records that make use of this field will not be affected.",contextualColorName:"warning",okButton:{text:"Yes, Delete Field",callbackFunction:()=>{cityssm.postJSON(c+"/admin/doDeleteOccupancyTypeField",{occupancyTypeFieldId:n},e=>{i(e),e.success&&y()})}}})};cityssm.openHtmlModal("adminOccupancyTypes-editOccupancyTypeField",{onshow:c=>{e.populateAliases(c),c.querySelector("#occupancyTypeFieldEdit--occupancyTypeFieldId").value=l.occupancyTypeFieldId.toString(),c.querySelector("#occupancyTypeFieldEdit--occupancyTypeField").value=l.occupancyTypeField,c.querySelector("#occupancyTypeFieldEdit--isRequired").value=l.isRequired?"1":"0",(o=c.querySelector("#occupancyTypeFieldEdit--minimumLength")).value=l.minimumLength.toString(),(d=c.querySelector("#occupancyTypeFieldEdit--maximumLength")).value=l.maximumLength.toString(),(p=c.querySelector("#occupancyTypeFieldEdit--pattern")).value=l.pattern,(u=c.querySelector("#occupancyTypeFieldEdit--occupancyTypeFieldValues")).value=l.occupancyTypeFieldValues,m()},onshown:(e,c)=>{y=c,bulmaJS.init(e),bulmaJS.toggleHtmlClipped(),cityssm.enableNavBlocker(),e.querySelector("form").addEventListener("submit",v),o.addEventListener("keyup",r),r(),u.addEventListener("keyup",m),e.querySelector("#button--deleteOccupancyTypeField").addEventListener("click",T)},onremoved:()=>{bulmaJS.toggleHtmlClipped(),cityssm.disableNavBlocker()}})},m=e=>{e.preventDefault();const c=Number.parseInt(e.currentTarget.closest(".container--occupancyTypeField").dataset.occupancyTypeFieldId,10),t=Number.parseInt(e.currentTarget.closest(".container--occupancyType").dataset.occupancyTypeId,10);r(t,c)},v=(e,c,t)=>{if(0===t.length)e.insertAdjacentHTML("beforeend",'

There are no additional fields.

');else for(const a of t){const t=document.createElement("div");t.className="panel-block is-block container--occupancyTypeField",c&&!n.has(c)&&t.classList.add("is-hidden"),t.dataset.occupancyTypeFieldId=a.occupancyTypeFieldId.toString(),t.innerHTML='
',t.querySelector(".button--editOccupancyTypeField").addEventListener("click",m),e.append(t)}},T=()=>{if(t.innerHTML='

(All Occupancy Types)

',v(t.querySelector("#container--allOccupancyTypeFields"),void 0,s),t.querySelector(".button--addOccupancyTypeField").addEventListener("click",p),0!==a.length)for(const e of a){const c=document.createElement("div");c.className="panel container--occupancyType",c.dataset.occupancyTypeId=e.occupancyTypeId.toString(),c.innerHTML='

'+cityssm.escapeHTML(e.occupancyType)+'

',v(c,e.occupancyTypeId,e.occupancyTypeFields),c.querySelector(".button--toggleOccupancyTypeFields").addEventListener("click",l),c.querySelector(".button--deleteOccupancyType").addEventListener("click",o),c.querySelector(".button--editOccupancyType").addEventListener("click",d),c.querySelector(".button--addOccupancyTypeField").addEventListener("click",p),c.querySelector(".button--moveOccupancyTypeUp").addEventListener("click",u),c.querySelector(".button--moveOccupancyTypeDown").addEventListener("click",y),t.append(c)}else t.insertAdjacentHTML("afterbegin",'
There are no active '+exports.aliases.occupancy.toLowerCase()+" types.

")};document.querySelector("#button--addOccupancyType").addEventListener("click",()=>{let t;const s=e=>{e.preventDefault(),cityssm.postJSON(c+"/admin/doAddOccupancyType",e.currentTarget,e=>{e.success?(t(),a=e.occupancyTypes,T()):bulmaJS.alert({title:"Error Adding "+exports.aliases.occupancy+" Type",message:e.errorMessage,contextualColorName:"danger"})})};cityssm.openHtmlModal("adminOccupancyTypes-addOccupancyType",{onshow:c=>{e.populateAliases(c)},onshown:(e,c)=>{t=c,e.querySelector("#occupancyTypeAdd--occupancyType").focus(),e.querySelector("form").addEventListener("submit",s),bulmaJS.toggleHtmlClipped()},onremoved:()=>{bulmaJS.toggleHtmlClipped()}})}),T()})();