diff --git a/public-typescript/adminDatabase.js b/public-typescript/adminDatabase.js index 82520407..d9657609 100644 --- a/public-typescript/adminDatabase.js +++ b/public-typescript/adminDatabase.js @@ -11,7 +11,9 @@ Object.defineProperty(exports, "__esModule", { value: true }); if (responseJSON.success) { bulmaJS.alert({ title: 'Database Backed Up Successfully', - message: `Backed up to ${responseJSON.fileName}`, + message: `Backed up to ${responseJSON.fileName}
+ To request a copy of the backup, contact your application administrator.`, + messageIsHtml: true, contextualColorName: 'success' }); } diff --git a/public-typescript/adminDatabase.ts b/public-typescript/adminDatabase.ts index 34432044..767984e3 100644 --- a/public-typescript/adminDatabase.ts +++ b/public-typescript/adminDatabase.ts @@ -29,7 +29,9 @@ declare const bulmaJS: BulmaJS if (responseJSON.success) { bulmaJS.alert({ title: 'Database Backed Up Successfully', - message: `Backed up to ${responseJSON.fileName}`, + message: `Backed up to ${responseJSON.fileName}
+ To request a copy of the backup, contact your application administrator.`, + messageIsHtml: true, contextualColorName: 'success' }) } else { diff --git a/public-typescript/adminFees.js b/public-typescript/adminFees.js index 49eaccdd..cb2790af 100644 --- a/public-typescript/adminFees.js +++ b/public-typescript/adminFees.js @@ -1,4 +1,5 @@ "use strict"; +/* eslint-disable @typescript-eslint/indent */ /* eslint-disable @typescript-eslint/no-non-null-assertion, unicorn/prefer-module */ Object.defineProperty(exports, "__esModule", { value: true }); (() => { @@ -60,9 +61,9 @@ Object.defineProperty(exports, "__esModule", { value: true }); feeCategoryContainerElement.insertAdjacentHTML('beforeend', `

- There are no fees in the - "${cityssm.escapeHTML((_b = feeCategory.feeCategory) !== null && _b !== void 0 ? _b : '')}" - category. + There are no fees in the + "${cityssm.escapeHTML((_b = feeCategory.feeCategory) !== null && _b !== void 0 ? _b : '')}" + category.

`); @@ -177,8 +178,9 @@ Object.defineProperty(exports, "__esModule", { value: true }); let addCloseModalFunction; function doAddFeeCategory(submitEvent) { submitEvent.preventDefault(); - cityssm.postJSON(los.urlPrefix + '/admin/doAddFeeCategory', submitEvent.currentTarget, (responseJSON) => { + cityssm.postJSON(los.urlPrefix + '/admin/doAddFeeCategory', submitEvent.currentTarget, (rawResponseJSON) => { var _a; + const responseJSON = rawResponseJSON; if (responseJSON.success) { feeCategories = responseJSON.feeCategories; addCloseModalFunction(); @@ -216,8 +218,9 @@ Object.defineProperty(exports, "__esModule", { value: true }); let editCloseModalFunction; function doUpdateFeeCategory(submitEvent) { submitEvent.preventDefault(); - cityssm.postJSON(los.urlPrefix + '/admin/doUpdateFeeCategory', submitEvent.currentTarget, (responseJSON) => { + cityssm.postJSON(los.urlPrefix + '/admin/doUpdateFeeCategory', submitEvent.currentTarget, (rawResponseJSON) => { var _a; + const responseJSON = rawResponseJSON; if (responseJSON.success) { feeCategories = responseJSON.feeCategories; editCloseModalFunction(); @@ -256,8 +259,9 @@ Object.defineProperty(exports, "__esModule", { value: true }); function doDelete() { cityssm.postJSON(los.urlPrefix + '/admin/doDeleteFeeCategory', { feeCategoryId - }, (responseJSON) => { + }, (rawResponseJSON) => { var _a; + const responseJSON = rawResponseJSON; if (responseJSON.success) { feeCategories = responseJSON.feeCategories; renderFeeCategories(); @@ -291,8 +295,9 @@ Object.defineProperty(exports, "__esModule", { value: true }); : 'doMoveFeeCategoryDown'), { feeCategoryId, moveToEnd: clickEvent.shiftKey ? '1' : '0' - }, (responseJSON) => { + }, (rawResponseJSON) => { var _a; + const responseJSON = rawResponseJSON; if (responseJSON.success) { feeCategories = responseJSON.feeCategories; renderFeeCategories(); @@ -314,8 +319,9 @@ Object.defineProperty(exports, "__esModule", { value: true }); let addCloseModalFunction; function doAddFee(submitEvent) { submitEvent.preventDefault(); - cityssm.postJSON(los.urlPrefix + '/admin/doAddFee', submitEvent.currentTarget, (responseJSON) => { + cityssm.postJSON(los.urlPrefix + '/admin/doAddFee', submitEvent.currentTarget, (rawResponseJSON) => { var _a; + const responseJSON = rawResponseJSON; if (responseJSON.success) { feeCategories = responseJSON.feeCategories; addCloseModalFunction(); @@ -426,8 +432,9 @@ Object.defineProperty(exports, "__esModule", { value: true }); let editModalElement; function doUpdateFee(submitEvent) { submitEvent.preventDefault(); - cityssm.postJSON(los.urlPrefix + '/admin/doUpdateFee', submitEvent.currentTarget, (responseJSON) => { + cityssm.postJSON(los.urlPrefix + '/admin/doUpdateFee', submitEvent.currentTarget, (rawResponseJSON) => { var _a; + const responseJSON = rawResponseJSON; if (responseJSON.success) { feeCategories = responseJSON.feeCategories; editCloseModalFunction(); @@ -447,8 +454,9 @@ Object.defineProperty(exports, "__esModule", { value: true }); function doDelete() { cityssm.postJSON(los.urlPrefix + '/admin/doDeleteFee', { feeId - }, (responseJSON) => { + }, (rawResponseJSON) => { var _a; + const responseJSON = rawResponseJSON; if (responseJSON.success) { feeCategories = responseJSON.feeCategories; editCloseModalFunction(); @@ -596,8 +604,9 @@ Object.defineProperty(exports, "__esModule", { value: true }); : 'doMoveFeeDown'), { feeId, moveToEnd: clickEvent.shiftKey ? '1' : '0' - }, (responseJSON) => { + }, (rawResponseJSON) => { var _a; + const responseJSON = rawResponseJSON; if (responseJSON.success) { feeCategories = responseJSON.feeCategories; renderFeeCategories(); diff --git a/public-typescript/adminFees.ts b/public-typescript/adminFees.ts index 04b2b123..e4792ea0 100644 --- a/public-typescript/adminFees.ts +++ b/public-typescript/adminFees.ts @@ -1,3 +1,4 @@ +/* eslint-disable @typescript-eslint/indent */ /* eslint-disable @typescript-eslint/no-non-null-assertion, unicorn/prefer-module */ import type * as globalTypes from '../types/globalTypes' @@ -19,6 +20,16 @@ declare const bulmaJS: BulmaJS let feeCategories: recordTypes.FeeCategory[] = exports.feeCategories delete exports.feeCategories + type ResponseJSON = + | { + success: true + feeCategories: recordTypes.FeeCategory[] + } + | { + success: false + errorMessage: string + } + function renderFeeCategories(): void { if (feeCategories.length === 0) { feeCategoriesContainerElement.innerHTML = `
@@ -84,9 +95,9 @@ declare const bulmaJS: BulmaJS `

- There are no fees in the - "${cityssm.escapeHTML(feeCategory.feeCategory ?? '')}" - category. + There are no fees in the + "${cityssm.escapeHTML(feeCategory.feeCategory ?? '')}" + category.

` @@ -239,11 +250,9 @@ declare const bulmaJS: BulmaJS cityssm.postJSON( los.urlPrefix + '/admin/doAddFeeCategory', submitEvent.currentTarget, - (responseJSON: { - success: boolean - errorMessage?: string - feeCategories: recordTypes.FeeCategory[] - }) => { + (rawResponseJSON) => { + const responseJSON = rawResponseJSON as ResponseJSON + if (responseJSON.success) { feeCategories = responseJSON.feeCategories addCloseModalFunction() @@ -306,11 +315,9 @@ declare const bulmaJS: BulmaJS cityssm.postJSON( los.urlPrefix + '/admin/doUpdateFeeCategory', submitEvent.currentTarget, - (responseJSON: { - success: boolean - errorMessage?: string - feeCategories: recordTypes.FeeCategory[] - }) => { + (rawResponseJSON) => { + const responseJSON = rawResponseJSON as ResponseJSON + if (responseJSON.success) { feeCategories = responseJSON.feeCategories editCloseModalFunction() @@ -375,11 +382,9 @@ declare const bulmaJS: BulmaJS { feeCategoryId }, - (responseJSON: { - success: boolean - errorMessage?: string - feeCategories?: recordTypes.FeeCategory[] - }) => { + (rawResponseJSON) => { + const responseJSON = rawResponseJSON as ResponseJSON + if (responseJSON.success) { feeCategories = responseJSON.feeCategories! renderFeeCategories() @@ -422,11 +427,9 @@ declare const bulmaJS: BulmaJS feeCategoryId, moveToEnd: clickEvent.shiftKey ? '1' : '0' }, - (responseJSON: { - success: boolean - errorMessage?: string - feeCategories?: recordTypes.FeeCategory[] - }) => { + (rawResponseJSON) => { + const responseJSON = rawResponseJSON as ResponseJSON + if (responseJSON.success) { feeCategories = responseJSON.feeCategories! renderFeeCategories() @@ -463,11 +466,9 @@ declare const bulmaJS: BulmaJS cityssm.postJSON( los.urlPrefix + '/admin/doAddFee', submitEvent.currentTarget, - (responseJSON: { - success: boolean - errorMessage?: string - feeCategories: recordTypes.FeeCategory[] - }) => { + (rawResponseJSON) => { + const responseJSON = rawResponseJSON as ResponseJSON + if (responseJSON.success) { feeCategories = responseJSON.feeCategories addCloseModalFunction() @@ -641,11 +642,9 @@ declare const bulmaJS: BulmaJS cityssm.postJSON( los.urlPrefix + '/admin/doUpdateFee', submitEvent.currentTarget, - (responseJSON: { - success: boolean - errorMessage?: string - feeCategories?: recordTypes.FeeCategory[] - }) => { + (rawResponseJSON) => { + const responseJSON = rawResponseJSON as ResponseJSON + if (responseJSON.success) { feeCategories = responseJSON.feeCategories! editCloseModalFunction() @@ -670,11 +669,9 @@ declare const bulmaJS: BulmaJS { feeId }, - (responseJSON: { - success: boolean - errorMessage?: string - feeCategories?: recordTypes.FeeCategory[] - }) => { + (rawResponseJSON) => { + const responseJSON = rawResponseJSON as ResponseJSON + if (responseJSON.success) { feeCategories = responseJSON.feeCategories! editCloseModalFunction() @@ -913,11 +910,9 @@ declare const bulmaJS: BulmaJS feeId, moveToEnd: clickEvent.shiftKey ? '1' : '0' }, - (responseJSON: { - success: boolean - errorMessage?: string - feeCategories?: recordTypes.FeeCategory[] - }) => { + (rawResponseJSON) => { + const responseJSON = rawResponseJSON as ResponseJSON + if (responseJSON.success) { feeCategories = responseJSON.feeCategories! renderFeeCategories() diff --git a/public-typescript/adminLotTypes.js b/public-typescript/adminLotTypes.js index 6e336442..25c5d09e 100644 --- a/public-typescript/adminLotTypes.js +++ b/public-typescript/adminLotTypes.js @@ -1,4 +1,5 @@ "use strict"; +/* eslint-disable @typescript-eslint/indent */ /* eslint-disable @typescript-eslint/no-non-null-assertion, unicorn/prefer-module */ Object.defineProperty(exports, "__esModule", { value: true }); (() => { @@ -64,7 +65,8 @@ Object.defineProperty(exports, "__esModule", { value: true }); let editCloseModalFunction; function doEdit(submitEvent) { submitEvent.preventDefault(); - cityssm.postJSON(los.urlPrefix + '/admin/doUpdateLotType', submitEvent.currentTarget, (responseJSON) => { + cityssm.postJSON(los.urlPrefix + '/admin/doUpdateLotType', submitEvent.currentTarget, (rawResponseJSON) => { + const responseJSON = rawResponseJSON; lotTypeResponseHandler(responseJSON); if (responseJSON.success) { editCloseModalFunction(); @@ -93,7 +95,8 @@ Object.defineProperty(exports, "__esModule", { value: true }); let addCloseModalFunction; function doAdd(submitEvent) { submitEvent.preventDefault(); - cityssm.postJSON(los.urlPrefix + '/admin/doAddLotTypeField', submitEvent.currentTarget, (responseJSON) => { + cityssm.postJSON(los.urlPrefix + '/admin/doAddLotTypeField', submitEvent.currentTarget, (rawResponseJSON) => { + const responseJSON = rawResponseJSON; expandedLotTypes.add(lotTypeId); lotTypeResponseHandler(responseJSON); if (responseJSON.success) { @@ -162,7 +165,8 @@ Object.defineProperty(exports, "__esModule", { value: true }); } function doUpdate(submitEvent) { submitEvent.preventDefault(); - cityssm.postJSON(los.urlPrefix + '/admin/doUpdateLotTypeField', submitEvent.currentTarget, (responseJSON) => { + cityssm.postJSON(los.urlPrefix + '/admin/doUpdateLotTypeField', submitEvent.currentTarget, (rawResponseJSON) => { + const responseJSON = rawResponseJSON; lotTypeResponseHandler(responseJSON); if (responseJSON.success) { editCloseModalFunction(); @@ -172,7 +176,8 @@ Object.defineProperty(exports, "__esModule", { value: true }); function doDelete() { cityssm.postJSON(los.urlPrefix + '/admin/doDeleteLotTypeField', { lotTypeFieldId - }, (responseJSON) => { + }, (rawResponseJSON) => { + const responseJSON = rawResponseJSON; lotTypeResponseHandler(responseJSON); if (responseJSON.success) { editCloseModalFunction(); @@ -368,8 +373,9 @@ Object.defineProperty(exports, "__esModule", { value: true }); let addCloseModalFunction; function doAdd(submitEvent) { submitEvent.preventDefault(); - cityssm.postJSON(los.urlPrefix + '/admin/doAddLotType', submitEvent.currentTarget, (responseJSON) => { + cityssm.postJSON(los.urlPrefix + '/admin/doAddLotType', submitEvent.currentTarget, (rawResponseJSON) => { var _a; + const responseJSON = rawResponseJSON; if (responseJSON.success) { addCloseModalFunction(); lotTypes = responseJSON.lotTypes; diff --git a/public-typescript/adminLotTypes.ts b/public-typescript/adminLotTypes.ts index 361b0071..78a1c2ae 100644 --- a/public-typescript/adminLotTypes.ts +++ b/public-typescript/adminLotTypes.ts @@ -1,3 +1,4 @@ +/* eslint-disable @typescript-eslint/indent */ /* eslint-disable @typescript-eslint/no-non-null-assertion, unicorn/prefer-module */ import type * as globalTypes from '../types/globalTypes' @@ -9,6 +10,17 @@ import type { BulmaJS } from '@cityssm/bulma-js/types' declare const cityssm: cityssmGlobal declare const bulmaJS: BulmaJS + +type ResponseJSON = + | { + success: true + lotTypes: recordTypes.LotType[] + lotTypeFieldId?: number + } + | { + success: false + errorMessage: string + } ;(() => { const los = exports.los as globalTypes.LOS @@ -47,11 +59,7 @@ declare const bulmaJS: BulmaJS } } - function lotTypeResponseHandler(responseJSON: { - success: boolean - errorMessage?: string - lotTypes?: recordTypes.LotType[] - }): void { + function lotTypeResponseHandler(responseJSON: ResponseJSON): void { if (responseJSON.success) { lotTypes = responseJSON.lotTypes! renderLotTypes() @@ -117,11 +125,9 @@ declare const bulmaJS: BulmaJS cityssm.postJSON( los.urlPrefix + '/admin/doUpdateLotType', submitEvent.currentTarget, - (responseJSON: { - success: boolean - errorMessage?: string - occupancyTypes?: recordTypes.OccupancyType[] - }) => { + (rawResponseJSON) => { + const responseJSON = rawResponseJSON as ResponseJSON + lotTypeResponseHandler(responseJSON) if (responseJSON.success) { editCloseModalFunction() @@ -180,12 +186,9 @@ declare const bulmaJS: BulmaJS cityssm.postJSON( los.urlPrefix + '/admin/doAddLotTypeField', submitEvent.currentTarget, - (responseJSON: { - success: boolean - errorMessage?: string - lotTypes?: recordTypes.LotType[] - lotTypeFieldId?: number - }) => { + (rawResponseJSON) => { + const responseJSON = rawResponseJSON as ResponseJSON + expandedLotTypes.add(lotTypeId) lotTypeResponseHandler(responseJSON) @@ -289,11 +292,9 @@ declare const bulmaJS: BulmaJS cityssm.postJSON( los.urlPrefix + '/admin/doUpdateLotTypeField', submitEvent.currentTarget, - (responseJSON: { - success: boolean - errorMessage?: string - occupancyTypes?: recordTypes.OccupancyType[] - }) => { + (rawResponseJSON) => { + const responseJSON = rawResponseJSON as ResponseJSON + lotTypeResponseHandler(responseJSON) if (responseJSON.success) { editCloseModalFunction() @@ -308,11 +309,9 @@ declare const bulmaJS: BulmaJS { lotTypeFieldId }, - (responseJSON: { - success: boolean - errorMessage?: string - lotTypes?: recordTypes.LotType[] - }) => { + (rawResponseJSON) => { + const responseJSON = rawResponseJSON as ResponseJSON + lotTypeResponseHandler(responseJSON) if (responseJSON.success) { editCloseModalFunction() @@ -632,11 +631,9 @@ declare const bulmaJS: BulmaJS cityssm.postJSON( los.urlPrefix + '/admin/doAddLotType', submitEvent.currentTarget, - (responseJSON: { - success: boolean - errorMessage?: string - lotTypes?: recordTypes.LotType[] - }) => { + (rawResponseJSON) => { + const responseJSON = rawResponseJSON as ResponseJSON + if (responseJSON.success) { addCloseModalFunction() lotTypes = responseJSON.lotTypes! diff --git a/public-typescript/adminOccupancyTypes.js b/public-typescript/adminOccupancyTypes.js index 2c04f653..a86d5c2f 100644 --- a/public-typescript/adminOccupancyTypes.js +++ b/public-typescript/adminOccupancyTypes.js @@ -1,4 +1,5 @@ "use strict"; +/* eslint-disable @typescript-eslint/indent */ /* eslint-disable @typescript-eslint/no-non-null-assertion, unicorn/prefer-module */ Object.defineProperty(exports, "__esModule", { value: true }); (() => { @@ -68,7 +69,8 @@ Object.defineProperty(exports, "__esModule", { value: true }); let editCloseModalFunction; function doEdit(submitEvent) { submitEvent.preventDefault(); - cityssm.postJSON(los.urlPrefix + '/admin/doUpdateOccupancyType', submitEvent.currentTarget, (responseJSON) => { + cityssm.postJSON(los.urlPrefix + '/admin/doUpdateOccupancyType', submitEvent.currentTarget, (rawResponseJSON) => { + const responseJSON = rawResponseJSON; occupancyTypeResponseHandler(responseJSON); if (responseJSON.success) { editCloseModalFunction(); @@ -97,7 +99,8 @@ Object.defineProperty(exports, "__esModule", { value: true }); let addCloseModalFunction; function doAdd(submitEvent) { submitEvent.preventDefault(); - cityssm.postJSON(los.urlPrefix + '/admin/doAddOccupancyTypeField', submitEvent.currentTarget, (responseJSON) => { + cityssm.postJSON(los.urlPrefix + '/admin/doAddOccupancyTypeField', submitEvent.currentTarget, (rawResponseJSON) => { + const responseJSON = rawResponseJSON; expandedOccupancyTypes.add(occupancyTypeId); occupancyTypeResponseHandler(responseJSON); if (responseJSON.success) { @@ -171,7 +174,8 @@ Object.defineProperty(exports, "__esModule", { value: true }); } function doUpdate(submitEvent) { submitEvent.preventDefault(); - cityssm.postJSON(los.urlPrefix + '/admin/doUpdateOccupancyTypeField', submitEvent.currentTarget, (responseJSON) => { + cityssm.postJSON(los.urlPrefix + '/admin/doUpdateOccupancyTypeField', submitEvent.currentTarget, (rawResponseJSON) => { + const responseJSON = rawResponseJSON; occupancyTypeResponseHandler(responseJSON); if (responseJSON.success) { editCloseModalFunction(); @@ -181,7 +185,8 @@ Object.defineProperty(exports, "__esModule", { value: true }); function doDelete() { cityssm.postJSON(los.urlPrefix + '/admin/doDeleteOccupancyTypeField', { occupancyTypeFieldId - }, (responseJSON) => { + }, (rawResponseJSON) => { + const responseJSON = rawResponseJSON; occupancyTypeResponseHandler(responseJSON); if (responseJSON.success) { editCloseModalFunction(); @@ -307,7 +312,8 @@ Object.defineProperty(exports, "__esModule", { value: true }); let closeAddModalFunction; function doAdd(formEvent) { formEvent.preventDefault(); - cityssm.postJSON(los.urlPrefix + '/admin/doAddOccupancyTypePrint', formEvent.currentTarget, (responseJSON) => { + cityssm.postJSON(los.urlPrefix + '/admin/doAddOccupancyTypePrint', formEvent.currentTarget, (rawResponseJSON) => { + const responseJSON = rawResponseJSON; if (responseJSON.success) { closeAddModalFunction(); } @@ -570,8 +576,9 @@ Object.defineProperty(exports, "__esModule", { value: true }); let addCloseModalFunction; function doAdd(submitEvent) { submitEvent.preventDefault(); - cityssm.postJSON(los.urlPrefix + '/admin/doAddOccupancyType', submitEvent.currentTarget, (responseJSON) => { + cityssm.postJSON(los.urlPrefix + '/admin/doAddOccupancyType', submitEvent.currentTarget, (rawResponseJSON) => { var _a; + const responseJSON = rawResponseJSON; if (responseJSON.success) { addCloseModalFunction(); occupancyTypes = responseJSON.occupancyTypes; diff --git a/public-typescript/adminOccupancyTypes.ts b/public-typescript/adminOccupancyTypes.ts index 94b1be77..8d741926 100644 --- a/public-typescript/adminOccupancyTypes.ts +++ b/public-typescript/adminOccupancyTypes.ts @@ -1,3 +1,4 @@ +/* eslint-disable @typescript-eslint/indent */ /* eslint-disable @typescript-eslint/no-non-null-assertion, unicorn/prefer-module */ import type * as globalTypes from '../types/globalTypes' @@ -9,6 +10,18 @@ import type { BulmaJS } from '@cityssm/bulma-js/types' declare const cityssm: cityssmGlobal declare const bulmaJS: BulmaJS + +type ResponseJSON = + | { + success: true + occupancyTypes: recordTypes.OccupancyType[] + allOccupancyTypeFields: recordTypes.OccupancyTypeField[] + occupancyTypeFieldId?: number + } + | { + success: false + errorMessage: string + } ;(() => { const los = exports.los as globalTypes.LOS @@ -131,12 +144,9 @@ declare const bulmaJS: BulmaJS cityssm.postJSON( los.urlPrefix + '/admin/doUpdateOccupancyType', submitEvent.currentTarget, - (responseJSON: { - success: boolean - errorMessage?: string - occupancyTypes?: recordTypes.OccupancyType[] - allOccupancyTypeFields?: recordTypes.OccupancyTypeField[] - }) => { + (rawResponseJSON) => { + const responseJSON = rawResponseJSON as ResponseJSON + occupancyTypeResponseHandler(responseJSON) if (responseJSON.success) { editCloseModalFunction() @@ -195,13 +205,9 @@ declare const bulmaJS: BulmaJS cityssm.postJSON( los.urlPrefix + '/admin/doAddOccupancyTypeField', submitEvent.currentTarget, - (responseJSON: { - success: boolean - errorMessage?: string - occupancyTypes?: recordTypes.OccupancyType[] - allOccupancyTypeFields?: recordTypes.OccupancyTypeField[] - occupancyTypeFieldId?: number - }) => { + (rawResponseJSON) => { + const responseJSON = rawResponseJSON as ResponseJSON + expandedOccupancyTypes.add(occupancyTypeId) occupancyTypeResponseHandler(responseJSON) @@ -320,11 +326,9 @@ declare const bulmaJS: BulmaJS cityssm.postJSON( los.urlPrefix + '/admin/doUpdateOccupancyTypeField', submitEvent.currentTarget, - (responseJSON: { - success: boolean - errorMessage?: string - occupancyTypes?: recordTypes.OccupancyType[] - }) => { + (rawResponseJSON) => { + const responseJSON = rawResponseJSON as ResponseJSON + occupancyTypeResponseHandler(responseJSON) if (responseJSON.success) { editCloseModalFunction() @@ -339,11 +343,9 @@ declare const bulmaJS: BulmaJS { occupancyTypeFieldId }, - (responseJSON: { - success: boolean - errorMessage?: string - occupancyTypes?: recordTypes.OccupancyType[] - }) => { + (rawResponseJSON) => { + const responseJSON = rawResponseJSON as ResponseJSON + occupancyTypeResponseHandler(responseJSON) if (responseJSON.success) { editCloseModalFunction() @@ -572,12 +574,9 @@ declare const bulmaJS: BulmaJS cityssm.postJSON( los.urlPrefix + '/admin/doAddOccupancyTypePrint', formEvent.currentTarget, - (responseJSON: { - success: boolean - errorMessage?: string - occupancyTypes?: recordTypes.OccupancyType[] - allOccupancyTypeFields?: recordTypes.OccupancyTypeField[] - }) => { + (rawResponseJSON) => { + const responseJSON = rawResponseJSON as ResponseJSON + if (responseJSON.success) { closeAddModalFunction() } @@ -968,11 +967,9 @@ declare const bulmaJS: BulmaJS cityssm.postJSON( los.urlPrefix + '/admin/doAddOccupancyType', submitEvent.currentTarget, - (responseJSON: { - success: boolean - errorMessage?: string - occupancyTypes?: recordTypes.OccupancyType[] - }) => { + (rawResponseJSON) => { + const responseJSON = rawResponseJSON as ResponseJSON + if (responseJSON.success) { addCloseModalFunction() occupancyTypes = responseJSON.occupancyTypes! diff --git a/public-typescript/adminTables.js b/public-typescript/adminTables.js index 53439b81..d316e43f 100644 --- a/public-typescript/adminTables.js +++ b/public-typescript/adminTables.js @@ -13,14 +13,16 @@ Object.defineProperty(exports, "__esModule", { value: true }); .querySelectorAll('.button.is-static')[1].innerHTML = ``; } "use strict"; + /* eslint-disable @typescript-eslint/indent */ /* eslint-disable @typescript-eslint/no-non-null-assertion, unicorn/prefer-module */ Object.defineProperty(exports, "__esModule", { value: true }); let workOrderTypes = exports.workOrderTypes; delete exports.workOrderTypes; function updateWorkOrderType(submitEvent) { submitEvent.preventDefault(); - cityssm.postJSON(los.urlPrefix + '/admin/doUpdateWorkOrderType', submitEvent.currentTarget, (responseJSON) => { + cityssm.postJSON(los.urlPrefix + '/admin/doUpdateWorkOrderType', submitEvent.currentTarget, (rawResponseJSON) => { var _a; + const responseJSON = rawResponseJSON; if (responseJSON.success) { workOrderTypes = responseJSON.workOrderTypes; bulmaJS.alert({ @@ -43,8 +45,9 @@ Object.defineProperty(exports, "__esModule", { value: true }); function doDelete() { cityssm.postJSON(los.urlPrefix + '/admin/doDeleteWorkOrderType', { workOrderTypeId - }, (responseJSON) => { + }, (rawResponseJSON) => { var _a; + const responseJSON = rawResponseJSON; if (responseJSON.success) { workOrderTypes = responseJSON.workOrderTypes; if (workOrderTypes.length === 0) { @@ -85,11 +88,14 @@ Object.defineProperty(exports, "__esModule", { value: true }); const workOrderTypeId = tableRowElement.dataset.workOrderTypeId; cityssm.postJSON(los.urlPrefix + '/admin/' + - (buttonElement.dataset.direction === 'up' ? 'doMoveWorkOrderTypeUp' : 'doMoveWorkOrderTypeDown'), { + (buttonElement.dataset.direction === 'up' + ? 'doMoveWorkOrderTypeUp' + : 'doMoveWorkOrderTypeDown'), { workOrderTypeId, moveToEnd: clickEvent.shiftKey ? '1' : '0' - }, (responseJSON) => { + }, (rawResponseJSON) => { var _a; + const responseJSON = rawResponseJSON; if (responseJSON.success) { workOrderTypes = responseJSON.workOrderTypes; renderWorkOrderTypes(); @@ -115,7 +121,8 @@ Object.defineProperty(exports, "__esModule", { value: true }); containerElement.innerHTML = ''; for (const workOrderType of workOrderTypes) { const tableRowElement = document.createElement('tr'); - tableRowElement.dataset.workOrderTypeId = workOrderType.workOrderTypeId.toString(); + tableRowElement.dataset.workOrderTypeId = + workOrderType.workOrderTypeId.toString(); tableRowElement.innerHTML = '' + '
' + @@ -146,7 +153,9 @@ Object.defineProperty(exports, "__esModule", { value: true }); '
' + '' + ''; - tableRowElement.querySelector('form').addEventListener('submit', updateWorkOrderType); + tableRowElement + .querySelector('form') + .addEventListener('submit', updateWorkOrderType); tableRowElement.querySelector('.button--moveWorkOrderTypeUp').addEventListener('click', moveWorkOrderType); tableRowElement.querySelector('.button--moveWorkOrderTypeDown').addEventListener('click', moveWorkOrderType); tableRowElement @@ -155,11 +164,13 @@ Object.defineProperty(exports, "__esModule", { value: true }); containerElement.append(tableRowElement); } } + ; document.querySelector('#form--addWorkOrderType').addEventListener('submit', (submitEvent) => { submitEvent.preventDefault(); const formElement = submitEvent.currentTarget; - cityssm.postJSON(los.urlPrefix + '/admin/doAddWorkOrderType', formElement, (responseJSON) => { + cityssm.postJSON(los.urlPrefix + '/admin/doAddWorkOrderType', formElement, (rawResponseJSON) => { var _a; + const responseJSON = rawResponseJSON; if (responseJSON.success) { workOrderTypes = responseJSON.workOrderTypes; renderWorkOrderTypes(); @@ -178,14 +189,16 @@ Object.defineProperty(exports, "__esModule", { value: true }); renderWorkOrderTypes(); "use strict"; + /* eslint-disable @typescript-eslint/indent */ /* eslint-disable @typescript-eslint/no-non-null-assertion, unicorn/prefer-module */ Object.defineProperty(exports, "__esModule", { value: true }); let workOrderMilestoneTypes = exports.workOrderMilestoneTypes; delete exports.workOrderMilestoneTypes; function updateWorkOrderMilestoneType(submitEvent) { submitEvent.preventDefault(); - cityssm.postJSON(los.urlPrefix + '/admin/doUpdateWorkOrderMilestoneType', submitEvent.currentTarget, (responseJSON) => { + cityssm.postJSON(los.urlPrefix + '/admin/doUpdateWorkOrderMilestoneType', submitEvent.currentTarget, (rawResponseJSON) => { var _a; + const responseJSON = rawResponseJSON; if (responseJSON.success) { workOrderMilestoneTypes = responseJSON.workOrderMilestoneTypes; bulmaJS.alert({ @@ -208,8 +221,9 @@ Object.defineProperty(exports, "__esModule", { value: true }); function doDelete() { cityssm.postJSON(los.urlPrefix + '/admin/doDeleteWorkOrderMilestoneType', { workOrderMilestoneTypeId - }, (responseJSON) => { + }, (rawResponseJSON) => { var _a; + const responseJSON = rawResponseJSON; if (responseJSON.success) { workOrderMilestoneTypes = responseJSON.workOrderMilestoneTypes; if (workOrderMilestoneTypes.length === 0) { @@ -255,8 +269,9 @@ Object.defineProperty(exports, "__esModule", { value: true }); : 'doMoveWorkOrderMilestoneTypeDown'), { workOrderMilestoneTypeId, moveToEnd: clickEvent.shiftKey ? '1' : '0' - }, (responseJSON) => { + }, (rawResponseJSON) => { var _a; + const responseJSON = rawResponseJSON; if (responseJSON.success) { workOrderMilestoneTypes = responseJSON.workOrderMilestoneTypes; renderWorkOrderMilestoneTypes(); @@ -328,8 +343,9 @@ Object.defineProperty(exports, "__esModule", { value: true }); document.querySelector('#form--addWorkOrderMilestoneType').addEventListener('submit', (submitEvent) => { submitEvent.preventDefault(); const formElement = submitEvent.currentTarget; - cityssm.postJSON(los.urlPrefix + '/admin/doAddWorkOrderMilestoneType', formElement, (responseJSON) => { + cityssm.postJSON(los.urlPrefix + '/admin/doAddWorkOrderMilestoneType', formElement, (rawResponseJSON) => { var _a; + const responseJSON = rawResponseJSON; if (responseJSON.success) { workOrderMilestoneTypes = responseJSON.workOrderMilestoneTypes; renderWorkOrderMilestoneTypes(); @@ -348,14 +364,16 @@ Object.defineProperty(exports, "__esModule", { value: true }); renderWorkOrderMilestoneTypes(); "use strict"; + /* eslint-disable @typescript-eslint/indent */ /* eslint-disable @typescript-eslint/no-non-null-assertion, unicorn/prefer-module */ Object.defineProperty(exports, "__esModule", { value: true }); let lotStatuses = exports.lotStatuses; delete exports.lotStatuses; function updateLotStatus(submitEvent) { submitEvent.preventDefault(); - cityssm.postJSON(los.urlPrefix + '/admin/doUpdateLotStatus', submitEvent.currentTarget, (responseJSON) => { + cityssm.postJSON(los.urlPrefix + '/admin/doUpdateLotStatus', submitEvent.currentTarget, (rawResponseJSON) => { var _a; + const responseJSON = rawResponseJSON; if (responseJSON.success) { lotStatuses = responseJSON.lotStatuses; bulmaJS.alert({ @@ -378,8 +396,9 @@ Object.defineProperty(exports, "__esModule", { value: true }); function doDelete() { cityssm.postJSON(los.urlPrefix + '/admin/doDeleteLotStatus', { lotStatusId - }, (responseJSON) => { + }, (rawResponseJSON) => { var _a; + const responseJSON = rawResponseJSON; if (responseJSON.success) { lotStatuses = responseJSON.lotStatuses; if (lotStatuses.length === 0) { @@ -425,8 +444,9 @@ Object.defineProperty(exports, "__esModule", { value: true }); : 'doMoveLotStatusDown'), { lotStatusId, moveToEnd: clickEvent.shiftKey ? '1' : '0' - }, (responseJSON) => { + }, (rawResponseJSON) => { var _a; + const responseJSON = rawResponseJSON; if (responseJSON.success) { lotStatuses = responseJSON.lotStatuses; renderLotStatuses(); @@ -500,8 +520,9 @@ Object.defineProperty(exports, "__esModule", { value: true }); document.querySelector('#form--addLotStatus').addEventListener('submit', (submitEvent) => { submitEvent.preventDefault(); const formElement = submitEvent.currentTarget; - cityssm.postJSON(los.urlPrefix + '/admin/doAddLotStatus', formElement, (responseJSON) => { + cityssm.postJSON(los.urlPrefix + '/admin/doAddLotStatus', formElement, (rawResponseJSON) => { var _a; + const responseJSON = rawResponseJSON; if (responseJSON.success) { lotStatuses = responseJSON.lotStatuses; renderLotStatuses(); @@ -520,14 +541,16 @@ Object.defineProperty(exports, "__esModule", { value: true }); renderLotStatuses(); "use strict"; + /* eslint-disable @typescript-eslint/indent */ /* eslint-disable @typescript-eslint/no-non-null-assertion, unicorn/prefer-module */ Object.defineProperty(exports, "__esModule", { value: true }); let lotOccupantTypes = exports.lotOccupantTypes; delete exports.lotOccupantTypes; function updateLotOccupantType(submitEvent) { submitEvent.preventDefault(); - cityssm.postJSON(los.urlPrefix + '/admin/doUpdateLotOccupantType', submitEvent.currentTarget, (responseJSON) => { + cityssm.postJSON(los.urlPrefix + '/admin/doUpdateLotOccupantType', submitEvent.currentTarget, (rawResponseJSON) => { var _a; + const responseJSON = rawResponseJSON; if (responseJSON.success) { lotOccupantTypes = responseJSON.lotOccupantTypes; bulmaJS.alert({ @@ -550,8 +573,9 @@ Object.defineProperty(exports, "__esModule", { value: true }); function doDelete() { cityssm.postJSON(los.urlPrefix + '/admin/doDeleteLotOccupantType', { lotOccupantTypeId - }, (responseJSON) => { + }, (rawResponseJSON) => { var _a; + const responseJSON = rawResponseJSON; if (responseJSON.success) { lotOccupantTypes = responseJSON.lotOccupantTypes; if (lotOccupantTypes.length === 0) { @@ -597,8 +621,9 @@ Object.defineProperty(exports, "__esModule", { value: true }); : 'doMoveLotOccupantTypeDown'), { lotOccupantTypeId, moveToEnd: clickEvent.shiftKey ? '1' : '0' - }, (responseJSON) => { + }, (rawResponseJSON) => { var _a; + const responseJSON = rawResponseJSON; if (responseJSON.success) { lotOccupantTypes = responseJSON.lotOccupantTypes; renderLotOccupantTypes(); @@ -673,9 +698,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); cityssm.escapeHTML(lotOccupantType.occupantCommentTitle) + '"') + (' form="' + formId + '"') + - (' aria-label="' + - los.escapedAliases.Occupant + - ' Comment Title"') + + (' aria-label="' + los.escapedAliases.Occupant + ' Comment Title"') + ' maxlength="50" />' + '' + '') + @@ -728,8 +751,9 @@ Object.defineProperty(exports, "__esModule", { value: true }); document.querySelector('#form--addLotOccupantType').addEventListener('submit', (submitEvent) => { submitEvent.preventDefault(); const formElement = submitEvent.currentTarget; - cityssm.postJSON(los.urlPrefix + '/admin/doAddLotOccupantType', formElement, (responseJSON) => { + cityssm.postJSON(los.urlPrefix + '/admin/doAddLotOccupantType', formElement, (rawResponseJSON) => { var _a; + const responseJSON = rawResponseJSON; if (responseJSON.success) { lotOccupantTypes = responseJSON.lotOccupantTypes; renderLotOccupantTypes(); diff --git a/public-typescript/adminTables/adminTablesLotOccupantTypes.js b/public-typescript/adminTables/adminTablesLotOccupantTypes.js index 51fa85f6..2de4869a 100644 --- a/public-typescript/adminTables/adminTablesLotOccupantTypes.js +++ b/public-typescript/adminTables/adminTablesLotOccupantTypes.js @@ -1,12 +1,14 @@ "use strict"; +/* eslint-disable @typescript-eslint/indent */ /* eslint-disable @typescript-eslint/no-non-null-assertion, unicorn/prefer-module */ Object.defineProperty(exports, "__esModule", { value: true }); let lotOccupantTypes = exports.lotOccupantTypes; delete exports.lotOccupantTypes; function updateLotOccupantType(submitEvent) { submitEvent.preventDefault(); - cityssm.postJSON(los.urlPrefix + '/admin/doUpdateLotOccupantType', submitEvent.currentTarget, (responseJSON) => { + cityssm.postJSON(los.urlPrefix + '/admin/doUpdateLotOccupantType', submitEvent.currentTarget, (rawResponseJSON) => { var _a; + const responseJSON = rawResponseJSON; if (responseJSON.success) { lotOccupantTypes = responseJSON.lotOccupantTypes; bulmaJS.alert({ @@ -29,8 +31,9 @@ function deleteLotOccupantType(clickEvent) { function doDelete() { cityssm.postJSON(los.urlPrefix + '/admin/doDeleteLotOccupantType', { lotOccupantTypeId - }, (responseJSON) => { + }, (rawResponseJSON) => { var _a; + const responseJSON = rawResponseJSON; if (responseJSON.success) { lotOccupantTypes = responseJSON.lotOccupantTypes; if (lotOccupantTypes.length === 0) { @@ -76,8 +79,9 @@ function moveLotOccupantType(clickEvent) { : 'doMoveLotOccupantTypeDown'), { lotOccupantTypeId, moveToEnd: clickEvent.shiftKey ? '1' : '0' - }, (responseJSON) => { + }, (rawResponseJSON) => { var _a; + const responseJSON = rawResponseJSON; if (responseJSON.success) { lotOccupantTypes = responseJSON.lotOccupantTypes; renderLotOccupantTypes(); @@ -152,9 +156,7 @@ function renderLotOccupantTypes() { cityssm.escapeHTML(lotOccupantType.occupantCommentTitle) + '"') + (' form="' + formId + '"') + - (' aria-label="' + - los.escapedAliases.Occupant + - ' Comment Title"') + + (' aria-label="' + los.escapedAliases.Occupant + ' Comment Title"') + ' maxlength="50" />' + '' + '') + @@ -207,8 +209,9 @@ function renderLotOccupantTypes() { document.querySelector('#form--addLotOccupantType').addEventListener('submit', (submitEvent) => { submitEvent.preventDefault(); const formElement = submitEvent.currentTarget; - cityssm.postJSON(los.urlPrefix + '/admin/doAddLotOccupantType', formElement, (responseJSON) => { + cityssm.postJSON(los.urlPrefix + '/admin/doAddLotOccupantType', formElement, (rawResponseJSON) => { var _a; + const responseJSON = rawResponseJSON; if (responseJSON.success) { lotOccupantTypes = responseJSON.lotOccupantTypes; renderLotOccupantTypes(); diff --git a/public-typescript/adminTables/adminTablesLotOccupantTypes.ts b/public-typescript/adminTables/adminTablesLotOccupantTypes.ts index d716062a..e17d0c1b 100644 --- a/public-typescript/adminTables/adminTablesLotOccupantTypes.ts +++ b/public-typescript/adminTables/adminTablesLotOccupantTypes.ts @@ -1,3 +1,4 @@ +/* eslint-disable @typescript-eslint/indent */ /* eslint-disable @typescript-eslint/no-non-null-assertion, unicorn/prefer-module */ import type * as globalTypes from '../../types/globalTypes' @@ -16,17 +17,25 @@ declare const refreshFontAwesomeIcon: (changeEvent: Event) => void let lotOccupantTypes: recordTypes.LotOccupantType[] = exports.lotOccupantTypes delete exports.lotOccupantTypes +type ResponseJSON = + | { + success: true + lotOccupantTypes: recordTypes.LotOccupantType[] + } + | { + success: false + errorMessage: string + } + function updateLotOccupantType(submitEvent: SubmitEvent): void { submitEvent.preventDefault() cityssm.postJSON( los.urlPrefix + '/admin/doUpdateLotOccupantType', submitEvent.currentTarget, - (responseJSON: { - success: boolean - errorMessage?: string - lotOccupantTypes?: recordTypes.LotOccupantType[] - }) => { + (rawResponseJSON) => { + const responseJSON = rawResponseJSON as ResponseJSON + if (responseJSON.success) { lotOccupantTypes = responseJSON.lotOccupantTypes! @@ -58,11 +67,9 @@ function deleteLotOccupantType(clickEvent: Event): void { { lotOccupantTypeId }, - (responseJSON: { - success: boolean - errorMessage?: string - lotOccupantTypes?: recordTypes.LotOccupantType[] - }) => { + (rawResponseJSON) => { + const responseJSON = rawResponseJSON as ResponseJSON + if (responseJSON.success) { lotOccupantTypes = responseJSON.lotOccupantTypes! @@ -117,11 +124,9 @@ function moveLotOccupantType(clickEvent: MouseEvent): void { lotOccupantTypeId, moveToEnd: clickEvent.shiftKey ? '1' : '0' }, - (responseJSON: { - success: boolean - errorMessage?: string - lotOccupantTypes?: recordTypes.LotOccupantType[] - }) => { + (rawResponseJSON) => { + const responseJSON = rawResponseJSON as ResponseJSON + if (responseJSON.success) { lotOccupantTypes = responseJSON.lotOccupantTypes! renderLotOccupantTypes() @@ -207,9 +212,7 @@ function renderLotOccupantTypes(): void { cityssm.escapeHTML(lotOccupantType.occupantCommentTitle) + '"') + (' form="' + formId + '"') + - (' aria-label="' + - los.escapedAliases.Occupant + - ' Comment Title"') + + (' aria-label="' + los.escapedAliases.Occupant + ' Comment Title"') + ' maxlength="50" />' + '' + '') + @@ -287,11 +290,9 @@ function renderLotOccupantTypes(): void { cityssm.postJSON( los.urlPrefix + '/admin/doAddLotOccupantType', formElement, - (responseJSON: { - success: boolean - errorMessage?: string - lotOccupantTypes?: recordTypes.LotOccupantType[] - }) => { + (rawResponseJSON) => { + const responseJSON = rawResponseJSON as ResponseJSON + if (responseJSON.success) { lotOccupantTypes = responseJSON.lotOccupantTypes! renderLotOccupantTypes() diff --git a/public-typescript/adminTables/adminTablesLotStatuses.js b/public-typescript/adminTables/adminTablesLotStatuses.js index 8cad78aa..8b5b8e57 100644 --- a/public-typescript/adminTables/adminTablesLotStatuses.js +++ b/public-typescript/adminTables/adminTablesLotStatuses.js @@ -1,12 +1,14 @@ "use strict"; +/* eslint-disable @typescript-eslint/indent */ /* eslint-disable @typescript-eslint/no-non-null-assertion, unicorn/prefer-module */ Object.defineProperty(exports, "__esModule", { value: true }); let lotStatuses = exports.lotStatuses; delete exports.lotStatuses; function updateLotStatus(submitEvent) { submitEvent.preventDefault(); - cityssm.postJSON(los.urlPrefix + '/admin/doUpdateLotStatus', submitEvent.currentTarget, (responseJSON) => { + cityssm.postJSON(los.urlPrefix + '/admin/doUpdateLotStatus', submitEvent.currentTarget, (rawResponseJSON) => { var _a; + const responseJSON = rawResponseJSON; if (responseJSON.success) { lotStatuses = responseJSON.lotStatuses; bulmaJS.alert({ @@ -29,8 +31,9 @@ function deleteLotStatus(clickEvent) { function doDelete() { cityssm.postJSON(los.urlPrefix + '/admin/doDeleteLotStatus', { lotStatusId - }, (responseJSON) => { + }, (rawResponseJSON) => { var _a; + const responseJSON = rawResponseJSON; if (responseJSON.success) { lotStatuses = responseJSON.lotStatuses; if (lotStatuses.length === 0) { @@ -76,8 +79,9 @@ function moveLotStatus(clickEvent) { : 'doMoveLotStatusDown'), { lotStatusId, moveToEnd: clickEvent.shiftKey ? '1' : '0' - }, (responseJSON) => { + }, (rawResponseJSON) => { var _a; + const responseJSON = rawResponseJSON; if (responseJSON.success) { lotStatuses = responseJSON.lotStatuses; renderLotStatuses(); @@ -151,8 +155,9 @@ function renderLotStatuses() { document.querySelector('#form--addLotStatus').addEventListener('submit', (submitEvent) => { submitEvent.preventDefault(); const formElement = submitEvent.currentTarget; - cityssm.postJSON(los.urlPrefix + '/admin/doAddLotStatus', formElement, (responseJSON) => { + cityssm.postJSON(los.urlPrefix + '/admin/doAddLotStatus', formElement, (rawResponseJSON) => { var _a; + const responseJSON = rawResponseJSON; if (responseJSON.success) { lotStatuses = responseJSON.lotStatuses; renderLotStatuses(); diff --git a/public-typescript/adminTables/adminTablesLotStatuses.ts b/public-typescript/adminTables/adminTablesLotStatuses.ts index 2b1139da..1d8a32d6 100644 --- a/public-typescript/adminTables/adminTablesLotStatuses.ts +++ b/public-typescript/adminTables/adminTablesLotStatuses.ts @@ -1,3 +1,4 @@ +/* eslint-disable @typescript-eslint/indent */ /* eslint-disable @typescript-eslint/no-non-null-assertion, unicorn/prefer-module */ import type * as globalTypes from '../../types/globalTypes' @@ -15,17 +16,25 @@ declare const los: globalTypes.LOS let lotStatuses: recordTypes.LotStatus[] = exports.lotStatuses delete exports.lotStatuses +type ResponseJSON = + | { + success: true + lotStatuses: recordTypes.LotStatus[] + } + | { + success: false + errorMessage: string + } + function updateLotStatus(submitEvent: SubmitEvent): void { submitEvent.preventDefault() cityssm.postJSON( los.urlPrefix + '/admin/doUpdateLotStatus', submitEvent.currentTarget, - (responseJSON: { - success: boolean - errorMessage?: string - lotStatuses?: recordTypes.LotStatus[] - }) => { + (rawResponseJSON) => { + const responseJSON = rawResponseJSON as ResponseJSON + if (responseJSON.success) { lotStatuses = responseJSON.lotStatuses! @@ -57,11 +66,9 @@ function deleteLotStatus(clickEvent: Event): void { { lotStatusId }, - (responseJSON: { - success: boolean - errorMessage?: string - lotStatuses?: recordTypes.LotStatus[] - }) => { + (rawResponseJSON) => { + const responseJSON = rawResponseJSON as ResponseJSON + if (responseJSON.success) { lotStatuses = responseJSON.lotStatuses! @@ -116,11 +123,9 @@ function moveLotStatus(clickEvent: MouseEvent): void { lotStatusId, moveToEnd: clickEvent.shiftKey ? '1' : '0' }, - (responseJSON: { - success: boolean - errorMessage?: string - lotStatuses?: recordTypes.LotStatus[] - }) => { + (rawResponseJSON) => { + const responseJSON = rawResponseJSON as ResponseJSON + if (responseJSON.success) { lotStatuses = responseJSON.lotStatuses! renderLotStatuses() @@ -224,11 +229,9 @@ function renderLotStatuses(): void { cityssm.postJSON( los.urlPrefix + '/admin/doAddLotStatus', formElement, - (responseJSON: { - success: boolean - errorMessage?: string - lotStatuses?: recordTypes.LotStatus[] - }) => { + (rawResponseJSON) => { + const responseJSON = rawResponseJSON as ResponseJSON + if (responseJSON.success) { lotStatuses = responseJSON.lotStatuses! renderLotStatuses() diff --git a/public-typescript/adminTables/adminTablesWorkOrderMilestoneTypes.js b/public-typescript/adminTables/adminTablesWorkOrderMilestoneTypes.js index a5a2b319..b8a6736d 100644 --- a/public-typescript/adminTables/adminTablesWorkOrderMilestoneTypes.js +++ b/public-typescript/adminTables/adminTablesWorkOrderMilestoneTypes.js @@ -1,12 +1,14 @@ "use strict"; +/* eslint-disable @typescript-eslint/indent */ /* eslint-disable @typescript-eslint/no-non-null-assertion, unicorn/prefer-module */ Object.defineProperty(exports, "__esModule", { value: true }); let workOrderMilestoneTypes = exports.workOrderMilestoneTypes; delete exports.workOrderMilestoneTypes; function updateWorkOrderMilestoneType(submitEvent) { submitEvent.preventDefault(); - cityssm.postJSON(los.urlPrefix + '/admin/doUpdateWorkOrderMilestoneType', submitEvent.currentTarget, (responseJSON) => { + cityssm.postJSON(los.urlPrefix + '/admin/doUpdateWorkOrderMilestoneType', submitEvent.currentTarget, (rawResponseJSON) => { var _a; + const responseJSON = rawResponseJSON; if (responseJSON.success) { workOrderMilestoneTypes = responseJSON.workOrderMilestoneTypes; bulmaJS.alert({ @@ -29,8 +31,9 @@ function deleteWorkOrderMilestoneType(clickEvent) { function doDelete() { cityssm.postJSON(los.urlPrefix + '/admin/doDeleteWorkOrderMilestoneType', { workOrderMilestoneTypeId - }, (responseJSON) => { + }, (rawResponseJSON) => { var _a; + const responseJSON = rawResponseJSON; if (responseJSON.success) { workOrderMilestoneTypes = responseJSON.workOrderMilestoneTypes; if (workOrderMilestoneTypes.length === 0) { @@ -76,8 +79,9 @@ function moveWorkOrderMilestoneType(clickEvent) { : 'doMoveWorkOrderMilestoneTypeDown'), { workOrderMilestoneTypeId, moveToEnd: clickEvent.shiftKey ? '1' : '0' - }, (responseJSON) => { + }, (rawResponseJSON) => { var _a; + const responseJSON = rawResponseJSON; if (responseJSON.success) { workOrderMilestoneTypes = responseJSON.workOrderMilestoneTypes; renderWorkOrderMilestoneTypes(); @@ -149,8 +153,9 @@ function renderWorkOrderMilestoneTypes() { document.querySelector('#form--addWorkOrderMilestoneType').addEventListener('submit', (submitEvent) => { submitEvent.preventDefault(); const formElement = submitEvent.currentTarget; - cityssm.postJSON(los.urlPrefix + '/admin/doAddWorkOrderMilestoneType', formElement, (responseJSON) => { + cityssm.postJSON(los.urlPrefix + '/admin/doAddWorkOrderMilestoneType', formElement, (rawResponseJSON) => { var _a; + const responseJSON = rawResponseJSON; if (responseJSON.success) { workOrderMilestoneTypes = responseJSON.workOrderMilestoneTypes; renderWorkOrderMilestoneTypes(); diff --git a/public-typescript/adminTables/adminTablesWorkOrderMilestoneTypes.ts b/public-typescript/adminTables/adminTablesWorkOrderMilestoneTypes.ts index 5400a550..118ab760 100644 --- a/public-typescript/adminTables/adminTablesWorkOrderMilestoneTypes.ts +++ b/public-typescript/adminTables/adminTablesWorkOrderMilestoneTypes.ts @@ -1,3 +1,4 @@ +/* eslint-disable @typescript-eslint/indent */ /* eslint-disable @typescript-eslint/no-non-null-assertion, unicorn/prefer-module */ import type * as globalTypes from '../../types/globalTypes' @@ -16,17 +17,25 @@ let workOrderMilestoneTypes: recordTypes.WorkOrderMilestoneType[] = exports.workOrderMilestoneTypes delete exports.workOrderMilestoneTypes +type ResponseJSON = + | { + success: true + workOrderMilestoneTypes: recordTypes.WorkOrderMilestoneType[] + } + | { + success: false + errorMessage: string + } + function updateWorkOrderMilestoneType(submitEvent: SubmitEvent): void { submitEvent.preventDefault() cityssm.postJSON( los.urlPrefix + '/admin/doUpdateWorkOrderMilestoneType', submitEvent.currentTarget, - (responseJSON: { - success: boolean - errorMessage?: string - workOrderMilestoneTypes?: recordTypes.WorkOrderMilestoneType[] - }) => { + (rawResponseJSON) => { + const responseJSON = rawResponseJSON as ResponseJSON + if (responseJSON.success) { workOrderMilestoneTypes = responseJSON.workOrderMilestoneTypes! @@ -59,11 +68,9 @@ function deleteWorkOrderMilestoneType(clickEvent: Event): void { { workOrderMilestoneTypeId }, - (responseJSON: { - success: boolean - errorMessage?: string - workOrderMilestoneTypes?: recordTypes.WorkOrderMilestoneType[] - }) => { + (rawResponseJSON) => { + const responseJSON = rawResponseJSON as ResponseJSON + if (responseJSON.success) { workOrderMilestoneTypes = responseJSON.workOrderMilestoneTypes! @@ -119,11 +126,9 @@ function moveWorkOrderMilestoneType(clickEvent: MouseEvent): void { workOrderMilestoneTypeId, moveToEnd: clickEvent.shiftKey ? '1' : '0' }, - (responseJSON: { - success: boolean - errorMessage?: string - workOrderMilestoneTypes?: recordTypes.WorkOrderMilestoneType[] - }) => { + (rawResponseJSON) => { + const responseJSON = rawResponseJSON as ResponseJSON + if (responseJSON.success) { workOrderMilestoneTypes = responseJSON.workOrderMilestoneTypes! renderWorkOrderMilestoneTypes() @@ -225,11 +230,9 @@ function renderWorkOrderMilestoneTypes(): void { cityssm.postJSON( los.urlPrefix + '/admin/doAddWorkOrderMilestoneType', formElement, - (responseJSON: { - success: boolean - errorMessage?: string - workOrderMilestoneTypes?: recordTypes.WorkOrderMilestoneType[] - }) => { + (rawResponseJSON) => { + const responseJSON = rawResponseJSON as ResponseJSON + if (responseJSON.success) { workOrderMilestoneTypes = responseJSON.workOrderMilestoneTypes! renderWorkOrderMilestoneTypes() diff --git a/public-typescript/adminTables/adminTablesWorkOrderTypes.js b/public-typescript/adminTables/adminTablesWorkOrderTypes.js index 72dbc145..1dc13ff6 100644 --- a/public-typescript/adminTables/adminTablesWorkOrderTypes.js +++ b/public-typescript/adminTables/adminTablesWorkOrderTypes.js @@ -1,12 +1,14 @@ "use strict"; +/* eslint-disable @typescript-eslint/indent */ /* eslint-disable @typescript-eslint/no-non-null-assertion, unicorn/prefer-module */ Object.defineProperty(exports, "__esModule", { value: true }); let workOrderTypes = exports.workOrderTypes; delete exports.workOrderTypes; function updateWorkOrderType(submitEvent) { submitEvent.preventDefault(); - cityssm.postJSON(los.urlPrefix + '/admin/doUpdateWorkOrderType', submitEvent.currentTarget, (responseJSON) => { + cityssm.postJSON(los.urlPrefix + '/admin/doUpdateWorkOrderType', submitEvent.currentTarget, (rawResponseJSON) => { var _a; + const responseJSON = rawResponseJSON; if (responseJSON.success) { workOrderTypes = responseJSON.workOrderTypes; bulmaJS.alert({ @@ -29,8 +31,9 @@ const deleteWorkOrderType = (clickEvent) => { function doDelete() { cityssm.postJSON(los.urlPrefix + '/admin/doDeleteWorkOrderType', { workOrderTypeId - }, (responseJSON) => { + }, (rawResponseJSON) => { var _a; + const responseJSON = rawResponseJSON; if (responseJSON.success) { workOrderTypes = responseJSON.workOrderTypes; if (workOrderTypes.length === 0) { @@ -71,11 +74,14 @@ function moveWorkOrderType(clickEvent) { const workOrderTypeId = tableRowElement.dataset.workOrderTypeId; cityssm.postJSON(los.urlPrefix + '/admin/' + - (buttonElement.dataset.direction === 'up' ? 'doMoveWorkOrderTypeUp' : 'doMoveWorkOrderTypeDown'), { + (buttonElement.dataset.direction === 'up' + ? 'doMoveWorkOrderTypeUp' + : 'doMoveWorkOrderTypeDown'), { workOrderTypeId, moveToEnd: clickEvent.shiftKey ? '1' : '0' - }, (responseJSON) => { + }, (rawResponseJSON) => { var _a; + const responseJSON = rawResponseJSON; if (responseJSON.success) { workOrderTypes = responseJSON.workOrderTypes; renderWorkOrderTypes(); @@ -101,7 +107,8 @@ function renderWorkOrderTypes() { containerElement.innerHTML = ''; for (const workOrderType of workOrderTypes) { const tableRowElement = document.createElement('tr'); - tableRowElement.dataset.workOrderTypeId = workOrderType.workOrderTypeId.toString(); + tableRowElement.dataset.workOrderTypeId = + workOrderType.workOrderTypeId.toString(); tableRowElement.innerHTML = '' + '' + @@ -132,7 +139,9 @@ function renderWorkOrderTypes() { '' + '' + ''; - tableRowElement.querySelector('form').addEventListener('submit', updateWorkOrderType); + tableRowElement + .querySelector('form') + .addEventListener('submit', updateWorkOrderType); tableRowElement.querySelector('.button--moveWorkOrderTypeUp').addEventListener('click', moveWorkOrderType); tableRowElement.querySelector('.button--moveWorkOrderTypeDown').addEventListener('click', moveWorkOrderType); tableRowElement @@ -141,11 +150,13 @@ function renderWorkOrderTypes() { containerElement.append(tableRowElement); } } +; document.querySelector('#form--addWorkOrderType').addEventListener('submit', (submitEvent) => { submitEvent.preventDefault(); const formElement = submitEvent.currentTarget; - cityssm.postJSON(los.urlPrefix + '/admin/doAddWorkOrderType', formElement, (responseJSON) => { + cityssm.postJSON(los.urlPrefix + '/admin/doAddWorkOrderType', formElement, (rawResponseJSON) => { var _a; + const responseJSON = rawResponseJSON; if (responseJSON.success) { workOrderTypes = responseJSON.workOrderTypes; renderWorkOrderTypes(); diff --git a/public-typescript/adminTables/adminTablesWorkOrderTypes.ts b/public-typescript/adminTables/adminTablesWorkOrderTypes.ts index 74d89fbe..93e5ad46 100644 --- a/public-typescript/adminTables/adminTablesWorkOrderTypes.ts +++ b/public-typescript/adminTables/adminTablesWorkOrderTypes.ts @@ -1,3 +1,4 @@ +/* eslint-disable @typescript-eslint/indent */ /* eslint-disable @typescript-eslint/no-non-null-assertion, unicorn/prefer-module */ import type * as globalTypes from '../../types/globalTypes' @@ -15,17 +16,25 @@ declare const los: globalTypes.LOS let workOrderTypes: recordTypes.WorkOrderType[] = exports.workOrderTypes delete exports.workOrderTypes +type ResponseJSON = + | { + success: true + workOrderTypes: recordTypes.WorkOrderType[] + } + | { + success: false + errorMessage: string + } + function updateWorkOrderType(submitEvent: SubmitEvent): void { submitEvent.preventDefault() cityssm.postJSON( los.urlPrefix + '/admin/doUpdateWorkOrderType', submitEvent.currentTarget, - (responseJSON: { - success: boolean - errorMessage?: string - workOrderTypes?: recordTypes.WorkOrderType[] - }) => { + (rawResponseJSON) => { + const responseJSON = rawResponseJSON as ResponseJSON + if (responseJSON.success) { workOrderTypes = responseJSON.workOrderTypes! @@ -45,7 +54,9 @@ function updateWorkOrderType(submitEvent: SubmitEvent): void { } const deleteWorkOrderType = (clickEvent: Event): void => { - const tableRowElement = (clickEvent.currentTarget as HTMLElement).closest('tr')! + const tableRowElement = (clickEvent.currentTarget as HTMLElement).closest( + 'tr' + )! const workOrderTypeId = tableRowElement.dataset.workOrderTypeId @@ -55,11 +66,9 @@ const deleteWorkOrderType = (clickEvent: Event): void => { { workOrderTypeId }, - (responseJSON: { - success: boolean - errorMessage?: string - workOrderTypes?: recordTypes.WorkOrderType[] - }) => { + (rawResponseJSON) => { + const responseJSON = rawResponseJSON as ResponseJSON + if (responseJSON.success) { workOrderTypes = responseJSON.workOrderTypes! @@ -106,17 +115,17 @@ function moveWorkOrderType(clickEvent: MouseEvent): void { cityssm.postJSON( los.urlPrefix + - '/admin/' + - (buttonElement.dataset.direction === 'up' ? 'doMoveWorkOrderTypeUp' : 'doMoveWorkOrderTypeDown'), + '/admin/' + + (buttonElement.dataset.direction === 'up' + ? 'doMoveWorkOrderTypeUp' + : 'doMoveWorkOrderTypeDown'), { workOrderTypeId, moveToEnd: clickEvent.shiftKey ? '1' : '0' }, - (responseJSON: { - success: boolean - errorMessage?: string - workOrderTypes?: recordTypes.WorkOrderType[] - }) => { + (rawResponseJSON) => { + const responseJSON = rawResponseJSON as ResponseJSON + if (responseJSON.success) { workOrderTypes = responseJSON.workOrderTypes! renderWorkOrderTypes() @@ -132,7 +141,9 @@ function moveWorkOrderType(clickEvent: MouseEvent): void { } function renderWorkOrderTypes(): void { - const containerElement = document.querySelector('#container--workOrderTypes') as HTMLTableSectionElement + const containerElement = document.querySelector( + '#container--workOrderTypes' + ) as HTMLTableSectionElement if (workOrderTypes.length === 0) { containerElement.innerHTML = ` @@ -147,13 +158,14 @@ function renderWorkOrderTypes(): void { for (const workOrderType of workOrderTypes) { const tableRowElement = document.createElement('tr') - tableRowElement.dataset.workOrderTypeId = workOrderType.workOrderTypeId!.toString() + tableRowElement.dataset.workOrderTypeId = + workOrderType.workOrderTypeId.toString() tableRowElement.innerHTML = '' + '' + '' + ('
' + '
' + @@ -184,13 +196,19 @@ function renderWorkOrderTypes(): void { '
' + '' - tableRowElement.querySelector('form')!.addEventListener('submit', updateWorkOrderType); (tableRowElement.querySelector('.button--moveWorkOrderTypeUp') as HTMLButtonElement).addEventListener( - 'click', - moveWorkOrderType - ); (tableRowElement.querySelector('.button--moveWorkOrderTypeDown') as HTMLButtonElement).addEventListener( - 'click', - moveWorkOrderType - ) + tableRowElement + .querySelector('form')! + .addEventListener('submit', updateWorkOrderType) + ;( + tableRowElement.querySelector( + '.button--moveWorkOrderTypeUp' + ) as HTMLButtonElement + ).addEventListener('click', moveWorkOrderType) + ;( + tableRowElement.querySelector( + '.button--moveWorkOrderTypeDown' + ) as HTMLButtonElement + ).addEventListener('click', moveWorkOrderType) tableRowElement .querySelector('.button--deleteWorkOrderType')! @@ -198,36 +216,34 @@ function renderWorkOrderTypes(): void { containerElement.append(tableRowElement) } -}(document.querySelector('#form--addWorkOrderType') as HTMLFormElement).addEventListener( - 'submit', - (submitEvent: SubmitEvent) => { - submitEvent.preventDefault() +} +;( + document.querySelector('#form--addWorkOrderType') as HTMLFormElement +).addEventListener('submit', (submitEvent: SubmitEvent) => { + submitEvent.preventDefault() - const formElement = submitEvent.currentTarget as HTMLFormElement + const formElement = submitEvent.currentTarget as HTMLFormElement - cityssm.postJSON( - los.urlPrefix + '/admin/doAddWorkOrderType', - formElement, - (responseJSON: { - success: boolean - errorMessage?: string - workOrderTypes?: recordTypes.WorkOrderType[] - }) => { - if (responseJSON.success) { - workOrderTypes = responseJSON.workOrderTypes! - renderWorkOrderTypes() - formElement.reset() - formElement.querySelector('input')!.focus() - } else { - bulmaJS.alert({ - title: 'Error Adding Work Order Type', - message: responseJSON.errorMessage ?? '', - contextualColorName: 'danger' - }) - } + cityssm.postJSON( + los.urlPrefix + '/admin/doAddWorkOrderType', + formElement, + (rawResponseJSON) => { + const responseJSON = rawResponseJSON as ResponseJSON + + if (responseJSON.success) { + workOrderTypes = responseJSON.workOrderTypes! + renderWorkOrderTypes() + formElement.reset() + formElement.querySelector('input')!.focus() + } else { + bulmaJS.alert({ + title: 'Error Adding Work Order Type', + message: responseJSON.errorMessage ?? '', + contextualColorName: 'danger' + }) } - ) - } -) + } + ) +}) renderWorkOrderTypes() diff --git a/public/javascripts/adminDatabase.min.js b/public/javascripts/adminDatabase.min.js index 59957f65..f40e8f47 100644 --- a/public/javascripts/adminDatabase.min.js +++ b/public/javascripts/adminDatabase.min.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{var e,a;const t=exports.los;function s(){cityssm.postJSON(t.urlPrefix+"/admin/doBackupDatabase",{},e=>{var a;const t=e;t.success?bulmaJS.alert({title:"Database Backed Up Successfully",message:`Backed up to ${t.fileName}`,contextualColorName:"success"}):bulmaJS.alert({title:"Error Backing Up Database",message:null!==(a=t.errorMessage)&&void 0!==a?a:"",contextualColorName:"danger"})})}function u(){cityssm.postJSON(t.urlPrefix+"/admin/doCleanupDatabase",{},e=>{var a;const t=e;t.success?bulmaJS.alert({title:"Database Cleaned Up Successfully",message:`${t.inactivatedRecordCount} records inactivated,\n ${t.purgedRecordCount} permanently deleted.`,contextualColorName:"success"}):bulmaJS.alert({title:"Error Cleaning Database",message:null!==(a=t.errorMessage)&&void 0!==a?a:"",contextualColorName:"danger"})})}null===(e=document.querySelector("#button--cleanupDatabase"))||void 0===e||e.addEventListener("click",()=>{bulmaJS.confirm({title:"Cleanup Database",message:"Are you sure you want to cleanup up the database?",okButton:{text:"Yes, Cleanup Database",callbackFunction:u}})}),null===(a=document.querySelector("#button--backupDatabase"))||void 0===a||a.addEventListener("click",()=>{bulmaJS.confirm({title:"Backup Database",message:"Are you sure you want to backup up the database?",okButton:{text:"Yes, Backup Database",callbackFunction:s}})})})(); \ No newline at end of file +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{var e,a;const t=exports.los;function s(){cityssm.postJSON(t.urlPrefix+"/admin/doBackupDatabase",{},e=>{var a;const t=e;t.success?bulmaJS.alert({title:"Database Backed Up Successfully",message:`Backed up to ${t.fileName}
\n To request a copy of the backup, contact your application administrator.`,messageIsHtml:!0,contextualColorName:"success"}):bulmaJS.alert({title:"Error Backing Up Database",message:null!==(a=t.errorMessage)&&void 0!==a?a:"",contextualColorName:"danger"})})}function o(){cityssm.postJSON(t.urlPrefix+"/admin/doCleanupDatabase",{},e=>{var a;const t=e;t.success?bulmaJS.alert({title:"Database Cleaned Up Successfully",message:`${t.inactivatedRecordCount} records inactivated,\n ${t.purgedRecordCount} permanently deleted.`,contextualColorName:"success"}):bulmaJS.alert({title:"Error Cleaning Database",message:null!==(a=t.errorMessage)&&void 0!==a?a:"",contextualColorName:"danger"})})}null===(e=document.querySelector("#button--cleanupDatabase"))||void 0===e||e.addEventListener("click",()=>{bulmaJS.confirm({title:"Cleanup Database",message:"Are you sure you want to cleanup up the database?",okButton:{text:"Yes, Cleanup Database",callbackFunction:o}})}),null===(a=document.querySelector("#button--backupDatabase"))||void 0===a||a.addEventListener("click",()=>{bulmaJS.confirm({title:"Backup Database",message:"Are you sure you want to backup up the database?",okButton:{text:"Yes, Backup Database",callbackFunction:s}})})})(); \ No newline at end of file diff --git a/public/javascripts/adminFees.min.js b/public/javascripts/adminFees.min.js index f43a1e6f..99906d15 100644 --- a/public/javascripts/adminFees.min.js +++ b/public/javascripts/adminFees.min.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=exports.los,t=document.querySelector("#container--feeCategories");let s=exports.feeCategories;function o(){var o,d,u,y,f,p,m,g,v,C,S,b,F;if(0!==s.length){t.innerHTML="";for(const q of s){const s=document.createElement("section");s.className="panel container--feeCategory",s.dataset.feeCategoryId=q.feeCategoryId.toString(),s.innerHTML='

'+cityssm.escapeHTML(null!==(o=q.feeCategory)&&void 0!==o?o:"")+'

'+(0===q.fees.length?'
':"")+'
'+e.getMoveUpDownButtonFieldHTML("button--moveFeeCategoryUp","button--moveFeeCategoryDown")+"
",0===q.fees.length&&(s.insertAdjacentHTML("beforeend",`
\n
\n

\n There are no fees in the\n "${cityssm.escapeHTML(null!==(d=q.feeCategory)&&void 0!==d?d:"")}"\n category.\n

\n
\n
`),s.querySelector(".button--deleteFeeCategory").addEventListener("click",n));for(const t of q.fees){const o=document.createElement("div");o.className="panel-block is-block container--fee",o.dataset.feeId=t.feeId.toString();const a=null!==(u=t.isRequired)&&void 0!==u&&u||void 0!==t.occupancyTypeId||void 0!==t.lotTypeId;o.innerHTML='

'+cityssm.escapeHTML(null!==(y=t.feeName)&&void 0!==y?y:"")+"
"+cityssm.escapeHTML(null!==(f=t.feeDescription)&&void 0!==f?f:"").replace(/\n/g,"
")+"

"+(a?'

'+(null!==(p=t.isRequired)&&void 0!==p&&p?'Required':"")+(-1===(null!==(m=t.occupancyTypeId)&&void 0!==m?m:-1)?"":' '+cityssm.escapeHTML(null!==(g=t.occupancyType)&&void 0!==g?g:"")+"")+(-1===(null!==(v=t.lotTypeId)&&void 0!==v?v:-1)?"":' '+cityssm.escapeHTML(null!==(C=t.lotType)&&void 0!==C?C:"")+"")+"

":"")+'
'+(t.feeFunction?cityssm.escapeHTML(t.feeFunction)+"
Fee Function":"$"+(null!==(S=t.feeAmount)&&void 0!==S?S:0).toFixed(2)+"
Fee")+'
'+(t.taxPercentage?t.taxPercentage.toString()+"%":"$"+(null!==(b=t.taxAmount)&&void 0!==b?b:0).toFixed(2))+'
Tax
'+(t.includeQuantity?cityssm.escapeHTML(null!==(F=t.quantityUnit)&&void 0!==F?F:"")+"
Quantity":"")+'
'+e.getMoveUpDownButtonFieldHTML("button--moveFeeUp","button--moveFeeDown")+"
",o.querySelector("a").addEventListener("click",c),o.querySelector(".button--moveFeeUp").addEventListener("click",i),o.querySelector(".button--moveFeeDown").addEventListener("click",i),s.append(o)}s.querySelector(".button--editFeeCategory").addEventListener("click",a),s.querySelector(".button--addFee").addEventListener("click",l),s.querySelector(".button--moveFeeCategoryUp").addEventListener("click",r),s.querySelector(".button--moveFeeCategoryDown").addEventListener("click",r),t.append(s)}}else t.innerHTML='
\n

There are no available fees.

\n
'}function a(t){const a=Number.parseInt(t.currentTarget.closest(".container--feeCategory").dataset.feeCategoryId,10),n=s.find(e=>e.feeCategoryId===a);let r;function l(t){t.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doUpdateFeeCategory",t.currentTarget,e=>{var t;e.success?(s=e.feeCategories,r(),o()):bulmaJS.alert({title:"Error Updating Fee Category",message:null!==(t=e.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}cityssm.openHtmlModal("adminFees-editFeeCategory",{onshow(e){e.querySelector("#feeCategoryEdit--feeCategoryId").value=n.feeCategoryId.toString(),e.querySelector("#feeCategoryEdit--feeCategory").value=n.feeCategory},onshown(e,t){bulmaJS.toggleHtmlClipped(),r=t,e.querySelector("form").addEventListener("submit",l),e.querySelector("#feeCategoryEdit--feeCategory").focus()},onremoved:()=>{bulmaJS.toggleHtmlClipped()}})}function n(t){const a=Number.parseInt(t.currentTarget.closest(".container--feeCategory").dataset.feeCategoryId,10);bulmaJS.confirm({title:"Delete Fee Category?",message:"Are you sure you want to delete this fee category?",contextualColorName:"warning",okButton:{text:"Yes, Delete the Fee Category",callbackFunction:function(){cityssm.postJSON(e.urlPrefix+"/admin/doDeleteFeeCategory",{feeCategoryId:a},e=>{var t;e.success?(s=e.feeCategories,o()):bulmaJS.alert({title:"Error Updating Fee Category",message:null!==(t=e.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}}})}function r(t){const a=t.currentTarget,n=a.closest(".container--feeCategory").dataset.feeCategoryId;cityssm.postJSON(e.urlPrefix+"/admin/"+("up"===a.dataset.direction?"doMoveFeeCategoryUp":"doMoveFeeCategoryDown"),{feeCategoryId:n,moveToEnd:t.shiftKey?"1":"0"},e=>{var t;e.success?(s=e.feeCategories,o()):bulmaJS.alert({title:"Error Moving Fee Category",message:null!==(t=e.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}function l(t){const a=Number.parseInt(t.currentTarget.closest(".container--feeCategory").dataset.feeCategoryId,10);let n;function r(t){t.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doAddFee",t.currentTarget,e=>{var t;e.success?(s=e.feeCategories,n(),o()):bulmaJS.alert({title:"Error Adding Fee",message:null!==(t=e.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}cityssm.openHtmlModal("adminFees-addFee",{onshow(t){const o=t.querySelector("#feeAdd--feeCategoryId");for(const e of s){const t=document.createElement("option");t.value=e.feeCategoryId.toString(),t.textContent=e.feeCategory,e.feeCategoryId===a&&(t.selected=!0),o.append(t)}const n=t.querySelector("#feeAdd--occupancyTypeId");for(const e of exports.occupancyTypes){const t=document.createElement("option");t.value=e.occupancyTypeId.toString(),t.textContent=e.occupancyType,n.append(t)}const r=t.querySelector("#feeAdd--lotTypeId");for(const e of exports.lotTypes){const t=document.createElement("option");t.value=e.lotTypeId.toString(),t.textContent=e.lotType,r.append(t)}t.querySelector("#feeAdd--taxPercentage").value=exports.taxPercentageDefault.toString(),e.populateAliases(t)},onshown(e,t){bulmaJS.toggleHtmlClipped(),n=t,e.querySelector("form").addEventListener("submit",r),e.querySelector("#feeAdd--feeName").focus(),e.querySelector("#feeAdd--feeFunction").addEventListener("change",()=>{const t=e.querySelector("#feeAdd--feeAmount"),s=e.querySelector("#feeAdd--feeFunction");""===s.value?(s.closest(".select").classList.remove("is-success"),t.classList.add("is-success"),t.disabled=!1):(s.closest(".select").classList.add("is-success"),t.classList.remove("is-success"),t.disabled=!0)}),e.querySelector("#feeAdd--taxPercentage").addEventListener("keyup",()=>{const t=e.querySelector("#feeAdd--taxAmount"),s=e.querySelector("#feeAdd--taxPercentage");""===s.value?(s.classList.remove("is-success"),t.classList.add("is-success"),t.disabled=!1):(s.classList.add("is-success"),t.classList.remove("is-success"),t.disabled=!0)}),e.querySelector("#feeAdd--includeQuantity").addEventListener("change",()=>{e.querySelector("#feeAdd--quantityUnit").disabled=""===e.querySelector("#feeAdd--includeQuantity").value})},onremoved(){bulmaJS.toggleHtmlClipped()}})}function c(t){t.preventDefault();const a=t.currentTarget.closest(".container--fee"),n=Number.parseInt(a.dataset.feeId,10),r=Number.parseInt(a.closest(".container--feeCategory").dataset.feeCategoryId),l=s.find(e=>e.feeCategoryId===r).fees.find(e=>e.feeId===n);let c,i;function d(t){t.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doUpdateFee",t.currentTarget,e=>{var t;e.success?(s=e.feeCategories,c(),o()):bulmaJS.alert({title:"Error Updating Fee",message:null!==(t=e.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}function u(t){t.preventDefault(),bulmaJS.confirm({title:"Delete Fee?",message:"Are you sure you want to delete this fee?",contextualColorName:"warning",okButton:{text:"Yes, Delete the Fee",callbackFunction:function(){cityssm.postJSON(e.urlPrefix+"/admin/doDeleteFee",{feeId:n},e=>{var t;e.success?(s=e.feeCategories,c(),o()):bulmaJS.alert({title:"Error Deleting Fee",message:null!==(t=e.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}}})}function y(){const e=i.querySelector("#feeEdit--feeAmount"),t=i.querySelector("#feeEdit--feeFunction");""===t.value?(t.closest(".select").classList.remove("is-success"),e.classList.add("is-success"),e.disabled=!1):(t.closest(".select").classList.add("is-success"),e.classList.remove("is-success"),e.disabled=!0)}function f(){const e=i.querySelector("#feeEdit--taxAmount"),t=i.querySelector("#feeEdit--taxPercentage");""===t.value?(t.classList.remove("is-success"),e.classList.add("is-success"),e.disabled=!1):(t.classList.add("is-success"),e.classList.remove("is-success"),e.disabled=!0)}function p(){const e=i.querySelector("#feeEdit--includeQuantity").value;i.querySelector("#feeEdit--quantityUnit").disabled=""===e}cityssm.openHtmlModal("adminFees-editFee",{onshow(t){var o,a,n;i=t,t.querySelector("#feeEdit--feeId").value=l.feeId.toString();const c=t.querySelector("#feeEdit--feeCategoryId");for(const e of s){const t=document.createElement("option");t.value=e.feeCategoryId.toString(),t.textContent=e.feeCategory,e.feeCategoryId===r&&(t.selected=!0),c.append(t)}t.querySelector("#feeEdit--feeName").value=l.feeName,t.querySelector("#feeEdit--feeDescription").value=l.feeDescription;const d=t.querySelector("#feeEdit--occupancyTypeId");for(const e of exports.occupancyTypes){const t=document.createElement("option");t.value=e.occupancyTypeId.toString(),t.textContent=e.occupancyType,e.occupancyTypeId===l.occupancyTypeId&&(t.selected=!0),d.append(t)}const u=t.querySelector("#feeEdit--lotTypeId");for(const e of exports.lotTypes){const t=document.createElement("option");t.value=e.lotTypeId.toString(),t.textContent=e.lotType,e.lotTypeId===l.lotTypeId&&(t.selected=!0),u.append(t)}t.querySelector("#feeEdit--feeAmount").value=l.feeAmount?l.feeAmount.toFixed(2):"",t.querySelector("#feeEdit--feeFunction").addEventListener("change",y),y(),t.querySelector("#feeEdit--taxAmount").value=l.taxAmount?l.taxAmount.toFixed(2):"";const m=t.querySelector("#feeEdit--taxPercentage");m.value=l.taxPercentage?l.taxPercentage.toString():"",m.addEventListener("keyup",f),f();const g=t.querySelector("#feeEdit--includeQuantity");null!==(o=l.includeQuantity)&&void 0!==o&&o&&(g.value="1"),g.addEventListener("change",p),t.querySelector("#feeEdit--quantityUnit").value=null!==(a=l.quantityUnit)&&void 0!==a?a:"",p(),null!==(n=l.isRequired)&&void 0!==n&&n&&(t.querySelector("#feeEdit--isRequired").value="1"),e.populateAliases(t)},onshown(e,t){bulmaJS.toggleHtmlClipped(),c=t,e.querySelector("form").addEventListener("submit",d),bulmaJS.init(e),e.querySelector(".button--deleteFee").addEventListener("click",u)},onremoved:()=>{bulmaJS.toggleHtmlClipped()}})}function i(t){const a=t.currentTarget,n=a.closest(".container--fee").dataset.feeId;cityssm.postJSON(e.urlPrefix+"/admin/"+("up"===a.dataset.direction?"doMoveFeeUp":"doMoveFeeDown"),{feeId:n,moveToEnd:t.shiftKey?"1":"0"},e=>{var t;e.success?(s=e.feeCategories,o()):bulmaJS.alert({title:"Error Moving Fee",message:null!==(t=e.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}delete exports.feeCategories,document.querySelector("#button--addFeeCategory").addEventListener("click",()=>{let t;function a(a){a.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doAddFeeCategory",a.currentTarget,e=>{var a;e.success?(s=e.feeCategories,t(),o()):bulmaJS.alert({title:"Error Creating Fee Category",message:null!==(a=e.errorMessage)&&void 0!==a?a:"",contextualColorName:"danger"})})}cityssm.openHtmlModal("adminFees-addFeeCategory",{onshown(e,s){bulmaJS.toggleHtmlClipped(),e.querySelector("#feeCategoryAdd--feeCategory").focus(),t=s,e.querySelector("form").addEventListener("submit",a)},onremoved(){bulmaJS.toggleHtmlClipped(),document.querySelector("#button--addFeeCategory").focus()}})}),o()})(); \ No newline at end of file +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=exports.los,t=document.querySelector("#container--feeCategories");let s=exports.feeCategories;function o(){var o,d,u,y,f,p,m,g,v,C,S,b,F;if(0!==s.length){t.innerHTML="";for(const q of s){const s=document.createElement("section");s.className="panel container--feeCategory",s.dataset.feeCategoryId=q.feeCategoryId.toString(),s.innerHTML='

'+cityssm.escapeHTML(null!==(o=q.feeCategory)&&void 0!==o?o:"")+'

'+(0===q.fees.length?'
':"")+'
'+e.getMoveUpDownButtonFieldHTML("button--moveFeeCategoryUp","button--moveFeeCategoryDown")+"
",0===q.fees.length&&(s.insertAdjacentHTML("beforeend",`
\n
\n

\n There are no fees in the\n "${cityssm.escapeHTML(null!==(d=q.feeCategory)&&void 0!==d?d:"")}"\n category.\n

\n
\n
`),s.querySelector(".button--deleteFeeCategory").addEventListener("click",n));for(const t of q.fees){const o=document.createElement("div");o.className="panel-block is-block container--fee",o.dataset.feeId=t.feeId.toString();const a=null!==(u=t.isRequired)&&void 0!==u&&u||void 0!==t.occupancyTypeId||void 0!==t.lotTypeId;o.innerHTML='

'+cityssm.escapeHTML(null!==(y=t.feeName)&&void 0!==y?y:"")+"
"+cityssm.escapeHTML(null!==(f=t.feeDescription)&&void 0!==f?f:"").replace(/\n/g,"
")+"

"+(a?'

'+(null!==(p=t.isRequired)&&void 0!==p&&p?'Required':"")+(-1===(null!==(m=t.occupancyTypeId)&&void 0!==m?m:-1)?"":' '+cityssm.escapeHTML(null!==(g=t.occupancyType)&&void 0!==g?g:"")+"")+(-1===(null!==(v=t.lotTypeId)&&void 0!==v?v:-1)?"":' '+cityssm.escapeHTML(null!==(C=t.lotType)&&void 0!==C?C:"")+"")+"

":"")+'
'+(t.feeFunction?cityssm.escapeHTML(t.feeFunction)+"
Fee Function":"$"+(null!==(S=t.feeAmount)&&void 0!==S?S:0).toFixed(2)+"
Fee")+'
'+(t.taxPercentage?t.taxPercentage.toString()+"%":"$"+(null!==(b=t.taxAmount)&&void 0!==b?b:0).toFixed(2))+'
Tax
'+(t.includeQuantity?cityssm.escapeHTML(null!==(F=t.quantityUnit)&&void 0!==F?F:"")+"
Quantity":"")+'
'+e.getMoveUpDownButtonFieldHTML("button--moveFeeUp","button--moveFeeDown")+"
",o.querySelector("a").addEventListener("click",c),o.querySelector(".button--moveFeeUp").addEventListener("click",i),o.querySelector(".button--moveFeeDown").addEventListener("click",i),s.append(o)}s.querySelector(".button--editFeeCategory").addEventListener("click",a),s.querySelector(".button--addFee").addEventListener("click",l),s.querySelector(".button--moveFeeCategoryUp").addEventListener("click",r),s.querySelector(".button--moveFeeCategoryDown").addEventListener("click",r),t.append(s)}}else t.innerHTML='
\n

There are no available fees.

\n
'}function a(t){const a=Number.parseInt(t.currentTarget.closest(".container--feeCategory").dataset.feeCategoryId,10),n=s.find(e=>e.feeCategoryId===a);let r;function l(t){t.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doUpdateFeeCategory",t.currentTarget,e=>{var t;const a=e;a.success?(s=a.feeCategories,r(),o()):bulmaJS.alert({title:"Error Updating Fee Category",message:null!==(t=a.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}cityssm.openHtmlModal("adminFees-editFeeCategory",{onshow(e){e.querySelector("#feeCategoryEdit--feeCategoryId").value=n.feeCategoryId.toString(),e.querySelector("#feeCategoryEdit--feeCategory").value=n.feeCategory},onshown(e,t){bulmaJS.toggleHtmlClipped(),r=t,e.querySelector("form").addEventListener("submit",l),e.querySelector("#feeCategoryEdit--feeCategory").focus()},onremoved:()=>{bulmaJS.toggleHtmlClipped()}})}function n(t){const a=Number.parseInt(t.currentTarget.closest(".container--feeCategory").dataset.feeCategoryId,10);bulmaJS.confirm({title:"Delete Fee Category?",message:"Are you sure you want to delete this fee category?",contextualColorName:"warning",okButton:{text:"Yes, Delete the Fee Category",callbackFunction:function(){cityssm.postJSON(e.urlPrefix+"/admin/doDeleteFeeCategory",{feeCategoryId:a},e=>{var t;const a=e;a.success?(s=a.feeCategories,o()):bulmaJS.alert({title:"Error Updating Fee Category",message:null!==(t=a.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}}})}function r(t){const a=t.currentTarget,n=a.closest(".container--feeCategory").dataset.feeCategoryId;cityssm.postJSON(e.urlPrefix+"/admin/"+("up"===a.dataset.direction?"doMoveFeeCategoryUp":"doMoveFeeCategoryDown"),{feeCategoryId:n,moveToEnd:t.shiftKey?"1":"0"},e=>{var t;const a=e;a.success?(s=a.feeCategories,o()):bulmaJS.alert({title:"Error Moving Fee Category",message:null!==(t=a.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}function l(t){const a=Number.parseInt(t.currentTarget.closest(".container--feeCategory").dataset.feeCategoryId,10);let n;function r(t){t.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doAddFee",t.currentTarget,e=>{var t;const a=e;a.success?(s=a.feeCategories,n(),o()):bulmaJS.alert({title:"Error Adding Fee",message:null!==(t=a.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}cityssm.openHtmlModal("adminFees-addFee",{onshow(t){const o=t.querySelector("#feeAdd--feeCategoryId");for(const e of s){const t=document.createElement("option");t.value=e.feeCategoryId.toString(),t.textContent=e.feeCategory,e.feeCategoryId===a&&(t.selected=!0),o.append(t)}const n=t.querySelector("#feeAdd--occupancyTypeId");for(const e of exports.occupancyTypes){const t=document.createElement("option");t.value=e.occupancyTypeId.toString(),t.textContent=e.occupancyType,n.append(t)}const r=t.querySelector("#feeAdd--lotTypeId");for(const e of exports.lotTypes){const t=document.createElement("option");t.value=e.lotTypeId.toString(),t.textContent=e.lotType,r.append(t)}t.querySelector("#feeAdd--taxPercentage").value=exports.taxPercentageDefault.toString(),e.populateAliases(t)},onshown(e,t){bulmaJS.toggleHtmlClipped(),n=t,e.querySelector("form").addEventListener("submit",r),e.querySelector("#feeAdd--feeName").focus(),e.querySelector("#feeAdd--feeFunction").addEventListener("change",()=>{const t=e.querySelector("#feeAdd--feeAmount"),s=e.querySelector("#feeAdd--feeFunction");""===s.value?(s.closest(".select").classList.remove("is-success"),t.classList.add("is-success"),t.disabled=!1):(s.closest(".select").classList.add("is-success"),t.classList.remove("is-success"),t.disabled=!0)}),e.querySelector("#feeAdd--taxPercentage").addEventListener("keyup",()=>{const t=e.querySelector("#feeAdd--taxAmount"),s=e.querySelector("#feeAdd--taxPercentage");""===s.value?(s.classList.remove("is-success"),t.classList.add("is-success"),t.disabled=!1):(s.classList.add("is-success"),t.classList.remove("is-success"),t.disabled=!0)}),e.querySelector("#feeAdd--includeQuantity").addEventListener("change",()=>{e.querySelector("#feeAdd--quantityUnit").disabled=""===e.querySelector("#feeAdd--includeQuantity").value})},onremoved(){bulmaJS.toggleHtmlClipped()}})}function c(t){t.preventDefault();const a=t.currentTarget.closest(".container--fee"),n=Number.parseInt(a.dataset.feeId,10),r=Number.parseInt(a.closest(".container--feeCategory").dataset.feeCategoryId),l=s.find(e=>e.feeCategoryId===r).fees.find(e=>e.feeId===n);let c,i;function d(t){t.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doUpdateFee",t.currentTarget,e=>{var t;const a=e;a.success?(s=a.feeCategories,c(),o()):bulmaJS.alert({title:"Error Updating Fee",message:null!==(t=a.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}function u(t){t.preventDefault(),bulmaJS.confirm({title:"Delete Fee?",message:"Are you sure you want to delete this fee?",contextualColorName:"warning",okButton:{text:"Yes, Delete the Fee",callbackFunction:function(){cityssm.postJSON(e.urlPrefix+"/admin/doDeleteFee",{feeId:n},e=>{var t;const a=e;a.success?(s=a.feeCategories,c(),o()):bulmaJS.alert({title:"Error Deleting Fee",message:null!==(t=a.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}}})}function y(){const e=i.querySelector("#feeEdit--feeAmount"),t=i.querySelector("#feeEdit--feeFunction");""===t.value?(t.closest(".select").classList.remove("is-success"),e.classList.add("is-success"),e.disabled=!1):(t.closest(".select").classList.add("is-success"),e.classList.remove("is-success"),e.disabled=!0)}function f(){const e=i.querySelector("#feeEdit--taxAmount"),t=i.querySelector("#feeEdit--taxPercentage");""===t.value?(t.classList.remove("is-success"),e.classList.add("is-success"),e.disabled=!1):(t.classList.add("is-success"),e.classList.remove("is-success"),e.disabled=!0)}function p(){const e=i.querySelector("#feeEdit--includeQuantity").value;i.querySelector("#feeEdit--quantityUnit").disabled=""===e}cityssm.openHtmlModal("adminFees-editFee",{onshow(t){var o,a,n;i=t,t.querySelector("#feeEdit--feeId").value=l.feeId.toString();const c=t.querySelector("#feeEdit--feeCategoryId");for(const e of s){const t=document.createElement("option");t.value=e.feeCategoryId.toString(),t.textContent=e.feeCategory,e.feeCategoryId===r&&(t.selected=!0),c.append(t)}t.querySelector("#feeEdit--feeName").value=l.feeName,t.querySelector("#feeEdit--feeDescription").value=l.feeDescription;const d=t.querySelector("#feeEdit--occupancyTypeId");for(const e of exports.occupancyTypes){const t=document.createElement("option");t.value=e.occupancyTypeId.toString(),t.textContent=e.occupancyType,e.occupancyTypeId===l.occupancyTypeId&&(t.selected=!0),d.append(t)}const u=t.querySelector("#feeEdit--lotTypeId");for(const e of exports.lotTypes){const t=document.createElement("option");t.value=e.lotTypeId.toString(),t.textContent=e.lotType,e.lotTypeId===l.lotTypeId&&(t.selected=!0),u.append(t)}t.querySelector("#feeEdit--feeAmount").value=l.feeAmount?l.feeAmount.toFixed(2):"",t.querySelector("#feeEdit--feeFunction").addEventListener("change",y),y(),t.querySelector("#feeEdit--taxAmount").value=l.taxAmount?l.taxAmount.toFixed(2):"";const m=t.querySelector("#feeEdit--taxPercentage");m.value=l.taxPercentage?l.taxPercentage.toString():"",m.addEventListener("keyup",f),f();const g=t.querySelector("#feeEdit--includeQuantity");null!==(o=l.includeQuantity)&&void 0!==o&&o&&(g.value="1"),g.addEventListener("change",p),t.querySelector("#feeEdit--quantityUnit").value=null!==(a=l.quantityUnit)&&void 0!==a?a:"",p(),null!==(n=l.isRequired)&&void 0!==n&&n&&(t.querySelector("#feeEdit--isRequired").value="1"),e.populateAliases(t)},onshown(e,t){bulmaJS.toggleHtmlClipped(),c=t,e.querySelector("form").addEventListener("submit",d),bulmaJS.init(e),e.querySelector(".button--deleteFee").addEventListener("click",u)},onremoved:()=>{bulmaJS.toggleHtmlClipped()}})}function i(t){const a=t.currentTarget,n=a.closest(".container--fee").dataset.feeId;cityssm.postJSON(e.urlPrefix+"/admin/"+("up"===a.dataset.direction?"doMoveFeeUp":"doMoveFeeDown"),{feeId:n,moveToEnd:t.shiftKey?"1":"0"},e=>{var t;const a=e;a.success?(s=a.feeCategories,o()):bulmaJS.alert({title:"Error Moving Fee",message:null!==(t=a.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}delete exports.feeCategories,document.querySelector("#button--addFeeCategory").addEventListener("click",()=>{let t;function a(a){a.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doAddFeeCategory",a.currentTarget,e=>{var a;const n=e;n.success?(s=n.feeCategories,t(),o()):bulmaJS.alert({title:"Error Creating Fee Category",message:null!==(a=n.errorMessage)&&void 0!==a?a:"",contextualColorName:"danger"})})}cityssm.openHtmlModal("adminFees-addFeeCategory",{onshown(e,s){bulmaJS.toggleHtmlClipped(),e.querySelector("#feeCategoryAdd--feeCategory").focus(),t=s,e.querySelector("form").addEventListener("submit",a)},onremoved(){bulmaJS.toggleHtmlClipped(),document.querySelector("#button--addFeeCategory").focus()}})}),o()})(); \ No newline at end of file diff --git a/public/javascripts/adminLotTypes.min.js b/public/javascripts/adminLotTypes.min.js index df69cb65..b6f85dcd 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 a(t){const o=Number.parseInt(t.currentTarget.closest(".container--lotType").dataset.lotTypeId,10),s=l.find(e=>o===e.lotTypeId);let d;function a(t){t.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doUpdateLotType",t.currentTarget,e=>{i(e),e.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",a),bulmaJS.toggleHtmlClipped()},onremoved(){bulmaJS.toggleHtmlClipped()}})}function n(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=>{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",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,a,n,r,c;function p(){a.min=d.value}function u(){""===r.value?(d.disabled=!1,a.disabled=!1,n.disabled=!1):(d.disabled=!0,a.disabled=!0,n.disabled=!0)}function y(t){t.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doUpdateLotTypeField",t.currentTarget,e=>{i(e),e.success&&c()})}function T(){cityssm.postJSON(e.urlPrefix+"/admin/doDeleteLotTypeField",{lotTypeFieldId:o},e=>{i(e),e.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(),(a=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){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='
'+e.getMoveUpDownButtonFieldHTML("button--moveLotTypeFieldUp","button--moveLotTypeFieldDown")+"
",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='

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

'+e.getMoveUpDownButtonFieldHTML("button--moveLotTypeUp","button--moveLotTypeDown")+"
",y(l,i.lotTypeId,i.lotTypeFields),l.querySelector(".button--toggleLotTypeFields").addEventListener("click",s),l.querySelector(".button--deleteLotType").addEventListener("click",d),l.querySelector(".button--editLotType").addEventListener("click",a),l.querySelector(".button--addLotTypeField").addEventListener("click",n),l.querySelector(".button--moveLotTypeUp").addEventListener("click",r),l.querySelector(".button--moveLotTypeDown").addEventListener("click",r),t.append(l)}else t.insertAdjacentHTML("afterbegin",`
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;o.success?(t(),l=o.lotTypes,T()):bulmaJS.alert({title:`Error Adding ${e.escapedAliases.Lot} Type`,message:null!==(s=o.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}),(()=>{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='
'+e.getMoveUpDownButtonFieldHTML("button--moveLotTypeFieldUp","button--moveLotTypeFieldDown")+"
",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='

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

'+e.getMoveUpDownButtonFieldHTML("button--moveLotTypeUp","button--moveLotTypeDown")+"
",y(l,i.lotTypeId,i.lotTypeFields),l.querySelector(".button--toggleLotTypeFields").addEventListener("click",s),l.querySelector(".button--deleteLotType").addEventListener("click",d),l.querySelector(".button--editLotType").addEventListener("click",n),l.querySelector(".button--addLotTypeField").addEventListener("click",a),l.querySelector(".button--moveLotTypeUp").addEventListener("click",r),l.querySelector(".button--moveLotTypeDown").addEventListener("click",r),t.append(l)}else t.insertAdjacentHTML("afterbegin",`
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 diff --git a/public/javascripts/adminOccupancyTypes.min.js b/public/javascripts/adminOccupancyTypes.min.js index b538f376..9245d5c0 100644 --- a/public/javascripts/adminOccupancyTypes.min.js +++ b/public/javascripts/adminOccupancyTypes.min.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=exports.los,c=document.querySelector("#container--occupancyTypes"),t=document.querySelector("#container--occupancyTypePrints");let n=exports.occupancyTypes;delete exports.occupancyTypes;let a=exports.allOccupancyTypeFields;delete exports.allOccupancyTypeFields;const i=new Set;function s(e){const c=e.currentTarget,t=c.closest(".container--occupancyType"),n=Number.parseInt(t.dataset.occupancyTypeId,10);i.has(n)?i.delete(n):i.add(n),c.innerHTML=i.has(n)?'':'';const a=t.querySelectorAll(".panel-block");for(const e of a)e.classList.toggle("is-hidden")}function l(c){var t;c.success?(n=c.occupancyTypes,a=c.allOccupancyTypeFields,S()):bulmaJS.alert({title:"Error Updating "+e.escapedAliases.Occupancy+" Type",message:null!==(t=c.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})}function o(c){const t=Number.parseInt(c.currentTarget.closest(".container--occupancyType").dataset.occupancyTypeId,10);bulmaJS.confirm({title:`Delete ${e.escapedAliases.Occupancy} Type`,message:`Are you sure you want to delete this ${e.escapedAliases.occupancy} type?`,contextualColorName:"warning",okButton:{text:`Yes, Delete ${e.escapedAliases.Occupancy} Type`,callbackFunction:function(){cityssm.postJSON(e.urlPrefix+"/admin/doDeleteOccupancyType",{occupancyTypeId:t},l)}}})}function p(c){const t=Number.parseInt(c.currentTarget.closest(".container--occupancyType").dataset.occupancyTypeId,10),a=n.find(e=>t===e.occupancyTypeId);let i;function s(c){c.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doUpdateOccupancyType",c.currentTarget,e=>{l(e),e.success&&i()})}cityssm.openHtmlModal("adminOccupancyTypes-editOccupancyType",{onshow(c){e.populateAliases(c),c.querySelector("#occupancyTypeEdit--occupancyTypeId").value=t.toString(),c.querySelector("#occupancyTypeEdit--occupancyType").value=a.occupancyType},onshown(e,c){i=c,e.querySelector("#occupancyTypeEdit--occupancyType").focus(),e.querySelector("form").addEventListener("submit",s),bulmaJS.toggleHtmlClipped()},onremoved(){bulmaJS.toggleHtmlClipped()}})}function d(c){const t=Number.parseInt(c.currentTarget.closest(".container--occupancyType").dataset.occupancyTypeId,10);let n;function a(c){c.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doAddOccupancyTypeField",c.currentTarget,e=>{i.add(t),l(e),e.success&&(n(),r(t,e.occupancyTypeFieldId))})}cityssm.openHtmlModal("adminOccupancyTypes-addOccupancyTypeField",{onshow(c){e.populateAliases(c),t&&(c.querySelector("#occupancyTypeFieldAdd--occupancyTypeId").value=t.toString())},onshown(e,c){n=c,e.querySelector("#occupancyTypeFieldAdd--occupancyTypeField").focus(),e.querySelector("form").addEventListener("submit",a),bulmaJS.toggleHtmlClipped()},onremoved(){bulmaJS.toggleHtmlClipped()}})}function u(c){const t=c.currentTarget,n=c.currentTarget.closest(".container--occupancyType").dataset.occupancyTypeId;cityssm.postJSON(e.urlPrefix+"/admin/"+("up"===t.dataset.direction?"doMoveOccupancyTypeUp":"doMoveOccupancyTypeDown"),{occupancyTypeId:n,moveToEnd:c.shiftKey?"1":"0"},l)}function r(c,t){let i;c&&(i=n.find(e=>e.occupancyTypeId===c));const s=(i?i.occupancyTypeFields:a).find(e=>e.occupancyTypeFieldId===t);let o,p,d,u,r;function y(){p.min=o.value}function v(){""===u.value?(o.disabled=!1,p.disabled=!1,d.disabled=!1):(o.disabled=!0,p.disabled=!0,d.disabled=!0)}function T(c){c.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doUpdateOccupancyTypeField",c.currentTarget,e=>{l(e),e.success&&r()})}function m(){cityssm.postJSON(e.urlPrefix+"/admin/doDeleteOccupancyTypeField",{occupancyTypeFieldId:t},e=>{l(e),e.success&&r()})}function f(){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("adminOccupancyTypes-editOccupancyTypeField",{onshow:c=>{e.populateAliases(c),c.querySelector("#occupancyTypeFieldEdit--occupancyTypeFieldId").value=s.occupancyTypeFieldId.toString(),c.querySelector("#occupancyTypeFieldEdit--occupancyTypeField").value=s.occupancyTypeField,c.querySelector("#occupancyTypeFieldEdit--isRequired").value=s.isRequired?"1":"0",(o=c.querySelector("#occupancyTypeFieldEdit--minimumLength")).value=s.minimumLength.toString(),(p=c.querySelector("#occupancyTypeFieldEdit--maximumLength")).value=s.maximumLength.toString(),(d=c.querySelector("#occupancyTypeFieldEdit--pattern")).value=s.pattern,(u=c.querySelector("#occupancyTypeFieldEdit--occupancyTypeFieldValues")).value=s.occupancyTypeFieldValues,v()},onshown:(e,c)=>{r=c,bulmaJS.init(e),bulmaJS.toggleHtmlClipped(),cityssm.enableNavBlocker(),e.querySelector("form").addEventListener("submit",T),o.addEventListener("keyup",y),y(),u.addEventListener("keyup",v),e.querySelector("#button--deleteOccupancyTypeField").addEventListener("click",f)},onremoved:()=>{bulmaJS.toggleHtmlClipped(),cityssm.disableNavBlocker()}})}function y(e){e.preventDefault();const c=Number.parseInt(e.currentTarget.closest(".container--occupancyTypeField").dataset.occupancyTypeFieldId,10);r(Number.parseInt(e.currentTarget.closest(".container--occupancyType").dataset.occupancyTypeId,10),c)}function v(c){const t=c.currentTarget,n=c.currentTarget.closest(".container--occupancyTypeField").dataset.occupancyTypeFieldId;cityssm.postJSON(e.urlPrefix+"/admin/"+("up"===t.dataset.direction?"doMoveOccupancyTypeFieldUp":"doMoveOccupancyTypeFieldDown"),{occupancyTypeFieldId:n,moveToEnd:c.shiftKey?"1":"0"},l)}function T(c,t,n){var a;if(0===n.length)c.insertAdjacentHTML("beforeend",'

There are no additional fields.

');else for(const s of n){const n=document.createElement("div");n.className="panel-block is-block container--occupancyTypeField",t&&!i.has(t)&&n.classList.add("is-hidden"),n.dataset.occupancyTypeFieldId=s.occupancyTypeFieldId.toString(),n.innerHTML='
'+e.getMoveUpDownButtonFieldHTML("button--moveOccupancyTypeFieldUp","button--moveOccupancyTypeFieldDown")+"
",n.querySelector(".button--editOccupancyTypeField").addEventListener("click",y),n.querySelector(".button--moveOccupancyTypeFieldUp").addEventListener("click",v),n.querySelector(".button--moveOccupancyTypeFieldDown").addEventListener("click",v),c.append(n)}}function m(c){const t=c.currentTarget.closest(".container--occupancyTypePrintList").dataset.occupancyTypeId;let n;function a(c){c.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doAddOccupancyTypePrint",c.currentTarget,e=>{e.success&&n(),l(e)})}cityssm.openHtmlModal("adminOccupancyTypes-addOccupancyTypePrint",{onshow(c){e.populateAliases(c),c.querySelector("#occupancyTypePrintAdd--occupancyTypeId").value=t;const n=c.querySelector("#occupancyTypePrintAdd--printEJS");for(const[e,c]of Object.entries(exports.occupancyTypePrintTitles)){const t=document.createElement("option");t.value=e,t.textContent=c,n.append(t)}},onshown(e,c){var t;n=c,null===(t=e.querySelector("form"))||void 0===t||t.addEventListener("submit",a)}})}function f(c){const t=c.currentTarget,n=t.closest(".container--occupancyTypePrint").dataset.printEJS,a=t.closest(".container--occupancyTypePrintList").dataset.occupancyTypeId;cityssm.postJSON(e.urlPrefix+"/admin/"+("up"===t.dataset.direction?"doMoveOccupancyTypePrintUp":"doMoveOccupancyTypePrintDown"),{occupancyTypeId:a,printEJS:n,moveToEnd:c.shiftKey?"1":"0"},l)}function b(c){c.preventDefault();const t=c.currentTarget.closest(".container--occupancyTypePrint").dataset.printEJS,n=c.currentTarget.closest(".container--occupancyTypePrintList").dataset.occupancyTypeId;bulmaJS.confirm({title:"Delete Print",message:"Are you sure you want to remove this print option?",contextualColorName:"warning",okButton:{text:"Yes, Remove Print",callbackFunction:function(){cityssm.postJSON(e.urlPrefix+"/admin/doDeleteOccupancyTypePrint",{occupancyTypeId:n,printEJS:t},l)}}})}function g(c,t,n){if(0===n.length)c.insertAdjacentHTML("beforeend",'
\n
\n

There are no prints associated with this record.

\n
\n
');else for(const t of n){const n=document.createElement("div");n.className="panel-block is-block container--occupancyTypePrint",n.dataset.printEJS=t;const a="*"===t?"(All Available Prints)":exports.occupancyTypePrintTitles[t];let i="fa-star";t.startsWith("pdf/")?i="fa-file-pdf":t.startsWith("screen/")&&(i="fa-file"),n.innerHTML='
'+cityssm.escapeHTML(a||t)+'
'+e.getMoveUpDownButtonFieldHTML("button--moveOccupancyTypePrintUp","button--moveOccupancyTypePrintDown")+'
',n.querySelector(".button--moveOccupancyTypePrintUp").addEventListener("click",f),n.querySelector(".button--moveOccupancyTypePrintDown").addEventListener("click",f),n.querySelector(".button--deleteOccupancyTypePrint").addEventListener("click",b),c.append(n)}}function S(){if(c.innerHTML='

(All '+e.escapedAliases.Occupancy+' Types)

',t.innerHTML="",T(c.querySelector("#container--allOccupancyTypeFields"),void 0,a),c.querySelector(".button--addOccupancyTypeField").addEventListener("click",d),0===n.length)return c.insertAdjacentHTML("afterbegin",`
There are no active ${e.escapedAliases.occupancy} types.

\n
`),void t.insertAdjacentHTML("afterbegin",`
There are no active ${e.escapedAliases.occupancy} types.

\n
`);for(const a of n){{const t=document.createElement("div");t.className="panel container--occupancyType",t.dataset.occupancyTypeId=a.occupancyTypeId.toString(),t.innerHTML='

'+cityssm.escapeHTML(a.occupancyType)+'

'+e.getMoveUpDownButtonFieldHTML("button--moveOccupancyTypeUp","button--moveOccupancyTypeDown")+"
",T(t,a.occupancyTypeId,a.occupancyTypeFields),t.querySelector(".button--toggleOccupancyTypeFields").addEventListener("click",s),t.querySelector(".button--deleteOccupancyType").addEventListener("click",o),t.querySelector(".button--editOccupancyType").addEventListener("click",p),t.querySelector(".button--addOccupancyTypeField").addEventListener("click",d),t.querySelector(".button--moveOccupancyTypeUp").addEventListener("click",u),t.querySelector(".button--moveOccupancyTypeDown").addEventListener("click",u),c.append(t)}{const e=document.createElement("div");e.className="panel container--occupancyTypePrintList",e.dataset.occupancyTypeId=a.occupancyTypeId.toString(),e.innerHTML='

'+cityssm.escapeHTML(a.occupancyType)+'

',g(e,a.occupancyTypeId,a.occupancyTypePrints),e.querySelector(".button--addOccupancyTypePrint").addEventListener("click",m),t.append(e)}}}document.querySelector("#button--addOccupancyType").addEventListener("click",()=>{let c;function t(t){t.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doAddOccupancyType",t.currentTarget,t=>{var a;t.success?(c(),n=t.occupancyTypes,S()):bulmaJS.alert({title:`Error Adding ${e.escapedAliases.Occupancy} Type`,message:null!==(a=t.errorMessage)&&void 0!==a?a:"",contextualColorName:"danger"})})}cityssm.openHtmlModal("adminOccupancyTypes-addOccupancyType",{onshow:c=>{e.populateAliases(c)},onshown:(e,n)=>{c=n,e.querySelector("#occupancyTypeAdd--occupancyType").focus(),e.querySelector("form").addEventListener("submit",t),bulmaJS.toggleHtmlClipped()},onremoved:()=>{bulmaJS.toggleHtmlClipped()}})}),S()})(); \ No newline at end of file +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=exports.los,c=document.querySelector("#container--occupancyTypes"),t=document.querySelector("#container--occupancyTypePrints");let n=exports.occupancyTypes;delete exports.occupancyTypes;let a=exports.allOccupancyTypeFields;delete exports.allOccupancyTypeFields;const s=new Set;function i(e){const c=e.currentTarget,t=c.closest(".container--occupancyType"),n=Number.parseInt(t.dataset.occupancyTypeId,10);s.has(n)?s.delete(n):s.add(n),c.innerHTML=s.has(n)?'':'';const a=t.querySelectorAll(".panel-block");for(const e of a)e.classList.toggle("is-hidden")}function l(c){var t;c.success?(n=c.occupancyTypes,a=c.allOccupancyTypeFields,S()):bulmaJS.alert({title:"Error Updating "+e.escapedAliases.Occupancy+" Type",message:null!==(t=c.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})}function o(c){const t=Number.parseInt(c.currentTarget.closest(".container--occupancyType").dataset.occupancyTypeId,10);bulmaJS.confirm({title:`Delete ${e.escapedAliases.Occupancy} Type`,message:`Are you sure you want to delete this ${e.escapedAliases.occupancy} type?`,contextualColorName:"warning",okButton:{text:`Yes, Delete ${e.escapedAliases.Occupancy} Type`,callbackFunction:function(){cityssm.postJSON(e.urlPrefix+"/admin/doDeleteOccupancyType",{occupancyTypeId:t},l)}}})}function p(c){const t=Number.parseInt(c.currentTarget.closest(".container--occupancyType").dataset.occupancyTypeId,10),a=n.find(e=>t===e.occupancyTypeId);let s;function i(c){c.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doUpdateOccupancyType",c.currentTarget,e=>{const c=e;l(c),c.success&&s()})}cityssm.openHtmlModal("adminOccupancyTypes-editOccupancyType",{onshow(c){e.populateAliases(c),c.querySelector("#occupancyTypeEdit--occupancyTypeId").value=t.toString(),c.querySelector("#occupancyTypeEdit--occupancyType").value=a.occupancyType},onshown(e,c){s=c,e.querySelector("#occupancyTypeEdit--occupancyType").focus(),e.querySelector("form").addEventListener("submit",i),bulmaJS.toggleHtmlClipped()},onremoved(){bulmaJS.toggleHtmlClipped()}})}function d(c){const t=Number.parseInt(c.currentTarget.closest(".container--occupancyType").dataset.occupancyTypeId,10);let n;function a(c){c.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doAddOccupancyTypeField",c.currentTarget,e=>{const c=e;s.add(t),l(c),c.success&&(n(),r(t,c.occupancyTypeFieldId))})}cityssm.openHtmlModal("adminOccupancyTypes-addOccupancyTypeField",{onshow(c){e.populateAliases(c),t&&(c.querySelector("#occupancyTypeFieldAdd--occupancyTypeId").value=t.toString())},onshown(e,c){n=c,e.querySelector("#occupancyTypeFieldAdd--occupancyTypeField").focus(),e.querySelector("form").addEventListener("submit",a),bulmaJS.toggleHtmlClipped()},onremoved(){bulmaJS.toggleHtmlClipped()}})}function u(c){const t=c.currentTarget,n=c.currentTarget.closest(".container--occupancyType").dataset.occupancyTypeId;cityssm.postJSON(e.urlPrefix+"/admin/"+("up"===t.dataset.direction?"doMoveOccupancyTypeUp":"doMoveOccupancyTypeDown"),{occupancyTypeId:n,moveToEnd:c.shiftKey?"1":"0"},l)}function r(c,t){let s;c&&(s=n.find(e=>e.occupancyTypeId===c));const i=(s?s.occupancyTypeFields:a).find(e=>e.occupancyTypeFieldId===t);let o,p,d,u,r;function y(){p.min=o.value}function v(){""===u.value?(o.disabled=!1,p.disabled=!1,d.disabled=!1):(o.disabled=!0,p.disabled=!0,d.disabled=!0)}function T(c){c.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doUpdateOccupancyTypeField",c.currentTarget,e=>{const c=e;l(c),c.success&&r()})}function m(){cityssm.postJSON(e.urlPrefix+"/admin/doDeleteOccupancyTypeField",{occupancyTypeFieldId:t},e=>{const c=e;l(c),c.success&&r()})}function f(){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("adminOccupancyTypes-editOccupancyTypeField",{onshow:c=>{e.populateAliases(c),c.querySelector("#occupancyTypeFieldEdit--occupancyTypeFieldId").value=i.occupancyTypeFieldId.toString(),c.querySelector("#occupancyTypeFieldEdit--occupancyTypeField").value=i.occupancyTypeField,c.querySelector("#occupancyTypeFieldEdit--isRequired").value=i.isRequired?"1":"0",(o=c.querySelector("#occupancyTypeFieldEdit--minimumLength")).value=i.minimumLength.toString(),(p=c.querySelector("#occupancyTypeFieldEdit--maximumLength")).value=i.maximumLength.toString(),(d=c.querySelector("#occupancyTypeFieldEdit--pattern")).value=i.pattern,(u=c.querySelector("#occupancyTypeFieldEdit--occupancyTypeFieldValues")).value=i.occupancyTypeFieldValues,v()},onshown:(e,c)=>{r=c,bulmaJS.init(e),bulmaJS.toggleHtmlClipped(),cityssm.enableNavBlocker(),e.querySelector("form").addEventListener("submit",T),o.addEventListener("keyup",y),y(),u.addEventListener("keyup",v),e.querySelector("#button--deleteOccupancyTypeField").addEventListener("click",f)},onremoved:()=>{bulmaJS.toggleHtmlClipped(),cityssm.disableNavBlocker()}})}function y(e){e.preventDefault();const c=Number.parseInt(e.currentTarget.closest(".container--occupancyTypeField").dataset.occupancyTypeFieldId,10);r(Number.parseInt(e.currentTarget.closest(".container--occupancyType").dataset.occupancyTypeId,10),c)}function v(c){const t=c.currentTarget,n=c.currentTarget.closest(".container--occupancyTypeField").dataset.occupancyTypeFieldId;cityssm.postJSON(e.urlPrefix+"/admin/"+("up"===t.dataset.direction?"doMoveOccupancyTypeFieldUp":"doMoveOccupancyTypeFieldDown"),{occupancyTypeFieldId:n,moveToEnd:c.shiftKey?"1":"0"},l)}function T(c,t,n){var a;if(0===n.length)c.insertAdjacentHTML("beforeend",'

There are no additional fields.

');else for(const i of n){const n=document.createElement("div");n.className="panel-block is-block container--occupancyTypeField",t&&!s.has(t)&&n.classList.add("is-hidden"),n.dataset.occupancyTypeFieldId=i.occupancyTypeFieldId.toString(),n.innerHTML='
'+e.getMoveUpDownButtonFieldHTML("button--moveOccupancyTypeFieldUp","button--moveOccupancyTypeFieldDown")+"
",n.querySelector(".button--editOccupancyTypeField").addEventListener("click",y),n.querySelector(".button--moveOccupancyTypeFieldUp").addEventListener("click",v),n.querySelector(".button--moveOccupancyTypeFieldDown").addEventListener("click",v),c.append(n)}}function m(c){const t=c.currentTarget.closest(".container--occupancyTypePrintList").dataset.occupancyTypeId;let n;function a(c){c.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doAddOccupancyTypePrint",c.currentTarget,e=>{const c=e;c.success&&n(),l(c)})}cityssm.openHtmlModal("adminOccupancyTypes-addOccupancyTypePrint",{onshow(c){e.populateAliases(c),c.querySelector("#occupancyTypePrintAdd--occupancyTypeId").value=t;const n=c.querySelector("#occupancyTypePrintAdd--printEJS");for(const[e,c]of Object.entries(exports.occupancyTypePrintTitles)){const t=document.createElement("option");t.value=e,t.textContent=c,n.append(t)}},onshown(e,c){var t;n=c,null===(t=e.querySelector("form"))||void 0===t||t.addEventListener("submit",a)}})}function f(c){const t=c.currentTarget,n=t.closest(".container--occupancyTypePrint").dataset.printEJS,a=t.closest(".container--occupancyTypePrintList").dataset.occupancyTypeId;cityssm.postJSON(e.urlPrefix+"/admin/"+("up"===t.dataset.direction?"doMoveOccupancyTypePrintUp":"doMoveOccupancyTypePrintDown"),{occupancyTypeId:a,printEJS:n,moveToEnd:c.shiftKey?"1":"0"},l)}function b(c){c.preventDefault();const t=c.currentTarget.closest(".container--occupancyTypePrint").dataset.printEJS,n=c.currentTarget.closest(".container--occupancyTypePrintList").dataset.occupancyTypeId;bulmaJS.confirm({title:"Delete Print",message:"Are you sure you want to remove this print option?",contextualColorName:"warning",okButton:{text:"Yes, Remove Print",callbackFunction:function(){cityssm.postJSON(e.urlPrefix+"/admin/doDeleteOccupancyTypePrint",{occupancyTypeId:n,printEJS:t},l)}}})}function g(c,t,n){if(0===n.length)c.insertAdjacentHTML("beforeend",'
\n
\n

There are no prints associated with this record.

\n
\n
');else for(const t of n){const n=document.createElement("div");n.className="panel-block is-block container--occupancyTypePrint",n.dataset.printEJS=t;const a="*"===t?"(All Available Prints)":exports.occupancyTypePrintTitles[t];let s="fa-star";t.startsWith("pdf/")?s="fa-file-pdf":t.startsWith("screen/")&&(s="fa-file"),n.innerHTML='
'+cityssm.escapeHTML(a||t)+'
'+e.getMoveUpDownButtonFieldHTML("button--moveOccupancyTypePrintUp","button--moveOccupancyTypePrintDown")+'
',n.querySelector(".button--moveOccupancyTypePrintUp").addEventListener("click",f),n.querySelector(".button--moveOccupancyTypePrintDown").addEventListener("click",f),n.querySelector(".button--deleteOccupancyTypePrint").addEventListener("click",b),c.append(n)}}function S(){if(c.innerHTML='

(All '+e.escapedAliases.Occupancy+' Types)

',t.innerHTML="",T(c.querySelector("#container--allOccupancyTypeFields"),void 0,a),c.querySelector(".button--addOccupancyTypeField").addEventListener("click",d),0===n.length)return c.insertAdjacentHTML("afterbegin",`
There are no active ${e.escapedAliases.occupancy} types.

\n
`),void t.insertAdjacentHTML("afterbegin",`
There are no active ${e.escapedAliases.occupancy} types.

\n
`);for(const a of n){{const t=document.createElement("div");t.className="panel container--occupancyType",t.dataset.occupancyTypeId=a.occupancyTypeId.toString(),t.innerHTML='

'+cityssm.escapeHTML(a.occupancyType)+'

'+e.getMoveUpDownButtonFieldHTML("button--moveOccupancyTypeUp","button--moveOccupancyTypeDown")+"
",T(t,a.occupancyTypeId,a.occupancyTypeFields),t.querySelector(".button--toggleOccupancyTypeFields").addEventListener("click",i),t.querySelector(".button--deleteOccupancyType").addEventListener("click",o),t.querySelector(".button--editOccupancyType").addEventListener("click",p),t.querySelector(".button--addOccupancyTypeField").addEventListener("click",d),t.querySelector(".button--moveOccupancyTypeUp").addEventListener("click",u),t.querySelector(".button--moveOccupancyTypeDown").addEventListener("click",u),c.append(t)}{const e=document.createElement("div");e.className="panel container--occupancyTypePrintList",e.dataset.occupancyTypeId=a.occupancyTypeId.toString(),e.innerHTML='

'+cityssm.escapeHTML(a.occupancyType)+'

',g(e,a.occupancyTypeId,a.occupancyTypePrints),e.querySelector(".button--addOccupancyTypePrint").addEventListener("click",m),t.append(e)}}}document.querySelector("#button--addOccupancyType").addEventListener("click",()=>{let c;function t(t){t.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doAddOccupancyType",t.currentTarget,t=>{var a;const s=t;s.success?(c(),n=s.occupancyTypes,S()):bulmaJS.alert({title:`Error Adding ${e.escapedAliases.Occupancy} Type`,message:null!==(a=s.errorMessage)&&void 0!==a?a:"",contextualColorName:"danger"})})}cityssm.openHtmlModal("adminOccupancyTypes-addOccupancyType",{onshow:c=>{e.populateAliases(c)},onshown:(e,n)=>{c=n,e.querySelector("#occupancyTypeAdd--occupancyType").focus(),e.querySelector("form").addEventListener("submit",t),bulmaJS.toggleHtmlClipped()},onremoved:()=>{bulmaJS.toggleHtmlClipped()}})}),S()})(); \ No newline at end of file diff --git a/public/javascripts/adminTables.min.js b/public/javascripts/adminTables.min.js index 09451c98..93b2cfbc 100644 --- a/public/javascripts/adminTables.min.js +++ b/public/javascripts/adminTables.min.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=exports.los;function t(e){const t=e.currentTarget,s=t.value;t.closest(".field").querySelectorAll(".button.is-static")[1].innerHTML=``}Object.defineProperty(exports,"__esModule",{value:!0});let s=exports.workOrderTypes;function r(t){t.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doUpdateWorkOrderType",t.currentTarget,e=>{var t;e.success?(s=e.workOrderTypes,bulmaJS.alert({message:"Work Order Type Updated Successfully",contextualColorName:"success"})):bulmaJS.alert({title:"Error Updating Work Order Type",message:null!==(t=e.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}delete exports.workOrderTypes;const o=t=>{const r=t.currentTarget.closest("tr"),o=r.dataset.workOrderTypeId;bulmaJS.confirm({title:"Delete Work Order Type",message:"Are you sure you want to delete this work order type?
\n Note that no work orders will be removed.",messageIsHtml:!0,contextualColorName:"warning",okButton:{text:"Yes, Delete Work Order Type",callbackFunction:function(){cityssm.postJSON(e.urlPrefix+"/admin/doDeleteWorkOrderType",{workOrderTypeId:o},e=>{var t;e.success?(0===(s=e.workOrderTypes).length?n():r.remove(),bulmaJS.alert({message:"Work Order Type Deleted Successfully",contextualColorName:"success"})):bulmaJS.alert({title:"Error Deleting Work Order Type",message:null!==(t=e.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}}})};function a(t){const r=t.currentTarget,o=r.closest("tr").dataset.workOrderTypeId;cityssm.postJSON(e.urlPrefix+"/admin/"+("up"===r.dataset.direction?"doMoveWorkOrderTypeUp":"doMoveWorkOrderTypeDown"),{workOrderTypeId:o,moveToEnd:t.shiftKey?"1":"0"},e=>{var t;e.success?(s=e.workOrderTypes,n()):bulmaJS.alert({title:"Error Moving Work Order Type",message:null!==(t=e.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}function n(){var t;const n=document.querySelector("#container--workOrderTypes");if(0!==s.length){n.innerHTML="";for(const l of s){const s=document.createElement("tr");s.dataset.workOrderTypeId=l.workOrderTypeId.toString(),s.innerHTML='
'+e.getMoveUpDownButtonFieldHTML("button--moveWorkOrderTypeUp","button--moveWorkOrderTypeDown",!1)+'
',s.querySelector("form").addEventListener("submit",r),s.querySelector(".button--moveWorkOrderTypeUp").addEventListener("click",a),s.querySelector(".button--moveWorkOrderTypeDown").addEventListener("click",a),s.querySelector(".button--deleteWorkOrderType").addEventListener("click",o),n.append(s)}}else n.innerHTML='\n

There are no active work order types.

\n '}document.querySelector("#form--addWorkOrderType").addEventListener("submit",t=>{t.preventDefault();const r=t.currentTarget;cityssm.postJSON(e.urlPrefix+"/admin/doAddWorkOrderType",r,e=>{var t;e.success?(s=e.workOrderTypes,n(),r.reset(),r.querySelector("input").focus()):bulmaJS.alert({title:"Error Adding Work Order Type",message:null!==(t=e.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}),n(),Object.defineProperty(exports,"__esModule",{value:!0});let l=exports.workOrderMilestoneTypes;function c(t){t.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doUpdateWorkOrderMilestoneType",t.currentTarget,e=>{var t;e.success?(l=e.workOrderMilestoneTypes,bulmaJS.alert({message:"Work Order Milestone Type Updated Successfully",contextualColorName:"success"})):bulmaJS.alert({title:"Error Updating Work Order Milestone Type",message:null!==(t=e.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}function d(t){const s=t.currentTarget.closest("tr"),r=s.dataset.workOrderMilestoneTypeId;bulmaJS.confirm({title:"Delete Work Order Milestone Type",message:"Are you sure you want to delete this work order milestone type?
\n Note that no work orders will be removed.",messageIsHtml:!0,contextualColorName:"warning",okButton:{text:"Yes, Delete Work Order Milestone Type",callbackFunction:function(){cityssm.postJSON(e.urlPrefix+"/admin/doDeleteWorkOrderMilestoneType",{workOrderMilestoneTypeId:r},e=>{var t;e.success?(0===(l=e.workOrderMilestoneTypes).length?u():s.remove(),bulmaJS.alert({message:"Work Order Milestone Type Deleted Successfully",contextualColorName:"success"})):bulmaJS.alert({title:"Error Deleting Work Order Milestone Type",message:null!==(t=e.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}}})}function i(t){const s=t.currentTarget,r=s.closest("tr").dataset.workOrderMilestoneTypeId;cityssm.postJSON(e.urlPrefix+"/admin/"+("up"===s.dataset.direction?"doMoveWorkOrderMilestoneTypeUp":"doMoveWorkOrderMilestoneTypeDown"),{workOrderMilestoneTypeId:r,moveToEnd:t.shiftKey?"1":"0"},e=>{var t;e.success?(l=e.workOrderMilestoneTypes,u()):bulmaJS.alert({title:"Error Moving Work Order Milestone Type",message:null!==(t=e.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}function u(){const t=document.querySelector("#container--workOrderMilestoneTypes");if(0!==l.length){t.innerHTML="";for(const s of l){const r=document.createElement("tr");r.dataset.workOrderMilestoneTypeId=s.workOrderMilestoneTypeId.toString(),r.innerHTML='
'+e.getMoveUpDownButtonFieldHTML("button--moveWorkOrderMilestoneTypeUp","button--moveWorkOrderMilestoneTypeDown",!1)+'
',r.querySelector("form").addEventListener("submit",c),r.querySelector(".button--moveWorkOrderMilestoneTypeUp").addEventListener("click",i),r.querySelector(".button--moveWorkOrderMilestoneTypeDown").addEventListener("click",i),r.querySelector(".button--deleteWorkOrderMilestoneType").addEventListener("click",d),t.append(r)}}else t.innerHTML='\n

There are no active work order milestone types.

\n '}delete exports.workOrderMilestoneTypes,document.querySelector("#form--addWorkOrderMilestoneType").addEventListener("submit",t=>{t.preventDefault();const s=t.currentTarget;cityssm.postJSON(e.urlPrefix+"/admin/doAddWorkOrderMilestoneType",s,e=>{var t;e.success?(l=e.workOrderMilestoneTypes,u(),s.reset(),s.querySelector("input").focus()):bulmaJS.alert({title:"Error Adding Work Order Milestone Type",message:null!==(t=e.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}),u(),Object.defineProperty(exports,"__esModule",{value:!0});let p=exports.lotStatuses;function m(t){t.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doUpdateLotStatus",t.currentTarget,t=>{var s;t.success?(p=t.lotStatuses,bulmaJS.alert({message:e.escapedAliases.Lot+" Status Updated Successfully",contextualColorName:"success"})):bulmaJS.alert({title:"Error Updating "+e.escapedAliases.Lot+" Status",message:null!==(s=t.errorMessage)&&void 0!==s?s:"",contextualColorName:"danger"})})}function y(t){const s=t.currentTarget.closest("tr"),r=s.dataset.lotStatusId;bulmaJS.confirm({title:`Delete ${e.escapedAliases.Lot} Status`,message:`Are you sure you want to delete this status?
\n Note that no ${e.escapedAliases.lot} will be removed.`,messageIsHtml:!0,contextualColorName:"warning",okButton:{text:"Yes, Delete Status",callbackFunction:function(){cityssm.postJSON(e.urlPrefix+"/admin/doDeleteLotStatus",{lotStatusId:r},t=>{var r;t.success?(0===(p=t.lotStatuses).length?T():s.remove(),bulmaJS.alert({message:e.escapedAliases.Lot+" Status Deleted Successfully",contextualColorName:"success"})):bulmaJS.alert({title:`Error Deleting ${e.escapedAliases.Lot} Status`,message:null!==(r=t.errorMessage)&&void 0!==r?r:"",contextualColorName:"danger"})})}}})}function v(t){const s=t.currentTarget,r=s.closest("tr").dataset.lotStatusId;cityssm.postJSON(e.urlPrefix+"/admin/"+("up"===s.dataset.direction?"doMoveLotStatusUp":"doMoveLotStatusDown"),{lotStatusId:r,moveToEnd:t.shiftKey?"1":"0"},t=>{var s;t.success?(p=t.lotStatuses,T()):bulmaJS.alert({title:"Error Moving "+e.escapedAliases.Lot+" Status",message:null!==(s=t.errorMessage)&&void 0!==s?s:"",contextualColorName:"danger"})})}function T(){const t=document.querySelector("#container--lotStatuses");if(0!==p.length){t.innerHTML="";for(const s of p){const r=document.createElement("tr");r.dataset.lotStatusId=s.lotStatusId.toString(),r.innerHTML='
'+e.getMoveUpDownButtonFieldHTML("button--moveLotStatusUp","button--moveLotStatusDown",!1)+'
',r.querySelector("form").addEventListener("submit",m),r.querySelector(".button--moveLotStatusUp").addEventListener("click",v),r.querySelector(".button--moveLotStatusDown").addEventListener("click",v),r.querySelector(".button--deleteLotStatus").addEventListener("click",y),t.append(r)}}else t.innerHTML=`\n

There are no active ${e.escapedAliases.lot} statuses.

\n `}delete exports.lotStatuses,document.querySelector("#form--addLotStatus").addEventListener("submit",t=>{t.preventDefault();const s=t.currentTarget;cityssm.postJSON(e.urlPrefix+"/admin/doAddLotStatus",s,t=>{var r;t.success?(p=t.lotStatuses,T(),s.reset(),s.querySelector("input").focus()):bulmaJS.alert({title:`Error Adding ${e.escapedAliases.Lot} Status`,message:null!==(r=t.errorMessage)&&void 0!==r?r:"",contextualColorName:"danger"})})}),T(),Object.defineProperty(exports,"__esModule",{value:!0});let g=exports.lotOccupantTypes;function f(t){t.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doUpdateLotOccupantType",t.currentTarget,t=>{var s;t.success?(g=t.lotOccupantTypes,bulmaJS.alert({message:`${e.escapedAliases.Lot} ${e.escapedAliases.Occupant} Type Updated Successfully`,contextualColorName:"success"})):bulmaJS.alert({title:`Error Updating ${e.escapedAliases.Lot} ${e.escapedAliases.Occupant} Type`,message:null!==(s=t.errorMessage)&&void 0!==s?s:"",contextualColorName:"danger"})})}function O(t){const s=t.currentTarget.closest("tr"),r=s.dataset.lotOccupantTypeId;bulmaJS.confirm({title:`Delete ${e.escapedAliases.Lot} ${e.escapedAliases.Occupant} Type`,message:`Are you sure you want to delete this ${e.escapedAliases.lot} ${e.escapedAliases.occupant} type?
\n Note that no ${e.escapedAliases.lot} ${e.escapedAliases.occupants} will be removed.`,messageIsHtml:!0,contextualColorName:"warning",okButton:{text:`Yes, Delete ${e.escapedAliases.Lot} ${e.escapedAliases.Occupant} Type`,callbackFunction:function(){cityssm.postJSON(e.urlPrefix+"/admin/doDeleteLotOccupantType",{lotOccupantTypeId:r},t=>{var r;t.success?(0===(g=t.lotOccupantTypes).length?b():s.remove(),bulmaJS.alert({message:`${e.escapedAliases.Lot} ${e.escapedAliases.Occupant} Type Deleted Successfully`,contextualColorName:"success"})):bulmaJS.alert({title:`Error Deleting ${e.escapedAliases.Lot} ${e.escapedAliases.Occupant} Type`,message:null!==(r=t.errorMessage)&&void 0!==r?r:"",contextualColorName:"danger"})})}}})}function S(t){const s=t.currentTarget,r=s.closest("tr").dataset.lotOccupantTypeId;cityssm.postJSON(e.urlPrefix+"/admin/"+("up"===s.dataset.direction?"doMoveLotOccupantTypeUp":"doMoveLotOccupantTypeDown"),{lotOccupantTypeId:r,moveToEnd:t.shiftKey?"1":"0"},t=>{var s;t.success?(g=t.lotOccupantTypes,b()):bulmaJS.alert({title:`Error Moving ${e.escapedAliases.Lot} ${e.escapedAliases.Occupant} Type`,message:null!==(s=t.errorMessage)&&void 0!==s?s:"",contextualColorName:"danger"})})}function b(){const s=document.querySelector("#container--lotOccupantTypes");if(0!==g.length){s.innerHTML="";for(const r of g){const o=document.createElement("tr");o.dataset.lotOccupantTypeId=r.lotOccupantTypeId.toString();const a="form--lotOccupantType-"+r.lotOccupantTypeId.toString();o.innerHTML='
fa-
'+e.getMoveUpDownButtonFieldHTML("button--moveLotOccupantTypeUp","button--moveLotOccupantTypeDown",!1)+'
';const n=o.querySelector("input[name='fontAwesomeIconClass']");n.addEventListener("keyup",t),n.addEventListener("change",t),o.querySelector("form").addEventListener("submit",f),o.querySelector(".button--moveLotOccupantTypeUp").addEventListener("click",S),o.querySelector(".button--moveLotOccupantTypeDown").addEventListener("click",S),o.querySelector(".button--deleteLotOccupantType").addEventListener("click",O),s.append(o)}}else s.innerHTML=`\n
\n

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

\n
\n `}delete exports.lotOccupantTypes,document.querySelector("#form--addLotOccupantType").addEventListener("submit",t=>{t.preventDefault();const s=t.currentTarget;cityssm.postJSON(e.urlPrefix+"/admin/doAddLotOccupantType",s,t=>{var r;t.success?(g=t.lotOccupantTypes,b(),s.reset(),s.querySelector("input").focus()):bulmaJS.alert({title:`Error Adding ${e.escapedAliases.Lot} ${e.escapedAliases.Occupant} Type`,message:null!==(r=t.errorMessage)&&void 0!==r?r:"",contextualColorName:"danger"})})}),b()})(); \ No newline at end of file +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=exports.los;function t(e){const t=e.currentTarget,s=t.value;t.closest(".field").querySelectorAll(".button.is-static")[1].innerHTML=``}Object.defineProperty(exports,"__esModule",{value:!0});let s=exports.workOrderTypes;function o(t){t.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doUpdateWorkOrderType",t.currentTarget,e=>{var t;const o=e;o.success?(s=o.workOrderTypes,bulmaJS.alert({message:"Work Order Type Updated Successfully",contextualColorName:"success"})):bulmaJS.alert({title:"Error Updating Work Order Type",message:null!==(t=o.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}delete exports.workOrderTypes;const r=t=>{const o=t.currentTarget.closest("tr"),r=o.dataset.workOrderTypeId;bulmaJS.confirm({title:"Delete Work Order Type",message:"Are you sure you want to delete this work order type?
\n Note that no work orders will be removed.",messageIsHtml:!0,contextualColorName:"warning",okButton:{text:"Yes, Delete Work Order Type",callbackFunction:function(){cityssm.postJSON(e.urlPrefix+"/admin/doDeleteWorkOrderType",{workOrderTypeId:r},e=>{var t;const r=e;r.success?(0===(s=r.workOrderTypes).length?n():o.remove(),bulmaJS.alert({message:"Work Order Type Deleted Successfully",contextualColorName:"success"})):bulmaJS.alert({title:"Error Deleting Work Order Type",message:null!==(t=r.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}}})};function a(t){const o=t.currentTarget,r=o.closest("tr").dataset.workOrderTypeId;cityssm.postJSON(e.urlPrefix+"/admin/"+("up"===o.dataset.direction?"doMoveWorkOrderTypeUp":"doMoveWorkOrderTypeDown"),{workOrderTypeId:r,moveToEnd:t.shiftKey?"1":"0"},e=>{var t;const o=e;o.success?(s=o.workOrderTypes,n()):bulmaJS.alert({title:"Error Moving Work Order Type",message:null!==(t=o.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}function n(){var t;const n=document.querySelector("#container--workOrderTypes");if(0!==s.length){n.innerHTML="";for(const l of s){const s=document.createElement("tr");s.dataset.workOrderTypeId=l.workOrderTypeId.toString(),s.innerHTML='
'+e.getMoveUpDownButtonFieldHTML("button--moveWorkOrderTypeUp","button--moveWorkOrderTypeDown",!1)+'
',s.querySelector("form").addEventListener("submit",o),s.querySelector(".button--moveWorkOrderTypeUp").addEventListener("click",a),s.querySelector(".button--moveWorkOrderTypeDown").addEventListener("click",a),s.querySelector(".button--deleteWorkOrderType").addEventListener("click",r),n.append(s)}}else n.innerHTML='\n

There are no active work order types.

\n '}document.querySelector("#form--addWorkOrderType").addEventListener("submit",t=>{t.preventDefault();const o=t.currentTarget;cityssm.postJSON(e.urlPrefix+"/admin/doAddWorkOrderType",o,e=>{var t;const r=e;r.success?(s=r.workOrderTypes,n(),o.reset(),o.querySelector("input").focus()):bulmaJS.alert({title:"Error Adding Work Order Type",message:null!==(t=r.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}),n(),Object.defineProperty(exports,"__esModule",{value:!0});let l=exports.workOrderMilestoneTypes;function c(t){t.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doUpdateWorkOrderMilestoneType",t.currentTarget,e=>{var t;const s=e;s.success?(l=s.workOrderMilestoneTypes,bulmaJS.alert({message:"Work Order Milestone Type Updated Successfully",contextualColorName:"success"})):bulmaJS.alert({title:"Error Updating Work Order Milestone Type",message:null!==(t=s.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}function d(t){const s=t.currentTarget.closest("tr"),o=s.dataset.workOrderMilestoneTypeId;bulmaJS.confirm({title:"Delete Work Order Milestone Type",message:"Are you sure you want to delete this work order milestone type?
\n Note that no work orders will be removed.",messageIsHtml:!0,contextualColorName:"warning",okButton:{text:"Yes, Delete Work Order Milestone Type",callbackFunction:function(){cityssm.postJSON(e.urlPrefix+"/admin/doDeleteWorkOrderMilestoneType",{workOrderMilestoneTypeId:o},e=>{var t;const o=e;o.success?(0===(l=o.workOrderMilestoneTypes).length?u():s.remove(),bulmaJS.alert({message:"Work Order Milestone Type Deleted Successfully",contextualColorName:"success"})):bulmaJS.alert({title:"Error Deleting Work Order Milestone Type",message:null!==(t=o.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}}})}function i(t){const s=t.currentTarget,o=s.closest("tr").dataset.workOrderMilestoneTypeId;cityssm.postJSON(e.urlPrefix+"/admin/"+("up"===s.dataset.direction?"doMoveWorkOrderMilestoneTypeUp":"doMoveWorkOrderMilestoneTypeDown"),{workOrderMilestoneTypeId:o,moveToEnd:t.shiftKey?"1":"0"},e=>{var t;const s=e;s.success?(l=s.workOrderMilestoneTypes,u()):bulmaJS.alert({title:"Error Moving Work Order Milestone Type",message:null!==(t=s.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}function u(){const t=document.querySelector("#container--workOrderMilestoneTypes");if(0!==l.length){t.innerHTML="";for(const s of l){const o=document.createElement("tr");o.dataset.workOrderMilestoneTypeId=s.workOrderMilestoneTypeId.toString(),o.innerHTML='
'+e.getMoveUpDownButtonFieldHTML("button--moveWorkOrderMilestoneTypeUp","button--moveWorkOrderMilestoneTypeDown",!1)+'
',o.querySelector("form").addEventListener("submit",c),o.querySelector(".button--moveWorkOrderMilestoneTypeUp").addEventListener("click",i),o.querySelector(".button--moveWorkOrderMilestoneTypeDown").addEventListener("click",i),o.querySelector(".button--deleteWorkOrderMilestoneType").addEventListener("click",d),t.append(o)}}else t.innerHTML='\n

There are no active work order milestone types.

\n '}delete exports.workOrderMilestoneTypes,document.querySelector("#form--addWorkOrderMilestoneType").addEventListener("submit",t=>{t.preventDefault();const s=t.currentTarget;cityssm.postJSON(e.urlPrefix+"/admin/doAddWorkOrderMilestoneType",s,e=>{var t;const o=e;o.success?(l=o.workOrderMilestoneTypes,u(),s.reset(),s.querySelector("input").focus()):bulmaJS.alert({title:"Error Adding Work Order Milestone Type",message:null!==(t=o.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}),u(),Object.defineProperty(exports,"__esModule",{value:!0});let p=exports.lotStatuses;function m(t){t.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doUpdateLotStatus",t.currentTarget,t=>{var s;const o=t;o.success?(p=o.lotStatuses,bulmaJS.alert({message:e.escapedAliases.Lot+" Status Updated Successfully",contextualColorName:"success"})):bulmaJS.alert({title:"Error Updating "+e.escapedAliases.Lot+" Status",message:null!==(s=o.errorMessage)&&void 0!==s?s:"",contextualColorName:"danger"})})}function y(t){const s=t.currentTarget.closest("tr"),o=s.dataset.lotStatusId;bulmaJS.confirm({title:`Delete ${e.escapedAliases.Lot} Status`,message:`Are you sure you want to delete this status?
\n Note that no ${e.escapedAliases.lot} will be removed.`,messageIsHtml:!0,contextualColorName:"warning",okButton:{text:"Yes, Delete Status",callbackFunction:function(){cityssm.postJSON(e.urlPrefix+"/admin/doDeleteLotStatus",{lotStatusId:o},t=>{var o;const r=t;r.success?(0===(p=r.lotStatuses).length?T():s.remove(),bulmaJS.alert({message:e.escapedAliases.Lot+" Status Deleted Successfully",contextualColorName:"success"})):bulmaJS.alert({title:`Error Deleting ${e.escapedAliases.Lot} Status`,message:null!==(o=r.errorMessage)&&void 0!==o?o:"",contextualColorName:"danger"})})}}})}function v(t){const s=t.currentTarget,o=s.closest("tr").dataset.lotStatusId;cityssm.postJSON(e.urlPrefix+"/admin/"+("up"===s.dataset.direction?"doMoveLotStatusUp":"doMoveLotStatusDown"),{lotStatusId:o,moveToEnd:t.shiftKey?"1":"0"},t=>{var s;const o=t;o.success?(p=o.lotStatuses,T()):bulmaJS.alert({title:"Error Moving "+e.escapedAliases.Lot+" Status",message:null!==(s=o.errorMessage)&&void 0!==s?s:"",contextualColorName:"danger"})})}function T(){const t=document.querySelector("#container--lotStatuses");if(0!==p.length){t.innerHTML="";for(const s of p){const o=document.createElement("tr");o.dataset.lotStatusId=s.lotStatusId.toString(),o.innerHTML='
'+e.getMoveUpDownButtonFieldHTML("button--moveLotStatusUp","button--moveLotStatusDown",!1)+'
',o.querySelector("form").addEventListener("submit",m),o.querySelector(".button--moveLotStatusUp").addEventListener("click",v),o.querySelector(".button--moveLotStatusDown").addEventListener("click",v),o.querySelector(".button--deleteLotStatus").addEventListener("click",y),t.append(o)}}else t.innerHTML=`\n

There are no active ${e.escapedAliases.lot} statuses.

\n `}delete exports.lotStatuses,document.querySelector("#form--addLotStatus").addEventListener("submit",t=>{t.preventDefault();const s=t.currentTarget;cityssm.postJSON(e.urlPrefix+"/admin/doAddLotStatus",s,t=>{var o;const r=t;r.success?(p=r.lotStatuses,T(),s.reset(),s.querySelector("input").focus()):bulmaJS.alert({title:`Error Adding ${e.escapedAliases.Lot} Status`,message:null!==(o=r.errorMessage)&&void 0!==o?o:"",contextualColorName:"danger"})})}),T(),Object.defineProperty(exports,"__esModule",{value:!0});let g=exports.lotOccupantTypes;function f(t){t.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doUpdateLotOccupantType",t.currentTarget,t=>{var s;const o=t;o.success?(g=o.lotOccupantTypes,bulmaJS.alert({message:`${e.escapedAliases.Lot} ${e.escapedAliases.Occupant} Type Updated Successfully`,contextualColorName:"success"})):bulmaJS.alert({title:`Error Updating ${e.escapedAliases.Lot} ${e.escapedAliases.Occupant} Type`,message:null!==(s=o.errorMessage)&&void 0!==s?s:"",contextualColorName:"danger"})})}function O(t){const s=t.currentTarget.closest("tr"),o=s.dataset.lotOccupantTypeId;bulmaJS.confirm({title:`Delete ${e.escapedAliases.Lot} ${e.escapedAliases.Occupant} Type`,message:`Are you sure you want to delete this ${e.escapedAliases.lot} ${e.escapedAliases.occupant} type?
\n Note that no ${e.escapedAliases.lot} ${e.escapedAliases.occupants} will be removed.`,messageIsHtml:!0,contextualColorName:"warning",okButton:{text:`Yes, Delete ${e.escapedAliases.Lot} ${e.escapedAliases.Occupant} Type`,callbackFunction:function(){cityssm.postJSON(e.urlPrefix+"/admin/doDeleteLotOccupantType",{lotOccupantTypeId:o},t=>{var o;const r=t;r.success?(0===(g=r.lotOccupantTypes).length?b():s.remove(),bulmaJS.alert({message:`${e.escapedAliases.Lot} ${e.escapedAliases.Occupant} Type Deleted Successfully`,contextualColorName:"success"})):bulmaJS.alert({title:`Error Deleting ${e.escapedAliases.Lot} ${e.escapedAliases.Occupant} Type`,message:null!==(o=r.errorMessage)&&void 0!==o?o:"",contextualColorName:"danger"})})}}})}function S(t){const s=t.currentTarget,o=s.closest("tr").dataset.lotOccupantTypeId;cityssm.postJSON(e.urlPrefix+"/admin/"+("up"===s.dataset.direction?"doMoveLotOccupantTypeUp":"doMoveLotOccupantTypeDown"),{lotOccupantTypeId:o,moveToEnd:t.shiftKey?"1":"0"},t=>{var s;const o=t;o.success?(g=o.lotOccupantTypes,b()):bulmaJS.alert({title:`Error Moving ${e.escapedAliases.Lot} ${e.escapedAliases.Occupant} Type`,message:null!==(s=o.errorMessage)&&void 0!==s?s:"",contextualColorName:"danger"})})}function b(){const s=document.querySelector("#container--lotOccupantTypes");if(0!==g.length){s.innerHTML="";for(const o of g){const r=document.createElement("tr");r.dataset.lotOccupantTypeId=o.lotOccupantTypeId.toString();const a="form--lotOccupantType-"+o.lotOccupantTypeId.toString();r.innerHTML='
fa-
'+e.getMoveUpDownButtonFieldHTML("button--moveLotOccupantTypeUp","button--moveLotOccupantTypeDown",!1)+'
';const n=r.querySelector("input[name='fontAwesomeIconClass']");n.addEventListener("keyup",t),n.addEventListener("change",t),r.querySelector("form").addEventListener("submit",f),r.querySelector(".button--moveLotOccupantTypeUp").addEventListener("click",S),r.querySelector(".button--moveLotOccupantTypeDown").addEventListener("click",S),r.querySelector(".button--deleteLotOccupantType").addEventListener("click",O),s.append(r)}}else s.innerHTML=`\n
\n

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

\n
\n `}delete exports.lotOccupantTypes,document.querySelector("#form--addLotOccupantType").addEventListener("submit",t=>{t.preventDefault();const s=t.currentTarget;cityssm.postJSON(e.urlPrefix+"/admin/doAddLotOccupantType",s,t=>{var o;const r=t;r.success?(g=r.lotOccupantTypes,b(),s.reset(),s.querySelector("input").focus()):bulmaJS.alert({title:`Error Adding ${e.escapedAliases.Lot} ${e.escapedAliases.Occupant} Type`,message:null!==(o=r.errorMessage)&&void 0!==o?o:"",contextualColorName:"danger"})})}),b()})(); \ No newline at end of file