diff --git a/public-typescript/adminLotTypes.js b/public-typescript/adminLotTypes.js index bd0032cf..22cb96cc 100644 --- a/public-typescript/adminLotTypes.js +++ b/public-typescript/adminLotTypes.js @@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); let lotTypes = exports.lotTypes; delete exports.lotTypes; const expandedLotTypes = new Set(); - const toggleLotTypeFields = (clickEvent) => { + function toggleLotTypeFields(clickEvent) { const toggleButtonElement = clickEvent.currentTarget; const lotTypeElement = toggleButtonElement.closest(".container--lotType"); const lotTypeId = Number.parseInt(lotTypeElement.dataset.lotTypeId, 10); @@ -24,40 +24,38 @@ Object.defineProperty(exports, "__esModule", { value: true }); for (const panelBlockElement of panelBlockElements) { panelBlockElement.classList.toggle("is-hidden"); } - }; - const lotTypeResponseHandler = (responseJSON) => { + } + function lotTypeResponseHandler(responseJSON) { if (responseJSON.success) { lotTypes = responseJSON.lotTypes; renderLotTypes(); } else { bulmaJS.alert({ - title: "Error Updating " + exports.aliases.lot + " Type", + title: `Error Updating ${exports.aliases.lot} Type`, message: responseJSON.errorMessage || "", contextualColorName: "danger" }); } - }; - const deleteLotType = (clickEvent) => { + } + function deleteLotType(clickEvent) { const lotTypeId = Number.parseInt(clickEvent.currentTarget.closest(".container--lotType").dataset.lotTypeId, 10); - const doDelete = () => { + function doDelete() { cityssm.postJSON(los.urlPrefix + "/admin/doDeleteLotType", { lotTypeId }, lotTypeResponseHandler); - }; + } bulmaJS.confirm({ - title: "Delete " + exports.aliases.lot + " Type", - message: "Are you sure you want to delete this " + - exports.aliases.lot.toLowerCase() + - " type?", + 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", + text: `Yes, Delete ${exports.aliases.lot} Type`, callbackFunction: doDelete } }); - }; - const openEditLotType = (clickEvent) => { + } + function openEditLotType(clickEvent) { const lotTypeId = Number.parseInt(clickEvent.currentTarget.closest(".container--lotType").dataset.lotTypeId, 10); const lotType = lotTypes.find((currentLotType) => { return lotTypeId === currentLotType.lotTypeId; @@ -73,25 +71,25 @@ Object.defineProperty(exports, "__esModule", { value: true }); }); }; cityssm.openHtmlModal("adminLotTypes-editLotType", { - onshow: (modalElement) => { + onshow(modalElement) { los.populateAliases(modalElement); modalElement.querySelector("#lotTypeEdit--lotTypeId").value = lotTypeId.toString(); modalElement.querySelector("#lotTypeEdit--lotType").value = lotType.lotType; }, - onshown: (modalElement, closeModalFunction) => { + onshown(modalElement, closeModalFunction) { editCloseModalFunction = closeModalFunction; modalElement.querySelector("#lotTypeEdit--lotType").focus(); modalElement.querySelector("form").addEventListener("submit", doEdit); bulmaJS.toggleHtmlClipped(); }, - onremoved: () => { + onremoved() { bulmaJS.toggleHtmlClipped(); } }); - }; - const openAddLotTypeField = (clickEvent) => { + } + function openAddLotTypeField(clickEvent) { const lotTypeId = Number.parseInt(clickEvent.currentTarget.closest(".container--lotType").dataset.lotTypeId, 10); let addCloseModalFunction; const doAdd = (submitEvent) => { @@ -106,40 +104,40 @@ Object.defineProperty(exports, "__esModule", { value: true }); }); }; cityssm.openHtmlModal("adminLotTypes-addLotTypeField", { - onshow: (modalElement) => { + onshow(modalElement) { los.populateAliases(modalElement); if (lotTypeId) { modalElement.querySelector("#lotTypeFieldAdd--lotTypeId").value = lotTypeId.toString(); } }, - onshown: (modalElement, closeModalFunction) => { + onshown(modalElement, closeModalFunction) { addCloseModalFunction = closeModalFunction; modalElement.querySelector("#lotTypeFieldAdd--lotTypeField").focus(); modalElement.querySelector("form").addEventListener("submit", doAdd); bulmaJS.toggleHtmlClipped(); }, - onremoved: () => { + onremoved() { bulmaJS.toggleHtmlClipped(); } }); - }; - const moveLotTypeUp = (clickEvent) => { + } + function moveLotTypeUp(clickEvent) { clickEvent.preventDefault(); const lotTypeId = clickEvent.currentTarget.closest(".container--lotType").dataset.lotTypeId; cityssm.postJSON(los.urlPrefix + "/admin/doMoveLotTypeUp", { lotTypeId, moveToTop: clickEvent.shiftKey ? "1" : "0" }, lotTypeResponseHandler); - }; - const moveLotTypeDown = (clickEvent) => { + } + function moveLotTypeDown(clickEvent) { clickEvent.preventDefault(); const lotTypeId = clickEvent.currentTarget.closest(".container--lotType").dataset.lotTypeId; cityssm.postJSON(los.urlPrefix + "/admin/doMoveLotTypeDown", { lotTypeId, moveToBottom: clickEvent.shiftKey ? "1" : "0" }, lotTypeResponseHandler); - }; - const openEditLotTypeField = (lotTypeId, lotTypeFieldId) => { + } + function openEditLotTypeField(lotTypeId, lotTypeFieldId) { const lotType = lotTypes.find((currentLotType) => { return currentLotType.lotTypeId === lotTypeId; }); @@ -151,10 +149,10 @@ Object.defineProperty(exports, "__esModule", { value: true }); let patternElement; let lotTypeFieldValuesElement; let editCloseModalFunction; - const updateMaximumLengthMin = () => { + function updateMaximumLengthMin() { maximumLengthElement.min = minimumLengthElement.value; - }; - const toggleInputFields = () => { + } + function toggleInputFields() { if (lotTypeFieldValuesElement.value === "") { minimumLengthElement.disabled = false; maximumLengthElement.disabled = false; @@ -165,8 +163,8 @@ Object.defineProperty(exports, "__esModule", { value: true }); maximumLengthElement.disabled = true; patternElement.disabled = true; } - }; - const doUpdate = (submitEvent) => { + } + function doUpdate(submitEvent) { submitEvent.preventDefault(); cityssm.postJSON(los.urlPrefix + "/admin/doUpdateLotTypeField", submitEvent.currentTarget, (responseJSON) => { lotTypeResponseHandler(responseJSON); @@ -174,30 +172,30 @@ Object.defineProperty(exports, "__esModule", { value: true }); editCloseModalFunction(); } }); - }; - const doDelete = () => { - const _doDelete = () => { - cityssm.postJSON(los.urlPrefix + "/admin/doDeleteLotTypeField", { - lotTypeFieldId - }, (responseJSON) => { - lotTypeResponseHandler(responseJSON); - if (responseJSON.success) { - editCloseModalFunction(); - } - }); - }; + } + function doDelete() { + cityssm.postJSON(los.urlPrefix + "/admin/doDeleteLotTypeField", { + lotTypeFieldId + }, (responseJSON) => { + lotTypeResponseHandler(responseJSON); + if (responseJSON.success) { + editCloseModalFunction(); + } + }); + } + function confirmDoDelete() { 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: _doDelete + callbackFunction: doDelete } }); - }; + } cityssm.openHtmlModal("adminLotTypes-editLotTypeField", { - onshow: (modalElement) => { + onshow(modalElement) { los.populateAliases(modalElement); modalElement.querySelector("#lotTypeFieldEdit--lotTypeFieldId").value = lotTypeField.lotTypeFieldId.toString(); modalElement.querySelector("#lotTypeFieldEdit--lotTypeField").value = lotTypeField.lotTypeField; @@ -212,7 +210,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); lotTypeFieldValuesElement.value = lotTypeField.lotTypeFieldValues; toggleInputFields(); }, - onshown: (modalElement, closeModalFunction) => { + onshown(modalElement, closeModalFunction) { editCloseModalFunction = closeModalFunction; bulmaJS.init(modalElement); bulmaJS.toggleHtmlClipped(); @@ -221,37 +219,39 @@ Object.defineProperty(exports, "__esModule", { value: true }); minimumLengthElement.addEventListener("keyup", updateMaximumLengthMin); updateMaximumLengthMin(); lotTypeFieldValuesElement.addEventListener("keyup", toggleInputFields); - modalElement.querySelector("#button--deleteLotTypeField").addEventListener("click", doDelete); + modalElement + .querySelector("#button--deleteLotTypeField") + .addEventListener("click", confirmDoDelete); }, - onremoved: () => { + onremoved() { bulmaJS.toggleHtmlClipped(); cityssm.disableNavBlocker(); } }); - }; - const openEditLotTypeFieldByClick = (clickEvent) => { + } + function openEditLotTypeFieldByClick(clickEvent) { clickEvent.preventDefault(); const lotTypeFieldId = Number.parseInt(clickEvent.currentTarget.closest(".container--lotTypeField").dataset.lotTypeFieldId, 10); const lotTypeId = Number.parseInt(clickEvent.currentTarget.closest(".container--lotType").dataset.lotTypeId, 10); openEditLotTypeField(lotTypeId, lotTypeFieldId); - }; - const moveLotTypeFieldUp = (clickEvent) => { + } + function moveLotTypeFieldUp(clickEvent) { clickEvent.preventDefault(); const lotTypeFieldId = clickEvent.currentTarget.closest(".container--lotTypeField").dataset.lotTypeFieldId; cityssm.postJSON(los.urlPrefix + "/admin/doMoveLotTypeFieldUp", { lotTypeFieldId, moveToTop: clickEvent.shiftKey ? "1" : "0" }, lotTypeResponseHandler); - }; - const moveLotTypeFieldDown = (clickEvent) => { + } + function moveLotTypeFieldDown(clickEvent) { clickEvent.preventDefault(); const lotTypeFieldId = clickEvent.currentTarget.closest(".container--lotTypeField").dataset.lotTypeFieldId; cityssm.postJSON(los.urlPrefix + "/admin/doMoveLotTypeFieldDown", { lotTypeFieldId, moveToBottom: clickEvent.shiftKey ? "1" : "0" }, lotTypeResponseHandler); - }; - const renderLotTypeFields = (panelElement, lotTypeId, lotTypeFields) => { + } + function renderLotTypeFields(panelElement, lotTypeId, lotTypeFields) { if (lotTypeFields.length === 0) { panelElement.insertAdjacentHTML("beforeend", '
") + "
" + ""; - panelBlockElement.querySelector(".button--editLotTypeField").addEventListener("click", openEditLotTypeFieldByClick); + panelBlockElement + .querySelector(".button--editLotTypeField") + .addEventListener("click", openEditLotTypeFieldByClick); panelBlockElement.querySelector(".button--moveLotTypeFieldUp").addEventListener("click", moveLotTypeFieldUp); panelBlockElement.querySelector(".button--moveLotTypeFieldDown").addEventListener("click", moveLotTypeFieldDown); panelElement.append(panelBlockElement); } } - }; - const renderLotTypes = () => { + } + function renderLotTypes() { containerElement.innerHTML = ""; if (lotTypes.length === 0) { - containerElement.insertAdjacentHTML("afterbegin", '
There are no active ' + - exports.aliases.lot.toLowerCase() + - " types.

" + - "
"); + containerElement.insertAdjacentHTML("afterbegin", `
There are no active ${exports.aliases.lot.toLowerCase()} types.

+
`); return; } for (const lotType of lotTypes) { @@ -372,15 +372,23 @@ Object.defineProperty(exports, "__esModule", { value: true }); "" + ""; renderLotTypeFields(lotTypeContainer, lotType.lotTypeId, lotType.lotTypeFields); - lotTypeContainer.querySelector(".button--toggleLotTypeFields").addEventListener("click", toggleLotTypeFields); - lotTypeContainer.querySelector(".button--deleteLotType").addEventListener("click", deleteLotType); - lotTypeContainer.querySelector(".button--editLotType").addEventListener("click", openEditLotType); - lotTypeContainer.querySelector(".button--addLotTypeField").addEventListener("click", openAddLotTypeField); + lotTypeContainer + .querySelector(".button--toggleLotTypeFields") + .addEventListener("click", toggleLotTypeFields); + lotTypeContainer + .querySelector(".button--deleteLotType") + .addEventListener("click", deleteLotType); + lotTypeContainer + .querySelector(".button--editLotType") + .addEventListener("click", openEditLotType); + lotTypeContainer + .querySelector(".button--addLotTypeField") + .addEventListener("click", openAddLotTypeField); lotTypeContainer.querySelector(".button--moveLotTypeUp").addEventListener("click", moveLotTypeUp); lotTypeContainer.querySelector(".button--moveLotTypeDown").addEventListener("click", moveLotTypeDown); containerElement.append(lotTypeContainer); } - }; + } document.querySelector("#button--addLotType").addEventListener("click", () => { let addCloseModalFunction; const doAdd = (submitEvent) => { @@ -401,16 +409,16 @@ Object.defineProperty(exports, "__esModule", { value: true }); }); }; cityssm.openHtmlModal("adminLotTypes-addLotType", { - onshow: (modalElement) => { + onshow(modalElement) { los.populateAliases(modalElement); }, - onshown: (modalElement, closeModalFunction) => { + onshown(modalElement, closeModalFunction) { addCloseModalFunction = closeModalFunction; modalElement.querySelector("#lotTypeAdd--lotType").focus(); modalElement.querySelector("form").addEventListener("submit", doAdd); bulmaJS.toggleHtmlClipped(); }, - onremoved: () => { + onremoved() { bulmaJS.toggleHtmlClipped(); } }); diff --git a/public-typescript/adminLotTypes.ts b/public-typescript/adminLotTypes.ts index bfad4d40..b0693554 100644 --- a/public-typescript/adminLotTypes.ts +++ b/public-typescript/adminLotTypes.ts @@ -20,7 +20,7 @@ declare const bulmaJS: BulmaJS; const expandedLotTypes = new Set(); - const toggleLotTypeFields = (clickEvent: Event) => { + function toggleLotTypeFields(clickEvent: Event) { const toggleButtonElement = clickEvent.currentTarget as HTMLButtonElement; const lotTypeElement = toggleButtonElement.closest(".container--lotType") as HTMLElement; @@ -42,26 +42,26 @@ declare const bulmaJS: BulmaJS; for (const panelBlockElement of panelBlockElements) { panelBlockElement.classList.toggle("is-hidden"); } - }; + } - const lotTypeResponseHandler = (responseJSON: { + function lotTypeResponseHandler(responseJSON: { success: boolean; errorMessage?: string; lotTypes?: recordTypes.LotType[]; - }) => { + }) { if (responseJSON.success) { lotTypes = responseJSON.lotTypes!; renderLotTypes(); } else { bulmaJS.alert({ - title: "Error Updating " + exports.aliases.lot + " Type", + title: `Error Updating ${exports.aliases.lot} Type`, message: responseJSON.errorMessage || "", contextualColorName: "danger" }); } - }; + } - const deleteLotType = (clickEvent: Event) => { + function deleteLotType(clickEvent: Event) { const lotTypeId = Number.parseInt( ( (clickEvent.currentTarget as HTMLElement).closest( @@ -71,7 +71,7 @@ declare const bulmaJS: BulmaJS; 10 ); - const doDelete = () => { + function doDelete() { cityssm.postJSON( los.urlPrefix + "/admin/doDeleteLotType", { @@ -79,23 +79,20 @@ declare const bulmaJS: BulmaJS; }, lotTypeResponseHandler ); - }; + } bulmaJS.confirm({ - title: "Delete " + exports.aliases.lot + " Type", - message: - "Are you sure you want to delete this " + - exports.aliases.lot.toLowerCase() + - " type?", + 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", + text: `Yes, Delete ${exports.aliases.lot} Type`, callbackFunction: doDelete } }); - }; + } - const openEditLotType = (clickEvent: Event) => { + function openEditLotType(clickEvent: Event) { const lotTypeId = Number.parseInt( ( (clickEvent.currentTarget as HTMLElement).closest( @@ -131,7 +128,7 @@ declare const bulmaJS: BulmaJS; }; cityssm.openHtmlModal("adminLotTypes-editLotType", { - onshow: (modalElement) => { + onshow(modalElement) { los.populateAliases(modalElement); (modalElement.querySelector("#lotTypeEdit--lotTypeId") as HTMLInputElement).value = @@ -140,7 +137,7 @@ declare const bulmaJS: BulmaJS; (modalElement.querySelector("#lotTypeEdit--lotType") as HTMLInputElement).value = lotType.lotType; }, - onshown: (modalElement, closeModalFunction) => { + onshown(modalElement, closeModalFunction) { editCloseModalFunction = closeModalFunction; (modalElement.querySelector("#lotTypeEdit--lotType") as HTMLInputElement).focus(); @@ -149,13 +146,13 @@ declare const bulmaJS: BulmaJS; bulmaJS.toggleHtmlClipped(); }, - onremoved: () => { + onremoved() { bulmaJS.toggleHtmlClipped(); } }); - }; + } - const openAddLotTypeField = (clickEvent: Event) => { + function openAddLotTypeField(clickEvent: Event) { const lotTypeId = Number.parseInt( ( (clickEvent.currentTarget as HTMLElement).closest( @@ -191,7 +188,7 @@ declare const bulmaJS: BulmaJS; }; cityssm.openHtmlModal("adminLotTypes-addLotTypeField", { - onshow: (modalElement) => { + onshow(modalElement) { los.populateAliases(modalElement); if (lotTypeId) { @@ -202,7 +199,7 @@ declare const bulmaJS: BulmaJS; ).value = lotTypeId.toString(); } }, - onshown: (modalElement, closeModalFunction) => { + onshown(modalElement, closeModalFunction) { addCloseModalFunction = closeModalFunction; ( @@ -213,13 +210,13 @@ declare const bulmaJS: BulmaJS; bulmaJS.toggleHtmlClipped(); }, - onremoved: () => { + onremoved() { bulmaJS.toggleHtmlClipped(); } }); - }; + } - const moveLotTypeUp = (clickEvent: MouseEvent) => { + function moveLotTypeUp(clickEvent: MouseEvent) { clickEvent.preventDefault(); const lotTypeId = ( @@ -234,9 +231,9 @@ declare const bulmaJS: BulmaJS; }, lotTypeResponseHandler ); - }; + } - const moveLotTypeDown = (clickEvent: MouseEvent) => { + function moveLotTypeDown(clickEvent: MouseEvent) { clickEvent.preventDefault(); const lotTypeId = ( @@ -251,9 +248,9 @@ declare const bulmaJS: BulmaJS; }, lotTypeResponseHandler ); - }; + } - const openEditLotTypeField = (lotTypeId: number, lotTypeFieldId: number) => { + function openEditLotTypeField(lotTypeId: number, lotTypeFieldId: number) { const lotType = lotTypes.find((currentLotType) => { return currentLotType.lotTypeId === lotTypeId; })!; @@ -269,11 +266,11 @@ declare const bulmaJS: BulmaJS; let editCloseModalFunction: () => void; - const updateMaximumLengthMin = () => { + function updateMaximumLengthMin() { maximumLengthElement.min = minimumLengthElement.value; - }; + } - const toggleInputFields = () => { + function toggleInputFields() { if (lotTypeFieldValuesElement.value === "") { minimumLengthElement.disabled = false; maximumLengthElement.disabled = false; @@ -283,9 +280,9 @@ declare const bulmaJS: BulmaJS; maximumLengthElement.disabled = true; patternElement.disabled = true; } - }; + } - const doUpdate = (submitEvent: SubmitEvent) => { + function doUpdate(submitEvent: SubmitEvent) { submitEvent.preventDefault(); cityssm.postJSON( @@ -302,28 +299,28 @@ declare const bulmaJS: BulmaJS; } } ); - }; + } - const doDelete = () => { - const _doDelete = () => { - cityssm.postJSON( - los.urlPrefix + "/admin/doDeleteLotTypeField", - { - lotTypeFieldId - }, - (responseJSON: { - success: boolean; - errorMessage?: string; - lotTypes?: recordTypes.LotType[]; - }) => { - lotTypeResponseHandler(responseJSON); - if (responseJSON.success) { - editCloseModalFunction(); - } + function doDelete() { + cityssm.postJSON( + los.urlPrefix + "/admin/doDeleteLotTypeField", + { + lotTypeFieldId + }, + (responseJSON: { + success: boolean; + errorMessage?: string; + lotTypes?: recordTypes.LotType[]; + }) => { + lotTypeResponseHandler(responseJSON); + if (responseJSON.success) { + editCloseModalFunction(); } - ); - }; + } + ); + } + function confirmDoDelete() { bulmaJS.confirm({ title: "Delete Field", message: @@ -331,13 +328,13 @@ declare const bulmaJS: BulmaJS; contextualColorName: "warning", okButton: { text: "Yes, Delete Field", - callbackFunction: _doDelete + callbackFunction: doDelete } }); - }; + } cityssm.openHtmlModal("adminLotTypes-editLotTypeField", { - onshow: (modalElement) => { + onshow(modalElement) { los.populateAliases(modalElement); ( @@ -382,7 +379,7 @@ declare const bulmaJS: BulmaJS; toggleInputFields(); }, - onshown: (modalElement, closeModalFunction) => { + onshown(modalElement, closeModalFunction) { editCloseModalFunction = closeModalFunction; bulmaJS.init(modalElement); @@ -396,18 +393,18 @@ declare const bulmaJS: BulmaJS; lotTypeFieldValuesElement.addEventListener("keyup", toggleInputFields); - ( - modalElement.querySelector("#button--deleteLotTypeField") as HTMLButtonElement - ).addEventListener("click", doDelete); + modalElement + .querySelector("#button--deleteLotTypeField")! + .addEventListener("click", confirmDoDelete); }, - onremoved: () => { + onremoved() { bulmaJS.toggleHtmlClipped(); cityssm.disableNavBlocker(); } }); - }; + } - const openEditLotTypeFieldByClick = (clickEvent: Event) => { + function openEditLotTypeFieldByClick(clickEvent: Event) { clickEvent.preventDefault(); const lotTypeFieldId = Number.parseInt( @@ -429,9 +426,9 @@ declare const bulmaJS: BulmaJS; ); openEditLotTypeField(lotTypeId, lotTypeFieldId); - }; + } - const moveLotTypeFieldUp = (clickEvent: MouseEvent) => { + function moveLotTypeFieldUp(clickEvent: MouseEvent) { clickEvent.preventDefault(); const lotTypeFieldId = ( @@ -448,9 +445,9 @@ declare const bulmaJS: BulmaJS; }, lotTypeResponseHandler ); - }; + } - const moveLotTypeFieldDown = (clickEvent: MouseEvent) => { + function moveLotTypeFieldDown(clickEvent: MouseEvent) { clickEvent.preventDefault(); const lotTypeFieldId = ( @@ -467,13 +464,13 @@ declare const bulmaJS: BulmaJS; }, lotTypeResponseHandler ); - }; + } - const renderLotTypeFields = ( + function renderLotTypeFields( panelElement: HTMLElement, lotTypeId: number, lotTypeFields: recordTypes.LotTypeField[] - ) => { + ) { if (lotTypeFields.length === 0) { panelElement.insertAdjacentHTML( "beforeend", @@ -523,11 +520,9 @@ declare const bulmaJS: BulmaJS; "" + ""; - ( - panelBlockElement.querySelector( - ".button--editLotTypeField" - ) as HTMLButtonElement - ).addEventListener("click", openEditLotTypeFieldByClick); + panelBlockElement + .querySelector(".button--editLotTypeField")! + .addEventListener("click", openEditLotTypeFieldByClick); ( panelBlockElement.querySelector( @@ -544,19 +539,17 @@ declare const bulmaJS: BulmaJS; panelElement.append(panelBlockElement); } } - }; + } - const renderLotTypes = () => { + function renderLotTypes() { containerElement.innerHTML = ""; if (lotTypes.length === 0) { containerElement.insertAdjacentHTML( "afterbegin", - '
There are no active ' + - exports.aliases.lot.toLowerCase() + - " types.

" + - "
" + `
There are no active ${exports.aliases.lot.toLowerCase()} types.

+
` ); return; @@ -627,21 +620,21 @@ declare const bulmaJS: BulmaJS; renderLotTypeFields(lotTypeContainer, lotType.lotTypeId, lotType.lotTypeFields!); - ( - lotTypeContainer.querySelector(".button--toggleLotTypeFields") as HTMLButtonElement - ).addEventListener("click", toggleLotTypeFields); + lotTypeContainer + .querySelector(".button--toggleLotTypeFields")! + .addEventListener("click", toggleLotTypeFields); - ( - lotTypeContainer.querySelector(".button--deleteLotType") as HTMLButtonElement - ).addEventListener("click", deleteLotType); + lotTypeContainer + .querySelector(".button--deleteLotType")! + .addEventListener("click", deleteLotType); - ( - lotTypeContainer.querySelector(".button--editLotType") as HTMLButtonElement - ).addEventListener("click", openEditLotType); + lotTypeContainer + .querySelector(".button--editLotType")! + .addEventListener("click", openEditLotType); - ( - lotTypeContainer.querySelector(".button--addLotTypeField") as HTMLButtonElement - ).addEventListener("click", openAddLotTypeField); + lotTypeContainer + .querySelector(".button--addLotTypeField")! + .addEventListener("click", openAddLotTypeField); ( lotTypeContainer.querySelector(".button--moveLotTypeUp") as HTMLButtonElement @@ -653,7 +646,7 @@ declare const bulmaJS: BulmaJS; containerElement.append(lotTypeContainer); } - }; + } (document.querySelector("#button--addLotType") as HTMLButtonElement).addEventListener( "click", @@ -687,10 +680,10 @@ declare const bulmaJS: BulmaJS; }; cityssm.openHtmlModal("adminLotTypes-addLotType", { - onshow: (modalElement) => { + onshow(modalElement) { los.populateAliases(modalElement); }, - onshown: (modalElement, closeModalFunction) => { + onshown(modalElement, closeModalFunction) { addCloseModalFunction = closeModalFunction; ( @@ -701,7 +694,7 @@ declare const bulmaJS: BulmaJS; bulmaJS.toggleHtmlClipped(); }, - onremoved: () => { + onremoved() { bulmaJS.toggleHtmlClipped(); } }); diff --git a/public/javascripts/adminLotTypes.min.js b/public/javascripts/adminLotTypes.min.js index 0ee42900..3488af95 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,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")},i=e=>{e.success?(l=e.lotTypes,v()):bulmaJS.alert({title:"Error Updating "+exports.aliases.lot+" Type",message:e.errorMessage||"",contextualColorName:"danger"})},a=t=>{const l=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:()=>{cityssm.postJSON(e.urlPrefix+"/admin/doDeleteLotType",{lotTypeId:l},i)}}})},d=t=>{const o=Number.parseInt(t.currentTarget.closest(".container--lotType").dataset.lotTypeId,10),s=l.find(e=>o===e.lotTypeId);let a;const d=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=o.toString(),t.querySelector("#lotTypeEdit--lotType").value=s.lotType},onshown:(e,t)=>{a=t,e.querySelector("#lotTypeEdit--lotType").focus(),e.querySelector("form").addEventListener("submit",d),bulmaJS.toggleHtmlClipped()},onremoved:()=>{bulmaJS.toggleHtmlClipped()}})},n=t=>{const l=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=>{o.add(l),i(e),e.success&&(s(),c(l,e.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",a),bulmaJS.toggleHtmlClipped()},onremoved:()=>{bulmaJS.toggleHtmlClipped()}})},r=t=>{t.preventDefault();const l=t.currentTarget.closest(".container--lotType").dataset.lotTypeId;cityssm.postJSON(e.urlPrefix+"/admin/doMoveLotTypeUp",{lotTypeId:l,moveToTop:t.shiftKey?"1":"0"},i)},p=t=>{t.preventDefault();const l=t.currentTarget.closest(".container--lotType").dataset.lotTypeId;cityssm.postJSON(e.urlPrefix+"/admin/doMoveLotTypeDown",{lotTypeId:l,moveToBottom:t.shiftKey?"1":"0"},i)},c=(t,o)=>{const s=l.find(e=>e.lotTypeId===t).lotTypeFields.find(e=>e.lotTypeFieldId===o);let a,d,n,r,p;const c=()=>{d.min=a.value},u=()=>{""===r.value?(a.disabled=!1,d.disabled=!1,n.disabled=!1):(a.disabled=!0,d.disabled=!0,n.disabled=!0)},y=t=>{t.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doUpdateLotTypeField",t.currentTarget,e=>{i(e),e.success&&p()})},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:()=>{cityssm.postJSON(e.urlPrefix+"/admin/doDeleteLotTypeField",{lotTypeFieldId:o},e=>{i(e),e.success&&p()})}}})};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(),(d=t.querySelector("#lotTypeFieldEdit--maximumLength")).value=s.maximumLength.toString(),(n=t.querySelector("#lotTypeFieldEdit--pattern")).value=s.pattern,(r=t.querySelector("#lotTypeFieldEdit--lotTypeFieldValues")).value=s.lotTypeFieldValues,u()},onshown:(e,t)=>{p=t,bulmaJS.init(e),bulmaJS.toggleHtmlClipped(),cityssm.enableNavBlocker(),e.querySelector("form").addEventListener("submit",y),a.addEventListener("keyup",c),c(),r.addEventListener("keyup",u),e.querySelector("#button--deleteLotTypeField").addEventListener("click",m)},onremoved:()=>{bulmaJS.toggleHtmlClipped(),cityssm.disableNavBlocker()}})},u=e=>{e.preventDefault();const t=Number.parseInt(e.currentTarget.closest(".container--lotTypeField").dataset.lotTypeFieldId,10),l=Number.parseInt(e.currentTarget.closest(".container--lotType").dataset.lotTypeId,10);c(l,t)},y=t=>{t.preventDefault();const l=t.currentTarget.closest(".container--lotTypeField").dataset.lotTypeFieldId;cityssm.postJSON(e.urlPrefix+"/admin/doMoveLotTypeFieldUp",{lotTypeFieldId:l,moveToTop:t.shiftKey?"1":"0"},i)},m=t=>{t.preventDefault();const l=t.currentTarget.closest(".container--lotTypeField").dataset.lotTypeFieldId;cityssm.postJSON(e.urlPrefix+"/admin/doMoveLotTypeFieldDown",{lotTypeFieldId:l,moveToBottom:t.shiftKey?"1":"0"},i)},T=(e,t,l)=>{if(0===l.length)e.insertAdjacentHTML("beforeend",'

There are no additional fields.

');else for(const s of l){const l=document.createElement("div");l.className="panel-block is-block container--lotTypeField",o.has(t)||l.classList.add("is-hidden"),l.dataset.lotTypeFieldId=s.lotTypeFieldId.toString(),l.innerHTML='
',l.querySelector(".button--editLotTypeField").addEventListener("click",u),l.querySelector(".button--moveLotTypeFieldUp").addEventListener("click",y),l.querySelector(".button--moveLotTypeFieldDown").addEventListener("click",m),e.append(l)}},v=()=>{if(t.innerHTML="",0!==l.length)for(const e of l){const l=document.createElement("div");l.className="panel container--lotType",l.dataset.lotTypeId=e.lotTypeId.toString(),l.innerHTML='

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

',T(l,e.lotTypeId,e.lotTypeFields),l.querySelector(".button--toggleLotTypeFields").addEventListener("click",s),l.querySelector(".button--deleteLotType").addEventListener("click",a),l.querySelector(".button--editLotType").addEventListener("click",d),l.querySelector(".button--addLotTypeField").addEventListener("click",n),l.querySelector(".button--moveLotTypeUp").addEventListener("click",r),l.querySelector(".button--moveLotTypeDown").addEventListener("click",p),t.append(l)}else t.insertAdjacentHTML("afterbegin",'
There are no active '+exports.aliases.lot.toLowerCase()+" types.

")};document.querySelector("#button--addLotType").addEventListener("click",()=>{let t;const o=o=>{o.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doAddLotType",o.currentTarget,e=>{e.success?(t(),l=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,l)=>{t=l,e.querySelector("#lotTypeAdd--lotType").focus(),e.querySelector("form").addEventListener("submit",o),bulmaJS.toggleHtmlClipped()},onremoved:()=>{bulmaJS.toggleHtmlClipped()}})}),v()})(); \ No newline at end of file +"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)?'':'';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",'

There are no additional fields.

');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='
',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='

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

',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",`
There are no active ${exports.aliases.lot.toLowerCase()} types.

\n
`)}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()})(); \ No newline at end of file