diff --git a/helpers/initializer.database.js b/helpers/initializer.database.js index 0a2ecd9d..3911b7d6 100644 --- a/helpers/initializer.database.js +++ b/helpers/initializer.database.js @@ -40,7 +40,26 @@ const createStatements = [ `create table if not exists LotOccupancyComments (lotOccupancyCommentId integer not null primary key autoincrement, lotOccupancyId integer not null, lotOccupancyCommentDate integer not null check (lotOccupancyCommentDate > 0), lotOccupancyCommentTime integer not null check (lotOccupancyCommentTime >= 0), lotOccupancyComment text not null, ${recordColumns}, foreign key (lotOccupancyId) references LotOccupancies (lotOccupancyId))`, 'create index if not exists idx_lotoccupancycomments_datetime on LotOccupancyComments (lotOccupancyId, lotOccupancyCommentDate, lotOccupancyCommentTime)', `create table if not exists FeeCategories (feeCategoryId integer not null primary key autoincrement, feeCategory varchar(100) not null, orderNumber smallint not null default 0, ${recordColumns})`, - `create table if not exists Fees (feeId integer not null primary key autoincrement, feeCategoryId integer not null, feeName varchar(100) not null, feeDescription text, occupancyTypeId integer, lotTypeId integer, includeQuantity boolean not null default 0, quantityUnit varchar(30), feeAmount decimal(8, 2), feeFunction varchar(100), taxAmount decimal(6, 2), taxPercentage decimal(5, 2), isRequired bit not null default 0, orderNumber smallint not null default 0, ${recordColumns}, foreign key (feeCategoryId) references FeeCategories (feeCategoryId), foreign key (occupancyTypeId) references OccupancyTypes (occupancyTypeId), foreign key (lotTypeId) references LotTypes (lotTypeId))`, + `create table if not exists Fees ( + feeId integer not null primary key autoincrement, + feeCategoryId integer not null, + feeName varchar(100) not null, + feeDescription text, + feeAccount varchar(20), + occupancyTypeId integer, + lotTypeId integer, + includeQuantity boolean not null default 0, + quantityUnit varchar(30), + feeAmount decimal(8, 2), + feeFunction varchar(100), + taxAmount decimal(6, 2), + taxPercentage decimal(5, 2), + isRequired bit not null default 0, + orderNumber smallint not null default 0, + ${recordColumns}, + foreign key (feeCategoryId) references FeeCategories (feeCategoryId), + foreign key (occupancyTypeId) references OccupancyTypes (occupancyTypeId), + foreign key (lotTypeId) references LotTypes (lotTypeId))`, 'create index if not exists idx_fees_ordernumber on Fees (orderNumber, feeName)', `create table if not exists LotOccupancyFees (lotOccupancyId integer not null, feeId integer not null, quantity decimal(4, 1) not null default 1, feeAmount decimal(8, 2) not null, taxAmount decmial(8, 2) not null, ${recordColumns}, primary key (lotOccupancyId, feeId), foreign key (lotOccupancyId) references LotOccupancies (lotOccupancyId), foreign key (feeId) references Fees (feeId)) without rowid`, `create table if not exists LotOccupancyTransactions (lotOccupancyId integer not null, transactionIndex integer not null, transactionDate integer not null check (transactionDate > 0), transactionTime integer not null check (transactionTime >= 0), transactionAmount decimal(8, 2) not null, externalReceiptNumber varchar(100), transactionNote text, ${recordColumns}, primary key (lotOccupancyId, transactionIndex), foreign key (lotOccupancyId) references LotOccupancies (lotOccupancyId)) without rowid`, diff --git a/helpers/initializer.database.ts b/helpers/initializer.database.ts index cb514447..ba6e8bff 100644 --- a/helpers/initializer.database.ts +++ b/helpers/initializer.database.ts @@ -53,7 +53,26 @@ const createStatements = [ // Fees and Transactions `create table if not exists FeeCategories (feeCategoryId integer not null primary key autoincrement, feeCategory varchar(100) not null, orderNumber smallint not null default 0, ${recordColumns})`, - `create table if not exists Fees (feeId integer not null primary key autoincrement, feeCategoryId integer not null, feeName varchar(100) not null, feeDescription text, occupancyTypeId integer, lotTypeId integer, includeQuantity boolean not null default 0, quantityUnit varchar(30), feeAmount decimal(8, 2), feeFunction varchar(100), taxAmount decimal(6, 2), taxPercentage decimal(5, 2), isRequired bit not null default 0, orderNumber smallint not null default 0, ${recordColumns}, foreign key (feeCategoryId) references FeeCategories (feeCategoryId), foreign key (occupancyTypeId) references OccupancyTypes (occupancyTypeId), foreign key (lotTypeId) references LotTypes (lotTypeId))`, + `create table if not exists Fees ( + feeId integer not null primary key autoincrement, + feeCategoryId integer not null, + feeName varchar(100) not null, + feeDescription text, + feeAccount varchar(20), + occupancyTypeId integer, + lotTypeId integer, + includeQuantity boolean not null default 0, + quantityUnit varchar(30), + feeAmount decimal(8, 2), + feeFunction varchar(100), + taxAmount decimal(6, 2), + taxPercentage decimal(5, 2), + isRequired bit not null default 0, + orderNumber smallint not null default 0, + ${recordColumns}, + foreign key (feeCategoryId) references FeeCategories (feeCategoryId), + foreign key (occupancyTypeId) references OccupancyTypes (occupancyTypeId), + foreign key (lotTypeId) references LotTypes (lotTypeId))`, 'create index if not exists idx_fees_ordernumber on Fees (orderNumber, feeName)', `create table if not exists LotOccupancyFees (lotOccupancyId integer not null, feeId integer not null, quantity decimal(4, 1) not null default 1, feeAmount decimal(8, 2) not null, taxAmount decmial(8, 2) not null, ${recordColumns}, primary key (lotOccupancyId, feeId), foreign key (lotOccupancyId) references LotOccupancies (lotOccupancyId), foreign key (feeId) references Fees (feeId)) without rowid`, `create table if not exists LotOccupancyTransactions (lotOccupancyId integer not null, transactionIndex integer not null, transactionDate integer not null check (transactionDate > 0), transactionTime integer not null check (transactionTime >= 0), transactionAmount decimal(8, 2) not null, externalReceiptNumber varchar(100), transactionNote text, ${recordColumns}, primary key (lotOccupancyId, transactionIndex), foreign key (lotOccupancyId) references LotOccupancies (lotOccupancyId)) without rowid`, diff --git a/helpers/lotOccupancyDB/addFee.d.ts b/helpers/lotOccupancyDB/addFee.d.ts index f6a605dc..86232e70 100644 --- a/helpers/lotOccupancyDB/addFee.d.ts +++ b/helpers/lotOccupancyDB/addFee.d.ts @@ -3,6 +3,7 @@ interface AddFeeForm { feeCategoryId: string; feeName: string; feeDescription: string; + feeAccount: string; occupancyTypeId: string; lotTypeId: string; feeAmount?: string; diff --git a/helpers/lotOccupancyDB/addFee.js b/helpers/lotOccupancyDB/addFee.js index 50965365..99cd1857 100644 --- a/helpers/lotOccupancyDB/addFee.js +++ b/helpers/lotOccupancyDB/addFee.js @@ -5,7 +5,7 @@ export async function addFee(feeForm, requestSession) { const result = database .prepare(`insert into Fees ( feeCategoryId, - feeName, feeDescription, + feeName, feeDescription, feeAccount, occupancyTypeId, lotTypeId, feeAmount, feeFunction, taxAmount, taxPercentage, @@ -13,8 +13,8 @@ export async function addFee(feeForm, requestSession) { isRequired, orderNumber, recordCreate_userName, recordCreate_timeMillis, recordUpdate_userName, recordUpdate_timeMillis) - values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`) - .run(feeForm.feeCategoryId, feeForm.feeName, feeForm.feeDescription, feeForm.occupancyTypeId === '' ? undefined : feeForm.occupancyTypeId, feeForm.lotTypeId === '' ? undefined : feeForm.lotTypeId, feeForm.feeAmount ?? undefined, feeForm.feeFunction ?? undefined, feeForm.taxAmount ?? undefined, feeForm.taxPercentage ?? undefined, (feeForm.includeQuantity ?? '') === '' ? 0 : 1, feeForm.quantityUnit, (feeForm.isRequired ?? '') === '' ? 0 : 1, feeForm.orderNumber ?? -1, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis); + values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`) + .run(feeForm.feeCategoryId, feeForm.feeName, feeForm.feeDescription, feeForm.feeAccount, feeForm.occupancyTypeId === '' ? undefined : feeForm.occupancyTypeId, feeForm.lotTypeId === '' ? undefined : feeForm.lotTypeId, feeForm.feeAmount ?? undefined, feeForm.feeFunction ?? undefined, feeForm.taxAmount ?? undefined, feeForm.taxPercentage ?? undefined, (feeForm.includeQuantity ?? '') === '' ? 0 : 1, feeForm.quantityUnit, (feeForm.isRequired ?? '') === '' ? 0 : 1, feeForm.orderNumber ?? -1, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis); database.release(); return result.lastInsertRowid; } diff --git a/helpers/lotOccupancyDB/addFee.ts b/helpers/lotOccupancyDB/addFee.ts index 8640e7b0..e14648dc 100644 --- a/helpers/lotOccupancyDB/addFee.ts +++ b/helpers/lotOccupancyDB/addFee.ts @@ -8,6 +8,7 @@ interface AddFeeForm { feeCategoryId: string feeName: string feeDescription: string + feeAccount: string occupancyTypeId: string lotTypeId: string feeAmount?: string @@ -32,7 +33,7 @@ export async function addFee( .prepare( `insert into Fees ( feeCategoryId, - feeName, feeDescription, + feeName, feeDescription, feeAccount, occupancyTypeId, lotTypeId, feeAmount, feeFunction, taxAmount, taxPercentage, @@ -40,12 +41,13 @@ export async function addFee( isRequired, orderNumber, recordCreate_userName, recordCreate_timeMillis, recordUpdate_userName, recordUpdate_timeMillis) - values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)` + values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)` ) .run( feeForm.feeCategoryId, feeForm.feeName, feeForm.feeDescription, + feeForm.feeAccount, feeForm.occupancyTypeId === '' ? undefined : feeForm.occupancyTypeId, feeForm.lotTypeId === '' ? undefined : feeForm.lotTypeId, feeForm.feeAmount ?? undefined, diff --git a/helpers/lotOccupancyDB/getFee.js b/helpers/lotOccupancyDB/getFee.js index 9db2e516..0cc360e8 100644 --- a/helpers/lotOccupancyDB/getFee.js +++ b/helpers/lotOccupancyDB/getFee.js @@ -4,7 +4,7 @@ export async function getFee(feeId, connectedDatabase) { const fee = database .prepare(`select f.feeId, f.feeCategoryId, c.feeCategory, - f.feeName, f.feeDescription, + f.feeName, f.feeDescription, f.feeAccount, f.occupancyTypeId, o.occupancyType, f.lotTypeId, l.lotType, ifnull(f.feeAmount, 0) as feeAmount, f.feeFunction, diff --git a/helpers/lotOccupancyDB/getFee.ts b/helpers/lotOccupancyDB/getFee.ts index 4b25d3bb..dc0c6ce1 100644 --- a/helpers/lotOccupancyDB/getFee.ts +++ b/helpers/lotOccupancyDB/getFee.ts @@ -13,7 +13,7 @@ export async function getFee( .prepare( `select f.feeId, f.feeCategoryId, c.feeCategory, - f.feeName, f.feeDescription, + f.feeName, f.feeDescription, f.feeAccount, f.occupancyTypeId, o.occupancyType, f.lotTypeId, l.lotType, ifnull(f.feeAmount, 0) as feeAmount, f.feeFunction, diff --git a/helpers/lotOccupancyDB/getFees.js b/helpers/lotOccupancyDB/getFees.js index bc40a867..bd4351c2 100644 --- a/helpers/lotOccupancyDB/getFees.js +++ b/helpers/lotOccupancyDB/getFees.js @@ -15,7 +15,8 @@ export async function getFees(feeCategoryId, additionalFilters, connectedDatabas sqlParameters.push(additionalFilters.lotTypeId); } const fees = database - .prepare(`select f.feeId, f.feeName, f.feeDescription, + .prepare(`select f.feeId, + f.feeName, f.feeDescription, f.feeAccount, f.occupancyTypeId, o.occupancyType, f.lotTypeId, l.lotType, ifnull(f.feeAmount, 0) as feeAmount, diff --git a/helpers/lotOccupancyDB/getFees.ts b/helpers/lotOccupancyDB/getFees.ts index 9178f3b8..92a47083 100644 --- a/helpers/lotOccupancyDB/getFees.ts +++ b/helpers/lotOccupancyDB/getFees.ts @@ -41,7 +41,8 @@ export async function getFees( const fees = database .prepare( - `select f.feeId, f.feeName, f.feeDescription, + `select f.feeId, + f.feeName, f.feeDescription, f.feeAccount, f.occupancyTypeId, o.occupancyType, f.lotTypeId, l.lotType, ifnull(f.feeAmount, 0) as feeAmount, diff --git a/helpers/lotOccupancyDB/updateFee.d.ts b/helpers/lotOccupancyDB/updateFee.d.ts index 4f3cc663..9e183f6c 100644 --- a/helpers/lotOccupancyDB/updateFee.d.ts +++ b/helpers/lotOccupancyDB/updateFee.d.ts @@ -4,6 +4,7 @@ interface UpdateFeeForm { feeCategoryId: string; feeName: string; feeDescription: string; + feeAccount: string; occupancyTypeId: string; lotTypeId: string; feeAmount?: string; diff --git a/helpers/lotOccupancyDB/updateFee.js b/helpers/lotOccupancyDB/updateFee.js index 5fd36e5e..d9e0a75d 100644 --- a/helpers/lotOccupancyDB/updateFee.js +++ b/helpers/lotOccupancyDB/updateFee.js @@ -6,6 +6,7 @@ export async function updateFee(feeForm, requestSession) { set feeCategoryId = ?, feeName = ?, feeDescription = ?, + feeAccount = ?, occupancyTypeId = ?, lotTypeId = ?, feeAmount = ?, @@ -19,7 +20,7 @@ export async function updateFee(feeForm, requestSession) { recordUpdate_timeMillis = ? where recordDelete_timeMillis is null and feeId = ?`) - .run(feeForm.feeCategoryId, feeForm.feeName, feeForm.feeDescription, feeForm.occupancyTypeId === '' ? undefined : feeForm.occupancyTypeId, feeForm.lotTypeId === '' ? undefined : feeForm.lotTypeId, feeForm.feeAmount === undefined || feeForm.feeAmount === '' + .run(feeForm.feeCategoryId, feeForm.feeName, feeForm.feeDescription, feeForm.feeAccount, feeForm.occupancyTypeId === '' ? undefined : feeForm.occupancyTypeId, feeForm.lotTypeId === '' ? undefined : feeForm.lotTypeId, feeForm.feeAmount === undefined || feeForm.feeAmount === '' ? 0 : feeForm.feeAmount, feeForm.feeFunction ?? undefined, feeForm.taxAmount ?? undefined, feeForm.taxPercentage ?? undefined, feeForm.includeQuantity === '' ? 0 : 1, feeForm.quantityUnit, feeForm.isRequired === '' ? 0 : 1, requestSession.user.userName, Date.now(), feeForm.feeId); database.release(); diff --git a/helpers/lotOccupancyDB/updateFee.ts b/helpers/lotOccupancyDB/updateFee.ts index e2fa0d08..198c6d59 100644 --- a/helpers/lotOccupancyDB/updateFee.ts +++ b/helpers/lotOccupancyDB/updateFee.ts @@ -7,6 +7,7 @@ interface UpdateFeeForm { feeCategoryId: string feeName: string feeDescription: string + feeAccount: string occupancyTypeId: string lotTypeId: string feeAmount?: string @@ -30,6 +31,7 @@ export async function updateFee( set feeCategoryId = ?, feeName = ?, feeDescription = ?, + feeAccount = ?, occupancyTypeId = ?, lotTypeId = ?, feeAmount = ?, @@ -48,6 +50,7 @@ export async function updateFee( feeForm.feeCategoryId, feeForm.feeName, feeForm.feeDescription, + feeForm.feeAccount, feeForm.occupancyTypeId === '' ? undefined : feeForm.occupancyTypeId, feeForm.lotTypeId === '' ? undefined : feeForm.lotTypeId, feeForm.feeAmount === undefined || feeForm.feeAmount === '' diff --git a/public-typescript/adminFees.js b/public-typescript/adminFees.js index cb2790af..876fec13 100644 --- a/public-typescript/adminFees.js +++ b/public-typescript/adminFees.js @@ -515,7 +515,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); } cityssm.openHtmlModal('adminFees-editFee', { onshow(modalElement) { - var _a, _b, _c; + var _a, _b, _c, _d, _e, _f; editModalElement = modalElement; modalElement.querySelector('#feeEdit--feeId').value = fee.feeId.toString(); const feeCategoryElement = modalElement.querySelector('#feeEdit--feeCategoryId'); @@ -529,8 +529,9 @@ Object.defineProperty(exports, "__esModule", { value: true }); feeCategoryElement.append(optionElement); } ; - modalElement.querySelector('#feeEdit--feeName').value = fee.feeName; - modalElement.querySelector('#feeEdit--feeDescription').value = fee.feeDescription; + modalElement.querySelector('#feeEdit--feeName').value = (_a = fee.feeName) !== null && _a !== void 0 ? _a : ''; + modalElement.querySelector('#feeEdit--feeAccount').value = (_b = fee.feeAccount) !== null && _b !== void 0 ? _b : ''; + modalElement.querySelector('#feeEdit--feeDescription').value = (_c = fee.feeDescription) !== null && _c !== void 0 ? _c : ''; const occupancyTypeElement = modalElement.querySelector('#feeEdit--occupancyTypeId'); for (const occupancyType of exports.occupancyTypes) { const optionElement = document.createElement('option'); @@ -565,13 +566,13 @@ Object.defineProperty(exports, "__esModule", { value: true }); taxPercentageElement.addEventListener('keyup', toggleTaxFields); toggleTaxFields(); const includeQuantityElement = modalElement.querySelector('#feeEdit--includeQuantity'); - if ((_a = fee.includeQuantity) !== null && _a !== void 0 ? _a : false) { + if ((_d = fee.includeQuantity) !== null && _d !== void 0 ? _d : false) { includeQuantityElement.value = '1'; } includeQuantityElement.addEventListener('change', toggleQuantityFields); - modalElement.querySelector('#feeEdit--quantityUnit').value = (_b = fee.quantityUnit) !== null && _b !== void 0 ? _b : ''; + modalElement.querySelector('#feeEdit--quantityUnit').value = (_e = fee.quantityUnit) !== null && _e !== void 0 ? _e : ''; toggleQuantityFields(); - if ((_c = fee.isRequired) !== null && _c !== void 0 ? _c : false) { + if ((_f = fee.isRequired) !== null && _f !== void 0 ? _f : false) { ; modalElement.querySelector('#feeEdit--isRequired').value = '1'; } diff --git a/public-typescript/adminFees.ts b/public-typescript/adminFees.ts index e4792ea0..2614f440 100644 --- a/public-typescript/adminFees.ts +++ b/public-typescript/adminFees.ts @@ -781,12 +781,15 @@ declare const bulmaJS: BulmaJS ;( modalElement.querySelector('#feeEdit--feeName') as HTMLInputElement - ).value = fee.feeName! + ).value = fee.feeName ?? '' + ;( + modalElement.querySelector('#feeEdit--feeAccount') as HTMLInputElement + ).value = fee.feeAccount ?? '' ;( modalElement.querySelector( '#feeEdit--feeDescription' ) as HTMLTextAreaElement - ).value = fee.feeDescription! + ).value = fee.feeDescription ?? '' const occupancyTypeElement = modalElement.querySelector( '#feeEdit--occupancyTypeId' diff --git a/public/html/adminFees-addFee.html b/public/html/adminFees-addFee.html index 51a3e4bc..1846f226 100644 --- a/public/html/adminFees-addFee.html +++ b/public/html/adminFees-addFee.html @@ -23,17 +23,34 @@ -
- -
- +
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
diff --git a/public/html/adminFees-editFee.html b/public/html/adminFees-editFee.html index 93ec0f76..8e0e4e12 100644 --- a/public/html/adminFees-editFee.html +++ b/public/html/adminFees-editFee.html @@ -24,17 +24,34 @@
-
- -
- +
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
diff --git a/public/javascripts/adminFees.min.js b/public/javascripts/adminFees.min.js index 99906d15..ac23ebbc 100644 --- a/public/javascripts/adminFees.min.js +++ b/public/javascripts/adminFees.min.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=exports.los,t=document.querySelector("#container--feeCategories");let s=exports.feeCategories;function o(){var o,d,u,y,f,p,m,g,v,C,S,b,F;if(0!==s.length){t.innerHTML="";for(const q of s){const s=document.createElement("section");s.className="panel container--feeCategory",s.dataset.feeCategoryId=q.feeCategoryId.toString(),s.innerHTML='

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

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

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

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

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

"+(a?'

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

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

There are no available fees.

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

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

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

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

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

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

"+(a?'

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

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

There are no available fees.

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