deepsource-autofix-76c6eb20
Dan Gowans 2023-01-12 13:03:30 -05:00
parent 87a74d3570
commit 2adb053a55
38 changed files with 942 additions and 872 deletions

View File

@ -1,3 +1,3 @@
import type { RequestHandler } from "express"; import type { RequestHandler } from 'express';
export declare const handler: RequestHandler; export declare const handler: RequestHandler;
export default handler; export default handler;

View File

@ -1,11 +1,12 @@
import * as configFunctions from "../../helpers/functions.config.js"; import * as configFunctions from '../../helpers/functions.config.js';
export const handler = (_request, response) => { export const handler = (_request, response) => {
if (!configFunctions.getProperty("application.ntfyStartup")) { if (!configFunctions.getProperty('application.ntfyStartup')) {
return response.redirect(configFunctions.getProperty("reverseProxy.urlPrefix") + response.redirect(configFunctions.getProperty('reverseProxy.urlPrefix') +
"/dashboard/?error=ntfyNotConfigured"); '/dashboard/?error=ntfyNotConfigured');
return;
} }
response.render("admin-ntfyStartup", { response.render('admin-ntfyStartup', {
headTitle: "Ntfy Startup Notification" headTitle: 'Ntfy Startup Notification'
}); });
}; };
export default handler; export default handler;

View File

@ -1,19 +1,19 @@
import type { RequestHandler } from "express"; import type { RequestHandler } from 'express'
import * as configFunctions from "../../helpers/functions.config.js"; import * as configFunctions from '../../helpers/functions.config.js'
export const handler: RequestHandler = (_request, response) => { export const handler: RequestHandler = (_request, response) => {
if (!configFunctions.getProperty('application.ntfyStartup')) {
response.redirect(
configFunctions.getProperty('reverseProxy.urlPrefix') +
'/dashboard/?error=ntfyNotConfigured'
)
return
}
if (!configFunctions.getProperty("application.ntfyStartup")) { response.render('admin-ntfyStartup', {
return response.redirect( headTitle: 'Ntfy Startup Notification'
configFunctions.getProperty("reverseProxy.urlPrefix") + })
"/dashboard/?error=ntfyNotConfigured" }
);
}
response.render("admin-ntfyStartup", { export default handler
headTitle: "Ntfy Startup Notification"
});
};
export default handler;

View File

@ -1,4 +1,4 @@
import type * as recordTypes from "../../types/recordTypes"; import type * as recordTypes from '../../types/recordTypes';
interface GetPastLotOccupancyOccupantsFilters { interface GetPastLotOccupancyOccupantsFilters {
searchFilter: string; searchFilter: string;
} }

View File

