diff --git a/public-typescript/adminFees.js b/public-typescript/adminFees.js index bc7d7c0e..71bac071 100644 --- a/public-typescript/adminFees.js +++ b/public-typescript/adminFees.js @@ -77,79 +77,63 @@ Object.defineProperty(exports, "__esModule", { value: true }); fee.occupancyTypeId !== undefined || fee.lotTypeId !== undefined; // eslint-disable-next-line no-unsanitized/property - panelBlockElement.innerHTML = - '
' + - ('
' + - '

' + - '' + - cityssm.escapeHTML((_e = fee.feeName) !== null && _e !== void 0 ? _e : '') + - '
' + - '' + - cityssm - .escapeHTML((_f = fee.feeDescription) !== null && _f !== void 0 ? _f : '') - .replaceAll('\n', '
') + - '
' + - '

' + - (hasTagsBlock - ? '

' + - (((_g = fee.isRequired) !== null && _g !== void 0 ? _g : false) - ? 'Required' - : '') + - (((_h = fee.occupancyTypeId) !== null && _h !== void 0 ? _h : -1) === -1 - ? '' - : ' ' + - ' ' + - '' + - cityssm.escapeHTML((_j = fee.occupancyType) !== null && _j !== void 0 ? _j : '') + - '' + - '') + - (((_k = fee.lotTypeId) !== null && _k !== void 0 ? _k : -1) === -1 - ? '' - : ' ' + - ' ' + - '' + - cityssm.escapeHTML((_l = fee.lotType) !== null && _l !== void 0 ? _l : '') + - '' + - '') + - '

' - : '') + - '
') + - ('
' + - '
' + - ('
' + - (fee.feeFunction - ? cityssm.escapeHTML(fee.feeFunction) + - '
' + - 'Fee Function' - : '$' + - ((_m = fee.feeAmount) !== null && _m !== void 0 ? _m : 0).toFixed(2) + - '
' + - 'Fee') + - '
') + - ('
' + - (fee.taxPercentage - ? fee.taxPercentage.toString() + '%' - : '$' + ((_o = fee.taxAmount) !== null && _o !== void 0 ? _o : 0).toFixed(2)) + - '
Tax' + - '
') + - ('
' + - (fee.includeQuantity - ? cityssm.escapeHTML((_p = fee.quantityUnit) !== null && _p !== void 0 ? _p : '') + - '
' + - 'Quantity' - : '') + - '
') + - '
' + - '
') + - ('
' + - los.getMoveUpDownButtonFieldHTML('button--moveFeeUp', 'button--moveFeeDown') + - '
' + - '
') + - ''; + panelBlockElement.innerHTML = `
+
+

