refactoring
parent
f220a842bd
commit
9c93315894
|
|
@ -68,13 +68,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
"</div>" +
|
"</div>" +
|
||||||
"</div>";
|
"</div>";
|
||||||
if (feeCategory.fees.length === 0) {
|
if (feeCategory.fees.length === 0) {
|
||||||
feeCategoryContainerElement.insertAdjacentHTML("beforeend", '<div class="panel-block is-block">' +
|
feeCategoryContainerElement.insertAdjacentHTML("beforeend", `<div class="panel-block is-block">
|
||||||
'<div class="message is-info">' +
|
<div class="message is-info">
|
||||||
'<p class="message-body">There are no fees in the "' +
|
<p class="message-body">
|
||||||
cityssm.escapeHTML(feeCategory.feeCategory || "") +
|
There are no fees in the
|
||||||
'" category.</p>' +
|
"${cityssm.escapeHTML(feeCategory.feeCategory || "")}"
|
||||||
"</div>" +
|
category.
|
||||||
"</div>");
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>`);
|
||||||
|
feeCategoryContainerElement
|
||||||
|
.querySelector(".button--deleteFeeCategory")
|
||||||
|
.addEventListener("click", confirmDeleteFeeCategory);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
for (const fee of feeCategory.fees) {
|
for (const fee of feeCategory.fees) {
|
||||||
|
|
@ -163,11 +168,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
feeCategoryContainerElement.append(panelBlockElement);
|
feeCategoryContainerElement.append(panelBlockElement);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (feeCategory.fees.length === 0) {
|
feeCategoryContainerElement
|
||||||
feeCategoryContainerElement.querySelector(".button--deleteFeeCategory").addEventListener("click", confirmDeleteFeeCategory);
|
.querySelector(".button--editFeeCategory")
|
||||||
}
|
.addEventListener("click", openEditFeeCategory);
|
||||||
feeCategoryContainerElement.querySelector(".button--editFeeCategory").addEventListener("click", openEditFeeCategory);
|
feeCategoryContainerElement
|
||||||
feeCategoryContainerElement.querySelector(".button--addFee").addEventListener("click", openAddFee);
|
.querySelector(".button--addFee")
|
||||||
|
.addEventListener("click", openAddFee);
|
||||||
feeCategoryContainerElement.querySelector(".button--moveFeeCategoryUp").addEventListener("click", moveFeeCategoryUp);
|
feeCategoryContainerElement.querySelector(".button--moveFeeCategoryUp").addEventListener("click", moveFeeCategoryUp);
|
||||||
feeCategoryContainerElement.querySelector(".button--moveFeeCategoryDown").addEventListener("click", moveFeeCategoryDown);
|
feeCategoryContainerElement.querySelector(".button--moveFeeCategoryDown").addEventListener("click", moveFeeCategoryDown);
|
||||||
feeCategoriesContainerElement.append(feeCategoryContainerElement);
|
feeCategoriesContainerElement.append(feeCategoryContainerElement);
|
||||||
|
|
@ -200,9 +206,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
bulmaJS.toggleHtmlClipped();
|
bulmaJS.toggleHtmlClipped();
|
||||||
modalElement.querySelector("#feeCategoryAdd--feeCategory").focus();
|
modalElement.querySelector("#feeCategoryAdd--feeCategory").focus();
|
||||||
addCloseModalFunction = closeModalFunction;
|
addCloseModalFunction = closeModalFunction;
|
||||||
modalElement
|
modalElement.querySelector("form").addEventListener("submit", doAddFeeCategory);
|
||||||
.querySelector("form")
|
|
||||||
.addEventListener("submit", doAddFeeCategory);
|
|
||||||
},
|
},
|
||||||
onremoved: () => {
|
onremoved: () => {
|
||||||
bulmaJS.toggleHtmlClipped();
|
bulmaJS.toggleHtmlClipped();
|
||||||
|
|
@ -215,7 +219,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
return currentFeeCategory.feeCategoryId === feeCategoryId;
|
return currentFeeCategory.feeCategoryId === feeCategoryId;
|
||||||
});
|
});
|
||||||
let editCloseModalFunction;
|
let editCloseModalFunction;
|
||||||
const doUpdateFeeCategory = (submitEvent) => {
|
function doUpdateFeeCategory(submitEvent) {
|
||||||
submitEvent.preventDefault();
|
submitEvent.preventDefault();
|
||||||
cityssm.postJSON(los.urlPrefix + "/admin/doUpdateFeeCategory", submitEvent.currentTarget, (responseJSON) => {
|
cityssm.postJSON(los.urlPrefix + "/admin/doUpdateFeeCategory", submitEvent.currentTarget, (responseJSON) => {
|
||||||
if (responseJSON.success) {
|
if (responseJSON.success) {
|
||||||
|
|
@ -231,13 +235,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
};
|
}
|
||||||
cityssm.openHtmlModal("adminFees-editFeeCategory", {
|
cityssm.openHtmlModal("adminFees-editFeeCategory", {
|
||||||
onshow: (modalElement) => {
|
onshow(modalElement) {
|
||||||
modalElement.querySelector("#feeCategoryEdit--feeCategoryId").value = feeCategory.feeCategoryId.toString();
|
modalElement.querySelector("#feeCategoryEdit--feeCategoryId").value = feeCategory.feeCategoryId.toString();
|
||||||
modalElement.querySelector("#feeCategoryEdit--feeCategory").value = feeCategory.feeCategory;
|
modalElement.querySelector("#feeCategoryEdit--feeCategory").value = feeCategory.feeCategory;
|
||||||
},
|
},
|
||||||
onshown: (modalElement, closeModalFunction) => {
|
onshown(modalElement, closeModalFunction) {
|
||||||
bulmaJS.toggleHtmlClipped();
|
bulmaJS.toggleHtmlClipped();
|
||||||
editCloseModalFunction = closeModalFunction;
|
editCloseModalFunction = closeModalFunction;
|
||||||
modalElement.querySelector("form").addEventListener("submit", doUpdateFeeCategory);
|
modalElement.querySelector("form").addEventListener("submit", doUpdateFeeCategory);
|
||||||
|
|
@ -250,7 +254,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
}
|
}
|
||||||
function confirmDeleteFeeCategory(clickEvent) {
|
function confirmDeleteFeeCategory(clickEvent) {
|
||||||
const feeCategoryId = Number.parseInt(clickEvent.currentTarget.closest(".container--feeCategory").dataset.feeCategoryId, 10);
|
const feeCategoryId = Number.parseInt(clickEvent.currentTarget.closest(".container--feeCategory").dataset.feeCategoryId, 10);
|
||||||
const doDelete = () => {
|
function doDelete() {
|
||||||
cityssm.postJSON(los.urlPrefix + "/admin/doDeleteFeeCategory", {
|
cityssm.postJSON(los.urlPrefix + "/admin/doDeleteFeeCategory", {
|
||||||
feeCategoryId
|
feeCategoryId
|
||||||
}, (responseJSON) => {
|
}, (responseJSON) => {
|
||||||
|
|
@ -266,7 +270,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
};
|
}
|
||||||
bulmaJS.confirm({
|
bulmaJS.confirm({
|
||||||
title: "Delete Fee Category?",
|
title: "Delete Fee Category?",
|
||||||
message: "Are you sure you want to delete this fee category?",
|
message: "Are you sure you want to delete this fee category?",
|
||||||
|
|
@ -321,7 +325,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
function openAddFee(clickEvent) {
|
function openAddFee(clickEvent) {
|
||||||
const feeCategoryId = Number.parseInt(clickEvent.currentTarget.closest(".container--feeCategory").dataset.feeCategoryId, 10);
|
const feeCategoryId = Number.parseInt(clickEvent.currentTarget.closest(".container--feeCategory").dataset.feeCategoryId, 10);
|
||||||
let addCloseModalFunction;
|
let addCloseModalFunction;
|
||||||
const doAddFee = (submitEvent) => {
|
function doAddFee(submitEvent) {
|
||||||
submitEvent.preventDefault();
|
submitEvent.preventDefault();
|
||||||
cityssm.postJSON(los.urlPrefix + "/admin/doAddFee", submitEvent.currentTarget, (responseJSON) => {
|
cityssm.postJSON(los.urlPrefix + "/admin/doAddFee", submitEvent.currentTarget, (responseJSON) => {
|
||||||
if (responseJSON.success) {
|
if (responseJSON.success) {
|
||||||
|
|
@ -337,9 +341,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
};
|
}
|
||||||
cityssm.openHtmlModal("adminFees-addFee", {
|
cityssm.openHtmlModal("adminFees-addFee", {
|
||||||
onshow: (modalElement) => {
|
onshow(modalElement) {
|
||||||
const feeCategoryElement = modalElement.querySelector("#feeAdd--feeCategoryId");
|
const feeCategoryElement = modalElement.querySelector("#feeAdd--feeCategoryId");
|
||||||
for (const feeCategory of feeCategories) {
|
for (const feeCategory of feeCategories) {
|
||||||
const optionElement = document.createElement("option");
|
const optionElement = document.createElement("option");
|
||||||
|
|
@ -367,7 +371,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
modalElement.querySelector("#feeAdd--taxPercentage").value = exports.taxPercentageDefault.toString();
|
modalElement.querySelector("#feeAdd--taxPercentage").value = exports.taxPercentageDefault.toString();
|
||||||
los.populateAliases(modalElement);
|
los.populateAliases(modalElement);
|
||||||
},
|
},
|
||||||
onshown: (modalElement, closeModalFunction) => {
|
onshown(modalElement, closeModalFunction) {
|
||||||
bulmaJS.toggleHtmlClipped();
|
bulmaJS.toggleHtmlClipped();
|
||||||
addCloseModalFunction = closeModalFunction;
|
addCloseModalFunction = closeModalFunction;
|
||||||
modalElement.querySelector("form").addEventListener("submit", doAddFee);
|
modalElement.querySelector("form").addEventListener("submit", doAddFee);
|
||||||
|
|
@ -405,7 +409,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
modalElement.querySelector("#feeAdd--includeQuantity").value === "";
|
modalElement.querySelector("#feeAdd--includeQuantity").value === "";
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
onremoved: () => {
|
onremoved() {
|
||||||
bulmaJS.toggleHtmlClipped();
|
bulmaJS.toggleHtmlClipped();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
@ -424,7 +428,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
});
|
});
|
||||||
let editCloseModalFunction;
|
let editCloseModalFunction;
|
||||||
let editModalElement;
|
let editModalElement;
|
||||||
const doUpdateFee = (submitEvent) => {
|
function doUpdateFee(submitEvent) {
|
||||||
submitEvent.preventDefault();
|
submitEvent.preventDefault();
|
||||||
cityssm.postJSON(los.urlPrefix + "/admin/doUpdateFee", submitEvent.currentTarget, (responseJSON) => {
|
cityssm.postJSON(los.urlPrefix + "/admin/doUpdateFee", submitEvent.currentTarget, (responseJSON) => {
|
||||||
if (responseJSON.success) {
|
if (responseJSON.success) {
|
||||||
|
|
@ -440,8 +444,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
};
|
}
|
||||||
const confirmDeleteFee = (clickEvent) => {
|
function confirmDeleteFee(clickEvent) {
|
||||||
clickEvent.preventDefault();
|
clickEvent.preventDefault();
|
||||||
const doDelete = () => {
|
const doDelete = () => {
|
||||||
cityssm.postJSON(los.urlPrefix + "/admin/doDeleteFee", {
|
cityssm.postJSON(los.urlPrefix + "/admin/doDeleteFee", {
|
||||||
|
|
@ -470,8 +474,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
callbackFunction: doDelete
|
callbackFunction: doDelete
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
};
|
}
|
||||||
const toggleFeeFields = () => {
|
function toggleFeeFields() {
|
||||||
const feeAmountElement = editModalElement.querySelector("#feeEdit--feeAmount");
|
const feeAmountElement = editModalElement.querySelector("#feeEdit--feeAmount");
|
||||||
const feeFunctionElement = editModalElement.querySelector("#feeEdit--feeFunction");
|
const feeFunctionElement = editModalElement.querySelector("#feeEdit--feeFunction");
|
||||||
if (feeFunctionElement.value === "") {
|
if (feeFunctionElement.value === "") {
|
||||||
|
|
@ -484,8 +488,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
feeAmountElement.classList.remove("is-success");
|
feeAmountElement.classList.remove("is-success");
|
||||||
feeAmountElement.disabled = true;
|
feeAmountElement.disabled = true;
|
||||||
}
|
}
|
||||||
};
|
}
|
||||||
const toggleTaxFields = () => {
|
function toggleTaxFields() {
|
||||||
const taxAmountElement = editModalElement.querySelector("#feeEdit--taxAmount");
|
const taxAmountElement = editModalElement.querySelector("#feeEdit--taxAmount");
|
||||||
const taxPercentageElement = editModalElement.querySelector("#feeEdit--taxPercentage");
|
const taxPercentageElement = editModalElement.querySelector("#feeEdit--taxPercentage");
|
||||||
if (taxPercentageElement.value === "") {
|
if (taxPercentageElement.value === "") {
|
||||||
|
|
@ -498,14 +502,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
taxAmountElement.classList.remove("is-success");
|
taxAmountElement.classList.remove("is-success");
|
||||||
taxAmountElement.disabled = true;
|
taxAmountElement.disabled = true;
|
||||||
}
|
}
|
||||||
};
|
}
|
||||||
const toggleQuantityFields = () => {
|
function toggleQuantityFields() {
|
||||||
editModalElement.querySelector("#feeEdit--quantityUnit").disabled =
|
editModalElement.querySelector("#feeEdit--quantityUnit").disabled =
|
||||||
editModalElement.querySelector("#feeEdit--includeQuantity")
|
editModalElement.querySelector("#feeEdit--includeQuantity")
|
||||||
.value === "";
|
.value === "";
|
||||||
};
|
}
|
||||||
cityssm.openHtmlModal("adminFees-editFee", {
|
cityssm.openHtmlModal("adminFees-editFee", {
|
||||||
onshow: (modalElement) => {
|
onshow(modalElement) {
|
||||||
editModalElement = modalElement;
|
editModalElement = modalElement;
|
||||||
modalElement.querySelector("#feeEdit--feeId").value =
|
modalElement.querySelector("#feeEdit--feeId").value =
|
||||||
fee.feeId.toString();
|
fee.feeId.toString();
|
||||||
|
|
@ -565,12 +569,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
}
|
}
|
||||||
los.populateAliases(modalElement);
|
los.populateAliases(modalElement);
|
||||||
},
|
},
|
||||||
onshown: (modalElement, closeModalFunction) => {
|
onshown(modalElement, closeModalFunction) {
|
||||||
bulmaJS.toggleHtmlClipped();
|
bulmaJS.toggleHtmlClipped();
|
||||||
editCloseModalFunction = closeModalFunction;
|
editCloseModalFunction = closeModalFunction;
|
||||||
modalElement.querySelector("form").addEventListener("submit", doUpdateFee);
|
modalElement.querySelector("form").addEventListener("submit", doUpdateFee);
|
||||||
bulmaJS.init(modalElement);
|
bulmaJS.init(modalElement);
|
||||||
modalElement.querySelector(".button--deleteFee").addEventListener("click", confirmDeleteFee);
|
modalElement
|
||||||
|
.querySelector(".button--deleteFee")
|
||||||
|
.addEventListener("click", confirmDeleteFee);
|
||||||
},
|
},
|
||||||
onremoved: () => {
|
onremoved: () => {
|
||||||
bulmaJS.toggleHtmlClipped();
|
bulmaJS.toggleHtmlClipped();
|
||||||
|
|
|
||||||
|
|
@ -52,11 +52,11 @@ declare const bulmaJS: BulmaJS;
|
||||||
'<div class="field is-grouped is-justify-content-end">' +
|
'<div class="field is-grouped is-justify-content-end">' +
|
||||||
(feeCategory.fees!.length === 0
|
(feeCategory.fees!.length === 0
|
||||||
? '<div class="control">' +
|
? '<div class="control">' +
|
||||||
'<button class="button is-small is-danger button--deleteFeeCategory" type="button">' +
|
'<button class="button is-small is-danger button--deleteFeeCategory" type="button">' +
|
||||||
'<span class="icon is-small"><i class="fas fa-trash" aria-hidden="true"></i></span>' +
|
'<span class="icon is-small"><i class="fas fa-trash" aria-hidden="true"></i></span>' +
|
||||||
"<span>Delete Category</span>" +
|
"<span>Delete Category</span>" +
|
||||||
"</button>" +
|
"</button>" +
|
||||||
"</div>"
|
"</div>"
|
||||||
: "") +
|
: "") +
|
||||||
('<div class="control">' +
|
('<div class="control">' +
|
||||||
'<button class="button is-small is-primary button--editFeeCategory" type="button">' +
|
'<button class="button is-small is-primary button--editFeeCategory" type="button">' +
|
||||||
|
|
@ -91,14 +91,20 @@ declare const bulmaJS: BulmaJS;
|
||||||
if (feeCategory.fees.length === 0) {
|
if (feeCategory.fees.length === 0) {
|
||||||
feeCategoryContainerElement.insertAdjacentHTML(
|
feeCategoryContainerElement.insertAdjacentHTML(
|
||||||
"beforeend",
|
"beforeend",
|
||||||
'<div class="panel-block is-block">' +
|
`<div class="panel-block is-block">
|
||||||
'<div class="message is-info">' +
|
<div class="message is-info">
|
||||||
'<p class="message-body">There are no fees in the "' +
|
<p class="message-body">
|
||||||
cityssm.escapeHTML(feeCategory.feeCategory || "") +
|
There are no fees in the
|
||||||
'" category.</p>' +
|
"${cityssm.escapeHTML(feeCategory.feeCategory || "")}"
|
||||||
"</div>" +
|
category.
|
||||||
"</div>"
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>`
|
||||||
);
|
);
|
||||||
|
|
||||||
|
feeCategoryContainerElement
|
||||||
|
.querySelector(".button--deleteFeeCategory")!
|
||||||
|
.addEventListener("click", confirmDeleteFeeCategory);
|
||||||
} else {
|
} else {
|
||||||
for (const fee of feeCategory.fees) {
|
for (const fee of feeCategory.fees) {
|
||||||
const panelBlockElement = document.createElement("div");
|
const panelBlockElement = document.createElement("div");
|
||||||
|
|
@ -121,24 +127,24 @@ declare const bulmaJS: BulmaJS;
|
||||||
"</p>" +
|
"</p>" +
|
||||||
(hasTagsBlock
|
(hasTagsBlock
|
||||||
? '<p class="tags">' +
|
? '<p class="tags">' +
|
||||||
(fee.isRequired
|
(fee.isRequired
|
||||||
? '<span class="tag is-warning">Required</span>'
|
? '<span class="tag is-warning">Required</span>'
|
||||||
: "") +
|
: "") +
|
||||||
(fee.occupancyTypeId
|
(fee.occupancyTypeId
|
||||||
? ' <span class="tag has-tooltip-bottom" data-tooltip="' +
|
? ' <span class="tag has-tooltip-bottom" data-tooltip="' +
|
||||||
cityssm.escapeHTML(exports.aliases.occupancy) +
|
cityssm.escapeHTML(exports.aliases.occupancy) +
|
||||||
' Type Filter">' +
|
' Type Filter">' +
|
||||||
cityssm.escapeHTML(fee.occupancyType || "") +
|
cityssm.escapeHTML(fee.occupancyType || "") +
|
||||||
"</span>"
|
"</span>"
|
||||||
: "") +
|
: "") +
|
||||||
(fee.lotTypeId
|
(fee.lotTypeId
|
||||||
? ' <span class="tag has-tooltip-bottom" data-tooltip="' +
|
? ' <span class="tag has-tooltip-bottom" data-tooltip="' +
|
||||||
cityssm.escapeHTML(exports.aliases.lot) +
|
cityssm.escapeHTML(exports.aliases.lot) +
|
||||||
' Type Filter">' +
|
' Type Filter">' +
|
||||||
cityssm.escapeHTML(fee.lotType || "") +
|
cityssm.escapeHTML(fee.lotType || "") +
|
||||||
"</span>"
|
"</span>"
|
||||||
: "") +
|
: "") +
|
||||||
"</p>"
|
"</p>"
|
||||||
: "") +
|
: "") +
|
||||||
"</div>") +
|
"</div>") +
|
||||||
('<div class="column">' +
|
('<div class="column">' +
|
||||||
|
|
@ -146,12 +152,12 @@ declare const bulmaJS: BulmaJS;
|
||||||
('<div class="column has-text-centered">' +
|
('<div class="column has-text-centered">' +
|
||||||
(fee.feeFunction
|
(fee.feeFunction
|
||||||
? cityssm.escapeHTML(fee.feeFunction) +
|
? cityssm.escapeHTML(fee.feeFunction) +
|
||||||
"<br />" +
|
"<br />" +
|
||||||
"<small>Fee Function</small>"
|
"<small>Fee Function</small>"
|
||||||
: "$" +
|
: "$" +
|
||||||
fee.feeAmount!.toFixed(2) +
|
fee.feeAmount!.toFixed(2) +
|
||||||
"<br />" +
|
"<br />" +
|
||||||
"<small>Fee</small>") +
|
"<small>Fee</small>") +
|
||||||
"</div>") +
|
"</div>") +
|
||||||
('<div class="column has-text-centered">' +
|
('<div class="column has-text-centered">' +
|
||||||
(fee.taxPercentage
|
(fee.taxPercentage
|
||||||
|
|
@ -162,8 +168,8 @@ declare const bulmaJS: BulmaJS;
|
||||||
('<div class="column has-text-centered">' +
|
('<div class="column has-text-centered">' +
|
||||||
(fee.includeQuantity
|
(fee.includeQuantity
|
||||||
? cityssm.escapeHTML(fee.quantityUnit || "") +
|
? cityssm.escapeHTML(fee.quantityUnit || "") +
|
||||||
"<br />" +
|
"<br />" +
|
||||||
"<small>Quantity</small>"
|
"<small>Quantity</small>"
|
||||||
: "") +
|
: "") +
|
||||||
"</div>") +
|
"</div>") +
|
||||||
"</div>" +
|
"</div>" +
|
||||||
|
|
@ -198,23 +204,13 @@ declare const bulmaJS: BulmaJS;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (feeCategory.fees!.length === 0) {
|
feeCategoryContainerElement
|
||||||
(
|
.querySelector(".button--editFeeCategory")!
|
||||||
feeCategoryContainerElement.querySelector(
|
.addEventListener("click", openEditFeeCategory);
|
||||||
".button--deleteFeeCategory"
|
|
||||||
) as HTMLButtonElement
|
|
||||||
).addEventListener("click", confirmDeleteFeeCategory);
|
|
||||||
}
|
|
||||||
|
|
||||||
(
|
feeCategoryContainerElement
|
||||||
feeCategoryContainerElement.querySelector(
|
.querySelector(".button--addFee")!
|
||||||
".button--editFeeCategory"
|
.addEventListener("click", openAddFee);
|
||||||
) as HTMLButtonElement
|
|
||||||
).addEventListener("click", openEditFeeCategory);
|
|
||||||
|
|
||||||
(
|
|
||||||
feeCategoryContainerElement.querySelector(".button--addFee") as HTMLButtonElement
|
|
||||||
).addEventListener("click", openAddFee);
|
|
||||||
|
|
||||||
(
|
(
|
||||||
feeCategoryContainerElement.querySelector(
|
feeCategoryContainerElement.querySelector(
|
||||||
|
|
@ -236,57 +232,50 @@ declare const bulmaJS: BulmaJS;
|
||||||
* Fee Categories
|
* Fee Categories
|
||||||
*/
|
*/
|
||||||
|
|
||||||
(document.querySelector("#button--addFeeCategory") as HTMLButtonElement).addEventListener(
|
document.querySelector("#button--addFeeCategory")!.addEventListener("click", () => {
|
||||||
"click",
|
let addCloseModalFunction: () => void;
|
||||||
() => {
|
|
||||||
let addCloseModalFunction: () => void;
|
|
||||||
|
|
||||||
const doAddFeeCategory = (submitEvent: SubmitEvent) => {
|
const doAddFeeCategory = (submitEvent: SubmitEvent) => {
|
||||||
submitEvent.preventDefault();
|
submitEvent.preventDefault();
|
||||||
|
|
||||||
cityssm.postJSON(
|
cityssm.postJSON(
|
||||||
los.urlPrefix + "/admin/doAddFeeCategory",
|
los.urlPrefix + "/admin/doAddFeeCategory",
|
||||||
submitEvent.currentTarget,
|
submitEvent.currentTarget,
|
||||||
(responseJSON: {
|
(responseJSON: {
|
||||||
success: boolean;
|
success: boolean;
|
||||||
errorMessage?: string;
|
errorMessage?: string;
|
||||||
feeCategories: recordTypes.FeeCategory[];
|
feeCategories: recordTypes.FeeCategory[];
|
||||||
}) => {
|
}) => {
|
||||||
if (responseJSON.success) {
|
if (responseJSON.success) {
|
||||||
feeCategories = responseJSON.feeCategories;
|
feeCategories = responseJSON.feeCategories;
|
||||||
addCloseModalFunction();
|
addCloseModalFunction();
|
||||||
renderFeeCategories();
|
renderFeeCategories();
|
||||||
} else {
|
} else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
title: "Error Creating Fee Category",
|
title: "Error Creating Fee Category",
|
||||||
message: responseJSON.errorMessage || "",
|
message: responseJSON.errorMessage || "",
|
||||||
contextualColorName: "danger"
|
contextualColorName: "danger"
|
||||||
});
|
});
|
||||||
}
|
|
||||||
}
|
}
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
cityssm.openHtmlModal("adminFees-addFeeCategory", {
|
|
||||||
onshown: (modalElement, closeModalFunction) => {
|
|
||||||
bulmaJS.toggleHtmlClipped();
|
|
||||||
(
|
|
||||||
modalElement.querySelector(
|
|
||||||
"#feeCategoryAdd--feeCategory"
|
|
||||||
) as HTMLInputElement
|
|
||||||
).focus();
|
|
||||||
|
|
||||||
addCloseModalFunction = closeModalFunction;
|
|
||||||
modalElement
|
|
||||||
.querySelector("form")!
|
|
||||||
.addEventListener("submit", doAddFeeCategory);
|
|
||||||
},
|
|
||||||
onremoved: () => {
|
|
||||||
bulmaJS.toggleHtmlClipped();
|
|
||||||
}
|
}
|
||||||
});
|
);
|
||||||
}
|
};
|
||||||
);
|
|
||||||
|
cityssm.openHtmlModal("adminFees-addFeeCategory", {
|
||||||
|
onshown: (modalElement, closeModalFunction) => {
|
||||||
|
bulmaJS.toggleHtmlClipped();
|
||||||
|
(
|
||||||
|
modalElement.querySelector("#feeCategoryAdd--feeCategory") as HTMLInputElement
|
||||||
|
).focus();
|
||||||
|
|
||||||
|
addCloseModalFunction = closeModalFunction;
|
||||||
|
modalElement.querySelector("form")!.addEventListener("submit", doAddFeeCategory);
|
||||||
|
},
|
||||||
|
onremoved: () => {
|
||||||
|
bulmaJS.toggleHtmlClipped();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
function openEditFeeCategory(clickEvent: Event): void {
|
function openEditFeeCategory(clickEvent: Event): void {
|
||||||
const feeCategoryId = Number.parseInt(
|
const feeCategoryId = Number.parseInt(
|
||||||
|
|
@ -304,7 +293,7 @@ declare const bulmaJS: BulmaJS;
|
||||||
|
|
||||||
let editCloseModalFunction: () => void;
|
let editCloseModalFunction: () => void;
|
||||||
|
|
||||||
const doUpdateFeeCategory = (submitEvent: SubmitEvent) => {
|
function doUpdateFeeCategory(submitEvent: SubmitEvent) {
|
||||||
submitEvent.preventDefault();
|
submitEvent.preventDefault();
|
||||||
|
|
||||||
cityssm.postJSON(
|
cityssm.postJSON(
|
||||||
|
|
@ -328,10 +317,10 @@ declare const bulmaJS: BulmaJS;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
};
|
}
|
||||||
|
|
||||||
cityssm.openHtmlModal("adminFees-editFeeCategory", {
|
cityssm.openHtmlModal("adminFees-editFeeCategory", {
|
||||||
onshow: (modalElement) => {
|
onshow(modalElement) {
|
||||||
(
|
(
|
||||||
modalElement.querySelector(
|
modalElement.querySelector(
|
||||||
"#feeCategoryEdit--feeCategoryId"
|
"#feeCategoryEdit--feeCategoryId"
|
||||||
|
|
@ -341,7 +330,7 @@ declare const bulmaJS: BulmaJS;
|
||||||
modalElement.querySelector("#feeCategoryEdit--feeCategory") as HTMLInputElement
|
modalElement.querySelector("#feeCategoryEdit--feeCategory") as HTMLInputElement
|
||||||
).value = feeCategory.feeCategory!;
|
).value = feeCategory.feeCategory!;
|
||||||
},
|
},
|
||||||
onshown: (modalElement, closeModalFunction) => {
|
onshown(modalElement, closeModalFunction) {
|
||||||
bulmaJS.toggleHtmlClipped();
|
bulmaJS.toggleHtmlClipped();
|
||||||
|
|
||||||
editCloseModalFunction = closeModalFunction;
|
editCloseModalFunction = closeModalFunction;
|
||||||
|
|
@ -368,7 +357,7 @@ declare const bulmaJS: BulmaJS;
|
||||||
10
|
10
|
||||||
);
|
);
|
||||||
|
|
||||||
const doDelete = () => {
|
function doDelete() {
|
||||||
cityssm.postJSON(
|
cityssm.postJSON(
|
||||||
los.urlPrefix + "/admin/doDeleteFeeCategory",
|
los.urlPrefix + "/admin/doDeleteFeeCategory",
|
||||||
{
|
{
|
||||||
|
|
@ -391,7 +380,7 @@ declare const bulmaJS: BulmaJS;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
};
|
}
|
||||||
|
|
||||||
bulmaJS.confirm({
|
bulmaJS.confirm({
|
||||||
title: "Delete Fee Category?",
|
title: "Delete Fee Category?",
|
||||||
|
|
@ -490,7 +479,7 @@ declare const bulmaJS: BulmaJS;
|
||||||
|
|
||||||
let addCloseModalFunction: () => void;
|
let addCloseModalFunction: () => void;
|
||||||
|
|
||||||
const doAddFee = (submitEvent: SubmitEvent) => {
|
function doAddFee(submitEvent: SubmitEvent) {
|
||||||
submitEvent.preventDefault();
|
submitEvent.preventDefault();
|
||||||
|
|
||||||
cityssm.postJSON(
|
cityssm.postJSON(
|
||||||
|
|
@ -514,10 +503,10 @@ declare const bulmaJS: BulmaJS;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
};
|
}
|
||||||
|
|
||||||
cityssm.openHtmlModal("adminFees-addFee", {
|
cityssm.openHtmlModal("adminFees-addFee", {
|
||||||
onshow: (modalElement) => {
|
onshow(modalElement) {
|
||||||
const feeCategoryElement = modalElement.querySelector(
|
const feeCategoryElement = modalElement.querySelector(
|
||||||
"#feeAdd--feeCategoryId"
|
"#feeAdd--feeCategoryId"
|
||||||
) as HTMLSelectElement;
|
) as HTMLSelectElement;
|
||||||
|
|
@ -562,7 +551,7 @@ declare const bulmaJS: BulmaJS;
|
||||||
|
|
||||||
los.populateAliases(modalElement);
|
los.populateAliases(modalElement);
|
||||||
},
|
},
|
||||||
onshown: (modalElement, closeModalFunction) => {
|
onshown(modalElement, closeModalFunction) {
|
||||||
bulmaJS.toggleHtmlClipped();
|
bulmaJS.toggleHtmlClipped();
|
||||||
|
|
||||||
addCloseModalFunction = closeModalFunction;
|
addCloseModalFunction = closeModalFunction;
|
||||||
|
|
@ -630,7 +619,7 @@ declare const bulmaJS: BulmaJS;
|
||||||
).value === "";
|
).value === "";
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
onremoved: () => {
|
onremoved() {
|
||||||
bulmaJS.toggleHtmlClipped();
|
bulmaJS.toggleHtmlClipped();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
@ -660,7 +649,7 @@ declare const bulmaJS: BulmaJS;
|
||||||
let editCloseModalFunction: () => void;
|
let editCloseModalFunction: () => void;
|
||||||
let editModalElement: HTMLElement;
|
let editModalElement: HTMLElement;
|
||||||
|
|
||||||
const doUpdateFee = (submitEvent: SubmitEvent) => {
|
function doUpdateFee(submitEvent: SubmitEvent) {
|
||||||
submitEvent.preventDefault();
|
submitEvent.preventDefault();
|
||||||
|
|
||||||
cityssm.postJSON(
|
cityssm.postJSON(
|
||||||
|
|
@ -684,9 +673,9 @@ declare const bulmaJS: BulmaJS;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
};
|
}
|
||||||
|
|
||||||
const confirmDeleteFee = (clickEvent: Event) => {
|
function confirmDeleteFee(clickEvent: Event) {
|
||||||
clickEvent.preventDefault();
|
clickEvent.preventDefault();
|
||||||
|
|
||||||
const doDelete = () => {
|
const doDelete = () => {
|
||||||
|
|
@ -724,12 +713,13 @@ declare const bulmaJS: BulmaJS;
|
||||||
callbackFunction: doDelete
|
callbackFunction: doDelete
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
};
|
}
|
||||||
|
|
||||||
const toggleFeeFields = () => {
|
function toggleFeeFields() {
|
||||||
const feeAmountElement = editModalElement.querySelector(
|
const feeAmountElement = editModalElement.querySelector(
|
||||||
"#feeEdit--feeAmount"
|
"#feeEdit--feeAmount"
|
||||||
) as HTMLInputElement;
|
) as HTMLInputElement;
|
||||||
|
|
||||||
const feeFunctionElement = editModalElement.querySelector(
|
const feeFunctionElement = editModalElement.querySelector(
|
||||||
"#feeEdit--feeFunction"
|
"#feeEdit--feeFunction"
|
||||||
) as HTMLSelectElement;
|
) as HTMLSelectElement;
|
||||||
|
|
@ -745,12 +735,13 @@ declare const bulmaJS: BulmaJS;
|
||||||
feeAmountElement.classList.remove("is-success");
|
feeAmountElement.classList.remove("is-success");
|
||||||
feeAmountElement.disabled = true;
|
feeAmountElement.disabled = true;
|
||||||
}
|
}
|
||||||
};
|
}
|
||||||
|
|
||||||
const toggleTaxFields = () => {
|
function toggleTaxFields() {
|
||||||
const taxAmountElement = editModalElement.querySelector(
|
const taxAmountElement = editModalElement.querySelector(
|
||||||
"#feeEdit--taxAmount"
|
"#feeEdit--taxAmount"
|
||||||
) as HTMLInputElement;
|
) as HTMLInputElement;
|
||||||
|
|
||||||
const taxPercentageElement = editModalElement.querySelector(
|
const taxPercentageElement = editModalElement.querySelector(
|
||||||
"#feeEdit--taxPercentage"
|
"#feeEdit--taxPercentage"
|
||||||
) as HTMLInputElement;
|
) as HTMLInputElement;
|
||||||
|
|
@ -766,18 +757,18 @@ declare const bulmaJS: BulmaJS;
|
||||||
taxAmountElement.classList.remove("is-success");
|
taxAmountElement.classList.remove("is-success");
|
||||||
taxAmountElement.disabled = true;
|
taxAmountElement.disabled = true;
|
||||||
}
|
}
|
||||||
};
|
}
|
||||||
|
|
||||||
const toggleQuantityFields = () => {
|
function toggleQuantityFields() {
|
||||||
(
|
(
|
||||||
editModalElement.querySelector("#feeEdit--quantityUnit") as HTMLInputElement
|
editModalElement.querySelector("#feeEdit--quantityUnit") as HTMLInputElement
|
||||||
).disabled =
|
).disabled =
|
||||||
(editModalElement.querySelector("#feeEdit--includeQuantity") as HTMLSelectElement)
|
(editModalElement.querySelector("#feeEdit--includeQuantity") as HTMLSelectElement)
|
||||||
.value === "";
|
.value === "";
|
||||||
};
|
}
|
||||||
|
|
||||||
cityssm.openHtmlModal("adminFees-editFee", {
|
cityssm.openHtmlModal("adminFees-editFee", {
|
||||||
onshow: (modalElement) => {
|
onshow(modalElement) {
|
||||||
editModalElement = modalElement;
|
editModalElement = modalElement;
|
||||||
|
|
||||||
(modalElement.querySelector("#feeEdit--feeId") as HTMLInputElement).value =
|
(modalElement.querySelector("#feeEdit--feeId") as HTMLInputElement).value =
|
||||||
|
|
@ -879,7 +870,7 @@ declare const bulmaJS: BulmaJS;
|
||||||
|
|
||||||
los.populateAliases(modalElement);
|
los.populateAliases(modalElement);
|
||||||
},
|
},
|
||||||
onshown: (modalElement, closeModalFunction) => {
|
onshown(modalElement, closeModalFunction) {
|
||||||
bulmaJS.toggleHtmlClipped();
|
bulmaJS.toggleHtmlClipped();
|
||||||
|
|
||||||
editCloseModalFunction = closeModalFunction;
|
editCloseModalFunction = closeModalFunction;
|
||||||
|
|
@ -888,9 +879,9 @@ declare const bulmaJS: BulmaJS;
|
||||||
|
|
||||||
bulmaJS.init(modalElement);
|
bulmaJS.init(modalElement);
|
||||||
|
|
||||||
(
|
modalElement
|
||||||
modalElement.querySelector(".button--deleteFee") as HTMLButtonElement
|
.querySelector(".button--deleteFee")!
|
||||||
).addEventListener("click", confirmDeleteFee);
|
.addEventListener("click", confirmDeleteFee);
|
||||||
},
|
},
|
||||||
onremoved: () => {
|
onremoved: () => {
|
||||||
bulmaJS.toggleHtmlClipped();
|
bulmaJS.toggleHtmlClipped();
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue