sorting fees and fee categories
parent
bea0bc0c83
commit
2cb0bf3697
|
|
@ -0,0 +1,3 @@
|
|||
import type { RequestHandler } from "express";
|
||||
export declare const handler: RequestHandler;
|
||||
export default handler;
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
import { moveFeeCategoryDown } from "../../helpers/lotOccupancyDB/moveFeeCategoryDown.js";
|
||||
import { getFeeCategories } from "../../helpers/lotOccupancyDB/getFeeCategories.js";
|
||||
export const handler = async (request, response) => {
|
||||
const success = moveFeeCategoryDown(request.body.feeCategoryId);
|
||||
const feeCategories = getFeeCategories({}, {
|
||||
includeFees: true
|
||||
});
|
||||
response.json({
|
||||
success,
|
||||
feeCategories
|
||||
});
|
||||
};
|
||||
export default handler;
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
import type {
|
||||
RequestHandler
|
||||
} from "express";
|
||||
|
||||
import {
|
||||
moveFeeCategoryDown
|
||||
} from "../../helpers/lotOccupancyDB/moveFeeCategoryDown.js";
|
||||
|
||||
import {
|
||||
getFeeCategories
|
||||
} from "../../helpers/lotOccupancyDB/getFeeCategories.js";
|
||||
|
||||
|
||||
export const handler: RequestHandler = async (request, response) => {
|
||||
|
||||
const success = moveFeeCategoryDown(request.body.feeCategoryId);
|
||||
|
||||
const feeCategories = getFeeCategories({}, {
|
||||
includeFees: true
|
||||
});
|
||||
|
||||
response.json({
|
||||
success,
|
||||
feeCategories
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
export default handler;
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
import type { RequestHandler } from "express";
|
||||
export declare const handler: RequestHandler;
|
||||
export default handler;
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
import { moveFeeCategoryUp } from "../../helpers/lotOccupancyDB/moveFeeCategoryUp.js";
|
||||
import { getFeeCategories } from "../../helpers/lotOccupancyDB/getFeeCategories.js";
|
||||
export const handler = async (request, response) => {
|
||||
const success = moveFeeCategoryUp(request.body.feeCategoryId);
|
||||
const feeCategories = getFeeCategories({}, {
|
||||
includeFees: true
|
||||
});
|
||||
response.json({
|
||||
success,
|
||||
feeCategories
|
||||
});
|
||||
};
|
||||
export default handler;
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
import type {
|
||||
RequestHandler
|
||||
} from "express";
|
||||
|
||||
import {
|
||||
moveFeeCategoryUp
|
||||
} from "../../helpers/lotOccupancyDB/moveFeeCategoryUp.js";
|
||||
|
||||
import {
|
||||
getFeeCategories
|
||||
} from "../../helpers/lotOccupancyDB/getFeeCategories.js";
|
||||
|
||||
|
||||
export const handler: RequestHandler = async (request, response) => {
|
||||
|
||||
const success = moveFeeCategoryUp(request.body.feeCategoryId);
|
||||
|
||||
const feeCategories = getFeeCategories({}, {
|
||||
includeFees: true
|
||||
});
|
||||
|
||||
response.json({
|
||||
success,
|
||||
feeCategories
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
export default handler;
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
import type { RequestHandler } from "express";
|
||||
export declare const handler: RequestHandler;
|
||||
export default handler;
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
import { moveFeeDown } from "../../helpers/lotOccupancyDB/moveFeeDown.js";
|
||||
import { getFeeCategories } from "../../helpers/lotOccupancyDB/getFeeCategories.js";
|
||||
export const handler = async (request, response) => {
|
||||
const success = moveFeeDown(request.body.feeId);
|
||||
const feeCategories = getFeeCategories({}, {
|
||||
includeFees: true
|
||||
});
|
||||
response.json({
|
||||
success,
|
||||
feeCategories
|
||||
});
|
||||
};
|
||||
export default handler;
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
import type {
|
||||
RequestHandler
|
||||
} from "express";
|
||||
|
||||
import {
|
||||
moveFeeDown
|
||||
} from "../../helpers/lotOccupancyDB/moveFeeDown.js";
|
||||
|
||||
import {
|
||||
getFeeCategories
|
||||
} from "../../helpers/lotOccupancyDB/getFeeCategories.js";
|
||||
|
||||
|
||||
export const handler: RequestHandler = async (request, response) => {
|
||||
|
||||
const success = moveFeeDown(request.body.feeId);
|
||||
|
||||
const feeCategories = getFeeCategories({}, {
|
||||
includeFees: true
|
||||
});
|
||||
|
||||
response.json({
|
||||
success,
|
||||
feeCategories
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
export default handler;
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
import type { RequestHandler } from "express";
|
||||
export declare const handler: RequestHandler;
|
||||
export default handler;
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
import { moveFeeUp } from "../../helpers/lotOccupancyDB/moveFeeUp.js";
|
||||
import { getFeeCategories } from "../../helpers/lotOccupancyDB/getFeeCategories.js";
|
||||
export const handler = async (request, response) => {
|
||||
const success = moveFeeUp(request.body.feeId);
|
||||
const feeCategories = getFeeCategories({}, {
|
||||
includeFees: true
|
||||
});
|
||||
response.json({
|
||||
success,
|
||||
feeCategories
|
||||
});
|
||||
};
|
||||
export default handler;
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
import type {
|
||||
RequestHandler
|
||||
} from "express";
|
||||
|
||||
import {
|
||||
moveFeeUp
|
||||
} from "../../helpers/lotOccupancyDB/moveFeeUp.js";
|
||||
|
||||
import {
|
||||
getFeeCategories
|
||||
} from "../../helpers/lotOccupancyDB/getFeeCategories.js";
|
||||
|
||||
|
||||
export const handler: RequestHandler = async (request, response) => {
|
||||
|
||||
const success = moveFeeUp(request.body.feeId);
|
||||
|
||||
const feeCategories = getFeeCategories({}, {
|
||||
includeFees: true
|
||||
});
|
||||
|
||||
response.json({
|
||||
success,
|
||||
feeCategories
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
export default handler;
|
||||
|
|
@ -33,18 +33,32 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
"</button>" +
|
||||
"</div>" :
|
||||
"") +
|
||||
"<div class=\"level-item\">" +
|
||||
("<div class=\"level-item\">" +
|
||||
"<button class=\"button is-small is-primary button--editFeeCategory\" type=\"button\">" +
|
||||
"<span class=\"icon is-small\"><i class=\"fas fa-pencil-alt\" aria-hidden=\"true\"></i></span>" +
|
||||
"<span>Edit Category</span>" +
|
||||
"</button>" +
|
||||
"</div>" +
|
||||
"<div class=\"level-item\">" +
|
||||
"</div>") +
|
||||
("<div class=\"level-item\">" +
|
||||
"<button class=\"button is-small is-success button--addFee\" type=\"button\">" +
|
||||
"<span class=\"icon is-small\"><i class=\"fas fa-plus\" aria-hidden=\"true\"></i></span>" +
|
||||
"<span>Add Fee</span>" +
|
||||
"</button>" +
|
||||
"</div>") +
|
||||
("<div class=\"level-item\">" +
|
||||
"<div class=\"field has-addons\">" +
|
||||
"<div class=\"control\">" +
|
||||
"<button class=\"button is-small button--moveFeeCategoryUp\" data-tooltip=\"Move Up\" type=\"button\" aria-label=\"Move Up\">" +
|
||||
"<i class=\"fas fa-arrow-up\" aria-hidden=\"true\"></i>" +
|
||||
"</button>" +
|
||||
"</div>" +
|
||||
"<div class=\"control\">" +
|
||||
"<button class=\"button is-small button--moveFeeCategoryDown\" data-tooltip=\"Move Down\" type=\"button\" aria-label=\"Move Down\">" +
|
||||
"<i class=\"fas fa-arrow-down\" aria-hidden=\"true\"></i>" +
|
||||
"</button>" +
|
||||
"</div>" +
|
||||
"</div>" +
|
||||
"</div>") +
|
||||
"</div>") +
|
||||
"</div>");
|
||||
if (feeCategory.fees.length === 0) {
|
||||
|
|
@ -98,26 +112,42 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
"<small>Quantity</small>" :
|
||||
"") +
|
||||
"</div>") +
|
||||
("<div class=\"column is-narrow\">" +
|
||||
"<div class=\"field has-addons\">" +
|
||||
"<div class=\"control\">" +
|
||||
"<button class=\"button is-small button--moveFeeUp\" data-tooltip=\"Move Up\" type=\"button\" aria-label=\"Move Up\">" +
|
||||
"<i class=\"fas fa-arrow-up\" aria-hidden=\"true\"></i>" +
|
||||
"</button>" +
|
||||
"</div>" +
|
||||
"<div class=\"control\">" +
|
||||
"<button class=\"button is-small button--moveFeeDown\" data-tooltip=\"Move Down\" type=\"button\" aria-label=\"Move Down\">" +
|
||||
"<i class=\"fas fa-arrow-down\" aria-hidden=\"true\"></i>" +
|
||||
"</button>" +
|
||||
"</div>" +
|
||||
"</div>" +
|
||||
"</div>") +
|
||||
"</div>";
|
||||
panelBlockElement.querySelector("a").addEventListener("click", openEditFee);
|
||||
panelBlockElement.querySelector(".button--moveFeeUp").addEventListener("click", moveFeeUp);
|
||||
panelBlockElement.querySelector(".button--moveFeeDown").addEventListener("click", moveFeeDown);
|
||||
panelElement.append(panelBlockElement);
|
||||
}
|
||||
feeCategoryContainerElement.append(panelElement);
|
||||
}
|
||||
if (feeCategory.fees.length === 0) {
|
||||
feeCategoryContainerElement.querySelector(".button--deleteFeeCategory")
|
||||
.addEventListener("click", confirmDeleteFeeCategory);
|
||||
}
|
||||
feeCategoryContainerElement.querySelector(".button--editFeeCategory")
|
||||
.addEventListener("click", openEditFeeCategory);
|
||||
feeCategoryContainerElement.querySelector(".button--addFee")
|
||||
.addEventListener("click", openAddFee);
|
||||
feeCategoryContainerElement.querySelector(".button--moveFeeCategoryUp")
|
||||
.addEventListener("click", moveFeeCategoryUp);
|
||||
feeCategoryContainerElement.querySelector(".button--moveFeeCategoryDown")
|
||||
.addEventListener("click", moveFeeCategoryDown);
|
||||
feeCategoriesContainerElement.append(feeCategoryContainerElement);
|
||||
}
|
||||
const deleteCategoryButtonElements = feeCategoriesContainerElement.querySelectorAll(".button--deleteFeeCategory");
|
||||
for (const deleteCategoryButtonElement of deleteCategoryButtonElements) {
|
||||
deleteCategoryButtonElement.addEventListener("click", confirmDeleteFeeCategory);
|
||||
}
|
||||
const editCategoryButtonElements = feeCategoriesContainerElement.querySelectorAll(".button--editFeeCategory");
|
||||
for (const editCategoryButtonElement of editCategoryButtonElements) {
|
||||
editCategoryButtonElement.addEventListener("click", openEditFeeCategory);
|
||||
}
|
||||
const addFeeButtonElements = feeCategoriesContainerElement.querySelectorAll(".button--addFee");
|
||||
for (const addFeeButtonElement of addFeeButtonElements) {
|
||||
addFeeButtonElement.addEventListener("click", openAddFee);
|
||||
}
|
||||
};
|
||||
document.querySelector("#button--addFeeCategory").addEventListener("click", () => {
|
||||
let addCloseModalFunction;
|
||||
|
|
@ -218,6 +248,42 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
}
|
||||
});
|
||||
};
|
||||
const moveFeeCategoryUp = (clickEvent) => {
|
||||
const feeCategoryId = Number.parseInt(clickEvent.currentTarget.closest(".container--feeCategory").dataset.feeCategoryId, 10);
|
||||
cityssm.postJSON(urlPrefix + "/admin/doMoveFeeCategoryUp", {
|
||||
feeCategoryId
|
||||
}, (responseJSON) => {
|
||||
if (responseJSON.success) {
|
||||
feeCategories = responseJSON.feeCategories;
|
||||
renderFeeCategories();
|
||||
}
|
||||
else {
|
||||
bulmaJS.alert({
|
||||
title: "Error Moving Fee Category",
|
||||
message: responseJSON.errorMessage,
|
||||
contextualColorName: "danger"
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
const moveFeeCategoryDown = (clickEvent) => {
|
||||
const feeCategoryId = Number.parseInt(clickEvent.currentTarget.closest(".container--feeCategory").dataset.feeCategoryId, 10);
|
||||
cityssm.postJSON(urlPrefix + "/admin/doMoveFeeCategoryDown", {
|
||||
feeCategoryId
|
||||
}, (responseJSON) => {
|
||||
if (responseJSON.success) {
|
||||
feeCategories = responseJSON.feeCategories;
|
||||
renderFeeCategories();
|
||||
}
|
||||
else {
|
||||
bulmaJS.alert({
|
||||
title: "Error Moving Fee Category",
|
||||
message: responseJSON.errorMessage,
|
||||
contextualColorName: "danger"
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
const openAddFee = (clickEvent) => {
|
||||
const feeCategoryId = Number.parseInt(clickEvent.currentTarget.closest(".container--feeCategory").dataset.feeCategoryId, 10);
|
||||
let addCloseModalFunction;
|
||||
|
|
@ -470,5 +536,43 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
}
|
||||
});
|
||||
};
|
||||
const moveFeeUp = (clickEvent) => {
|
||||
const feeContainerElement = clickEvent.currentTarget.closest(".container--fee");
|
||||
const feeId = Number.parseInt(feeContainerElement.dataset.feeId, 10);
|
||||
cityssm.postJSON(urlPrefix + "/admin/doMoveFeeUp", {
|
||||
feeId
|
||||
}, (responseJSON) => {
|
||||
if (responseJSON.success) {
|
||||
feeCategories = responseJSON.feeCategories;
|
||||
renderFeeCategories();
|
||||
}
|
||||
else {
|
||||
bulmaJS.alert({
|
||||
title: "Error Moving Fee",
|
||||
message: responseJSON.errorMessage,
|
||||
contextualColorName: "danger"
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
const moveFeeDown = (clickEvent) => {
|
||||
const feeContainerElement = clickEvent.currentTarget.closest(".container--fee");
|
||||
const feeId = Number.parseInt(feeContainerElement.dataset.feeId, 10);
|
||||
cityssm.postJSON(urlPrefix + "/admin/doMoveFeeDown", {
|
||||
feeId
|
||||
}, (responseJSON) => {
|
||||
if (responseJSON.success) {
|
||||
feeCategories = responseJSON.feeCategories;
|
||||
renderFeeCategories();
|
||||
}
|
||||
else {
|
||||
bulmaJS.alert({
|
||||
title: "Error Moving Fee",
|
||||
message: responseJSON.errorMessage,
|
||||
contextualColorName: "danger"
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
renderFeeCategories();
|
||||
})();
|
||||
|
|
|
|||
|
|
@ -59,18 +59,32 @@ declare const bulmaJS: BulmaJS;
|
|||
"</button>" +
|
||||
"</div>" :
|
||||
"") +
|
||||
"<div class=\"level-item\">" +
|
||||
("<div class=\"level-item\">" +
|
||||
"<button class=\"button is-small is-primary button--editFeeCategory\" type=\"button\">" +
|
||||
"<span class=\"icon is-small\"><i class=\"fas fa-pencil-alt\" aria-hidden=\"true\"></i></span>" +
|
||||
"<span>Edit Category</span>" +
|
||||
"</button>" +
|
||||
"</div>" +
|
||||
"<div class=\"level-item\">" +
|
||||
"</div>") +
|
||||
("<div class=\"level-item\">" +
|
||||
"<button class=\"button is-small is-success button--addFee\" type=\"button\">" +
|
||||
"<span class=\"icon is-small\"><i class=\"fas fa-plus\" aria-hidden=\"true\"></i></span>" +
|
||||
"<span>Add Fee</span>" +
|
||||
"</button>" +
|
||||
"</div>") +
|
||||
("<div class=\"level-item\">" +
|
||||
"<div class=\"field has-addons\">" +
|
||||
"<div class=\"control\">" +
|
||||
"<button class=\"button is-small button--moveFeeCategoryUp\" data-tooltip=\"Move Up\" type=\"button\" aria-label=\"Move Up\">" +
|
||||
"<i class=\"fas fa-arrow-up\" aria-hidden=\"true\"></i>" +
|
||||
"</button>" +
|
||||
"</div>" +
|
||||
"<div class=\"control\">" +
|
||||
"<button class=\"button is-small button--moveFeeCategoryDown\" data-tooltip=\"Move Down\" type=\"button\" aria-label=\"Move Down\">" +
|
||||
"<i class=\"fas fa-arrow-down\" aria-hidden=\"true\"></i>" +
|
||||
"</button>" +
|
||||
"</div>" +
|
||||
"</div>" +
|
||||
"</div>") +
|
||||
"</div>") +
|
||||
"</div>");
|
||||
|
||||
|
|
@ -129,36 +143,52 @@ declare const bulmaJS: BulmaJS;
|
|||
"<small>Quantity</small>" :
|
||||
"") +
|
||||
"</div>") +
|
||||
("<div class=\"column is-narrow\">" +
|
||||
"<div class=\"field has-addons\">" +
|
||||
"<div class=\"control\">" +
|
||||
"<button class=\"button is-small button--moveFeeUp\" data-tooltip=\"Move Up\" type=\"button\" aria-label=\"Move Up\">" +
|
||||
"<i class=\"fas fa-arrow-up\" aria-hidden=\"true\"></i>" +
|
||||
"</button>" +
|
||||
"</div>" +
|
||||
"<div class=\"control\">" +
|
||||
"<button class=\"button is-small button--moveFeeDown\" data-tooltip=\"Move Down\" type=\"button\" aria-label=\"Move Down\">" +
|
||||
"<i class=\"fas fa-arrow-down\" aria-hidden=\"true\"></i>" +
|
||||
"</button>" +
|
||||
"</div>" +
|
||||
"</div>" +
|
||||
"</div>") +
|
||||
"</div>";
|
||||
|
||||
panelBlockElement.querySelector("a").addEventListener("click", openEditFee);
|
||||
|
||||
panelBlockElement.querySelector(".button--moveFeeUp").addEventListener("click", moveFeeUp);
|
||||
panelBlockElement.querySelector(".button--moveFeeDown").addEventListener("click", moveFeeDown);
|
||||
|
||||
panelElement.append(panelBlockElement);
|
||||
}
|
||||
|
||||
feeCategoryContainerElement.append(panelElement);
|
||||
}
|
||||
|
||||
if (feeCategory.fees.length === 0) {
|
||||
feeCategoryContainerElement.querySelector(".button--deleteFeeCategory")
|
||||
.addEventListener("click", confirmDeleteFeeCategory);
|
||||
}
|
||||
|
||||
feeCategoryContainerElement.querySelector(".button--editFeeCategory")
|
||||
.addEventListener("click", openEditFeeCategory);
|
||||
|
||||
feeCategoryContainerElement.querySelector(".button--addFee")
|
||||
.addEventListener("click", openAddFee);
|
||||
|
||||
feeCategoryContainerElement.querySelector(".button--moveFeeCategoryUp")
|
||||
.addEventListener("click", moveFeeCategoryUp);
|
||||
|
||||
feeCategoryContainerElement.querySelector(".button--moveFeeCategoryDown")
|
||||
.addEventListener("click", moveFeeCategoryDown);
|
||||
|
||||
feeCategoriesContainerElement.append(feeCategoryContainerElement);
|
||||
}
|
||||
|
||||
const deleteCategoryButtonElements = feeCategoriesContainerElement.querySelectorAll(".button--deleteFeeCategory");
|
||||
|
||||
for (const deleteCategoryButtonElement of deleteCategoryButtonElements) {
|
||||
deleteCategoryButtonElement.addEventListener("click", confirmDeleteFeeCategory);
|
||||
}
|
||||
|
||||
const editCategoryButtonElements = feeCategoriesContainerElement.querySelectorAll(".button--editFeeCategory");
|
||||
|
||||
for (const editCategoryButtonElement of editCategoryButtonElements) {
|
||||
editCategoryButtonElement.addEventListener("click", openEditFeeCategory);
|
||||
}
|
||||
|
||||
const addFeeButtonElements = feeCategoriesContainerElement.querySelectorAll(".button--addFee");
|
||||
|
||||
for (const addFeeButtonElement of addFeeButtonElements) {
|
||||
addFeeButtonElement.addEventListener("click", openAddFee);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
|
@ -272,7 +302,9 @@ declare const bulmaJS: BulmaJS;
|
|||
cityssm.postJSON(urlPrefix + "/admin/doDeleteFeeCategory", {
|
||||
feeCategoryId
|
||||
},
|
||||
(responseJSON: {success: boolean; errorMessage?: string; feeCategories?: recordTypes.FeeCategory[];}) => {
|
||||
(responseJSON: {
|
||||
success: boolean;errorMessage ? : string;feeCategories ? : recordTypes.FeeCategory[];
|
||||
}) => {
|
||||
|
||||
if (responseJSON.success) {
|
||||
feeCategories = responseJSON.feeCategories;
|
||||
|
|
@ -298,6 +330,56 @@ declare const bulmaJS: BulmaJS;
|
|||
})
|
||||
};
|
||||
|
||||
const moveFeeCategoryUp = (clickEvent: Event) => {
|
||||
|
||||
const feeCategoryId = Number.parseInt(((clickEvent.currentTarget as HTMLElement).closest(".container--feeCategory") as HTMLElement).dataset.feeCategoryId, 10);
|
||||
|
||||
cityssm.postJSON(urlPrefix + "/admin/doMoveFeeCategoryUp", {
|
||||
feeCategoryId
|
||||
},
|
||||
(responseJSON: {
|
||||
success: boolean;
|
||||
errorMessage ? : string;
|
||||
feeCategories ? : recordTypes.FeeCategory[];
|
||||
}) => {
|
||||
if (responseJSON.success) {
|
||||
feeCategories = responseJSON.feeCategories;
|
||||
renderFeeCategories();
|
||||
} else {
|
||||
bulmaJS.alert({
|
||||
title: "Error Moving Fee Category",
|
||||
message: responseJSON.errorMessage,
|
||||
contextualColorName: "danger"
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
const moveFeeCategoryDown = (clickEvent: Event) => {
|
||||
|
||||
const feeCategoryId = Number.parseInt(((clickEvent.currentTarget as HTMLElement).closest(".container--feeCategory") as HTMLElement).dataset.feeCategoryId, 10);
|
||||
|
||||
cityssm.postJSON(urlPrefix + "/admin/doMoveFeeCategoryDown", {
|
||||
feeCategoryId
|
||||
},
|
||||
(responseJSON: {
|
||||
success: boolean;
|
||||
errorMessage ? : string;
|
||||
feeCategories ? : recordTypes.FeeCategory[];
|
||||
}) => {
|
||||
if (responseJSON.success) {
|
||||
feeCategories = responseJSON.feeCategories;
|
||||
renderFeeCategories();
|
||||
} else {
|
||||
bulmaJS.alert({
|
||||
title: "Error Moving Fee Category",
|
||||
message: responseJSON.errorMessage,
|
||||
contextualColorName: "danger"
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/*
|
||||
* Fees
|
||||
*/
|
||||
|
|
@ -664,6 +746,61 @@ declare const bulmaJS: BulmaJS;
|
|||
});
|
||||
};
|
||||
|
||||
const moveFeeUp = (clickEvent: Event) => {
|
||||
|
||||
const feeContainerElement = (clickEvent.currentTarget as HTMLElement).closest(".container--fee") as HTMLElement;
|
||||
|
||||
const feeId = Number.parseInt(feeContainerElement.dataset.feeId, 10);
|
||||
|
||||
cityssm.postJSON(urlPrefix + "/admin/doMoveFeeUp", {
|
||||
feeId
|
||||
},
|
||||
(responseJSON: {
|
||||
success: boolean;
|
||||
errorMessage ? : string;
|
||||
feeCategories ? : recordTypes.FeeCategory[];
|
||||
}) => {
|
||||
if (responseJSON.success) {
|
||||
feeCategories = responseJSON.feeCategories;
|
||||
renderFeeCategories();
|
||||
} else {
|
||||
bulmaJS.alert({
|
||||
title: "Error Moving Fee",
|
||||
message: responseJSON.errorMessage,
|
||||
contextualColorName: "danger"
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
const moveFeeDown = (clickEvent: Event) => {
|
||||
|
||||
const feeContainerElement = (clickEvent.currentTarget as HTMLElement).closest(".container--fee") as HTMLElement;
|
||||
|
||||
const feeId = Number.parseInt(feeContainerElement.dataset.feeId, 10);
|
||||
|
||||
cityssm.postJSON(urlPrefix + "/admin/doMoveFeeDown", {
|
||||
feeId
|
||||
},
|
||||
(responseJSON: {
|
||||
success: boolean;
|
||||
errorMessage ? : string;
|
||||
feeCategories ? : recordTypes.FeeCategory[];
|
||||
}) => {
|
||||
if (responseJSON.success) {
|
||||
feeCategories = responseJSON.feeCategories;
|
||||
renderFeeCategories();
|
||||
} else {
|
||||
bulmaJS.alert({
|
||||
title: "Error Moving Fee",
|
||||
message: responseJSON.errorMessage,
|
||||
contextualColorName: "danger"
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
* Initialize
|
||||
*/
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -3,9 +3,13 @@ import * as permissionHandlers from "../handlers/permissions.js";
|
|||
import handler_fees from "../handlers/admin-get/fees.js";
|
||||
import handler_doAddFeeCategory from "../handlers/admin-post/doAddFeeCategory.js";
|
||||
import handler_doUpdateFeeCategory from "../handlers/admin-post/doUpdateFeeCategory.js";
|
||||
import handler_doMoveFeeCategoryUp from "../handlers/admin-post/doMoveFeeCategoryUp.js";
|
||||
import handler_doMoveFeeCategoryDown from "../handlers/admin-post/doMoveFeeCategoryDown.js";
|
||||
import handler_doDeleteFeeCategory from "../handlers/admin-post/doDeleteFeeCategory.js";
|
||||
import handler_doAddFee from "../handlers/admin-post/doAddFee.js";
|
||||
import handler_doUpdateFee from "../handlers/admin-post/doUpdateFee.js";
|
||||
import handler_doMoveFeeUp from "../handlers/admin-post/doMoveFeeUp.js";
|
||||
import handler_doMoveFeeDown from "../handlers/admin-post/doMoveFeeDown.js";
|
||||
import handler_doDeleteFee from "../handlers/admin-post/doDeleteFee.js";
|
||||
import handler_tables from "../handlers/admin-get/tables.js";
|
||||
import handler_doAddWorkOrderType from "../handlers/admin-post/doAddWorkOrderType.js";
|
||||
|
|
@ -27,9 +31,13 @@ export const router = Router();
|
|||
router.get("/fees", permissionHandlers.adminGetHandler, handler_fees);
|
||||
router.post("/doAddFeeCategory", permissionHandlers.adminPostHandler, handler_doAddFeeCategory);
|
||||
router.post("/doUpdateFeeCategory", permissionHandlers.adminPostHandler, handler_doUpdateFeeCategory);
|
||||
router.post("/doMoveFeeCategoryUp", permissionHandlers.adminPostHandler, handler_doMoveFeeCategoryUp);
|
||||
router.post("/doMoveFeeCategoryDown", permissionHandlers.adminPostHandler, handler_doMoveFeeCategoryDown);
|
||||
router.post("/doDeleteFeeCategory", permissionHandlers.adminPostHandler, handler_doDeleteFeeCategory);
|
||||
router.post("/doAddFee", permissionHandlers.adminPostHandler, handler_doAddFee);
|
||||
router.post("/doUpdateFee", permissionHandlers.adminPostHandler, handler_doUpdateFee);
|
||||
router.post("/doMoveFeeUp", permissionHandlers.adminPostHandler, handler_doMoveFeeUp);
|
||||
router.post("/doMoveFeeDown", permissionHandlers.adminPostHandler, handler_doMoveFeeDown);
|
||||
router.post("/doDeleteFee", permissionHandlers.adminPostHandler, handler_doDeleteFee);
|
||||
router.get("/tables", permissionHandlers.adminGetHandler, handler_tables);
|
||||
router.post("/doAddWorkOrderType", permissionHandlers.adminPostHandler, handler_doAddWorkOrderType);
|
||||
|
|
|
|||
|
|
@ -7,10 +7,14 @@ import * as permissionHandlers from "../handlers/permissions.js";
|
|||
import handler_fees from "../handlers/admin-get/fees.js";
|
||||
import handler_doAddFeeCategory from "../handlers/admin-post/doAddFeeCategory.js";
|
||||
import handler_doUpdateFeeCategory from "../handlers/admin-post/doUpdateFeeCategory.js";
|
||||
import handler_doMoveFeeCategoryUp from "../handlers/admin-post/doMoveFeeCategoryUp.js";
|
||||
import handler_doMoveFeeCategoryDown from "../handlers/admin-post/doMoveFeeCategoryDown.js";
|
||||
import handler_doDeleteFeeCategory from "../handlers/admin-post/doDeleteFeeCategory.js";
|
||||
|
||||
import handler_doAddFee from "../handlers/admin-post/doAddFee.js";
|
||||
import handler_doUpdateFee from "../handlers/admin-post/doUpdateFee.js";
|
||||
import handler_doMoveFeeUp from "../handlers/admin-post/doMoveFeeUp.js";
|
||||
import handler_doMoveFeeDown from "../handlers/admin-post/doMoveFeeDown.js";
|
||||
import handler_doDeleteFee from "../handlers/admin-post/doDeleteFee.js";
|
||||
|
||||
import handler_tables from "../handlers/admin-get/tables.js";
|
||||
|
|
@ -51,6 +55,14 @@ router.post("/doUpdateFeeCategory",
|
|||
permissionHandlers.adminPostHandler,
|
||||
handler_doUpdateFeeCategory);
|
||||
|
||||
router.post("/doMoveFeeCategoryUp",
|
||||
permissionHandlers.adminPostHandler,
|
||||
handler_doMoveFeeCategoryUp);
|
||||
|
||||
router.post("/doMoveFeeCategoryDown",
|
||||
permissionHandlers.adminPostHandler,
|
||||
handler_doMoveFeeCategoryDown);
|
||||
|
||||
router.post("/doDeleteFeeCategory",
|
||||
permissionHandlers.adminPostHandler,
|
||||
handler_doDeleteFeeCategory);
|
||||
|
|
@ -63,6 +75,14 @@ router.post("/doUpdateFee",
|
|||
permissionHandlers.adminPostHandler,
|
||||
handler_doUpdateFee);
|
||||
|
||||
router.post("/doMoveFeeUp",
|
||||
permissionHandlers.adminPostHandler,
|
||||
handler_doMoveFeeUp);
|
||||
|
||||
router.post("/doMoveFeeDown",
|
||||
permissionHandlers.adminPostHandler,
|
||||
handler_doMoveFeeDown);
|
||||
|
||||
router.post("/doDeleteFee",
|
||||
permissionHandlers.adminPostHandler,
|
||||
handler_doDeleteFee);
|
||||
|
|
|
|||
Loading…
Reference in New Issue