@ -1,13 +1,13 @@
import sqlite from "better-sqlite3"; import sqlite from 'better-sqlite3';
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js';
export function getPastLotOccupancyOccupants(filters, options) { export function getPastLotOccupancyOccupants(filters, options) {
const database = sqlite(databasePath, { const database = sqlite(databasePath, {
readonly: true readonly: true
}); });
let sqlWhereClause = " where o.recordDelete_timeMillis is null and l.recordDelete_timeMillis is null"; let sqlWhereClause = ' where o.recordDelete_timeMillis is null and l.recordDelete_timeMillis is null';
const sqlParameters = []; const sqlParameters = [];
if (filters.searchFilter) { if (filters.searchFilter) {
const searchFilterPieces = filters.searchFilter.split(" "); const searchFilterPieces = filters.searchFilter.split(' ');
for (const searchFilterPiece of searchFilterPieces) { for (const searchFilterPiece of searchFilterPieces) {
sqlWhereClause += sqlWhereClause +=
" and (o.occupantName like '%' || ? || '%'" + " and (o.occupantName like '%' || ? || '%'" +
@ -17,19 +17,19 @@ export function getPastLotOccupancyOccupants(filters, options) {
sqlParameters.push(searchFilterPiece, searchFilterPiece, searchFilterPiece, searchFilterPiece); sqlParameters.push(searchFilterPiece, searchFilterPiece, searchFilterPiece, searchFilterPiece);
} }
} }
const sql = "select" + const sql = 'select' +
" o.occupantName, o.occupantAddress1, o.occupantAddress2," + ' o.occupantName, o.occupantAddress1, o.occupantAddress2,' +
" o.occupantCity, o.occupantProvince, o.occupantPostalCode," + ' o.occupantCity, o.occupantProvince, o.occupantPostalCode,' +
" o.occupantPhoneNumber, o.occupantEmailAddress," + ' o.occupantPhoneNumber, o.occupantEmailAddress,' +
" count(*) as lotOccupancyIdCount," + ' count(*) as lotOccupancyIdCount,' +
" max(o.recordUpdate_timeMillis) as recordUpdate_timeMillisMax" + ' max(o.recordUpdate_timeMillis) as recordUpdate_timeMillisMax' +
" from LotOccupancyOccupants o" + ' from LotOccupancyOccupants o' +
" left join LotOccupancies l on o.lotOccupancyId = l.lotOccupancyId" + ' left join LotOccupancies l on o.lotOccupancyId = l.lotOccupancyId' +
sqlWhereClause + sqlWhereClause +
" group by occupantName, occupantAddress1, occupantAddress2, occupantCity, occupantProvince, occupantPostalCode," + ' group by occupantName, occupantAddress1, occupantAddress2, occupantCity, occupantProvince, occupantPostalCode,' +
" occupantPhoneNumber, occupantEmailAddress" + ' occupantPhoneNumber, occupantEmailAddress' +
" order by lotOccupancyIdCount desc, recordUpdate_timeMillisMax desc" + ' order by lotOccupancyIdCount desc, recordUpdate_timeMillisMax desc' +
" limit " + ' limit ' +
options.limit; options.limit;
const lotOccupancyOccupants = database const lotOccupancyOccupants = database
.prepare(sql) .prepare(sql)

View File

@ -1,72 +1,72 @@
import sqlite from "better-sqlite3"; import sqlite from 'better-sqlite3'
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'
import type * as recordTypes from "../../types/recordTypes"; import type * as recordTypes from '../../types/recordTypes'
interface GetPastLotOccupancyOccupantsFilters { interface GetPastLotOccupancyOccupantsFilters {
searchFilter: string; searchFilter: string
} }
interface GetPastLotOccupancyOccupantsOptions { interface GetPastLotOccupancyOccupantsOptions {
limit: number; limit: number
} }
export function getPastLotOccupancyOccupants( export function getPastLotOccupancyOccupants(
filters: GetPastLotOccupancyOccupantsFilters, filters: GetPastLotOccupancyOccupantsFilters,
options: GetPastLotOccupancyOccupantsOptions options: GetPastLotOccupancyOccupantsOptions
): recordTypes.LotOccupancyOccupant[] { ): recordTypes.LotOccupancyOccupant[] {
const database = sqlite(databasePath, { const database = sqlite(databasePath, {
readonly: true readonly: true
}); })
let sqlWhereClause = let sqlWhereClause =
" where o.recordDelete_timeMillis is null and l.recordDelete_timeMillis is null"; ' where o.recordDelete_timeMillis is null and l.recordDelete_timeMillis is null'
const sqlParameters: unknown[] = []; const sqlParameters: unknown[] = []
if (filters.searchFilter) { if (filters.searchFilter) {
const searchFilterPieces = filters.searchFilter.split(" "); const searchFilterPieces = filters.searchFilter.split(' ')
for (const searchFilterPiece of searchFilterPieces) { for (const searchFilterPiece of searchFilterPieces) {
sqlWhereClause += sqlWhereClause +=
" and (o.occupantName like '%' || ? || '%'" + " and (o.occupantName like '%' || ? || '%'" +
" or o.occupantAddress1 like '%' || ? || '%'" + " or o.occupantAddress1 like '%' || ? || '%'" +
" or o.occupantAddress2 like '%' || ? || '%'" + " or o.occupantAddress2 like '%' || ? || '%'" +
" or o.occupantCity like '%' || ? || '%')"; " or o.occupantCity like '%' || ? || '%')"
sqlParameters.push( sqlParameters.push(
searchFilterPiece, searchFilterPiece,
searchFilterPiece, searchFilterPiece,
searchFilterPiece, searchFilterPiece,
searchFilterPiece searchFilterPiece
); )
}
} }
}
const sql = const sql =
"select" + 'select' +
" o.occupantName, o.occupantAddress1, o.occupantAddress2," + ' o.occupantName, o.occupantAddress1, o.occupantAddress2,' +
" o.occupantCity, o.occupantProvince, o.occupantPostalCode," + ' o.occupantCity, o.occupantProvince, o.occupantPostalCode,' +
" o.occupantPhoneNumber, o.occupantEmailAddress," + ' o.occupantPhoneNumber, o.occupantEmailAddress,' +
" count(*) as lotOccupancyIdCount," + ' count(*) as lotOccupancyIdCount,' +
" max(o.recordUpdate_timeMillis) as recordUpdate_timeMillisMax" + ' max(o.recordUpdate_timeMillis) as recordUpdate_timeMillisMax' +
" from LotOccupancyOccupants o" + ' from LotOccupancyOccupants o' +
" left join LotOccupancies l on o.lotOccupancyId = l.lotOccupancyId" + ' left join LotOccupancies l on o.lotOccupancyId = l.lotOccupancyId' +
sqlWhereClause + sqlWhereClause +
" group by occupantName, occupantAddress1, occupantAddress2, occupantCity, occupantProvince, occupantPostalCode," + ' group by occupantName, occupantAddress1, occupantAddress2, occupantCity, occupantProvince, occupantPostalCode,' +
" occupantPhoneNumber, occupantEmailAddress" + ' occupantPhoneNumber, occupantEmailAddress' +
" order by lotOccupancyIdCount desc, recordUpdate_timeMillisMax desc" + ' order by lotOccupancyIdCount desc, recordUpdate_timeMillisMax desc' +
" limit " + ' limit ' +
options.limit; options.limit
const lotOccupancyOccupants: recordTypes.LotOccupancyOccupant[] = database const lotOccupancyOccupants: recordTypes.LotOccupancyOccupant[] = database
.prepare(sql) .prepare(sql)
.all(sqlParameters); .all(sqlParameters)
database.close(); database.close()
return lotOccupancyOccupants; return lotOccupancyOccupants
} }
export default getPastLotOccupancyOccupants; export default getPastLotOccupancyOccupants

348
package-lock.json generated
View File

@ -78,8 +78,8 @@
"cypress": "^12.3.0", "cypress": "^12.3.0",
"cypress-axe": "^1.2.0", "cypress-axe": "^1.2.0",
"eslint": "^8.31.0", "eslint": "^8.31.0",
"eslint-config-standard-with-typescript": "^26.0.0", "eslint-config-standard-with-typescript": "^27.0.1",
"eslint-plugin-import": "^2.26.0", "eslint-plugin-import": "^2.27.4",
"eslint-plugin-node": "^11.1.0", "eslint-plugin-node": "^11.1.0",
"eslint-plugin-promise": "^6.1.1", "eslint-plugin-promise": "^6.1.1",
"eslint-plugin-unicorn": "^45.0.2", "eslint-plugin-unicorn": "^45.0.2",
@ -1888,15 +1888,15 @@
"integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="
}, },
"node_modules/array-includes": { "node_modules/array-includes": {
"version": "3.1.5", "version": "3.1.6",
"resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz", "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz",
"integrity": "sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==", "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"call-bind": "^1.0.2", "call-bind": "^1.0.2",
"define-properties": "^1.1.4", "define-properties": "^1.1.4",
"es-abstract": "^1.19.5", "es-abstract": "^1.20.4",
"get-intrinsic": "^1.1.1", "get-intrinsic": "^1.1.3",
"is-string": "^1.0.7" "is-string": "^1.0.7"
}, },
"engines": { "engines": {
@ -1991,14 +1991,32 @@
} }
}, },
"node_modules/array.prototype.flat": { "node_modules/array.prototype.flat": {
"version": "1.3.0", "version": "1.3.1",
"resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz", "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz",
"integrity": "sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==", "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"call-bind": "^1.0.2", "call-bind": "^1.0.2",
"define-properties": "^1.1.3", "define-properties": "^1.1.4",
"es-abstract": "^1.19.2", "es-abstract": "^1.20.4",
"es-shim-unscopables": "^1.0.0"
},
"engines": {
"node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/array.prototype.flatmap": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz",
"integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==",
"dev": true,
"dependencies": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.4",
"es-abstract": "^1.20.4",
"es-shim-unscopables": "^1.0.0" "es-shim-unscopables": "^1.0.0"
}, },
"engines": { "engines": {
@ -4058,9 +4076,9 @@
} }
}, },
"node_modules/eslint-config-standard-with-typescript": { "node_modules/eslint-config-standard-with-typescript": {
"version": "26.0.0", "version": "27.0.1",
"resolved": "https://registry.npmjs.org/eslint-config-standard-with-typescript/-/eslint-config-standard-with-typescript-26.0.0.tgz", "resolved": "https://registry.npmjs.org/eslint-config-standard-with-typescript/-/eslint-config-standard-with-typescript-27.0.1.tgz",
"integrity": "sha512-TluIWunQo76qp4MHyYIaTT+sN2q2v/jTeE3Dj4rXsSbx27GOUEOujhJaAL3v9dHVQelAK13gZ5Jy9IWnWCyFrg==", "integrity": "sha512-jJVyJldqqiCu3uSA/FP0x9jCDMG+Bbl73twTSnp0aysumJrz4iaVqLl+tGgmPrv0R829GVs117Nmn47M1DDDXA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@typescript-eslint/parser": "^5.0.0", "@typescript-eslint/parser": "^5.0.0",
@ -4076,13 +4094,14 @@
} }
}, },
"node_modules/eslint-import-resolver-node": { "node_modules/eslint-import-resolver-node": {
"version": "0.3.6", "version": "0.3.7",
"resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz",
"integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"debug": "^3.2.7", "debug": "^3.2.7",
"resolve": "^1.20.0" "is-core-module": "^2.11.0",
"resolve": "^1.22.1"
} }
}, },
"node_modules/eslint-import-resolver-node/node_modules/debug": { "node_modules/eslint-import-resolver-node/node_modules/debug": {
@ -4095,16 +4114,20 @@
} }
}, },
"node_modules/eslint-module-utils": { "node_modules/eslint-module-utils": {
"version": "2.7.3", "version": "2.7.4",
"resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz", "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz",
"integrity": "sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==", "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"debug": "^3.2.7", "debug": "^3.2.7"
"find-up": "^2.1.0"
}, },
"engines": { "engines": {
"node": ">=4" "node": ">=4"
},
"peerDependenciesMeta": {
"eslint": {
"optional": true
}
} }
}, },
"node_modules/eslint-module-utils/node_modules/debug": { "node_modules/eslint-module-utils/node_modules/debug": {
@ -4160,23 +4183,25 @@
} }
}, },
"node_modules/eslint-plugin-import": { "node_modules/eslint-plugin-import": {
"version": "2.26.0", "version": "2.27.4",
"resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.4.tgz",
"integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", "integrity": "sha512-Z1jVt1EGKia1X9CnBCkpAOhWy8FgQ7OmJ/IblEkT82yrFU/xJaxwujaTzLWqigewwynRQ9mmHfX9MtAfhxm0sA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"array-includes": "^3.1.4", "array-includes": "^3.1.6",
"array.prototype.flat": "^1.2.5", "array.prototype.flat": "^1.3.1",
"debug": "^2.6.9", "array.prototype.flatmap": "^1.3.0",
"debug": "^3.2.7",
"doctrine": "^2.1.0", "doctrine": "^2.1.0",
"eslint-import-resolver-node": "^0.3.6", "eslint-import-resolver-node": "^0.3.7",
"eslint-module-utils": "^2.7.3", "eslint-module-utils": "^2.7.4",
"has": "^1.0.3", "has": "^1.0.3",
"is-core-module": "^2.8.1", "is-core-module": "^2.11.0",
"is-glob": "^4.0.3", "is-glob": "^4.0.3",
"minimatch": "^3.1.2", "minimatch": "^3.1.2",
"object.values": "^1.1.5", "object.values": "^1.1.6",
"resolve": "^1.22.0", "resolve": "^1.22.1",
"semver": "^6.3.0",
"tsconfig-paths": "^3.14.1" "tsconfig-paths": "^3.14.1"
}, },
"engines": { "engines": {
@ -4187,12 +4212,12 @@
} }
}, },
"node_modules/eslint-plugin-import/node_modules/debug": { "node_modules/eslint-plugin-import/node_modules/debug": {
"version": "2.6.9", "version": "3.2.7",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"ms": "2.0.0" "ms": "^2.1.1"
} }
}, },
"node_modules/eslint-plugin-import/node_modules/doctrine": { "node_modules/eslint-plugin-import/node_modules/doctrine": {
@ -4207,11 +4232,14 @@
"node": ">=0.10.0" "node": ">=0.10.0"
} }
}, },
"node_modules/eslint-plugin-import/node_modules/ms": { "node_modules/eslint-plugin-import/node_modules/semver": {
"version": "2.0.0", "version": "6.3.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
"dev": true "dev": true,
"bin": {
"semver": "bin/semver.js"
}
}, },
"node_modules/eslint-plugin-n": { "node_modules/eslint-plugin-n": {
"version": "15.6.1", "version": "15.6.1",
@ -5306,18 +5334,6 @@
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
}, },
"node_modules/find-up": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
"integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==",
"dev": true,
"dependencies": {
"locate-path": "^2.0.0"
},
"engines": {
"node": ">=4"
}
},
"node_modules/findup-sync": { "node_modules/findup-sync": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz",
@ -8077,19 +8093,6 @@
"node": ">=0.10.0" "node": ">=0.10.0"
} }
}, },
"node_modules/locate-path": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
"integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==",
"dev": true,
"dependencies": {
"p-locate": "^2.0.0",
"path-exists": "^3.0.0"
},
"engines": {
"node": ">=4"
}
},
"node_modules/lodash": { "node_modules/lodash": {
"version": "4.17.21", "version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
@ -9166,14 +9169,14 @@
} }
}, },
"node_modules/object.values": { "node_modules/object.values": {
"version": "1.1.5", "version": "1.1.6",
"resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz",
"integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"call-bind": "^1.0.2", "call-bind": "^1.0.2",
"define-properties": "^1.1.3", "define-properties": "^1.1.4",
"es-abstract": "^1.19.1" "es-abstract": "^1.20.4"
}, },
"engines": { "engines": {
"node": ">= 0.4" "node": ">= 0.4"
@ -9293,30 +9296,6 @@
"node": ">=8" "node": ">=8"
} }
}, },
"node_modules/p-limit": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
"integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
"dev": true,
"dependencies": {
"p-try": "^1.0.0"
},
"engines": {
"node": ">=4"
}
},
"node_modules/p-locate": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
"integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==",
"dev": true,
"dependencies": {
"p-limit": "^1.1.0"
},
"engines": {
"node": ">=4"
}
},
"node_modules/p-map": { "node_modules/p-map": {
"version": "4.0.0", "version": "4.0.0",
"resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
@ -9332,15 +9311,6 @@
"url": "https://github.com/sponsors/sindresorhus" "url": "https://github.com/sponsors/sindresorhus"
} }
}, },
"node_modules/p-try": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
"integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==",
"dev": true,
"engines": {
"node": ">=4"
}
},
"node_modules/papaparse": { "node_modules/papaparse": {
"version": "5.3.2", "version": "5.3.2",
"resolved": "https://registry.npmjs.org/papaparse/-/papaparse-5.3.2.tgz", "resolved": "https://registry.npmjs.org/papaparse/-/papaparse-5.3.2.tgz",
@ -9431,15 +9401,6 @@
"integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==",
"dev": true "dev": true
}, },
"node_modules/path-exists": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
"integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==",
"dev": true,
"engines": {
"node": ">=4"
}
},
"node_modules/path-is-absolute": { "node_modules/path-is-absolute": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
@ -14162,15 +14123,15 @@
"integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="
}, },
"array-includes": { "array-includes": {
"version": "3.1.5", "version": "3.1.6",
"resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz", "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz",
"integrity": "sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==", "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==",
"dev": true, "dev": true,
"requires": { "requires": {
"call-bind": "^1.0.2", "call-bind": "^1.0.2",
"define-properties": "^1.1.4", "define-properties": "^1.1.4",
"es-abstract": "^1.19.5", "es-abstract": "^1.20.4",
"get-intrinsic": "^1.1.1", "get-intrinsic": "^1.1.3",
"is-string": "^1.0.7" "is-string": "^1.0.7"
} }
}, },
@ -14239,14 +14200,26 @@
"dev": true "dev": true
}, },
"array.prototype.flat": { "array.prototype.flat": {
"version": "1.3.0", "version": "1.3.1",
"resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz", "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz",
"integrity": "sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==", "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==",
"dev": true, "dev": true,
"requires": { "requires": {
"call-bind": "^1.0.2", "call-bind": "^1.0.2",
"define-properties": "^1.1.3", "define-properties": "^1.1.4",
"es-abstract": "^1.19.2", "es-abstract": "^1.20.4",
"es-shim-unscopables": "^1.0.0"
}
},
"array.prototype.flatmap": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz",
"integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==",
"dev": true,
"requires": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.4",
"es-abstract": "^1.20.4",
"es-shim-unscopables": "^1.0.0" "es-shim-unscopables": "^1.0.0"
} }
}, },
@ -15906,9 +15879,9 @@
"requires": {} "requires": {}
}, },
"eslint-config-standard-with-typescript": { "eslint-config-standard-with-typescript": {
"version": "26.0.0", "version": "27.0.1",
"resolved": "https://registry.npmjs.org/eslint-config-standard-with-typescript/-/eslint-config-standard-with-typescript-26.0.0.tgz", "resolved": "https://registry.npmjs.org/eslint-config-standard-with-typescript/-/eslint-config-standard-with-typescript-27.0.1.tgz",
"integrity": "sha512-TluIWunQo76qp4MHyYIaTT+sN2q2v/jTeE3Dj4rXsSbx27GOUEOujhJaAL3v9dHVQelAK13gZ5Jy9IWnWCyFrg==", "integrity": "sha512-jJVyJldqqiCu3uSA/FP0x9jCDMG+Bbl73twTSnp0aysumJrz4iaVqLl+tGgmPrv0R829GVs117Nmn47M1DDDXA==",
"dev": true, "dev": true,
"requires": { "requires": {
"@typescript-eslint/parser": "^5.0.0", "@typescript-eslint/parser": "^5.0.0",
@ -15916,13 +15889,14 @@
} }
}, },
"eslint-import-resolver-node": { "eslint-import-resolver-node": {
"version": "0.3.6", "version": "0.3.7",
"resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz",
"integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==",
"dev": true, "dev": true,
"requires": { "requires": {
"debug": "^3.2.7", "debug": "^3.2.7",
"resolve": "^1.20.0" "is-core-module": "^2.11.0",
"resolve": "^1.22.1"
}, },
"dependencies": { "dependencies": {
"debug": { "debug": {
@ -15937,13 +15911,12 @@
} }
}, },
"eslint-module-utils": { "eslint-module-utils": {
"version": "2.7.3", "version": "2.7.4",
"resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz", "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz",
"integrity": "sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==", "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==",
"dev": true, "dev": true,
"requires": { "requires": {
"debug": "^3.2.7", "debug": "^3.2.7"
"find-up": "^2.1.0"
}, },
"dependencies": { "dependencies": {
"debug": { "debug": {
@ -15985,33 +15958,35 @@
} }
}, },
"eslint-plugin-import": { "eslint-plugin-import": {
"version": "2.26.0", "version": "2.27.4",
"resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.4.tgz",
"integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", "integrity": "sha512-Z1jVt1EGKia1X9CnBCkpAOhWy8FgQ7OmJ/IblEkT82yrFU/xJaxwujaTzLWqigewwynRQ9mmHfX9MtAfhxm0sA==",
"dev": true, "dev": true,
"requires": { "requires": {
"array-includes": "^3.1.4", "array-includes": "^3.1.6",
"array.prototype.flat": "^1.2.5", "array.prototype.flat": "^1.3.1",
"debug": "^2.6.9", "array.prototype.flatmap": "^1.3.0",
"debug": "^3.2.7",
"doctrine": "^2.1.0", "doctrine": "^2.1.0",
"eslint-import-resolver-node": "^0.3.6", "eslint-import-resolver-node": "^0.3.7",
"eslint-module-utils": "^2.7.3", "eslint-module-utils": "^2.7.4",
"has": "^1.0.3", "has": "^1.0.3",
"is-core-module": "^2.8.1", "is-core-module": "^2.11.0",
"is-glob": "^4.0.3", "is-glob": "^4.0.3",
"minimatch": "^3.1.2", "minimatch": "^3.1.2",
"object.values": "^1.1.5", "object.values": "^1.1.6",
"resolve": "^1.22.0", "resolve": "^1.22.1",
"semver": "^6.3.0",
"tsconfig-paths": "^3.14.1" "tsconfig-paths": "^3.14.1"
}, },
"dependencies": { "dependencies": {
"debug": { "debug": {
"version": "2.6.9", "version": "3.2.7",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"ms": "2.0.0" "ms": "^2.1.1"
} }
}, },
"doctrine": { "doctrine": {
@ -16023,10 +15998,10 @@
"esutils": "^2.0.2" "esutils": "^2.0.2"
} }
}, },
"ms": { "semver": {
"version": "2.0.0", "version": "6.3.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
"dev": true "dev": true
} }
} }
@ -16786,15 +16761,6 @@
} }
} }
}, },
"find-up": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
"integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==",
"dev": true,
"requires": {
"locate-path": "^2.0.0"
}
},
"findup-sync": { "findup-sync": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz",
@ -18907,16 +18873,6 @@
} }
} }
}, },
"locate-path": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
"integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==",
"dev": true,
"requires": {
"p-locate": "^2.0.0",
"path-exists": "^3.0.0"
}
},
"lodash": { "lodash": {
"version": "4.17.21", "version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
@ -19742,14 +19698,14 @@
} }
}, },
"object.values": { "object.values": {
"version": "1.1.5", "version": "1.1.6",
"resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz",
"integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==",
"dev": true, "dev": true,
"requires": { "requires": {
"call-bind": "^1.0.2", "call-bind": "^1.0.2",
"define-properties": "^1.1.3", "define-properties": "^1.1.4",
"es-abstract": "^1.19.1" "es-abstract": "^1.20.4"
} }
}, },
"on-finished": { "on-finished": {
@ -19836,24 +19792,6 @@
"resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz",
"integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==" "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg=="
}, },
"p-limit": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
"integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
"dev": true,
"requires": {
"p-try": "^1.0.0"
}
},
"p-locate": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
"integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==",
"dev": true,
"requires": {
"p-limit": "^1.1.0"
}
},
"p-map": { "p-map": {
"version": "4.0.0", "version": "4.0.0",
"resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
@ -19863,12 +19801,6 @@
"aggregate-error": "^3.0.0" "aggregate-error": "^3.0.0"
} }
}, },
"p-try": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
"integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==",
"dev": true
},
"papaparse": { "papaparse": {
"version": "5.3.2", "version": "5.3.2",
"resolved": "https://registry.npmjs.org/papaparse/-/papaparse-5.3.2.tgz", "resolved": "https://registry.npmjs.org/papaparse/-/papaparse-5.3.2.tgz",
@ -19935,12 +19867,6 @@
"integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==",
"dev": true "dev": true
}, },
"path-exists": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
"integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==",
"dev": true
},
"path-is-absolute": { "path-is-absolute": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",

View File

@ -102,8 +102,8 @@
"cypress": "^12.3.0", "cypress": "^12.3.0",
"cypress-axe": "^1.2.0", "cypress-axe": "^1.2.0",
"eslint": "^8.31.0", "eslint": "^8.31.0",
"eslint-config-standard-with-typescript": "^26.0.0", "eslint-config-standard-with-typescript": "^27.0.1",
"eslint-plugin-import": "^2.26.0", "eslint-plugin-import": "^2.27.4",
"eslint-plugin-node": "^11.1.0", "eslint-plugin-node": "^11.1.0",
"eslint-plugin-promise": "^6.1.1", "eslint-plugin-promise": "^6.1.1",
"eslint-plugin-unicorn": "^45.0.2", "eslint-plugin-unicorn": "^45.0.2",

View File

@ -1,5 +1,5 @@
"use strict"; "use strict";
/* eslint-disable @typescript-eslint/no-non-null-assertion, unicorn/prefer-module */ /* eslint-disable spaced-comment, @typescript-eslint/no-non-null-assertion, unicorn/prefer-module */
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
(() => { (() => {
// eslint-disable-next-line @typescript-eslint/no-unused-vars // eslint-disable-next-line @typescript-eslint/no-unused-vars
@ -17,9 +17,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
let workOrderTypes = exports.workOrderTypes; let workOrderTypes = exports.workOrderTypes;
delete exports.workOrderTypes; delete exports.workOrderTypes;
const updateWorkOrderType = (submitEvent) => { function updateWorkOrderType(submitEvent) {
submitEvent.preventDefault(); submitEvent.preventDefault();
cityssm.postJSON(los.urlPrefix + '/admin/doUpdateWorkOrderType', submitEvent.currentTarget, (responseJSON) => { cityssm.postJSON(los.urlPrefix + '/admin/doUpdateWorkOrderType', submitEvent.currentTarget, (responseJSON) => {
var _a;
if (responseJSON.success) { if (responseJSON.success) {
workOrderTypes = responseJSON.workOrderTypes; workOrderTypes = responseJSON.workOrderTypes;
bulmaJS.alert({ bulmaJS.alert({
@ -30,19 +31,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
else { else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Updating Work Order Type', title: 'Error Updating Work Order Type',
message: responseJSON.errorMessage || '', message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger' contextualColorName: 'danger'
}); });
} }
}); });
}; }
const deleteWorkOrderType = (clickEvent) => { const deleteWorkOrderType = (clickEvent) => {
const tableRowElement = clickEvent.currentTarget.closest('tr'); const tableRowElement = clickEvent.currentTarget.closest('tr');
const workOrderTypeId = tableRowElement.dataset.workOrderTypeId; const workOrderTypeId = tableRowElement.dataset.workOrderTypeId;
const doDelete = () => { function doDelete() {
cityssm.postJSON(los.urlPrefix + '/admin/doDeleteWorkOrderType', { cityssm.postJSON(los.urlPrefix + '/admin/doDeleteWorkOrderType', {
workOrderTypeId workOrderTypeId
}, (responseJSON) => { }, (responseJSON) => {
var _a;
if (responseJSON.success) { if (responseJSON.success) {
workOrderTypes = responseJSON.workOrderTypes; workOrderTypes = responseJSON.workOrderTypes;
if (workOrderTypes.length === 0) { if (workOrderTypes.length === 0) {
@ -59,12 +61,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
else { else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Deleting Work Order Type', title: 'Error Deleting Work Order Type',
message: responseJSON.errorMessage || '', message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger' contextualColorName: 'danger'
}); });
} }
}); });
}; }
bulmaJS.confirm({ bulmaJS.confirm({
title: 'Delete Work Order Type', title: 'Delete Work Order Type',
message: `Are you sure you want to delete this work order type?<br /> message: `Are you sure you want to delete this work order type?<br />
@ -77,7 +79,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
} }
}); });
}; };
const moveWorkOrderType = (clickEvent) => { function moveWorkOrderType(clickEvent) {
const buttonElement = clickEvent.currentTarget; const buttonElement = clickEvent.currentTarget;
const tableRowElement = buttonElement.closest('tr'); const tableRowElement = buttonElement.closest('tr');
const workOrderTypeId = tableRowElement.dataset.workOrderTypeId; const workOrderTypeId = tableRowElement.dataset.workOrderTypeId;
@ -87,6 +89,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
workOrderTypeId, workOrderTypeId,
moveToEnd: clickEvent.shiftKey ? '1' : '0' moveToEnd: clickEvent.shiftKey ? '1' : '0'
}, (responseJSON) => { }, (responseJSON) => {
var _a;
if (responseJSON.success) { if (responseJSON.success) {
workOrderTypes = responseJSON.workOrderTypes; workOrderTypes = responseJSON.workOrderTypes;
renderWorkOrderTypes(); renderWorkOrderTypes();
@ -94,13 +97,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
else { else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Moving Work Order Type', title: 'Error Moving Work Order Type',
message: responseJSON.errorMessage || '', message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger' contextualColorName: 'danger'
}); });
} }
}); });
}; }
const renderWorkOrderTypes = () => { function renderWorkOrderTypes() {
var _a;
const containerElement = document.querySelector('#container--workOrderTypes'); const containerElement = document.querySelector('#container--workOrderTypes');
if (workOrderTypes.length === 0) { if (workOrderTypes.length === 0) {
containerElement.innerHTML = `<tr><td colspan="2"> containerElement.innerHTML = `<tr><td colspan="2">
@ -121,7 +125,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
('<div class="field has-addons">' + ('<div class="field has-addons">' +
'<div class="control">' + '<div class="control">' +
'<input class="input" name="workOrderType" type="text" value="' + '<input class="input" name="workOrderType" type="text" value="' +
cityssm.escapeHTML(workOrderType.workOrderType || '') + cityssm.escapeHTML((_a = workOrderType.workOrderType) !== null && _a !== void 0 ? _a : '') +
'" maxlength="100" aria-label="Work Order Type" required />' + '" maxlength="100" aria-label="Work Order Type" required />' +
'</div>' + '</div>' +
'<div class="control">' + '<div class="control">' +
@ -150,11 +154,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
.addEventListener('click', deleteWorkOrderType); .addEventListener('click', deleteWorkOrderType);
containerElement.append(tableRowElement); containerElement.append(tableRowElement);
} }
}; }
document.querySelector('#form--addWorkOrderType').addEventListener('submit', (submitEvent) => { document.querySelector('#form--addWorkOrderType').addEventListener('submit', (submitEvent) => {
submitEvent.preventDefault(); submitEvent.preventDefault();
const formElement = submitEvent.currentTarget; const formElement = submitEvent.currentTarget;
cityssm.postJSON(los.urlPrefix + '/admin/doAddWorkOrderType', formElement, (responseJSON) => { cityssm.postJSON(los.urlPrefix + '/admin/doAddWorkOrderType', formElement, (responseJSON) => {
var _a;
if (responseJSON.success) { if (responseJSON.success) {
workOrderTypes = responseJSON.workOrderTypes; workOrderTypes = responseJSON.workOrderTypes;
renderWorkOrderTypes(); renderWorkOrderTypes();
@ -164,7 +169,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
else { else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Adding Work Order Type', title: 'Error Adding Work Order Type',
message: responseJSON.errorMessage || '', message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger' contextualColorName: 'danger'
}); });
} }
@ -177,9 +182,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
let workOrderMilestoneTypes = exports.workOrderMilestoneTypes; let workOrderMilestoneTypes = exports.workOrderMilestoneTypes;
delete exports.workOrderMilestoneTypes; delete exports.workOrderMilestoneTypes;
const updateWorkOrderMilestoneType = (submitEvent) => { function updateWorkOrderMilestoneType(submitEvent) {
submitEvent.preventDefault(); submitEvent.preventDefault();
cityssm.postJSON(los.urlPrefix + '/admin/doUpdateWorkOrderMilestoneType', submitEvent.currentTarget, (responseJSON) => { cityssm.postJSON(los.urlPrefix + '/admin/doUpdateWorkOrderMilestoneType', submitEvent.currentTarget, (responseJSON) => {
var _a;
if (responseJSON.success) { if (responseJSON.success) {
workOrderMilestoneTypes = responseJSON.workOrderMilestoneTypes; workOrderMilestoneTypes = responseJSON.workOrderMilestoneTypes;
bulmaJS.alert({ bulmaJS.alert({
@ -190,19 +196,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
else { else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Updating Work Order Milestone Type', title: 'Error Updating Work Order Milestone Type',
message: responseJSON.errorMessage || '', message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger' contextualColorName: 'danger'
}); });
} }
}); });
}; }
const deleteWorkOrderMilestoneType = (clickEvent) => { function deleteWorkOrderMilestoneType(clickEvent) {
const tableRowElement = clickEvent.currentTarget.closest('tr'); const tableRowElement = clickEvent.currentTarget.closest('tr');
const workOrderMilestoneTypeId = tableRowElement.dataset.workOrderMilestoneTypeId; const workOrderMilestoneTypeId = tableRowElement.dataset.workOrderMilestoneTypeId;
const doDelete = () => { function doDelete() {
cityssm.postJSON(los.urlPrefix + '/admin/doDeleteWorkOrderMilestoneType', { cityssm.postJSON(los.urlPrefix + '/admin/doDeleteWorkOrderMilestoneType', {
workOrderMilestoneTypeId workOrderMilestoneTypeId
}, (responseJSON) => { }, (responseJSON) => {
var _a;
if (responseJSON.success) { if (responseJSON.success) {
workOrderMilestoneTypes = responseJSON.workOrderMilestoneTypes; workOrderMilestoneTypes = responseJSON.workOrderMilestoneTypes;
if (workOrderMilestoneTypes.length === 0) { if (workOrderMilestoneTypes.length === 0) {
@ -219,12 +226,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
else { else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Deleting Work Order Milestone Type', title: 'Error Deleting Work Order Milestone Type',
message: responseJSON.errorMessage || '', message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger' contextualColorName: 'danger'
}); });
} }
}); });
}; }
bulmaJS.confirm({ bulmaJS.confirm({
title: 'Delete Work Order Milestone Type', title: 'Delete Work Order Milestone Type',
message: `Are you sure you want to delete this work order milestone type?<br /> message: `Are you sure you want to delete this work order milestone type?<br />
@ -236,8 +243,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
callbackFunction: doDelete callbackFunction: doDelete
} }
}); });
}; }
const moveWorkOrderMilestoneType = (clickEvent) => { function moveWorkOrderMilestoneType(clickEvent) {
const buttonElement = clickEvent.currentTarget; const buttonElement = clickEvent.currentTarget;
const tableRowElement = buttonElement.closest('tr'); const tableRowElement = buttonElement.closest('tr');
const workOrderMilestoneTypeId = tableRowElement.dataset.workOrderMilestoneTypeId; const workOrderMilestoneTypeId = tableRowElement.dataset.workOrderMilestoneTypeId;
@ -249,6 +256,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
workOrderMilestoneTypeId, workOrderMilestoneTypeId,
moveToEnd: clickEvent.shiftKey ? '1' : '0' moveToEnd: clickEvent.shiftKey ? '1' : '0'
}, (responseJSON) => { }, (responseJSON) => {
var _a;
if (responseJSON.success) { if (responseJSON.success) {
workOrderMilestoneTypes = responseJSON.workOrderMilestoneTypes; workOrderMilestoneTypes = responseJSON.workOrderMilestoneTypes;
renderWorkOrderMilestoneTypes(); renderWorkOrderMilestoneTypes();
@ -256,13 +264,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
else { else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Moving Work Order Milestone Type', title: 'Error Moving Work Order Milestone Type',
message: responseJSON.errorMessage || '', message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger' contextualColorName: 'danger'
}); });
} }
}); });
}; }
const renderWorkOrderMilestoneTypes = () => { function renderWorkOrderMilestoneTypes() {
const containerElement = document.querySelector('#container--workOrderMilestoneTypes'); const containerElement = document.querySelector('#container--workOrderMilestoneTypes');
if (workOrderMilestoneTypes.length === 0) { if (workOrderMilestoneTypes.length === 0) {
containerElement.innerHTML = `<tr><td colspan="2"> containerElement.innerHTML = `<tr><td colspan="2">
@ -305,7 +313,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
'</div>' + '</div>' +
'</div>' + '</div>' +
'</td>'; '</td>';
tableRowElement.querySelector('form').addEventListener('submit', updateWorkOrderMilestoneType); tableRowElement
.querySelector('form')
.addEventListener('submit', updateWorkOrderMilestoneType);
tableRowElement.querySelector('.button--moveWorkOrderMilestoneTypeUp').addEventListener('click', moveWorkOrderMilestoneType); tableRowElement.querySelector('.button--moveWorkOrderMilestoneTypeUp').addEventListener('click', moveWorkOrderMilestoneType);
tableRowElement.querySelector('.button--moveWorkOrderMilestoneTypeDown').addEventListener('click', moveWorkOrderMilestoneType); tableRowElement.querySelector('.button--moveWorkOrderMilestoneTypeDown').addEventListener('click', moveWorkOrderMilestoneType);
tableRowElement tableRowElement
@ -313,11 +323,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
.addEventListener('click', deleteWorkOrderMilestoneType); .addEventListener('click', deleteWorkOrderMilestoneType);
containerElement.append(tableRowElement); containerElement.append(tableRowElement);
} }
}; }
;
document.querySelector('#form--addWorkOrderMilestoneType').addEventListener('submit', (submitEvent) => { document.querySelector('#form--addWorkOrderMilestoneType').addEventListener('submit', (submitEvent) => {
submitEvent.preventDefault(); submitEvent.preventDefault();
const formElement = submitEvent.currentTarget; const formElement = submitEvent.currentTarget;
cityssm.postJSON(los.urlPrefix + '/admin/doAddWorkOrderMilestoneType', formElement, (responseJSON) => { cityssm.postJSON(los.urlPrefix + '/admin/doAddWorkOrderMilestoneType', formElement, (responseJSON) => {
var _a;
if (responseJSON.success) { if (responseJSON.success) {
workOrderMilestoneTypes = responseJSON.workOrderMilestoneTypes; workOrderMilestoneTypes = responseJSON.workOrderMilestoneTypes;
renderWorkOrderMilestoneTypes(); renderWorkOrderMilestoneTypes();
@ -327,7 +339,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
else { else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Adding Work Order Milestone Type', title: 'Error Adding Work Order Milestone Type',
message: responseJSON.errorMessage || '', message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger' contextualColorName: 'danger'
}); });
} }
@ -340,9 +352,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
let lotStatuses = exports.lotStatuses; let lotStatuses = exports.lotStatuses;
delete exports.lotStatuses; delete exports.lotStatuses;
const updateLotStatus = (submitEvent) => { function updateLotStatus(submitEvent) {
submitEvent.preventDefault(); submitEvent.preventDefault();
cityssm.postJSON(los.urlPrefix + '/admin/doUpdateLotStatus', submitEvent.currentTarget, (responseJSON) => { cityssm.postJSON(los.urlPrefix + '/admin/doUpdateLotStatus', submitEvent.currentTarget, (responseJSON) => {
var _a;
if (responseJSON.success) { if (responseJSON.success) {
lotStatuses = responseJSON.lotStatuses; lotStatuses = responseJSON.lotStatuses;
bulmaJS.alert({ bulmaJS.alert({
@ -353,19 +366,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
else { else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Updating ' + los.escapedAliases.Lot + ' Status', title: 'Error Updating ' + los.escapedAliases.Lot + ' Status',
message: responseJSON.errorMessage || '', message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger' contextualColorName: 'danger'
}); });
} }
}); });
}; }
const deleteLotStatus = (clickEvent) => { function deleteLotStatus(clickEvent) {
const tableRowElement = clickEvent.currentTarget.closest('tr'); const tableRowElement = clickEvent.currentTarget.closest('tr');
const lotStatusId = tableRowElement.dataset.lotStatusId; const lotStatusId = tableRowElement.dataset.lotStatusId;
const doDelete = () => { function doDelete() {
cityssm.postJSON(los.urlPrefix + '/admin/doDeleteLotStatus', { cityssm.postJSON(los.urlPrefix + '/admin/doDeleteLotStatus', {
lotStatusId lotStatusId
}, (responseJSON) => { }, (responseJSON) => {
var _a;
if (responseJSON.success) { if (responseJSON.success) {
lotStatuses = responseJSON.lotStatuses; lotStatuses = responseJSON.lotStatuses;
if (lotStatuses.length === 0) { if (lotStatuses.length === 0) {
@ -381,13 +395,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
} }
else { else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Deleting ' + los.escapedAliases.Lot + ' Status', title: `Error Deleting ${los.escapedAliases.Lot} Status`,
message: responseJSON.errorMessage || '', message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger' contextualColorName: 'danger'
}); });
} }
}); });
}; }
bulmaJS.confirm({ bulmaJS.confirm({
title: `Delete ${los.escapedAliases.Lot} Status`, title: `Delete ${los.escapedAliases.Lot} Status`,
message: `Are you sure you want to delete this status?<br /> message: `Are you sure you want to delete this status?<br />
@ -399,31 +413,34 @@ Object.defineProperty(exports, "__esModule", { value: true });
callbackFunction: doDelete callbackFunction: doDelete
} }
}); });
}; }
const moveLotStatus = (clickEvent) => { function moveLotStatus(clickEvent) {
const buttonElement = clickEvent.currentTarget; const buttonElement = clickEvent.currentTarget;
const tableRowElement = buttonElement.closest('tr'); const tableRowElement = buttonElement.closest('tr');
const lotStatusId = tableRowElement.dataset.lotStatusId; const lotStatusId = tableRowElement.dataset.lotStatusId;
cityssm.postJSON(los.urlPrefix + cityssm.postJSON(los.urlPrefix +
'/admin/' + '/admin/' +
(buttonElement.dataset.direction === 'up' ? 'doMoveLotStatusUp' : 'doMoveLotStatusDown'), { (buttonElement.dataset.direction === 'up'
? 'doMoveLotStatusUp'
: 'doMoveLotStatusDown'), {
lotStatusId, lotStatusId,
moveToEnd: clickEvent.shiftKey ? '1' : '0' moveToEnd: clickEvent.shiftKey ? '1' : '0'
}, (responseJSON) => { }, (responseJSON) => {
var _a;
if (responseJSON.success) { if (responseJSON.success) {
lotStatuses = responseJSON.lotStatuses; lotStatuses = responseJSON.lotStatuses;
renderLotStatuses(); renderLotStatuses();
} }
else { else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Moving ' + exports.aliases.lot + ' Status', title: 'Error Moving ' + los.escapedAliases.Lot + ' Status',
message: responseJSON.errorMessage || '', message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger' contextualColorName: 'danger'
}); });
} }
}); });
}; }
const renderLotStatuses = () => { function renderLotStatuses() {
const containerElement = document.querySelector('#container--lotStatuses'); const containerElement = document.querySelector('#container--lotStatuses');
if (lotStatuses.length === 0) { if (lotStatuses.length === 0) {
containerElement.innerHTML = `<tr><td colspan="2"> containerElement.innerHTML = `<tr><td colspan="2">
@ -445,7 +462,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
'<div class="control">' + '<div class="control">' +
'<input class="input" name="lotStatus" type="text"' + '<input class="input" name="lotStatus" type="text"' +
(' value="' + cityssm.escapeHTML(lotStatus.lotStatus) + '"') + (' value="' + cityssm.escapeHTML(lotStatus.lotStatus) + '"') +
(' aria-label="' + cityssm.escapeHTML(exports.aliases.lot) + ' Status"') + (' aria-label="' +
cityssm.escapeHTML(exports.aliases.lot) +
' Status"') +
' maxlength="100" required />' + ' maxlength="100" required />' +
'</div>' + '</div>' +
'<div class="control">' + '<div class="control">' +
@ -466,17 +485,23 @@ Object.defineProperty(exports, "__esModule", { value: true });
'</div>' + '</div>' +
'</div>' + '</div>' +
'</td>'; '</td>';
tableRowElement.querySelector('form').addEventListener('submit', updateLotStatus); tableRowElement
.querySelector('form')
.addEventListener('submit', updateLotStatus);
tableRowElement.querySelector('.button--moveLotStatusUp').addEventListener('click', moveLotStatus); tableRowElement.querySelector('.button--moveLotStatusUp').addEventListener('click', moveLotStatus);
tableRowElement.querySelector('.button--moveLotStatusDown').addEventListener('click', moveLotStatus); tableRowElement.querySelector('.button--moveLotStatusDown').addEventListener('click', moveLotStatus);
tableRowElement.querySelector('.button--deleteLotStatus').addEventListener('click', deleteLotStatus); tableRowElement
.querySelector('.button--deleteLotStatus')
.addEventListener('click', deleteLotStatus);
containerElement.append(tableRowElement); containerElement.append(tableRowElement);
} }
}; }
;
document.querySelector('#form--addLotStatus').addEventListener('submit', (submitEvent) => { document.querySelector('#form--addLotStatus').addEventListener('submit', (submitEvent) => {
submitEvent.preventDefault(); submitEvent.preventDefault();
const formElement = submitEvent.currentTarget; const formElement = submitEvent.currentTarget;
cityssm.postJSON(los.urlPrefix + '/admin/doAddLotStatus', formElement, (responseJSON) => { cityssm.postJSON(los.urlPrefix + '/admin/doAddLotStatus', formElement, (responseJSON) => {
var _a;
if (responseJSON.success) { if (responseJSON.success) {
lotStatuses = responseJSON.lotStatuses; lotStatuses = responseJSON.lotStatuses;
renderLotStatuses(); renderLotStatuses();
@ -486,7 +511,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
else { else {
bulmaJS.alert({ bulmaJS.alert({
title: `Error Adding ${los.escapedAliases.Lot} Status`, title: `Error Adding ${los.escapedAliases.Lot} Status`,
message: responseJSON.errorMessage || '', message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger' contextualColorName: 'danger'
}); });
} }
@ -499,9 +524,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
let lotOccupantTypes = exports.lotOccupantTypes; let lotOccupantTypes = exports.lotOccupantTypes;
delete exports.lotOccupantTypes; delete exports.lotOccupantTypes;
const updateLotOccupantType = (submitEvent) => { function updateLotOccupantType(submitEvent) {
submitEvent.preventDefault(); submitEvent.preventDefault();
cityssm.postJSON(los.urlPrefix + '/admin/doUpdateLotOccupantType', submitEvent.currentTarget, (responseJSON) => { cityssm.postJSON(los.urlPrefix + '/admin/doUpdateLotOccupantType', submitEvent.currentTarget, (responseJSON) => {
var _a;
if (responseJSON.success) { if (responseJSON.success) {
lotOccupantTypes = responseJSON.lotOccupantTypes; lotOccupantTypes = responseJSON.lotOccupantTypes;
bulmaJS.alert({ bulmaJS.alert({
@ -512,19 +538,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
else { else {
bulmaJS.alert({ bulmaJS.alert({
title: `Error Updating ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`, title: `Error Updating ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`,
message: responseJSON.errorMessage || '', message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger' contextualColorName: 'danger'
}); });
} }
}); });
}; }
const deleteLotOccupantType = (clickEvent) => { function deleteLotOccupantType(clickEvent) {
const tableRowElement = clickEvent.currentTarget.closest('tr'); const tableRowElement = clickEvent.currentTarget.closest('tr');
const lotOccupantTypeId = tableRowElement.dataset.lotOccupantTypeId; const lotOccupantTypeId = tableRowElement.dataset.lotOccupantTypeId;
const doDelete = () => { function doDelete() {
cityssm.postJSON(los.urlPrefix + '/admin/doDeleteLotOccupantType', { cityssm.postJSON(los.urlPrefix + '/admin/doDeleteLotOccupantType', {
lotOccupantTypeId lotOccupantTypeId
}, (responseJSON) => { }, (responseJSON) => {
var _a;
if (responseJSON.success) { if (responseJSON.success) {
lotOccupantTypes = responseJSON.lotOccupantTypes; lotOccupantTypes = responseJSON.lotOccupantTypes;
if (lotOccupantTypes.length === 0) { if (lotOccupantTypes.length === 0) {
@ -541,12 +568,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
else { else {
bulmaJS.alert({ bulmaJS.alert({
title: `Error Deleting ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`, title: `Error Deleting ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`,
message: responseJSON.errorMessage || '', message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger' contextualColorName: 'danger'
}); });
} }
}); });
}; }
bulmaJS.confirm({ bulmaJS.confirm({
title: `Delete ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`, title: `Delete ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`,
message: `Are you sure you want to delete this ${los.escapedAliases.lot} ${los.escapedAliases.occupant} type?<br /> message: `Are you sure you want to delete this ${los.escapedAliases.lot} ${los.escapedAliases.occupant} type?<br />
@ -558,17 +585,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
callbackFunction: doDelete callbackFunction: doDelete
} }
}); });
}; }
const moveLotOccupantType = (clickEvent) => { function moveLotOccupantType(clickEvent) {
const buttonElement = clickEvent.currentTarget; const buttonElement = clickEvent.currentTarget;
const tableRowElement = buttonElement.closest('tr'); const tableRowElement = buttonElement.closest('tr');
const lotOccupantTypeId = tableRowElement.dataset.lotOccupantTypeId; const lotOccupantTypeId = tableRowElement.dataset.lotOccupantTypeId;
cityssm.postJSON(los.urlPrefix + cityssm.postJSON(los.urlPrefix +
'/admin/' + '/admin/' +
(buttonElement.dataset.direction === 'up' ? 'doMoveLotOccupantTypeUp' : 'doMoveLotOccupantTypeDown'), { (buttonElement.dataset.direction === 'up'
? 'doMoveLotOccupantTypeUp'
: 'doMoveLotOccupantTypeDown'), {
lotOccupantTypeId, lotOccupantTypeId,
moveToEnd: clickEvent.shiftKey ? '1' : '0' moveToEnd: clickEvent.shiftKey ? '1' : '0'
}, (responseJSON) => { }, (responseJSON) => {
var _a;
if (responseJSON.success) { if (responseJSON.success) {
lotOccupantTypes = responseJSON.lotOccupantTypes; lotOccupantTypes = responseJSON.lotOccupantTypes;
renderLotOccupantTypes(); renderLotOccupantTypes();
@ -576,13 +606,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
else { else {
bulmaJS.alert({ bulmaJS.alert({
title: `Error Moving ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`, title: `Error Moving ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`,
message: responseJSON.errorMessage || '', message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger' contextualColorName: 'danger'
}); });
} }
}); });
}; }
const renderLotOccupantTypes = () => { function renderLotOccupantTypes() {
const containerElement = document.querySelector('#container--lotOccupantTypes'); const containerElement = document.querySelector('#container--lotOccupantTypes');
if (lotOccupantTypes.length === 0) { if (lotOccupantTypes.length === 0) {
containerElement.innerHTML = `<tr><td colspan="3"> containerElement.innerHTML = `<tr><td colspan="3">
@ -593,17 +623,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
containerElement.innerHTML = ''; containerElement.innerHTML = '';
for (const lotOccupantType of lotOccupantTypes) { for (const lotOccupantType of lotOccupantTypes) {
const tableRowElement = document.createElement('tr'); const tableRowElement = document.createElement('tr');
tableRowElement.dataset.lotOccupantTypeId = lotOccupantType.lotOccupantTypeId.toString(); tableRowElement.dataset.lotOccupantTypeId =
const formId = 'form--lotOccupantType-' + lotOccupantType.lotOccupantTypeId; lotOccupantType.lotOccupantTypeId.toString();
const formId = 'form--lotOccupantType-' + lotOccupantType.lotOccupantTypeId.toString();
tableRowElement.innerHTML = tableRowElement.innerHTML =
'<td>' + '<td>' +
('<div class="field">' + ('<div class="field">' +
'<div class="control">' + '<div class="control">' +
'<input class="input" name="lotOccupantType" type="text"' + '<input class="input" name="lotOccupantType" type="text"' +
(' value="' + cityssm.escapeHTML(lotOccupantType.lotOccupantType) + '"') + (' value="' +
cityssm.escapeHTML(lotOccupantType.lotOccupantType) +
'"') +
(' form="' + formId + '"') + (' form="' + formId + '"') +
(' aria-label="' + (' aria-label="' +
cityssm.escapeHTML(exports.aliases.lot + ' ' + exports.aliases.occupant) + los.escapedAliases.Lot +
' ' +
los.escapedAliases.Occupant +
' Type"') + ' Type"') +
' maxlength="100" required />' + ' maxlength="100" required />' +
'</div>' + '</div>' +
@ -614,7 +649,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
'<div class="control"><span class="button is-static">fa-</span></div>' + '<div class="control"><span class="button is-static">fa-</span></div>' +
'<div class="control">' + '<div class="control">' +
'<input class="input" name="fontAwesomeIconClass" type="text"' + '<input class="input" name="fontAwesomeIconClass" type="text"' +
(' value="' + cityssm.escapeHTML(lotOccupantType.fontAwesomeIconClass) + '"') + (' value="' +
cityssm.escapeHTML(lotOccupantType.fontAwesomeIconClass) +
'"') +
(' form="' + formId + '"') + (' form="' + formId + '"') +
' list="datalist--fontAwesomeIconClass"' + ' list="datalist--fontAwesomeIconClass"' +
' aria-label="Icon Name"' + ' aria-label="Icon Name"' +
@ -659,7 +696,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
const fontAwesomeInputElement = tableRowElement.querySelector("input[name='fontAwesomeIconClass']"); const fontAwesomeInputElement = tableRowElement.querySelector("input[name='fontAwesomeIconClass']");
fontAwesomeInputElement.addEventListener('keyup', refreshFontAwesomeIcon); fontAwesomeInputElement.addEventListener('keyup', refreshFontAwesomeIcon);
fontAwesomeInputElement.addEventListener('change', refreshFontAwesomeIcon); fontAwesomeInputElement.addEventListener('change', refreshFontAwesomeIcon);
tableRowElement.querySelector('form').addEventListener('submit', updateLotOccupantType); tableRowElement
.querySelector('form')
.addEventListener('submit', updateLotOccupantType);
tableRowElement.querySelector('.button--moveLotOccupantTypeUp').addEventListener('click', moveLotOccupantType); tableRowElement.querySelector('.button--moveLotOccupantTypeUp').addEventListener('click', moveLotOccupantType);
tableRowElement.querySelector('.button--moveLotOccupantTypeDown').addEventListener('click', moveLotOccupantType); tableRowElement.querySelector('.button--moveLotOccupantTypeDown').addEventListener('click', moveLotOccupantType);
tableRowElement tableRowElement
@ -667,11 +706,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
.addEventListener('click', deleteLotOccupantType); .addEventListener('click', deleteLotOccupantType);
containerElement.append(tableRowElement); containerElement.append(tableRowElement);
} }
}; }
;
document.querySelector('#form--addLotOccupantType').addEventListener('submit', (submitEvent) => { document.querySelector('#form--addLotOccupantType').addEventListener('submit', (submitEvent) => {
submitEvent.preventDefault(); submitEvent.preventDefault();
const formElement = submitEvent.currentTarget; const formElement = submitEvent.currentTarget;
cityssm.postJSON(los.urlPrefix + '/admin/doAddLotOccupantType', formElement, (responseJSON) => { cityssm.postJSON(los.urlPrefix + '/admin/doAddLotOccupantType', formElement, (responseJSON) => {
var _a;
if (responseJSON.success) { if (responseJSON.success) {
lotOccupantTypes = responseJSON.lotOccupantTypes; lotOccupantTypes = responseJSON.lotOccupantTypes;
renderLotOccupantTypes(); renderLotOccupantTypes();
@ -681,7 +722,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
else { else {
bulmaJS.alert({ bulmaJS.alert({
title: `Error Adding ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`, title: `Error Adding ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`,
message: responseJSON.errorMessage || '', message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger' contextualColorName: 'danger'
}); });
} }

View File

@ -1,5 +1,5 @@
"use strict"; "use strict";
/* eslint-disable @typescript-eslint/no-non-null-assertion, unicorn/prefer-module */ /* eslint-disable spaced-comment, @typescript-eslint/no-non-null-assertion, unicorn/prefer-module */
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
(() => { (() => {
// eslint-disable-next-line @typescript-eslint/no-unused-vars // eslint-disable-next-line @typescript-eslint/no-unused-vars

View File

@ -1,13 +1,12 @@
/* eslint-disable @typescript-eslint/no-non-null-assertion, unicorn/prefer-module */ /* eslint-disable spaced-comment, @typescript-eslint/no-non-null-assertion, unicorn/prefer-module */
import type * as globalTypes from '../../types/globalTypes' import type * as globalTypes from '../../types/globalTypes'
;(() => { ;(() => {
// eslint-disable-next-line @typescript-eslint/no-unused-vars // eslint-disable-next-line @typescript-eslint/no-unused-vars
const los = exports.los as globalTypes.LOS const los = exports.los as globalTypes.LOS
// eslint-disable-next-line @typescript-eslint/no-unused-vars // eslint-disable-next-line @typescript-eslint/no-unused-vars
function refreshFontAwesomeIcon(changeEvent: Event) { function refreshFontAwesomeIcon(changeEvent: Event): void {
const inputElement = changeEvent.currentTarget as HTMLInputElement const inputElement = changeEvent.currentTarget as HTMLInputElement
const fontAwesomeIconClass = inputElement.value const fontAwesomeIconClass = inputElement.value

View File

@ -3,9 +3,10 @@
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
let lotOccupantTypes = exports.lotOccupantTypes; let lotOccupantTypes = exports.lotOccupantTypes;
delete exports.lotOccupantTypes; delete exports.lotOccupantTypes;
const updateLotOccupantType = (submitEvent) => { function updateLotOccupantType(submitEvent) {
submitEvent.preventDefault(); submitEvent.preventDefault();
cityssm.postJSON(los.urlPrefix + '/admin/doUpdateLotOccupantType', submitEvent.currentTarget, (responseJSON) => { cityssm.postJSON(los.urlPrefix + '/admin/doUpdateLotOccupantType', submitEvent.currentTarget, (responseJSON) => {
var _a;
if (responseJSON.success) { if (responseJSON.success) {
lotOccupantTypes = responseJSON.lotOccupantTypes; lotOccupantTypes = responseJSON.lotOccupantTypes;
bulmaJS.alert({ bulmaJS.alert({
@ -16,19 +17,20 @@ const updateLotOccupantType = (submitEvent) => {
else { else {
bulmaJS.alert({ bulmaJS.alert({
title: `Error Updating ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`, title: `Error Updating ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`,
message: responseJSON.errorMessage || '', message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger' contextualColorName: 'danger'
}); });
} }
}); });
}; }
const deleteLotOccupantType = (clickEvent) => { function deleteLotOccupantType(clickEvent) {
const tableRowElement = clickEvent.currentTarget.closest('tr'); const tableRowElement = clickEvent.currentTarget.closest('tr');
const lotOccupantTypeId = tableRowElement.dataset.lotOccupantTypeId; const lotOccupantTypeId = tableRowElement.dataset.lotOccupantTypeId;
const doDelete = () => { function doDelete() {
cityssm.postJSON(los.urlPrefix + '/admin/doDeleteLotOccupantType', { cityssm.postJSON(los.urlPrefix + '/admin/doDeleteLotOccupantType', {
lotOccupantTypeId lotOccupantTypeId
}, (responseJSON) => { }, (responseJSON) => {
var _a;
if (responseJSON.success) { if (responseJSON.success) {
lotOccupantTypes = responseJSON.lotOccupantTypes; lotOccupantTypes = responseJSON.lotOccupantTypes;
if (lotOccupantTypes.length === 0) { if (lotOccupantTypes.length === 0) {
@ -45,12 +47,12 @@ const deleteLotOccupantType = (clickEvent) => {
else { else {
bulmaJS.alert({ bulmaJS.alert({
title: `Error Deleting ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`, title: `Error Deleting ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`,
message: responseJSON.errorMessage || '', message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger' contextualColorName: 'danger'
}); });
} }
}); });
}; }
bulmaJS.confirm({ bulmaJS.confirm({
title: `Delete ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`, title: `Delete ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`,
message: `Are you sure you want to delete this ${los.escapedAliases.lot} ${los.escapedAliases.occupant} type?<br /> message: `Are you sure you want to delete this ${los.escapedAliases.lot} ${los.escapedAliases.occupant} type?<br />
@ -62,17 +64,20 @@ const deleteLotOccupantType = (clickEvent) => {
callbackFunction: doDelete callbackFunction: doDelete
} }
}); });
}; }
const moveLotOccupantType = (clickEvent) => { function moveLotOccupantType(clickEvent) {
const buttonElement = clickEvent.currentTarget; const buttonElement = clickEvent.currentTarget;
const tableRowElement = buttonElement.closest('tr'); const tableRowElement = buttonElement.closest('tr');
const lotOccupantTypeId = tableRowElement.dataset.lotOccupantTypeId; const lotOccupantTypeId = tableRowElement.dataset.lotOccupantTypeId;
cityssm.postJSON(los.urlPrefix + cityssm.postJSON(los.urlPrefix +
'/admin/' + '/admin/' +
(buttonElement.dataset.direction === 'up' ? 'doMoveLotOccupantTypeUp' : 'doMoveLotOccupantTypeDown'), { (buttonElement.dataset.direction === 'up'
? 'doMoveLotOccupantTypeUp'
: 'doMoveLotOccupantTypeDown'), {
lotOccupantTypeId, lotOccupantTypeId,
moveToEnd: clickEvent.shiftKey ? '1' : '0' moveToEnd: clickEvent.shiftKey ? '1' : '0'
}, (responseJSON) => { }, (responseJSON) => {
var _a;
if (responseJSON.success) { if (responseJSON.success) {
lotOccupantTypes = responseJSON.lotOccupantTypes; lotOccupantTypes = responseJSON.lotOccupantTypes;
renderLotOccupantTypes(); renderLotOccupantTypes();
@ -80,13 +85,13 @@ const moveLotOccupantType = (clickEvent) => {
else { else {
bulmaJS.alert({ bulmaJS.alert({
title: `Error Moving ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`, title: `Error Moving ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`,
message: responseJSON.errorMessage || '', message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger' contextualColorName: 'danger'
}); });
} }
}); });
}; }
const renderLotOccupantTypes = () => { function renderLotOccupantTypes() {
const containerElement = document.querySelector('#container--lotOccupantTypes'); const containerElement = document.querySelector('#container--lotOccupantTypes');
if (lotOccupantTypes.length === 0) { if (lotOccupantTypes.length === 0) {
containerElement.innerHTML = `<tr><td colspan="3"> containerElement.innerHTML = `<tr><td colspan="3">
@ -97,17 +102,22 @@ const renderLotOccupantTypes = () => {
containerElement.innerHTML = ''; containerElement.innerHTML = '';
for (const lotOccupantType of lotOccupantTypes) { for (const lotOccupantType of lotOccupantTypes) {
const tableRowElement = document.createElement('tr'); const tableRowElement = document.createElement('tr');
tableRowElement.dataset.lotOccupantTypeId = lotOccupantType.lotOccupantTypeId.toString(); tableRowElement.dataset.lotOccupantTypeId =
const formId = 'form--lotOccupantType-' + lotOccupantType.lotOccupantTypeId; lotOccupantType.lotOccupantTypeId.toString();
const formId = 'form--lotOccupantType-' + lotOccupantType.lotOccupantTypeId.toString();
tableRowElement.innerHTML = tableRowElement.innerHTML =
'<td>' + '<td>' +
('<div class="field">' + ('<div class="field">' +
'<div class="control">' + '<div class="control">' +
'<input class="input" name="lotOccupantType" type="text"' + '<input class="input" name="lotOccupantType" type="text"' +
(' value="' + cityssm.escapeHTML(lotOccupantType.lotOccupantType) + '"') + (' value="' +
cityssm.escapeHTML(lotOccupantType.lotOccupantType) +
'"') +
(' form="' + formId + '"') + (' form="' + formId + '"') +
(' aria-label="' + (' aria-label="' +
cityssm.escapeHTML(exports.aliases.lot + ' ' + exports.aliases.occupant) + los.escapedAliases.Lot +
' ' +
los.escapedAliases.Occupant +
' Type"') + ' Type"') +
' maxlength="100" required />' + ' maxlength="100" required />' +
'</div>' + '</div>' +
@ -118,7 +128,9 @@ const renderLotOccupantTypes = () => {
'<div class="control"><span class="button is-static">fa-</span></div>' + '<div class="control"><span class="button is-static">fa-</span></div>' +
'<div class="control">' + '<div class="control">' +
'<input class="input" name="fontAwesomeIconClass" type="text"' + '<input class="input" name="fontAwesomeIconClass" type="text"' +
(' value="' + cityssm.escapeHTML(lotOccupantType.fontAwesomeIconClass) + '"') + (' value="' +
cityssm.escapeHTML(lotOccupantType.fontAwesomeIconClass) +
'"') +
(' form="' + formId + '"') + (' form="' + formId + '"') +
' list="datalist--fontAwesomeIconClass"' + ' list="datalist--fontAwesomeIconClass"' +
' aria-label="Icon Name"' + ' aria-label="Icon Name"' +
@ -163,7 +175,9 @@ const renderLotOccupantTypes = () => {
const fontAwesomeInputElement = tableRowElement.querySelector("input[name='fontAwesomeIconClass']"); const fontAwesomeInputElement = tableRowElement.querySelector("input[name='fontAwesomeIconClass']");
fontAwesomeInputElement.addEventListener('keyup', refreshFontAwesomeIcon); fontAwesomeInputElement.addEventListener('keyup', refreshFontAwesomeIcon);
fontAwesomeInputElement.addEventListener('change', refreshFontAwesomeIcon); fontAwesomeInputElement.addEventListener('change', refreshFontAwesomeIcon);
tableRowElement.querySelector('form').addEventListener('submit', updateLotOccupantType); tableRowElement
.querySelector('form')
.addEventListener('submit', updateLotOccupantType);
tableRowElement.querySelector('.button--moveLotOccupantTypeUp').addEventListener('click', moveLotOccupantType); tableRowElement.querySelector('.button--moveLotOccupantTypeUp').addEventListener('click', moveLotOccupantType);
tableRowElement.querySelector('.button--moveLotOccupantTypeDown').addEventListener('click', moveLotOccupantType); tableRowElement.querySelector('.button--moveLotOccupantTypeDown').addEventListener('click', moveLotOccupantType);
tableRowElement tableRowElement
@ -171,11 +185,13 @@ const renderLotOccupantTypes = () => {
.addEventListener('click', deleteLotOccupantType); .addEventListener('click', deleteLotOccupantType);
containerElement.append(tableRowElement); containerElement.append(tableRowElement);
} }
}; }
;
document.querySelector('#form--addLotOccupantType').addEventListener('submit', (submitEvent) => { document.querySelector('#form--addLotOccupantType').addEventListener('submit', (submitEvent) => {
submitEvent.preventDefault(); submitEvent.preventDefault();
const formElement = submitEvent.currentTarget; const formElement = submitEvent.currentTarget;
cityssm.postJSON(los.urlPrefix + '/admin/doAddLotOccupantType', formElement, (responseJSON) => { cityssm.postJSON(los.urlPrefix + '/admin/doAddLotOccupantType', formElement, (responseJSON) => {
var _a;
if (responseJSON.success) { if (responseJSON.success) {
lotOccupantTypes = responseJSON.lotOccupantTypes; lotOccupantTypes = responseJSON.lotOccupantTypes;
renderLotOccupantTypes(); renderLotOccupantTypes();
@ -185,7 +201,7 @@ document.querySelector('#form--addLotOccupantType').addEventListener('submit', (
else { else {
bulmaJS.alert({ bulmaJS.alert({
title: `Error Adding ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`, title: `Error Adding ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`,
message: responseJSON.errorMessage || '', message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger' contextualColorName: 'danger'
}); });
} }

View File

@ -16,7 +16,7 @@ declare const refreshFontAwesomeIcon: (changeEvent: Event) => void
let lotOccupantTypes: recordTypes.LotOccupantType[] = exports.lotOccupantTypes let lotOccupantTypes: recordTypes.LotOccupantType[] = exports.lotOccupantTypes
delete exports.lotOccupantTypes delete exports.lotOccupantTypes
const updateLotOccupantType = (submitEvent: SubmitEvent) => { function updateLotOccupantType(submitEvent: SubmitEvent): void {
submitEvent.preventDefault() submitEvent.preventDefault()
cityssm.postJSON( cityssm.postJSON(
@ -37,7 +37,7 @@ const updateLotOccupantType = (submitEvent: SubmitEvent) => {
} else { } else {
bulmaJS.alert({ bulmaJS.alert({
title: `Error Updating ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`, title: `Error Updating ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`,
message: responseJSON.errorMessage || '', message: responseJSON.errorMessage ?? '',
contextualColorName: 'danger' contextualColorName: 'danger'
}) })
} }
@ -45,12 +45,14 @@ const updateLotOccupantType = (submitEvent: SubmitEvent) => {
) )
} }
const deleteLotOccupantType = (clickEvent: Event) => { function deleteLotOccupantType(clickEvent: Event): void {
const tableRowElement = (clickEvent.currentTarget as HTMLElement).closest('tr')! const tableRowElement = (clickEvent.currentTarget as HTMLElement).closest(
'tr'
)!
const lotOccupantTypeId = tableRowElement.dataset.lotOccupantTypeId const lotOccupantTypeId = tableRowElement.dataset.lotOccupantTypeId
const doDelete = () => { function doDelete(): void {
cityssm.postJSON( cityssm.postJSON(
los.urlPrefix + '/admin/doDeleteLotOccupantType', los.urlPrefix + '/admin/doDeleteLotOccupantType',
{ {
@ -77,7 +79,7 @@ const deleteLotOccupantType = (clickEvent: Event) => {
} else { } else {
bulmaJS.alert({ bulmaJS.alert({
title: `Error Deleting ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`, title: `Error Deleting ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`,
message: responseJSON.errorMessage || '', message: responseJSON.errorMessage ?? '',
contextualColorName: 'danger' contextualColorName: 'danger'
}) })
} }
@ -98,7 +100,7 @@ const deleteLotOccupantType = (clickEvent: Event) => {
}) })
} }
const moveLotOccupantType = (clickEvent: MouseEvent) => { function moveLotOccupantType(clickEvent: MouseEvent): void {
const buttonElement = clickEvent.currentTarget as HTMLButtonElement const buttonElement = clickEvent.currentTarget as HTMLButtonElement
const tableRowElement = buttonElement.closest('tr')! const tableRowElement = buttonElement.closest('tr')!
@ -108,7 +110,9 @@ const moveLotOccupantType = (clickEvent: MouseEvent) => {
cityssm.postJSON( cityssm.postJSON(
los.urlPrefix + los.urlPrefix +
'/admin/' + '/admin/' +
(buttonElement.dataset.direction === 'up' ? 'doMoveLotOccupantTypeUp' : 'doMoveLotOccupantTypeDown'), (buttonElement.dataset.direction === 'up'
? 'doMoveLotOccupantTypeUp'
: 'doMoveLotOccupantTypeDown'),
{ {
lotOccupantTypeId, lotOccupantTypeId,
moveToEnd: clickEvent.shiftKey ? '1' : '0' moveToEnd: clickEvent.shiftKey ? '1' : '0'
@ -124,7 +128,7 @@ const moveLotOccupantType = (clickEvent: MouseEvent) => {
} else { } else {
bulmaJS.alert({ bulmaJS.alert({
title: `Error Moving ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`, title: `Error Moving ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`,
message: responseJSON.errorMessage || '', message: responseJSON.errorMessage ?? '',
contextualColorName: 'danger' contextualColorName: 'danger'
}) })
} }
@ -132,8 +136,10 @@ const moveLotOccupantType = (clickEvent: MouseEvent) => {
) )
} }
const renderLotOccupantTypes = () => { function renderLotOccupantTypes(): void {
const containerElement = document.querySelector('#container--lotOccupantTypes') as HTMLTableSectionElement const containerElement = document.querySelector(
'#container--lotOccupantTypes'
) as HTMLTableSectionElement
if (lotOccupantTypes.length === 0) { if (lotOccupantTypes.length === 0) {
containerElement.innerHTML = `<tr><td colspan="3"> containerElement.innerHTML = `<tr><td colspan="3">
@ -148,19 +154,25 @@ const renderLotOccupantTypes = () => {
for (const lotOccupantType of lotOccupantTypes) { for (const lotOccupantType of lotOccupantTypes) {
const tableRowElement = document.createElement('tr') const tableRowElement = document.createElement('tr')
tableRowElement.dataset.lotOccupantTypeId = lotOccupantType.lotOccupantTypeId.toString() tableRowElement.dataset.lotOccupantTypeId =
lotOccupantType.lotOccupantTypeId.toString()
const formId = 'form--lotOccupantType-' + lotOccupantType.lotOccupantTypeId const formId =
'form--lotOccupantType-' + lotOccupantType.lotOccupantTypeId.toString()
tableRowElement.innerHTML = tableRowElement.innerHTML =
'<td>' + '<td>' +
('<div class="field">' + ('<div class="field">' +
'<div class="control">' + '<div class="control">' +
'<input class="input" name="lotOccupantType" type="text"' + '<input class="input" name="lotOccupantType" type="text"' +
(' value="' + cityssm.escapeHTML(lotOccupantType.lotOccupantType) + '"') + (' value="' +
cityssm.escapeHTML(lotOccupantType.lotOccupantType) +
'"') +
(' form="' + formId + '"') + (' form="' + formId + '"') +
(' aria-label="' + (' aria-label="' +
cityssm.escapeHTML(exports.aliases.lot + ' ' + exports.aliases.occupant) + los.escapedAliases.Lot +
' ' +
los.escapedAliases.Occupant +
' Type"') + ' Type"') +
' maxlength="100" required />' + ' maxlength="100" required />' +
'</div>' + '</div>' +
@ -171,7 +183,9 @@ const renderLotOccupantTypes = () => {
'<div class="control"><span class="button is-static">fa-</span></div>' + '<div class="control"><span class="button is-static">fa-</span></div>' +
'<div class="control">' + '<div class="control">' +
'<input class="input" name="fontAwesomeIconClass" type="text"' + '<input class="input" name="fontAwesomeIconClass" type="text"' +
(' value="' + cityssm.escapeHTML(lotOccupantType.fontAwesomeIconClass) + '"') + (' value="' +
cityssm.escapeHTML(lotOccupantType.fontAwesomeIconClass) +
'"') +
(' form="' + formId + '"') + (' form="' + formId + '"') +
' list="datalist--fontAwesomeIconClass"' + ' list="datalist--fontAwesomeIconClass"' +
' aria-label="Icon Name"' + ' aria-label="Icon Name"' +
@ -218,20 +232,25 @@ const renderLotOccupantTypes = () => {
'</div>' + '</div>' +
'</td>' '</td>'
const fontAwesomeInputElement = tableRowElement.querySelector("input[name='fontAwesomeIconClass']")! const fontAwesomeInputElement = tableRowElement.querySelector(
"input[name='fontAwesomeIconClass']"
)!
fontAwesomeInputElement.addEventListener('keyup', refreshFontAwesomeIcon) fontAwesomeInputElement.addEventListener('keyup', refreshFontAwesomeIcon)
fontAwesomeInputElement.addEventListener('change', refreshFontAwesomeIcon) fontAwesomeInputElement.addEventListener('change', refreshFontAwesomeIcon)
tableRowElement.querySelector('form')!.addEventListener('submit', updateLotOccupantType) tableRowElement
.querySelector('form')!
;(tableRowElement.querySelector('.button--moveLotOccupantTypeUp') as HTMLButtonElement).addEventListener( .addEventListener('submit', updateLotOccupantType)
'click',
moveLotOccupantType
)
;( ;(
tableRowElement.querySelector('.button--moveLotOccupantTypeDown') as HTMLButtonElement tableRowElement.querySelector(
'.button--moveLotOccupantTypeUp'
) as HTMLButtonElement
).addEventListener('click', moveLotOccupantType)
;(
tableRowElement.querySelector(
'.button--moveLotOccupantTypeDown'
) as HTMLButtonElement
).addEventListener('click', moveLotOccupantType) ).addEventListener('click', moveLotOccupantType)
tableRowElement tableRowElement
@ -241,37 +260,35 @@ const renderLotOccupantTypes = () => {
containerElement.append(tableRowElement) containerElement.append(tableRowElement)
} }
} }
;(
document.querySelector('#form--addLotOccupantType') as HTMLFormElement
).addEventListener('submit', (submitEvent: SubmitEvent) => {
submitEvent.preventDefault()
;(document.querySelector('#form--addLotOccupantType') as HTMLFormElement).addEventListener( const formElement = submitEvent.currentTarget as HTMLFormElement
'submit',
(submitEvent: SubmitEvent) => {
submitEvent.preventDefault()
const formElement = submitEvent.currentTarget as HTMLFormElement cityssm.postJSON(
los.urlPrefix + '/admin/doAddLotOccupantType',
cityssm.postJSON( formElement,
los.urlPrefix + '/admin/doAddLotOccupantType', (responseJSON: {
formElement, success: boolean
(responseJSON: { errorMessage?: string
success: boolean lotOccupantTypes?: recordTypes.LotOccupantType[]
errorMessage?: string }) => {
lotOccupantTypes?: recordTypes.LotOccupantType[] if (responseJSON.success) {
}) => { lotOccupantTypes = responseJSON.lotOccupantTypes!
if (responseJSON.success) { renderLotOccupantTypes()
lotOccupantTypes = responseJSON.lotOccupantTypes! formElement.reset()
renderLotOccupantTypes() formElement.querySelector('input')!.focus()
formElement.reset() } else {
formElement.querySelector('input')!.focus() bulmaJS.alert({
} else { title: `Error Adding ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`,
bulmaJS.alert({ message: responseJSON.errorMessage ?? '',
title: `Error Adding ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`, contextualColorName: 'danger'
message: responseJSON.errorMessage || '', })
contextualColorName: 'danger'
})
}
} }
) }
} )
) })
renderLotOccupantTypes() renderLotOccupantTypes()

View File

@ -3,9 +3,10 @@
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
let lotStatuses = exports.lotStatuses; let lotStatuses = exports.lotStatuses;
delete exports.lotStatuses; delete exports.lotStatuses;
const updateLotStatus = (submitEvent) => { function updateLotStatus(submitEvent) {
submitEvent.preventDefault(); submitEvent.preventDefault();
cityssm.postJSON(los.urlPrefix + '/admin/doUpdateLotStatus', submitEvent.currentTarget, (responseJSON) => { cityssm.postJSON(los.urlPrefix + '/admin/doUpdateLotStatus', submitEvent.currentTarget, (responseJSON) => {
var _a;
if (responseJSON.success) { if (responseJSON.success) {
lotStatuses = responseJSON.lotStatuses; lotStatuses = responseJSON.lotStatuses;
bulmaJS.alert({ bulmaJS.alert({
@ -16,19 +17,20 @@ const updateLotStatus = (submitEvent) => {
else { else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Updating ' + los.escapedAliases.Lot + ' Status', title: 'Error Updating ' + los.escapedAliases.Lot + ' Status',
message: responseJSON.errorMessage || '', message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger' contextualColorName: 'danger'
}); });
} }
}); });
}; }
const deleteLotStatus = (clickEvent) => { function deleteLotStatus(clickEvent) {
const tableRowElement = clickEvent.currentTarget.closest('tr'); const tableRowElement = clickEvent.currentTarget.closest('tr');
const lotStatusId = tableRowElement.dataset.lotStatusId; const lotStatusId = tableRowElement.dataset.lotStatusId;
const doDelete = () => { function doDelete() {
cityssm.postJSON(los.urlPrefix + '/admin/doDeleteLotStatus', { cityssm.postJSON(los.urlPrefix + '/admin/doDeleteLotStatus', {
lotStatusId lotStatusId
}, (responseJSON) => { }, (responseJSON) => {
var _a;
if (responseJSON.success) { if (responseJSON.success) {
lotStatuses = responseJSON.lotStatuses; lotStatuses = responseJSON.lotStatuses;
if (lotStatuses.length === 0) { if (lotStatuses.length === 0) {
@ -44,13 +46,13 @@ const deleteLotStatus = (clickEvent) => {
} }
else { else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Deleting ' + los.escapedAliases.Lot + ' Status', title: `Error Deleting ${los.escapedAliases.Lot} Status`,
message: responseJSON.errorMessage || '', message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger' contextualColorName: 'danger'
}); });
} }
}); });
}; }
bulmaJS.confirm({ bulmaJS.confirm({
title: `Delete ${los.escapedAliases.Lot} Status`, title: `Delete ${los.escapedAliases.Lot} Status`,
message: `Are you sure you want to delete this status?<br /> message: `Are you sure you want to delete this status?<br />
@ -62,31 +64,34 @@ const deleteLotStatus = (clickEvent) => {
callbackFunction: doDelete callbackFunction: doDelete
} }
}); });
}; }
const moveLotStatus = (clickEvent) => { function moveLotStatus(clickEvent) {
const buttonElement = clickEvent.currentTarget; const buttonElement = clickEvent.currentTarget;
const tableRowElement = buttonElement.closest('tr'); const tableRowElement = buttonElement.closest('tr');
const lotStatusId = tableRowElement.dataset.lotStatusId; const lotStatusId = tableRowElement.dataset.lotStatusId;
cityssm.postJSON(los.urlPrefix + cityssm.postJSON(los.urlPrefix +
'/admin/' + '/admin/' +
(buttonElement.dataset.direction === 'up' ? 'doMoveLotStatusUp' : 'doMoveLotStatusDown'), { (buttonElement.dataset.direction === 'up'
? 'doMoveLotStatusUp'
: 'doMoveLotStatusDown'), {
lotStatusId, lotStatusId,
moveToEnd: clickEvent.shiftKey ? '1' : '0' moveToEnd: clickEvent.shiftKey ? '1' : '0'
}, (responseJSON) => { }, (responseJSON) => {
var _a;
if (responseJSON.success) { if (responseJSON.success) {
lotStatuses = responseJSON.lotStatuses; lotStatuses = responseJSON.lotStatuses;
renderLotStatuses(); renderLotStatuses();
} }
else { else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Moving ' + exports.aliases.lot + ' Status', title: 'Error Moving ' + los.escapedAliases.Lot + ' Status',
message: responseJSON.errorMessage || '', message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger' contextualColorName: 'danger'
}); });
} }
}); });
}; }
const renderLotStatuses = () => { function renderLotStatuses() {
const containerElement = document.querySelector('#container--lotStatuses'); const containerElement = document.querySelector('#container--lotStatuses');
if (lotStatuses.length === 0) { if (lotStatuses.length === 0) {
containerElement.innerHTML = `<tr><td colspan="2"> containerElement.innerHTML = `<tr><td colspan="2">
@ -108,7 +113,9 @@ const renderLotStatuses = () => {
'<div class="control">' + '<div class="control">' +
'<input class="input" name="lotStatus" type="text"' + '<input class="input" name="lotStatus" type="text"' +
(' value="' + cityssm.escapeHTML(lotStatus.lotStatus) + '"') + (' value="' + cityssm.escapeHTML(lotStatus.lotStatus) + '"') +
(' aria-label="' + cityssm.escapeHTML(exports.aliases.lot) + ' Status"') + (' aria-label="' +
cityssm.escapeHTML(exports.aliases.lot) +
' Status"') +
' maxlength="100" required />' + ' maxlength="100" required />' +
'</div>' + '</div>' +
'<div class="control">' + '<div class="control">' +
@ -129,17 +136,23 @@ const renderLotStatuses = () => {
'</div>' + '</div>' +
'</div>' + '</div>' +
'</td>'; '</td>';
tableRowElement.querySelector('form').addEventListener('submit', updateLotStatus); tableRowElement
.querySelector('form')
.addEventListener('submit', updateLotStatus);
tableRowElement.querySelector('.button--moveLotStatusUp').addEventListener('click', moveLotStatus); tableRowElement.querySelector('.button--moveLotStatusUp').addEventListener('click', moveLotStatus);
tableRowElement.querySelector('.button--moveLotStatusDown').addEventListener('click', moveLotStatus); tableRowElement.querySelector('.button--moveLotStatusDown').addEventListener('click', moveLotStatus);
tableRowElement.querySelector('.button--deleteLotStatus').addEventListener('click', deleteLotStatus); tableRowElement
.querySelector('.button--deleteLotStatus')
.addEventListener('click', deleteLotStatus);
containerElement.append(tableRowElement); containerElement.append(tableRowElement);
} }
}; }
;
document.querySelector('#form--addLotStatus').addEventListener('submit', (submitEvent) => { document.querySelector('#form--addLotStatus').addEventListener('submit', (submitEvent) => {
submitEvent.preventDefault(); submitEvent.preventDefault();
const formElement = submitEvent.currentTarget; const formElement = submitEvent.currentTarget;
cityssm.postJSON(los.urlPrefix + '/admin/doAddLotStatus', formElement, (responseJSON) => { cityssm.postJSON(los.urlPrefix + '/admin/doAddLotStatus', formElement, (responseJSON) => {
var _a;
if (responseJSON.success) { if (responseJSON.success) {
lotStatuses = responseJSON.lotStatuses; lotStatuses = responseJSON.lotStatuses;
renderLotStatuses(); renderLotStatuses();
@ -149,7 +162,7 @@ document.querySelector('#form--addLotStatus').addEventListener('submit', (submit
else { else {
bulmaJS.alert({ bulmaJS.alert({
title: `Error Adding ${los.escapedAliases.Lot} Status`, title: `Error Adding ${los.escapedAliases.Lot} Status`,
message: responseJSON.errorMessage || '', message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger' contextualColorName: 'danger'
}); });
} }

View File

@ -15,13 +15,17 @@ declare const los: globalTypes.LOS
let lotStatuses: recordTypes.LotStatus[] = exports.lotStatuses let lotStatuses: recordTypes.LotStatus[] = exports.lotStatuses
delete exports.lotStatuses delete exports.lotStatuses
const updateLotStatus = (submitEvent: SubmitEvent) => { function updateLotStatus(submitEvent: SubmitEvent): void {
submitEvent.preventDefault() submitEvent.preventDefault()
cityssm.postJSON( cityssm.postJSON(
los.urlPrefix + '/admin/doUpdateLotStatus', los.urlPrefix + '/admin/doUpdateLotStatus',
submitEvent.currentTarget, submitEvent.currentTarget,
(responseJSON: { success: boolean; errorMessage?: string; lotStatuses?: recordTypes.LotStatus[] }) => { (responseJSON: {
success: boolean
errorMessage?: string
lotStatuses?: recordTypes.LotStatus[]
}) => {
if (responseJSON.success) { if (responseJSON.success) {
lotStatuses = responseJSON.lotStatuses! lotStatuses = responseJSON.lotStatuses!
@ -32,7 +36,7 @@ const updateLotStatus = (submitEvent: SubmitEvent) => {
} else { } else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Updating ' + los.escapedAliases.Lot + ' Status', title: 'Error Updating ' + los.escapedAliases.Lot + ' Status',
message: responseJSON.errorMessage || '', message: responseJSON.errorMessage ?? '',
contextualColorName: 'danger' contextualColorName: 'danger'
}) })
} }
@ -40,18 +44,24 @@ const updateLotStatus = (submitEvent: SubmitEvent) => {
) )
} }
const deleteLotStatus = (clickEvent: Event) => { function deleteLotStatus(clickEvent: Event): void {
const tableRowElement = (clickEvent.currentTarget as HTMLElement).closest('tr')! const tableRowElement = (clickEvent.currentTarget as HTMLElement).closest(
'tr'
)!
const lotStatusId = tableRowElement.dataset.lotStatusId const lotStatusId = tableRowElement.dataset.lotStatusId
const doDelete = () => { function doDelete(): void {
cityssm.postJSON( cityssm.postJSON(
los.urlPrefix + '/admin/doDeleteLotStatus', los.urlPrefix + '/admin/doDeleteLotStatus',
{ {
lotStatusId lotStatusId
}, },
(responseJSON: { success: boolean; errorMessage?: string; lotStatuses?: recordTypes.LotStatus[] }) => { (responseJSON: {
success: boolean
errorMessage?: string
lotStatuses?: recordTypes.LotStatus[]
}) => {
if (responseJSON.success) { if (responseJSON.success) {
lotStatuses = responseJSON.lotStatuses! lotStatuses = responseJSON.lotStatuses!
@ -67,8 +77,8 @@ const deleteLotStatus = (clickEvent: Event) => {
}) })
} else { } else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Deleting ' + los.escapedAliases.Lot + ' Status', title: `Error Deleting ${los.escapedAliases.Lot} Status`,
message: responseJSON.errorMessage || '', message: responseJSON.errorMessage ?? '',
contextualColorName: 'danger' contextualColorName: 'danger'
}) })
} }
@ -89,7 +99,7 @@ const deleteLotStatus = (clickEvent: Event) => {
}) })
} }
const moveLotStatus = (clickEvent: MouseEvent) => { function moveLotStatus(clickEvent: MouseEvent): void {
const buttonElement = clickEvent.currentTarget as HTMLButtonElement const buttonElement = clickEvent.currentTarget as HTMLButtonElement
const tableRowElement = buttonElement.closest('tr')! const tableRowElement = buttonElement.closest('tr')!
@ -99,19 +109,25 @@ const moveLotStatus = (clickEvent: MouseEvent) => {
cityssm.postJSON( cityssm.postJSON(
los.urlPrefix + los.urlPrefix +
'/admin/' + '/admin/' +
(buttonElement.dataset.direction === 'up' ? 'doMoveLotStatusUp' : 'doMoveLotStatusDown'), (buttonElement.dataset.direction === 'up'
? 'doMoveLotStatusUp'
: 'doMoveLotStatusDown'),
{ {
lotStatusId, lotStatusId,
moveToEnd: clickEvent.shiftKey ? '1' : '0' moveToEnd: clickEvent.shiftKey ? '1' : '0'
}, },
(responseJSON: { success: boolean; errorMessage?: string; lotStatuses?: recordTypes.LotStatus[] }) => { (responseJSON: {
success: boolean
errorMessage?: string
lotStatuses?: recordTypes.LotStatus[]
}) => {
if (responseJSON.success) { if (responseJSON.success) {
lotStatuses = responseJSON.lotStatuses! lotStatuses = responseJSON.lotStatuses!
renderLotStatuses() renderLotStatuses()
} else { } else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Moving ' + exports.aliases.lot + ' Status', title: 'Error Moving ' + los.escapedAliases.Lot + ' Status',
message: responseJSON.errorMessage || '', message: responseJSON.errorMessage ?? '',
contextualColorName: 'danger' contextualColorName: 'danger'
}) })
} }
@ -119,8 +135,10 @@ const moveLotStatus = (clickEvent: MouseEvent) => {
) )
} }
const renderLotStatuses = () => { function renderLotStatuses(): void {
const containerElement = document.querySelector('#container--lotStatuses') as HTMLTableSectionElement const containerElement = document.querySelector(
'#container--lotStatuses'
) as HTMLTableSectionElement
if (lotStatuses.length === 0) { if (lotStatuses.length === 0) {
containerElement.innerHTML = `<tr><td colspan="2"> containerElement.innerHTML = `<tr><td colspan="2">
@ -147,7 +165,9 @@ const renderLotStatuses = () => {
'<div class="control">' + '<div class="control">' +
'<input class="input" name="lotStatus" type="text"' + '<input class="input" name="lotStatus" type="text"' +
(' value="' + cityssm.escapeHTML(lotStatus.lotStatus) + '"') + (' value="' + cityssm.escapeHTML(lotStatus.lotStatus) + '"') +
(' aria-label="' + cityssm.escapeHTML(exports.aliases.lot) + ' Status"') + (' aria-label="' +
cityssm.escapeHTML(exports.aliases.lot) +
' Status"') +
' maxlength="100" required />' + ' maxlength="100" required />' +
'</div>' + '</div>' +
'<div class="control">' + '<div class="control">' +
@ -159,7 +179,11 @@ const renderLotStatuses = () => {
'<td class="is-nowrap">' + '<td class="is-nowrap">' +
'<div class="field is-grouped">' + '<div class="field is-grouped">' +
'<div class="control">' + '<div class="control">' +
los.getMoveUpDownButtonFieldHTML('button--moveLotStatusUp', 'button--moveLotStatusDown', false) + los.getMoveUpDownButtonFieldHTML(
'button--moveLotStatusUp',
'button--moveLotStatusDown',
false
) +
'</div>' + '</div>' +
'<div class="control">' + '<div class="control">' +
'<button class="button is-danger is-light button--deleteLotStatus" data-tooltip="Delete Status" type="button" aria-label="Delete Status">' + '<button class="button is-danger is-light button--deleteLotStatus" data-tooltip="Delete Status" type="button" aria-label="Delete Status">' +
@ -169,50 +193,56 @@ const renderLotStatuses = () => {
'</div>' + '</div>' +
'</td>' '</td>'
tableRowElement.querySelector('form')!.addEventListener('submit', updateLotStatus) tableRowElement
.querySelector('form')!
.addEventListener('submit', updateLotStatus)
;(
tableRowElement.querySelector(
'.button--moveLotStatusUp'
) as HTMLButtonElement
).addEventListener('click', moveLotStatus)
;(
tableRowElement.querySelector(
'.button--moveLotStatusDown'
) as HTMLButtonElement
).addEventListener('click', moveLotStatus)
;(tableRowElement.querySelector('.button--moveLotStatusUp') as HTMLButtonElement).addEventListener( tableRowElement
'click', .querySelector('.button--deleteLotStatus')!
moveLotStatus .addEventListener('click', deleteLotStatus)
)
;(tableRowElement.querySelector('.button--moveLotStatusDown') as HTMLButtonElement).addEventListener(
'click',
moveLotStatus
)
tableRowElement.querySelector('.button--deleteLotStatus')!.addEventListener('click', deleteLotStatus)
containerElement.append(tableRowElement) containerElement.append(tableRowElement)
} }
} }
;(
document.querySelector('#form--addLotStatus') as HTMLFormElement
).addEventListener('submit', (submitEvent: SubmitEvent) => {
submitEvent.preventDefault()
;(document.querySelector('#form--addLotStatus') as HTMLFormElement).addEventListener( const formElement = submitEvent.currentTarget as HTMLFormElement
'submit',
(submitEvent: SubmitEvent) => {
submitEvent.preventDefault()
const formElement = submitEvent.currentTarget as HTMLFormElement cityssm.postJSON(
los.urlPrefix + '/admin/doAddLotStatus',
cityssm.postJSON( formElement,
los.urlPrefix + '/admin/doAddLotStatus', (responseJSON: {
formElement, success: boolean
(responseJSON: { success: boolean; errorMessage?: string; lotStatuses?: recordTypes.LotStatus[] }) => { errorMessage?: string
if (responseJSON.success) { lotStatuses?: recordTypes.LotStatus[]
lotStatuses = responseJSON.lotStatuses! }) => {
renderLotStatuses() if (responseJSON.success) {
formElement.reset() lotStatuses = responseJSON.lotStatuses!
formElement.querySelector('input')!.focus() renderLotStatuses()
} else { formElement.reset()
bulmaJS.alert({ formElement.querySelector('input')!.focus()
title: `Error Adding ${los.escapedAliases.Lot} Status`, } else {
message: responseJSON.errorMessage || '', bulmaJS.alert({
contextualColorName: 'danger' title: `Error Adding ${los.escapedAliases.Lot} Status`,
}) message: responseJSON.errorMessage ?? '',
} contextualColorName: 'danger'
})
} }
) }
} )
) })
renderLotStatuses() renderLotStatuses()

View File

@ -3,9 +3,10 @@
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
let workOrderMilestoneTypes = exports.workOrderMilestoneTypes; let workOrderMilestoneTypes = exports.workOrderMilestoneTypes;
delete exports.workOrderMilestoneTypes; delete exports.workOrderMilestoneTypes;
const updateWorkOrderMilestoneType = (submitEvent) => { function updateWorkOrderMilestoneType(submitEvent) {
submitEvent.preventDefault(); submitEvent.preventDefault();
cityssm.postJSON(los.urlPrefix + '/admin/doUpdateWorkOrderMilestoneType', submitEvent.currentTarget, (responseJSON) => { cityssm.postJSON(los.urlPrefix + '/admin/doUpdateWorkOrderMilestoneType', submitEvent.currentTarget, (responseJSON) => {
var _a;
if (responseJSON.success) { if (responseJSON.success) {
workOrderMilestoneTypes = responseJSON.workOrderMilestoneTypes; workOrderMilestoneTypes = responseJSON.workOrderMilestoneTypes;
bulmaJS.alert({ bulmaJS.alert({
@ -16,19 +17,20 @@ const updateWorkOrderMilestoneType = (submitEvent) => {
else { else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Updating Work Order Milestone Type', title: 'Error Updating Work Order Milestone Type',
message: responseJSON.errorMessage || '', message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger' contextualColorName: 'danger'
}); });
} }
}); });
}; }
const deleteWorkOrderMilestoneType = (clickEvent) => { function deleteWorkOrderMilestoneType(clickEvent) {
const tableRowElement = clickEvent.currentTarget.closest('tr'); const tableRowElement = clickEvent.currentTarget.closest('tr');
const workOrderMilestoneTypeId = tableRowElement.dataset.workOrderMilestoneTypeId; const workOrderMilestoneTypeId = tableRowElement.dataset.workOrderMilestoneTypeId;
const doDelete = () => { function doDelete() {
cityssm.postJSON(los.urlPrefix + '/admin/doDeleteWorkOrderMilestoneType', { cityssm.postJSON(los.urlPrefix + '/admin/doDeleteWorkOrderMilestoneType', {
workOrderMilestoneTypeId workOrderMilestoneTypeId
}, (responseJSON) => { }, (responseJSON) => {
var _a;
if (responseJSON.success) { if (responseJSON.success) {
workOrderMilestoneTypes = responseJSON.workOrderMilestoneTypes; workOrderMilestoneTypes = responseJSON.workOrderMilestoneTypes;
if (workOrderMilestoneTypes.length === 0) { if (workOrderMilestoneTypes.length === 0) {
@ -45,12 +47,12 @@ const deleteWorkOrderMilestoneType = (clickEvent) => {
else { else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Deleting Work Order Milestone Type', title: 'Error Deleting Work Order Milestone Type',
message: responseJSON.errorMessage || '', message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger' contextualColorName: 'danger'
}); });
} }
}); });
}; }
bulmaJS.confirm({ bulmaJS.confirm({
title: 'Delete Work Order Milestone Type', title: 'Delete Work Order Milestone Type',
message: `Are you sure you want to delete this work order milestone type?<br /> message: `Are you sure you want to delete this work order milestone type?<br />
@ -62,8 +64,8 @@ const deleteWorkOrderMilestoneType = (clickEvent) => {
callbackFunction: doDelete callbackFunction: doDelete
} }
}); });
}; }
const moveWorkOrderMilestoneType = (clickEvent) => { function moveWorkOrderMilestoneType(clickEvent) {
const buttonElement = clickEvent.currentTarget; const buttonElement = clickEvent.currentTarget;
const tableRowElement = buttonElement.closest('tr'); const tableRowElement = buttonElement.closest('tr');
const workOrderMilestoneTypeId = tableRowElement.dataset.workOrderMilestoneTypeId; const workOrderMilestoneTypeId = tableRowElement.dataset.workOrderMilestoneTypeId;
@ -75,6 +77,7 @@ const moveWorkOrderMilestoneType = (clickEvent) => {
workOrderMilestoneTypeId, workOrderMilestoneTypeId,
moveToEnd: clickEvent.shiftKey ? '1' : '0' moveToEnd: clickEvent.shiftKey ? '1' : '0'
}, (responseJSON) => { }, (responseJSON) => {
var _a;
if (responseJSON.success) { if (responseJSON.success) {
workOrderMilestoneTypes = responseJSON.workOrderMilestoneTypes; workOrderMilestoneTypes = responseJSON.workOrderMilestoneTypes;
renderWorkOrderMilestoneTypes(); renderWorkOrderMilestoneTypes();
@ -82,13 +85,13 @@ const moveWorkOrderMilestoneType = (clickEvent) => {
else { else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Moving Work Order Milestone Type', title: 'Error Moving Work Order Milestone Type',
message: responseJSON.errorMessage || '', message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger' contextualColorName: 'danger'
}); });
} }
}); });
}; }
const renderWorkOrderMilestoneTypes = () => { function renderWorkOrderMilestoneTypes() {
const containerElement = document.querySelector('#container--workOrderMilestoneTypes'); const containerElement = document.querySelector('#container--workOrderMilestoneTypes');
if (workOrderMilestoneTypes.length === 0) { if (workOrderMilestoneTypes.length === 0) {
containerElement.innerHTML = `<tr><td colspan="2"> containerElement.innerHTML = `<tr><td colspan="2">
@ -131,7 +134,9 @@ const renderWorkOrderMilestoneTypes = () => {
'</div>' + '</div>' +
'</div>' + '</div>' +
'</td>'; '</td>';
tableRowElement.querySelector('form').addEventListener('submit', updateWorkOrderMilestoneType); tableRowElement
.querySelector('form')
.addEventListener('submit', updateWorkOrderMilestoneType);
tableRowElement.querySelector('.button--moveWorkOrderMilestoneTypeUp').addEventListener('click', moveWorkOrderMilestoneType); tableRowElement.querySelector('.button--moveWorkOrderMilestoneTypeUp').addEventListener('click', moveWorkOrderMilestoneType);
tableRowElement.querySelector('.button--moveWorkOrderMilestoneTypeDown').addEventListener('click', moveWorkOrderMilestoneType); tableRowElement.querySelector('.button--moveWorkOrderMilestoneTypeDown').addEventListener('click', moveWorkOrderMilestoneType);
tableRowElement tableRowElement
@ -139,11 +144,13 @@ const renderWorkOrderMilestoneTypes = () => {
.addEventListener('click', deleteWorkOrderMilestoneType); .addEventListener('click', deleteWorkOrderMilestoneType);
containerElement.append(tableRowElement); containerElement.append(tableRowElement);
} }
}; }
;
document.querySelector('#form--addWorkOrderMilestoneType').addEventListener('submit', (submitEvent) => { document.querySelector('#form--addWorkOrderMilestoneType').addEventListener('submit', (submitEvent) => {
submitEvent.preventDefault(); submitEvent.preventDefault();
const formElement = submitEvent.currentTarget; const formElement = submitEvent.currentTarget;
cityssm.postJSON(los.urlPrefix + '/admin/doAddWorkOrderMilestoneType', formElement, (responseJSON) => { cityssm.postJSON(los.urlPrefix + '/admin/doAddWorkOrderMilestoneType', formElement, (responseJSON) => {
var _a;
if (responseJSON.success) { if (responseJSON.success) {
workOrderMilestoneTypes = responseJSON.workOrderMilestoneTypes; workOrderMilestoneTypes = responseJSON.workOrderMilestoneTypes;
renderWorkOrderMilestoneTypes(); renderWorkOrderMilestoneTypes();
@ -153,7 +160,7 @@ document.querySelector('#form--addWorkOrderMilestoneType').addEventListener('sub
else { else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Adding Work Order Milestone Type', title: 'Error Adding Work Order Milestone Type',
message: responseJSON.errorMessage || '', message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger' contextualColorName: 'danger'
}); });
} }

View File

@ -12,10 +12,11 @@ declare const bulmaJS: BulmaJS
declare const los: globalTypes.LOS declare const los: globalTypes.LOS
let workOrderMilestoneTypes: recordTypes.WorkOrderMilestoneType[] = exports.workOrderMilestoneTypes let workOrderMilestoneTypes: recordTypes.WorkOrderMilestoneType[] =
exports.workOrderMilestoneTypes
delete exports.workOrderMilestoneTypes delete exports.workOrderMilestoneTypes
const updateWorkOrderMilestoneType = (submitEvent: SubmitEvent) => { function updateWorkOrderMilestoneType(submitEvent: SubmitEvent): void {
submitEvent.preventDefault() submitEvent.preventDefault()
cityssm.postJSON( cityssm.postJSON(
@ -36,7 +37,7 @@ const updateWorkOrderMilestoneType = (submitEvent: SubmitEvent) => {
} else { } else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Updating Work Order Milestone Type', title: 'Error Updating Work Order Milestone Type',
message: responseJSON.errorMessage || '', message: responseJSON.errorMessage ?? '',
contextualColorName: 'danger' contextualColorName: 'danger'
}) })
} }
@ -44,12 +45,15 @@ const updateWorkOrderMilestoneType = (submitEvent: SubmitEvent) => {
) )
} }
const deleteWorkOrderMilestoneType = (clickEvent: Event) => { function deleteWorkOrderMilestoneType(clickEvent: Event): void {
const tableRowElement = (clickEvent.currentTarget as HTMLElement).closest('tr')! const tableRowElement = (clickEvent.currentTarget as HTMLElement).closest(
'tr'
)!
const workOrderMilestoneTypeId = tableRowElement.dataset.workOrderMilestoneTypeId const workOrderMilestoneTypeId =
tableRowElement.dataset.workOrderMilestoneTypeId
const doDelete = () => { function doDelete(): void {
cityssm.postJSON( cityssm.postJSON(
los.urlPrefix + '/admin/doDeleteWorkOrderMilestoneType', los.urlPrefix + '/admin/doDeleteWorkOrderMilestoneType',
{ {
@ -76,7 +80,7 @@ const deleteWorkOrderMilestoneType = (clickEvent: Event) => {
} else { } else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Deleting Work Order Milestone Type', title: 'Error Deleting Work Order Milestone Type',
message: responseJSON.errorMessage || '', message: responseJSON.errorMessage ?? '',
contextualColorName: 'danger' contextualColorName: 'danger'
}) })
} }
@ -97,12 +101,13 @@ const deleteWorkOrderMilestoneType = (clickEvent: Event) => {
}) })
} }
const moveWorkOrderMilestoneType = (clickEvent: MouseEvent) => { function moveWorkOrderMilestoneType(clickEvent: MouseEvent): void {
const buttonElement = clickEvent.currentTarget as HTMLButtonElement const buttonElement = clickEvent.currentTarget as HTMLButtonElement
const tableRowElement = buttonElement.closest('tr')! const tableRowElement = buttonElement.closest('tr')!
const workOrderMilestoneTypeId = tableRowElement.dataset.workOrderMilestoneTypeId const workOrderMilestoneTypeId =
tableRowElement.dataset.workOrderMilestoneTypeId
cityssm.postJSON( cityssm.postJSON(
los.urlPrefix + los.urlPrefix +
@ -125,7 +130,7 @@ const moveWorkOrderMilestoneType = (clickEvent: MouseEvent) => {
} else { } else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Moving Work Order Milestone Type', title: 'Error Moving Work Order Milestone Type',
message: responseJSON.errorMessage || '', message: responseJSON.errorMessage ?? '',
contextualColorName: 'danger' contextualColorName: 'danger'
}) })
} }
@ -133,7 +138,7 @@ const moveWorkOrderMilestoneType = (clickEvent: MouseEvent) => {
) )
} }
const renderWorkOrderMilestoneTypes = () => { function renderWorkOrderMilestoneTypes(): void {
const containerElement = document.querySelector( const containerElement = document.querySelector(
'#container--workOrderMilestoneTypes' '#container--workOrderMilestoneTypes'
) as HTMLTableSectionElement ) as HTMLTableSectionElement
@ -189,14 +194,18 @@ const renderWorkOrderMilestoneTypes = () => {
'</div>' + '</div>' +
'</td>' '</td>'
tableRowElement.querySelector('form')!.addEventListener('submit', updateWorkOrderMilestoneType) tableRowElement
.querySelector('form')!
.addEventListener('submit', updateWorkOrderMilestoneType)
;( ;(
tableRowElement.querySelector('.button--moveWorkOrderMilestoneTypeUp') as HTMLButtonElement tableRowElement.querySelector(
'.button--moveWorkOrderMilestoneTypeUp'
) as HTMLButtonElement
).addEventListener('click', moveWorkOrderMilestoneType) ).addEventListener('click', moveWorkOrderMilestoneType)
;( ;(
tableRowElement.querySelector('.button--moveWorkOrderMilestoneTypeDown') as HTMLButtonElement tableRowElement.querySelector(
'.button--moveWorkOrderMilestoneTypeDown'
) as HTMLButtonElement
).addEventListener('click', moveWorkOrderMilestoneType) ).addEventListener('click', moveWorkOrderMilestoneType)
tableRowElement tableRowElement
@ -206,37 +215,35 @@ const renderWorkOrderMilestoneTypes = () => {
containerElement.append(tableRowElement) containerElement.append(tableRowElement)
} }
} }
;(
document.querySelector('#form--addWorkOrderMilestoneType') as HTMLFormElement
).addEventListener('submit', (submitEvent: SubmitEvent) => {
submitEvent.preventDefault()
;(document.querySelector('#form--addWorkOrderMilestoneType') as HTMLFormElement).addEventListener( const formElement = submitEvent.currentTarget as HTMLFormElement
'submit',
(submitEvent: SubmitEvent) => {
submitEvent.preventDefault()
const formElement = submitEvent.currentTarget as HTMLFormElement cityssm.postJSON(
los.urlPrefix + '/admin/doAddWorkOrderMilestoneType',
cityssm.postJSON( formElement,
los.urlPrefix + '/admin/doAddWorkOrderMilestoneType', (responseJSON: {
formElement, success: boolean
(responseJSON: { errorMessage?: string
success: boolean workOrderMilestoneTypes?: recordTypes.WorkOrderMilestoneType[]
errorMessage?: string }) => {
workOrderMilestoneTypes?: recordTypes.WorkOrderMilestoneType[] if (responseJSON.success) {
}) => { workOrderMilestoneTypes = responseJSON.workOrderMilestoneTypes!
if (responseJSON.success) { renderWorkOrderMilestoneTypes()
workOrderMilestoneTypes = responseJSON.workOrderMilestoneTypes! formElement.reset()
renderWorkOrderMilestoneTypes() formElement.querySelector('input')!.focus()
formElement.reset() } else {
formElement.querySelector('input')!.focus() bulmaJS.alert({
} else { title: 'Error Adding Work Order Milestone Type',
bulmaJS.alert({ message: responseJSON.errorMessage ?? '',
title: 'Error Adding Work Order Milestone Type', contextualColorName: 'danger'
message: responseJSON.errorMessage || '', })
contextualColorName: 'danger'
})
}
} }
) }
} )
) })
renderWorkOrderMilestoneTypes() renderWorkOrderMilestoneTypes()

View File

@ -3,9 +3,10 @@
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
let workOrderTypes = exports.workOrderTypes; let workOrderTypes = exports.workOrderTypes;
delete exports.workOrderTypes; delete exports.workOrderTypes;
const updateWorkOrderType = (submitEvent) => { function updateWorkOrderType(submitEvent) {
submitEvent.preventDefault(); submitEvent.preventDefault();
cityssm.postJSON(los.urlPrefix + '/admin/doUpdateWorkOrderType', submitEvent.currentTarget, (responseJSON) => { cityssm.postJSON(los.urlPrefix + '/admin/doUpdateWorkOrderType', submitEvent.currentTarget, (responseJSON) => {
var _a;
if (responseJSON.success) { if (responseJSON.success) {
workOrderTypes = responseJSON.workOrderTypes; workOrderTypes = responseJSON.workOrderTypes;
bulmaJS.alert({ bulmaJS.alert({
@ -16,19 +17,20 @@ const updateWorkOrderType = (submitEvent) => {
else { else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Updating Work Order Type', title: 'Error Updating Work Order Type',
message: responseJSON.errorMessage || '', message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger' contextualColorName: 'danger'
}); });
} }
}); });
}; }
const deleteWorkOrderType = (clickEvent) => { const deleteWorkOrderType = (clickEvent) => {
const tableRowElement = clickEvent.currentTarget.closest('tr'); const tableRowElement = clickEvent.currentTarget.closest('tr');
const workOrderTypeId = tableRowElement.dataset.workOrderTypeId; const workOrderTypeId = tableRowElement.dataset.workOrderTypeId;
const doDelete = () => { function doDelete() {
cityssm.postJSON(los.urlPrefix + '/admin/doDeleteWorkOrderType', { cityssm.postJSON(los.urlPrefix + '/admin/doDeleteWorkOrderType', {
workOrderTypeId workOrderTypeId
}, (responseJSON) => { }, (responseJSON) => {
var _a;
if (responseJSON.success) { if (responseJSON.success) {
workOrderTypes = responseJSON.workOrderTypes; workOrderTypes = responseJSON.workOrderTypes;
if (workOrderTypes.length === 0) { if (workOrderTypes.length === 0) {
@ -45,12 +47,12 @@ const deleteWorkOrderType = (clickEvent) => {
else { else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Deleting Work Order Type', title: 'Error Deleting Work Order Type',
message: responseJSON.errorMessage || '', message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger' contextualColorName: 'danger'
}); });
} }
}); });
}; }
bulmaJS.confirm({ bulmaJS.confirm({
title: 'Delete Work Order Type', title: 'Delete Work Order Type',
message: `Are you sure you want to delete this work order type?<br /> message: `Are you sure you want to delete this work order type?<br />
@ -63,7 +65,7 @@ const deleteWorkOrderType = (clickEvent) => {
} }
}); });
}; };
const moveWorkOrderType = (clickEvent) => { function moveWorkOrderType(clickEvent) {
const buttonElement = clickEvent.currentTarget; const buttonElement = clickEvent.currentTarget;
const tableRowElement = buttonElement.closest('tr'); const tableRowElement = buttonElement.closest('tr');
const workOrderTypeId = tableRowElement.dataset.workOrderTypeId; const workOrderTypeId = tableRowElement.dataset.workOrderTypeId;
@ -73,6 +75,7 @@ const moveWorkOrderType = (clickEvent) => {
workOrderTypeId, workOrderTypeId,
moveToEnd: clickEvent.shiftKey ? '1' : '0' moveToEnd: clickEvent.shiftKey ? '1' : '0'
}, (responseJSON) => { }, (responseJSON) => {
var _a;
if (responseJSON.success) { if (responseJSON.success) {
workOrderTypes = responseJSON.workOrderTypes; workOrderTypes = responseJSON.workOrderTypes;
renderWorkOrderTypes(); renderWorkOrderTypes();
@ -80,13 +83,14 @@ const moveWorkOrderType = (clickEvent) => {
else { else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Moving Work Order Type', title: 'Error Moving Work Order Type',
message: responseJSON.errorMessage || '', message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger' contextualColorName: 'danger'
}); });
} }
}); });
}; }
const renderWorkOrderTypes = () => { function renderWorkOrderTypes() {
var _a;
const containerElement = document.querySelector('#container--workOrderTypes'); const containerElement = document.querySelector('#container--workOrderTypes');
if (workOrderTypes.length === 0) { if (workOrderTypes.length === 0) {
containerElement.innerHTML = `<tr><td colspan="2"> containerElement.innerHTML = `<tr><td colspan="2">
@ -107,7 +111,7 @@ const renderWorkOrderTypes = () => {
('<div class="field has-addons">' + ('<div class="field has-addons">' +
'<div class="control">' + '<div class="control">' +
'<input class="input" name="workOrderType" type="text" value="' + '<input class="input" name="workOrderType" type="text" value="' +
cityssm.escapeHTML(workOrderType.workOrderType || '') + cityssm.escapeHTML((_a = workOrderType.workOrderType) !== null && _a !== void 0 ? _a : '') +
'" maxlength="100" aria-label="Work Order Type" required />' + '" maxlength="100" aria-label="Work Order Type" required />' +
'</div>' + '</div>' +
'<div class="control">' + '<div class="control">' +
@ -136,11 +140,12 @@ const renderWorkOrderTypes = () => {
.addEventListener('click', deleteWorkOrderType); .addEventListener('click', deleteWorkOrderType);
containerElement.append(tableRowElement); containerElement.append(tableRowElement);
} }
}; }
document.querySelector('#form--addWorkOrderType').addEventListener('submit', (submitEvent) => { document.querySelector('#form--addWorkOrderType').addEventListener('submit', (submitEvent) => {
submitEvent.preventDefault(); submitEvent.preventDefault();
const formElement = submitEvent.currentTarget; const formElement = submitEvent.currentTarget;
cityssm.postJSON(los.urlPrefix + '/admin/doAddWorkOrderType', formElement, (responseJSON) => { cityssm.postJSON(los.urlPrefix + '/admin/doAddWorkOrderType', formElement, (responseJSON) => {
var _a;
if (responseJSON.success) { if (responseJSON.success) {
workOrderTypes = responseJSON.workOrderTypes; workOrderTypes = responseJSON.workOrderTypes;
renderWorkOrderTypes(); renderWorkOrderTypes();
@ -150,7 +155,7 @@ document.querySelector('#form--addWorkOrderType').addEventListener('submit', (su
else { else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Adding Work Order Type', title: 'Error Adding Work Order Type',
message: responseJSON.errorMessage || '', message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger' contextualColorName: 'danger'
}); });
} }

View File

@ -15,7 +15,7 @@ declare const los: globalTypes.LOS
let workOrderTypes: recordTypes.WorkOrderType[] = exports.workOrderTypes let workOrderTypes: recordTypes.WorkOrderType[] = exports.workOrderTypes
delete exports.workOrderTypes delete exports.workOrderTypes
const updateWorkOrderType = (submitEvent: SubmitEvent) => { function updateWorkOrderType(submitEvent: SubmitEvent): void {
submitEvent.preventDefault() submitEvent.preventDefault()
cityssm.postJSON( cityssm.postJSON(
@ -36,7 +36,7 @@ const updateWorkOrderType = (submitEvent: SubmitEvent) => {
} else { } else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Updating Work Order Type', title: 'Error Updating Work Order Type',
message: responseJSON.errorMessage || '', message: responseJSON.errorMessage ?? '',
contextualColorName: 'danger' contextualColorName: 'danger'
}) })
} }
@ -44,12 +44,12 @@ const updateWorkOrderType = (submitEvent: SubmitEvent) => {
) )
} }
const deleteWorkOrderType = (clickEvent: Event) => { const deleteWorkOrderType = (clickEvent: Event): void => {
const tableRowElement = (clickEvent.currentTarget as HTMLElement).closest('tr')! const tableRowElement = (clickEvent.currentTarget as HTMLElement).closest('tr')!
const workOrderTypeId = tableRowElement.dataset.workOrderTypeId const workOrderTypeId = tableRowElement.dataset.workOrderTypeId
const doDelete = () => { function doDelete(): void {
cityssm.postJSON( cityssm.postJSON(
los.urlPrefix + '/admin/doDeleteWorkOrderType', los.urlPrefix + '/admin/doDeleteWorkOrderType',
{ {
@ -76,7 +76,7 @@ const deleteWorkOrderType = (clickEvent: Event) => {
} else { } else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Deleting Work Order Type', title: 'Error Deleting Work Order Type',
message: responseJSON.errorMessage || '', message: responseJSON.errorMessage ?? '',
contextualColorName: 'danger' contextualColorName: 'danger'
}) })
} }
@ -97,7 +97,7 @@ const deleteWorkOrderType = (clickEvent: Event) => {
}) })
} }
const moveWorkOrderType = (clickEvent: MouseEvent) => { function moveWorkOrderType(clickEvent: MouseEvent): void {
const buttonElement = clickEvent.currentTarget as HTMLButtonElement const buttonElement = clickEvent.currentTarget as HTMLButtonElement
const tableRowElement = buttonElement.closest('tr')! const tableRowElement = buttonElement.closest('tr')!
@ -106,8 +106,8 @@ const moveWorkOrderType = (clickEvent: MouseEvent) => {
cityssm.postJSON( cityssm.postJSON(
los.urlPrefix + los.urlPrefix +
'/admin/' + '/admin/' +
(buttonElement.dataset.direction === 'up' ? 'doMoveWorkOrderTypeUp' : 'doMoveWorkOrderTypeDown'), (buttonElement.dataset.direction === 'up' ? 'doMoveWorkOrderTypeUp' : 'doMoveWorkOrderTypeDown'),
{ {
workOrderTypeId, workOrderTypeId,
moveToEnd: clickEvent.shiftKey ? '1' : '0' moveToEnd: clickEvent.shiftKey ? '1' : '0'
@ -123,7 +123,7 @@ const moveWorkOrderType = (clickEvent: MouseEvent) => {
} else { } else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Moving Work Order Type', title: 'Error Moving Work Order Type',
message: responseJSON.errorMessage || '', message: responseJSON.errorMessage ?? '',
contextualColorName: 'danger' contextualColorName: 'danger'
}) })
} }
@ -131,7 +131,7 @@ const moveWorkOrderType = (clickEvent: MouseEvent) => {
) )
} }
const renderWorkOrderTypes = () => { function renderWorkOrderTypes(): void {
const containerElement = document.querySelector('#container--workOrderTypes') as HTMLTableSectionElement const containerElement = document.querySelector('#container--workOrderTypes') as HTMLTableSectionElement
if (workOrderTypes.length === 0) { if (workOrderTypes.length === 0) {
@ -158,7 +158,7 @@ const renderWorkOrderTypes = () => {
('<div class="field has-addons">' + ('<div class="field has-addons">' +
'<div class="control">' + '<div class="control">' +
'<input class="input" name="workOrderType" type="text" value="' + '<input class="input" name="workOrderType" type="text" value="' +
cityssm.escapeHTML(workOrderType.workOrderType || '') + cityssm.escapeHTML(workOrderType.workOrderType ?? '') +
'" maxlength="100" aria-label="Work Order Type" required />' + '" maxlength="100" aria-label="Work Order Type" required />' +
'</div>' + '</div>' +
'<div class="control">' + '<div class="control">' +
@ -184,14 +184,10 @@ const renderWorkOrderTypes = () => {
'</div>' + '</div>' +
'</td>' '</td>'
tableRowElement.querySelector('form')!.addEventListener('submit', updateWorkOrderType) tableRowElement.querySelector('form')!.addEventListener('submit', updateWorkOrderType); (tableRowElement.querySelector('.button--moveWorkOrderTypeUp') as HTMLButtonElement).addEventListener(
;(tableRowElement.querySelector('.button--moveWorkOrderTypeUp') as HTMLButtonElement).addEventListener(
'click', 'click',
moveWorkOrderType moveWorkOrderType
) ); (tableRowElement.querySelector('.button--moveWorkOrderTypeDown') as HTMLButtonElement).addEventListener(
;(tableRowElement.querySelector('.button--moveWorkOrderTypeDown') as HTMLButtonElement).addEventListener(
'click', 'click',
moveWorkOrderType moveWorkOrderType
) )
@ -202,9 +198,7 @@ const renderWorkOrderTypes = () => {
containerElement.append(tableRowElement) containerElement.append(tableRowElement)
} }
} }(document.querySelector('#form--addWorkOrderType') as HTMLFormElement).addEventListener(
;(document.querySelector('#form--addWorkOrderType') as HTMLFormElement).addEventListener(
'submit', 'submit',
(submitEvent: SubmitEvent) => { (submitEvent: SubmitEvent) => {
submitEvent.preventDefault() submitEvent.preventDefault()
@ -227,7 +221,7 @@ const renderWorkOrderTypes = () => {
} else { } else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Adding Work Order Type', title: 'Error Adding Work Order Type',
message: responseJSON.errorMessage || '', message: responseJSON.errorMessage ?? '',
contextualColorName: 'danger' contextualColorName: 'danger'
}) })
} }

View File

@ -2,9 +2,10 @@
/* eslint-disable unicorn/prefer-module */ /* eslint-disable unicorn/prefer-module */
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
(() => { (() => {
var _a;
const los = exports.los; const los = exports.los;
const workOrderNumberCircleElements = document.querySelectorAll('.fa-circle[data-work-order-number'); const workOrderNumberCircleElements = document.querySelectorAll('.fa-circle[data-work-order-number');
for (const workOrderNumberCircleElement of workOrderNumberCircleElements) { for (const workOrderNumberCircleElement of workOrderNumberCircleElements) {
workOrderNumberCircleElement.style.color = los.getRandomColor(workOrderNumberCircleElement.dataset.workOrderNumber || ''); workOrderNumberCircleElement.style.color = los.getRandomColor((_a = workOrderNumberCircleElement.dataset.workOrderNumber) !== null && _a !== void 0 ? _a : '');
} }
})(); })();

View File

@ -1,17 +1,16 @@
/* eslint-disable unicorn/prefer-module */ /* eslint-disable unicorn/prefer-module */
import type * as globalTypes from '../types/globalTypes' import type * as globalTypes from '../types/globalTypes'
;(() => { ;(() => {
const los = exports.los as globalTypes.LOS const los = exports.los as globalTypes.LOS
const workOrderNumberCircleElements = document.querySelectorAll( const workOrderNumberCircleElements: NodeListOf<HTMLElement> = document.querySelectorAll(
'.fa-circle[data-work-order-number' '.fa-circle[data-work-order-number'
) as NodeListOf<HTMLElement> )
for (const workOrderNumberCircleElement of workOrderNumberCircleElements) { for (const workOrderNumberCircleElement of workOrderNumberCircleElements) {
workOrderNumberCircleElement.style.color = los.getRandomColor( workOrderNumberCircleElement.style.color = los.getRandomColor(
workOrderNumberCircleElement.dataset.workOrderNumber || '' workOrderNumberCircleElement.dataset.workOrderNumber ?? ''
) )
} }
})() })()

View File

@ -1,8 +1,8 @@
"use strict"; "use strict";
/* eslint-disable @typescript-eslint/no-non-null-assertion, unicorn/prefer-module */ /* eslint-disable spaced-comment, @typescript-eslint/no-non-null-assertion, unicorn/prefer-module */
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
(() => { (() => {
var _a, _b, _c; var _a;
const los = exports.los; const los = exports.los;
const lotOccupancyId = document.querySelector('#lotOccupancy--lotOccupancyId').value; const lotOccupancyId = document.querySelector('#lotOccupancy--lotOccupancyId').value;
const isCreate = lotOccupancyId === ''; const isCreate = lotOccupancyId === '';
@ -16,6 +16,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
cityssm.postJSON(los.urlPrefix + cityssm.postJSON(los.urlPrefix +
'/lotOccupancies/' + '/lotOccupancies/' +
(isCreate ? 'doCreateLotOccupancy' : 'doUpdateLotOccupancy'), formElement, (responseJSON) => { (isCreate ? 'doCreateLotOccupancy' : 'doUpdateLotOccupancy'), formElement, (responseJSON) => {
var _a;
if (responseJSON.success) { if (responseJSON.success) {
los.clearUnsavedChanges(); los.clearUnsavedChanges();
if (isCreate || refreshAfterSave) { if (isCreate || refreshAfterSave) {
@ -30,8 +31,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
} }
else { else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Saving ' + exports.aliases.occupancy, title: 'Error Saving ' + los.escapedAliases.Occupancy,
message: responseJSON.errorMessage || '', message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger' contextualColorName: 'danger'
}); });
} }
@ -41,10 +42,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
for (const formInputElement of formInputElements) { for (const formInputElement of formInputElements) {
formInputElement.addEventListener('change', los.setUnsavedChanges); formInputElement.addEventListener('change', los.setUnsavedChanges);
} }
const doCopy = () => { function doCopy() {
cityssm.postJSON(los.urlPrefix + '/lotOccupancies/doCopyLotOccupancy', { cityssm.postJSON(los.urlPrefix + '/lotOccupancies/doCopyLotOccupancy', {
lotOccupancyId lotOccupancyId
}, (responseJSON) => { }, (responseJSON) => {
var _a;
if (responseJSON.success) { if (responseJSON.success) {
cityssm.disableNavBlocker(); cityssm.disableNavBlocker();
window.location.href = los.getLotOccupancyURL(responseJSON.lotOccupancyId, true); window.location.href = los.getLotOccupancyURL(responseJSON.lotOccupancyId, true);
@ -52,12 +54,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
else { else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Copying Record', title: 'Error Copying Record',
message: responseJSON.errorMessage || '', message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger' contextualColorName: 'danger'
}); });
} }
}); });
}; }
(_a = document (_a = document
.querySelector('#button--copyLotOccupancy')) === null || _a === void 0 ? void 0 : _a.addEventListener('click', (clickEvent) => { .querySelector('#button--copyLotOccupancy')) === null || _a === void 0 ? void 0 : _a.addEventListener('click', (clickEvent) => {
clickEvent.preventDefault(); clickEvent.preventDefault();
@ -80,13 +82,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
}); });
} }
}); });
(_b = document document
.querySelector('#button--deleteLotOccupancy')) === null || _b === void 0 ? void 0 : _b.addEventListener('click', (clickEvent) => { .querySelector('#button--deleteLotOccupancy')
.addEventListener('click', (clickEvent) => {
clickEvent.preventDefault(); clickEvent.preventDefault();
const doDelete = () => { function doDelete() {
cityssm.postJSON(los.urlPrefix + '/lotOccupancies/doDeleteLotOccupancy', { cityssm.postJSON(los.urlPrefix + '/lotOccupancies/doDeleteLotOccupancy', {
lotOccupancyId lotOccupancyId
}, (responseJSON) => { }, (responseJSON) => {
var _a;
if (responseJSON.success) { if (responseJSON.success) {
cityssm.disableNavBlocker(); cityssm.disableNavBlocker();
window.location.href = los.getLotOccupancyURL(); window.location.href = los.getLotOccupancyURL();
@ -94,14 +98,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
else { else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Deleting Record', title: 'Error Deleting Record',
message: responseJSON.errorMessage || '', message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger' contextualColorName: 'danger'
}); });
} }
}); });
}; }
bulmaJS.confirm({ bulmaJS.confirm({
title: 'Delete ' + exports.aliases.occupancy + ' Record', title: `Delete ${los.escapedAliases.Occupancy} Record`,
message: 'Are you sure you want to delete this record?', message: 'Are you sure you want to delete this record?',
contextualColorName: 'warning', contextualColorName: 'warning',
okButton: { okButton: {
@ -110,11 +114,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
} }
}); });
}); });
(_c = document document
.querySelector('#button--createWorkOrder')) === null || _c === void 0 ? void 0 : _c.addEventListener('click', (clickEvent) => { .querySelector('#button--createWorkOrder')
.addEventListener('click', (clickEvent) => {
clickEvent.preventDefault(); clickEvent.preventDefault();
let createCloseModalFunction; let createCloseModalFunction;
const doCreate = (formEvent) => { function doCreate(formEvent) {
formEvent.preventDefault(); formEvent.preventDefault();
cityssm.postJSON(los.urlPrefix + '/workOrders/doCreateWorkOrder', formEvent.currentTarget, (responseJSON) => { cityssm.postJSON(los.urlPrefix + '/workOrders/doCreateWorkOrder', formEvent.currentTarget, (responseJSON) => {
if (responseJSON.success) { if (responseJSON.success) {
@ -126,11 +131,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
okButton: { okButton: {
text: 'Yes, Open the Work Order', text: 'Yes, Open the Work Order',
callbackFunction: () => { callbackFunction: () => {
window.location.href = window.location.href = los.getWorkOrderURL(responseJSON.workOrderId, true);
los.urlPrefix +
'/workOrders/' +
responseJSON.workOrderId +
'/edit';
} }
} }
}); });
@ -143,7 +144,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
}); });
} }
}); });
}; }
cityssm.openHtmlModal('lotOccupancy-createWorkOrder', { cityssm.openHtmlModal('lotOccupancy-createWorkOrder', {
onshow(modalElement) { onshow(modalElement) {
; ;
@ -278,26 +279,27 @@ Object.defineProperty(exports, "__esModule", { value: true });
let lotSelectModalElement; let lotSelectModalElement;
let lotSelectFormElement; let lotSelectFormElement;
let lotSelectResultsElement; let lotSelectResultsElement;
const renderSelectedLotAndClose = (lotId, lotName) => { function renderSelectedLotAndClose(lotId, lotName) {
; ;
document.querySelector('#lotOccupancy--lotId').value = lotId.toString(); document.querySelector('#lotOccupancy--lotId').value = lotId.toString();
document.querySelector('#lotOccupancy--lotName').value = lotName; document.querySelector('#lotOccupancy--lotName').value = lotName;
los.setUnsavedChanges(); los.setUnsavedChanges();
lotSelectCloseModalFunction(); lotSelectCloseModalFunction();
}; }
const selectExistingLot = (clickEvent) => { function selectExistingLot(clickEvent) {
clickEvent.preventDefault(); clickEvent.preventDefault();
const selectedLotElement = clickEvent.currentTarget; const selectedLotElement = clickEvent.currentTarget;
renderSelectedLotAndClose(selectedLotElement.dataset.lotId, selectedLotElement.dataset.lotName); renderSelectedLotAndClose(selectedLotElement.dataset.lotId, selectedLotElement.dataset.lotName);
}; }
const searchLots = () => { function searchLots() {
lotSelectResultsElement.innerHTML = lotSelectResultsElement.innerHTML =
los.getLoadingParagraphHTML('Searching...'); los.getLoadingParagraphHTML('Searching...');
cityssm.postJSON(los.urlPrefix + '/lots/doSearchLots', lotSelectFormElement, (responseJSON) => { cityssm.postJSON(los.urlPrefix + '/lots/doSearchLots', lotSelectFormElement, (responseJSON) => {
var _a, _b;
if (responseJSON.count === 0) { if (responseJSON.count === 0) {
lotSelectResultsElement.innerHTML = `<div class="message is-info"> lotSelectResultsElement.innerHTML = `<div class="message is-info">
<p class="message-body">No results.</p> <p class="message-body">No results.</p>
</div>`; </div>`;
return; return;
} }
const panelElement = document.createElement('div'); const panelElement = document.createElement('div');
@ -311,10 +313,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
panelBlockElement.innerHTML = panelBlockElement.innerHTML =
'<div class="columns">' + '<div class="columns">' +
('<div class="column">' + ('<div class="column">' +
cityssm.escapeHTML(lot.lotName || '') + cityssm.escapeHTML((_a = lot.lotName) !== null && _a !== void 0 ? _a : '') +
'<br />' + '<br />' +
'<span class="is-size-7">' + '<span class="is-size-7">' +
cityssm.escapeHTML(lot.mapName || '') + cityssm.escapeHTML((_b = lot.mapName) !== null && _b !== void 0 ? _b : '') +
'</span>' + '</span>' +
'</div>') + '</div>') +
('<div class="column">' + ('<div class="column">' +
@ -331,28 +333,30 @@ Object.defineProperty(exports, "__esModule", { value: true });
lotSelectResultsElement.innerHTML = ''; lotSelectResultsElement.innerHTML = '';
lotSelectResultsElement.append(panelElement); lotSelectResultsElement.append(panelElement);
}); });
}; }
const createLotAndSelect = (submitEvent) => { function createLotAndSelect(submitEvent) {
submitEvent.preventDefault(); submitEvent.preventDefault();
const lotName = lotSelectModalElement.querySelector('#lotCreate--lotName').value; const lotName = lotSelectModalElement.querySelector('#lotCreate--lotName').value;
cityssm.postJSON(los.urlPrefix + '/lots/doCreateLot', submitEvent.currentTarget, (responseJSON) => { cityssm.postJSON(los.urlPrefix + '/lots/doCreateLot', submitEvent.currentTarget, (responseJSON) => {
var _a;
if (responseJSON.success) { if (responseJSON.success) {
renderSelectedLotAndClose(responseJSON.lotId, lotName); renderSelectedLotAndClose(responseJSON.lotId, lotName);
} }
else { else {
bulmaJS.alert({ bulmaJS.alert({
title: `Error Creating ${los.escapedAliases.Lot}`, title: `Error Creating ${los.escapedAliases.Lot}`,
message: responseJSON.errorMessage || '', message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger' contextualColorName: 'danger'
}); });
} }
}); });
}; }
cityssm.openHtmlModal('lotOccupancy-selectLot', { cityssm.openHtmlModal('lotOccupancy-selectLot', {
onshow: (modalElement) => { onshow: (modalElement) => {
los.populateAliases(modalElement); los.populateAliases(modalElement);
}, },
onshown: (modalElement, closeModalFunction) => { onshown: (modalElement, closeModalFunction) => {
var _a;
bulmaJS.toggleHtmlClipped(); bulmaJS.toggleHtmlClipped();
lotSelectModalElement = modalElement; lotSelectModalElement = modalElement;
lotSelectCloseModalFunction = closeModalFunction; lotSelectCloseModalFunction = closeModalFunction;
@ -399,7 +403,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
for (const map of exports.maps) { for (const map of exports.maps) {
const optionElement = document.createElement('option'); const optionElement = document.createElement('option');
optionElement.value = map.mapId.toString(); optionElement.value = map.mapId.toString();
optionElement.textContent = map.mapName || '(No Name)'; optionElement.textContent =
((_a = map.mapName) !== null && _a !== void 0 ? _a : '') === '' ? '(No Name)' : map.mapName;
mapElement.append(optionElement); mapElement.append(optionElement);
} }
; ;
@ -811,7 +816,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
let lotOccupancyComments = exports.lotOccupancyComments; let lotOccupancyComments = exports.lotOccupancyComments;
delete exports.lotOccupancyComments; delete exports.lotOccupancyComments;
const openEditLotOccupancyComment = (clickEvent) => { function openEditLotOccupancyComment(clickEvent) {
const lotOccupancyCommentId = Number.parseInt(clickEvent.currentTarget.closest('tr').dataset const lotOccupancyCommentId = Number.parseInt(clickEvent.currentTarget.closest('tr').dataset
.lotOccupancyCommentId, 10); .lotOccupancyCommentId, 10);
const lotOccupancyComment = lotOccupancyComments.find((currentLotOccupancyComment) => { const lotOccupancyComment = lotOccupancyComments.find((currentLotOccupancyComment) => {
@ -820,9 +825,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
}); });
let editFormElement; let editFormElement;
let editCloseModalFunction; let editCloseModalFunction;
const editComment = (submitEvent) => { function editComment(submitEvent) {
submitEvent.preventDefault(); submitEvent.preventDefault();
cityssm.postJSON(los.urlPrefix + '/lotOccupancies/doUpdateLotOccupancyComment', editFormElement, (responseJSON) => { cityssm.postJSON(los.urlPrefix + '/lotOccupancies/doUpdateLotOccupancyComment', editFormElement, (responseJSON) => {
var _a;
if (responseJSON.success) { if (responseJSON.success) {
lotOccupancyComments = responseJSON.lotOccupancyComments; lotOccupancyComments = responseJSON.lotOccupancyComments;
editCloseModalFunction(); editCloseModalFunction();
@ -831,12 +837,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
else { else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Updating Comment', title: 'Error Updating Comment',
message: responseJSON.errorMessage || '', message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger' contextualColorName: 'danger'
}); });
} }
}); });
}; }
cityssm.openHtmlModal('lotOccupancy-editComment', { cityssm.openHtmlModal('lotOccupancy-editComment', {
onshow: (modalElement) => { onshow: (modalElement) => {
los.populateAliases(modalElement); los.populateAliases(modalElement);
@ -865,15 +871,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
bulmaJS.toggleHtmlClipped(); bulmaJS.toggleHtmlClipped();
} }
}); });
}; }
const deleteLotOccupancyComment = (clickEvent) => { function deleteLotOccupancyComment(clickEvent) {
const lotOccupancyCommentId = Number.parseInt(clickEvent.currentTarget.closest('tr').dataset const lotOccupancyCommentId = Number.parseInt(clickEvent.currentTarget.closest('tr').dataset
.lotOccupancyCommentId, 10); .lotOccupancyCommentId, 10);
const doDelete = () => { function doDelete() {
cityssm.postJSON(los.urlPrefix + '/lotOccupancies/doDeleteLotOccupancyComment', { cityssm.postJSON(los.urlPrefix + '/lotOccupancies/doDeleteLotOccupancyComment', {
lotOccupancyId, lotOccupancyId,
lotOccupancyCommentId lotOccupancyCommentId
}, (responseJSON) => { }, (responseJSON) => {
var _a;
if (responseJSON.success) { if (responseJSON.success) {
lotOccupancyComments = responseJSON.lotOccupancyComments; lotOccupancyComments = responseJSON.lotOccupancyComments;
renderLotOccupancyComments(); renderLotOccupancyComments();
@ -881,12 +888,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
else { else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Removing Comment', title: 'Error Removing Comment',
message: responseJSON.errorMessage || '', message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger' contextualColorName: 'danger'
}); });
} }
}); });
}; }
bulmaJS.confirm({ bulmaJS.confirm({
title: 'Remove Comment?', title: 'Remove Comment?',
message: 'Are you sure you want to remove this comment?', message: 'Are you sure you want to remove this comment?',
@ -896,8 +903,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
}, },
contextualColorName: 'warning' contextualColorName: 'warning'
}); });
}; }
const renderLotOccupancyComments = () => { function renderLotOccupancyComments() {
var _a, _b;
const containerElement = document.querySelector('#container--lotOccupancyComments'); const containerElement = document.querySelector('#container--lotOccupancyComments');
if (lotOccupancyComments.length === 0) { if (lotOccupancyComments.length === 0) {
containerElement.innerHTML = containerElement.innerHTML =
@ -922,7 +930,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
lotOccupancyComment.lotOccupancyCommentId.toString(); lotOccupancyComment.lotOccupancyCommentId.toString();
tableRowElement.innerHTML = tableRowElement.innerHTML =
'<td>' + '<td>' +
cityssm.escapeHTML(lotOccupancyComment.recordCreate_userName || '') + cityssm.escapeHTML((_a = lotOccupancyComment.recordCreate_userName) !== null && _a !== void 0 ? _a : '') +
'</td>' + '</td>' +
'<td>' + '<td>' +
lotOccupancyComment.lotOccupancyCommentDateString + lotOccupancyComment.lotOccupancyCommentDateString +
@ -931,7 +939,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
: ' ' + lotOccupancyComment.lotOccupancyCommentTimeString) + : ' ' + lotOccupancyComment.lotOccupancyCommentTimeString) +
'</td>' + '</td>' +
'<td>' + '<td>' +
cityssm.escapeHTML(lotOccupancyComment.lotOccupancyComment || '') + cityssm.escapeHTML((_b = lotOccupancyComment.lotOccupancyComment) !== null && _b !== void 0 ? _b : '') +
'</td>' + '</td>' +
('<td class="is-hidden-print">' + ('<td class="is-hidden-print">' +
'<div class="buttons are-small is-justify-content-end">' + '<div class="buttons are-small is-justify-content-end">' +
@ -954,13 +962,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
} }
containerElement.innerHTML = ''; containerElement.innerHTML = '';
containerElement.append(tableElement); containerElement.append(tableElement);
}; }
document.querySelector('#button--addComment').addEventListener('click', () => { document.querySelector('#button--addComment').addEventListener('click', () => {
let addFormElement; let addFormElement;
let addCloseModalFunction; let addCloseModalFunction;
const addComment = (submitEvent) => { function addComment(submitEvent) {
submitEvent.preventDefault(); submitEvent.preventDefault();
cityssm.postJSON(los.urlPrefix + '/lotOccupancies/doAddLotOccupancyComment', addFormElement, (responseJSON) => { cityssm.postJSON(los.urlPrefix + '/lotOccupancies/doAddLotOccupancyComment', addFormElement, (responseJSON) => {
var _a;
if (responseJSON.success) { if (responseJSON.success) {
lotOccupancyComments = responseJSON.lotOccupancyComments; lotOccupancyComments = responseJSON.lotOccupancyComments;
addCloseModalFunction(); addCloseModalFunction();
@ -969,12 +978,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
else { else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Adding Comment', title: 'Error Adding Comment',
message: responseJSON.errorMessage || '', message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger' contextualColorName: 'danger'
}); });
} }
}); });
}; }
cityssm.openHtmlModal('lotOccupancy-addComment', { cityssm.openHtmlModal('lotOccupancy-addComment', {
onshow: (modalElement) => { onshow: (modalElement) => {
los.populateAliases(modalElement); los.populateAliases(modalElement);

View File

@ -1,8 +1,8 @@
"use strict"; "use strict";
/* eslint-disable @typescript-eslint/no-non-null-assertion, unicorn/prefer-module */ /* eslint-disable spaced-comment, @typescript-eslint/no-non-null-assertion, unicorn/prefer-module */
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
(() => { (() => {
var _a, _b, _c; var _a;
const los = exports.los; const los = exports.los;
const lotOccupancyId = document.querySelector('#lotOccupancy--lotOccupancyId').value; const lotOccupancyId = document.querySelector('#lotOccupancy--lotOccupancyId').value;
const isCreate = lotOccupancyId === ''; const isCreate = lotOccupancyId === '';
@ -16,6 +16,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
cityssm.postJSON(los.urlPrefix + cityssm.postJSON(los.urlPrefix +
'/lotOccupancies/' + '/lotOccupancies/' +
(isCreate ? 'doCreateLotOccupancy' : 'doUpdateLotOccupancy'), formElement, (responseJSON) => { (isCreate ? 'doCreateLotOccupancy' : 'doUpdateLotOccupancy'), formElement, (responseJSON) => {
var _a;
if (responseJSON.success) { if (responseJSON.success) {
los.clearUnsavedChanges(); los.clearUnsavedChanges();
if (isCreate || refreshAfterSave) { if (isCreate || refreshAfterSave) {
@ -30,8 +31,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
} }
else { else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Saving ' + exports.aliases.occupancy, title: 'Error Saving ' + los.escapedAliases.Occupancy,
message: responseJSON.errorMessage || '', message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger' contextualColorName: 'danger'
}); });
} }
@ -41,10 +42,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
for (const formInputElement of formInputElements) { for (const formInputElement of formInputElements) {
formInputElement.addEventListener('change', los.setUnsavedChanges); formInputElement.addEventListener('change', los.setUnsavedChanges);
} }
const doCopy = () => { function doCopy() {
cityssm.postJSON(los.urlPrefix + '/lotOccupancies/doCopyLotOccupancy', { cityssm.postJSON(los.urlPrefix + '/lotOccupancies/doCopyLotOccupancy', {
lotOccupancyId lotOccupancyId
}, (responseJSON) => { }, (responseJSON) => {
var _a;
if (responseJSON.success) { if (responseJSON.success) {
cityssm.disableNavBlocker(); cityssm.disableNavBlocker();
window.location.href = los.getLotOccupancyURL(responseJSON.lotOccupancyId, true); window.location.href = los.getLotOccupancyURL(responseJSON.lotOccupancyId, true);
@ -52,12 +54,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
else { else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Copying Record', title: 'Error Copying Record',
message: responseJSON.errorMessage || '', message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger' contextualColorName: 'danger'
}); });
} }
}); });
}; }
(_a = document (_a = document
.querySelector('#button--copyLotOccupancy')) === null || _a === void 0 ? void 0 : _a.addEventListener('click', (clickEvent) => { .querySelector('#button--copyLotOccupancy')) === null || _a === void 0 ? void 0 : _a.addEventListener('click', (clickEvent) => {
clickEvent.preventDefault(); clickEvent.preventDefault();
@ -80,13 +82,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
}); });
} }
}); });
(_b = document document
.querySelector('#button--deleteLotOccupancy')) === null || _b === void 0 ? void 0 : _b.addEventListener('click', (clickEvent) => { .querySelector('#button--deleteLotOccupancy')
.addEventListener('click', (clickEvent) => {
clickEvent.preventDefault(); clickEvent.preventDefault();
const doDelete = () => { function doDelete() {
cityssm.postJSON(los.urlPrefix + '/lotOccupancies/doDeleteLotOccupancy', { cityssm.postJSON(los.urlPrefix + '/lotOccupancies/doDeleteLotOccupancy', {
lotOccupancyId lotOccupancyId
}, (responseJSON) => { }, (responseJSON) => {
var _a;
if (responseJSON.success) { if (responseJSON.success) {
cityssm.disableNavBlocker(); cityssm.disableNavBlocker();
window.location.href = los.getLotOccupancyURL(); window.location.href = los.getLotOccupancyURL();
@ -94,14 +98,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
else { else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Deleting Record', title: 'Error Deleting Record',
message: responseJSON.errorMessage || '', message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger' contextualColorName: 'danger'
}); });
} }
}); });
}; }
bulmaJS.confirm({ bulmaJS.confirm({
title: 'Delete ' + exports.aliases.occupancy + ' Record', title: `Delete ${los.escapedAliases.Occupancy} Record`,
message: 'Are you sure you want to delete this record?', message: 'Are you sure you want to delete this record?',
contextualColorName: 'warning', contextualColorName: 'warning',
okButton: { okButton: {
@ -110,11 +114,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
} }
}); });
}); });
(_c = document document
.querySelector('#button--createWorkOrder')) === null || _c === void 0 ? void 0 : _c.addEventListener('click', (clickEvent) => { .querySelector('#button--createWorkOrder')
.addEventListener('click', (clickEvent) => {
clickEvent.preventDefault(); clickEvent.preventDefault();
let createCloseModalFunction; let createCloseModalFunction;
const doCreate = (formEvent) => { function doCreate(formEvent) {
formEvent.preventDefault(); formEvent.preventDefault();
cityssm.postJSON(los.urlPrefix + '/workOrders/doCreateWorkOrder', formEvent.currentTarget, (responseJSON) => { cityssm.postJSON(los.urlPrefix + '/workOrders/doCreateWorkOrder', formEvent.currentTarget, (responseJSON) => {
if (responseJSON.success) { if (responseJSON.success) {
@ -126,11 +131,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
okButton: { okButton: {
text: 'Yes, Open the Work Order', text: 'Yes, Open the Work Order',
callbackFunction: () => { callbackFunction: () => {
window.location.href = window.location.href = los.getWorkOrderURL(responseJSON.workOrderId, true);
los.urlPrefix +
'/workOrders/' +
responseJSON.workOrderId +
'/edit';
} }
} }
}); });
@ -143,7 +144,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
}); });
} }
}); });
}; }
cityssm.openHtmlModal('lotOccupancy-createWorkOrder', { cityssm.openHtmlModal('lotOccupancy-createWorkOrder', {
onshow(modalElement) { onshow(modalElement) {
; ;
@ -278,26 +279,27 @@ Object.defineProperty(exports, "__esModule", { value: true });
let lotSelectModalElement; let lotSelectModalElement;
let lotSelectFormElement; let lotSelectFormElement;
let lotSelectResultsElement; let lotSelectResultsElement;
const renderSelectedLotAndClose = (lotId, lotName) => { function renderSelectedLotAndClose(lotId, lotName) {
; ;
document.querySelector('#lotOccupancy--lotId').value = lotId.toString(); document.querySelector('#lotOccupancy--lotId').value = lotId.toString();
document.querySelector('#lotOccupancy--lotName').value = lotName; document.querySelector('#lotOccupancy--lotName').value = lotName;
los.setUnsavedChanges(); los.setUnsavedChanges();
lotSelectCloseModalFunction(); lotSelectCloseModalFunction();
}; }
const selectExistingLot = (clickEvent) => { function selectExistingLot(clickEvent) {
clickEvent.preventDefault(); clickEvent.preventDefault();
const selectedLotElement = clickEvent.currentTarget; const selectedLotElement = clickEvent.currentTarget;
renderSelectedLotAndClose(selectedLotElement.dataset.lotId, selectedLotElement.dataset.lotName); renderSelectedLotAndClose(selectedLotElement.dataset.lotId, selectedLotElement.dataset.lotName);
}; }
const searchLots = () => { function searchLots() {
lotSelectResultsElement.innerHTML = lotSelectResultsElement.innerHTML =
los.getLoadingParagraphHTML('Searching...'); los.getLoadingParagraphHTML('Searching...');
cityssm.postJSON(los.urlPrefix + '/lots/doSearchLots', lotSelectFormElement, (responseJSON) => { cityssm.postJSON(los.urlPrefix + '/lots/doSearchLots', lotSelectFormElement, (responseJSON) => {
var _a, _b;
if (responseJSON.count === 0) { if (responseJSON.count === 0) {
lotSelectResultsElement.innerHTML = `<div class="message is-info"> lotSelectResultsElement.innerHTML = `<div class="message is-info">
<p class="message-body">No results.</p> <p class="message-body">No results.</p>
</div>`; </div>`;
return; return;
} }
const panelElement = document.createElement('div'); const panelElement = document.createElement('div');
@ -311,10 +313,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
panelBlockElement.innerHTML = panelBlockElement.innerHTML =
'<div class="columns">' + '<div class="columns">' +
('<div class="column">' + ('<div class="column">' +
cityssm.escapeHTML(lot.lotName || '') + cityssm.escapeHTML((_a = lot.lotName) !== null && _a !== void 0 ? _a : '') +
'<br />' + '<br />' +
'<span class="is-size-7">' + '<span class="is-size-7">' +
cityssm.escapeHTML(lot.mapName || '') + cityssm.escapeHTML((_b = lot.mapName) !== null && _b !== void 0 ? _b : '') +
'</span>' + '</span>' +
'</div>') + '</div>') +
('<div class="column">' + ('<div class="column">' +
@ -331,28 +333,30 @@ Object.defineProperty(exports, "__esModule", { value: true });
lotSelectResultsElement.innerHTML = ''; lotSelectResultsElement.innerHTML = '';
lotSelectResultsElement.append(panelElement); lotSelectResultsElement.append(panelElement);
}); });
}; }
const createLotAndSelect = (submitEvent) => { function createLotAndSelect(submitEvent) {
submitEvent.preventDefault(); submitEvent.preventDefault();
const lotName = lotSelectModalElement.querySelector('#lotCreate--lotName').value; const lotName = lotSelectModalElement.querySelector('#lotCreate--lotName').value;
cityssm.postJSON(los.urlPrefix + '/lots/doCreateLot', submitEvent.currentTarget, (responseJSON) => { cityssm.postJSON(los.urlPrefix + '/lots/doCreateLot', submitEvent.currentTarget, (responseJSON) => {
var _a;
if (responseJSON.success) { if (responseJSON.success) {
renderSelectedLotAndClose(responseJSON.lotId, lotName); renderSelectedLotAndClose(responseJSON.lotId, lotName);
} }
else { else {
bulmaJS.alert({ bulmaJS.alert({
title: `Error Creating ${los.escapedAliases.Lot}`, title: `Error Creating ${los.escapedAliases.Lot}`,
message: responseJSON.errorMessage || '', message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger' contextualColorName: 'danger'
}); });
} }
}); });
}; }
cityssm.openHtmlModal('lotOccupancy-selectLot', { cityssm.openHtmlModal('lotOccupancy-selectLot', {
onshow: (modalElement) => { onshow: (modalElement) => {
los.populateAliases(modalElement); los.populateAliases(modalElement);
}, },
onshown: (modalElement, closeModalFunction) => { onshown: (modalElement, closeModalFunction) => {
var _a;
bulmaJS.toggleHtmlClipped(); bulmaJS.toggleHtmlClipped();
lotSelectModalElement = modalElement; lotSelectModalElement = modalElement;
lotSelectCloseModalFunction = closeModalFunction; lotSelectCloseModalFunction = closeModalFunction;
@ -399,7 +403,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
for (const map of exports.maps) { for (const map of exports.maps) {
const optionElement = document.createElement('option'); const optionElement = document.createElement('option');
optionElement.value = map.mapId.toString(); optionElement.value = map.mapId.toString();
optionElement.textContent = map.mapName || '(No Name)'; optionElement.textContent =
((_a = map.mapName) !== null && _a !== void 0 ? _a : '') === '' ? '(No Name)' : map.mapName;
mapElement.append(optionElement); mapElement.append(optionElement);
} }
; ;

View File

@ -1,4 +1,4 @@
/* eslint-disable @typescript-eslint/no-non-null-assertion, unicorn/prefer-module */ /* eslint-disable spaced-comment, @typescript-eslint/no-non-null-assertion, unicorn/prefer-module */
import type * as globalTypes from '../../types/globalTypes' import type * as globalTypes from '../../types/globalTypes'
import type * as recordTypes from '../../types/recordTypes' import type * as recordTypes from '../../types/recordTypes'
@ -57,8 +57,8 @@ declare const bulmaJS: BulmaJS
} }
} else { } else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Saving ' + exports.aliases.occupancy, title: 'Error Saving ' + los.escapedAliases.Occupancy,
message: responseJSON.errorMessage || '', message: responseJSON.errorMessage ?? '',
contextualColorName: 'danger' contextualColorName: 'danger'
}) })
} }
@ -72,7 +72,7 @@ declare const bulmaJS: BulmaJS
formInputElement.addEventListener('change', los.setUnsavedChanges) formInputElement.addEventListener('change', los.setUnsavedChanges)
} }
const doCopy = () => { function doCopy(): void {
cityssm.postJSON( cityssm.postJSON(
los.urlPrefix + '/lotOccupancies/doCopyLotOccupancy', los.urlPrefix + '/lotOccupancies/doCopyLotOccupancy',
{ {
@ -92,7 +92,7 @@ declare const bulmaJS: BulmaJS
} else { } else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Copying Record', title: 'Error Copying Record',
message: responseJSON.errorMessage || '', message: responseJSON.errorMessage ?? '',
contextualColorName: 'danger' contextualColorName: 'danger'
}) })
} }
@ -125,11 +125,11 @@ declare const bulmaJS: BulmaJS
}) })
document document
.querySelector('#button--deleteLotOccupancy') .querySelector('#button--deleteLotOccupancy')!
?.addEventListener('click', (clickEvent) => { .addEventListener('click', (clickEvent) => {
clickEvent.preventDefault() clickEvent.preventDefault()
const doDelete = () => { function doDelete(): void {
cityssm.postJSON( cityssm.postJSON(
los.urlPrefix + '/lotOccupancies/doDeleteLotOccupancy', los.urlPrefix + '/lotOccupancies/doDeleteLotOccupancy',
{ {
@ -142,7 +142,7 @@ declare const bulmaJS: BulmaJS
} else { } else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Deleting Record', title: 'Error Deleting Record',
message: responseJSON.errorMessage || '', message: responseJSON.errorMessage ?? '',
contextualColorName: 'danger' contextualColorName: 'danger'
}) })
} }
@ -151,7 +151,7 @@ declare const bulmaJS: BulmaJS
} }
bulmaJS.confirm({ bulmaJS.confirm({
title: 'Delete ' + exports.aliases.occupancy + ' Record', title: `Delete ${los.escapedAliases.Occupancy} Record`,
message: 'Are you sure you want to delete this record?', message: 'Are you sure you want to delete this record?',
contextualColorName: 'warning', contextualColorName: 'warning',
okButton: { okButton: {
@ -162,13 +162,13 @@ declare const bulmaJS: BulmaJS
}) })
document document
.querySelector('#button--createWorkOrder') .querySelector('#button--createWorkOrder')!
?.addEventListener('click', (clickEvent) => { .addEventListener('click', (clickEvent) => {
clickEvent.preventDefault() clickEvent.preventDefault()
let createCloseModalFunction: () => void let createCloseModalFunction: () => void
const doCreate = (formEvent: SubmitEvent) => { function doCreate(formEvent: SubmitEvent): void {
formEvent.preventDefault() formEvent.preventDefault()
cityssm.postJSON( cityssm.postJSON(
@ -189,11 +189,10 @@ declare const bulmaJS: BulmaJS
okButton: { okButton: {
text: 'Yes, Open the Work Order', text: 'Yes, Open the Work Order',
callbackFunction: () => { callbackFunction: () => {
window.location.href = window.location.href = los.getWorkOrderURL(
los.urlPrefix + responseJSON.workOrderId,
'/workOrders/' + true
responseJSON.workOrderId + )
'/edit'
} }
} }
}) })
@ -419,10 +418,10 @@ declare const bulmaJS: BulmaJS
let lotSelectFormElement: HTMLFormElement let lotSelectFormElement: HTMLFormElement
let lotSelectResultsElement: HTMLElement let lotSelectResultsElement: HTMLElement
const renderSelectedLotAndClose = ( function renderSelectedLotAndClose(
lotId: number | string, lotId: number | string,
lotName: string lotName: string
) => { ): void {
;( ;(
document.querySelector('#lotOccupancy--lotId') as HTMLInputElement document.querySelector('#lotOccupancy--lotId') as HTMLInputElement
).value = lotId.toString() ).value = lotId.toString()
@ -434,7 +433,7 @@ declare const bulmaJS: BulmaJS
lotSelectCloseModalFunction() lotSelectCloseModalFunction()
} }
const selectExistingLot = (clickEvent: Event) => { function selectExistingLot(clickEvent: Event): void {
clickEvent.preventDefault() clickEvent.preventDefault()
const selectedLotElement = clickEvent.currentTarget as HTMLElement const selectedLotElement = clickEvent.currentTarget as HTMLElement
@ -445,7 +444,7 @@ declare const bulmaJS: BulmaJS
) )
} }
const searchLots = () => { function searchLots(): void {
lotSelectResultsElement.innerHTML = lotSelectResultsElement.innerHTML =
los.getLoadingParagraphHTML('Searching...') los.getLoadingParagraphHTML('Searching...')
@ -455,8 +454,8 @@ declare const bulmaJS: BulmaJS
(responseJSON: { count: number; lots: recordTypes.Lot[] }) => { (responseJSON: { count: number; lots: recordTypes.Lot[] }) => {
if (responseJSON.count === 0) { if (responseJSON.count === 0) {
lotSelectResultsElement.innerHTML = `<div class="message is-info"> lotSelectResultsElement.innerHTML = `<div class="message is-info">
<p class="message-body">No results.</p> <p class="message-body">No results.</p>
</div>` </div>`
return return
} }
@ -475,10 +474,10 @@ declare const bulmaJS: BulmaJS
panelBlockElement.innerHTML = panelBlockElement.innerHTML =
'<div class="columns">' + '<div class="columns">' +
('<div class="column">' + ('<div class="column">' +
cityssm.escapeHTML(lot.lotName || '') + cityssm.escapeHTML(lot.lotName ?? '') +
'<br />' + '<br />' +
'<span class="is-size-7">' + '<span class="is-size-7">' +
cityssm.escapeHTML(lot.mapName || '') + cityssm.escapeHTML(lot.mapName ?? '') +
'</span>' + '</span>' +
'</div>') + '</div>') +
('<div class="column">' + ('<div class="column">' +
@ -501,7 +500,7 @@ declare const bulmaJS: BulmaJS
) )
} }
const createLotAndSelect = (submitEvent: SubmitEvent) => { function createLotAndSelect(submitEvent: SubmitEvent): void {
submitEvent.preventDefault() submitEvent.preventDefault()
const lotName = ( const lotName = (
@ -523,7 +522,7 @@ declare const bulmaJS: BulmaJS
} else { } else {
bulmaJS.alert({ bulmaJS.alert({
title: `Error Creating ${los.escapedAliases.Lot}`, title: `Error Creating ${los.escapedAliases.Lot}`,
message: responseJSON.errorMessage || '', message: responseJSON.errorMessage ?? '',
contextualColorName: 'danger' contextualColorName: 'danger'
}) })
} }
@ -622,7 +621,8 @@ declare const bulmaJS: BulmaJS
for (const map of exports.maps as recordTypes.Map[]) { for (const map of exports.maps as recordTypes.Map[]) {
const optionElement = document.createElement('option') const optionElement = document.createElement('option')
optionElement.value = map.mapId!.toString() optionElement.value = map.mapId!.toString()
optionElement.textContent = map.mapName || '(No Name)' optionElement.textContent =
(map.mapName ?? '') === '' ? '(No Name)' : map.mapName!
mapElement.append(optionElement) mapElement.append(optionElement)
} }

View File

@ -3,7 +3,7 @@
Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "__esModule", { value: true });
let lotOccupancyComments = exports.lotOccupancyComments; let lotOccupancyComments = exports.lotOccupancyComments;
delete exports.lotOccupancyComments; delete exports.lotOccupancyComments;
const openEditLotOccupancyComment = (clickEvent) => { function openEditLotOccupancyComment(clickEvent) {
const lotOccupancyCommentId = Number.parseInt(clickEvent.currentTarget.closest('tr').dataset const lotOccupancyCommentId = Number.parseInt(clickEvent.currentTarget.closest('tr').dataset
.lotOccupancyCommentId, 10); .lotOccupancyCommentId, 10);
const lotOccupancyComment = lotOccupancyComments.find((currentLotOccupancyComment) => { const lotOccupancyComment = lotOccupancyComments.find((currentLotOccupancyComment) => {
@ -12,9 +12,10 @@ const openEditLotOccupancyComment = (clickEvent) => {
}); });
let editFormElement; let editFormElement;
let editCloseModalFunction; let editCloseModalFunction;
const editComment = (submitEvent) => { function editComment(submitEvent) {
submitEvent.preventDefault(); submitEvent.preventDefault();
cityssm.postJSON(los.urlPrefix + '/lotOccupancies/doUpdateLotOccupancyComment', editFormElement, (responseJSON) => { cityssm.postJSON(los.urlPrefix + '/lotOccupancies/doUpdateLotOccupancyComment', editFormElement, (responseJSON) => {
var _a;
if (responseJSON.success) { if (responseJSON.success) {
lotOccupancyComments = responseJSON.lotOccupancyComments; lotOccupancyComments = responseJSON.lotOccupancyComments;
editCloseModalFunction(); editCloseModalFunction();
@ -23,12 +24,12 @@ const openEditLotOccupancyComment = (clickEvent) => {
else { else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Updating Comment', title: 'Error Updating Comment',
message: responseJSON.errorMessage || '', message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger' contextualColorName: 'danger'
}); });
} }
}); });
}; }
cityssm.openHtmlModal('lotOccupancy-editComment', { cityssm.openHtmlModal('lotOccupancy-editComment', {
onshow: (modalElement) => { onshow: (modalElement) => {
los.populateAliases(modalElement); los.populateAliases(modalElement);
@ -57,15 +58,16 @@ const openEditLotOccupancyComment = (clickEvent) => {
bulmaJS.toggleHtmlClipped(); bulmaJS.toggleHtmlClipped();
} }
}); });
}; }
const deleteLotOccupancyComment = (clickEvent) => { function deleteLotOccupancyComment(clickEvent) {
const lotOccupancyCommentId = Number.parseInt(clickEvent.currentTarget.closest('tr').dataset const lotOccupancyCommentId = Number.parseInt(clickEvent.currentTarget.closest('tr').dataset
.lotOccupancyCommentId, 10); .lotOccupancyCommentId, 10);
const doDelete = () => { function doDelete() {
cityssm.postJSON(los.urlPrefix + '/lotOccupancies/doDeleteLotOccupancyComment', { cityssm.postJSON(los.urlPrefix + '/lotOccupancies/doDeleteLotOccupancyComment', {
lotOccupancyId, lotOccupancyId,
lotOccupancyCommentId lotOccupancyCommentId
}, (responseJSON) => { }, (responseJSON) => {
var _a;
if (responseJSON.success) { if (responseJSON.success) {
lotOccupancyComments = responseJSON.lotOccupancyComments; lotOccupancyComments = responseJSON.lotOccupancyComments;
renderLotOccupancyComments(); renderLotOccupancyComments();
@ -73,12 +75,12 @@ const deleteLotOccupancyComment = (clickEvent) => {
else { else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Removing Comment', title: 'Error Removing Comment',
message: responseJSON.errorMessage || '', message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger' contextualColorName: 'danger'
}); });
} }
}); });
}; }
bulmaJS.confirm({ bulmaJS.confirm({
title: 'Remove Comment?', title: 'Remove Comment?',
message: 'Are you sure you want to remove this comment?', message: 'Are you sure you want to remove this comment?',
@ -88,8 +90,9 @@ const deleteLotOccupancyComment = (clickEvent) => {
}, },
contextualColorName: 'warning' contextualColorName: 'warning'
}); });
}; }
const renderLotOccupancyComments = () => { function renderLotOccupancyComments() {
var _a, _b;
const containerElement = document.querySelector('#container--lotOccupancyComments'); const containerElement = document.querySelector('#container--lotOccupancyComments');
if (lotOccupancyComments.length === 0) { if (lotOccupancyComments.length === 0) {
containerElement.innerHTML = containerElement.innerHTML =
@ -114,7 +117,7 @@ const renderLotOccupancyComments = () => {
lotOccupancyComment.lotOccupancyCommentId.toString(); lotOccupancyComment.lotOccupancyCommentId.toString();
tableRowElement.innerHTML = tableRowElement.innerHTML =
'<td>' + '<td>' +
cityssm.escapeHTML(lotOccupancyComment.recordCreate_userName || '') + cityssm.escapeHTML((_a = lotOccupancyComment.recordCreate_userName) !== null && _a !== void 0 ? _a : '') +
'</td>' + '</td>' +
'<td>' + '<td>' +
lotOccupancyComment.lotOccupancyCommentDateString + lotOccupancyComment.lotOccupancyCommentDateString +
@ -123,7 +126,7 @@ const renderLotOccupancyComments = () => {
: ' ' + lotOccupancyComment.lotOccupancyCommentTimeString) + : ' ' + lotOccupancyComment.lotOccupancyCommentTimeString) +
'</td>' + '</td>' +
'<td>' + '<td>' +
cityssm.escapeHTML(lotOccupancyComment.lotOccupancyComment || '') + cityssm.escapeHTML((_b = lotOccupancyComment.lotOccupancyComment) !== null && _b !== void 0 ? _b : '') +
'</td>' + '</td>' +
('<td class="is-hidden-print">' + ('<td class="is-hidden-print">' +
'<div class="buttons are-small is-justify-content-end">' + '<div class="buttons are-small is-justify-content-end">' +
@ -146,13 +149,14 @@ const renderLotOccupancyComments = () => {
} }
containerElement.innerHTML = ''; containerElement.innerHTML = '';
containerElement.append(tableElement); containerElement.append(tableElement);
}; }
document.querySelector('#button--addComment').addEventListener('click', () => { document.querySelector('#button--addComment').addEventListener('click', () => {
let addFormElement; let addFormElement;
let addCloseModalFunction; let addCloseModalFunction;
const addComment = (submitEvent) => { function addComment(submitEvent) {
submitEvent.preventDefault(); submitEvent.preventDefault();
cityssm.postJSON(los.urlPrefix + '/lotOccupancies/doAddLotOccupancyComment', addFormElement, (responseJSON) => { cityssm.postJSON(los.urlPrefix + '/lotOccupancies/doAddLotOccupancyComment', addFormElement, (responseJSON) => {
var _a;
if (responseJSON.success) { if (responseJSON.success) {
lotOccupancyComments = responseJSON.lotOccupancyComments; lotOccupancyComments = responseJSON.lotOccupancyComments;
addCloseModalFunction(); addCloseModalFunction();
@ -161,12 +165,12 @@ document.querySelector('#button--addComment').addEventListener('click', () => {
else { else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Adding Comment', title: 'Error Adding Comment',
message: responseJSON.errorMessage || '', message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger' contextualColorName: 'danger'
}); });
} }
}); });
}; }
cityssm.openHtmlModal('lotOccupancy-addComment', { cityssm.openHtmlModal('lotOccupancy-addComment', {
onshow: (modalElement) => { onshow: (modalElement) => {
los.populateAliases(modalElement); los.populateAliases(modalElement);

View File

@ -18,7 +18,7 @@ let lotOccupancyComments: recordTypes.LotOccupancyComment[] =
exports.lotOccupancyComments exports.lotOccupancyComments
delete exports.lotOccupancyComments delete exports.lotOccupancyComments
const openEditLotOccupancyComment = (clickEvent: Event) => { function openEditLotOccupancyComment(clickEvent: Event): void {
const lotOccupancyCommentId = Number.parseInt( const lotOccupancyCommentId = Number.parseInt(
(clickEvent.currentTarget as HTMLElement).closest('tr')!.dataset (clickEvent.currentTarget as HTMLElement).closest('tr')!.dataset
.lotOccupancyCommentId!, .lotOccupancyCommentId!,
@ -37,7 +37,7 @@ const openEditLotOccupancyComment = (clickEvent: Event) => {
let editFormElement: HTMLFormElement let editFormElement: HTMLFormElement
let editCloseModalFunction: () => void let editCloseModalFunction: () => void
const editComment = (submitEvent: SubmitEvent) => { function editComment(submitEvent: SubmitEvent): void {
submitEvent.preventDefault() submitEvent.preventDefault()
cityssm.postJSON( cityssm.postJSON(
@ -55,7 +55,7 @@ const openEditLotOccupancyComment = (clickEvent: Event) => {
} else { } else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Updating Comment', title: 'Error Updating Comment',
message: responseJSON.errorMessage || '', message: responseJSON.errorMessage ?? '',
contextualColorName: 'danger' contextualColorName: 'danger'
}) })
} }
@ -66,7 +66,6 @@ const openEditLotOccupancyComment = (clickEvent: Event) => {
cityssm.openHtmlModal('lotOccupancy-editComment', { cityssm.openHtmlModal('lotOccupancy-editComment', {
onshow: (modalElement) => { onshow: (modalElement) => {
los.populateAliases(modalElement) los.populateAliases(modalElement)
;( ;(
modalElement.querySelector( modalElement.querySelector(
'#lotOccupancyCommentEdit--lotOccupancyId' '#lotOccupancyCommentEdit--lotOccupancyId'
@ -77,7 +76,6 @@ const openEditLotOccupancyComment = (clickEvent: Event) => {
'#lotOccupancyCommentEdit--lotOccupancyCommentId' '#lotOccupancyCommentEdit--lotOccupancyCommentId'
) as HTMLInputElement ) as HTMLInputElement
).value = lotOccupancyCommentId.toString() ).value = lotOccupancyCommentId.toString()
;( ;(
modalElement.querySelector( modalElement.querySelector(
'#lotOccupancyCommentEdit--lotOccupancyComment' '#lotOccupancyCommentEdit--lotOccupancyComment'
@ -97,7 +95,6 @@ const openEditLotOccupancyComment = (clickEvent: Event) => {
lotOccupancyComment.lotOccupancyCommentDateString! <= currentDateString lotOccupancyComment.lotOccupancyCommentDateString! <= currentDateString
? currentDateString ? currentDateString
: lotOccupancyComment.lotOccupancyCommentDateString! : lotOccupancyComment.lotOccupancyCommentDateString!
;( ;(
modalElement.querySelector( modalElement.querySelector(
'#lotOccupancyCommentEdit--lotOccupancyCommentTimeString' '#lotOccupancyCommentEdit--lotOccupancyCommentTimeString'
@ -108,8 +105,6 @@ const openEditLotOccupancyComment = (clickEvent: Event) => {
bulmaJS.toggleHtmlClipped() bulmaJS.toggleHtmlClipped()
los.initializeDatePickers(modalElement) los.initializeDatePickers(modalElement)
// los.initializeTimePickers(modalElement);
;( ;(
modalElement.querySelector( modalElement.querySelector(
'#lotOccupancyCommentEdit--lotOccupancyComment' '#lotOccupancyCommentEdit--lotOccupancyComment'
@ -127,14 +122,14 @@ const openEditLotOccupancyComment = (clickEvent: Event) => {
}) })
} }
const deleteLotOccupancyComment = (clickEvent: Event) => { function deleteLotOccupancyComment(clickEvent: Event): void {
const lotOccupancyCommentId = Number.parseInt( const lotOccupancyCommentId = Number.parseInt(
(clickEvent.currentTarget as HTMLElement).closest('tr')!.dataset (clickEvent.currentTarget as HTMLElement).closest('tr')!.dataset
.lotOccupancyCommentId!, .lotOccupancyCommentId!,
10 10
) )
const doDelete = () => { function doDelete(): void {
cityssm.postJSON( cityssm.postJSON(
los.urlPrefix + '/lotOccupancies/doDeleteLotOccupancyComment', los.urlPrefix + '/lotOccupancies/doDeleteLotOccupancyComment',
{ {
@ -152,7 +147,7 @@ const deleteLotOccupancyComment = (clickEvent: Event) => {
} else { } else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Removing Comment', title: 'Error Removing Comment',
message: responseJSON.errorMessage || '', message: responseJSON.errorMessage ?? '',
contextualColorName: 'danger' contextualColorName: 'danger'
}) })
} }
@ -171,7 +166,7 @@ const deleteLotOccupancyComment = (clickEvent: Event) => {
}) })
} }
const renderLotOccupancyComments = () => { function renderLotOccupancyComments(): void {
const containerElement = document.querySelector( const containerElement = document.querySelector(
'#container--lotOccupancyComments' '#container--lotOccupancyComments'
) as HTMLElement ) as HTMLElement
@ -202,7 +197,7 @@ const renderLotOccupancyComments = () => {
tableRowElement.innerHTML = tableRowElement.innerHTML =
'<td>' + '<td>' +
cityssm.escapeHTML(lotOccupancyComment.recordCreate_userName || '') + cityssm.escapeHTML(lotOccupancyComment.recordCreate_userName ?? '') +
'</td>' + '</td>' +
'<td>' + '<td>' +
lotOccupancyComment.lotOccupancyCommentDateString + lotOccupancyComment.lotOccupancyCommentDateString +
@ -211,7 +206,7 @@ const renderLotOccupancyComments = () => {
: ' ' + lotOccupancyComment.lotOccupancyCommentTimeString) + : ' ' + lotOccupancyComment.lotOccupancyCommentTimeString) +
'</td>' + '</td>' +
'<td>' + '<td>' +
cityssm.escapeHTML(lotOccupancyComment.lotOccupancyComment || '') + cityssm.escapeHTML(lotOccupancyComment.lotOccupancyComment ?? '') +
'</td>' + '</td>' +
('<td class="is-hidden-print">' + ('<td class="is-hidden-print">' +
'<div class="buttons are-small is-justify-content-end">' + '<div class="buttons are-small is-justify-content-end">' +
@ -244,7 +239,7 @@ document.querySelector('#button--addComment')!.addEventListener('click', () => {
let addFormElement: HTMLFormElement let addFormElement: HTMLFormElement
let addCloseModalFunction: () => void let addCloseModalFunction: () => void
const addComment = (submitEvent: SubmitEvent) => { function addComment(submitEvent: SubmitEvent): void {
submitEvent.preventDefault() submitEvent.preventDefault()
cityssm.postJSON( cityssm.postJSON(
@ -262,7 +257,7 @@ document.querySelector('#button--addComment')!.addEventListener('click', () => {
} else { } else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Adding Comment', title: 'Error Adding Comment',
message: responseJSON.errorMessage || '', message: responseJSON.errorMessage ?? '',
contextualColorName: 'danger' contextualColorName: 'danger'
}) })
} }
@ -273,7 +268,6 @@ document.querySelector('#button--addComment')!.addEventListener('click', () => {
cityssm.openHtmlModal('lotOccupancy-addComment', { cityssm.openHtmlModal('lotOccupancy-addComment', {
onshow: (modalElement) => { onshow: (modalElement) => {
los.populateAliases(modalElement) los.populateAliases(modalElement)
;( ;(
modalElement.querySelector( modalElement.querySelector(
'#lotOccupancyCommentAdd--lotOccupancyId' '#lotOccupancyCommentAdd--lotOccupancyId'
@ -282,7 +276,6 @@ document.querySelector('#button--addComment')!.addEventListener('click', () => {
}, },
onshown: (modalElement, closeModalFunction) => { onshown: (modalElement, closeModalFunction) => {
bulmaJS.toggleHtmlClipped() bulmaJS.toggleHtmlClipped()
;( ;(
modalElement.querySelector( modalElement.querySelector(
'#lotOccupancyCommentAdd--lotOccupancyComment' '#lotOccupancyCommentAdd--lotOccupancyComment'

View File

@ -47,6 +47,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
} }
function unlockField(clickEvent) { function unlockField(clickEvent) {
const fieldElement = clickEvent.currentTarget.closest('.field'); const fieldElement = clickEvent.currentTarget.closest('.field');
// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
const inputOrSelectElement = fieldElement.querySelector('input, select'); const inputOrSelectElement = fieldElement.querySelector('input, select');
inputOrSelectElement.classList.remove('is-readonly'); inputOrSelectElement.classList.remove('is-readonly');
if (inputOrSelectElement.tagName === 'INPUT') { if (inputOrSelectElement.tagName === 'INPUT') {

View File

@ -7,7 +7,6 @@ import type { BulmaJS } from '@cityssm/bulma-js/types'
declare const cityssm: cityssmGlobal declare const cityssm: cityssmGlobal
declare const bulmaJS: BulmaJS declare const bulmaJS: BulmaJS
;(() => { ;(() => {
/* /*
* Unsaved Changes * Unsaved Changes
@ -15,19 +14,19 @@ declare const bulmaJS: BulmaJS
let _hasUnsavedChanges = false let _hasUnsavedChanges = false
function setUnsavedChanges() { function setUnsavedChanges(): void {
if (!hasUnsavedChanges()) { if (!hasUnsavedChanges()) {
_hasUnsavedChanges = true _hasUnsavedChanges = true
cityssm.enableNavBlocker() cityssm.enableNavBlocker()
} }
} }
function clearUnsavedChanges() { function clearUnsavedChanges(): void {
_hasUnsavedChanges = false _hasUnsavedChanges = false
cityssm.disableNavBlocker() cityssm.disableNavBlocker()
} }
function hasUnsavedChanges() { function hasUnsavedChanges(): boolean {
return _hasUnsavedChanges return _hasUnsavedChanges
} }
@ -74,9 +73,10 @@ declare const bulmaJS: BulmaJS
'.field' '.field'
)! )!
const inputOrSelectElement = fieldElement.querySelector('input, select') as // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
| HTMLInputElement const inputOrSelectElement = fieldElement.querySelector(
| HTMLSelectElement 'input, select'
) as HTMLElement
inputOrSelectElement.classList.remove('is-readonly') inputOrSelectElement.classList.remove('is-readonly')
@ -116,9 +116,8 @@ declare const bulmaJS: BulmaJS
} }
function initializeDatePickers(containerElement: HTMLElement): void { function initializeDatePickers(containerElement: HTMLElement): void {
const dateElements = containerElement.querySelectorAll( const dateElements: NodeListOf<HTMLInputElement> =
"input[type='date']" containerElement.querySelectorAll("input[type='date']")
) as NodeListOf<HTMLInputElement>
for (const dateElement of dateElements) { for (const dateElement of dateElements) {
const datePickerOptions = Object.assign({}, datePickerBaseOptions) const datePickerOptions = Object.assign({}, datePickerBaseOptions)
@ -159,9 +158,8 @@ declare const bulmaJS: BulmaJS
}) })
// Get the datepicker container element // Get the datepicker container element
const datepickerElement = containerElement.querySelector( const datepickerElement: HTMLElement | null =
'#' + cal._id containerElement.querySelector('#' + cal._id)!
) as HTMLElement
// Override the previous and next month button styles // Override the previous and next month button styles
const datePickerNavButtonElements = datepickerElement.querySelectorAll( const datePickerNavButtonElements = datepickerElement.querySelectorAll(
@ -176,9 +174,8 @@ declare const bulmaJS: BulmaJS
} }
// Override the clear button style // Override the clear button style
const clearButtonElement = datepickerElement.querySelector( const clearButtonElement: HTMLElement | null =
'.datetimepicker-clear-button' datepickerElement.querySelector('.datetimepicker-clear-button')
) as HTMLElement
if (clearButtonElement) { if (clearButtonElement) {
if (dateElement.required) { if (dateElement.required) {
@ -282,9 +279,8 @@ declare const bulmaJS: BulmaJS
*/ */
function populateAliases(containerElement: HTMLElement): void { function populateAliases(containerElement: HTMLElement): void {
const aliasElements = containerElement.querySelectorAll( const aliasElements: NodeListOf<HTMLElement> =
'.alias' containerElement.querySelectorAll('.alias')
) as NodeListOf<HTMLElement>
for (const aliasElement of aliasElements) { for (const aliasElement of aliasElements) {
switch (aliasElement.dataset.alias) { switch (aliasElement.dataset.alias) {
@ -375,7 +371,7 @@ declare const bulmaJS: BulmaJS
const hues = ['red', 'green', 'orange', 'blue', 'pink', 'yellow', 'purple'] const hues = ['red', 'green', 'orange', 'blue', 'pink', 'yellow', 'purple']
const luminosity = ['bright', 'light', 'dark'] const luminosity = ['bright', 'light', 'dark']
function getRandomColor(seedString: string) { function getRandomColor(seedString: string): string {
let actualSeedString = seedString let actualSeedString = seedString
if (actualSeedString.length < 2) { if (actualSeedString.length < 2) {
@ -437,7 +433,7 @@ declare const bulmaJS: BulmaJS
limit: number, limit: number,
offset: number, offset: number,
count: number count: number
) { ): string {
return ( return (
'<div class="level">' + '<div class="level">' +
('<div class="level-left">' + ('<div class="level-left">' +
@ -493,11 +489,19 @@ declare const bulmaJS: BulmaJS
) )
} }
function getMapURL(mapId: number | string = '', edit = false, time = false) { function getMapURL(
mapId: number | string = '',
edit = false,
time = false
): string {
return getRecordURL('maps', mapId, edit, time) return getRecordURL('maps', mapId, edit, time)
} }
function getLotURL(lotId: number | string = '', edit = false, time = false) { function getLotURL(
lotId: number | string = '',
edit = false,
time = false
): string {
return getRecordURL('lots', lotId, edit, time) return getRecordURL('lots', lotId, edit, time)
} }
@ -505,7 +509,7 @@ declare const bulmaJS: BulmaJS
lotOccupancyId: number | string = '', lotOccupancyId: number | string = '',
edit = false, edit = false,
time = false time = false
) { ): string {
return getRecordURL('lotOccupancies', lotOccupancyId, edit, time) return getRecordURL('lotOccupancies', lotOccupancyId, edit, time)
} }
@ -513,7 +517,7 @@ declare const bulmaJS: BulmaJS
workOrderId: number | string = '', workOrderId: number | string = '',
edit = false, edit = false,
time = false time = false
) { ): string {
return getRecordURL('workOrders', workOrderId, edit, time) return getRecordURL('workOrders', workOrderId, edit, time)
} }

View File

@ -11,23 +11,23 @@ Object.defineProperty(exports, "__esModule", { value: true });
function updateMap(formEvent) { function updateMap(formEvent) {
formEvent.preventDefault(); formEvent.preventDefault();
cityssm.postJSON(los.urlPrefix + '/maps/' + (isCreate ? 'doCreateMap' : 'doUpdateMap'), mapForm, (responseJSON) => { cityssm.postJSON(los.urlPrefix + '/maps/' + (isCreate ? 'doCreateMap' : 'doUpdateMap'), mapForm, (responseJSON) => {
var _a;
if (responseJSON.success) { if (responseJSON.success) {
cityssm.disableNavBlocker(); cityssm.disableNavBlocker();
if (isCreate) { if (isCreate) {
window.location.href = window.location.href = los.getMapURL(responseJSON.mapId, true);
los.urlPrefix + '/maps/' + responseJSON.mapId + '/edit';
} }
else { else {
bulmaJS.alert({ bulmaJS.alert({
message: exports.aliases.map + ' Updated Successfully', message: los.escapedAliases.Map + ' Updated Successfully',
contextualColorName: 'success' contextualColorName: 'success'
}); });
} }
} }
else { else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Updating ' + exports.aliases.map, title: 'Error Updating ' + los.escapedAliases.Map,
message: responseJSON.errorMessage || '', message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger' contextualColorName: 'danger'
}); });
} }
@ -45,24 +45,25 @@ Object.defineProperty(exports, "__esModule", { value: true });
cityssm.postJSON(los.urlPrefix + '/maps/doDeleteMap', { cityssm.postJSON(los.urlPrefix + '/maps/doDeleteMap', {
mapId mapId
}, (responseJSON) => { }, (responseJSON) => {
var _a;
if (responseJSON.success) { if (responseJSON.success) {
window.location.href = los.getMapURL(); window.location.href = los.getMapURL();
} }
else { else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Deleting ' + exports.aliases.map, title: 'Error Deleting ' + los.escapedAliases.Map,
message: responseJSON.errorMessage || '', message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger' contextualColorName: 'danger'
}); });
} }
}); });
} }
bulmaJS.confirm({ bulmaJS.confirm({
title: 'Delete ' + exports.aliases.map, title: 'Delete ' + los.escapedAliases.Map,
message: `Are you sure you want to delete this ${exports.aliases.map.toLowerCase()} and all related ${exports.aliases.lots.toLowerCase()}?`, message: `Are you sure you want to delete this ${los.escapedAliases.map} and all related ${los.escapedAliases.lots}?`,
contextualColorName: 'warning', contextualColorName: 'warning',
okButton: { okButton: {
text: `Yes, Delete ${exports.aliases.map}`, text: `Yes, Delete ${los.escapedAliases.Map}`,
callbackFunction: doDelete callbackFunction: doDelete
} }
}); });

View File

@ -7,7 +7,6 @@ import type { BulmaJS } from '@cityssm/bulma-js/types'
declare const cityssm: cityssmGlobal declare const cityssm: cityssmGlobal
declare const bulmaJS: BulmaJS declare const bulmaJS: BulmaJS
;(() => { ;(() => {
const los = exports.los as globalTypes.LOS const los = exports.los as globalTypes.LOS
@ -17,7 +16,7 @@ declare const bulmaJS: BulmaJS
const mapForm = document.querySelector('#form--map') as HTMLFormElement const mapForm = document.querySelector('#form--map') as HTMLFormElement
function updateMap(formEvent: SubmitEvent) { function updateMap(formEvent: SubmitEvent): void {
formEvent.preventDefault() formEvent.preventDefault()
cityssm.postJSON( cityssm.postJSON(
@ -32,18 +31,17 @@ declare const bulmaJS: BulmaJS
cityssm.disableNavBlocker() cityssm.disableNavBlocker()
if (isCreate) { if (isCreate) {
window.location.href = window.location.href = los.getMapURL(responseJSON.mapId, true)
los.urlPrefix + '/maps/' + responseJSON.mapId + '/edit'
} else { } else {
bulmaJS.alert({ bulmaJS.alert({
message: exports.aliases.map + ' Updated Successfully', message: los.escapedAliases.Map + ' Updated Successfully',
contextualColorName: 'success' contextualColorName: 'success'
}) })
} }
} else { } else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Updating ' + exports.aliases.map, title: 'Error Updating ' + los.escapedAliases.Map,
message: responseJSON.errorMessage || '', message: responseJSON.errorMessage ?? '',
contextualColorName: 'danger' contextualColorName: 'danger'
}) })
} }
@ -53,9 +51,8 @@ declare const bulmaJS: BulmaJS
mapForm.addEventListener('submit', updateMap) mapForm.addEventListener('submit', updateMap)
const inputElements = mapForm.querySelectorAll('input, select') as NodeListOf< const inputElements: NodeListOf<HTMLInputElement | HTMLSelectElement> =
HTMLInputElement | HTMLSelectElement mapForm.querySelectorAll('input, select')
>
for (const inputElement of inputElements) { for (const inputElement of inputElements) {
inputElement.addEventListener('change', cityssm.enableNavBlocker) inputElement.addEventListener('change', cityssm.enableNavBlocker)
@ -66,7 +63,7 @@ declare const bulmaJS: BulmaJS
?.addEventListener('click', (clickEvent) => { ?.addEventListener('click', (clickEvent) => {
clickEvent.preventDefault() clickEvent.preventDefault()
function doDelete() { function doDelete(): void {
cityssm.postJSON( cityssm.postJSON(
los.urlPrefix + '/maps/doDeleteMap', los.urlPrefix + '/maps/doDeleteMap',
{ {
@ -77,8 +74,8 @@ declare const bulmaJS: BulmaJS
window.location.href = los.getMapURL() window.location.href = los.getMapURL()
} else { } else {
bulmaJS.alert({ bulmaJS.alert({
title: 'Error Deleting ' + exports.aliases.map, title: 'Error Deleting ' + los.escapedAliases.Map,
message: responseJSON.errorMessage || '', message: responseJSON.errorMessage ?? '',
contextualColorName: 'danger' contextualColorName: 'danger'
}) })
} }
@ -87,11 +84,11 @@ declare const bulmaJS: BulmaJS
} }
bulmaJS.confirm({ bulmaJS.confirm({
title: 'Delete ' + exports.aliases.map, title: 'Delete ' + los.escapedAliases.Map,
message: `Are you sure you want to delete this ${exports.aliases.map.toLowerCase()} and all related ${exports.aliases.lots.toLowerCase()}?`, message: `Are you sure you want to delete this ${los.escapedAliases.map} and all related ${los.escapedAliases.lots}?`,
contextualColorName: 'warning', contextualColorName: 'warning',
okButton: { okButton: {
text: `Yes, Delete ${exports.aliases.map}`, text: `Yes, Delete ${los.escapedAliases.Map}`,
callbackFunction: doDelete callbackFunction: doDelete
} }
}) })

View File

@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
const searchFilterElement = document.querySelector('#searchFilter--map'); const searchFilterElement = document.querySelector('#searchFilter--map');
const searchResultsContainerElement = document.querySelector('#container--searchResults'); const searchResultsContainerElement = document.querySelector('#container--searchResults');
function renderResults() { function renderResults() {
var _a, _b, _c, _d, _e, _f, _g, _h;
searchResultsContainerElement.innerHTML = los.getLoadingParagraphHTML(`Loading ${los.escapedAliases.Maps}...`); searchResultsContainerElement.innerHTML = los.getLoadingParagraphHTML(`Loading ${los.escapedAliases.Maps}...`);
let searchResultCount = 0; let searchResultCount = 0;
const searchResultsTbodyElement = document.createElement('tbody'); const searchResultsTbodyElement = document.createElement('tbody');
@ -15,7 +16,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
.toLowerCase() .toLowerCase()
.split(' '); .split(' ');
for (const map of maps) { for (const map of maps) {
const mapSearchString = `${map.mapName} ${map.mapDescription} ${map.mapAddress1} ${map.mapAddress2}`.toLowerCase(); const mapSearchString = `${(_a = map.mapName) !== null && _a !== void 0 ? _a : ''} ${(_b = map.mapDescription) !== null && _b !== void 0 ? _b : ''} ${(_c = map.mapAddress1) !== null && _c !== void 0 ? _c : ''} ${(_d = map.mapAddress2) !== null && _d !== void 0 ? _d : ''}`.toLowerCase();
let showMap = true; let showMap = true;
for (const filterStringPiece of filterStringSplit) { for (const filterStringPiece of filterStringSplit) {
if (!mapSearchString.includes(filterStringPiece)) { if (!mapSearchString.includes(filterStringPiece)) {
@ -30,14 +31,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
searchResultsTbodyElement.insertAdjacentHTML('beforeend', '<tr>' + searchResultsTbodyElement.insertAdjacentHTML('beforeend', '<tr>' +
('<td>' + ('<td>' +
'<a class="has-text-weight-bold" href="' + '<a class="has-text-weight-bold" href="' +
los.urlPrefix + los.getMapURL(map.mapId) +
'/maps/' +
map.mapId +
'">' + '">' +
cityssm.escapeHTML(map.mapName || '(No Name)') + cityssm.escapeHTML(map.mapName === '' ? '(No Name)' : map.mapName) +
'</a><br />' + '</a><br />' +
'<span class="is-size-7">' + '<span class="is-size-7">' +
cityssm.escapeHTML(map.mapDescription || '') + cityssm.escapeHTML((_e = map.mapDescription) !== null && _e !== void 0 ? _e : '') +
'</span>' + '</span>' +
'</td>') + '</td>') +
('<td>' + ('<td>' +
@ -48,14 +47,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
? cityssm.escapeHTML(map.mapAddress2) + '<br />' ? cityssm.escapeHTML(map.mapAddress2) + '<br />'
: '') + : '') +
(map.mapCity || map.mapProvince (map.mapCity || map.mapProvince
? cityssm.escapeHTML(map.mapCity || '') + ? cityssm.escapeHTML((_f = map.mapCity) !== null && _f !== void 0 ? _f : '') +
', ' + ', ' +
cityssm.escapeHTML(map.mapProvince || '') + cityssm.escapeHTML((_g = map.mapProvince) !== null && _g !== void 0 ? _g : '') +
'<br />' '<br />'
: '') + : '') +
(map.mapPostalCode ? cityssm.escapeHTML(map.mapPostalCode) : '') + (map.mapPostalCode ? cityssm.escapeHTML(map.mapPostalCode) : '') +
'</td>') + '</td>') +
('<td>' + cityssm.escapeHTML(map.mapPhoneNumber || '') + '</td>') + ('<td>' + cityssm.escapeHTML((_h = map.mapPhoneNumber) !== null && _h !== void 0 ? _h : '') + '</td>') +
'<td class="has-text-centered">' + '<td class="has-text-centered">' +
(map.mapLatitude && map.mapLongitude (map.mapLatitude && map.mapLongitude
? '<span data-tooltip="Has Geographic Coordinates"><i class="fas fa-map-marker-alt" aria-label="Has Geographic Coordinates"></i></span>' ? '<span data-tooltip="Has Geographic Coordinates"><i class="fas fa-map-marker-alt" aria-label="Has Geographic Coordinates"></i></span>'
@ -80,21 +79,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
searchResultsContainerElement.innerHTML = ''; searchResultsContainerElement.innerHTML = '';
if (searchResultCount === 0) { if (searchResultCount === 0) {
searchResultsContainerElement.innerHTML = `<div class="message is-info"> searchResultsContainerElement.innerHTML = `<div class="message is-info">
<p class="message-body">There are no ${los.escapedAliases.maps} that meet the search criteria.</p> <p class="message-body">There are no ${los.escapedAliases.maps} that meet the search criteria.</p>
</div>`; </div>`;
} }
else { else {
const searchResultsTableElement = document.createElement('table'); const searchResultsTableElement = document.createElement('table');
searchResultsTableElement.className = searchResultsTableElement.className =
'table is-fullwidth is-striped is-hoverable has-sticky-header'; 'table is-fullwidth is-striped is-hoverable has-sticky-header';
searchResultsTableElement.innerHTML = `<thead><tr> searchResultsTableElement.innerHTML = `<thead><tr>
<th>${los.escapedAliases.Map}</th> <th>${los.escapedAliases.Map}</th>
<th>Address</th> <th>Address</th>
<th>Phone Number</th> <th>Phone Number</th>
<th class="has-text-centered">Coordinates</th> <th class="has-text-centered">Coordinates</th>
<th class="has-text-centered">Image</th> <th class="has-text-centered">Image</th>
<th class="has-text-right">${los.escapedAliases.Lot} Count</th> <th class="has-text-right">${los.escapedAliases.Lot} Count</th>
</tr></thead>`; </tr></thead>`;
searchResultsTableElement.append(searchResultsTbodyElement); searchResultsTableElement.append(searchResultsTbodyElement);
searchResultsContainerElement.append(searchResultsTableElement); searchResultsContainerElement.append(searchResultsTableElement);
} }

View File

@ -6,7 +6,6 @@ import type * as recordTypes from '../types/recordTypes'
import type { cityssmGlobal } from '@cityssm/bulma-webapp-js/src/types' import type { cityssmGlobal } from '@cityssm/bulma-webapp-js/src/types'
declare const cityssm: cityssmGlobal declare const cityssm: cityssmGlobal
;(() => { ;(() => {
const los = exports.los as globalTypes.LOS const los = exports.los as globalTypes.LOS
@ -34,8 +33,9 @@ declare const cityssm: cityssmGlobal
.split(' ') .split(' ')
for (const map of maps) { for (const map of maps) {
const mapSearchString = const mapSearchString = `${map.mapName ?? ''} ${
`${map.mapName} ${map.mapDescription} ${map.mapAddress1} ${map.mapAddress2}`.toLowerCase() map.mapDescription ?? ''
} ${map.mapAddress1 ?? ''} ${map.mapAddress2 ?? ''}`.toLowerCase()
let showMap = true let showMap = true
@ -57,14 +57,14 @@ declare const cityssm: cityssmGlobal
'<tr>' + '<tr>' +
('<td>' + ('<td>' +
'<a class="has-text-weight-bold" href="' + '<a class="has-text-weight-bold" href="' +
los.urlPrefix + los.getMapURL(map.mapId) +
'/maps/' +
map.mapId +
'">' + '">' +
cityssm.escapeHTML(map.mapName || '(No Name)') + cityssm.escapeHTML(
map.mapName! === '' ? '(No Name)' : map.mapName!
) +
'</a><br />' + '</a><br />' +
'<span class="is-size-7">' + '<span class="is-size-7">' +
cityssm.escapeHTML(map.mapDescription || '') + cityssm.escapeHTML(map.mapDescription ?? '') +
'</span>' + '</span>' +
'</td>') + '</td>') +
('<td>' + ('<td>' +
@ -75,14 +75,14 @@ declare const cityssm: cityssmGlobal
? cityssm.escapeHTML(map.mapAddress2) + '<br />' ? cityssm.escapeHTML(map.mapAddress2) + '<br />'
: '') + : '') +
(map.mapCity || map.mapProvince (map.mapCity || map.mapProvince
? cityssm.escapeHTML(map.mapCity || '') + ? cityssm.escapeHTML(map.mapCity ?? '') +
', ' + ', ' +
cityssm.escapeHTML(map.mapProvince || '') + cityssm.escapeHTML(map.mapProvince ?? '') +
'<br />' '<br />'
: '') + : '') +
(map.mapPostalCode ? cityssm.escapeHTML(map.mapPostalCode) : '') + (map.mapPostalCode ? cityssm.escapeHTML(map.mapPostalCode) : '') +
'</td>') + '</td>') +
('<td>' + cityssm.escapeHTML(map.mapPhoneNumber || '') + '</td>') + ('<td>' + cityssm.escapeHTML(map.mapPhoneNumber ?? '') + '</td>') +
'<td class="has-text-centered">' + '<td class="has-text-centered">' +
(map.mapLatitude && map.mapLongitude (map.mapLatitude && map.mapLongitude
? '<span data-tooltip="Has Geographic Coordinates"><i class="fas fa-map-marker-alt" aria-label="Has Geographic Coordinates"></i></span>' ? '<span data-tooltip="Has Geographic Coordinates"><i class="fas fa-map-marker-alt" aria-label="Has Geographic Coordinates"></i></span>'
@ -110,8 +110,8 @@ declare const cityssm: cityssmGlobal
if (searchResultCount === 0) { if (searchResultCount === 0) {
searchResultsContainerElement.innerHTML = `<div class="message is-info"> searchResultsContainerElement.innerHTML = `<div class="message is-info">
<p class="message-body">There are no ${los.escapedAliases.maps} that meet the search criteria.</p> <p class="message-body">There are no ${los.escapedAliases.maps} that meet the search criteria.</p>
</div>` </div>`
} else { } else {
const searchResultsTableElement = document.createElement('table') const searchResultsTableElement = document.createElement('table')
@ -119,13 +119,13 @@ declare const cityssm: cityssmGlobal
'table is-fullwidth is-striped is-hoverable has-sticky-header' 'table is-fullwidth is-striped is-hoverable has-sticky-header'
searchResultsTableElement.innerHTML = `<thead><tr> searchResultsTableElement.innerHTML = `<thead><tr>
<th>${los.escapedAliases.Map}</th> <th>${los.escapedAliases.Map}</th>
<th>Address</th> <th>Address</th>
<th>Phone Number</th> <th>Phone Number</th>
<th class="has-text-centered">Coordinates</th> <th class="has-text-centered">Coordinates</th>
<th class="has-text-centered">Image</th> <th class="has-text-centered">Image</th>
<th class="has-text-right">${los.escapedAliases.Lot} Count</th> <th class="has-text-right">${los.escapedAliases.Lot} Count</th>
</tr></thead>` </tr></thead>`
searchResultsTableElement.append(searchResultsTbodyElement) searchResultsTableElement.append(searchResultsTbodyElement)

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=exports.los,o=document.querySelectorAll(".fa-circle[data-work-order-number");for(const r of o)r.style.color=e.getRandomColor(r.dataset.workOrderNumber||"")})(); "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{var e;const o=exports.los,r=document.querySelectorAll(".fa-circle[data-work-order-number");for(const t of r)t.style.color=o.getRandomColor(null!==(e=t.dataset.workOrderNumber)&&void 0!==e?e:"")})();

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{var e;const t=exports.los,a=document.querySelector("#map--mapId").value,s=""===a,o=document.querySelector("#form--map");o.addEventListener("submit",function(e){e.preventDefault(),cityssm.postJSON(t.urlPrefix+"/maps/"+(s?"doCreateMap":"doUpdateMap"),o,e=>{e.success?(cityssm.disableNavBlocker(),s?window.location.href=t.urlPrefix+"/maps/"+e.mapId+"/edit":bulmaJS.alert({message:exports.aliases.map+" Updated Successfully",contextualColorName:"success"})):bulmaJS.alert({title:"Error Updating "+exports.aliases.map,message:e.errorMessage||"",contextualColorName:"danger"})})});const r=o.querySelectorAll("input, select");for(const e of r)e.addEventListener("change",cityssm.enableNavBlocker);null===(e=document.querySelector("#button--deleteMap"))||void 0===e||e.addEventListener("click",e=>{e.preventDefault(),bulmaJS.confirm({title:"Delete "+exports.aliases.map,message:`Are you sure you want to delete this ${exports.aliases.map.toLowerCase()} and all related ${exports.aliases.lots.toLowerCase()}?`,contextualColorName:"warning",okButton:{text:`Yes, Delete ${exports.aliases.map}`,callbackFunction:function(){cityssm.postJSON(t.urlPrefix+"/maps/doDeleteMap",{mapId:a},e=>{e.success?window.location.href=t.getMapURL():bulmaJS.alert({title:"Error Deleting "+exports.aliases.map,message:e.errorMessage||"",contextualColorName:"danger"})})}}})})})(); "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{var e;const a=exports.los,t=document.querySelector("#map--mapId").value,s=""===t,l=document.querySelector("#form--map");l.addEventListener("submit",function(e){e.preventDefault(),cityssm.postJSON(a.urlPrefix+"/maps/"+(s?"doCreateMap":"doUpdateMap"),l,e=>{var t;e.success?(cityssm.disableNavBlocker(),s?window.location.href=a.getMapURL(e.mapId,!0):bulmaJS.alert({message:a.escapedAliases.Map+" Updated Successfully",contextualColorName:"success"})):bulmaJS.alert({title:"Error Updating "+a.escapedAliases.Map,message:null!==(t=e.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})});const o=l.querySelectorAll("input, select");for(const e of o)e.addEventListener("change",cityssm.enableNavBlocker);null===(e=document.querySelector("#button--deleteMap"))||void 0===e||e.addEventListener("click",e=>{e.preventDefault(),bulmaJS.confirm({title:"Delete "+a.escapedAliases.Map,message:`Are you sure you want to delete this ${a.escapedAliases.map} and all related ${a.escapedAliases.lots}?`,contextualColorName:"warning",okButton:{text:`Yes, Delete ${a.escapedAliases.Map}`,callbackFunction:function(){cityssm.postJSON(a.urlPrefix+"/maps/doDeleteMap",{mapId:t},e=>{var t;e.success?window.location.href=a.getMapURL():bulmaJS.alert({title:"Error Deleting "+a.escapedAliases.Map,message:null!==(t=e.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}}})})})();

View File

@ -1 +1 @@
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=exports.los,s=exports.maps,a=document.querySelector("#searchFilter--map"),t=document.querySelector("#container--searchResults");function r(){t.innerHTML=e.getLoadingParagraphHTML(`Loading ${e.escapedAliases.Maps}...`);let r=0;const i=document.createElement("tbody"),d=a.value.trim().toLowerCase().split(" ");for(const a of s){const s=`${a.mapName} ${a.mapDescription} ${a.mapAddress1} ${a.mapAddress2}`.toLowerCase();let t=!0;for(const e of d)if(!s.includes(e)){t=!1;break}t&&(r+=1,i.insertAdjacentHTML("beforeend",'<tr><td><a class="has-text-weight-bold" href="'+e.urlPrefix+"/maps/"+a.mapId+'">'+cityssm.escapeHTML(a.mapName||"(No Name)")+'</a><br /><span class="is-size-7">'+cityssm.escapeHTML(a.mapDescription||"")+"</span></td><td>"+(a.mapAddress1?cityssm.escapeHTML(a.mapAddress1)+"<br />":"")+(a.mapAddress2?cityssm.escapeHTML(a.mapAddress2)+"<br />":"")+(a.mapCity||a.mapProvince?cityssm.escapeHTML(a.mapCity||"")+", "+cityssm.escapeHTML(a.mapProvince||"")+"<br />":"")+(a.mapPostalCode?cityssm.escapeHTML(a.mapPostalCode):"")+"</td><td>"+cityssm.escapeHTML(a.mapPhoneNumber||"")+'</td><td class="has-text-centered">'+(a.mapLatitude&&a.mapLongitude?'<span data-tooltip="Has Geographic Coordinates"><i class="fas fa-map-marker-alt" aria-label="Has Geographic Coordinates"></i></span>':"")+'</td><td class="has-text-centered">'+(a.mapSVG?'<span data-tooltip="Has Image"><i class="fas fa-image" aria-label="Has Image"></i></span>':"")+'</td><td class="has-text-right"><a href="'+e.urlPrefix+"/lots?mapId="+a.mapId+'">'+a.lotCount+"</a></td></tr>"))}if(t.innerHTML="",0===r)t.innerHTML=`<div class="message is-info">\n <p class="message-body">There are no ${e.escapedAliases.maps} that meet the search criteria.</p>\n </div>`;else{const s=document.createElement("table");s.className="table is-fullwidth is-striped is-hoverable has-sticky-header",s.innerHTML=`<thead><tr>\n <th>${e.escapedAliases.Map}</th>\n <th>Address</th>\n <th>Phone Number</th>\n <th class="has-text-centered">Coordinates</th>\n <th class="has-text-centered">Image</th>\n <th class="has-text-right">${e.escapedAliases.Lot} Count</th>\n </tr></thead>`,s.append(i),t.append(s)}}a.addEventListener("keyup",r),document.querySelector("#form--searchFilters").addEventListener("submit",e=>{e.preventDefault(),r()}),r()})(); "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=exports.los,a=exports.maps,s=document.querySelector("#searchFilter--map"),t=document.querySelector("#container--searchResults");function r(){var r,i,d,n,o,c,p,l;t.innerHTML=e.getLoadingParagraphHTML(`Loading ${e.escapedAliases.Maps}...`);let m=0;const h=document.createElement("tbody"),u=s.value.trim().toLowerCase().split(" ");for(const s of a){const a=`${null!==(r=s.mapName)&&void 0!==r?r:""} ${null!==(i=s.mapDescription)&&void 0!==i?i:""} ${null!==(d=s.mapAddress1)&&void 0!==d?d:""} ${null!==(n=s.mapAddress2)&&void 0!==n?n:""}`.toLowerCase();let t=!0;for(const e of u)if(!a.includes(e)){t=!1;break}t&&(m+=1,h.insertAdjacentHTML("beforeend",'<tr><td><a class="has-text-weight-bold" href="'+e.getMapURL(s.mapId)+'">'+cityssm.escapeHTML(""===s.mapName?"(No Name)":s.mapName)+'</a><br /><span class="is-size-7">'+cityssm.escapeHTML(null!==(o=s.mapDescription)&&void 0!==o?o:"")+"</span></td><td>"+(s.mapAddress1?cityssm.escapeHTML(s.mapAddress1)+"<br />":"")+(s.mapAddress2?cityssm.escapeHTML(s.mapAddress2)+"<br />":"")+(s.mapCity||s.mapProvince?cityssm.escapeHTML(null!==(c=s.mapCity)&&void 0!==c?c:"")+", "+cityssm.escapeHTML(null!==(p=s.mapProvince)&&void 0!==p?p:"")+"<br />":"")+(s.mapPostalCode?cityssm.escapeHTML(s.mapPostalCode):"")+"</td><td>"+cityssm.escapeHTML(null!==(l=s.mapPhoneNumber)&&void 0!==l?l:"")+'</td><td class="has-text-centered">'+(s.mapLatitude&&s.mapLongitude?'<span data-tooltip="Has Geographic Coordinates"><i class="fas fa-map-marker-alt" aria-label="Has Geographic Coordinates"></i></span>':"")+'</td><td class="has-text-centered">'+(s.mapSVG?'<span data-tooltip="Has Image"><i class="fas fa-image" aria-label="Has Image"></i></span>':"")+'</td><td class="has-text-right"><a href="'+e.urlPrefix+"/lots?mapId="+s.mapId+'">'+s.lotCount+"</a></td></tr>"))}if(t.innerHTML="",0===m)t.innerHTML=`<div class="message is-info">\n <p class="message-body">There are no ${e.escapedAliases.maps} that meet the search criteria.</p>\n </div>`;else{const a=document.createElement("table");a.className="table is-fullwidth is-striped is-hoverable has-sticky-header",a.innerHTML=`<thead><tr>\n <th>${e.escapedAliases.Map}</th>\n <th>Address</th>\n <th>Phone Number</th>\n <th class="has-text-centered">Coordinates</th>\n <th class="has-text-centered">Image</th>\n <th class="has-text-right">${e.escapedAliases.Lot} Count</th>\n </tr></thead>`,a.append(h),t.append(a)}}s.addEventListener("keyup",r),document.querySelector("#form--searchFilters").addEventListener("submit",e=>{e.preventDefault(),r()}),r()})();

View File

@ -7,7 +7,8 @@
"declaration": true, "declaration": true,
"noImplicitAny": false, "noImplicitAny": false,
"removeComments": false, "removeComments": false,
"allowUnreachableCode": false "allowUnreachableCode": false,
"strictNullChecks": true
}, },
"files": [ "files": [
"public-typescript/adminCleanup.ts", "public-typescript/adminCleanup.ts",