diff --git a/public-typescript/adminFees.js b/public-typescript/adminFees.js index cbbd0498..965915fe 100644 --- a/public-typescript/adminFees.js +++ b/public-typescript/adminFees.js @@ -7,10 +7,11 @@ Object.defineProperty(exports, "__esModule", { value: true }); let feeCategories = exports.feeCategories; delete exports.feeCategories; function renderFeeCategories() { + var _a, _b, _c, _d, _e, _f; if (feeCategories.length === 0) { feeCategoriesContainerElement.innerHTML = `
-

There are no available fees.

-
`; +

There are no available fees.

+ `; return; } feeCategoriesContainerElement.innerHTML = ''; @@ -24,7 +25,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); '
' + ('
' + '

' + - cityssm.escapeHTML(feeCategory.feeCategory || '') + + cityssm.escapeHTML((_a = feeCategory.feeCategory) !== null && _a !== void 0 ? _a : '') + '

' + '
') + ('
' + @@ -57,14 +58,14 @@ Object.defineProperty(exports, "__esModule", { value: true }); '
'; if (feeCategory.fees.length === 0) { feeCategoryContainerElement.insertAdjacentHTML('beforeend', `
-
-

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

-
-
`); +
+

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

+
+
`); feeCategoryContainerElement .querySelector('.button--deleteFeeCategory') .addEventListener('click', confirmDeleteFeeCategory); @@ -80,11 +81,11 @@ Object.defineProperty(exports, "__esModule", { value: true }); ('
' + '

' + '' + - cityssm.escapeHTML(fee.feeName || '') + + cityssm.escapeHTML((_b = fee.feeName) !== null && _b !== void 0 ? _b : '') + '
' + '' + cityssm - .escapeHTML(fee.feeDescription || '') + .escapeHTML((_c = fee.feeDescription) !== null && _c !== void 0 ? _c : '') .replace(/\n/g, '
') + '
' + '

' + @@ -97,14 +98,14 @@ Object.defineProperty(exports, "__esModule", { value: true }); ? ' ' + - cityssm.escapeHTML(fee.occupancyType || '') + + cityssm.escapeHTML((_d = fee.occupancyType) !== null && _d !== void 0 ? _d : '') + '' : '') + (fee.lotTypeId ? ' ' + - cityssm.escapeHTML(fee.lotType || '') + + cityssm.escapeHTML((_e = fee.lotType) !== null && _e !== void 0 ? _e : '') + '' : '') + '

' @@ -130,7 +131,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); '
') + ('
' + (fee.includeQuantity - ? cityssm.escapeHTML(fee.quantityUnit || '') + + ? cityssm.escapeHTML((_f = fee.quantityUnit) !== null && _f !== void 0 ? _f : '') + '
' + 'Quantity' : '') + @@ -168,9 +169,10 @@ Object.defineProperty(exports, "__esModule", { value: true }); .querySelector('#button--addFeeCategory') .addEventListener('click', () => { let addCloseModalFunction; - const doAddFeeCategory = (submitEvent) => { + function doAddFeeCategory(submitEvent) { submitEvent.preventDefault(); cityssm.postJSON(los.urlPrefix + '/admin/doAddFeeCategory', submitEvent.currentTarget, (responseJSON) => { + var _a; if (responseJSON.success) { feeCategories = responseJSON.feeCategories; addCloseModalFunction(); @@ -179,12 +181,12 @@ Object.defineProperty(exports, "__esModule", { value: true }); else { bulmaJS.alert({ title: 'Error Creating Fee Category', - message: responseJSON.errorMessage || '', + message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '', contextualColorName: 'danger' }); } }); - }; + } cityssm.openHtmlModal('adminFees-addFeeCategory', { onshown(modalElement, closeModalFunction) { bulmaJS.toggleHtmlClipped(); @@ -209,6 +211,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); function doUpdateFeeCategory(submitEvent) { submitEvent.preventDefault(); cityssm.postJSON(los.urlPrefix + '/admin/doUpdateFeeCategory', submitEvent.currentTarget, (responseJSON) => { + var _a; if (responseJSON.success) { feeCategories = responseJSON.feeCategories; editCloseModalFunction(); @@ -217,7 +220,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); else { bulmaJS.alert({ title: 'Error Updating Fee Category', - message: responseJSON.errorMessage || '', + message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '', contextualColorName: 'danger' }); } @@ -248,6 +251,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); cityssm.postJSON(los.urlPrefix + '/admin/doDeleteFeeCategory', { feeCategoryId }, (responseJSON) => { + var _a; if (responseJSON.success) { feeCategories = responseJSON.feeCategories; renderFeeCategories(); @@ -255,7 +259,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); else { bulmaJS.alert({ title: 'Error Updating Fee Category', - message: responseJSON.errorMessage || '', + message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '', contextualColorName: 'danger' }); } @@ -282,6 +286,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); feeCategoryId, moveToEnd: clickEvent.shiftKey ? '1' : '0' }, (responseJSON) => { + var _a; if (responseJSON.success) { feeCategories = responseJSON.feeCategories; renderFeeCategories(); @@ -289,7 +294,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); else { bulmaJS.alert({ title: 'Error Moving Fee Category', - message: responseJSON.errorMessage || '', + message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '', contextualColorName: 'danger' }); } @@ -304,6 +309,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); function doAddFee(submitEvent) { submitEvent.preventDefault(); cityssm.postJSON(los.urlPrefix + '/admin/doAddFee', submitEvent.currentTarget, (responseJSON) => { + var _a; if (responseJSON.success) { feeCategories = responseJSON.feeCategories; addCloseModalFunction(); @@ -312,7 +318,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); else { bulmaJS.alert({ title: 'Error Adding Fee', - message: responseJSON.errorMessage || '', + message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '', contextualColorName: 'danger' }); } @@ -415,6 +421,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); function doUpdateFee(submitEvent) { submitEvent.preventDefault(); cityssm.postJSON(los.urlPrefix + '/admin/doUpdateFee', submitEvent.currentTarget, (responseJSON) => { + var _a; if (responseJSON.success) { feeCategories = responseJSON.feeCategories; editCloseModalFunction(); @@ -423,7 +430,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); else { bulmaJS.alert({ title: 'Error Updating Fee', - message: responseJSON.errorMessage || '', + message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '', contextualColorName: 'danger' }); } @@ -431,10 +438,11 @@ Object.defineProperty(exports, "__esModule", { value: true }); } function confirmDeleteFee(clickEvent) { clickEvent.preventDefault(); - const doDelete = () => { + function doDelete() { cityssm.postJSON(los.urlPrefix + '/admin/doDeleteFee', { feeId }, (responseJSON) => { + var _a; if (responseJSON.success) { feeCategories = responseJSON.feeCategories; editCloseModalFunction(); @@ -443,12 +451,12 @@ Object.defineProperty(exports, "__esModule", { value: true }); else { bulmaJS.alert({ title: 'Error Deleting Fee', - message: responseJSON.errorMessage || '', + message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '', contextualColorName: 'danger' }); } }); - }; + } bulmaJS.confirm({ title: 'Delete Fee?', message: 'Are you sure you want to delete this fee?', @@ -493,6 +501,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); } cityssm.openHtmlModal('adminFees-editFee', { onshow(modalElement) { + var _a; editModalElement = modalElement; modalElement.querySelector('#feeEdit--feeId').value = fee.feeId.toString(); const feeCategoryElement = modalElement.querySelector('#feeEdit--feeCategoryId'); @@ -546,7 +555,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); includeQuantityElement.value = '1'; } includeQuantityElement.addEventListener('change', toggleQuantityFields); - modalElement.querySelector('#feeEdit--quantityUnit').value = fee.quantityUnit || ''; + modalElement.querySelector('#feeEdit--quantityUnit').value = (_a = fee.quantityUnit) !== null && _a !== void 0 ? _a : ''; toggleQuantityFields(); if (fee.isRequired) { ; @@ -582,6 +591,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); feeId, moveToEnd: clickEvent.shiftKey ? '1' : '0' }, (responseJSON) => { + var _a; if (responseJSON.success) { feeCategories = responseJSON.feeCategories; renderFeeCategories(); @@ -589,7 +599,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); else { bulmaJS.alert({ title: 'Error Moving Fee', - message: responseJSON.errorMessage || '', + message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '', contextualColorName: 'danger' }); } diff --git a/public-typescript/adminFees.ts b/public-typescript/adminFees.ts index 03a275ce..77b28539 100644 --- a/public-typescript/adminFees.ts +++ b/public-typescript/adminFees.ts @@ -9,7 +9,6 @@ import type { BulmaJS } from '@cityssm/bulma-js/types' declare const cityssm: cityssmGlobal declare const bulmaJS: BulmaJS - ;(() => { const los = exports.los as globalTypes.LOS @@ -23,8 +22,8 @@ declare const bulmaJS: BulmaJS function renderFeeCategories(): void { if (feeCategories.length === 0) { feeCategoriesContainerElement.innerHTML = `
-

There are no available fees.

-
` +

There are no available fees.

+
` return } @@ -37,19 +36,19 @@ declare const bulmaJS: BulmaJS feeCategoryContainerElement.className = 'panel container--feeCategory' feeCategoryContainerElement.dataset.feeCategoryId = - feeCategory.feeCategoryId!.toString() + feeCategory.feeCategoryId.toString() feeCategoryContainerElement.innerHTML = '
' + '
' + ('
' + '

' + - cityssm.escapeHTML(feeCategory.feeCategory || '') + + cityssm.escapeHTML(feeCategory.feeCategory ?? '') + '

' + '
') + ('
' + '
' + - (feeCategory.fees!.length === 0 + (feeCategory.fees.length === 0 ? '
' + '
` ) feeCategoryContainerElement @@ -103,7 +102,7 @@ declare const bulmaJS: BulmaJS const panelBlockElement = document.createElement('div') panelBlockElement.className = 'panel-block is-block container--fee' - panelBlockElement.dataset.feeId = fee.feeId!.toString() + panelBlockElement.dataset.feeId = fee.feeId.toString() const hasTagsBlock = fee.isRequired || fee.occupancyTypeId || fee.lotTypeId @@ -113,11 +112,11 @@ declare const bulmaJS: BulmaJS ('
' + '

' + '' + - cityssm.escapeHTML(fee.feeName || '') + + cityssm.escapeHTML(fee.feeName ?? '') + '
' + '' + cityssm - .escapeHTML(fee.feeDescription || '') + .escapeHTML(fee.feeDescription ?? '') .replace(/\n/g, '
') + '
' + '

' + @@ -130,14 +129,14 @@ declare const bulmaJS: BulmaJS ? ' ' + - cityssm.escapeHTML(fee.occupancyType || '') + + cityssm.escapeHTML(fee.occupancyType ?? '') + '' : '') + (fee.lotTypeId ? ' ' + - cityssm.escapeHTML(fee.lotType || '') + + cityssm.escapeHTML(fee.lotType ?? '') + '' : '') + '

' @@ -163,7 +162,7 @@ declare const bulmaJS: BulmaJS '
') + ('
' + (fee.includeQuantity - ? cityssm.escapeHTML(fee.quantityUnit || '') + + ? cityssm.escapeHTML(fee.quantityUnit ?? '') + '
' + 'Quantity' : '') + @@ -182,13 +181,11 @@ declare const bulmaJS: BulmaJS panelBlockElement .querySelector('a')! .addEventListener('click', openEditFee) - ;( panelBlockElement.querySelector( '.button--moveFeeUp' ) as HTMLButtonElement ).addEventListener('click', moveFee) - ;( panelBlockElement.querySelector( '.button--moveFeeDown' @@ -206,13 +203,11 @@ declare const bulmaJS: BulmaJS feeCategoryContainerElement .querySelector('.button--addFee')! .addEventListener('click', openAddFee) - ;( feeCategoryContainerElement.querySelector( '.button--moveFeeCategoryUp' ) as HTMLButtonElement ).addEventListener('click', moveFeeCategory) - ;( feeCategoryContainerElement.querySelector( '.button--moveFeeCategoryDown' @@ -232,7 +227,7 @@ declare const bulmaJS: BulmaJS .addEventListener('click', () => { let addCloseModalFunction: () => void - const doAddFeeCategory = (submitEvent: SubmitEvent) => { + function doAddFeeCategory(submitEvent: SubmitEvent): void { submitEvent.preventDefault() cityssm.postJSON( @@ -250,7 +245,7 @@ declare const bulmaJS: BulmaJS } else { bulmaJS.alert({ title: 'Error Creating Fee Category', - message: responseJSON.errorMessage || '', + message: responseJSON.errorMessage ?? '', contextualColorName: 'danger' }) } @@ -299,7 +294,7 @@ declare const bulmaJS: BulmaJS let editCloseModalFunction: () => void - function doUpdateFeeCategory(submitEvent: SubmitEvent) { + function doUpdateFeeCategory(submitEvent: SubmitEvent): void { submitEvent.preventDefault() cityssm.postJSON( @@ -317,7 +312,7 @@ declare const bulmaJS: BulmaJS } else { bulmaJS.alert({ title: 'Error Updating Fee Category', - message: responseJSON.errorMessage || '', + message: responseJSON.errorMessage ?? '', contextualColorName: 'danger' }) } @@ -331,7 +326,7 @@ declare const bulmaJS: BulmaJS modalElement.querySelector( '#feeCategoryEdit--feeCategoryId' ) as HTMLInputElement - ).value = feeCategory.feeCategoryId!.toString() + ).value = feeCategory.feeCategoryId.toString() ;( modalElement.querySelector( '#feeCategoryEdit--feeCategory' @@ -346,7 +341,6 @@ declare const bulmaJS: BulmaJS modalElement .querySelector('form')! .addEventListener('submit', doUpdateFeeCategory) - ;( modalElement.querySelector( '#feeCategoryEdit--feeCategory' @@ -369,7 +363,7 @@ declare const bulmaJS: BulmaJS 10 ) - function doDelete() { + function doDelete(): void { cityssm.postJSON( los.urlPrefix + '/admin/doDeleteFeeCategory', { @@ -386,7 +380,7 @@ declare const bulmaJS: BulmaJS } else { bulmaJS.alert({ title: 'Error Updating Fee Category', - message: responseJSON.errorMessage || '', + message: responseJSON.errorMessage ?? '', contextualColorName: 'danger' }) } @@ -433,7 +427,7 @@ declare const bulmaJS: BulmaJS } else { bulmaJS.alert({ title: 'Error Moving Fee Category', - message: responseJSON.errorMessage || '', + message: responseJSON.errorMessage ?? '', contextualColorName: 'danger' }) } @@ -457,7 +451,7 @@ declare const bulmaJS: BulmaJS let addCloseModalFunction: () => void - function doAddFee(submitEvent: SubmitEvent) { + function doAddFee(submitEvent: SubmitEvent): void { submitEvent.preventDefault() cityssm.postJSON( @@ -475,7 +469,7 @@ declare const bulmaJS: BulmaJS } else { bulmaJS.alert({ title: 'Error Adding Fee', - message: responseJSON.errorMessage || '', + message: responseJSON.errorMessage ?? '', contextualColorName: 'danger' }) } @@ -537,11 +531,9 @@ declare const bulmaJS: BulmaJS addCloseModalFunction = closeModalFunction modalElement.querySelector('form')!.addEventListener('submit', doAddFee) - ;( modalElement.querySelector('#feeAdd--feeName') as HTMLInputElement ).focus() - ;( modalElement.querySelector('#feeAdd--feeFunction') as HTMLInputElement ).addEventListener('change', () => { @@ -637,7 +629,7 @@ declare const bulmaJS: BulmaJS let editCloseModalFunction: () => void let editModalElement: HTMLElement - function doUpdateFee(submitEvent: SubmitEvent) { + function doUpdateFee(submitEvent: SubmitEvent): void { submitEvent.preventDefault() cityssm.postJSON( @@ -655,7 +647,7 @@ declare const bulmaJS: BulmaJS } else { bulmaJS.alert({ title: 'Error Updating Fee', - message: responseJSON.errorMessage || '', + message: responseJSON.errorMessage ?? '', contextualColorName: 'danger' }) } @@ -663,10 +655,10 @@ declare const bulmaJS: BulmaJS ) } - function confirmDeleteFee(clickEvent: Event) { + function confirmDeleteFee(clickEvent: Event): void { clickEvent.preventDefault() - const doDelete = () => { + function doDelete(): void { cityssm.postJSON( los.urlPrefix + '/admin/doDeleteFee', { @@ -684,7 +676,7 @@ declare const bulmaJS: BulmaJS } else { bulmaJS.alert({ title: 'Error Deleting Fee', - message: responseJSON.errorMessage || '', + message: responseJSON.errorMessage ?? '', contextualColorName: 'danger' }) } @@ -703,7 +695,7 @@ declare const bulmaJS: BulmaJS }) } - function toggleFeeFields() { + function toggleFeeFields(): void { const feeAmountElement = editModalElement.querySelector( '#feeEdit--feeAmount' ) as HTMLInputElement @@ -725,7 +717,7 @@ declare const bulmaJS: BulmaJS } } - function toggleTaxFields() { + function toggleTaxFields(): void { const taxAmountElement = editModalElement.querySelector( '#feeEdit--taxAmount' ) as HTMLInputElement @@ -747,7 +739,7 @@ declare const bulmaJS: BulmaJS } } - function toggleQuantityFields() { + function toggleQuantityFields(): void { const includeQuanitityValue = ( editModalElement.querySelector( '#feeEdit--includeQuantity' @@ -764,7 +756,6 @@ declare const bulmaJS: BulmaJS cityssm.openHtmlModal('adminFees-editFee', { onshow(modalElement) { editModalElement = modalElement - ;( modalElement.querySelector('#feeEdit--feeId') as HTMLInputElement ).value = fee.feeId.toString() @@ -835,7 +826,6 @@ declare const bulmaJS: BulmaJS .addEventListener('change', toggleFeeFields) toggleFeeFields() - ;( modalElement.querySelector('#feeEdit--taxAmount') as HTMLInputElement ).value = fee.taxAmount ? fee.taxAmount.toFixed(2) : '' @@ -859,12 +849,11 @@ declare const bulmaJS: BulmaJS } includeQuantityElement.addEventListener('change', toggleQuantityFields) - ;( modalElement.querySelector( '#feeEdit--quantityUnit' ) as HTMLInputElement - ).value = fee.quantityUnit || '' + ).value = fee.quantityUnit ?? '' toggleQuantityFields() @@ -929,7 +918,7 @@ declare const bulmaJS: BulmaJS } else { bulmaJS.alert({ title: 'Error Moving Fee', - message: responseJSON.errorMessage || '', + message: responseJSON.errorMessage ?? '', contextualColorName: 'danger' }) } diff --git a/public-typescript/adminLotTypes.js b/public-typescript/adminLotTypes.js index 1761c6bb..6e336442 100644 --- a/public-typescript/adminLotTypes.js +++ b/public-typescript/adminLotTypes.js @@ -26,14 +26,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); } } function lotTypeResponseHandler(responseJSON) { + var _a; if (responseJSON.success) { lotTypes = responseJSON.lotTypes; renderLotTypes(); } else { bulmaJS.alert({ - title: `Error Updating ${exports.aliases.lot} Type`, - message: responseJSON.errorMessage || '', + title: `Error Updating ${los.escapedAliases.Lot} Type`, + message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '', contextualColorName: 'danger' }); } @@ -46,11 +47,11 @@ Object.defineProperty(exports, "__esModule", { value: true }); }, lotTypeResponseHandler); } bulmaJS.confirm({ - title: `Delete ${exports.aliases.lot} Type`, - message: `Are you sure you want to delete this ${exports.aliases.lot.toLowerCase()} type?`, + title: `Delete ${los.escapedAliases.Lot} Type`, + message: `Are you sure you want to delete this ${los.escapedAliases.lot} type?`, contextualColorName: 'warning', okButton: { - text: `Yes, Delete ${exports.aliases.lot} Type`, + text: `Yes, Delete ${los.escapedAliases.Lot} Type`, callbackFunction: doDelete } }); @@ -61,7 +62,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); return lotTypeId === currentLotType.lotTypeId; }); let editCloseModalFunction; - const doEdit = (submitEvent) => { + function doEdit(submitEvent) { submitEvent.preventDefault(); cityssm.postJSON(los.urlPrefix + '/admin/doUpdateLotType', submitEvent.currentTarget, (responseJSON) => { lotTypeResponseHandler(responseJSON); @@ -69,7 +70,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); editCloseModalFunction(); } }); - }; + } cityssm.openHtmlModal('adminLotTypes-editLotType', { onshow(modalElement) { los.populateAliases(modalElement); @@ -90,7 +91,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); function openAddLotTypeField(clickEvent) { const lotTypeId = Number.parseInt(clickEvent.currentTarget.closest('.container--lotType').dataset.lotTypeId, 10); let addCloseModalFunction; - const doAdd = (submitEvent) => { + function doAdd(submitEvent) { submitEvent.preventDefault(); cityssm.postJSON(los.urlPrefix + '/admin/doAddLotTypeField', submitEvent.currentTarget, (responseJSON) => { expandedLotTypes.add(lotTypeId); @@ -100,7 +101,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); openEditLotTypeField(lotTypeId, responseJSON.lotTypeFieldId); } }); - }; + } cityssm.openHtmlModal('adminLotTypes-addLotTypeField', { onshow(modalElement) { los.populateAliases(modalElement); @@ -243,6 +244,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); }, lotTypeResponseHandler); } function renderLotTypeFields(panelElement, lotTypeId, lotTypeFields) { + var _a; if (lotTypeFields.length === 0) { panelElement.insertAdjacentHTML('beforeend', '' + @@ -326,7 +328,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); '' + '
') + @@ -367,6 +369,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); function doAdd(submitEvent) { submitEvent.preventDefault(); cityssm.postJSON(los.urlPrefix + '/admin/doAddLotType', submitEvent.currentTarget, (responseJSON) => { + var _a; if (responseJSON.success) { addCloseModalFunction(); lotTypes = responseJSON.lotTypes; @@ -375,7 +378,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); else { bulmaJS.alert({ title: `Error Adding ${los.escapedAliases.Lot} Type`, - message: responseJSON.errorMessage || '', + message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '', contextualColorName: 'danger' }); } diff --git a/public-typescript/adminLotTypes.ts b/public-typescript/adminLotTypes.ts index 0a77af57..361b0071 100644 --- a/public-typescript/adminLotTypes.ts +++ b/public-typescript/adminLotTypes.ts @@ -9,7 +9,6 @@ import type { BulmaJS } from '@cityssm/bulma-js/types' declare const cityssm: cityssmGlobal declare const bulmaJS: BulmaJS - ;(() => { const los = exports.los as globalTypes.LOS @@ -22,7 +21,7 @@ declare const bulmaJS: BulmaJS const expandedLotTypes = new Set() - function toggleLotTypeFields(clickEvent: Event) { + function toggleLotTypeFields(clickEvent: Event): void { const toggleButtonElement = clickEvent.currentTarget as HTMLButtonElement const lotTypeElement = toggleButtonElement.closest( @@ -52,20 +51,20 @@ declare const bulmaJS: BulmaJS success: boolean errorMessage?: string lotTypes?: recordTypes.LotType[] - }) { + }): void { if (responseJSON.success) { lotTypes = responseJSON.lotTypes! renderLotTypes() } else { bulmaJS.alert({ - title: `Error Updating ${exports.aliases.lot} Type`, - message: responseJSON.errorMessage || '', + title: `Error Updating ${los.escapedAliases.Lot} Type`, + message: responseJSON.errorMessage ?? '', contextualColorName: 'danger' }) } } - function deleteLotType(clickEvent: Event) { + function deleteLotType(clickEvent: Event): void { const lotTypeId = Number.parseInt( ( (clickEvent.currentTarget as HTMLElement).closest( @@ -75,7 +74,7 @@ declare const bulmaJS: BulmaJS 10 ) - function doDelete() { + function doDelete(): void { cityssm.postJSON( los.urlPrefix + '/admin/doDeleteLotType', { @@ -86,17 +85,17 @@ declare const bulmaJS: BulmaJS } bulmaJS.confirm({ - title: `Delete ${exports.aliases.lot} Type`, - message: `Are you sure you want to delete this ${exports.aliases.lot.toLowerCase()} type?`, + title: `Delete ${los.escapedAliases.Lot} Type`, + message: `Are you sure you want to delete this ${los.escapedAliases.lot} type?`, contextualColorName: 'warning', okButton: { - text: `Yes, Delete ${exports.aliases.lot} Type`, + text: `Yes, Delete ${los.escapedAliases.Lot} Type`, callbackFunction: doDelete } }) } - function openEditLotType(clickEvent: Event) { + function openEditLotType(clickEvent: Event): void { const lotTypeId = Number.parseInt( ( (clickEvent.currentTarget as HTMLElement).closest( @@ -112,7 +111,7 @@ declare const bulmaJS: BulmaJS let editCloseModalFunction: () => void - const doEdit = (submitEvent: SubmitEvent) => { + function doEdit(submitEvent: SubmitEvent): void { submitEvent.preventDefault() cityssm.postJSON( @@ -134,13 +133,11 @@ declare const bulmaJS: BulmaJS cityssm.openHtmlModal('adminLotTypes-editLotType', { onshow(modalElement) { los.populateAliases(modalElement) - ;( modalElement.querySelector( '#lotTypeEdit--lotTypeId' ) as HTMLInputElement ).value = lotTypeId.toString() - ;( modalElement.querySelector( '#lotTypeEdit--lotType' @@ -149,7 +146,6 @@ declare const bulmaJS: BulmaJS }, onshown(modalElement, closeModalFunction) { editCloseModalFunction = closeModalFunction - ;( modalElement.querySelector( '#lotTypeEdit--lotType' @@ -166,7 +162,7 @@ declare const bulmaJS: BulmaJS }) } - function openAddLotTypeField(clickEvent: Event) { + function openAddLotTypeField(clickEvent: Event): void { const lotTypeId = Number.parseInt( ( (clickEvent.currentTarget as HTMLElement).closest( @@ -178,7 +174,7 @@ declare const bulmaJS: BulmaJS let addCloseModalFunction: () => void - const doAdd = (submitEvent: SubmitEvent) => { + function doAdd(submitEvent: SubmitEvent): void { submitEvent.preventDefault() cityssm.postJSON( @@ -215,7 +211,6 @@ declare const bulmaJS: BulmaJS }, onshown(modalElement, closeModalFunction) { addCloseModalFunction = closeModalFunction - ;( modalElement.querySelector( '#lotTypeFieldAdd--lotTypeField' @@ -232,7 +227,7 @@ declare const bulmaJS: BulmaJS }) } - function moveLotType(clickEvent: MouseEvent) { + function moveLotType(clickEvent: MouseEvent): void { const buttonElement = clickEvent.currentTarget as HTMLButtonElement const lotTypeId = ( @@ -253,7 +248,10 @@ declare const bulmaJS: BulmaJS ) } - function openEditLotTypeField(lotTypeId: number, lotTypeFieldId: number) { + function openEditLotTypeField( + lotTypeId: number, + lotTypeFieldId: number + ): void { const lotType = lotTypes.find((currentLotType) => { return currentLotType.lotTypeId === lotTypeId })! @@ -269,11 +267,11 @@ declare const bulmaJS: BulmaJS let editCloseModalFunction: () => void - function updateMaximumLengthMin() { + function updateMaximumLengthMin(): void { maximumLengthElement.min = minimumLengthElement.value } - function toggleInputFields() { + function toggleInputFields(): void { if (lotTypeFieldValuesElement.value === '') { minimumLengthElement.disabled = false maximumLengthElement.disabled = false @@ -285,7 +283,7 @@ declare const bulmaJS: BulmaJS } } - function doUpdate(submitEvent: SubmitEvent) { + function doUpdate(submitEvent: SubmitEvent): void { submitEvent.preventDefault() cityssm.postJSON( @@ -304,7 +302,7 @@ declare const bulmaJS: BulmaJS ) } - function doDelete() { + function doDelete(): void { cityssm.postJSON( los.urlPrefix + '/admin/doDeleteLotTypeField', { @@ -323,7 +321,7 @@ declare const bulmaJS: BulmaJS ) } - function confirmDoDelete() { + function confirmDoDelete(): void { bulmaJS.confirm({ title: 'Delete Field', message: @@ -339,19 +337,16 @@ declare const bulmaJS: BulmaJS cityssm.openHtmlModal('adminLotTypes-editLotTypeField', { onshow(modalElement) { los.populateAliases(modalElement) - ;( modalElement.querySelector( '#lotTypeFieldEdit--lotTypeFieldId' ) as HTMLInputElement ).value = lotTypeField.lotTypeFieldId.toString() - ;( modalElement.querySelector( '#lotTypeFieldEdit--lotTypeField' ) as HTMLInputElement ).value = lotTypeField.lotTypeField! - ;( modalElement.querySelector( '#lotTypeFieldEdit--isRequired' @@ -409,7 +404,7 @@ declare const bulmaJS: BulmaJS }) } - function openEditLotTypeFieldByClick(clickEvent: Event) { + function openEditLotTypeFieldByClick(clickEvent: Event): void { clickEvent.preventDefault() const lotTypeFieldId = Number.parseInt( @@ -433,7 +428,7 @@ declare const bulmaJS: BulmaJS openEditLotTypeField(lotTypeId, lotTypeFieldId) } - function moveLotTypeField(clickEvent: MouseEvent) { + function moveLotTypeField(clickEvent: MouseEvent): void { const buttonElement = clickEvent.currentTarget as HTMLButtonElement const lotTypeFieldId = ( @@ -458,7 +453,7 @@ declare const bulmaJS: BulmaJS panelElement: HTMLElement, lotTypeId: number, lotTypeFields: recordTypes.LotTypeField[] - ) { + ): void { if (lotTypeFields.length === 0) { panelElement.insertAdjacentHTML( 'beforeend', @@ -488,7 +483,7 @@ declare const bulmaJS: BulmaJS '' + @@ -505,13 +500,11 @@ declare const bulmaJS: BulmaJS panelBlockElement .querySelector('.button--editLotTypeField')! .addEventListener('click', openEditLotTypeFieldByClick) - ;( panelBlockElement.querySelector( '.button--moveLotTypeFieldUp' ) as HTMLButtonElement ).addEventListener('click', moveLotTypeField) - ;( panelBlockElement.querySelector( '.button--moveLotTypeFieldDown' @@ -523,7 +516,7 @@ declare const bulmaJS: BulmaJS } } - function renderLotTypes() { + function renderLotTypes(): void { containerElement.innerHTML = '' if (lotTypes.length === 0) { @@ -572,7 +565,7 @@ declare const bulmaJS: BulmaJS '' + '
') + @@ -613,13 +606,11 @@ declare const bulmaJS: BulmaJS lotTypeContainer .querySelector('.button--addLotTypeField')! .addEventListener('click', openAddLotTypeField) - ;( lotTypeContainer.querySelector( '.button--moveLotTypeUp' ) as HTMLButtonElement ).addEventListener('click', moveLotType) - ;( lotTypeContainer.querySelector( '.button--moveLotTypeDown' @@ -653,7 +644,7 @@ declare const bulmaJS: BulmaJS } else { bulmaJS.alert({ title: `Error Adding ${los.escapedAliases.Lot} Type`, - message: responseJSON.errorMessage || '', + message: responseJSON.errorMessage ?? '', contextualColorName: 'danger' }) } @@ -667,7 +658,6 @@ declare const bulmaJS: BulmaJS }, onshown(modalElement, closeModalFunction) { addCloseModalFunction = closeModalFunction - ;( modalElement.querySelector( '#lotTypeAdd--lotType' diff --git a/public-typescript/adminOccupancyTypes.js b/public-typescript/adminOccupancyTypes.js index 866d041d..9c0b9a2f 100644 --- a/public-typescript/adminOccupancyTypes.js +++ b/public-typescript/adminOccupancyTypes.js @@ -29,6 +29,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); } } function occupancyTypeResponseHandler(responseJSON) { + var _a; if (responseJSON.success) { occupancyTypes = responseJSON.occupancyTypes; allOccupancyTypeFields = responseJSON.allOccupancyTypeFields; @@ -36,8 +37,8 @@ Object.defineProperty(exports, "__esModule", { value: true }); } else { bulmaJS.alert({ - title: 'Error Updating ' + exports.aliases.occupancy + ' Type', - message: responseJSON.errorMessage || '', + title: 'Error Updating ' + los.escapedAliases.Occupancy + ' Type', + message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '', contextualColorName: 'danger' }); } @@ -50,11 +51,11 @@ Object.defineProperty(exports, "__esModule", { value: true }); }, occupancyTypeResponseHandler); } bulmaJS.confirm({ - title: `Delete ${exports.aliases.occupancy} Type`, - message: `Are you sure you want to delete this ${exports.aliases.occupancy.toLowerCase()} type?`, + title: `Delete ${los.escapedAliases.Occupancy} Type`, + message: `Are you sure you want to delete this ${los.escapedAliases.occupancy} type?`, contextualColorName: 'warning', okButton: { - text: `Yes, Delete ${exports.aliases.occupancy} Type`, + text: `Yes, Delete ${los.escapedAliases.Occupancy} Type`, callbackFunction: doDelete } }); @@ -255,6 +256,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); }, occupancyTypeResponseHandler); } function renderOccupancyTypeFields(panelElement, occupancyTypeId, occupancyTypeFields) { + var _a; if (occupancyTypeFields.length === 0) { panelElement.insertAdjacentHTML('beforeend', '' + @@ -494,7 +496,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); '' + '
') + @@ -566,9 +568,10 @@ Object.defineProperty(exports, "__esModule", { value: true }); .querySelector('#button--addOccupancyType') .addEventListener('click', () => { let addCloseModalFunction; - const doAdd = (submitEvent) => { + function doAdd(submitEvent) { submitEvent.preventDefault(); cityssm.postJSON(los.urlPrefix + '/admin/doAddOccupancyType', submitEvent.currentTarget, (responseJSON) => { + var _a; if (responseJSON.success) { addCloseModalFunction(); occupancyTypes = responseJSON.occupancyTypes; @@ -576,13 +579,13 @@ Object.defineProperty(exports, "__esModule", { value: true }); } else { bulmaJS.alert({ - title: 'Error Adding ' + exports.aliases.occupancy + ' Type', - message: responseJSON.errorMessage || '', + title: `Error Adding ${los.escapedAliases.Occupancy} Type`, + message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '', contextualColorName: 'danger' }); } }); - }; + } cityssm.openHtmlModal('adminOccupancyTypes-addOccupancyType', { onshow: (modalElement) => { los.populateAliases(modalElement); diff --git a/public-typescript/adminOccupancyTypes.ts b/public-typescript/adminOccupancyTypes.ts index 523f1096..99b0a199 100644 --- a/public-typescript/adminOccupancyTypes.ts +++ b/public-typescript/adminOccupancyTypes.ts @@ -9,7 +9,6 @@ import type { BulmaJS } from '@cityssm/bulma-js/types' declare const cityssm: cityssmGlobal declare const bulmaJS: BulmaJS - ;(() => { const los = exports.los as globalTypes.LOS @@ -65,21 +64,21 @@ declare const bulmaJS: BulmaJS errorMessage?: string occupancyTypes?: recordTypes.OccupancyType[] allOccupancyTypeFields?: recordTypes.OccupancyTypeField[] - }) { + }): void { if (responseJSON.success) { occupancyTypes = responseJSON.occupancyTypes! allOccupancyTypeFields = responseJSON.allOccupancyTypeFields! renderOccupancyTypes() } else { bulmaJS.alert({ - title: 'Error Updating ' + exports.aliases.occupancy + ' Type', - message: responseJSON.errorMessage || '', + title: 'Error Updating ' + los.escapedAliases.Occupancy + ' Type', + message: responseJSON.errorMessage ?? '', contextualColorName: 'danger' }) } } - function deleteOccupancyType(clickEvent: Event) { + function deleteOccupancyType(clickEvent: Event): void { const occupancyTypeId = Number.parseInt( ( (clickEvent.currentTarget as HTMLElement).closest( @@ -100,11 +99,11 @@ declare const bulmaJS: BulmaJS } bulmaJS.confirm({ - title: `Delete ${exports.aliases.occupancy} Type`, - message: `Are you sure you want to delete this ${exports.aliases.occupancy.toLowerCase()} type?`, + title: `Delete ${los.escapedAliases.Occupancy} Type`, + message: `Are you sure you want to delete this ${los.escapedAliases.occupancy} type?`, contextualColorName: 'warning', okButton: { - text: `Yes, Delete ${exports.aliases.occupancy} Type`, + text: `Yes, Delete ${los.escapedAliases.Occupancy} Type`, callbackFunction: doDelete } }) @@ -149,13 +148,11 @@ declare const bulmaJS: BulmaJS cityssm.openHtmlModal('adminOccupancyTypes-editOccupancyType', { onshow(modalElement): void { los.populateAliases(modalElement) - ;( modalElement.querySelector( '#occupancyTypeEdit--occupancyTypeId' ) as HTMLInputElement ).value = occupancyTypeId.toString() - ;( modalElement.querySelector( '#occupancyTypeEdit--occupancyType' @@ -164,7 +161,6 @@ declare const bulmaJS: BulmaJS }, onshown(modalElement, closeModalFunction) { editCloseModalFunction = closeModalFunction - ;( modalElement.querySelector( '#occupancyTypeEdit--occupancyType' @@ -181,7 +177,7 @@ declare const bulmaJS: BulmaJS }) } - function openAddOccupancyTypeField(clickEvent: Event) { + function openAddOccupancyTypeField(clickEvent: Event): void { const occupancyTypeId = Number.parseInt( ( (clickEvent.currentTarget as HTMLElement).closest( @@ -193,7 +189,7 @@ declare const bulmaJS: BulmaJS let addCloseModalFunction: () => void - function doAdd(submitEvent: SubmitEvent) { + function doAdd(submitEvent: SubmitEvent): void { submitEvent.preventDefault() cityssm.postJSON( @@ -234,7 +230,6 @@ declare const bulmaJS: BulmaJS }, onshown(modalElement, closeModalFunction) { addCloseModalFunction = closeModalFunction - ;( modalElement.querySelector( '#occupancyTypeFieldAdd--occupancyTypeField' @@ -251,7 +246,7 @@ declare const bulmaJS: BulmaJS }) } - function moveOccupancyType(clickEvent: MouseEvent) { + function moveOccupancyType(clickEvent: MouseEvent): void { const buttonElement = clickEvent.currentTarget as HTMLButtonElement const occupancyTypeId = ( @@ -277,7 +272,7 @@ declare const bulmaJS: BulmaJS function openEditOccupancyTypeField( occupancyTypeId: number, occupancyTypeFieldId: number - ) { + ): void { let occupancyType: recordTypes.OccupancyType | undefined if (occupancyTypeId) { @@ -338,7 +333,7 @@ declare const bulmaJS: BulmaJS ) } - function doDelete() { + function doDelete(): void { cityssm.postJSON( los.urlPrefix + '/admin/doDeleteOccupancyTypeField', { @@ -357,7 +352,7 @@ declare const bulmaJS: BulmaJS ) } - function confirmDoDelete() { + function confirmDoDelete(): void { bulmaJS.confirm({ title: 'Delete Field', message: @@ -373,19 +368,16 @@ declare const bulmaJS: BulmaJS cityssm.openHtmlModal('adminOccupancyTypes-editOccupancyTypeField', { onshow: (modalElement) => { los.populateAliases(modalElement) - ;( modalElement.querySelector( '#occupancyTypeFieldEdit--occupancyTypeFieldId' ) as HTMLInputElement ).value = occupancyTypeField.occupancyTypeFieldId!.toString() - ;( modalElement.querySelector( '#occupancyTypeFieldEdit--occupancyTypeField' ) as HTMLInputElement ).value = occupancyTypeField.occupancyTypeField! - ;( modalElement.querySelector( '#occupancyTypeFieldEdit--isRequired' @@ -449,7 +441,7 @@ declare const bulmaJS: BulmaJS }) } - function openEditOccupancyTypeFieldByClick(clickEvent: Event) { + function openEditOccupancyTypeFieldByClick(clickEvent: Event): void { clickEvent.preventDefault() const occupancyTypeFieldId = Number.parseInt( @@ -473,7 +465,7 @@ declare const bulmaJS: BulmaJS openEditOccupancyTypeField(occupancyTypeId, occupancyTypeFieldId) } - function moveOccupancyTypeField(clickEvent: MouseEvent) { + function moveOccupancyTypeField(clickEvent: MouseEvent): void { const buttonElement = clickEvent.currentTarget as HTMLButtonElement const occupancyTypeFieldId = ( @@ -500,7 +492,7 @@ declare const bulmaJS: BulmaJS panelElement: HTMLElement, occupancyTypeId: number | undefined, occupancyTypeFields: recordTypes.OccupancyTypeField[] - ) { + ): void { if (occupancyTypeFields.length === 0) { panelElement.insertAdjacentHTML( 'beforeend', @@ -532,7 +524,7 @@ declare const bulmaJS: BulmaJS '' + @@ -549,13 +541,11 @@ declare const bulmaJS: BulmaJS panelBlockElement .querySelector('.button--editOccupancyTypeField')! .addEventListener('click', openEditOccupancyTypeFieldByClick) - ;( panelBlockElement.querySelector( '.button--moveOccupancyTypeFieldUp' ) as HTMLButtonElement ).addEventListener('click', moveOccupancyTypeField) - ;( panelBlockElement.querySelector( '.button--moveOccupancyTypeFieldDown' @@ -576,7 +566,7 @@ declare const bulmaJS: BulmaJS let closeAddModalFunction: () => void - function doAdd(formEvent: SubmitEvent) { + function doAdd(formEvent: SubmitEvent): void { formEvent.preventDefault() cityssm.postJSON( @@ -600,7 +590,6 @@ declare const bulmaJS: BulmaJS cityssm.openHtmlModal('adminOccupancyTypes-addOccupancyTypePrint', { onshow(modalElement) { los.populateAliases(modalElement) - ;( modalElement.querySelector( '#occupancyTypePrintAdd--occupancyTypeId' @@ -669,7 +658,7 @@ declare const bulmaJS: BulmaJS ) as HTMLElement ).dataset.occupancyTypeId - function doDelete() { + function doDelete(): void { cityssm.postJSON( los.urlPrefix + '/admin/doDeleteOccupancyTypePrint', { @@ -753,13 +742,11 @@ declare const bulmaJS: BulmaJS '
') + '
' + '' - ;( panelBlockElement.querySelector( '.button--moveOccupancyTypePrintUp' ) as HTMLButtonElement ).addEventListener('click', moveOccupancyTypePrint) - ;( panelBlockElement.querySelector( '.button--moveOccupancyTypePrintDown' @@ -869,7 +856,7 @@ declare const bulmaJS: BulmaJS '' + '') + @@ -910,13 +897,11 @@ declare const bulmaJS: BulmaJS occupancyTypeContainer .querySelector('.button--addOccupancyTypeField')! .addEventListener('click', openAddOccupancyTypeField) - ;( occupancyTypeContainer.querySelector( '.button--moveOccupancyTypeUp' ) as HTMLButtonElement ).addEventListener('click', moveOccupancyType) - ;( occupancyTypeContainer.querySelector( '.button--moveOccupancyTypeDown' @@ -977,7 +962,7 @@ declare const bulmaJS: BulmaJS .addEventListener('click', () => { let addCloseModalFunction: () => void - const doAdd = (submitEvent: SubmitEvent) => { + function doAdd(submitEvent: SubmitEvent): void { submitEvent.preventDefault() cityssm.postJSON( @@ -994,8 +979,8 @@ declare const bulmaJS: BulmaJS renderOccupancyTypes() } else { bulmaJS.alert({ - title: 'Error Adding ' + exports.aliases.occupancy + ' Type', - message: responseJSON.errorMessage || '', + title: `Error Adding ${los.escapedAliases.Occupancy} Type`, + message: responseJSON.errorMessage ?? '', contextualColorName: 'danger' }) } @@ -1009,7 +994,6 @@ declare const bulmaJS: BulmaJS }, onshown: (modalElement, closeModalFunction) => { addCloseModalFunction = closeModalFunction - ;( modalElement.querySelector( '#occupancyTypeAdd--occupancyType' diff --git a/public-typescript/reportSearch.ts b/public-typescript/reportSearch.ts index e4af773e..7f252de7 100644 --- a/public-typescript/reportSearch.ts +++ b/public-typescript/reportSearch.ts @@ -1,15 +1,13 @@ /* eslint-disable unicorn/prefer-module */ ;(() => { - const menuTabElements = document.querySelectorAll( - '.menu a' - ) as NodeListOf + const menuTabElements: NodeListOf = + document.querySelectorAll('.menu a') - const tabContainerElements = document.querySelectorAll( - '.tabs-container > div' - ) as NodeListOf + const tabContainerElements: NodeListOf = + document.querySelectorAll('.tabs-container > div') - function selectTab(clickEvent: Event) { + function selectTab(clickEvent: Event): void { clickEvent.preventDefault() // Remove .is-active from all tabs diff --git a/public-typescript/workOrderSearch.js b/public-typescript/workOrderSearch.js index 8b6cf94c..babe2e9d 100644 --- a/public-typescript/workOrderSearch.js +++ b/public-typescript/workOrderSearch.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); const limit = Number.parseInt(document.querySelector('#searchFilter--limit').value, 10); const offsetElement = document.querySelector('#searchFilter--offset'); function renderWorkOrders(responseJSON) { - var _a, _b; + var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k; if (responseJSON.workOrders.length === 0) { searchResultsContainerElement.innerHTML = '
' + @@ -24,26 +24,32 @@ Object.defineProperty(exports, "__esModule", { value: true }); for (const lot of workOrder.workOrderLots) { relatedHTML += '' + ' ' + - cityssm.escapeHTML(lot.lotName || '(No ' + exports.aliases.Lot + ' Name)') + + cityssm.escapeHTML(((_b = lot.lotName) !== null && _b !== void 0 ? _b : '') === '' + ? '(No ' + los.escapedAliases.Lot + ' Name)' + : lot.lotName) + '
'; } for (const occupancy of workOrder.workOrderLotOccupancies) { for (const occupant of occupancy.lotOccupancyOccupants) { relatedHTML += '' + ' ' + - cityssm.escapeHTML(occupant.occupantName || '(No Name)') + + cityssm.escapeHTML(((_e = occupant.occupantName) !== null && _e !== void 0 ? _e : '') === '' + ? '(No Name)' + : occupant.occupantName) + '
'; } } @@ -53,15 +59,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); los.getWorkOrderURL(workOrder.workOrderId) + '">' + (workOrder.workOrderNumber.trim() - ? cityssm.escapeHTML(workOrder.workOrderNumber || '') + ? cityssm.escapeHTML((_f = workOrder.workOrderNumber) !== null && _f !== void 0 ? _f : '') : '(No Number)') + '' + '') + ('' + - cityssm.escapeHTML(workOrder.workOrderType || '') + + cityssm.escapeHTML((_g = workOrder.workOrderType) !== null && _g !== void 0 ? _g : '') + '
' + '' + - cityssm.escapeHTML(workOrder.workOrderDescription || '') + + cityssm.escapeHTML((_h = workOrder.workOrderDescription) !== null && _h !== void 0 ? _h : '') + '' + '') + ('' + @@ -126,10 +132,10 @@ Object.defineProperty(exports, "__esModule", { value: true }); searchResultsContainerElement .querySelector('table') .append(resultsTbodyElement); - (_a = searchResultsContainerElement - .querySelector("button[data-page='previous']")) === null || _a === void 0 ? void 0 : _a.addEventListener('click', previousAndGetWorkOrders); - (_b = searchResultsContainerElement - .querySelector("button[data-page='next']")) === null || _b === void 0 ? void 0 : _b.addEventListener('click', nextAndGetWorkOrders); + (_j = searchResultsContainerElement + .querySelector("button[data-page='previous']")) === null || _j === void 0 ? void 0 : _j.addEventListener('click', previousAndGetWorkOrders); + (_k = searchResultsContainerElement + .querySelector("button[data-page='next']")) === null || _k === void 0 ? void 0 : _k.addEventListener('click', nextAndGetWorkOrders); } function getWorkOrders() { searchResultsContainerElement.innerHTML = los.getLoadingParagraphHTML('Loading Work Orders...'); diff --git a/public-typescript/workOrderSearch.ts b/public-typescript/workOrderSearch.ts index 23c0d0be..ccc260bb 100644 --- a/public-typescript/workOrderSearch.ts +++ b/public-typescript/workOrderSearch.ts @@ -5,7 +5,6 @@ import type * as globalTypes from '../types/globalTypes' import type { cityssmGlobal } from '@cityssm/bulma-webapp-js/src/types' declare const cityssm: cityssmGlobal - ;(() => { const los = exports.los as globalTypes.LOS @@ -34,7 +33,7 @@ declare const cityssm: cityssmGlobal count: number offset: number workOrders: recordTypes.WorkOrder[] - }) { + }): void { if (responseJSON.workOrders.length === 0) { searchResultsContainerElement.innerHTML = '
' + @@ -52,13 +51,15 @@ declare const cityssm: cityssmGlobal for (const lot of workOrder.workOrderLots!) { relatedHTML += '' + ' ' + cityssm.escapeHTML( - lot.lotName || '(No ' + exports.aliases.Lot + ' Name)' + (lot.lotName ?? '') === '' + ? '(No ' + los.escapedAliases.Lot + ' Name)' + : lot.lotName! ) + '
' } @@ -67,14 +68,22 @@ declare const cityssm: cityssmGlobal for (const occupant of occupancy.lotOccupancyOccupants!) { relatedHTML += '' + ' ' + - cityssm.escapeHTML(occupant.occupantName || '(No Name)') + + cityssm.escapeHTML( + (occupant.occupantName ?? '') === '' + ? '(No Name)' + : occupant.occupantName! + ) + '
' } } @@ -84,18 +93,18 @@ declare const cityssm: cityssmGlobal '' + ('' + '' + (workOrder.workOrderNumber!.trim() - ? cityssm.escapeHTML(workOrder.workOrderNumber || '') + ? cityssm.escapeHTML(workOrder.workOrderNumber ?? '') : '(No Number)') + '' + '') + ('' + - cityssm.escapeHTML(workOrder.workOrderType || '') + + cityssm.escapeHTML(workOrder.workOrderType ?? '') + '
' + '' + - cityssm.escapeHTML(workOrder.workOrderDescription || '') + + cityssm.escapeHTML(workOrder.workOrderDescription ?? '') + '' + '') + ('' + @@ -181,7 +190,7 @@ declare const cityssm: cityssmGlobal ?.addEventListener('click', nextAndGetWorkOrders) } - function getWorkOrders() { + function getWorkOrders(): void { searchResultsContainerElement.innerHTML = los.getLoadingParagraphHTML( 'Loading Work Orders...' ) @@ -193,12 +202,12 @@ declare const cityssm: cityssmGlobal ) } - function resetOffsetAndGetWorkOrders() { + function resetOffsetAndGetWorkOrders(): void { offsetElement.value = '0' getWorkOrders() } - function previousAndGetWorkOrders() { + function previousAndGetWorkOrders(): void { offsetElement.value = Math.max( Number.parseInt(offsetElement.value, 10) - limit, 0 @@ -206,16 +215,15 @@ declare const cityssm: cityssmGlobal getWorkOrders() } - function nextAndGetWorkOrders() { + function nextAndGetWorkOrders(): void { offsetElement.value = ( Number.parseInt(offsetElement.value, 10) + limit ).toString() getWorkOrders() } - const filterElements = searchFilterFormElement.querySelectorAll( - 'input, select' - ) as NodeListOf + const filterElements = + searchFilterFormElement.querySelectorAll('input, select') for (const filterElement of filterElements) { filterElement.addEventListener('change', resetOffsetAndGetWorkOrders) diff --git a/public-typescript/workOrderView.js b/public-typescript/workOrderView.js index efe66b86..d8caea3a 100644 --- a/public-typescript/workOrderView.js +++ b/public-typescript/workOrderView.js @@ -11,13 +11,14 @@ Object.defineProperty(exports, "__esModule", { value: true }); cityssm.postJSON(los.urlPrefix + '/workOrders/doReopenWorkOrder', { workOrderId }, (responseJSON) => { + var _a; if (responseJSON.success) { window.location.href = los.getWorkOrderURL(workOrderId, true, true); } else { bulmaJS.alert({ title: 'Error Reopening Work Order', - message: responseJSON.errorMessage || '', + message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '', contextualColorName: 'danger' }); } diff --git a/public-typescript/workOrderView.ts b/public-typescript/workOrderView.ts index 4cb22e4c..e196f9ba 100644 --- a/public-typescript/workOrderView.ts +++ b/public-typescript/workOrderView.ts @@ -8,7 +8,6 @@ import type { BulmaJS } from '@cityssm/bulma-js/types' declare const cityssm: cityssmGlobal declare const bulmaJS: BulmaJS - ;(() => { const los = exports.los as globalTypes.LOS @@ -20,7 +19,7 @@ declare const bulmaJS: BulmaJS const workOrderId = reopenWorkOrderButtonElement.dataset.workOrderId! reopenWorkOrderButtonElement.addEventListener('click', () => { - function doReopen() { + function doReopen(): void { cityssm.postJSON( los.urlPrefix + '/workOrders/doReopenWorkOrder', { @@ -36,7 +35,7 @@ declare const bulmaJS: BulmaJS } else { bulmaJS.alert({ title: 'Error Reopening Work Order', - message: responseJSON.errorMessage || '', + message: responseJSON.errorMessage ?? '', contextualColorName: 'danger' }) } diff --git a/public/javascripts/adminFees.min.js b/public/javascripts/adminFees.min.js index 0cb3479c..ea833ca5 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(){if(0!==s.length){t.innerHTML="";for(const o of s){const s=document.createElement("section");if(s.className="panel container--feeCategory",s.dataset.feeCategoryId=o.feeCategoryId.toString(),s.innerHTML='

'+cityssm.escapeHTML(o.feeCategory||"")+'

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

\n There are no fees in the\n "${cityssm.escapeHTML(o.feeCategory||"")}"\n category.\n

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

'+cityssm.escapeHTML(t.feeName||"")+"
"+cityssm.escapeHTML(t.feeDescription||"").replace(/\n/g,"
")+"

"+(a?'

'+(t.isRequired?'Required':"")+(t.occupancyTypeId?' '+cityssm.escapeHTML(t.occupancyType||"")+"":"")+(t.lotTypeId?' '+cityssm.escapeHTML(t.lotType||"")+"":"")+"

":"")+'
'+(t.feeFunction?cityssm.escapeHTML(t.feeFunction)+"
Fee Function":"$"+t.feeAmount.toFixed(2)+"
Fee")+'
'+(t.taxPercentage?t.taxPercentage+"%":"$"+t.taxAmount.toFixed(2))+'
Tax
'+(t.includeQuantity?cityssm.escapeHTML(t.quantityUnit||"")+"
Quantity":"")+'
'+e.getMoveUpDownButtonFieldHTML("button--moveFeeUp","button--moveFeeDown")+"
",o.querySelector("a").addEventListener("click",l),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",c),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 c(t){t.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doUpdateFeeCategory",t.currentTarget,e=>{e.success?(s=e.feeCategories,r(),o()):bulmaJS.alert({title:"Error Updating Fee Category",message:e.errorMessage||"",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",c),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=>{e.success?(s=e.feeCategories,o()):bulmaJS.alert({title:"Error Updating Fee Category",message:e.errorMessage||"",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=>{e.success?(s=e.feeCategories,o()):bulmaJS.alert({title:"Error Moving Fee Category",message:e.errorMessage||"",contextualColorName:"danger"})})}function c(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=>{e.success?(s=e.feeCategories,n(),o()):bulmaJS.alert({title:"Error Adding Fee",message:e.errorMessage||"",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 l(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),c=s.find(e=>e.feeCategoryId===r).fees.find(e=>e.feeId===n);let l,i;function d(t){t.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doUpdateFee",t.currentTarget,e=>{e.success?(s=e.feeCategories,l(),o()):bulmaJS.alert({title:"Error Updating Fee",message:e.errorMessage||"",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:()=>{cityssm.postJSON(e.urlPrefix+"/admin/doDeleteFee",{feeId:n},e=>{e.success?(s=e.feeCategories,l(),o()):bulmaJS.alert({title:"Error Deleting Fee",message:e.errorMessage||"",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 m(){const e=i.querySelector("#feeEdit--includeQuantity").value;i.querySelector("#feeEdit--quantityUnit").disabled=""===e}cityssm.openHtmlModal("adminFees-editFee",{onshow(t){i=t,t.querySelector("#feeEdit--feeId").value=c.feeId.toString();const o=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),o.append(t)}t.querySelector("#feeEdit--feeName").value=c.feeName,t.querySelector("#feeEdit--feeDescription").value=c.feeDescription;const a=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===c.occupancyTypeId&&(t.selected=!0),a.append(t)}const n=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===c.lotTypeId&&(t.selected=!0),n.append(t)}t.querySelector("#feeEdit--feeAmount").value=c.feeAmount?c.feeAmount.toFixed(2):"",t.querySelector("#feeEdit--feeFunction").addEventListener("change",y),y(),t.querySelector("#feeEdit--taxAmount").value=c.taxAmount?c.taxAmount.toFixed(2):"";const l=t.querySelector("#feeEdit--taxPercentage");l.value=c.taxPercentage?c.taxPercentage.toString():"",l.addEventListener("keyup",f),f();const d=t.querySelector("#feeEdit--includeQuantity");c.includeQuantity&&(d.value="1"),d.addEventListener("change",m),t.querySelector("#feeEdit--quantityUnit").value=c.quantityUnit||"",m(),c.isRequired&&(t.querySelector("#feeEdit--isRequired").value="1"),e.populateAliases(t)},onshown(e,t){bulmaJS.toggleHtmlClipped(),l=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=>{e.success?(s=e.feeCategories,o()):bulmaJS.alert({title:"Error Moving Fee",message:e.errorMessage||"",contextualColorName:"danger"})})}delete exports.feeCategories,document.querySelector("#button--addFeeCategory").addEventListener("click",()=>{let t;const a=a=>{a.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doAddFeeCategory",a.currentTarget,e=>{e.success?(s=e.feeCategories,t(),o()):bulmaJS.alert({title:"Error Creating Fee Category",message:e.errorMessage||"",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 o=exports.feeCategories;function s(){var s,d,u,y,f,m;if(0!==o.length){t.innerHTML="";for(const p of o){const o=document.createElement("section");if(o.className="panel container--feeCategory",o.dataset.feeCategoryId=p.feeCategoryId.toString(),o.innerHTML='

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

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

\n There are no fees in the\n "${cityssm.escapeHTML(p.feeCategory||"")}"\n category.\n

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

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

"+(a?'

'+(t.isRequired?'Required':"")+(t.occupancyTypeId?' '+cityssm.escapeHTML(null!==(y=t.occupancyType)&&void 0!==y?y:"")+"":"")+(t.lotTypeId?' '+cityssm.escapeHTML(null!==(f=t.lotType)&&void 0!==f?f:"")+"":"")+"

":"")+'
'+(t.feeFunction?cityssm.escapeHTML(t.feeFunction)+"
Fee Function":"$"+t.feeAmount.toFixed(2)+"
Fee")+'
'+(t.taxPercentage?t.taxPercentage+"%":"$"+t.taxAmount.toFixed(2))+'
Tax
'+(t.includeQuantity?cityssm.escapeHTML(null!==(m=t.quantityUnit)&&void 0!==m?m:"")+"
Quantity":"")+'
'+e.getMoveUpDownButtonFieldHTML("button--moveFeeUp","button--moveFeeDown")+"
",s.querySelector("a").addEventListener("click",l),s.querySelector(".button--moveFeeUp").addEventListener("click",i),s.querySelector(".button--moveFeeDown").addEventListener("click",i),o.append(s)}o.querySelector(".button--editFeeCategory").addEventListener("click",a),o.querySelector(".button--addFee").addEventListener("click",c),o.querySelector(".button--moveFeeCategoryUp").addEventListener("click",r),o.querySelector(".button--moveFeeCategoryDown").addEventListener("click",r),t.append(o)}}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=o.find(e=>e.feeCategoryId===a);let r;function c(t){t.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doUpdateFeeCategory",t.currentTarget,e=>{var t;e.success?(o=e.feeCategories,r(),s()):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",c),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?(o=e.feeCategories,s()):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?(o=e.feeCategories,s()):bulmaJS.alert({title:"Error Moving Fee Category",message:null!==(t=e.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}function c(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?(o=e.feeCategories,n(),s()):bulmaJS.alert({title:"Error Adding Fee",message:null!==(t=e.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}cityssm.openHtmlModal("adminFees-addFee",{onshow(t){const s=t.querySelector("#feeAdd--feeCategoryId");for(const e of o){const t=document.createElement("option");t.value=e.feeCategoryId.toString(),t.textContent=e.feeCategory,e.feeCategoryId===a&&(t.selected=!0),s.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"),o=e.querySelector("#feeAdd--feeFunction");""===o.value?(o.closest(".select").classList.remove("is-success"),t.classList.add("is-success"),t.disabled=!1):(o.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"),o=e.querySelector("#feeAdd--taxPercentage");""===o.value?(o.classList.remove("is-success"),t.classList.add("is-success"),t.disabled=!1):(o.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 l(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),c=o.find(e=>e.feeCategoryId===r).fees.find(e=>e.feeId===n);let l,i;function d(t){t.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doUpdateFee",t.currentTarget,e=>{var t;e.success?(o=e.feeCategories,l(),s()):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?(o=e.feeCategories,l(),s()):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 m(){const e=i.querySelector("#feeEdit--includeQuantity").value;i.querySelector("#feeEdit--quantityUnit").disabled=""===e}cityssm.openHtmlModal("adminFees-editFee",{onshow(t){var s;i=t,t.querySelector("#feeEdit--feeId").value=c.feeId.toString();const a=t.querySelector("#feeEdit--feeCategoryId");for(const e of o){const t=document.createElement("option");t.value=e.feeCategoryId.toString(),t.textContent=e.feeCategory,e.feeCategoryId===r&&(t.selected=!0),a.append(t)}t.querySelector("#feeEdit--feeName").value=c.feeName,t.querySelector("#feeEdit--feeDescription").value=c.feeDescription;const n=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===c.occupancyTypeId&&(t.selected=!0),n.append(t)}const l=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===c.lotTypeId&&(t.selected=!0),l.append(t)}t.querySelector("#feeEdit--feeAmount").value=c.feeAmount?c.feeAmount.toFixed(2):"",t.querySelector("#feeEdit--feeFunction").addEventListener("change",y),y(),t.querySelector("#feeEdit--taxAmount").value=c.taxAmount?c.taxAmount.toFixed(2):"";const d=t.querySelector("#feeEdit--taxPercentage");d.value=c.taxPercentage?c.taxPercentage.toString():"",d.addEventListener("keyup",f),f();const u=t.querySelector("#feeEdit--includeQuantity");c.includeQuantity&&(u.value="1"),u.addEventListener("change",m),t.querySelector("#feeEdit--quantityUnit").value=null!==(s=c.quantityUnit)&&void 0!==s?s:"",m(),c.isRequired&&(t.querySelector("#feeEdit--isRequired").value="1"),e.populateAliases(t)},onshown(e,t){bulmaJS.toggleHtmlClipped(),l=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?(o=e.feeCategories,s()):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?(o=e.feeCategories,t(),s()):bulmaJS.alert({title:"Error Creating Fee Category",message:null!==(a=e.errorMessage)&&void 0!==a?a:"",contextualColorName:"danger"})})}cityssm.openHtmlModal("adminFees-addFeeCategory",{onshown(e,o){bulmaJS.toggleHtmlClipped(),e.querySelector("#feeCategoryAdd--feeCategory").focus(),t=o,e.querySelector("form").addEventListener("submit",a)},onremoved(){bulmaJS.toggleHtmlClipped(),document.querySelector("#button--addFeeCategory").focus()}})}),s()})(); \ No newline at end of file diff --git a/public/javascripts/adminLotTypes.min.js b/public/javascripts/adminLotTypes.min.js index dc489de6..df69cb65 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(e){e.success?(l=e.lotTypes,T()):bulmaJS.alert({title:`Error Updating ${exports.aliases.lot} Type`,message:e.errorMessage||"",contextualColorName:"danger"})}function a(t){const l=Number.parseInt(t.currentTarget.closest(".container--lotType").dataset.lotTypeId,10);bulmaJS.confirm({title:`Delete ${exports.aliases.lot} Type`,message:`Are you sure you want to delete this ${exports.aliases.lot.toLowerCase()} type?`,contextualColorName:"warning",okButton:{text:`Yes, Delete ${exports.aliases.lot} Type`,callbackFunction:function(){cityssm.postJSON(e.urlPrefix+"/admin/doDeleteLotType",{lotTypeId:l},i)}}})}function d(t){const o=Number.parseInt(t.currentTarget.closest(".container--lotType").dataset.lotTypeId,10),s=l.find(e=>o===e.lotTypeId);let a;const d=t=>{t.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doUpdateLotType",t.currentTarget,e=>{i(e),e.success&&a()})};cityssm.openHtmlModal("adminLotTypes-editLotType",{onshow(t){e.populateAliases(t),t.querySelector("#lotTypeEdit--lotTypeId").value=o.toString(),t.querySelector("#lotTypeEdit--lotType").value=s.lotType},onshown(e,t){a=t,e.querySelector("#lotTypeEdit--lotType").focus(),e.querySelector("form").addEventListener("submit",d),bulmaJS.toggleHtmlClipped()},onremoved(){bulmaJS.toggleHtmlClipped()}})}function n(t){const l=Number.parseInt(t.currentTarget.closest(".container--lotType").dataset.lotTypeId,10);let s;const a=t=>{t.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doAddLotTypeField",t.currentTarget,e=>{o.add(l),i(e),e.success&&(s(),c(l,e.lotTypeFieldId))})};cityssm.openHtmlModal("adminLotTypes-addLotTypeField",{onshow(t){e.populateAliases(t),l&&(t.querySelector("#lotTypeFieldAdd--lotTypeId").value=l.toString())},onshown(e,t){s=t,e.querySelector("#lotTypeFieldAdd--lotTypeField").focus(),e.querySelector("form").addEventListener("submit",a),bulmaJS.toggleHtmlClipped()},onremoved(){bulmaJS.toggleHtmlClipped()}})}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 a,d,n,r,c;function p(){d.min=a.value}function u(){""===r.value?(a.disabled=!1,d.disabled=!1,n.disabled=!1):(a.disabled=!0,d.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",(a=t.querySelector("#lotTypeFieldEdit--minimumLength")).value=s.minimumLength.toString(),(d=t.querySelector("#lotTypeFieldEdit--maximumLength")).value=s.maximumLength.toString(),(n=t.querySelector("#lotTypeFieldEdit--pattern")).value=s.pattern,(r=t.querySelector("#lotTypeFieldEdit--lotTypeFieldValues")).value=s.lotTypeFieldValues,u()},onshown(e,t){c=t,bulmaJS.init(e),bulmaJS.toggleHtmlClipped(),cityssm.enableNavBlocker(),e.querySelector("form").addEventListener("submit",y),a.addEventListener("keyup",p),p(),r.addEventListener("keyup",u),e.querySelector("#button--deleteLotTypeField").addEventListener("click",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){if(0===s.length)t.insertAdjacentHTML("beforeend",'

There are no additional fields.

');else for(const i 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=i.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",a),l.querySelector(".button--editLotType").addEventListener("click",d),l.querySelector(".button--addLotTypeField").addEventListener("click",n),l.querySelector(".button--moveLotTypeUp").addEventListener("click",r),l.querySelector(".button--moveLotTypeDown").addEventListener("click",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=>{o.success?(t(),l=o.lotTypes,T()):bulmaJS.alert({title:`Error Adding ${e.escapedAliases.Lot} Type`,message:o.errorMessage||"",contextualColorName:"danger"})})}cityssm.openHtmlModal("adminLotTypes-addLotType",{onshow(t){e.populateAliases(t)},onshown(e,l){t=l,e.querySelector("#lotTypeAdd--lotType").focus(),e.querySelector("form").addEventListener("submit",o),bulmaJS.toggleHtmlClipped()},onremoved(){bulmaJS.toggleHtmlClipped()}})}),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 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 diff --git a/public/javascripts/adminOccupancyTypes.min.js b/public/javascripts/adminOccupancyTypes.min.js index 981efeea..b53eb5aa 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 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 o(e){e.success?(n=e.occupancyTypes,a=e.allOccupancyTypeFields,S()):bulmaJS.alert({title:"Error Updating "+exports.aliases.occupancy+" Type",message:e.errorMessage||"",contextualColorName:"danger"})}function l(c){const t=Number.parseInt(c.currentTarget.closest(".container--occupancyType").dataset.occupancyTypeId,10);bulmaJS.confirm({title:`Delete ${exports.aliases.occupancy} Type`,message:`Are you sure you want to delete this ${exports.aliases.occupancy.toLowerCase()} type?`,contextualColorName:"warning",okButton:{text:`Yes, Delete ${exports.aliases.occupancy} Type`,callbackFunction:function(){cityssm.postJSON(e.urlPrefix+"/admin/doDeleteOccupancyType",{occupancyTypeId:t},o)}}})}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=>{o(e),e.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=>{s.add(t),o(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"},o)}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 l,p,d,u,r;function y(){p.min=l.value}function T(){""===u.value?(l.disabled=!1,p.disabled=!1,d.disabled=!1):(l.disabled=!0,p.disabled=!0,d.disabled=!0)}function v(c){c.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doUpdateOccupancyTypeField",c.currentTarget,e=>{o(e),e.success&&r()})}function m(){cityssm.postJSON(e.urlPrefix+"/admin/doDeleteOccupancyTypeField",{occupancyTypeFieldId:t},e=>{o(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=i.occupancyTypeFieldId.toString(),c.querySelector("#occupancyTypeFieldEdit--occupancyTypeField").value=i.occupancyTypeField,c.querySelector("#occupancyTypeFieldEdit--isRequired").value=i.isRequired?"1":"0",(l=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,T()},onshown:(e,c)=>{r=c,bulmaJS.init(e),bulmaJS.toggleHtmlClipped(),cityssm.enableNavBlocker(),e.querySelector("form").addEventListener("submit",v),l.addEventListener("keyup",y),y(),u.addEventListener("keyup",T),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 T(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"},o)}function v(c,t,n){if(0===n.length)c.insertAdjacentHTML("beforeend",'

There are no additional fields.

');else for(const a 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=a.occupancyTypeFieldId.toString(),n.innerHTML='
'+e.getMoveUpDownButtonFieldHTML("button--moveOccupancyTypeFieldUp","button--moveOccupancyTypeFieldDown")+"
",n.querySelector(".button--editOccupancyTypeField").addEventListener("click",y),n.querySelector(".button--moveOccupancyTypeFieldUp").addEventListener("click",T),n.querySelector(".button--moveOccupancyTypeFieldDown").addEventListener("click",T),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(),o(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"},o)}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},o)}}})}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 '+cityssm.escapeHTML(exports.aliases.occupancy)+' Types)

',t.innerHTML="",v(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")+"
",v(t,a.occupancyTypeId,a.occupancyTypeFields),t.querySelector(".button--toggleOccupancyTypeFields").addEventListener("click",i),t.querySelector(".button--deleteOccupancyType").addEventListener("click",l),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;const t=t=>{t.preventDefault(),cityssm.postJSON(e.urlPrefix+"/admin/doAddOccupancyType",t.currentTarget,e=>{e.success?(c(),n=e.occupancyTypes,S()):bulmaJS.alert({title:"Error Adding "+exports.aliases.occupancy+" Type",message:e.errorMessage||"",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=>{l(e),e.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=>{s.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 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=>{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=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=>{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 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 '+cityssm.escapeHTML(exports.aliases.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;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 diff --git a/public/javascripts/workOrderSearch.min.js b/public/javascripts/workOrderSearch.min.js index aa3d92e0..8fc16a46 100644 --- a/public/javascripts/workOrderSearch.min.js +++ b/public/javascripts/workOrderSearch.min.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=exports.los,t=exports.workOrderPrints,s=document.querySelector("#form--searchFilters");e.initializeDatePickers(s);const r=document.querySelector("#container--searchResults"),a=Number.parseInt(document.querySelector("#searchFilter--limit").value,10),o=document.querySelector("#searchFilter--offset");function i(s){var o,i;if(0===s.workOrders.length)return void(r.innerHTML='

There are no work orders that meet the search criteria.

');const l=document.createElement("tbody");for(const r of s.workOrders){let s="";for(const t of r.workOrderLots)s+=' '+cityssm.escapeHTML(t.lotName||"(No "+exports.aliases.Lot+" Name)")+"
";for(const t of r.workOrderLotOccupancies)for(const r of t.lotOccupancyOccupants)s+=' '+cityssm.escapeHTML(r.occupantName||"(No Name)")+"
";l.insertAdjacentHTML("beforeend",''+(r.workOrderNumber.trim()?cityssm.escapeHTML(r.workOrderNumber||""):"(No Number)")+""+cityssm.escapeHTML(r.workOrderType||"")+'
'+cityssm.escapeHTML(r.workOrderDescription||"")+''+s+' '+r.workOrderOpenDateString+'
'+(r.workOrderCloseDate?r.workOrderCloseDateString:'(No '+e.escapedAliases.WorkOrderCloseDate+")")+""+(0===r.workOrderMilestoneCount?"-":r.workOrderMilestoneCompletionCount+" / "+r.workOrderMilestoneCount)+""+(t.length>0?'':"")+"")}r.innerHTML=''+(t.length>0?'':"")+"
Work Order NumberDescriptionRelatedDateProgress
",r.insertAdjacentHTML("beforeend",e.getSearchResultsPagerHTML(a,s.offset,s.count)),r.querySelector("table").append(l),null===(o=r.querySelector("button[data-page='previous']"))||void 0===o||o.addEventListener("click",c),null===(i=r.querySelector("button[data-page='next']"))||void 0===i||i.addEventListener("click",d)}function l(){r.innerHTML=e.getLoadingParagraphHTML("Loading Work Orders..."),cityssm.postJSON(e.urlPrefix+"/workOrders/doSearchWorkOrders",s,i)}function n(){o.value="0",l()}function c(){o.value=Math.max(Number.parseInt(o.value,10)-a,0).toString(),l()}function d(){o.value=(Number.parseInt(o.value,10)+a).toString(),l()}const p=s.querySelectorAll("input, select");for(const e of p)e.addEventListener("change",n);s.addEventListener("submit",e=>{e.preventDefault(),n()}),l()})(); \ No newline at end of file +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=exports.los,t=exports.workOrderPrints,s=document.querySelector("#form--searchFilters");e.initializeDatePickers(s);const a=document.querySelector("#container--searchResults"),r=Number.parseInt(document.querySelector("#searchFilter--limit").value,10),o=document.querySelector("#searchFilter--offset");function l(s){var o,l,i,n,p,u,f,h,m,O;if(0===s.workOrders.length)return void(a.innerHTML='

There are no work orders that meet the search criteria.

');const k=document.createElement("tbody");for(const a of s.workOrders){let s="";for(const t of a.workOrderLots)s+=' '+cityssm.escapeHTML(""===(null!==(l=t.lotName)&&void 0!==l?l:"")?"(No "+e.escapedAliases.Lot+" Name)":t.lotName)+"
";for(const t of a.workOrderLotOccupancies)for(const a of t.lotOccupancyOccupants)s+=' '+cityssm.escapeHTML(""===(null!==(p=a.occupantName)&&void 0!==p?p:"")?"(No Name)":a.occupantName)+"
";k.insertAdjacentHTML("beforeend",'"+(t.length>0?'':"")+"")}a.innerHTML='
'+(a.workOrderNumber.trim()?cityssm.escapeHTML(null!==(u=a.workOrderNumber)&&void 0!==u?u:""):"(No Number)")+""+cityssm.escapeHTML(null!==(f=a.workOrderType)&&void 0!==f?f:"")+'
'+cityssm.escapeHTML(null!==(h=a.workOrderDescription)&&void 0!==h?h:"")+'
'+s+' '+a.workOrderOpenDateString+'
'+(a.workOrderCloseDate?a.workOrderCloseDateString:'(No '+e.escapedAliases.WorkOrderCloseDate+")")+"
"+(0===a.workOrderMilestoneCount?"-":a.workOrderMilestoneCompletionCount+" / "+a.workOrderMilestoneCount)+"
'+(t.length>0?'':"")+"
Work Order NumberDescriptionRelatedDateProgress
",a.insertAdjacentHTML("beforeend",e.getSearchResultsPagerHTML(r,s.offset,s.count)),a.querySelector("table").append(k),null===(m=a.querySelector("button[data-page='previous']"))||void 0===m||m.addEventListener("click",c),null===(O=a.querySelector("button[data-page='next']"))||void 0===O||O.addEventListener("click",d)}function i(){a.innerHTML=e.getLoadingParagraphHTML("Loading Work Orders..."),cityssm.postJSON(e.urlPrefix+"/workOrders/doSearchWorkOrders",s,l)}function n(){o.value="0",i()}function c(){o.value=Math.max(Number.parseInt(o.value,10)-r,0).toString(),i()}function d(){o.value=(Number.parseInt(o.value,10)+r).toString(),i()}const p=s.querySelectorAll("input, select");for(const e of p)e.addEventListener("change",n);s.addEventListener("submit",e=>{e.preventDefault(),n()}),i()})(); \ No newline at end of file diff --git a/public/javascripts/workOrderView.min.js b/public/javascripts/workOrderView.min.js index c69b648b..72643db9 100644 --- a/public/javascripts/workOrderView.min.js +++ b/public/javascripts/workOrderView.min.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=exports.los,r=document.querySelector("#button--reopenWorkOrder");if(r){const o=r.dataset.workOrderId;r.addEventListener("click",()=>{bulmaJS.confirm({title:"Reopen Work Order",message:"Are you sure you want to remove the close date from this work order and reopen it?",contextualColorName:"warning",okButton:{text:"Yes, Reopen Work Order",callbackFunction:function(){cityssm.postJSON(e.urlPrefix+"/workOrders/doReopenWorkOrder",{workOrderId:o},r=>{r.success?window.location.href=e.getWorkOrderURL(o,!0,!0):bulmaJS.alert({title:"Error Reopening Work Order",message:r.errorMessage||"",contextualColorName:"danger"})})}}})})}})(); \ No newline at end of file +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=exports.los,r=document.querySelector("#button--reopenWorkOrder");if(r){const o=r.dataset.workOrderId;r.addEventListener("click",()=>{bulmaJS.confirm({title:"Reopen Work Order",message:"Are you sure you want to remove the close date from this work order and reopen it?",contextualColorName:"warning",okButton:{text:"Yes, Reopen Work Order",callbackFunction:function(){cityssm.postJSON(e.urlPrefix+"/workOrders/doReopenWorkOrder",{workOrderId:o},r=>{var t;r.success?window.location.href=e.getWorkOrderURL(o,!0,!0):bulmaJS.alert({title:"Error Reopening Work Order",message:null!==(t=r.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}}})})}})(); \ No newline at end of file