refactoring

deepsource-autofix-76c6eb20
Dan Gowans 2022-12-30 11:31:26 -05:00
parent 9c93315894
commit fc64720dcc
3 changed files with 178 additions and 177 deletions

View File

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

View File

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

File diff suppressed because one or more lines are too long