1 line
9.7 KiB
JavaScript
1 line
9.7 KiB
JavaScript
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=exports.los,t=document.querySelector("#container--lotTypes");let o=exports.lotTypes;delete exports.lotTypes;const l=new Set;function s(e){const t=e.currentTarget,o=t.closest(".container--lotType"),s=Number.parseInt(o.dataset.lotTypeId,10);l.has(s)?l.delete(s):l.add(s),t.innerHTML=l.has(s)?'<i class="fas fa-fw fa-minus" aria-hidden="true"></i>':'<i class="fas fa-fw fa-plus" aria-hidden="true"></i>';const i=o.querySelectorAll(".panel-block");for(const e of i)e.classList.toggle("is-hidden")}function i(e){e.success?(o=e.lotTypes,v()):bulmaJS.alert({title:`Error Updating ${exports.aliases.lot} Type`,message:e.errorMessage||"",contextualColorName:"danger"})}function a(t){const o=Number.parseInt(t.currentTarget.closest(".container--lotType").dataset.lotTypeId,10);bulmaJS.confirm({title:`Delete ${exports.aliases.lot} Type`,message:`Are you sure you want to delete this ${exports.aliases.lot.toLowerCase()} type?`,contextualColorName:"warning",okButton:{text:`Yes, Delete ${exports.aliases.lot} Type`,callbackFunction:function(){cityssm.postJSON(e.urlPrefix+"/admin/doDeleteLotType",{lotTypeId:o},i)}}})}function n(t){const l=Number.parseInt(t.currentTarget.closest(".container--lotType").dataset.lotTypeId,10),s=o.find(e=>l===e.lotTypeId);let a;const n=t=>{t.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doUpdateLotType",t.currentTarget,e=>{i(e),e.success&&a()})};cityssm.openHtmlModal("adminLotTypes-editLotType",{onshow(t){e.populateAliases(t),t.querySelector("#lotTypeEdit--lotTypeId").value=l.toString(),t.querySelector("#lotTypeEdit--lotType").value=s.lotType},onshown(e,t){a=t,e.querySelector("#lotTypeEdit--lotType").focus(),e.querySelector("form").addEventListener("submit",n),bulmaJS.toggleHtmlClipped()},onremoved(){bulmaJS.toggleHtmlClipped()}})}function d(t){const o=Number.parseInt(t.currentTarget.closest(".container--lotType").dataset.lotTypeId,10);let s;const a=t=>{t.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doAddLotTypeField",t.currentTarget,e=>{l.add(o),i(e),e.success&&(s(),p(o,e.lotTypeFieldId))})};cityssm.openHtmlModal("adminLotTypes-addLotTypeField",{onshow(t){e.populateAliases(t),o&&(t.querySelector("#lotTypeFieldAdd--lotTypeId").value=o.toString())},onshown(e,t){s=t,e.querySelector("#lotTypeFieldAdd--lotTypeField").focus(),e.querySelector("form").addEventListener("submit",a),bulmaJS.toggleHtmlClipped()},onremoved(){bulmaJS.toggleHtmlClipped()}})}function r(t){t.preventDefault();const o=t.currentTarget.closest(".container--lotType").dataset.lotTypeId;cityssm.postJSON(e.urlPrefix+"/admin/doMoveLotTypeUp",{lotTypeId:o,moveToTop:t.shiftKey?"1":"0"},i)}function c(t){t.preventDefault();const o=t.currentTarget.closest(".container--lotType").dataset.lotTypeId;cityssm.postJSON(e.urlPrefix+"/admin/doMoveLotTypeDown",{lotTypeId:o,moveToBottom:t.shiftKey?"1":"0"},i)}function p(t,l){const s=o.find(e=>e.lotTypeId===t).lotTypeFields.find(e=>e.lotTypeFieldId===l);let a,n,d,r,c;function p(){n.min=a.value}function u(){""===r.value?(a.disabled=!1,n.disabled=!1,d.disabled=!1):(a.disabled=!0,n.disabled=!0,d.disabled=!0)}function y(t){t.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doUpdateLotTypeField",t.currentTarget,e=>{i(e),e.success&&c()})}function m(){cityssm.postJSON(e.urlPrefix+"/admin/doDeleteLotTypeField",{lotTypeFieldId:l},e=>{i(e),e.success&&c()})}function 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:m}})}cityssm.openHtmlModal("adminLotTypes-editLotTypeField",{onshow(t){e.populateAliases(t),t.querySelector("#lotTypeFieldEdit--lotTypeFieldId").value=s.lotTypeFieldId.toString(),t.querySelector("#lotTypeFieldEdit--lotTypeField").value=s.lotTypeField,t.querySelector("#lotTypeFieldEdit--isRequired").value=s.isRequired?"1":"0",(a=t.querySelector("#lotTypeFieldEdit--minimumLength")).value=s.minimumLength.toString(),(n=t.querySelector("#lotTypeFieldEdit--maximumLength")).value=s.maximumLength.toString(),(d=t.querySelector("#lotTypeFieldEdit--pattern")).value=s.pattern,(r=t.querySelector("#lotTypeFieldEdit--lotTypeFieldValues")).value=s.lotTypeFieldValues,u()},onshown(e,t){c=t,bulmaJS.init(e),bulmaJS.toggleHtmlClipped(),cityssm.enableNavBlocker(),e.querySelector("form").addEventListener("submit",y),a.addEventListener("keyup",p),p(),r.addEventListener("keyup",u),e.querySelector("#button--deleteLotTypeField").addEventListener("click",T)},onremoved(){bulmaJS.toggleHtmlClipped(),cityssm.disableNavBlocker()}})}function u(e){e.preventDefault();const t=Number.parseInt(e.currentTarget.closest(".container--lotTypeField").dataset.lotTypeFieldId,10);p(Number.parseInt(e.currentTarget.closest(".container--lotType").dataset.lotTypeId,10),t)}function y(t){t.preventDefault();const o=t.currentTarget.closest(".container--lotTypeField").dataset.lotTypeFieldId;cityssm.postJSON(e.urlPrefix+"/admin/doMoveLotTypeFieldUp",{lotTypeFieldId:o,moveToTop:t.shiftKey?"1":"0"},i)}function m(t){t.preventDefault();const o=t.currentTarget.closest(".container--lotTypeField").dataset.lotTypeFieldId;cityssm.postJSON(e.urlPrefix+"/admin/doMoveLotTypeFieldDown",{lotTypeFieldId:o,moveToBottom:t.shiftKey?"1":"0"},i)}function T(e,t,o){if(0===o.length)e.insertAdjacentHTML("beforeend",'<div class="panel-block is-block'+(l.has(t)?"":" is-hidden")+'"><div class="message is-info"><p class="message-body">There are no additional fields.</p></div></div>');else for(const s of o){const o=document.createElement("div");o.className="panel-block is-block container--lotTypeField",l.has(t)||o.classList.add("is-hidden"),o.dataset.lotTypeFieldId=s.lotTypeFieldId.toString(),o.innerHTML='<div class="level is-mobile"><div class="level-left"><div class="level-item"><a class="has-text-weight-bold button--editLotTypeField" href="#">'+cityssm.escapeHTML(s.lotTypeField||"")+'</a></div></div><div class="level-right"><div class="level-item"><div class="field has-addons"><div class="control"><button class="button is-small button--moveLotTypeFieldUp" data-tooltip="Move Up" type="button" aria-label="Move Up"><i class="fas fa-arrow-up" aria-hidden="true"></i></button></div><div class="control"><button class="button is-small button--moveLotTypeFieldDown" data-tooltip="Move Down" type="button" aria-label="Move Down"><i class="fas fa-arrow-down" aria-hidden="true"></i></button></div></div></div></div></div>',o.querySelector(".button--editLotTypeField").addEventListener("click",u),o.querySelector(".button--moveLotTypeFieldUp").addEventListener("click",y),o.querySelector(".button--moveLotTypeFieldDown").addEventListener("click",m),e.append(o)}}function v(){if(t.innerHTML="",0!==o.length)for(const e of o){const o=document.createElement("div");o.className="panel container--lotType",o.dataset.lotTypeId=e.lotTypeId.toString(),o.innerHTML='<div class="panel-heading"><div class="level is-mobile"><div class="level-left"><div class="level-item"><button class="button is-small button--toggleLotTypeFields" data-tooltip="Toggle Fields" type="button" aria-label="Toggle Fields">'+(l.has(e.lotTypeId)?'<i class="fas fa-fw fa-minus" aria-hidden="true"></i>':'<i class="fas fa-fw fa-plus" aria-hidden="true"></i>')+'</button></div><div class="level-item"><h2 class="title is-4">'+cityssm.escapeHTML(e.lotType)+'</h2></div></div><div class="level-right"><div class="level-item"><button class="button is-danger is-small button--deleteLotType" type="button"><span class="icon is-small"><i class="fas fa-trash" aria-hidden="true"></i></span><span>Delete</span></button></div><div class="level-item"><button class="button is-primary is-small button--editLotType" type="button"><span class="icon is-small"><i class="fas fa-pencil-alt" aria-hidden="true"></i></span><span>Edit '+exports.aliases.lot+' Type</span></button></div><div class="level-item"><button class="button is-success is-small button--addLotTypeField" type="button"><span class="icon is-small"><i class="fas fa-plus" aria-hidden="true"></i></span><span>Add Field</span></button></div><div class="level-item"><div class="field has-addons"><div class="control"><button class="button is-small button--moveLotTypeUp" data-tooltip="Move Up" type="button" aria-label="Move Up"><i class="fas fa-arrow-up" aria-hidden="true"></i></button></div><div class="control"><button class="button is-small button--moveLotTypeDown" data-tooltip="Move Down" type="button" aria-label="Move Down"><i class="fas fa-arrow-down" aria-hidden="true"></i></button></div></div></div></div></div></div>',T(o,e.lotTypeId,e.lotTypeFields),o.querySelector(".button--toggleLotTypeFields").addEventListener("click",s),o.querySelector(".button--deleteLotType").addEventListener("click",a),o.querySelector(".button--editLotType").addEventListener("click",n),o.querySelector(".button--addLotTypeField").addEventListener("click",d),o.querySelector(".button--moveLotTypeUp").addEventListener("click",r),o.querySelector(".button--moveLotTypeDown").addEventListener("click",c),t.append(o)}else t.insertAdjacentHTML("afterbegin",`<div class="message is-warning>\n <p class="message-body">There are no active ${exports.aliases.lot.toLowerCase()} types.</p>\n </div>`)}document.querySelector("#button--addLotType").addEventListener("click",()=>{let t;const l=l=>{l.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doAddLotType",l.currentTarget,e=>{e.success?(t(),o=e.lotTypes,v()):bulmaJS.alert({title:"Error Adding "+exports.aliases.lot+" Type",message:e.errorMessage||"",contextualColorName:"danger"})})};cityssm.openHtmlModal("adminLotTypes-addLotType",{onshow(t){e.populateAliases(t)},onshown(e,o){t=o,e.querySelector("#lotTypeAdd--lotType").focus(),e.querySelector("form").addEventListener("submit",l),bulmaJS.toggleHtmlClipped()},onremoved(){bulmaJS.toggleHtmlClipped()}})}),v()})(); |