"use strict"; /* eslint-disable @typescript-eslint/no-non-null-assertion, unicorn/prefer-module */ Object.defineProperty(exports, "__esModule", { value: true }); let lotOccupantTypes = exports.lotOccupantTypes; delete exports.lotOccupantTypes; const updateLotOccupantType = (submitEvent) => { submitEvent.preventDefault(); cityssm.postJSON(los.urlPrefix + "/admin/doUpdateLotOccupantType", submitEvent.currentTarget, (responseJSON) => { if (responseJSON.success) { lotOccupantTypes = responseJSON.lotOccupantTypes; bulmaJS.alert({ message: `${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type Updated Successfully`, contextualColorName: "success" }); } else { bulmaJS.alert({ title: `Error Updating ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`, message: responseJSON.errorMessage || "", contextualColorName: "danger" }); } }); }; const deleteLotOccupantType = (clickEvent) => { const tableRowElement = clickEvent.currentTarget.closest("tr"); const lotOccupantTypeId = tableRowElement.dataset.lotOccupantTypeId; const doDelete = () => { cityssm.postJSON(los.urlPrefix + "/admin/doDeleteLotOccupantType", { lotOccupantTypeId }, (responseJSON) => { if (responseJSON.success) { lotOccupantTypes = responseJSON.lotOccupantTypes; if (lotOccupantTypes.length === 0) { renderLotOccupantTypes(); } else { tableRowElement.remove(); } bulmaJS.alert({ message: `${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type Deleted Successfully`, contextualColorName: "success" }); } else { bulmaJS.alert({ title: `Error Deleting ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`, message: responseJSON.errorMessage || "", contextualColorName: "danger" }); } }); }; bulmaJS.confirm({ title: `Delete ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`, message: `Are you sure you want to delete this ${los.escapedAliases.lot} ${los.escapedAliases.occupant} type?
Note that no ${los.escapedAliases.lot} ${los.escapedAliases.occupants} will be removed.`, messageIsHtml: true, contextualColorName: "warning", okButton: { text: `Yes, Delete ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`, callbackFunction: doDelete } }); }; const moveLotOccupantType = (clickEvent) => { const buttonElement = clickEvent.currentTarget; const tableRowElement = buttonElement.closest("tr"); const lotOccupantTypeId = tableRowElement.dataset.lotOccupantTypeId; cityssm.postJSON(los.urlPrefix + "/admin/" + (buttonElement.dataset.direction === "up" ? "doMoveLotOccupantTypeUp" : "doMoveLotOccupantTypeDown"), { lotOccupantTypeId, moveToEnd: clickEvent.shiftKey ? "1" : "0" }, (responseJSON) => { if (responseJSON.success) { lotOccupantTypes = responseJSON.lotOccupantTypes; renderLotOccupantTypes(); } else { bulmaJS.alert({ title: `Error Moving ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`, message: responseJSON.errorMessage || "", contextualColorName: "danger" }); } }); }; const renderLotOccupantTypes = () => { const containerElement = document.querySelector("#container--lotOccupantTypes"); if (lotOccupantTypes.length === 0) { containerElement.innerHTML = `

There are no active ${los.escapedAliases.lot} ${los.escapedAliases.occupant} types.

`; return; } containerElement.innerHTML = ""; for (const lotOccupantType of lotOccupantTypes) { const tableRowElement = document.createElement("tr"); tableRowElement.dataset.lotOccupantTypeId = lotOccupantType.lotOccupantTypeId.toString(); const formId = "form--lotOccupantType-" + lotOccupantType.lotOccupantTypeId; tableRowElement.innerHTML = "" + ('
' + '
' + '' + "
" + "
") + "" + "" + ('
' + '
fa-
' + '
' + '' + "
" + '
' + '
' + "
") + "" + ("" + ('
') + '" + '' + "
" + "") + '' + '
' + '
' + los.getMoveUpDownButtonFieldHTML("button--moveLotOccupantTypeUp", "button--moveLotOccupantTypeDown", false) + "
" + '
' + '" + "
" + "
" + ""; const fontAwesomeInputElement = tableRowElement.querySelector("input[name='fontAwesomeIconClass']"); fontAwesomeInputElement.addEventListener("keyup", refreshFontAwesomeIcon); fontAwesomeInputElement.addEventListener("change", refreshFontAwesomeIcon); tableRowElement.querySelector("form").addEventListener("submit", updateLotOccupantType); tableRowElement.querySelector(".button--moveLotOccupantTypeUp").addEventListener("click", moveLotOccupantType); tableRowElement.querySelector(".button--moveLotOccupantTypeDown").addEventListener("click", moveLotOccupantType); tableRowElement .querySelector(".button--deleteLotOccupantType") .addEventListener("click", deleteLotOccupantType); containerElement.append(tableRowElement); } }; document.querySelector("#form--addLotOccupantType").addEventListener("submit", (submitEvent) => { submitEvent.preventDefault(); const formElement = submitEvent.currentTarget; cityssm.postJSON(los.urlPrefix + "/admin/doAddLotOccupantType", formElement, (responseJSON) => { if (responseJSON.success) { lotOccupantTypes = responseJSON.lotOccupantTypes; renderLotOccupantTypes(); formElement.reset(); formElement.querySelector("input").focus(); } else { bulmaJS.alert({ title: `Error Adding ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`, message: responseJSON.errorMessage || "", contextualColorName: "danger" }); } }); }); renderLotOccupantTypes();