sort occupancy type fields
parent
db790d2e8a
commit
6ae44e00bc
|
|
@ -0,0 +1,3 @@
|
||||||
|
import type { RequestHandler } from "express";
|
||||||
|
export declare const handler: RequestHandler;
|
||||||
|
export default handler;
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
import { moveOccupancyTypeFieldDown } from "../../helpers/lotOccupancyDB/moveOccupancyTypeFieldDown.js";
|
||||||
|
import { getAllOccupancyTypeFields, getOccupancyTypes } from "../../helpers/functions.cache.js";
|
||||||
|
export const handler = async (request, response) => {
|
||||||
|
const success = moveOccupancyTypeFieldDown(request.body.occupancyTypeFieldId);
|
||||||
|
const occupancyTypes = getOccupancyTypes();
|
||||||
|
const allOccupancyTypeFields = getAllOccupancyTypeFields();
|
||||||
|
response.json({
|
||||||
|
success,
|
||||||
|
occupancyTypes,
|
||||||
|
allOccupancyTypeFields
|
||||||
|
});
|
||||||
|
};
|
||||||
|
export default handler;
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
import type { RequestHandler } from "express";
|
||||||
|
|
||||||
|
import { moveOccupancyTypeFieldDown } from "../../helpers/lotOccupancyDB/moveOccupancyTypeFieldDown.js";
|
||||||
|
|
||||||
|
import { getAllOccupancyTypeFields, getOccupancyTypes } from "../../helpers/functions.cache.js";
|
||||||
|
|
||||||
|
export const handler: RequestHandler = async (request, response) => {
|
||||||
|
const success = moveOccupancyTypeFieldDown(request.body.occupancyTypeFieldId);
|
||||||
|
|
||||||
|
const occupancyTypes = getOccupancyTypes();
|
||||||
|
const allOccupancyTypeFields = getAllOccupancyTypeFields();
|
||||||
|
|
||||||
|
response.json({
|
||||||
|
success,
|
||||||
|
occupancyTypes,
|
||||||
|
allOccupancyTypeFields
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
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 { moveOccupancyTypeFieldUp } from "../../helpers/lotOccupancyDB/moveOccupancyTypeFieldUp.js";
|
||||||
|
import { getAllOccupancyTypeFields, getOccupancyTypes } from "../../helpers/functions.cache.js";
|
||||||
|
export const handler = async (request, response) => {
|
||||||
|
const success = moveOccupancyTypeFieldUp(request.body.occupancyTypeFieldId);
|
||||||
|
const occupancyTypes = getOccupancyTypes();
|
||||||
|
const allOccupancyTypeFields = getAllOccupancyTypeFields();
|
||||||
|
response.json({
|
||||||
|
success,
|
||||||
|
occupancyTypes,
|
||||||
|
allOccupancyTypeFields
|
||||||
|
});
|
||||||
|
};
|
||||||
|
export default handler;
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
import type { RequestHandler } from "express";
|
||||||
|
|
||||||
|
import { moveOccupancyTypeFieldUp } from "../../helpers/lotOccupancyDB/moveOccupancyTypeFieldUp.js";
|
||||||
|
|
||||||
|
import { getAllOccupancyTypeFields, getOccupancyTypes } from "../../helpers/functions.cache.js";
|
||||||
|
|
||||||
|
export const handler: RequestHandler = async (request, response) => {
|
||||||
|
const success = moveOccupancyTypeFieldUp(request.body.occupancyTypeFieldId);
|
||||||
|
|
||||||
|
const occupancyTypes = getOccupancyTypes();
|
||||||
|
const allOccupancyTypeFields = getAllOccupancyTypeFields();
|
||||||
|
|
||||||
|
response.json({
|
||||||
|
success,
|
||||||
|
occupancyTypes,
|
||||||
|
allOccupancyTypeFields
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
export default handler;
|
||||||
|
|
@ -10,9 +10,10 @@ export const getLotOccupancyFields = (lotOccupancyId, connectedDatabase) => {
|
||||||
" o.occupancyTypeFieldId, o.lotOccupancyFieldValue," +
|
" o.occupancyTypeFieldId, o.lotOccupancyFieldValue," +
|
||||||
" f.occupancyTypeField," +
|
" f.occupancyTypeField," +
|
||||||
" f.occupancyTypeFieldValues, f.isRequired, f.pattern, f.minimumLength, f.maximumLength," +
|
" f.occupancyTypeFieldValues, f.isRequired, f.pattern, f.minimumLength, f.maximumLength," +
|
||||||
" f.orderNumber" +
|
" f.orderNumber, t.orderNumber as occupancyTypeOrderNumber" +
|
||||||
" from LotOccupancyFields o" +
|
" from LotOccupancyFields o" +
|
||||||
" left join OccupancyTypeFields f on o.occupancyTypeFieldId = f.occupancyTypeFieldId" +
|
" left join OccupancyTypeFields f on o.occupancyTypeFieldId = f.occupancyTypeFieldId" +
|
||||||
|
" left join OccupancyTypes t on f.occupancyTypeId = t.occupancyTypeId" +
|
||||||
" where o.recordDelete_timeMillis is null" +
|
" where o.recordDelete_timeMillis is null" +
|
||||||
" and o.lotOccupancyId = ?" +
|
" and o.lotOccupancyId = ?" +
|
||||||
" union" +
|
" union" +
|
||||||
|
|
@ -20,12 +21,13 @@ export const getLotOccupancyFields = (lotOccupancyId, connectedDatabase) => {
|
||||||
" f.occupancyTypeFieldId, '' as lotOccupancyFieldValue," +
|
" f.occupancyTypeFieldId, '' as lotOccupancyFieldValue," +
|
||||||
" f.occupancyTypeField," +
|
" f.occupancyTypeField," +
|
||||||
" f.occupancyTypeFieldValues, f.isRequired, f.pattern, f.minimumLength, f.maximumLength," +
|
" f.occupancyTypeFieldValues, f.isRequired, f.pattern, f.minimumLength, f.maximumLength," +
|
||||||
" f.orderNumber" +
|
" f.orderNumber, t.orderNumber as occupancyTypeOrderNumber" +
|
||||||
" from OccupancyTypeFields f" +
|
" from OccupancyTypeFields f" +
|
||||||
|
" left join OccupancyTypes t on f.occupancyTypeId = t.occupancyTypeId" +
|
||||||
" where f.recordDelete_timeMillis is null" +
|
" where f.recordDelete_timeMillis is null" +
|
||||||
" and (f.occupancyTypeId is null or f.occupancyTypeId in (select occupancyTypeId from LotOccupancies where lotOccupancyId = ?))" +
|
" and (f.occupancyTypeId is null or f.occupancyTypeId in (select occupancyTypeId from LotOccupancies where lotOccupancyId = ?))" +
|
||||||
" and f.occupancyTypeFieldId not in (select occupancyTypeFieldId from LotOccupancyFields where lotOccupancyId = ? and recordDelete_timeMillis is null)" +
|
" and f.occupancyTypeFieldId not in (select occupancyTypeFieldId from LotOccupancyFields where lotOccupancyId = ? and recordDelete_timeMillis is null)" +
|
||||||
" order by orderNumber, occupancyTypeField")
|
" order by occupancyTypeOrderNumber, f.orderNumber, f.occupancyTypeField")
|
||||||
.all(lotOccupancyId, lotOccupancyId, lotOccupancyId, lotOccupancyId);
|
.all(lotOccupancyId, lotOccupancyId, lotOccupancyId, lotOccupancyId);
|
||||||
if (!connectedDatabase) {
|
if (!connectedDatabase) {
|
||||||
database.close();
|
database.close();
|
||||||
|
|
|
||||||
|
|
@ -20,9 +20,10 @@ export const getLotOccupancyFields = (
|
||||||
" o.occupancyTypeFieldId, o.lotOccupancyFieldValue," +
|
" o.occupancyTypeFieldId, o.lotOccupancyFieldValue," +
|
||||||
" f.occupancyTypeField," +
|
" f.occupancyTypeField," +
|
||||||
" f.occupancyTypeFieldValues, f.isRequired, f.pattern, f.minimumLength, f.maximumLength," +
|
" f.occupancyTypeFieldValues, f.isRequired, f.pattern, f.minimumLength, f.maximumLength," +
|
||||||
" f.orderNumber" +
|
" f.orderNumber, t.orderNumber as occupancyTypeOrderNumber" +
|
||||||
" from LotOccupancyFields o" +
|
" from LotOccupancyFields o" +
|
||||||
" left join OccupancyTypeFields f on o.occupancyTypeFieldId = f.occupancyTypeFieldId" +
|
" left join OccupancyTypeFields f on o.occupancyTypeFieldId = f.occupancyTypeFieldId" +
|
||||||
|
" left join OccupancyTypes t on f.occupancyTypeId = t.occupancyTypeId" +
|
||||||
" where o.recordDelete_timeMillis is null" +
|
" where o.recordDelete_timeMillis is null" +
|
||||||
" and o.lotOccupancyId = ?" +
|
" and o.lotOccupancyId = ?" +
|
||||||
" union" +
|
" union" +
|
||||||
|
|
@ -30,12 +31,13 @@ export const getLotOccupancyFields = (
|
||||||
" f.occupancyTypeFieldId, '' as lotOccupancyFieldValue," +
|
" f.occupancyTypeFieldId, '' as lotOccupancyFieldValue," +
|
||||||
" f.occupancyTypeField," +
|
" f.occupancyTypeField," +
|
||||||
" f.occupancyTypeFieldValues, f.isRequired, f.pattern, f.minimumLength, f.maximumLength," +
|
" f.occupancyTypeFieldValues, f.isRequired, f.pattern, f.minimumLength, f.maximumLength," +
|
||||||
" f.orderNumber" +
|
" f.orderNumber, t.orderNumber as occupancyTypeOrderNumber" +
|
||||||
" from OccupancyTypeFields f" +
|
" from OccupancyTypeFields f" +
|
||||||
|
" left join OccupancyTypes t on f.occupancyTypeId = t.occupancyTypeId" +
|
||||||
" where f.recordDelete_timeMillis is null" +
|
" where f.recordDelete_timeMillis is null" +
|
||||||
" and (f.occupancyTypeId is null or f.occupancyTypeId in (select occupancyTypeId from LotOccupancies where lotOccupancyId = ?))" +
|
" and (f.occupancyTypeId is null or f.occupancyTypeId in (select occupancyTypeId from LotOccupancies where lotOccupancyId = ?))" +
|
||||||
" and f.occupancyTypeFieldId not in (select occupancyTypeFieldId from LotOccupancyFields where lotOccupancyId = ? and recordDelete_timeMillis is null)" +
|
" and f.occupancyTypeFieldId not in (select occupancyTypeFieldId from LotOccupancyFields where lotOccupancyId = ? and recordDelete_timeMillis is null)" +
|
||||||
" order by orderNumber, occupancyTypeField"
|
" order by occupancyTypeOrderNumber, f.orderNumber, f.occupancyTypeField"
|
||||||
)
|
)
|
||||||
.all(lotOccupancyId, lotOccupancyId, lotOccupancyId, lotOccupancyId);
|
.all(lotOccupancyId, lotOccupancyId, lotOccupancyId, lotOccupancyId);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
export declare const moveOccupancyTypeFieldDown: (occupancyTypeFieldId: number | string) => boolean;
|
||||||
|
export default moveOccupancyTypeFieldDown;
|
||||||
|
|
@ -0,0 +1,29 @@
|
||||||
|
import sqlite from "better-sqlite3";
|
||||||
|
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||||
|
import { clearOccupancyTypesCache } from "../functions.cache.js";
|
||||||
|
export const moveOccupancyTypeFieldDown = (occupancyTypeFieldId) => {
|
||||||
|
const database = sqlite(databasePath);
|
||||||
|
const currentField = database
|
||||||
|
.prepare("select occupancyTypeId, orderNumber" +
|
||||||
|
" from OccupancyTypeFields" +
|
||||||
|
" where occupancyTypeFieldId = ?")
|
||||||
|
.get(occupancyTypeFieldId);
|
||||||
|
database
|
||||||
|
.prepare("update OccupancyTypeFields" +
|
||||||
|
" set orderNumber = orderNumber - 1" +
|
||||||
|
" where recordDelete_timeMillis is null" +
|
||||||
|
(currentField.occupancyTypeId
|
||||||
|
? " and occupancyTypeId = '" + currentField.occupancyTypeId + "'"
|
||||||
|
: " and occupancyTypeId is null") +
|
||||||
|
" and orderNumber = ? + 1")
|
||||||
|
.run(currentField.orderNumber);
|
||||||
|
const result = database
|
||||||
|
.prepare("update OccupancyTypeFields" +
|
||||||
|
" set orderNumber = ? + 1" +
|
||||||
|
" where occupancyTypeFieldId = ?")
|
||||||
|
.run(currentField.orderNumber, occupancyTypeFieldId);
|
||||||
|
database.close();
|
||||||
|
clearOccupancyTypesCache();
|
||||||
|
return result.changes > 0;
|
||||||
|
};
|
||||||
|
export default moveOccupancyTypeFieldDown;
|
||||||
|
|
@ -0,0 +1,47 @@
|
||||||
|
import sqlite from "better-sqlite3";
|
||||||
|
|
||||||
|
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||||
|
|
||||||
|
import { clearOccupancyTypesCache } from "../functions.cache.js";
|
||||||
|
|
||||||
|
export const moveOccupancyTypeFieldDown = (
|
||||||
|
occupancyTypeFieldId: number | string
|
||||||
|
): boolean => {
|
||||||
|
const database = sqlite(databasePath);
|
||||||
|
|
||||||
|
const currentField: { occupancyTypeId?: number; orderNumber: number } = database
|
||||||
|
.prepare(
|
||||||
|
"select occupancyTypeId, orderNumber" +
|
||||||
|
" from OccupancyTypeFields" +
|
||||||
|
" where occupancyTypeFieldId = ?"
|
||||||
|
)
|
||||||
|
.get(occupancyTypeFieldId);
|
||||||
|
|
||||||
|
database
|
||||||
|
.prepare(
|
||||||
|
"update OccupancyTypeFields" +
|
||||||
|
" set orderNumber = orderNumber - 1" +
|
||||||
|
" where recordDelete_timeMillis is null" +
|
||||||
|
(currentField.occupancyTypeId
|
||||||
|
? " and occupancyTypeId = '" + currentField.occupancyTypeId + "'"
|
||||||
|
: " and occupancyTypeId is null") +
|
||||||
|
" and orderNumber = ? + 1"
|
||||||
|
)
|
||||||
|
.run(currentField.orderNumber);
|
||||||
|
|
||||||
|
const result = database
|
||||||
|
.prepare(
|
||||||
|
"update OccupancyTypeFields" +
|
||||||
|
" set orderNumber = ? + 1" +
|
||||||
|
" where occupancyTypeFieldId = ?"
|
||||||
|
)
|
||||||
|
.run(currentField.orderNumber, occupancyTypeFieldId);
|
||||||
|
|
||||||
|
database.close();
|
||||||
|
|
||||||
|
clearOccupancyTypesCache();
|
||||||
|
|
||||||
|
return result.changes > 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
export default moveOccupancyTypeFieldDown;
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
export declare const moveOccupancyTypeFieldUp: (occupancyTypeFieldId: number | string) => boolean;
|
||||||
|
export default moveOccupancyTypeFieldUp;
|
||||||
|
|
@ -0,0 +1,36 @@
|
||||||
|
import sqlite from "better-sqlite3";
|
||||||
|
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||||
|
import { clearOccupancyTypesCache } from "../functions.cache.js";
|
||||||
|
export const moveOccupancyTypeFieldUp = (occupancyTypeFieldId) => {
|
||||||
|
const database = sqlite(databasePath);
|
||||||
|
const currentField = database
|
||||||
|
.prepare("select occupancyTypeId, orderNumber" +
|
||||||
|
" from OccupancyTypeFields" +
|
||||||
|
" where occupancyTypeFieldId = ?")
|
||||||
|
.get(occupancyTypeFieldId);
|
||||||
|
if (currentField.orderNumber <= 0) {
|
||||||
|
database.close();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
database
|
||||||
|
.prepare("update OccupancyTypeFields" +
|
||||||
|
" set orderNumber = orderNumber + 1" +
|
||||||
|
" where recordDelete_timeMillis is null" +
|
||||||
|
(currentField.occupancyTypeId
|
||||||
|
? " and occupancyTypeId = '" + currentField.occupancyTypeId + "'"
|
||||||
|
: " and occupancyTypeId is null") +
|
||||||
|
" and orderNumber = ? - 1")
|
||||||
|
.run(currentField.orderNumber);
|
||||||
|
const result = database
|
||||||
|
.prepare("update OccupancyTypeFields" +
|
||||||
|
" set orderNumber = ? - 1" +
|
||||||
|
" where occupancyTypeFieldId = ?" +
|
||||||
|
(currentField.occupancyTypeId
|
||||||
|
? " and occupancyTypeId = '" + currentField.occupancyTypeId + "'"
|
||||||
|
: " and occupancyTypeId is null"))
|
||||||
|
.run(currentField.orderNumber, occupancyTypeFieldId);
|
||||||
|
database.close();
|
||||||
|
clearOccupancyTypesCache();
|
||||||
|
return result.changes > 0;
|
||||||
|
};
|
||||||
|
export default moveOccupancyTypeFieldUp;
|
||||||
|
|
@ -0,0 +1,53 @@
|
||||||
|
import sqlite from "better-sqlite3";
|
||||||
|
|
||||||
|
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||||
|
|
||||||
|
import { clearOccupancyTypesCache } from "../functions.cache.js";
|
||||||
|
|
||||||
|
export const moveOccupancyTypeFieldUp = (occupancyTypeFieldId: number | string): boolean => {
|
||||||
|
const database = sqlite(databasePath);
|
||||||
|
|
||||||
|
const currentField: { occupancyTypeId?: number; orderNumber: number } = database
|
||||||
|
.prepare(
|
||||||
|
"select occupancyTypeId, orderNumber" +
|
||||||
|
" from OccupancyTypeFields" +
|
||||||
|
" where occupancyTypeFieldId = ?"
|
||||||
|
)
|
||||||
|
.get(occupancyTypeFieldId);
|
||||||
|
|
||||||
|
if (currentField.orderNumber <= 0) {
|
||||||
|
database.close();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
database
|
||||||
|
.prepare(
|
||||||
|
"update OccupancyTypeFields" +
|
||||||
|
" set orderNumber = orderNumber + 1" +
|
||||||
|
" where recordDelete_timeMillis is null" +
|
||||||
|
(currentField.occupancyTypeId
|
||||||
|
? " and occupancyTypeId = '" + currentField.occupancyTypeId + "'"
|
||||||
|
: " and occupancyTypeId is null") +
|
||||||
|
" and orderNumber = ? - 1"
|
||||||
|
)
|
||||||
|
.run(currentField.orderNumber);
|
||||||
|
|
||||||
|
const result = database
|
||||||
|
.prepare(
|
||||||
|
"update OccupancyTypeFields" +
|
||||||
|
" set orderNumber = ? - 1" +
|
||||||
|
" where occupancyTypeFieldId = ?" +
|
||||||
|
(currentField.occupancyTypeId
|
||||||
|
? " and occupancyTypeId = '" + currentField.occupancyTypeId + "'"
|
||||||
|
: " and occupancyTypeId is null")
|
||||||
|
)
|
||||||
|
.run(currentField.orderNumber, occupancyTypeFieldId);
|
||||||
|
|
||||||
|
database.close();
|
||||||
|
|
||||||
|
clearOccupancyTypesCache();
|
||||||
|
|
||||||
|
return result.changes > 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
export default moveOccupancyTypeFieldUp;
|
||||||
|
|
@ -139,20 +139,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
}, occupancyTypeResponseHandler);
|
}, occupancyTypeResponseHandler);
|
||||||
};
|
};
|
||||||
const openEditOccupancyTypeField = (occupancyTypeId, occupancyTypeFieldId) => {
|
const openEditOccupancyTypeField = (occupancyTypeId, occupancyTypeFieldId) => {
|
||||||
let occupancyTypeField;
|
let occupancyType;
|
||||||
if (occupancyTypeId) {
|
if (occupancyTypeId) {
|
||||||
const occupancyType = occupancyTypes.find((currentOccupancyType) => {
|
occupancyType = occupancyTypes.find((currentOccupancyType) => {
|
||||||
return currentOccupancyType.occupancyTypeId === occupancyTypeId;
|
return currentOccupancyType.occupancyTypeId === occupancyTypeId;
|
||||||
});
|
});
|
||||||
occupancyTypeField = occupancyType.occupancyTypeFields.find((currentOccupancyTypeField) => {
|
}
|
||||||
|
const occupancyTypeField = (occupancyType ? occupancyType.occupancyTypeFields : allOccupancyTypeFields).find((currentOccupancyTypeField) => {
|
||||||
return currentOccupancyTypeField.occupancyTypeFieldId === occupancyTypeFieldId;
|
return currentOccupancyTypeField.occupancyTypeFieldId === occupancyTypeFieldId;
|
||||||
});
|
});
|
||||||
}
|
|
||||||
else {
|
|
||||||
occupancyTypeField = allOccupancyTypeFields.find((currentOccupancyTypeField) => {
|
|
||||||
return currentOccupancyTypeField.occupancyTypeFieldId === occupancyTypeFieldId;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
let minimumLengthElement;
|
let minimumLengthElement;
|
||||||
let maximumLengthElement;
|
let maximumLengthElement;
|
||||||
let patternElement;
|
let patternElement;
|
||||||
|
|
@ -244,6 +239,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
const occupancyTypeId = Number.parseInt(clickEvent.currentTarget.closest(".container--occupancyType").dataset.occupancyTypeId, 10);
|
const occupancyTypeId = Number.parseInt(clickEvent.currentTarget.closest(".container--occupancyType").dataset.occupancyTypeId, 10);
|
||||||
openEditOccupancyTypeField(occupancyTypeId, occupancyTypeFieldId);
|
openEditOccupancyTypeField(occupancyTypeId, occupancyTypeFieldId);
|
||||||
};
|
};
|
||||||
|
const moveOccupancyTypeFieldUp = (clickEvent) => {
|
||||||
|
clickEvent.preventDefault();
|
||||||
|
const occupancyTypeFieldId = clickEvent.currentTarget.closest(".container--occupancyTypeField").dataset.occupancyTypeFieldId;
|
||||||
|
cityssm.postJSON(urlPrefix + "/admin/doMoveOccupancyTypeFieldUp", {
|
||||||
|
occupancyTypeFieldId
|
||||||
|
}, occupancyTypeResponseHandler);
|
||||||
|
};
|
||||||
|
const moveOccupancyTypeFieldDown = (clickEvent) => {
|
||||||
|
clickEvent.preventDefault();
|
||||||
|
const occupancyTypeFieldId = clickEvent.currentTarget.closest(".container--occupancyTypeField").dataset.occupancyTypeFieldId;
|
||||||
|
cityssm.postJSON(urlPrefix + "/admin/doMoveOccupancyTypeFieldDown", {
|
||||||
|
occupancyTypeFieldId
|
||||||
|
}, occupancyTypeResponseHandler);
|
||||||
|
};
|
||||||
const renderOccupancyTypeFields = (panelElement, occupancyTypeId, occupancyTypeFields) => {
|
const renderOccupancyTypeFields = (panelElement, occupancyTypeId, occupancyTypeFields) => {
|
||||||
if (occupancyTypeFields.length === 0) {
|
if (occupancyTypeFields.length === 0) {
|
||||||
panelElement.insertAdjacentHTML("beforeend", '<div class="panel-block is-block' +
|
panelElement.insertAdjacentHTML("beforeend", '<div class="panel-block is-block' +
|
||||||
|
|
@ -294,6 +303,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
panelBlockElement
|
panelBlockElement
|
||||||
.querySelector(".button--editOccupancyTypeField")
|
.querySelector(".button--editOccupancyTypeField")
|
||||||
.addEventListener("click", openEditOccupancyTypeFieldByClick);
|
.addEventListener("click", openEditOccupancyTypeFieldByClick);
|
||||||
|
panelBlockElement
|
||||||
|
.querySelector(".button--moveOccupancyTypeFieldUp")
|
||||||
|
.addEventListener("click", moveOccupancyTypeFieldUp);
|
||||||
|
panelBlockElement
|
||||||
|
.querySelector(".button--moveOccupancyTypeFieldDown")
|
||||||
|
.addEventListener("click", moveOccupancyTypeFieldDown);
|
||||||
panelElement.append(panelBlockElement);
|
panelElement.append(panelBlockElement);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -282,23 +282,19 @@ declare const bulmaJS: BulmaJS;
|
||||||
};
|
};
|
||||||
|
|
||||||
const openEditOccupancyTypeField = (occupancyTypeId: number, occupancyTypeFieldId: number) => {
|
const openEditOccupancyTypeField = (occupancyTypeId: number, occupancyTypeFieldId: number) => {
|
||||||
let occupancyTypeField: recordTypes.OccupancyTypeField;
|
let occupancyType: recordTypes.OccupancyType;
|
||||||
|
|
||||||
if (occupancyTypeId) {
|
if (occupancyTypeId) {
|
||||||
const occupancyType = occupancyTypes.find((currentOccupancyType) => {
|
occupancyType = occupancyTypes.find((currentOccupancyType) => {
|
||||||
return currentOccupancyType.occupancyTypeId === occupancyTypeId;
|
return currentOccupancyType.occupancyTypeId === occupancyTypeId;
|
||||||
});
|
});
|
||||||
|
|
||||||
occupancyTypeField = occupancyType.occupancyTypeFields.find(
|
|
||||||
(currentOccupancyTypeField) => {
|
|
||||||
return currentOccupancyTypeField.occupancyTypeFieldId === occupancyTypeFieldId;
|
|
||||||
}
|
}
|
||||||
);
|
|
||||||
} else {
|
const occupancyTypeField = (
|
||||||
occupancyTypeField = allOccupancyTypeFields.find((currentOccupancyTypeField) => {
|
occupancyType ? occupancyType.occupancyTypeFields : allOccupancyTypeFields
|
||||||
|
).find((currentOccupancyTypeField) => {
|
||||||
return currentOccupancyTypeField.occupancyTypeFieldId === occupancyTypeFieldId;
|
return currentOccupancyTypeField.occupancyTypeFieldId === occupancyTypeFieldId;
|
||||||
});
|
});
|
||||||
}
|
|
||||||
|
|
||||||
let minimumLengthElement: HTMLInputElement;
|
let minimumLengthElement: HTMLInputElement;
|
||||||
let maximumLengthElement: HTMLInputElement;
|
let maximumLengthElement: HTMLInputElement;
|
||||||
|
|
@ -469,6 +465,44 @@ declare const bulmaJS: BulmaJS;
|
||||||
openEditOccupancyTypeField(occupancyTypeId, occupancyTypeFieldId);
|
openEditOccupancyTypeField(occupancyTypeId, occupancyTypeFieldId);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
const moveOccupancyTypeFieldUp = (clickEvent: Event) => {
|
||||||
|
clickEvent.preventDefault();
|
||||||
|
|
||||||
|
const occupancyTypeFieldId = (
|
||||||
|
(clickEvent.currentTarget as HTMLElement).closest(
|
||||||
|
".container--occupancyTypeField"
|
||||||
|
) as HTMLElement
|
||||||
|
).dataset.occupancyTypeFieldId;
|
||||||
|
|
||||||
|
cityssm.postJSON(
|
||||||
|
urlPrefix + "/admin/doMoveOccupancyTypeFieldUp",
|
||||||
|
{
|
||||||
|
occupancyTypeFieldId
|
||||||
|
},
|
||||||
|
occupancyTypeResponseHandler
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
const moveOccupancyTypeFieldDown = (clickEvent: Event) => {
|
||||||
|
clickEvent.preventDefault();
|
||||||
|
|
||||||
|
const occupancyTypeFieldId = (
|
||||||
|
(clickEvent.currentTarget as HTMLElement).closest(
|
||||||
|
".container--occupancyTypeField"
|
||||||
|
) as HTMLElement
|
||||||
|
).dataset.occupancyTypeFieldId;
|
||||||
|
|
||||||
|
cityssm.postJSON(
|
||||||
|
urlPrefix + "/admin/doMoveOccupancyTypeFieldDown",
|
||||||
|
{
|
||||||
|
occupancyTypeFieldId
|
||||||
|
},
|
||||||
|
occupancyTypeResponseHandler
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
const renderOccupancyTypeFields = (
|
const renderOccupancyTypeFields = (
|
||||||
panelElement: HTMLElement,
|
panelElement: HTMLElement,
|
||||||
occupancyTypeId: number | undefined,
|
occupancyTypeId: number | undefined,
|
||||||
|
|
@ -530,6 +564,14 @@ declare const bulmaJS: BulmaJS;
|
||||||
.querySelector(".button--editOccupancyTypeField")
|
.querySelector(".button--editOccupancyTypeField")
|
||||||
.addEventListener("click", openEditOccupancyTypeFieldByClick);
|
.addEventListener("click", openEditOccupancyTypeFieldByClick);
|
||||||
|
|
||||||
|
panelBlockElement
|
||||||
|
.querySelector(".button--moveOccupancyTypeFieldUp")
|
||||||
|
.addEventListener("click", moveOccupancyTypeFieldUp);
|
||||||
|
|
||||||
|
panelBlockElement
|
||||||
|
.querySelector(".button--moveOccupancyTypeFieldDown")
|
||||||
|
.addEventListener("click", moveOccupancyTypeFieldDown);
|
||||||
|
|
||||||
panelElement.append(panelBlockElement);
|
panelElement.append(panelBlockElement);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -19,6 +19,8 @@ import handler_doMoveOccupancyTypeDown from "../handlers/admin-post/doMoveOccupa
|
||||||
import handler_doDeleteOccupancyType from "../handlers/admin-post/doDeleteOccupancyType.js";
|
import handler_doDeleteOccupancyType from "../handlers/admin-post/doDeleteOccupancyType.js";
|
||||||
import handler_doAddOccupancyTypeField from "../handlers/admin-post/doAddOccupancyTypeField.js";
|
import handler_doAddOccupancyTypeField from "../handlers/admin-post/doAddOccupancyTypeField.js";
|
||||||
import handler_doUpdateOccupancyTypeField from "../handlers/admin-post/doUpdateOccupancyTypeField.js";
|
import handler_doUpdateOccupancyTypeField from "../handlers/admin-post/doUpdateOccupancyTypeField.js";
|
||||||
|
import handler_doMoveOccupancyTypeFieldUp from "../handlers/admin-post/doMoveOccupancyTypeFieldUp.js";
|
||||||
|
import handler_doMoveOccupancyTypeFieldDown from "../handlers/admin-post/doMoveOccupancyTypeFieldDown.js";
|
||||||
import handler_doDeleteOccupancyTypeField from "../handlers/admin-post/doDeleteOccupancyTypeField.js";
|
import handler_doDeleteOccupancyTypeField from "../handlers/admin-post/doDeleteOccupancyTypeField.js";
|
||||||
import handler_tables from "../handlers/admin-get/tables.js";
|
import handler_tables from "../handlers/admin-get/tables.js";
|
||||||
import handler_doAddWorkOrderType from "../handlers/admin-post/doAddWorkOrderType.js";
|
import handler_doAddWorkOrderType from "../handlers/admin-post/doAddWorkOrderType.js";
|
||||||
|
|
@ -61,6 +63,8 @@ router.post("/doMoveOccupancyTypeDown", permissionHandlers.adminPostHandler, han
|
||||||
router.post("/doDeleteOccupancyType", permissionHandlers.adminPostHandler, handler_doDeleteOccupancyType);
|
router.post("/doDeleteOccupancyType", permissionHandlers.adminPostHandler, handler_doDeleteOccupancyType);
|
||||||
router.post("/doAddOccupancyTypeField", permissionHandlers.adminPostHandler, handler_doAddOccupancyTypeField);
|
router.post("/doAddOccupancyTypeField", permissionHandlers.adminPostHandler, handler_doAddOccupancyTypeField);
|
||||||
router.post("/doUpdateOccupancyTypeField", permissionHandlers.adminPostHandler, handler_doUpdateOccupancyTypeField);
|
router.post("/doUpdateOccupancyTypeField", permissionHandlers.adminPostHandler, handler_doUpdateOccupancyTypeField);
|
||||||
|
router.post("/doMoveOccupancyTypeFieldUp", permissionHandlers.adminPostHandler, handler_doMoveOccupancyTypeFieldUp);
|
||||||
|
router.post("/doMoveOccupancyTypeFieldDown", permissionHandlers.adminPostHandler, handler_doMoveOccupancyTypeFieldDown);
|
||||||
router.post("/doDeleteOccupancyTypeField", permissionHandlers.adminPostHandler, handler_doDeleteOccupancyTypeField);
|
router.post("/doDeleteOccupancyTypeField", permissionHandlers.adminPostHandler, handler_doDeleteOccupancyTypeField);
|
||||||
router.get("/tables", permissionHandlers.adminGetHandler, handler_tables);
|
router.get("/tables", permissionHandlers.adminGetHandler, handler_tables);
|
||||||
router.post("/doAddWorkOrderType", permissionHandlers.adminPostHandler, handler_doAddWorkOrderType);
|
router.post("/doAddWorkOrderType", permissionHandlers.adminPostHandler, handler_doAddWorkOrderType);
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,8 @@ import handler_doDeleteOccupancyType from "../handlers/admin-post/doDeleteOccupa
|
||||||
|
|
||||||
import handler_doAddOccupancyTypeField from "../handlers/admin-post/doAddOccupancyTypeField.js";
|
import handler_doAddOccupancyTypeField from "../handlers/admin-post/doAddOccupancyTypeField.js";
|
||||||
import handler_doUpdateOccupancyTypeField from "../handlers/admin-post/doUpdateOccupancyTypeField.js";
|
import handler_doUpdateOccupancyTypeField from "../handlers/admin-post/doUpdateOccupancyTypeField.js";
|
||||||
|
import handler_doMoveOccupancyTypeFieldUp from "../handlers/admin-post/doMoveOccupancyTypeFieldUp.js";
|
||||||
|
import handler_doMoveOccupancyTypeFieldDown from "../handlers/admin-post/doMoveOccupancyTypeFieldDown.js";
|
||||||
import handler_doDeleteOccupancyTypeField from "../handlers/admin-post/doDeleteOccupancyTypeField.js";
|
import handler_doDeleteOccupancyTypeField from "../handlers/admin-post/doDeleteOccupancyTypeField.js";
|
||||||
|
|
||||||
// Config Table Management
|
// Config Table Management
|
||||||
|
|
@ -178,6 +180,18 @@ router.post(
|
||||||
handler_doUpdateOccupancyTypeField
|
handler_doUpdateOccupancyTypeField
|
||||||
);
|
);
|
||||||
|
|
||||||
|
router.post(
|
||||||
|
"/doMoveOccupancyTypeFieldUp",
|
||||||
|
permissionHandlers.adminPostHandler,
|
||||||
|
handler_doMoveOccupancyTypeFieldUp
|
||||||
|
);
|
||||||
|
|
||||||
|
router.post(
|
||||||
|
"/doMoveOccupancyTypeFieldDown",
|
||||||
|
permissionHandlers.adminPostHandler,
|
||||||
|
handler_doMoveOccupancyTypeFieldDown
|
||||||
|
);
|
||||||
|
|
||||||
router.post(
|
router.post(
|
||||||
"/doDeleteOccupancyTypeField",
|
"/doDeleteOccupancyTypeField",
|
||||||
permissionHandlers.adminPostHandler,
|
permissionHandlers.adminPostHandler,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue