`
renderLotTypeFields(
lotTypeContainer,
lotType.lotTypeId,
- lotType.lotTypeFields!
+ lotType.lotTypeFields ?? []
)
lotTypeContainer
- .querySelector('.button--toggleLotTypeFields')!
- .addEventListener('click', toggleLotTypeFields)
+ .querySelector('.button--toggleLotTypeFields')
+ ?.addEventListener('click', toggleLotTypeFields)
lotTypeContainer
- .querySelector('.button--deleteLotType')!
- .addEventListener('click', deleteLotType)
+ .querySelector('.button--deleteLotType')
+ ?.addEventListener('click', deleteLotType)
lotTypeContainer
- .querySelector('.button--editLotType')!
- .addEventListener('click', openEditLotType)
+ .querySelector('.button--editLotType')
+ ?.addEventListener('click', openEditLotType)
lotTypeContainer
- .querySelector('.button--addLotTypeField')!
- .addEventListener('click', openAddLotTypeField)
+ .querySelector('.button--addLotTypeField')
+ ?.addEventListener('click', openAddLotTypeField)
;(
lotTypeContainer.querySelector(
'.button--moveLotTypeUp'
@@ -620,22 +631,22 @@ type ResponseJSON =
}
document
- .querySelector('#button--addLotType')!
- .addEventListener('click', () => {
+ .querySelector('#button--addLotType')
+ ?.addEventListener('click', () => {
let addCloseModalFunction: () => void
function doAdd(submitEvent: SubmitEvent): void {
submitEvent.preventDefault()
cityssm.postJSON(
- los.urlPrefix + '/admin/doAddLotType',
+ `${los.urlPrefix}/admin/doAddLotType`,
submitEvent.currentTarget,
(rawResponseJSON) => {
const responseJSON = rawResponseJSON as ResponseJSON
if (responseJSON.success) {
addCloseModalFunction()
- lotTypes = responseJSON.lotTypes!
+ lotTypes = responseJSON.lotTypes
renderLotTypes()
} else {
bulmaJS.alert({
@@ -660,7 +671,7 @@ type ResponseJSON =
) as HTMLInputElement
).focus()
- modalElement.querySelector('form')!.addEventListener('submit', doAdd)
+ modalElement.querySelector('form')?.addEventListener('submit', doAdd)
bulmaJS.toggleHtmlClipped()
},
diff --git a/public/javascripts/adminLotTypes.min.js b/public/javascripts/adminLotTypes.min.js
index b6f85dcd..5a518474 100644
--- a/public/javascripts/adminLotTypes.min.js
+++ b/public/javascripts/adminLotTypes.min.js
@@ -1 +1 @@
-"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=exports.los,t=document.querySelector("#container--lotTypes");let l=exports.lotTypes;delete exports.lotTypes;const o=new Set;function s(e){const t=e.currentTarget,l=t.closest(".container--lotType"),s=Number.parseInt(l.dataset.lotTypeId,10);o.has(s)?o.delete(s):o.add(s),t.innerHTML=o.has(s)?'':'';const i=l.querySelectorAll(".panel-block");for(const e of i)e.classList.toggle("is-hidden")}function i(t){var o;t.success?(l=t.lotTypes,T()):bulmaJS.alert({title:`Error Updating ${e.escapedAliases.Lot} Type`,message:null!==(o=t.errorMessage)&&void 0!==o?o:"",contextualColorName:"danger"})}function d(t){const l=Number.parseInt(t.currentTarget.closest(".container--lotType").dataset.lotTypeId,10);bulmaJS.confirm({title:`Delete ${e.escapedAliases.Lot} Type`,message:`Are you sure you want to delete this ${e.escapedAliases.lot} type?`,contextualColorName:"warning",okButton:{text:`Yes, Delete ${e.escapedAliases.Lot} Type`,callbackFunction:function(){cityssm.postJSON(e.urlPrefix+"/admin/doDeleteLotType",{lotTypeId:l},i)}}})}function n(t){const o=Number.parseInt(t.currentTarget.closest(".container--lotType").dataset.lotTypeId,10),s=l.find(e=>o===e.lotTypeId);let d;function n(t){t.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doUpdateLotType",t.currentTarget,e=>{const t=e;i(t),t.success&&d()})}cityssm.openHtmlModal("adminLotTypes-editLotType",{onshow(t){e.populateAliases(t),t.querySelector("#lotTypeEdit--lotTypeId").value=o.toString(),t.querySelector("#lotTypeEdit--lotType").value=s.lotType},onshown(e,t){d=t,e.querySelector("#lotTypeEdit--lotType").focus(),e.querySelector("form").addEventListener("submit",n),bulmaJS.toggleHtmlClipped()},onremoved(){bulmaJS.toggleHtmlClipped()}})}function a(t){const l=Number.parseInt(t.currentTarget.closest(".container--lotType").dataset.lotTypeId,10);let s;function d(t){t.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doAddLotTypeField",t.currentTarget,e=>{const t=e;o.add(l),i(t),t.success&&(s(),c(l,t.lotTypeFieldId))})}cityssm.openHtmlModal("adminLotTypes-addLotTypeField",{onshow(t){e.populateAliases(t),l&&(t.querySelector("#lotTypeFieldAdd--lotTypeId").value=l.toString())},onshown(e,t){s=t,e.querySelector("#lotTypeFieldAdd--lotTypeField").focus(),e.querySelector("form").addEventListener("submit",d),bulmaJS.toggleHtmlClipped()},onremoved(){bulmaJS.toggleHtmlClipped()}})}function r(t){const l=t.currentTarget,o=l.closest(".container--lotType").dataset.lotTypeId;cityssm.postJSON(e.urlPrefix+"/admin/"+("up"===l.dataset.direction?"doMoveLotTypeUp":"doMoveLotTypeDown"),{lotTypeId:o,moveToEnd:t.shiftKey?"1":"0"},i)}function c(t,o){const s=l.find(e=>e.lotTypeId===t).lotTypeFields.find(e=>e.lotTypeFieldId===o);let d,n,a,r,c;function p(){n.min=d.value}function u(){""===r.value?(d.disabled=!1,n.disabled=!1,a.disabled=!1):(d.disabled=!0,n.disabled=!0,a.disabled=!0)}function y(t){t.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doUpdateLotTypeField",t.currentTarget,e=>{const t=e;i(t),t.success&&c()})}function T(){cityssm.postJSON(e.urlPrefix+"/admin/doDeleteLotTypeField",{lotTypeFieldId:o},e=>{const t=e;i(t),t.success&&c()})}function m(){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:T}})}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",(d=t.querySelector("#lotTypeFieldEdit--minimumLength")).value=s.minimumLength.toString(),(n=t.querySelector("#lotTypeFieldEdit--maximumLength")).value=s.maximumLength.toString(),(a=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),d.addEventListener("keyup",p),p(),r.addEventListener("keyup",u),e.querySelector("#button--deleteLotTypeField").addEventListener("click",m)},onremoved(){bulmaJS.toggleHtmlClipped(),cityssm.disableNavBlocker()}})}function p(e){e.preventDefault();const t=Number.parseInt(e.currentTarget.closest(".container--lotTypeField").dataset.lotTypeFieldId,10);c(Number.parseInt(e.currentTarget.closest(".container--lotType").dataset.lotTypeId,10),t)}function u(t){const l=t.currentTarget,o=l.closest(".container--lotTypeField").dataset.lotTypeFieldId;cityssm.postJSON(e.urlPrefix+"/admin/"+("up"===l.dataset.direction?"doMoveLotTypeFieldUp":"doMoveLotTypeFieldDown"),{lotTypeFieldId:o,moveToEnd:t.shiftKey?"1":"0"},i)}function y(t,l,s){var i;if(0===s.length)t.insertAdjacentHTML("beforeend",'
There are no additional fields.
');else for(const d of s){const s=document.createElement("div");s.className="panel-block is-block container--lotTypeField",o.has(l)||s.classList.add("is-hidden"),s.dataset.lotTypeFieldId=d.lotTypeFieldId.toString(),s.innerHTML='
",s.querySelector(".button--editLotTypeField").addEventListener("click",p),s.querySelector(".button--moveLotTypeFieldUp").addEventListener("click",u),s.querySelector(".button--moveLotTypeFieldDown").addEventListener("click",u),t.append(s)}}function T(){if(t.innerHTML="",0!==l.length)for(const i of l){const l=document.createElement("div");l.className="panel container--lotType",l.dataset.lotTypeId=i.lotTypeId.toString(),l.innerHTML='
There are no active ${e.escapedAliases.lot} types.\n
`)}document.querySelector("#button--addLotType").addEventListener("click",()=>{let t;function o(o){o.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doAddLotType",o.currentTarget,o=>{var s;const i=o;i.success?(t(),l=i.lotTypes,T()):bulmaJS.alert({title:`Error Adding ${e.escapedAliases.Lot} Type`,message:null!==(s=i.errorMessage)&&void 0!==s?s:"",contextualColorName:"danger"})})}cityssm.openHtmlModal("adminLotTypes-addLotType",{onshow(t){e.populateAliases(t)},onshown(e,l){t=l,e.querySelector("#lotTypeAdd--lotType").focus(),e.querySelector("form").addEventListener("submit",o),bulmaJS.toggleHtmlClipped()},onremoved(){bulmaJS.toggleHtmlClipped()}})}),T()})();
\ No newline at end of file
+"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{var e;const t=exports.los,l=document.querySelector("#container--lotTypes");let o=exports.lotTypes;delete exports.lotTypes;const n=new Set;function i(e){var t;const l=e.currentTarget,o=l.closest(".container--lotType"),i=Number.parseInt(null!==(t=o.dataset.lotTypeId)&&void 0!==t?t:"",10);n.has(i)?n.delete(i):n.add(i),l.innerHTML=n.has(i)?'':'';const s=o.querySelectorAll(".panel-block");for(const e of s)e.classList.toggle("is-hidden")}function s(e){var l;const n=e;n.success?(o=n.lotTypes,T()):bulmaJS.alert({title:`Error Updating ${t.escapedAliases.Lot} Type`,message:null!==(l=n.errorMessage)&&void 0!==l?l:"",contextualColorName:"danger"})}function d(e){var l;const o=Number.parseInt(null!==(l=e.currentTarget.closest(".container--lotType").dataset.lotTypeId)&&void 0!==l?l:"",10);bulmaJS.confirm({title:`Delete ${t.escapedAliases.Lot} Type`,message:`Are you sure you want to delete this ${t.escapedAliases.lot} type?`,contextualColorName:"warning",okButton:{text:`Yes, Delete ${t.escapedAliases.Lot} Type`,callbackFunction:function(){cityssm.postJSON(`${t.urlPrefix}/admin/doDeleteLotType`,{lotTypeId:o},s)}}})}function a(e){var l;const n=Number.parseInt(null!==(l=e.currentTarget.closest(".container--lotType").dataset.lotTypeId)&&void 0!==l?l:"",10),i=o.find(e=>n===e.lotTypeId);let d;function a(e){e.preventDefault(),cityssm.postJSON(`${t.urlPrefix}/admin/doUpdateLotType`,e.currentTarget,e=>{const t=e;s(t),t.success&&d()})}cityssm.openHtmlModal("adminLotTypes-editLotType",{onshow(e){t.populateAliases(e),e.querySelector("#lotTypeEdit--lotTypeId").value=n.toString(),e.querySelector("#lotTypeEdit--lotType").value=i.lotType},onshown(e,t){var l;d=t,e.querySelector("#lotTypeEdit--lotType").focus(),null===(l=e.querySelector("form"))||void 0===l||l.addEventListener("submit",a),bulmaJS.toggleHtmlClipped()},onremoved(){bulmaJS.toggleHtmlClipped()}})}function r(e){var l;const o=Number.parseInt(null!==(l=e.currentTarget.closest(".container--lotType").dataset.lotTypeId)&&void 0!==l?l:"",10);let i;function d(e){e.preventDefault(),cityssm.postJSON(`${t.urlPrefix}/admin/doAddLotTypeField`,e.currentTarget,e=>{const t=e;n.add(o),s(t),t.success&&(i(),u(o,t.lotTypeFieldId))})}cityssm.openHtmlModal("adminLotTypes-addLotTypeField",{onshow(e){t.populateAliases(e),o&&(e.querySelector("#lotTypeFieldAdd--lotTypeId").value=o.toString())},onshown(e,t){var l;i=t,e.querySelector("#lotTypeFieldAdd--lotTypeField").focus(),null===(l=e.querySelector("form"))||void 0===l||l.addEventListener("submit",d),bulmaJS.toggleHtmlClipped()},onremoved(){bulmaJS.toggleHtmlClipped()}})}function c(e){const l=e.currentTarget,o=l.closest(".container--lotType").dataset.lotTypeId;cityssm.postJSON(t.urlPrefix+"/admin/"+("up"===l.dataset.direction?"doMoveLotTypeUp":"doMoveLotTypeDown"),{lotTypeId:o,moveToEnd:e.shiftKey?"1":"0"},s)}function u(e,l){var n;const i=(null!==(n=o.find(t=>t.lotTypeId===e).lotTypeFields)&&void 0!==n?n:[]).find(e=>e.lotTypeFieldId===l);let d,a,r,c,u;function p(){a.min=d.value}function y(){""===c.value?(d.disabled=!1,a.disabled=!1,r.disabled=!1):(d.disabled=!0,a.disabled=!0,r.disabled=!0)}function v(e){e.preventDefault(),cityssm.postJSON(`${t.urlPrefix}/admin/doUpdateLotTypeField`,e.currentTarget,e=>{const t=e;s(t),t.success&&u()})}function T(){cityssm.postJSON(`${t.urlPrefix}/admin/doDeleteLotTypeField`,{lotTypeFieldId:l},e=>{const t=e;s(t),t.success&&u()})}function m(){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:T}})}cityssm.openHtmlModal("adminLotTypes-editLotTypeField",{onshow(e){var l,o,n,s,u,p,v;t.populateAliases(e),e.querySelector("#lotTypeFieldEdit--lotTypeFieldId").value=i.lotTypeFieldId.toString(),e.querySelector("#lotTypeFieldEdit--lotTypeField").value=null!==(l=i.lotTypeField)&&void 0!==l?l:"",e.querySelector("#lotTypeFieldEdit--isRequired").value=i.isRequired?"1":"0",(d=e.querySelector("#lotTypeFieldEdit--minimumLength")).value=null!==(n=null===(o=i.minimumLength)||void 0===o?void 0:o.toString())&&void 0!==n?n:"",(a=e.querySelector("#lotTypeFieldEdit--maximumLength")).value=null!==(u=null===(s=i.maximumLength)||void 0===s?void 0:s.toString())&&void 0!==u?u:"",(r=e.querySelector("#lotTypeFieldEdit--pattern")).value=null!==(p=i.pattern)&&void 0!==p?p:"",(c=e.querySelector("#lotTypeFieldEdit--lotTypeFieldValues")).value=null!==(v=i.lotTypeFieldValues)&&void 0!==v?v:"",y()},onshown(e,t){var l,o;u=t,bulmaJS.init(e),bulmaJS.toggleHtmlClipped(),cityssm.enableNavBlocker(),null===(l=e.querySelector("form"))||void 0===l||l.addEventListener("submit",v),d.addEventListener("keyup",p),p(),c.addEventListener("keyup",y),null===(o=e.querySelector("#button--deleteLotTypeField"))||void 0===o||o.addEventListener("click",m)},onremoved(){bulmaJS.toggleHtmlClipped(),cityssm.disableNavBlocker()}})}function p(e){var t,l;e.preventDefault();const o=Number.parseInt(null!==(t=e.currentTarget.closest(".container--lotTypeField").dataset.lotTypeFieldId)&&void 0!==t?t:"",10);u(Number.parseInt(null!==(l=e.currentTarget.closest(".container--lotType").dataset.lotTypeId)&&void 0!==l?l:"",10),o)}function y(e){const l=e.currentTarget,o=l.closest(".container--lotTypeField").dataset.lotTypeFieldId;cityssm.postJSON(t.urlPrefix+"/admin/"+("up"===l.dataset.direction?"doMoveLotTypeFieldUp":"doMoveLotTypeFieldDown"),{lotTypeFieldId:o,moveToEnd:e.shiftKey?"1":"0"},s)}function v(e,l,o){var i,s;if(0===o.length)e.insertAdjacentHTML("beforeend",`
\n
There are no additional fields.
\n
`);else for(const d of o){const o=document.createElement("div");o.className="panel-block is-block container--lotTypeField",n.has(l)||o.classList.add("is-hidden"),o.dataset.lotTypeFieldId=d.lotTypeFieldId.toString(),o.innerHTML=`
`,null===(s=o.querySelector(".button--editLotTypeField"))||void 0===s||s.addEventListener("click",p),o.querySelector(".button--moveLotTypeFieldUp").addEventListener("click",y),o.querySelector(".button--moveLotTypeFieldDown").addEventListener("click",y),e.append(o)}}function T(){var e,s,u,p,y;if(l.innerHTML="",0!==o.length)for(const T of o){const o=document.createElement("div");o.className="panel container--lotType",o.dataset.lotTypeId=T.lotTypeId.toString(),o.innerHTML=`
There are no active ${t.escapedAliases.lot} types.\n
`)}null===(e=document.querySelector("#button--addLotType"))||void 0===e||e.addEventListener("click",()=>{let e;function l(l){l.preventDefault(),cityssm.postJSON(`${t.urlPrefix}/admin/doAddLotType`,l.currentTarget,l=>{var n;const i=l;i.success?(e(),o=i.lotTypes,T()):bulmaJS.alert({title:`Error Adding ${t.escapedAliases.Lot} Type`,message:null!==(n=i.errorMessage)&&void 0!==n?n:"",contextualColorName:"danger"})})}cityssm.openHtmlModal("adminLotTypes-addLotType",{onshow(e){t.populateAliases(e)},onshown(t,o){var n;e=o,t.querySelector("#lotTypeAdd--lotType").focus(),null===(n=t.querySelector("form"))||void 0===n||n.addEventListener("submit",l),bulmaJS.toggleHtmlClipped()},onremoved(){bulmaJS.toggleHtmlClipped()}})}),T()})();
\ No newline at end of file