+ ${cityssm.escapeHTML((_e = fee.feeName) !== null && _e !== void 0 ? _e : '')}
+ + ${cityssm + .escapeHTML((_f = fee.feeDescription) !== null && _f !== void 0 ? _f : '') + .replaceAll('\n', '
')} +
+

+ ${hasTagsBlock + ? '

' + + (((_g = fee.isRequired) !== null && _g !== void 0 ? _g : false) + ? 'Required' + : '') + + (((_h = fee.occupancyTypeId) !== null && _h !== void 0 ? _h : -1) === -1 + ? '' + : ` + + ${cityssm.escapeHTML((_j = fee.occupancyType) !== null && _j !== void 0 ? _j : '')} + `) + + (((_k = fee.lotTypeId) !== null && _k !== void 0 ? _k : -1) === -1 + ? '' + : ` + + ${cityssm.escapeHTML((_l = fee.lotType) !== null && _l !== void 0 ? _l : '')} + `) + + '

' + : ''} +
+
+
+
+ ${fee.feeFunction + ? `${cityssm.escapeHTML(fee.feeFunction)}
+ Fee Function` + : `$${((_m = fee.feeAmount) !== null && _m !== void 0 ? _m : 0).toFixed(2)}
+ Fee`} +
+
+ ${fee.taxPercentage + ? `${fee.taxPercentage.toString()}%` + : `$${((_o = fee.taxAmount) !== null && _o !== void 0 ? _o : 0).toFixed(2)}`}
+ Tax +
+
+ ${fee.includeQuantity + ? `${cityssm.escapeHTML((_p = fee.quantityUnit) !== null && _p !== void 0 ? _p : '')}
+ Quantity` + : ''} +
+
+
+
+ ${los.getMoveUpDownButtonFieldHTML('button--moveFeeUp', 'button--moveFeeDown')} +
+
`; (_q = panelBlockElement .querySelector('a')) === null || _q === void 0 ? void 0 : _q.addEventListener('click', openEditFee); panelBlockElement.querySelector('.button--moveFeeUp').addEventListener('click', moveFee); @@ -206,7 +190,8 @@ Object.defineProperty(exports, "__esModule", { value: true }); }); }); function openEditFeeCategory(clickEvent) { - const feeCategoryId = Number.parseInt(clickEvent.currentTarget.closest('.container--feeCategory').dataset.feeCategoryId, 10); + var _a; + const feeCategoryId = Number.parseInt((_a = clickEvent.currentTarget.closest('.container--feeCategory').dataset.feeCategoryId) !== null && _a !== void 0 ? _a : '', 10); const feeCategory = feeCategories.find((currentFeeCategory) => { return currentFeeCategory.feeCategoryId === feeCategoryId; }); @@ -415,12 +400,12 @@ Object.defineProperty(exports, "__esModule", { value: true }); }); } function openEditFee(clickEvent) { - var _a; + var _a, _b; clickEvent.preventDefault(); const feeContainerElement = clickEvent.currentTarget.closest('.container--fee'); - const feeId = Number.parseInt(feeContainerElement.dataset.feeId, 10); - const feeCategoryId = Number.parseInt((_a = feeContainerElement.closest('.container--feeCategory') - .dataset.feeCategoryId) !== null && _a !== void 0 ? _a : ''); + const feeId = Number.parseInt((_a = feeContainerElement.dataset.feeId) !== null && _a !== void 0 ? _a : '', 10); + const feeCategoryId = Number.parseInt((_b = feeContainerElement.closest('.container--feeCategory') + .dataset.feeCategoryId) !== null && _b !== void 0 ? _b : ''); const feeCategory = feeCategories.find((currentFeeCategory) => { return currentFeeCategory.feeCategoryId === feeCategoryId; }); diff --git a/public-typescript/adminFees.ts b/public-typescript/adminFees.ts index 0396d6d4..30a96478 100644 --- a/public-typescript/adminFees.ts +++ b/public-typescript/adminFees.ts @@ -121,82 +121,74 @@ declare const exports: Record fee.lotTypeId !== undefined // eslint-disable-next-line no-unsanitized/property - panelBlockElement.innerHTML = - '
' + - ('
' + - '

' + - '' + - cityssm.escapeHTML(fee.feeName ?? '') + - '
' + - '' + - cityssm - .escapeHTML(fee.feeDescription ?? '') - .replaceAll('\n', '
') + - '
' + - '

' + - (hasTagsBlock - ? '

' + - (fee.isRequired ?? false - ? 'Required' - : '') + - ((fee.occupancyTypeId ?? -1) === -1 - ? '' - : ' ' + - ' ' + - '' + - cityssm.escapeHTML(fee.occupancyType ?? '') + - '' + - '') + - ((fee.lotTypeId ?? -1) === -1 - ? '' - : ' ' + - ' ' + - '' + - cityssm.escapeHTML(fee.lotType ?? '') + - '' + - '') + - '

' - : '') + - '
') + - ('
' + - '
' + - ('
' + - (fee.feeFunction - ? cityssm.escapeHTML(fee.feeFunction) + - '
' + - 'Fee Function' - : '$' + - (fee.feeAmount ?? 0).toFixed(2) + - '
' + - 'Fee') + - '
') + - ('
' + - (fee.taxPercentage - ? fee.taxPercentage.toString() + '%' - : '$' + (fee.taxAmount ?? 0).toFixed(2)) + - '
Tax' + - '
') + - ('
' + - (fee.includeQuantity - ? cityssm.escapeHTML(fee.quantityUnit ?? '') + - '
' + - 'Quantity' - : '') + - '
') + - '
' + - '
') + - ('
' + - los.getMoveUpDownButtonFieldHTML( + panelBlockElement.innerHTML = `
+
+

+ ${cityssm.escapeHTML(fee.feeName ?? '')}
+ + ${cityssm + .escapeHTML(fee.feeDescription ?? '') + .replaceAll('\n', '
')} +
+

+ ${ + hasTagsBlock + ? '

' + + (fee.isRequired ?? false + ? 'Required' + : '') + + ((fee.occupancyTypeId ?? -1) === -1 + ? '' + : ` + + ${cityssm.escapeHTML(fee.occupancyType ?? '')} + `) + + ((fee.lotTypeId ?? -1) === -1 + ? '' + : ` + + ${cityssm.escapeHTML(fee.lotType ?? '')} + `) + + '

' + : '' + } +
+
+
+
+ ${ + fee.feeFunction + ? `${cityssm.escapeHTML(fee.feeFunction)}
+ Fee Function` + : `$${(fee.feeAmount ?? 0).toFixed(2)}
+ Fee` + } +
+
+ ${ + fee.taxPercentage + ? `${fee.taxPercentage.toString()}%` + : `$${(fee.taxAmount ?? 0).toFixed(2)}` + }
+ Tax +
+
+ ${ + fee.includeQuantity + ? `${cityssm.escapeHTML(fee.quantityUnit ?? '')}
+ Quantity` + : '' + } +
+
+
+
+ ${los.getMoveUpDownButtonFieldHTML( 'button--moveFeeUp', 'button--moveFeeDown' - ) + - '
' + - '
') + - '
' + )} +
+ ` panelBlockElement .querySelector('a') @@ -301,13 +293,13 @@ declare const exports: Record (clickEvent.currentTarget as HTMLElement).closest( '.container--feeCategory' ) as HTMLElement - ).dataset.feeCategoryId!, + ).dataset.feeCategoryId ?? '', 10 ) const feeCategory = feeCategories.find((currentFeeCategory) => { return currentFeeCategory.feeCategoryId === feeCategoryId - })! + }) as recordTypes.FeeCategory let editCloseModalFunction: () => void @@ -621,7 +613,7 @@ declare const exports: Record clickEvent.currentTarget as HTMLElement ).closest('.container--fee') as HTMLElement - const feeId = Number.parseInt(feeContainerElement.dataset.feeId!, 10) + const feeId = Number.parseInt(feeContainerElement.dataset.feeId ?? '', 10) const feeCategoryId = Number.parseInt( (feeContainerElement.closest('.container--feeCategory') as HTMLElement) .dataset.feeCategoryId ?? '' @@ -629,11 +621,11 @@ declare const exports: Record const feeCategory = feeCategories.find((currentFeeCategory) => { return currentFeeCategory.feeCategoryId === feeCategoryId - })! + }) as recordTypes.FeeCategory const fee = feeCategory.fees.find((currentFee) => { return currentFee.feeId === feeId - })! + }) as recordTypes.Fee let editCloseModalFunction: () => void let editModalElement: HTMLElement diff --git a/public-typescript/adminOccupancyTypes.js b/public-typescript/adminOccupancyTypes.js index e7819e41..ae98aa0e 100644 --- a/public-typescript/adminOccupancyTypes.js +++ b/public-typescript/adminOccupancyTypes.js @@ -108,12 +108,13 @@ Object.defineProperty(exports, "__esModule", { value: true }); function doAdd(submitEvent) { submitEvent.preventDefault(); cityssm.postJSON(`${los.urlPrefix}/admin/doAddOccupancyTypeField`, submitEvent.currentTarget, (rawResponseJSON) => { + var _a; const responseJSON = rawResponseJSON; expandedOccupancyTypes.add(occupancyTypeId); occupancyTypeResponseHandler(responseJSON); if (responseJSON.success) { addCloseModalFunction(); - openEditOccupancyTypeField(occupancyTypeId, responseJSON.occupancyTypeFieldId); + openEditOccupancyTypeField(occupancyTypeId, (_a = responseJSON.occupancyTypeFieldId) !== null && _a !== void 0 ? _a : 0); } }); } diff --git a/public-typescript/adminOccupancyTypes.ts b/public-typescript/adminOccupancyTypes.ts index 6e71ddba..32832ba1 100644 --- a/public-typescript/adminOccupancyTypes.ts +++ b/public-typescript/adminOccupancyTypes.ts @@ -219,7 +219,7 @@ type ResponseJSON = addCloseModalFunction() openEditOccupancyTypeField( occupancyTypeId, - responseJSON.occupancyTypeFieldId! + responseJSON.occupancyTypeFieldId ?? 0 ) } } diff --git a/public-typescript/workOrderEdit.js b/public-typescript/workOrderEdit.js index ddf4b185..6d6a2368 100644 --- a/public-typescript/workOrderEdit.js +++ b/public-typescript/workOrderEdit.js @@ -978,9 +978,10 @@ Object.defineProperty(exports, "__esModule", { value: true }); } } function completeMilestone(clickEvent) { + var _a; clickEvent.preventDefault(); const currentDateString = cityssm.dateToString(new Date()); - const workOrderMilestoneId = Number.parseInt(clickEvent.currentTarget.closest('.container--milestone').dataset.workOrderMilestoneId, 10); + const workOrderMilestoneId = Number.parseInt((_a = clickEvent.currentTarget.closest('.container--milestone').dataset.workOrderMilestoneId) !== null && _a !== void 0 ? _a : '', 10); const workOrderMilestone = workOrderMilestones.find((currentMilestone) => { return currentMilestone.workOrderMilestoneId === workOrderMilestoneId; }); @@ -993,7 +994,8 @@ Object.defineProperty(exports, "__esModule", { value: true }); bulmaJS.confirm({ title: 'Complete Milestone', message: 'Are you sure you want to complete this milestone?' + - (workOrderMilestone.workOrderMilestoneDateString !== '' && + (workOrderMilestone.workOrderMilestoneDateString !== undefined && + workOrderMilestone.workOrderMilestoneDateString !== '' && workOrderMilestone.workOrderMilestoneDateString > currentDateString ? '
Note that this milestone is expected to be completed in the future.' : ''), @@ -1087,7 +1089,8 @@ Object.defineProperty(exports, "__esModule", { value: true }); const optionElement = document.createElement('option'); optionElement.value = workOrderMilestone.workOrderMilestoneTypeId.toString(); - optionElement.textContent = (_c = workOrderMilestone.workOrderMilestoneType) !== null && _c !== void 0 ? _c : ''; + optionElement.textContent = + (_c = workOrderMilestone.workOrderMilestoneType) !== null && _c !== void 0 ? _c : ''; optionElement.selected = true; milestoneTypeElement.append(optionElement); } @@ -1120,7 +1123,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); }); } function renderMilestones() { - var _a, _b, _c, _d, _e, _f; + var _a, _b, _c, _d, _e, _f, _g; // Clear milestones panel const milestonesPanelElement = document.querySelector('#panel--milestones'); const panelBlockElementsToDelete = milestonesPanelElement.querySelectorAll('.panel-block'); @@ -1131,7 +1134,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); const panelBlockElement = document.createElement('div'); panelBlockElement.className = 'panel-block is-block container--milestone'; panelBlockElement.dataset.workOrderMilestoneId = - milestone.workOrderMilestoneId.toString(); + (_a = milestone.workOrderMilestoneId) === null || _a === void 0 ? void 0 : _a.toString(); // eslint-disable-next-line no-unsanitized/property panelBlockElement.innerHTML = '
' + @@ -1151,7 +1154,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); ('
' + (milestone.workOrderMilestoneTypeId ? '' + - cityssm.escapeHTML((_a = milestone.workOrderMilestoneType) !== null && _a !== void 0 ? _a : '') + + cityssm.escapeHTML((_b = milestone.workOrderMilestoneType) !== null && _b !== void 0 ? _b : '') + '
' : '') + (milestone.workOrderMilestoneDate === 0 @@ -1162,7 +1165,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); : '') + '
' + '' + - cityssm.escapeHTML((_b = milestone.workOrderMilestoneDescription) !== null && _b !== void 0 ? _b : '') + + cityssm.escapeHTML((_c = milestone.workOrderMilestoneDescription) !== null && _c !== void 0 ? _c : '') + '' + '
') + ('
' + @@ -1193,14 +1196,14 @@ Object.defineProperty(exports, "__esModule", { value: true }); '
' + '
') + ''; - (_c = panelBlockElement - .querySelector('.button--reopenMilestone')) === null || _c === void 0 ? void 0 : _c.addEventListener('click', reopenMilestone); (_d = panelBlockElement - .querySelector('.button--editMilestone')) === null || _d === void 0 ? void 0 : _d.addEventListener('click', editMilestone); + .querySelector('.button--reopenMilestone')) === null || _d === void 0 ? void 0 : _d.addEventListener('click', reopenMilestone); (_e = panelBlockElement - .querySelector('.button--completeMilestone')) === null || _e === void 0 ? void 0 : _e.addEventListener('click', completeMilestone); + .querySelector('.button--editMilestone')) === null || _e === void 0 ? void 0 : _e.addEventListener('click', editMilestone); (_f = panelBlockElement - .querySelector('.button--deleteMilestone')) === null || _f === void 0 ? void 0 : _f.addEventListener('click', deleteMilestone); + .querySelector('.button--completeMilestone')) === null || _f === void 0 ? void 0 : _f.addEventListener('click', completeMilestone); + (_g = panelBlockElement + .querySelector('.button--deleteMilestone')) === null || _g === void 0 ? void 0 : _g.addEventListener('click', deleteMilestone); milestonesPanelElement.append(panelBlockElement); } bulmaJS.init(milestonesPanelElement); diff --git a/public-typescript/workOrderEdit/workOrderEdit.js b/public-typescript/workOrderEdit/workOrderEdit.js index 71df3999..d11fd082 100644 --- a/public-typescript/workOrderEdit/workOrderEdit.js +++ b/public-typescript/workOrderEdit/workOrderEdit.js @@ -227,9 +227,10 @@ Object.defineProperty(exports, "__esModule", { value: true }); } } function completeMilestone(clickEvent) { + var _a; clickEvent.preventDefault(); const currentDateString = cityssm.dateToString(new Date()); - const workOrderMilestoneId = Number.parseInt(clickEvent.currentTarget.closest('.container--milestone').dataset.workOrderMilestoneId, 10); + const workOrderMilestoneId = Number.parseInt((_a = clickEvent.currentTarget.closest('.container--milestone').dataset.workOrderMilestoneId) !== null && _a !== void 0 ? _a : '', 10); const workOrderMilestone = workOrderMilestones.find((currentMilestone) => { return currentMilestone.workOrderMilestoneId === workOrderMilestoneId; }); @@ -242,7 +243,8 @@ Object.defineProperty(exports, "__esModule", { value: true }); bulmaJS.confirm({ title: 'Complete Milestone', message: 'Are you sure you want to complete this milestone?' + - (workOrderMilestone.workOrderMilestoneDateString !== '' && + (workOrderMilestone.workOrderMilestoneDateString !== undefined && + workOrderMilestone.workOrderMilestoneDateString !== '' && workOrderMilestone.workOrderMilestoneDateString > currentDateString ? '
Note that this milestone is expected to be completed in the future.' : ''), @@ -336,7 +338,8 @@ Object.defineProperty(exports, "__esModule", { value: true }); const optionElement = document.createElement('option'); optionElement.value = workOrderMilestone.workOrderMilestoneTypeId.toString(); - optionElement.textContent = (_c = workOrderMilestone.workOrderMilestoneType) !== null && _c !== void 0 ? _c : ''; + optionElement.textContent = + (_c = workOrderMilestone.workOrderMilestoneType) !== null && _c !== void 0 ? _c : ''; optionElement.selected = true; milestoneTypeElement.append(optionElement); } @@ -369,7 +372,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); }); } function renderMilestones() { - var _a, _b, _c, _d, _e, _f; + var _a, _b, _c, _d, _e, _f, _g; // Clear milestones panel const milestonesPanelElement = document.querySelector('#panel--milestones'); const panelBlockElementsToDelete = milestonesPanelElement.querySelectorAll('.panel-block'); @@ -380,7 +383,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); const panelBlockElement = document.createElement('div'); panelBlockElement.className = 'panel-block is-block container--milestone'; panelBlockElement.dataset.workOrderMilestoneId = - milestone.workOrderMilestoneId.toString(); + (_a = milestone.workOrderMilestoneId) === null || _a === void 0 ? void 0 : _a.toString(); // eslint-disable-next-line no-unsanitized/property panelBlockElement.innerHTML = '
' + @@ -400,7 +403,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); ('
' + (milestone.workOrderMilestoneTypeId ? '' + - cityssm.escapeHTML((_a = milestone.workOrderMilestoneType) !== null && _a !== void 0 ? _a : '') + + cityssm.escapeHTML((_b = milestone.workOrderMilestoneType) !== null && _b !== void 0 ? _b : '') + '
' : '') + (milestone.workOrderMilestoneDate === 0 @@ -411,7 +414,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); : '') + '
' + '' + - cityssm.escapeHTML((_b = milestone.workOrderMilestoneDescription) !== null && _b !== void 0 ? _b : '') + + cityssm.escapeHTML((_c = milestone.workOrderMilestoneDescription) !== null && _c !== void 0 ? _c : '') + '' + '
') + ('
' + @@ -442,14 +445,14 @@ Object.defineProperty(exports, "__esModule", { value: true }); '
' + '
') + ''; - (_c = panelBlockElement - .querySelector('.button--reopenMilestone')) === null || _c === void 0 ? void 0 : _c.addEventListener('click', reopenMilestone); (_d = panelBlockElement - .querySelector('.button--editMilestone')) === null || _d === void 0 ? void 0 : _d.addEventListener('click', editMilestone); + .querySelector('.button--reopenMilestone')) === null || _d === void 0 ? void 0 : _d.addEventListener('click', reopenMilestone); (_e = panelBlockElement - .querySelector('.button--completeMilestone')) === null || _e === void 0 ? void 0 : _e.addEventListener('click', completeMilestone); + .querySelector('.button--editMilestone')) === null || _e === void 0 ? void 0 : _e.addEventListener('click', editMilestone); (_f = panelBlockElement - .querySelector('.button--deleteMilestone')) === null || _f === void 0 ? void 0 : _f.addEventListener('click', deleteMilestone); + .querySelector('.button--completeMilestone')) === null || _f === void 0 ? void 0 : _f.addEventListener('click', completeMilestone); + (_g = panelBlockElement + .querySelector('.button--deleteMilestone')) === null || _g === void 0 ? void 0 : _g.addEventListener('click', deleteMilestone); milestonesPanelElement.append(panelBlockElement); } bulmaJS.init(milestonesPanelElement); diff --git a/public-typescript/workOrderEdit/workOrderEdit.ts b/public-typescript/workOrderEdit/workOrderEdit.ts index 338e32bb..2def402b 100644 --- a/public-typescript/workOrderEdit/workOrderEdit.ts +++ b/public-typescript/workOrderEdit/workOrderEdit.ts @@ -334,13 +334,13 @@ declare const exports: Record (clickEvent.currentTarget as HTMLElement).closest( '.container--milestone' ) as HTMLElement - ).dataset.workOrderMilestoneId!, + ).dataset.workOrderMilestoneId ?? '', 10 ) const workOrderMilestone = workOrderMilestones.find((currentMilestone) => { return currentMilestone.workOrderMilestoneId === workOrderMilestoneId - })! + }) as recordTypes.WorkOrderMilestone function doComplete(): void { cityssm.postJSON( @@ -357,8 +357,9 @@ declare const exports: Record title: 'Complete Milestone', message: 'Are you sure you want to complete this milestone?' + - (workOrderMilestone.workOrderMilestoneDateString !== '' && - workOrderMilestone.workOrderMilestoneDateString! > currentDateString + (workOrderMilestone.workOrderMilestoneDateString !== undefined && + workOrderMilestone.workOrderMilestoneDateString !== '' && + workOrderMilestone.workOrderMilestoneDateString > currentDateString ? '
Note that this milestone is expected to be completed in the future.' : ''), messageIsHtml: true, @@ -517,7 +518,8 @@ declare const exports: Record const optionElement = document.createElement('option') optionElement.value = workOrderMilestone.workOrderMilestoneTypeId.toString() - optionElement.textContent = workOrderMilestone.workOrderMilestoneType ?? '' + optionElement.textContent = + workOrderMilestone.workOrderMilestoneType ?? '' optionElement.selected = true milestoneTypeElement.append(optionElement) } @@ -592,7 +594,7 @@ declare const exports: Record panelBlockElement.className = 'panel-block is-block container--milestone' panelBlockElement.dataset.workOrderMilestoneId = - milestone.workOrderMilestoneId!.toString() + milestone.workOrderMilestoneId?.toString() // eslint-disable-next-line no-unsanitized/property panelBlockElement.innerHTML = diff --git a/public/javascripts/adminFees.min.js b/public/javascripts/adminFees.min.js index 2ac9151c..5aa5ecf4 100644 --- a/public/javascripts/adminFees.min.js +++ b/public/javascripts/adminFees.min.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{var e;const t=exports.los,o=document.querySelector("#container--feeCategories");let s=exports.feeCategories;function n(){var e,n,u,y,f,p,v,m,g,C,S,b,F,q,E,x,T;if(0!==s.length){o.innerHTML="";for(const L of s){const s=document.createElement("section");s.className="panel container--feeCategory",s.dataset.feeCategoryId=L.feeCategoryId.toString(),s.innerHTML=`
\n
\n
\n

${cityssm.escapeHTML(null!==(e=L.feeCategory)&&void 0!==e?e:"")}

\n
\n
\n
\n ${0===L.fees.length?'
\n \n
':""}\n
\n \n
\n
\n \n
\n
\n ${t.getMoveUpDownButtonFieldHTML("button--moveFeeCategoryUp","button--moveFeeCategoryDown")}\n
\n
\n
\n
`,0===L.fees.length&&(s.insertAdjacentHTML("beforeend",`
\n
\n

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

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

'+cityssm.escapeHTML(null!==(f=e.feeName)&&void 0!==f?f:"")+"
"+cityssm.escapeHTML(null!==(p=e.feeDescription)&&void 0!==p?p:"").replaceAll("\n","
")+"

"+(n?'

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

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

There are no available fees.

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

${cityssm.escapeHTML(null!==(e=L.feeCategory)&&void 0!==e?e:"")}

\n
\n
\n
\n ${0===L.fees.length?'
\n \n
':""}\n
\n \n
\n
\n \n
\n
\n ${t.getMoveUpDownButtonFieldHTML("button--moveFeeCategoryUp","button--moveFeeCategoryDown")}\n
\n
\n
\n
`,0===L.fees.length&&(n.insertAdjacentHTML("beforeend",`
\n
\n

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

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

\n ${cityssm.escapeHTML(null!==(f=e.feeName)&&void 0!==f?f:"")}
\n \n ${cityssm.escapeHTML(null!==(v=e.feeDescription)&&void 0!==v?v:"").replaceAll("\n","
")}\n
\n

\n ${s?'

'+(null!==(p=e.isRequired)&&void 0!==p&&p?'Required':"")+(-1===(null!==(m=e.occupancyTypeId)&&void 0!==m?m:-1)?"":` \n \n ${cityssm.escapeHTML(null!==(g=e.occupancyType)&&void 0!==g?g:"")}\n `)+(-1===(null!==(C=e.lotTypeId)&&void 0!==C?C:-1)?"":` \n \n ${cityssm.escapeHTML(null!==(S=e.lotType)&&void 0!==S?S:"")}\n `)+"

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

There are no available fees.

\n
'}function a(e){var o;const a=Number.parseInt(null!==(o=e.currentTarget.closest(".container--feeCategory").dataset.feeCategoryId)&&void 0!==o?o:"",10),l=n.find(e=>e.feeCategoryId===a);let r;function i(e){e.preventDefault(),cityssm.postJSON(`${t.urlPrefix}/admin/doUpdateFeeCategory`,e.currentTarget,e=>{var t;const o=e;o.success?(n=o.feeCategories,r(),s()):bulmaJS.alert({title:"Error Updating Fee Category",message:null!==(t=o.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}cityssm.openHtmlModal("adminFees-editFeeCategory",{onshow(e){e.querySelector("#feeCategoryEdit--feeCategoryId").value=l.feeCategoryId.toString(),e.querySelector("#feeCategoryEdit--feeCategory").value=l.feeCategory},onshown(e,t){var o;bulmaJS.toggleHtmlClipped(),r=t,null===(o=e.querySelector("form"))||void 0===o||o.addEventListener("submit",i),e.querySelector("#feeCategoryEdit--feeCategory").focus()},onremoved:()=>{bulmaJS.toggleHtmlClipped()}})}function l(e){var o;const a=Number.parseInt(null!==(o=e.currentTarget.closest(".container--feeCategory").dataset.feeCategoryId)&&void 0!==o?o:"",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(`${t.urlPrefix}/admin/doDeleteFeeCategory`,{feeCategoryId:a},e=>{var t;const o=e;o.success?(n=o.feeCategories,s()):bulmaJS.alert({title:"Error Updating Fee Category",message:null!==(t=o.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}}})}function r(e){var o;const a=e.currentTarget,l=null!==(o=a.closest(".container--feeCategory").dataset.feeCategoryId)&&void 0!==o?o:"";cityssm.postJSON(t.urlPrefix+"/admin/"+("up"===a.dataset.direction?"doMoveFeeCategoryUp":"doMoveFeeCategoryDown"),{feeCategoryId:l,moveToEnd:e.shiftKey?"1":"0"},e=>{var t;const o=e;o.success?(n=o.feeCategories,s()):bulmaJS.alert({title:"Error Moving Fee Category",message:null!==(t=o.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}function i(e){var o;const a=Number.parseInt(null!==(o=e.currentTarget.closest(".container--feeCategory").dataset.feeCategoryId)&&void 0!==o?o:"",10);let l;function r(e){e.preventDefault(),cityssm.postJSON(`${t.urlPrefix}/admin/doAddFee`,e.currentTarget,e=>{var t;const o=e;o.success?(n=o.feeCategories,l(),s()):bulmaJS.alert({title:"Error Adding Fee",message:null!==(t=o.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}cityssm.openHtmlModal("adminFees-addFee",{onshow(e){const o=e.querySelector("#feeAdd--feeCategoryId");for(const e of n){const t=document.createElement("option");t.value=e.feeCategoryId.toString(),t.textContent=e.feeCategory,e.feeCategoryId===a&&(t.selected=!0),o.append(t)}const s=e.querySelector("#feeAdd--occupancyTypeId");for(const e of exports.occupancyTypes){const t=document.createElement("option");t.value=e.occupancyTypeId.toString(),t.textContent=e.occupancyType,s.append(t)}const l=e.querySelector("#feeAdd--lotTypeId");for(const e of exports.lotTypes){const t=document.createElement("option");t.value=e.lotTypeId.toString(),t.textContent=e.lotType,l.append(t)}e.querySelector("#feeAdd--taxPercentage").value=exports.taxPercentageDefault.toString(),t.populateAliases(e)},onshown(e,t){var o,n,s;bulmaJS.toggleHtmlClipped(),l=t,null===(o=e.querySelector("form"))||void 0===o||o.addEventListener("submit",r),e.querySelector("#feeAdd--feeName").focus(),e.querySelector("#feeAdd--feeFunction").addEventListener("change",()=>{var t,o;const n=e.querySelector("#feeAdd--feeAmount"),s=e.querySelector("#feeAdd--feeFunction");""===s.value?(null===(t=s.closest(".select"))||void 0===t||t.classList.remove("is-success"),n.classList.add("is-success"),n.disabled=!1):(null===(o=s.closest(".select"))||void 0===o||o.classList.add("is-success"),n.classList.remove("is-success"),n.disabled=!0)}),null===(n=e.querySelector("#feeAdd--taxPercentage"))||void 0===n||n.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)}),null===(s=e.querySelector("#feeAdd--includeQuantity"))||void 0===s||s.addEventListener("change",()=>{e.querySelector("#feeAdd--quantityUnit").disabled=""===e.querySelector("#feeAdd--includeQuantity").value})},onremoved(){bulmaJS.toggleHtmlClipped()}})}function c(e){var o,a;e.preventDefault();const l=e.currentTarget.closest(".container--fee"),r=Number.parseInt(null!==(o=l.dataset.feeId)&&void 0!==o?o:"",10),i=Number.parseInt(null!==(a=l.closest(".container--feeCategory").dataset.feeCategoryId)&&void 0!==a?a:""),c=n.find(e=>e.feeCategoryId===i).fees.find(e=>e.feeId===r);let d,u;function y(e){e.preventDefault(),cityssm.postJSON(`${t.urlPrefix}/admin/doUpdateFee`,e.currentTarget,e=>{var t;const o=e;o.success?(n=o.feeCategories,d(),s()):bulmaJS.alert({title:"Error Updating Fee",message:null!==(t=o.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}function f(e){e.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(`${t.urlPrefix}/admin/doDeleteFee`,{feeId:r},e=>{var t;const o=e;o.success?(n=o.feeCategories,d(),s()):bulmaJS.alert({title:"Error Deleting Fee",message:null!==(t=o.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}}})}function v(){var e,t;const o=u.querySelector("#feeEdit--feeAmount"),n=u.querySelector("#feeEdit--feeFunction");""===n.value?(null===(e=n.closest(".select"))||void 0===e||e.classList.remove("is-success"),o.classList.add("is-success"),o.disabled=!1):(null===(t=n.closest(".select"))||void 0===t||t.classList.add("is-success"),o.classList.remove("is-success"),o.disabled=!0)}function p(){const e=u.querySelector("#feeEdit--taxAmount"),t=u.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=u.querySelector("#feeEdit--includeQuantity").value;u.querySelector("#feeEdit--quantityUnit").disabled=""===e}cityssm.openHtmlModal("adminFees-editFee",{onshow(e){var o,s,a,l,r,d,y;u=e,e.querySelector("#feeEdit--feeId").value=c.feeId.toString();const f=e.querySelector("#feeEdit--feeCategoryId");for(const e of n){const t=document.createElement("option");t.value=e.feeCategoryId.toString(),t.textContent=e.feeCategory,e.feeCategoryId===i&&(t.selected=!0),f.append(t)}e.querySelector("#feeEdit--feeName").value=null!==(o=c.feeName)&&void 0!==o?o:"",e.querySelector("#feeEdit--feeAccount").value=null!==(s=c.feeAccount)&&void 0!==s?s:"",e.querySelector("#feeEdit--feeDescription").value=null!==(a=c.feeDescription)&&void 0!==a?a:"";const g=e.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),g.append(t)}const C=e.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),C.append(t)}e.querySelector("#feeEdit--feeAmount").value=c.feeAmount?c.feeAmount.toFixed(2):"",null===(l=e.querySelector("#feeEdit--feeFunction"))||void 0===l||l.addEventListener("change",v),v(),e.querySelector("#feeEdit--taxAmount").value=c.taxAmount?c.taxAmount.toFixed(2):"";const S=e.querySelector("#feeEdit--taxPercentage");S.value=c.taxPercentage?c.taxPercentage.toString():"",S.addEventListener("keyup",p),p();const b=e.querySelector("#feeEdit--includeQuantity");null!==(r=c.includeQuantity)&&void 0!==r&&r&&(b.value="1"),b.addEventListener("change",m),e.querySelector("#feeEdit--quantityUnit").value=null!==(d=c.quantityUnit)&&void 0!==d?d:"",m(),null!==(y=c.isRequired)&&void 0!==y&&y&&(e.querySelector("#feeEdit--isRequired").value="1"),t.populateAliases(e)},onshown(e,t){var o,n;bulmaJS.toggleHtmlClipped(),d=t,null===(o=e.querySelector("form"))||void 0===o||o.addEventListener("submit",y),bulmaJS.init(e),null===(n=e.querySelector(".button--deleteFee"))||void 0===n||n.addEventListener("click",f)},onremoved(){bulmaJS.toggleHtmlClipped()}})}function d(e){var o;const a=e.currentTarget,l=null!==(o=a.closest(".container--fee").dataset.feeId)&&void 0!==o?o:"";cityssm.postJSON(t.urlPrefix+"/admin/"+("up"===a.dataset.direction?"doMoveFeeUp":"doMoveFeeDown"),{feeId:l,moveToEnd:e.shiftKey?"1":"0"},e=>{var t;const o=e;o.success?(n=o.feeCategories,s()):bulmaJS.alert({title:"Error Moving Fee",message:null!==(t=o.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}delete exports.feeCategories,null===(e=document.querySelector("#button--addFeeCategory"))||void 0===e||e.addEventListener("click",()=>{let e;function o(o){o.preventDefault(),cityssm.postJSON(`${t.urlPrefix}/admin/doAddFeeCategory`,o.currentTarget,t=>{var o;const a=t;a.success?(n=a.feeCategories,e(),s()):bulmaJS.alert({title:"Error Creating Fee Category",message:null!==(o=a.errorMessage)&&void 0!==o?o:"",contextualColorName:"danger"})})}cityssm.openHtmlModal("adminFees-addFeeCategory",{onshown(t,n){var s;bulmaJS.toggleHtmlClipped(),t.querySelector("#feeCategoryAdd--feeCategory").focus(),e=n,null===(s=t.querySelector("form"))||void 0===s||s.addEventListener("submit",o)},onremoved(){bulmaJS.toggleHtmlClipped(),document.querySelector("#button--addFeeCategory").focus()}})}),s()})(); \ No newline at end of file diff --git a/public/javascripts/adminOccupancyTypes.min.js b/public/javascripts/adminOccupancyTypes.min.js index 080164c5..68935783 100644 --- a/public/javascripts/adminOccupancyTypes.min.js +++ b/public/javascripts/adminOccupancyTypes.min.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{var e;const c=exports.los,n=document.querySelector("#container--occupancyTypes"),t=document.querySelector("#container--occupancyTypePrints");let a=exports.occupancyTypes;delete exports.occupancyTypes;let i=exports.allOccupancyTypeFields;delete exports.allOccupancyTypeFields;const l=new Set;function s(e){var c;const n=e.currentTarget,t=n.closest(".container--occupancyType"),a=Number.parseInt(null!==(c=t.dataset.occupancyTypeId)&&void 0!==c?c:"",10);l.has(a)?l.delete(a):l.add(a),n.innerHTML=l.has(a)?'':'';const i=t.querySelectorAll(".panel-block");for(const e of i)e.classList.toggle("is-hidden")}function o(e){var n;const t=e;t.success?(a=t.occupancyTypes,i=t.allOccupancyTypeFields,O()):bulmaJS.alert({title:`Error Updating ${c.escapedAliases.Occupancy} Type`,message:null!==(n=t.errorMessage)&&void 0!==n?n:"",contextualColorName:"danger"})}function d(e){var n;const t=Number.parseInt(null!==(n=e.currentTarget.closest(".container--occupancyType").dataset.occupancyTypeId)&&void 0!==n?n:"",10);bulmaJS.confirm({title:`Delete ${c.escapedAliases.Occupancy} Type`,message:`Are you sure you want to delete this ${c.escapedAliases.occupancy} type?`,contextualColorName:"warning",okButton:{text:`Yes, Delete ${c.escapedAliases.Occupancy} Type`,callbackFunction:function(){cityssm.postJSON(`${c.urlPrefix}/admin/doDeleteOccupancyType`,{occupancyTypeId:t},o)}}})}function p(e){var n;const t=Number.parseInt(null!==(n=e.currentTarget.closest(".container--occupancyType").dataset.occupancyTypeId)&&void 0!==n?n:"",10),i=a.find(e=>t===e.occupancyTypeId);let l;function s(e){e.preventDefault(),cityssm.postJSON(`${c.urlPrefix}/admin/doUpdateOccupancyType`,e.currentTarget,e=>{const c=e;o(c),c.success&&l()})}cityssm.openHtmlModal("adminOccupancyTypes-editOccupancyType",{onshow(e){c.populateAliases(e),e.querySelector("#occupancyTypeEdit--occupancyTypeId").value=t.toString(),e.querySelector("#occupancyTypeEdit--occupancyType").value=i.occupancyType},onshown(e,c){var n;l=c,e.querySelector("#occupancyTypeEdit--occupancyType").focus(),null===(n=e.querySelector("form"))||void 0===n||n.addEventListener("submit",s),bulmaJS.toggleHtmlClipped()},onremoved(){bulmaJS.toggleHtmlClipped()}})}function u(e){var n;const t=Number.parseInt(null!==(n=e.currentTarget.closest(".container--occupancyType").dataset.occupancyTypeId)&&void 0!==n?n:"",10);let a;function i(e){e.preventDefault(),cityssm.postJSON(`${c.urlPrefix}/admin/doAddOccupancyTypeField`,e.currentTarget,e=>{const c=e;l.add(t),o(c),c.success&&(a(),y(t,c.occupancyTypeFieldId))})}cityssm.openHtmlModal("adminOccupancyTypes-addOccupancyTypeField",{onshow(e){c.populateAliases(e),t&&(e.querySelector("#occupancyTypeFieldAdd--occupancyTypeId").value=t.toString())},onshown(e,c){var n;a=c,e.querySelector("#occupancyTypeFieldAdd--occupancyTypeField").focus(),null===(n=e.querySelector("form"))||void 0===n||n.addEventListener("submit",i),bulmaJS.toggleHtmlClipped()},onremoved(){bulmaJS.toggleHtmlClipped()}})}function r(e){const n=e.currentTarget,t=e.currentTarget.closest(".container--occupancyType").dataset.occupancyTypeId;cityssm.postJSON(c.urlPrefix+"/admin/"+("up"===n.dataset.direction?"doMoveOccupancyTypeUp":"doMoveOccupancyTypeDown"),{occupancyTypeId:t,moveToEnd:e.shiftKey?"1":"0"},o)}function y(e,n){var t;let l;e&&(l=a.find(c=>c.occupancyTypeId===e));const s=(l?null!==(t=l.occupancyTypeFields)&&void 0!==t?t:[]:i).find(e=>e.occupancyTypeFieldId===n);let d,p,u,r,y;function v(){p.min=d.value}function T(){""===r.value?(d.disabled=!1,p.disabled=!1,u.disabled=!1):(d.disabled=!0,p.disabled=!0,u.disabled=!0)}function m(e){e.preventDefault(),cityssm.postJSON(`${c.urlPrefix}/admin/doUpdateOccupancyTypeField`,e.currentTarget,e=>{const c=e;o(c),c.success&&y()})}function f(){cityssm.postJSON(`${c.urlPrefix}/admin/doDeleteOccupancyTypeField`,{occupancyTypeFieldId:n},e=>{const c=e;o(c),c.success&&y()})}function b(){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:f}})}cityssm.openHtmlModal("adminOccupancyTypes-editOccupancyTypeField",{onshow:e=>{var n,t,a,i,l,o,y,v;c.populateAliases(e),e.querySelector("#occupancyTypeFieldEdit--occupancyTypeFieldId").value=s.occupancyTypeFieldId.toString(),e.querySelector("#occupancyTypeFieldEdit--occupancyTypeField").value=null!==(n=s.occupancyTypeField)&&void 0!==n?n:"",e.querySelector("#occupancyTypeFieldEdit--isRequired").value=null!==(t=s.isRequired)&&void 0!==t&&t?"1":"0",(d=e.querySelector("#occupancyTypeFieldEdit--minimumLength")).value=null!==(i=null===(a=s.minimumLength)||void 0===a?void 0:a.toString())&&void 0!==i?i:"",(p=e.querySelector("#occupancyTypeFieldEdit--maximumLength")).value=null!==(o=null===(l=s.maximumLength)||void 0===l?void 0:l.toString())&&void 0!==o?o:"",(u=e.querySelector("#occupancyTypeFieldEdit--pattern")).value=null!==(y=s.pattern)&&void 0!==y?y:"",(r=e.querySelector("#occupancyTypeFieldEdit--occupancyTypeFieldValues")).value=null!==(v=s.occupancyTypeFieldValues)&&void 0!==v?v:"",T()},onshown:(e,c)=>{var n,t;y=c,bulmaJS.init(e),bulmaJS.toggleHtmlClipped(),cityssm.enableNavBlocker(),null===(n=e.querySelector("form"))||void 0===n||n.addEventListener("submit",m),d.addEventListener("keyup",v),v(),r.addEventListener("keyup",T),null===(t=e.querySelector("#button--deleteOccupancyTypeField"))||void 0===t||t.addEventListener("click",b)},onremoved:()=>{bulmaJS.toggleHtmlClipped(),cityssm.disableNavBlocker()}})}function v(e){var c,n;e.preventDefault();const t=Number.parseInt(null!==(c=e.currentTarget.closest(".container--occupancyTypeField").dataset.occupancyTypeFieldId)&&void 0!==c?c:"",10);y(Number.parseInt(null!==(n=e.currentTarget.closest(".container--occupancyType").dataset.occupancyTypeId)&&void 0!==n?n:"",10),t)}function T(e){const n=e.currentTarget,t=e.currentTarget.closest(".container--occupancyTypeField").dataset.occupancyTypeFieldId;cityssm.postJSON(c.urlPrefix+"/admin/"+("up"===n.dataset.direction?"doMoveOccupancyTypeFieldUp":"doMoveOccupancyTypeFieldDown"),{occupancyTypeFieldId:t,moveToEnd:e.shiftKey?"1":"0"},o)}function m(e,n,t){var a,i;if(0===t.length)e.insertAdjacentHTML("beforeend",`
\n

There are no additional fields.

\n
`);else for(const s of t){const t=document.createElement("div");t.className="panel-block is-block container--occupancyTypeField",n&&!l.has(n)&&t.classList.add("is-hidden"),t.dataset.occupancyTypeFieldId=s.occupancyTypeFieldId.toString(),t.innerHTML=`
\n \n
\n
\n ${c.getMoveUpDownButtonFieldHTML("button--moveOccupancyTypeFieldUp","button--moveOccupancyTypeFieldDown")}\n
\n
\n
`,null===(i=t.querySelector(".button--editOccupancyTypeField"))||void 0===i||i.addEventListener("click",v),t.querySelector(".button--moveOccupancyTypeFieldUp").addEventListener("click",T),t.querySelector(".button--moveOccupancyTypeFieldDown").addEventListener("click",T),e.append(t)}}function f(e){var n;const t=null!==(n=e.currentTarget.closest(".container--occupancyTypePrintList").dataset.occupancyTypeId)&&void 0!==n?n:"";let a;function i(e){e.preventDefault(),cityssm.postJSON(`${c.urlPrefix}/admin/doAddOccupancyTypePrint`,e.currentTarget,e=>{const c=e;c.success&&a(),o(c)})}cityssm.openHtmlModal("adminOccupancyTypes-addOccupancyTypePrint",{onshow(e){c.populateAliases(e),e.querySelector("#occupancyTypePrintAdd--occupancyTypeId").value=t;const n=e.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 n;a=c,null===(n=e.querySelector("form"))||void 0===n||n.addEventListener("submit",i)}})}function b(e){const n=e.currentTarget,t=n.closest(".container--occupancyTypePrint").dataset.printEJS,a=n.closest(".container--occupancyTypePrintList").dataset.occupancyTypeId;cityssm.postJSON(c.urlPrefix+"/admin/"+("up"===n.dataset.direction?"doMoveOccupancyTypePrintUp":"doMoveOccupancyTypePrintDown"),{occupancyTypeId:a,printEJS:t,moveToEnd:e.shiftKey?"1":"0"},o)}function g(e){e.preventDefault();const n=e.currentTarget.closest(".container--occupancyTypePrint").dataset.printEJS,t=e.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(`${c.urlPrefix}/admin/doDeleteOccupancyTypePrint`,{occupancyTypeId:t,printEJS:n},o)}}})}function S(e,n,t){var a;if(0===t.length)e.insertAdjacentHTML("beforeend",'
\n
\n

There are no prints associated with this record.

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

(All ${c.escapedAliases.Occupancy} Types)

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

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

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

${cityssm.escapeHTML(e.occupancyType)}

\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n ${c.getMoveUpDownButtonFieldHTML("button--moveOccupancyTypeUp","button--moveOccupancyTypeDown")}\n
\n
\n
\n
`,m(a,e.occupancyTypeId,null!==(o=e.occupancyTypeFields)&&void 0!==o?o:[]),null===(y=a.querySelector(".button--toggleOccupancyTypeFields"))||void 0===y||y.addEventListener("click",s),null===(v=a.querySelector(".button--deleteOccupancyType"))||void 0===v||v.addEventListener("click",d),null===(T=a.querySelector(".button--editOccupancyType"))||void 0===T||T.addEventListener("click",p),null===(b=a.querySelector(".button--addOccupancyTypeField"))||void 0===b||b.addEventListener("click",u),a.querySelector(".button--moveOccupancyTypeUp").addEventListener("click",r),a.querySelector(".button--moveOccupancyTypeDown").addEventListener("click",r),n.append(a);const i=document.createElement("div");i.className="panel container--occupancyTypePrintList",i.dataset.occupancyTypeId=e.occupancyTypeId.toString(),i.innerHTML=`
\n
\n
\n
\n

${cityssm.escapeHTML(e.occupancyType)}

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

There are no additional fields.

\n
`);else for(const s of t){const t=document.createElement("div");t.className="panel-block is-block container--occupancyTypeField",n&&!l.has(n)&&t.classList.add("is-hidden"),t.dataset.occupancyTypeFieldId=s.occupancyTypeFieldId.toString(),t.innerHTML=`
\n \n
\n
\n ${c.getMoveUpDownButtonFieldHTML("button--moveOccupancyTypeFieldUp","button--moveOccupancyTypeFieldDown")}\n
\n
\n
`,null===(i=t.querySelector(".button--editOccupancyTypeField"))||void 0===i||i.addEventListener("click",v),t.querySelector(".button--moveOccupancyTypeFieldUp").addEventListener("click",T),t.querySelector(".button--moveOccupancyTypeFieldDown").addEventListener("click",T),e.append(t)}}function f(e){var n;const t=null!==(n=e.currentTarget.closest(".container--occupancyTypePrintList").dataset.occupancyTypeId)&&void 0!==n?n:"";let a;function i(e){e.preventDefault(),cityssm.postJSON(`${c.urlPrefix}/admin/doAddOccupancyTypePrint`,e.currentTarget,e=>{const c=e;c.success&&a(),o(c)})}cityssm.openHtmlModal("adminOccupancyTypes-addOccupancyTypePrint",{onshow(e){c.populateAliases(e),e.querySelector("#occupancyTypePrintAdd--occupancyTypeId").value=t;const n=e.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 n;a=c,null===(n=e.querySelector("form"))||void 0===n||n.addEventListener("submit",i)}})}function b(e){const n=e.currentTarget,t=n.closest(".container--occupancyTypePrint").dataset.printEJS,a=n.closest(".container--occupancyTypePrintList").dataset.occupancyTypeId;cityssm.postJSON(c.urlPrefix+"/admin/"+("up"===n.dataset.direction?"doMoveOccupancyTypePrintUp":"doMoveOccupancyTypePrintDown"),{occupancyTypeId:a,printEJS:t,moveToEnd:e.shiftKey?"1":"0"},o)}function g(e){e.preventDefault();const n=e.currentTarget.closest(".container--occupancyTypePrint").dataset.printEJS,t=e.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(`${c.urlPrefix}/admin/doDeleteOccupancyTypePrint`,{occupancyTypeId:t,printEJS:n},o)}}})}function S(e,n,t){var a;if(0===t.length)e.insertAdjacentHTML("beforeend",'
\n
\n

There are no prints associated with this record.

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

(All ${c.escapedAliases.Occupancy} Types)

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

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

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

${cityssm.escapeHTML(e.occupancyType)}

\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n ${c.getMoveUpDownButtonFieldHTML("button--moveOccupancyTypeUp","button--moveOccupancyTypeDown")}\n
\n
\n
\n
`,m(a,e.occupancyTypeId,null!==(o=e.occupancyTypeFields)&&void 0!==o?o:[]),null===(y=a.querySelector(".button--toggleOccupancyTypeFields"))||void 0===y||y.addEventListener("click",s),null===(v=a.querySelector(".button--deleteOccupancyType"))||void 0===v||v.addEventListener("click",d),null===(T=a.querySelector(".button--editOccupancyType"))||void 0===T||T.addEventListener("click",p),null===(b=a.querySelector(".button--addOccupancyTypeField"))||void 0===b||b.addEventListener("click",u),a.querySelector(".button--moveOccupancyTypeUp").addEventListener("click",r),a.querySelector(".button--moveOccupancyTypeDown").addEventListener("click",r),n.append(a);const i=document.createElement("div");i.className="panel container--occupancyTypePrintList",i.dataset.occupancyTypeId=e.occupancyTypeId.toString(),i.innerHTML=`
\n
\n
\n
\n

${cityssm.escapeHTML(e.occupancyType)}

\n
\n
\n
\n
\n \n
\n
\n
\n
`,S(i,e.occupancyTypeId,null!==(g=e.occupancyTypePrints)&&void 0!==g?g:[]),null===(O=i.querySelector(".button--addOccupancyTypePrint"))||void 0===O||O.addEventListener("click",f),t.append(i)}}null===(e=document.querySelector("#button--addOccupancyType"))||void 0===e||e.addEventListener("click",()=>{let e;function n(n){n.preventDefault(),cityssm.postJSON(c.urlPrefix+"/admin/doAddOccupancyType",n.currentTarget,n=>{var t;const i=n;i.success?(e(),a=i.occupancyTypes,O()):bulmaJS.alert({title:`Error Adding ${c.escapedAliases.Occupancy} Type`,message:null!==(t=i.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}cityssm.openHtmlModal("adminOccupancyTypes-addOccupancyType",{onshow(e){c.populateAliases(e)},onshown(c,t){var a;e=t,c.querySelector("#occupancyTypeAdd--occupancyType").focus(),null===(a=c.querySelector("form"))||void 0===a||a.addEventListener("submit",n),bulmaJS.toggleHtmlClipped()},onremoved(){bulmaJS.toggleHtmlClipped()}})}),O()})(); \ No newline at end of file diff --git a/public/javascripts/workOrderEdit.min.js b/public/javascripts/workOrderEdit.min.js index ba84d654..a60fe447 100644 --- a/public/javascripts/workOrderEdit.min.js +++ b/public/javascripts/workOrderEdit.min.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{var e,t;const o=exports.los,r=document.querySelector("#workOrderEdit--workOrderId").value,n=""===r,s=document.querySelector("#form--workOrderEdit");function a(){var e;o.setUnsavedChanges(),null===(e=document.querySelector("button[type='submit'][form='form--workOrderEdit']"))||void 0===e||e.classList.remove("is-light")}function l(){var e;o.clearUnsavedChanges(),null===(e=document.querySelector("button[type='submit'][form='form--workOrderEdit']"))||void 0===e||e.classList.add("is-light")}o.initializeDatePickers(null===(S=s.querySelector("#workOrderEdit--workOrderOpenDateString"))||void 0===S?void 0:S.closest(".field")),o.initializeUnlockFieldButtons(s),s.addEventListener("submit",e=>{e.preventDefault(),cityssm.postJSON(`${o.urlPrefix}/workOrders/${n?"doCreateWorkOrder":"doUpdateWorkOrder"}`,e.currentTarget,e=>{var t;const r=e;r.success?(l(),n?window.location.href=o.getWorkOrderURL(r.workOrderId,!0):bulmaJS.alert({message:"Work Order Updated Successfully",contextualColorName:"success"})):bulmaJS.alert({title:"Error Updating Work Order",message:null!==(t=r.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})});const i=s.querySelectorAll("input, select, textarea");for(const e of i)e.addEventListener("change",a);function c(){cityssm.postJSON(`${o.urlPrefix}/workOrders/doCloseWorkOrder`,{workOrderId:r},e=>{var t;const n=e;n.success?(l(),window.location.href=o.getWorkOrderURL(r)):bulmaJS.alert({title:"Error Closing Work Order",message:null!==(t=n.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}function d(){cityssm.postJSON(`${o.urlPrefix}/workOrders/doDeleteWorkOrder`,{workOrderId:r},e=>{var t;const r=e;r.success?(l(),window.location.href=`${o.urlPrefix}/workOrders`):bulmaJS.alert({title:"Error Deleting Work Order",message:null!==(t=r.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}let u;if(null===(m=document.querySelector("#button--closeWorkOrder"))||void 0===m||m.addEventListener("click",()=>{u.some(e=>!e.workOrderMilestoneCompletionDate)?bulmaJS.alert({title:"Outstanding Milestones",message:"You cannot close a work order with outstanding milestones.\n Either complete the outstanding milestones, or remove them from the work order.",contextualColorName:"warning"}):bulmaJS.confirm({title:"Close Work Order",message:o.hasUnsavedChanges()?"Are you sure you want to close this work order with unsaved changes?":"Are you sure you want to close this work order?",contextualColorName:o.hasUnsavedChanges()?"warning":"info",okButton:{text:"Yes, Close Work Order",callbackFunction:c}})}),null===(e=document.querySelector("#button--deleteWorkOrder"))||void 0===e||e.addEventListener("click",e=>{e.preventDefault(),bulmaJS.confirm({title:"Delete Work Order",message:"Are you sure you want to delete this work order?",contextualColorName:"warning",okButton:{text:"Yes, Delete Work Order",callbackFunction:d}})}),!n){var m;Object.defineProperty(exports,"__esModule",{value:!0});let e=exports.workOrderLots;delete exports.workOrderLots;let t=exports.workOrderLotOccupancies;function p(e){const n=e.currentTarget.closest(".container--lotOccupancy").dataset.lotOccupancyId;bulmaJS.confirm({title:`Delete ${o.escapedAliases.Occupancy} Relationship`,message:`Are you sure you want to remove the relationship to this ${o.escapedAliases.occupancy} record from this work order? Note that the record will remain.`,contextualColorName:"warning",okButton:{text:"Yes, Delete Relationship",callbackFunction:function(){cityssm.postJSON(o.urlPrefix+"/workOrders/doDeleteWorkOrderLotOccupancy",{workOrderId:r,lotOccupancyId:n},e=>{var o;const r=e;r.success?(t=r.workOrderLotOccupancies,k()):bulmaJS.alert({title:"Error Deleting Relationship",message:null!==(o=r.errorMessage)&&void 0!==o?o:"",contextualColorName:"danger"})})}}})}function y(t,n){cityssm.postJSON(o.urlPrefix+"/workOrders/doAddWorkOrderLot",{workOrderId:r,lotId:t},t=>{var r;const s=t;s.success?(e=s.workOrderLots,k()):bulmaJS.alert({title:`Error Adding ${o.escapedAliases.Lot}`,message:null!==(r=s.errorMessage)&&void 0!==r?r:"",contextualColorName:"danger"}),void 0!==n&&n(s.success)})}function O(e){y(e.currentTarget.dataset.lotId)}function h(t){const n=Number.parseInt(t.currentTarget.closest(".container--lot").dataset.lotId,10),s=e.find(e=>e.lotId===n);let a;function l(t){t.preventDefault(),cityssm.postJSON(o.urlPrefix+"/workOrders/doUpdateLotStatus",t.currentTarget,t=>{var o;const r=t;r.success?(e=r.workOrderLots,k(),a()):bulmaJS.alert({title:"Error Deleting Relationship",message:null!==(o=r.errorMessage)&&void 0!==o?o:"",contextualColorName:"danger"})})}cityssm.openHtmlModal("lot-editLotStatus",{onshow(e){o.populateAliases(e),e.querySelector("#lotStatusEdit--lotId").value=n.toString(),e.querySelector("#lotStatusEdit--lotName").value=s.lotName;const t=e.querySelector("#lotStatusEdit--lotStatusId");let a=!1;for(const e of exports.lotStatuses){const o=document.createElement("option");o.value=e.lotStatusId.toString(),o.textContent=e.lotStatus,e.lotStatusId===s.lotStatusId&&(a=!0),t.append(o)}if(!a&&s.lotStatusId){const e=document.createElement("option");e.value=s.lotStatusId.toString(),e.textContent=s.lotStatus,t.append(e)}s.lotStatusId&&(t.value=s.lotStatusId.toString()),e.querySelector("form").insertAdjacentHTML("beforeend",``)},onshown(e,t){a=t,bulmaJS.toggleHtmlClipped(),e.querySelector("form").addEventListener("submit",l)},onremoved(){bulmaJS.toggleHtmlClipped()}})}function g(t){const n=t.currentTarget.closest(".container--lot").dataset.lotId;bulmaJS.confirm({title:`Delete ${o.escapedAliases.Occupancy} Relationship`,message:`Are you sure you want to remove the relationship to this ${o.escapedAliases.occupancy} record from this work order? Note that the record will remain.`,contextualColorName:"warning",okButton:{text:"Yes, Delete Relationship",callbackFunction:function(){cityssm.postJSON(o.urlPrefix+"/workOrders/doDeleteWorkOrderLot",{workOrderId:r,lotId:n},t=>{var o;const r=t;r.success?(e=r.workOrderLots,k()):bulmaJS.alert({title:"Error Deleting Relationship",message:null!==(o=r.errorMessage)&&void 0!==o?o:"",contextualColorName:"danger"})})}}})}function k(){!function(){var r,n,s,a;const l=document.querySelector("#container--lotOccupancies");if(document.querySelector(".tabs a[href='#relatedTab--lotOccupancies'] .tag").textContent=t.length.toString(),0===t.length)return void(l.innerHTML=`
\n

There are no ${o.escapedAliases.occupancies} associated with this work order.

\n
`);l.innerHTML=`\n \n \n \n \n \n \n \n \n \n \n
${o.escapedAliases.Occupancy} Type${o.escapedAliases.Lot}${o.escapedAliases.OccupancyStartDate}End Date${o.escapedAliases.Occupants}
`;const i=cityssm.dateToString(new Date);for(const c of t){const t=document.createElement("tr");t.className="container--lotOccupancy",t.dataset.lotOccupancyId=c.lotOccupancyId.toString();const d=!(c.occupancyEndDate&&c.occupancyEndDateStringc.lotId===e.lotId);t.innerHTML=''+(d?'':'')+''+cityssm.escapeHTML(null!==(r=c.occupancyType)&&void 0!==r?r:"")+"
"+`#${c.lotOccupancyId}`+"",c.lotId?t.insertAdjacentHTML("beforeend",""+cityssm.escapeHTML(null!==(n=c.lotName)&&void 0!==n?n:"")+(u?"":' ')+""):t.insertAdjacentHTML("beforeend",`(No ${o.escapedAliases.Lot})`);let m="";for(const e of c.lotOccupancyOccupants)m+=`
  • \n \n \n \n ${cityssm.escapeHTML(e.occupantName)}\n ${cityssm.escapeHTML(e.occupantFamilyName)}\n
  • `;t.insertAdjacentHTML("beforeend",""+c.occupancyStartDateString+""+(c.occupancyEndDate?c.occupancyEndDateString:'(No End Date)')+""+(0===c.lotOccupancyOccupants.length?`(No ${o.escapedAliases.Occupants})`:`
      ${m}
    `)+''),null===(a=t.querySelector(".button--addLot"))||void 0===a||a.addEventListener("click",O),t.querySelector(".button--deleteLotOccupancy").addEventListener("click",p),l.querySelector("tbody").append(t)}}(),function(){var t,r,n,s;const a=document.querySelector("#container--lots");if(document.querySelector(".tabs a[href='#relatedTab--lots'] .tag").textContent=e.length.toString(),0!==e.length){a.innerHTML=`\n \n \n \n \n \n \n \n \n
    ${o.escapedAliases.Lot}${o.escapedAliases.Map}${o.escapedAliases.Lot} TypeStatus
    `;for(const l of e){const e=document.createElement("tr");e.className="container--lot",e.dataset.lotId=l.lotId.toString(),e.innerHTML=''+cityssm.escapeHTML(null!==(t=l.lotName)&&void 0!==t?t:"")+""+`${cityssm.escapeHTML(null!==(r=l.mapName)&&void 0!==r?r:"")}`+`${cityssm.escapeHTML(null!==(n=l.lotType)&&void 0!==n?n:"")}`+""+(l.lotStatusId?cityssm.escapeHTML(null!==(s=l.lotStatus)&&void 0!==s?s:""):'(No Status)')+'\n \n \n ',e.querySelector(".button--editLotStatus").addEventListener("click",h),e.querySelector(".button--deleteLot").addEventListener("click",g),a.querySelector("tbody").append(e)}}else a.innerHTML=`
    \n

    There are no ${o.escapedAliases.lots} associated with this work order.

    \n
    `}()}function w(e){const n=e.currentTarget.closest("tr");!function(e,n){cityssm.postJSON(o.urlPrefix+"/workOrders/doAddWorkOrderLotOccupancy",{workOrderId:r,lotOccupancyId:e},e=>{var r;const s=e;s.success?(t=s.workOrderLotOccupancies,k()):bulmaJS.alert({title:"Error Adding "+o.escapedAliases.Occupancy,message:null!==(r=s.errorMessage)&&void 0!==r?r:"",contextualColorName:"danger"}),void 0!==n&&n(s.success)})}(n.dataset.lotOccupancyId,e=>{e&&n.remove()})}function v(e){const t=e.currentTarget.closest("tr");y(t.dataset.lotId,e=>{e&&t.remove()})}delete exports.workOrderLotOccupancies,k(),null===(S=document.querySelector("#button--addLotOccupancy"))||void 0===S||S.addEventListener("click",()=>{let e,t;function n(r){r&&r.preventDefault(),t.innerHTML=o.getLoadingParagraphHTML("Searching..."),cityssm.postJSON(o.urlPrefix+"/lotOccupancies/doSearchLotOccupancies",e,e=>{var r,n;const s=e;if(0!==s.lotOccupancies.length){t.innerHTML=`\n \n \n \n \n \n \n \n \n \n
    ${o.escapedAliases.Occupancy} Type${o.escapedAliases.Lot}${o.escapedAliases.OccupancyStartDate}End Date${o.escapedAliases.Occupants}
    `;for(const e of s.lotOccupancies){const s=document.createElement("tr");s.className="container--lotOccupancy",s.dataset.lotOccupancyId=e.lotOccupancyId.toString(),s.innerHTML=`\n \n \n \n ${cityssm.escapeHTML(null!==(r=e.occupancyType)&&void 0!==r?r:"")}\n `,e.lotId?s.insertAdjacentHTML("beforeend",""+cityssm.escapeHTML(null!==(n=e.lotName)&&void 0!==n?n:"")+""):s.insertAdjacentHTML("beforeend",`(No ${o.escapedAliases.Lot})`),s.insertAdjacentHTML("beforeend",`${e.occupancyStartDateString}`+""+(e.occupancyEndDate?e.occupancyEndDateString:'(No End Date)')+""+(0===e.lotOccupancyOccupants.length?`(No ${cityssm.escapeHTML(o.escapedAliases.Occupants)})`:cityssm.escapeHTML(e.lotOccupancyOccupants[0].occupantName+" "+e.lotOccupancyOccupants[0].occupantFamilyName)+(e.lotOccupancyOccupants.length>1?" plus "+(e.lotOccupancyOccupants.length-1).toString():""))+""),s.querySelector(".button--addLotOccupancy").addEventListener("click",w),t.querySelector("tbody").append(s)}}else t.innerHTML='
    \n

    There are no records that meet the search criteria.

    \n
    '})}cityssm.openHtmlModal("workOrder-addLotOccupancy",{onshow(s){o.populateAliases(s),e=s.querySelector("form"),t=s.querySelector("#resultsContainer--lotOccupancyAdd"),s.querySelector("#lotOccupancySearch--notWorkOrderId").value=r,s.querySelector("#lotOccupancySearch--occupancyEffectiveDateString").value=document.querySelector("#workOrderEdit--workOrderOpenDateString").value,n()},onshown(t){bulmaJS.toggleHtmlClipped();const o=t.querySelector("#lotOccupancySearch--occupantName");o.addEventListener("change",n),o.focus(),t.querySelector("#lotOccupancySearch--lotName").addEventListener("change",n),e.addEventListener("submit",n)},onremoved(){bulmaJS.toggleHtmlClipped(),document.querySelector("#button--addLotOccupancy").focus()}})}),null===(m=document.querySelector("#button--addLot"))||void 0===m||m.addEventListener("click",()=>{let e,t;function n(r){r&&r.preventDefault(),t.innerHTML=o.getLoadingParagraphHTML("Searching..."),cityssm.postJSON(o.urlPrefix+"/lots/doSearchLots",e,e=>{var r,n,s,a;const l=e;if(0!==l.lots.length){t.innerHTML=`\n \n \n \n \n \n \n \n \n
    ${o.escapedAliases.Lot}${o.escapedAliases.Map}${o.escapedAliases.Lot} TypeStatus
    `;for(const e of l.lots){const o=document.createElement("tr");o.className="container--lot",o.dataset.lotId=e.lotId.toString(),o.innerHTML=''+cityssm.escapeHTML(null!==(r=e.lotName)&&void 0!==r?r:"")+""+cityssm.escapeHTML(null!==(n=e.mapName)&&void 0!==n?n:"")+""+cityssm.escapeHTML(null!==(s=e.lotType)&&void 0!==s?s:"")+""+cityssm.escapeHTML(null!==(a=e.lotStatus)&&void 0!==a?a:"")+"",o.querySelector(".button--addLot").addEventListener("click",v),t.querySelector("tbody").append(o)}}else t.innerHTML='

    There are no records that meet the search criteria.

    '})}cityssm.openHtmlModal("workOrder-addLot",{onshow(s){o.populateAliases(s),e=s.querySelector("form"),t=s.querySelector("#resultsContainer--lotAdd"),s.querySelector("#lotSearch--notWorkOrderId").value=r;const a=s.querySelector("#lotSearch--lotStatusId");for(const e of exports.lotStatuses){const t=document.createElement("option");t.value=e.lotStatusId.toString(),t.textContent=e.lotStatus,a.append(t)}n()},onshown(t){bulmaJS.toggleHtmlClipped();const o=t.querySelector("#lotSearch--lotName");o.addEventListener("change",n),o.focus(),t.querySelector("#lotSearch--lotStatusId").addEventListener("change",n),e.addEventListener("submit",n)},onremoved(){bulmaJS.toggleHtmlClipped(),document.querySelector("#button--addLot").focus()}})})}var S;Object.defineProperty(exports,"__esModule",{value:!0});let f=exports.workOrderComments;function b(e){const t=Number.parseInt(e.currentTarget.closest("tr").dataset.workOrderCommentId,10),n=f.find(e=>e.workOrderCommentId===t);let s,a;function l(e){e.preventDefault(),cityssm.postJSON(o.urlPrefix+"/workOrders/doUpdateWorkOrderComment",s,e=>{var t;e.success?(f=e.workOrderComments,a(),L()):bulmaJS.alert({title:"Error Updating Comment",message:null!==(t=e.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}cityssm.openHtmlModal("workOrder-editComment",{onshow(e){e.querySelector("#workOrderCommentEdit--workOrderId").value=r,e.querySelector("#workOrderCommentEdit--workOrderCommentId").value=t.toString(),e.querySelector("#workOrderCommentEdit--workOrderComment").value=n.workOrderComment;const o=e.querySelector("#workOrderCommentEdit--workOrderCommentDateString");o.value=n.workOrderCommentDateString;const s=cityssm.dateToString(new Date);o.max=n.workOrderCommentDateString<=s?s:n.workOrderCommentDateString,e.querySelector("#workOrderCommentEdit--workOrderCommentTimeString").value=n.workOrderCommentTimeString},onshown(e,t){bulmaJS.toggleHtmlClipped(),o.initializeDatePickers(e),e.querySelector("#workOrderCommentEdit--workOrderComment").focus(),(s=e.querySelector("form")).addEventListener("submit",l),a=t},onremoved(){bulmaJS.toggleHtmlClipped()}})}function M(e){const t=Number.parseInt(e.currentTarget.closest("tr").dataset.workOrderCommentId,10);bulmaJS.confirm({title:"Remove Comment?",message:"Are you sure you want to remove this comment?",okButton:{text:"Yes, Remove Comment",callbackFunction:function(){cityssm.postJSON(o.urlPrefix+"/workOrders/doDeleteWorkOrderComment",{workOrderId:r,workOrderCommentId:t},e=>{var t;e.success?(f=e.workOrderComments,L()):bulmaJS.alert({title:"Error Removing Comment",message:null!==(t=e.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}},contextualColorName:"warning"})}function L(){var e,t;const o=document.querySelector("#container--workOrderComments");if(0===f.length)return void(o.innerHTML='
    \n

    There are no comments to display.

    \n
    ');const r=document.createElement("table");r.className="table is-fullwidth is-striped is-hoverable",r.innerHTML='\n Commentor\n Comment Date\n Comment\n Options';for(const o of f){const n=document.createElement("tr");n.dataset.workOrderCommentId=o.workOrderCommentId.toString(),n.innerHTML=""+cityssm.escapeHTML(null!==(e=o.recordCreate_userName)&&void 0!==e?e:"")+""+o.workOrderCommentDateString+(0===o.workOrderCommentTime?"":" "+o.workOrderCommentTimePeriodString)+""+cityssm.escapeHTML(null!==(t=o.workOrderComment)&&void 0!==t?t:"")+'
    ',n.querySelector(".button--edit").addEventListener("click",b),n.querySelector(".button--delete").addEventListener("click",M),r.querySelector("tbody").append(n)}o.innerHTML="",o.append(r)}function T(e){for(const t of e.querySelectorAll(".panel-block"))t.remove()}function C(e,t){T(t),t.insertAdjacentHTML("beforeend",`
    \n ${o.getLoadingParagraphHTML("Loading conflicting milestones...")}\n
    `),cityssm.postJSON(`${o.urlPrefix}/workOrders/doGetWorkOrderMilestones`,{workOrderMilestoneDateFilter:"date",workOrderMilestoneDateString:e},o=>{var n,s,a,l;const i=o.workOrderMilestones.filter(e=>e.workOrderId.toString()!==r);T(t);for(const e of i)t.insertAdjacentHTML("beforeend",`
    \n
    \n
    \n ${cityssm.escapeHTML(0===e.workOrderMilestoneTime?"No Time":null!==(n=e.workOrderMilestoneTimePeriodString)&&void 0!==n?n:"")}
    \n ${cityssm.escapeHTML(null!==(s=e.workOrderMilestoneType)&&void 0!==s?s:"")}\n
    \n
    \n ${cityssm.escapeHTML(null!==(a=e.workOrderNumber)&&void 0!==a?a:"")}
    \n \n ${cityssm.escapeHTML(null!==(l=e.workOrderDescription)&&void 0!==l?l:"")}\n \n
    \n
    \n
    `);0===i.length&&t.insertAdjacentHTML("beforeend",`
    \n
    \n

    \n There are no milestones on other work orders scheduled for\n ${cityssm.escapeHTML(e)}.\n

    \n
    \n
    `)})}function I(e){var t;const o=e;o.success?(u=o.workOrderMilestones,A()):bulmaJS.alert({title:"Error Reopening Milestone",message:null!==(t=o.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})}function x(e){e.preventDefault();const t=cityssm.dateToString(new Date),n=Number.parseInt(e.currentTarget.closest(".container--milestone").dataset.workOrderMilestoneId,10),s=u.find(e=>e.workOrderMilestoneId===n);bulmaJS.confirm({title:"Complete Milestone",message:"Are you sure you want to complete this milestone?"+(""!==s.workOrderMilestoneDateString&&s.workOrderMilestoneDateString>t?"
    Note that this milestone is expected to be completed in the future.":""),messageIsHtml:!0,contextualColorName:"warning",okButton:{text:"Yes, Complete Milestone",callbackFunction:function(){cityssm.postJSON(`${o.urlPrefix}/workOrders/doCompleteWorkOrderMilestone`,{workOrderId:r,workOrderMilestoneId:n},I)}}})}function E(e){e.preventDefault();const t=e.currentTarget.closest(".container--milestone").dataset.workOrderMilestoneId;bulmaJS.confirm({title:"Reopen Milestone",message:"Are you sure you want to remove the completion status from this milestone, and reopen it?",contextualColorName:"warning",okButton:{text:"Yes, Reopen Milestone",callbackFunction:function(){cityssm.postJSON(o.urlPrefix+"/workOrders/doReopenWorkOrderMilestone",{workOrderId:r,workOrderMilestoneId:t},I)}}})}function D(e){e.preventDefault();const t=e.currentTarget.closest(".container--milestone").dataset.workOrderMilestoneId;bulmaJS.confirm({title:"Delete Milestone",message:"Are you sure you want to delete this milestone?",contextualColorName:"warning",okButton:{text:"Yes, Delete Milestone",callbackFunction:function(){cityssm.postJSON(`${o.urlPrefix}/workOrders/doDeleteWorkOrderMilestone`,{workOrderMilestoneId:t,workOrderId:r},I)}}})}function q(e){var t;e.preventDefault();const n=Number.parseInt(null!==(t=e.currentTarget.closest(".container--milestone").dataset.workOrderMilestoneId)&&void 0!==t?t:"",10),s=u.find(e=>e.workOrderMilestoneId===n);let a,l;function i(e){e.preventDefault(),cityssm.postJSON(`${o.urlPrefix}/workOrders/doUpdateWorkOrderMilestone`,e.currentTarget,e=>{const t=e;I(t),t.success&&a()})}cityssm.openHtmlModal("workOrder-editMilestone",{onshow(e){var t,o,n,a,i,c;e.querySelector("#milestoneEdit--workOrderId").value=r,e.querySelector("#milestoneEdit--workOrderMilestoneId").value=null!==(o=null===(t=s.workOrderMilestoneId)||void 0===t?void 0:t.toString())&&void 0!==o?o:"";const d=e.querySelector("#milestoneEdit--workOrderMilestoneTypeId");let u=!1;for(const e of exports.workOrderMilestoneTypes){const t=document.createElement("option");t.value=e.workOrderMilestoneTypeId.toString(),t.textContent=e.workOrderMilestoneType,e.workOrderMilestoneTypeId===s.workOrderMilestoneTypeId&&(t.selected=!0,u=!0),d.append(t)}if(!u&&s.workOrderMilestoneTypeId){const e=document.createElement("option");e.value=s.workOrderMilestoneTypeId.toString(),e.textContent=null!==(n=s.workOrderMilestoneType)&&void 0!==n?n:"",e.selected=!0,d.append(e)}(l=e.querySelector("#milestoneEdit--workOrderMilestoneDateString")).value=null!==(a=s.workOrderMilestoneDateString)&&void 0!==a?a:"",s.workOrderMilestoneTime&&(e.querySelector("#milestoneEdit--workOrderMilestoneTimeString").value=null!==(i=s.workOrderMilestoneTimeString)&&void 0!==i?i:""),e.querySelector("#milestoneEdit--workOrderMilestoneDescription").value=null!==(c=s.workOrderMilestoneDescription)&&void 0!==c?c:""},onshown(e,t){var r;a=t,bulmaJS.toggleHtmlClipped(),o.initializeDatePickers(e),null===(r=e.querySelector("form"))||void 0===r||r.addEventListener("submit",i);const n=document.querySelector("#milestoneEdit--conflictingMilestonesPanel");l.addEventListener("change",()=>{C(l.value,n)}),C(l.value,n)},onremoved(){bulmaJS.toggleHtmlClipped()}})}function A(){var e,t,o,r,n,s;const a=document.querySelector("#panel--milestones"),l=a.querySelectorAll(".panel-block");for(const e of l)e.remove();for(const l of u){const i=document.createElement("div");i.className="panel-block is-block container--milestone",i.dataset.workOrderMilestoneId=l.workOrderMilestoneId.toString(),i.innerHTML='
    '+(l.workOrderMilestoneCompletionDate?'':'')+'
    '+(l.workOrderMilestoneTypeId?""+cityssm.escapeHTML(null!==(e=l.workOrderMilestoneType)&&void 0!==e?e:"")+"
    ":"")+(0===l.workOrderMilestoneDate?'(No Set Date)':l.workOrderMilestoneDateString)+(l.workOrderMilestoneTime?" "+l.workOrderMilestoneTimePeriodString:"")+'
    '+cityssm.escapeHTML(null!==(t=l.workOrderMilestoneDescription)&&void 0!==t?t:"")+'
    ',null===(o=i.querySelector(".button--reopenMilestone"))||void 0===o||o.addEventListener("click",E),null===(r=i.querySelector(".button--editMilestone"))||void 0===r||r.addEventListener("click",q),null===(n=i.querySelector(".button--completeMilestone"))||void 0===n||n.addEventListener("click",x),null===(s=i.querySelector(".button--deleteMilestone"))||void 0===s||s.addEventListener("click",D),a.append(i)}bulmaJS.init(a)}delete exports.workOrderComments,null===(S=document.querySelector("#workOrderComments--add"))||void 0===S||S.addEventListener("click",function(){let e;function t(t){t.preventDefault(),cityssm.postJSON(o.urlPrefix+"/workOrders/doAddWorkOrderComment",t.currentTarget,t=>{t.success&&(f=t.workOrderComments,L(),e())})}cityssm.openHtmlModal("workOrder-addComment",{onshow(e){o.populateAliases(e),e.querySelector("#workOrderCommentAdd--workOrderId").value=r,e.querySelector("form").addEventListener("submit",t)},onshown(t,o){bulmaJS.toggleHtmlClipped(),e=o,t.querySelector("#workOrderCommentAdd--workOrderComment").focus()},onremoved(){bulmaJS.toggleHtmlClipped(),document.querySelector("#workOrderComments--add").focus()}})}),n||L(),n||(u=exports.workOrderMilestones,delete exports.workOrderMilestones,A(),null===(t=document.querySelector("#button--addMilestone"))||void 0===t||t.addEventListener("click",()=>{let e,t,n;function s(r){r&&r.preventDefault();const s=cityssm.dateToString(new Date);function a(){cityssm.postJSON(`${o.urlPrefix}/workOrders/doAddWorkOrderMilestone`,e,e=>{const t=e;I(t),t.success&&n()})}const l=t.value;""!==l&&l{C(t.value,l)}),C(t.value,l)},onremoved(){bulmaJS.toggleHtmlClipped(),document.querySelector("#button--addMilestone").focus()}})}))})(); \ No newline at end of file +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{var e,t;const o=exports.los,r=document.querySelector("#workOrderEdit--workOrderId").value,n=""===r,s=document.querySelector("#form--workOrderEdit");function a(){var e;o.setUnsavedChanges(),null===(e=document.querySelector("button[type='submit'][form='form--workOrderEdit']"))||void 0===e||e.classList.remove("is-light")}function l(){var e;o.clearUnsavedChanges(),null===(e=document.querySelector("button[type='submit'][form='form--workOrderEdit']"))||void 0===e||e.classList.add("is-light")}o.initializeDatePickers(null===(S=s.querySelector("#workOrderEdit--workOrderOpenDateString"))||void 0===S?void 0:S.closest(".field")),o.initializeUnlockFieldButtons(s),s.addEventListener("submit",e=>{e.preventDefault(),cityssm.postJSON(`${o.urlPrefix}/workOrders/${n?"doCreateWorkOrder":"doUpdateWorkOrder"}`,e.currentTarget,e=>{var t;const r=e;r.success?(l(),n?window.location.href=o.getWorkOrderURL(r.workOrderId,!0):bulmaJS.alert({message:"Work Order Updated Successfully",contextualColorName:"success"})):bulmaJS.alert({title:"Error Updating Work Order",message:null!==(t=r.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})});const i=s.querySelectorAll("input, select, textarea");for(const e of i)e.addEventListener("change",a);function d(){cityssm.postJSON(`${o.urlPrefix}/workOrders/doCloseWorkOrder`,{workOrderId:r},e=>{var t;const n=e;n.success?(l(),window.location.href=o.getWorkOrderURL(r)):bulmaJS.alert({title:"Error Closing Work Order",message:null!==(t=n.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}function c(){cityssm.postJSON(`${o.urlPrefix}/workOrders/doDeleteWorkOrder`,{workOrderId:r},e=>{var t;const r=e;r.success?(l(),window.location.href=`${o.urlPrefix}/workOrders`):bulmaJS.alert({title:"Error Deleting Work Order",message:null!==(t=r.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}let u;if(null===(m=document.querySelector("#button--closeWorkOrder"))||void 0===m||m.addEventListener("click",()=>{u.some(e=>!e.workOrderMilestoneCompletionDate)?bulmaJS.alert({title:"Outstanding Milestones",message:"You cannot close a work order with outstanding milestones.\n Either complete the outstanding milestones, or remove them from the work order.",contextualColorName:"warning"}):bulmaJS.confirm({title:"Close Work Order",message:o.hasUnsavedChanges()?"Are you sure you want to close this work order with unsaved changes?":"Are you sure you want to close this work order?",contextualColorName:o.hasUnsavedChanges()?"warning":"info",okButton:{text:"Yes, Close Work Order",callbackFunction:d}})}),null===(e=document.querySelector("#button--deleteWorkOrder"))||void 0===e||e.addEventListener("click",e=>{e.preventDefault(),bulmaJS.confirm({title:"Delete Work Order",message:"Are you sure you want to delete this work order?",contextualColorName:"warning",okButton:{text:"Yes, Delete Work Order",callbackFunction:c}})}),!n){var m;Object.defineProperty(exports,"__esModule",{value:!0});let e=exports.workOrderLots;delete exports.workOrderLots;let t=exports.workOrderLotOccupancies;function p(e){const n=e.currentTarget.closest(".container--lotOccupancy").dataset.lotOccupancyId;bulmaJS.confirm({title:`Delete ${o.escapedAliases.Occupancy} Relationship`,message:`Are you sure you want to remove the relationship to this ${o.escapedAliases.occupancy} record from this work order? Note that the record will remain.`,contextualColorName:"warning",okButton:{text:"Yes, Delete Relationship",callbackFunction:function(){cityssm.postJSON(o.urlPrefix+"/workOrders/doDeleteWorkOrderLotOccupancy",{workOrderId:r,lotOccupancyId:n},e=>{var o;const r=e;r.success?(t=r.workOrderLotOccupancies,k()):bulmaJS.alert({title:"Error Deleting Relationship",message:null!==(o=r.errorMessage)&&void 0!==o?o:"",contextualColorName:"danger"})})}}})}function y(t,n){cityssm.postJSON(o.urlPrefix+"/workOrders/doAddWorkOrderLot",{workOrderId:r,lotId:t},t=>{var r;const s=t;s.success?(e=s.workOrderLots,k()):bulmaJS.alert({title:`Error Adding ${o.escapedAliases.Lot}`,message:null!==(r=s.errorMessage)&&void 0!==r?r:"",contextualColorName:"danger"}),void 0!==n&&n(s.success)})}function O(e){y(e.currentTarget.dataset.lotId)}function h(t){const n=Number.parseInt(t.currentTarget.closest(".container--lot").dataset.lotId,10),s=e.find(e=>e.lotId===n);let a;function l(t){t.preventDefault(),cityssm.postJSON(o.urlPrefix+"/workOrders/doUpdateLotStatus",t.currentTarget,t=>{var o;const r=t;r.success?(e=r.workOrderLots,k(),a()):bulmaJS.alert({title:"Error Deleting Relationship",message:null!==(o=r.errorMessage)&&void 0!==o?o:"",contextualColorName:"danger"})})}cityssm.openHtmlModal("lot-editLotStatus",{onshow(e){o.populateAliases(e),e.querySelector("#lotStatusEdit--lotId").value=n.toString(),e.querySelector("#lotStatusEdit--lotName").value=s.lotName;const t=e.querySelector("#lotStatusEdit--lotStatusId");let a=!1;for(const e of exports.lotStatuses){const o=document.createElement("option");o.value=e.lotStatusId.toString(),o.textContent=e.lotStatus,e.lotStatusId===s.lotStatusId&&(a=!0),t.append(o)}if(!a&&s.lotStatusId){const e=document.createElement("option");e.value=s.lotStatusId.toString(),e.textContent=s.lotStatus,t.append(e)}s.lotStatusId&&(t.value=s.lotStatusId.toString()),e.querySelector("form").insertAdjacentHTML("beforeend",``)},onshown(e,t){a=t,bulmaJS.toggleHtmlClipped(),e.querySelector("form").addEventListener("submit",l)},onremoved(){bulmaJS.toggleHtmlClipped()}})}function g(t){const n=t.currentTarget.closest(".container--lot").dataset.lotId;bulmaJS.confirm({title:`Delete ${o.escapedAliases.Occupancy} Relationship`,message:`Are you sure you want to remove the relationship to this ${o.escapedAliases.occupancy} record from this work order? Note that the record will remain.`,contextualColorName:"warning",okButton:{text:"Yes, Delete Relationship",callbackFunction:function(){cityssm.postJSON(o.urlPrefix+"/workOrders/doDeleteWorkOrderLot",{workOrderId:r,lotId:n},t=>{var o;const r=t;r.success?(e=r.workOrderLots,k()):bulmaJS.alert({title:"Error Deleting Relationship",message:null!==(o=r.errorMessage)&&void 0!==o?o:"",contextualColorName:"danger"})})}}})}function k(){!function(){var r,n,s,a;const l=document.querySelector("#container--lotOccupancies");if(document.querySelector(".tabs a[href='#relatedTab--lotOccupancies'] .tag").textContent=t.length.toString(),0===t.length)return void(l.innerHTML=`
    \n

    There are no ${o.escapedAliases.occupancies} associated with this work order.

    \n
    `);l.innerHTML=`\n \n \n \n \n \n \n \n \n \n \n
    ${o.escapedAliases.Occupancy} Type${o.escapedAliases.Lot}${o.escapedAliases.OccupancyStartDate}End Date${o.escapedAliases.Occupants}
    `;const i=cityssm.dateToString(new Date);for(const d of t){const t=document.createElement("tr");t.className="container--lotOccupancy",t.dataset.lotOccupancyId=d.lotOccupancyId.toString();const c=!(d.occupancyEndDate&&d.occupancyEndDateStringd.lotId===e.lotId);t.innerHTML=''+(c?'':'')+''+cityssm.escapeHTML(null!==(r=d.occupancyType)&&void 0!==r?r:"")+"
    "+`#${d.lotOccupancyId}`+"",d.lotId?t.insertAdjacentHTML("beforeend",""+cityssm.escapeHTML(null!==(n=d.lotName)&&void 0!==n?n:"")+(u?"":' ')+""):t.insertAdjacentHTML("beforeend",`(No ${o.escapedAliases.Lot})`);let m="";for(const e of d.lotOccupancyOccupants)m+=`
  • \n \n \n \n ${cityssm.escapeHTML(e.occupantName)}\n ${cityssm.escapeHTML(e.occupantFamilyName)}\n
  • `;t.insertAdjacentHTML("beforeend",""+d.occupancyStartDateString+""+(d.occupancyEndDate?d.occupancyEndDateString:'(No End Date)')+""+(0===d.lotOccupancyOccupants.length?`(No ${o.escapedAliases.Occupants})`:`
      ${m}
    `)+''),null===(a=t.querySelector(".button--addLot"))||void 0===a||a.addEventListener("click",O),t.querySelector(".button--deleteLotOccupancy").addEventListener("click",p),l.querySelector("tbody").append(t)}}(),function(){var t,r,n,s;const a=document.querySelector("#container--lots");if(document.querySelector(".tabs a[href='#relatedTab--lots'] .tag").textContent=e.length.toString(),0!==e.length){a.innerHTML=`\n \n \n \n \n \n \n \n \n
    ${o.escapedAliases.Lot}${o.escapedAliases.Map}${o.escapedAliases.Lot} TypeStatus
    `;for(const l of e){const e=document.createElement("tr");e.className="container--lot",e.dataset.lotId=l.lotId.toString(),e.innerHTML=''+cityssm.escapeHTML(null!==(t=l.lotName)&&void 0!==t?t:"")+""+`${cityssm.escapeHTML(null!==(r=l.mapName)&&void 0!==r?r:"")}`+`${cityssm.escapeHTML(null!==(n=l.lotType)&&void 0!==n?n:"")}`+""+(l.lotStatusId?cityssm.escapeHTML(null!==(s=l.lotStatus)&&void 0!==s?s:""):'(No Status)')+'\n \n \n ',e.querySelector(".button--editLotStatus").addEventListener("click",h),e.querySelector(".button--deleteLot").addEventListener("click",g),a.querySelector("tbody").append(e)}}else a.innerHTML=`
    \n

    There are no ${o.escapedAliases.lots} associated with this work order.

    \n
    `}()}function v(e){const n=e.currentTarget.closest("tr");!function(e,n){cityssm.postJSON(o.urlPrefix+"/workOrders/doAddWorkOrderLotOccupancy",{workOrderId:r,lotOccupancyId:e},e=>{var r;const s=e;s.success?(t=s.workOrderLotOccupancies,k()):bulmaJS.alert({title:"Error Adding "+o.escapedAliases.Occupancy,message:null!==(r=s.errorMessage)&&void 0!==r?r:"",contextualColorName:"danger"}),void 0!==n&&n(s.success)})}(n.dataset.lotOccupancyId,e=>{e&&n.remove()})}function w(e){const t=e.currentTarget.closest("tr");y(t.dataset.lotId,e=>{e&&t.remove()})}delete exports.workOrderLotOccupancies,k(),null===(S=document.querySelector("#button--addLotOccupancy"))||void 0===S||S.addEventListener("click",()=>{let e,t;function n(r){r&&r.preventDefault(),t.innerHTML=o.getLoadingParagraphHTML("Searching..."),cityssm.postJSON(o.urlPrefix+"/lotOccupancies/doSearchLotOccupancies",e,e=>{var r,n;const s=e;if(0!==s.lotOccupancies.length){t.innerHTML=`\n \n \n \n \n \n \n \n \n \n
    ${o.escapedAliases.Occupancy} Type${o.escapedAliases.Lot}${o.escapedAliases.OccupancyStartDate}End Date${o.escapedAliases.Occupants}
    `;for(const e of s.lotOccupancies){const s=document.createElement("tr");s.className="container--lotOccupancy",s.dataset.lotOccupancyId=e.lotOccupancyId.toString(),s.innerHTML=`\n \n \n \n ${cityssm.escapeHTML(null!==(r=e.occupancyType)&&void 0!==r?r:"")}\n `,e.lotId?s.insertAdjacentHTML("beforeend",""+cityssm.escapeHTML(null!==(n=e.lotName)&&void 0!==n?n:"")+""):s.insertAdjacentHTML("beforeend",`(No ${o.escapedAliases.Lot})`),s.insertAdjacentHTML("beforeend",`${e.occupancyStartDateString}`+""+(e.occupancyEndDate?e.occupancyEndDateString:'(No End Date)')+""+(0===e.lotOccupancyOccupants.length?`(No ${cityssm.escapeHTML(o.escapedAliases.Occupants)})`:cityssm.escapeHTML(e.lotOccupancyOccupants[0].occupantName+" "+e.lotOccupancyOccupants[0].occupantFamilyName)+(e.lotOccupancyOccupants.length>1?" plus "+(e.lotOccupancyOccupants.length-1).toString():""))+""),s.querySelector(".button--addLotOccupancy").addEventListener("click",v),t.querySelector("tbody").append(s)}}else t.innerHTML='
    \n

    There are no records that meet the search criteria.

    \n
    '})}cityssm.openHtmlModal("workOrder-addLotOccupancy",{onshow(s){o.populateAliases(s),e=s.querySelector("form"),t=s.querySelector("#resultsContainer--lotOccupancyAdd"),s.querySelector("#lotOccupancySearch--notWorkOrderId").value=r,s.querySelector("#lotOccupancySearch--occupancyEffectiveDateString").value=document.querySelector("#workOrderEdit--workOrderOpenDateString").value,n()},onshown(t){bulmaJS.toggleHtmlClipped();const o=t.querySelector("#lotOccupancySearch--occupantName");o.addEventListener("change",n),o.focus(),t.querySelector("#lotOccupancySearch--lotName").addEventListener("change",n),e.addEventListener("submit",n)},onremoved(){bulmaJS.toggleHtmlClipped(),document.querySelector("#button--addLotOccupancy").focus()}})}),null===(m=document.querySelector("#button--addLot"))||void 0===m||m.addEventListener("click",()=>{let e,t;function n(r){r&&r.preventDefault(),t.innerHTML=o.getLoadingParagraphHTML("Searching..."),cityssm.postJSON(o.urlPrefix+"/lots/doSearchLots",e,e=>{var r,n,s,a;const l=e;if(0!==l.lots.length){t.innerHTML=`\n \n \n \n \n \n \n \n \n
    ${o.escapedAliases.Lot}${o.escapedAliases.Map}${o.escapedAliases.Lot} TypeStatus
    `;for(const e of l.lots){const o=document.createElement("tr");o.className="container--lot",o.dataset.lotId=e.lotId.toString(),o.innerHTML=''+cityssm.escapeHTML(null!==(r=e.lotName)&&void 0!==r?r:"")+""+cityssm.escapeHTML(null!==(n=e.mapName)&&void 0!==n?n:"")+""+cityssm.escapeHTML(null!==(s=e.lotType)&&void 0!==s?s:"")+""+cityssm.escapeHTML(null!==(a=e.lotStatus)&&void 0!==a?a:"")+"",o.querySelector(".button--addLot").addEventListener("click",w),t.querySelector("tbody").append(o)}}else t.innerHTML='

    There are no records that meet the search criteria.

    '})}cityssm.openHtmlModal("workOrder-addLot",{onshow(s){o.populateAliases(s),e=s.querySelector("form"),t=s.querySelector("#resultsContainer--lotAdd"),s.querySelector("#lotSearch--notWorkOrderId").value=r;const a=s.querySelector("#lotSearch--lotStatusId");for(const e of exports.lotStatuses){const t=document.createElement("option");t.value=e.lotStatusId.toString(),t.textContent=e.lotStatus,a.append(t)}n()},onshown(t){bulmaJS.toggleHtmlClipped();const o=t.querySelector("#lotSearch--lotName");o.addEventListener("change",n),o.focus(),t.querySelector("#lotSearch--lotStatusId").addEventListener("change",n),e.addEventListener("submit",n)},onremoved(){bulmaJS.toggleHtmlClipped(),document.querySelector("#button--addLot").focus()}})})}var S;Object.defineProperty(exports,"__esModule",{value:!0});let f=exports.workOrderComments;function b(e){const t=Number.parseInt(e.currentTarget.closest("tr").dataset.workOrderCommentId,10),n=f.find(e=>e.workOrderCommentId===t);let s,a;function l(e){e.preventDefault(),cityssm.postJSON(o.urlPrefix+"/workOrders/doUpdateWorkOrderComment",s,e=>{var t;e.success?(f=e.workOrderComments,a(),L()):bulmaJS.alert({title:"Error Updating Comment",message:null!==(t=e.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}cityssm.openHtmlModal("workOrder-editComment",{onshow(e){e.querySelector("#workOrderCommentEdit--workOrderId").value=r,e.querySelector("#workOrderCommentEdit--workOrderCommentId").value=t.toString(),e.querySelector("#workOrderCommentEdit--workOrderComment").value=n.workOrderComment;const o=e.querySelector("#workOrderCommentEdit--workOrderCommentDateString");o.value=n.workOrderCommentDateString;const s=cityssm.dateToString(new Date);o.max=n.workOrderCommentDateString<=s?s:n.workOrderCommentDateString,e.querySelector("#workOrderCommentEdit--workOrderCommentTimeString").value=n.workOrderCommentTimeString},onshown(e,t){bulmaJS.toggleHtmlClipped(),o.initializeDatePickers(e),e.querySelector("#workOrderCommentEdit--workOrderComment").focus(),(s=e.querySelector("form")).addEventListener("submit",l),a=t},onremoved(){bulmaJS.toggleHtmlClipped()}})}function M(e){const t=Number.parseInt(e.currentTarget.closest("tr").dataset.workOrderCommentId,10);bulmaJS.confirm({title:"Remove Comment?",message:"Are you sure you want to remove this comment?",okButton:{text:"Yes, Remove Comment",callbackFunction:function(){cityssm.postJSON(o.urlPrefix+"/workOrders/doDeleteWorkOrderComment",{workOrderId:r,workOrderCommentId:t},e=>{var t;e.success?(f=e.workOrderComments,L()):bulmaJS.alert({title:"Error Removing Comment",message:null!==(t=e.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}},contextualColorName:"warning"})}function L(){var e,t;const o=document.querySelector("#container--workOrderComments");if(0===f.length)return void(o.innerHTML='
    \n

    There are no comments to display.

    \n
    ');const r=document.createElement("table");r.className="table is-fullwidth is-striped is-hoverable",r.innerHTML='\n Commentor\n Comment Date\n Comment\n Options';for(const o of f){const n=document.createElement("tr");n.dataset.workOrderCommentId=o.workOrderCommentId.toString(),n.innerHTML=""+cityssm.escapeHTML(null!==(e=o.recordCreate_userName)&&void 0!==e?e:"")+""+o.workOrderCommentDateString+(0===o.workOrderCommentTime?"":" "+o.workOrderCommentTimePeriodString)+""+cityssm.escapeHTML(null!==(t=o.workOrderComment)&&void 0!==t?t:"")+'
    ',n.querySelector(".button--edit").addEventListener("click",b),n.querySelector(".button--delete").addEventListener("click",M),r.querySelector("tbody").append(n)}o.innerHTML="",o.append(r)}function T(e){for(const t of e.querySelectorAll(".panel-block"))t.remove()}function C(e,t){T(t),t.insertAdjacentHTML("beforeend",`
    \n ${o.getLoadingParagraphHTML("Loading conflicting milestones...")}\n
    `),cityssm.postJSON(`${o.urlPrefix}/workOrders/doGetWorkOrderMilestones`,{workOrderMilestoneDateFilter:"date",workOrderMilestoneDateString:e},o=>{var n,s,a,l;const i=o.workOrderMilestones.filter(e=>e.workOrderId.toString()!==r);T(t);for(const e of i)t.insertAdjacentHTML("beforeend",`
    \n
    \n
    \n ${cityssm.escapeHTML(0===e.workOrderMilestoneTime?"No Time":null!==(n=e.workOrderMilestoneTimePeriodString)&&void 0!==n?n:"")}
    \n ${cityssm.escapeHTML(null!==(s=e.workOrderMilestoneType)&&void 0!==s?s:"")}\n
    \n
    \n ${cityssm.escapeHTML(null!==(a=e.workOrderNumber)&&void 0!==a?a:"")}
    \n \n ${cityssm.escapeHTML(null!==(l=e.workOrderDescription)&&void 0!==l?l:"")}\n \n
    \n
    \n
    `);0===i.length&&t.insertAdjacentHTML("beforeend",`
    \n
    \n

    \n There are no milestones on other work orders scheduled for\n ${cityssm.escapeHTML(e)}.\n

    \n
    \n
    `)})}function I(e){var t;const o=e;o.success?(u=o.workOrderMilestones,A()):bulmaJS.alert({title:"Error Reopening Milestone",message:null!==(t=o.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})}function x(e){var t;e.preventDefault();const n=cityssm.dateToString(new Date),s=Number.parseInt(null!==(t=e.currentTarget.closest(".container--milestone").dataset.workOrderMilestoneId)&&void 0!==t?t:"",10),a=u.find(e=>e.workOrderMilestoneId===s);bulmaJS.confirm({title:"Complete Milestone",message:"Are you sure you want to complete this milestone?"+(void 0!==a.workOrderMilestoneDateString&&""!==a.workOrderMilestoneDateString&&a.workOrderMilestoneDateString>n?"
    Note that this milestone is expected to be completed in the future.":""),messageIsHtml:!0,contextualColorName:"warning",okButton:{text:"Yes, Complete Milestone",callbackFunction:function(){cityssm.postJSON(`${o.urlPrefix}/workOrders/doCompleteWorkOrderMilestone`,{workOrderId:r,workOrderMilestoneId:s},I)}}})}function E(e){e.preventDefault();const t=e.currentTarget.closest(".container--milestone").dataset.workOrderMilestoneId;bulmaJS.confirm({title:"Reopen Milestone",message:"Are you sure you want to remove the completion status from this milestone, and reopen it?",contextualColorName:"warning",okButton:{text:"Yes, Reopen Milestone",callbackFunction:function(){cityssm.postJSON(o.urlPrefix+"/workOrders/doReopenWorkOrderMilestone",{workOrderId:r,workOrderMilestoneId:t},I)}}})}function D(e){e.preventDefault();const t=e.currentTarget.closest(".container--milestone").dataset.workOrderMilestoneId;bulmaJS.confirm({title:"Delete Milestone",message:"Are you sure you want to delete this milestone?",contextualColorName:"warning",okButton:{text:"Yes, Delete Milestone",callbackFunction:function(){cityssm.postJSON(`${o.urlPrefix}/workOrders/doDeleteWorkOrderMilestone`,{workOrderMilestoneId:t,workOrderId:r},I)}}})}function q(e){var t;e.preventDefault();const n=Number.parseInt(null!==(t=e.currentTarget.closest(".container--milestone").dataset.workOrderMilestoneId)&&void 0!==t?t:"",10),s=u.find(e=>e.workOrderMilestoneId===n);let a,l;function i(e){e.preventDefault(),cityssm.postJSON(`${o.urlPrefix}/workOrders/doUpdateWorkOrderMilestone`,e.currentTarget,e=>{const t=e;I(t),t.success&&a()})}cityssm.openHtmlModal("workOrder-editMilestone",{onshow(e){var t,o,n,a,i,d;e.querySelector("#milestoneEdit--workOrderId").value=r,e.querySelector("#milestoneEdit--workOrderMilestoneId").value=null!==(o=null===(t=s.workOrderMilestoneId)||void 0===t?void 0:t.toString())&&void 0!==o?o:"";const c=e.querySelector("#milestoneEdit--workOrderMilestoneTypeId");let u=!1;for(const e of exports.workOrderMilestoneTypes){const t=document.createElement("option");t.value=e.workOrderMilestoneTypeId.toString(),t.textContent=e.workOrderMilestoneType,e.workOrderMilestoneTypeId===s.workOrderMilestoneTypeId&&(t.selected=!0,u=!0),c.append(t)}if(!u&&s.workOrderMilestoneTypeId){const e=document.createElement("option");e.value=s.workOrderMilestoneTypeId.toString(),e.textContent=null!==(n=s.workOrderMilestoneType)&&void 0!==n?n:"",e.selected=!0,c.append(e)}(l=e.querySelector("#milestoneEdit--workOrderMilestoneDateString")).value=null!==(a=s.workOrderMilestoneDateString)&&void 0!==a?a:"",s.workOrderMilestoneTime&&(e.querySelector("#milestoneEdit--workOrderMilestoneTimeString").value=null!==(i=s.workOrderMilestoneTimeString)&&void 0!==i?i:""),e.querySelector("#milestoneEdit--workOrderMilestoneDescription").value=null!==(d=s.workOrderMilestoneDescription)&&void 0!==d?d:""},onshown(e,t){var r;a=t,bulmaJS.toggleHtmlClipped(),o.initializeDatePickers(e),null===(r=e.querySelector("form"))||void 0===r||r.addEventListener("submit",i);const n=document.querySelector("#milestoneEdit--conflictingMilestonesPanel");l.addEventListener("change",()=>{C(l.value,n)}),C(l.value,n)},onremoved(){bulmaJS.toggleHtmlClipped()}})}function A(){var e,t,o,r,n,s,a;const l=document.querySelector("#panel--milestones"),i=l.querySelectorAll(".panel-block");for(const e of i)e.remove();for(const i of u){const d=document.createElement("div");d.className="panel-block is-block container--milestone",d.dataset.workOrderMilestoneId=null===(e=i.workOrderMilestoneId)||void 0===e?void 0:e.toString(),d.innerHTML='
    '+(i.workOrderMilestoneCompletionDate?'':'')+'
    '+(i.workOrderMilestoneTypeId?""+cityssm.escapeHTML(null!==(t=i.workOrderMilestoneType)&&void 0!==t?t:"")+"
    ":"")+(0===i.workOrderMilestoneDate?'(No Set Date)':i.workOrderMilestoneDateString)+(i.workOrderMilestoneTime?" "+i.workOrderMilestoneTimePeriodString:"")+'
    '+cityssm.escapeHTML(null!==(o=i.workOrderMilestoneDescription)&&void 0!==o?o:"")+'
    ',null===(r=d.querySelector(".button--reopenMilestone"))||void 0===r||r.addEventListener("click",E),null===(n=d.querySelector(".button--editMilestone"))||void 0===n||n.addEventListener("click",q),null===(s=d.querySelector(".button--completeMilestone"))||void 0===s||s.addEventListener("click",x),null===(a=d.querySelector(".button--deleteMilestone"))||void 0===a||a.addEventListener("click",D),l.append(d)}bulmaJS.init(l)}delete exports.workOrderComments,null===(S=document.querySelector("#workOrderComments--add"))||void 0===S||S.addEventListener("click",function(){let e;function t(t){t.preventDefault(),cityssm.postJSON(o.urlPrefix+"/workOrders/doAddWorkOrderComment",t.currentTarget,t=>{t.success&&(f=t.workOrderComments,L(),e())})}cityssm.openHtmlModal("workOrder-addComment",{onshow(e){o.populateAliases(e),e.querySelector("#workOrderCommentAdd--workOrderId").value=r,e.querySelector("form").addEventListener("submit",t)},onshown(t,o){bulmaJS.toggleHtmlClipped(),e=o,t.querySelector("#workOrderCommentAdd--workOrderComment").focus()},onremoved(){bulmaJS.toggleHtmlClipped(),document.querySelector("#workOrderComments--add").focus()}})}),n||L(),n||(u=exports.workOrderMilestones,delete exports.workOrderMilestones,A(),null===(t=document.querySelector("#button--addMilestone"))||void 0===t||t.addEventListener("click",()=>{let e,t,n;function s(r){r&&r.preventDefault();const s=cityssm.dateToString(new Date);function a(){cityssm.postJSON(`${o.urlPrefix}/workOrders/doAddWorkOrderMilestone`,e,e=>{const t=e;I(t),t.success&&n()})}const l=t.value;""!==l&&l{C(t.value,l)}),C(t.value,l)},onremoved(){bulmaJS.toggleHtmlClipped(),document.querySelector("#button--addMilestone").focus()}})}))})(); \ No newline at end of file