Compare commits
1 Commits
main
...
dependabot
| Author | SHA1 | Date |
|---|---|---|
|
|
5e86508028 |
|
|
@ -1,2 +1,2 @@
|
|||
theme: jekyll-theme-cayman
|
||||
title: Sunrise Cemetery Management System (CMS)
|
||||
title: Sunrise Cemetery Management System
|
||||
|
|
@ -15,10 +15,10 @@ export default function addContractTransaction(contractTransactionForm, user) {
|
|||
transactionIndex = maxIndexResult.transactionIndex + 1;
|
||||
}
|
||||
const rightNow = new Date();
|
||||
const transactionDate = (contractTransactionForm.transactionDateString ?? '') === ''
|
||||
const transactionDate = contractTransactionForm.transactionDateString === ''
|
||||
? dateToInteger(rightNow)
|
||||
: dateStringToInteger(contractTransactionForm.transactionDateString);
|
||||
const transactionTime = (contractTransactionForm.transactionTimeString ?? '') === ''
|
||||
const transactionTime = contractTransactionForm.transactionTimeString === ''
|
||||
? dateToTimeInteger(rightNow)
|
||||
: timeStringToInteger(contractTransactionForm.transactionTimeString);
|
||||
database
|
||||
|
|
|
|||
|
|
@ -48,14 +48,14 @@ export default function addContractTransaction(
|
|||
const rightNow = new Date()
|
||||
|
||||
const transactionDate =
|
||||
(contractTransactionForm.transactionDateString ?? '') === ''
|
||||
contractTransactionForm.transactionDateString === ''
|
||||
? dateToInteger(rightNow)
|
||||
: dateStringToInteger(
|
||||
contractTransactionForm.transactionDateString as DateString
|
||||
)
|
||||
|
||||
const transactionTime =
|
||||
(contractTransactionForm.transactionTimeString ?? '') === ''
|
||||
contractTransactionForm.transactionTimeString === ''
|
||||
? dateToTimeInteger(rightNow)
|
||||
: timeStringToInteger(
|
||||
contractTransactionForm.transactionTimeString as TimeString
|
||||
|
|
|
|||
|
|
@ -20,8 +20,7 @@ export default function getBurialSites(filters, options, connectedDatabase) {
|
|||
group by burialSiteId
|
||||
) o on l.burialSiteId = o.burialSiteId
|
||||
${sqlWhereClause}`)
|
||||
.pluck()
|
||||
.get(sqlParameters);
|
||||
.get(sqlParameters).recordCount;
|
||||
}
|
||||
let burialSites = [];
|
||||
if (options.limit === -1 || count > 0) {
|
||||
|
|
|
|||
|
|
@ -38,7 +38,8 @@ export default function getBurialSites(
|
|||
let count = 0
|
||||
|
||||
if (options.limit !== -1) {
|
||||
count = database
|
||||
count = (
|
||||
database
|
||||
.prepare(
|
||||
`select count(*) as recordCount
|
||||
from BurialSites l
|
||||
|
|
@ -52,8 +53,8 @@ export default function getBurialSites(
|
|||
) o on l.burialSiteId = o.burialSiteId
|
||||
${sqlWhereClause}`
|
||||
)
|
||||
.pluck()
|
||||
.get(sqlParameters) as number
|
||||
.get(sqlParameters) as { recordCount: number }
|
||||
).recordCount
|
||||
}
|
||||
|
||||
let burialSites: BurialSite[] = []
|
||||
|
|
|
|||
|
|
@ -24,14 +24,10 @@ export default async function getContracts(filters, options, connectedDatabase)
|
|||
left join BurialSites l on c.burialSiteId = l.burialSiteId
|
||||
left join Cemeteries m on l.cemeteryId = m.cemeteryId
|
||||
${sqlWhereClause}`)
|
||||
.pluck()
|
||||
.get(sqlParameters);
|
||||
.get(sqlParameters).recordCount;
|
||||
}
|
||||
let contracts = [];
|
||||
if (count !== 0) {
|
||||
const sqlLimitClause = isLimited
|
||||
? ` limit ${options.limit} offset ${options.offset}`
|
||||
: '';
|
||||
contracts = database
|
||||
.prepare(`select c.contractId,
|
||||
c.contractTypeId, t.contractType, t.isPreneed,
|
||||
|
|
@ -61,14 +57,14 @@ export default async function getContracts(filters, options, connectedDatabase)
|
|||
${sqlWhereClause}
|
||||
${options.orderBy !== undefined && options.orderBy !== ''
|
||||
? ` order by ${options.orderBy}`
|
||||
: ` order by c.contractStartDate desc, ifnull(c.contractEndDate, 99999999) desc,
|
||||
: `order by c.contractStartDate desc, ifnull(c.contractEndDate, 99999999) desc,
|
||||
l.burialSiteNameSegment1,
|
||||
l.burialSiteNameSegment2,
|
||||
l.burialSiteNameSegment3,
|
||||
l.burialSiteNameSegment4,
|
||||
l.burialSiteNameSegment5,
|
||||
c.burialSiteId, c.contractId desc`}
|
||||
${sqlLimitClause}`)
|
||||
${isLimited ? ` limit ${options.limit} offset ${options.offset}` : ''}`)
|
||||
.all(sqlParameters);
|
||||
if (!isLimited) {
|
||||
count = contracts.length;
|
||||
|
|
|
|||
|
|
@ -81,7 +81,8 @@ export default async function getContracts(
|
|||
const isLimited = options.limit !== -1
|
||||
|
||||
if (isLimited) {
|
||||
count = database
|
||||
count = (
|
||||
database
|
||||
.prepare(
|
||||
`select count(*) as recordCount
|
||||
from Contracts c
|
||||
|
|
@ -89,17 +90,13 @@ export default async function getContracts(
|
|||
left join Cemeteries m on l.cemeteryId = m.cemeteryId
|
||||
${sqlWhereClause}`
|
||||
)
|
||||
.pluck()
|
||||
.get(sqlParameters) as number
|
||||
.get(sqlParameters) as { recordCount: number }
|
||||
).recordCount
|
||||
}
|
||||
|
||||
let contracts: Contract[] = []
|
||||
|
||||
if (count !== 0) {
|
||||
const sqlLimitClause = isLimited
|
||||
? ` limit ${options.limit} offset ${options.offset}`
|
||||
: ''
|
||||
|
||||
contracts = database
|
||||
.prepare(
|
||||
`select c.contractId,
|
||||
|
|
@ -131,7 +128,7 @@ export default async function getContracts(
|
|||
${
|
||||
options.orderBy !== undefined && options.orderBy !== ''
|
||||
? ` order by ${options.orderBy}`
|
||||
: ` order by c.contractStartDate desc, ifnull(c.contractEndDate, 99999999) desc,
|
||||
: `order by c.contractStartDate desc, ifnull(c.contractEndDate, 99999999) desc,
|
||||
l.burialSiteNameSegment1,
|
||||
l.burialSiteNameSegment2,
|
||||
l.burialSiteNameSegment3,
|
||||
|
|
@ -139,7 +136,7 @@ export default async function getContracts(
|
|||
l.burialSiteNameSegment5,
|
||||
c.burialSiteId, c.contractId desc`
|
||||
}
|
||||
${sqlLimitClause}`
|
||||
${isLimited ? ` limit ${options.limit} offset ${options.offset}` : ''}`
|
||||
)
|
||||
.all(sqlParameters) as Contract[]
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@ export default function getNextWorkOrderNumber(connectedDatabase) {
|
|||
const database = connectedDatabase ?? sqlite(sunriseDB, { readonly: true });
|
||||
const paddingLength = getConfigProperty('settings.workOrders.workOrderNumberLength');
|
||||
const currentYearString = new Date().getFullYear().toString();
|
||||
// eslint-disable-next-line security/detect-non-literal-regexp
|
||||
const regex = new RegExp(`^${currentYearString}-\\d+$`);
|
||||
database.function(
|
||||
// eslint-disable-next-line no-secrets/no-secrets
|
||||
|
|
|
|||
|
|
@ -13,7 +13,6 @@ export default function getNextWorkOrderNumber(
|
|||
)
|
||||
const currentYearString = new Date().getFullYear().toString()
|
||||
|
||||
// eslint-disable-next-line security/detect-non-literal-regexp
|
||||
const regex = new RegExp(`^${currentYearString}-\\d+$`)
|
||||
|
||||
database.function(
|
||||
|
|
|
|||
|
|
@ -14,8 +14,7 @@ export async function getWorkOrders(filters, options, connectedDatabase) {
|
|||
.prepare(`select count(*) as recordCount
|
||||
from WorkOrders w
|
||||
${sqlWhereClause}`)
|
||||
.pluck()
|
||||
.get(sqlParameters);
|
||||
.get(sqlParameters).recordCount;
|
||||
let workOrders = [];
|
||||
if (count > 0) {
|
||||
workOrders = database
|
||||
|
|
|
|||
|
|
@ -48,14 +48,15 @@ export async function getWorkOrders(
|
|||
|
||||
const { sqlParameters, sqlWhereClause } = buildWhereClause(filters)
|
||||
|
||||
const count: number = database
|
||||
const count: number = (
|
||||
database
|
||||
.prepare(
|
||||
`select count(*) as recordCount
|
||||
from WorkOrders w
|
||||
${sqlWhereClause}`
|
||||
)
|
||||
.pluck()
|
||||
.get(sqlParameters) as number
|
||||
.get(sqlParameters) as { recordCount: number }
|
||||
).recordCount
|
||||
|
||||
let workOrders: WorkOrder[] = []
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
// eslint-disable-next-line @eslint-community/eslint-comments/disable-enable-pair
|
||||
/* eslint-disable @typescript-eslint/no-magic-numbers, max-lines, no-secrets/no-secrets */
|
||||
/* eslint-disable max-lines, no-secrets/no-secrets */
|
||||
import sqlite from 'better-sqlite3';
|
||||
import Debug from 'debug';
|
||||
import { DEBUG_NAMESPACE } from '../debug.config.js';
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
// eslint-disable-next-line @eslint-community/eslint-comments/disable-enable-pair
|
||||
/* eslint-disable @typescript-eslint/no-magic-numbers, max-lines, no-secrets/no-secrets */
|
||||
/* eslint-disable max-lines, no-secrets/no-secrets */
|
||||
|
||||
import sqlite from 'better-sqlite3'
|
||||
import Debug from 'debug'
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@ import { clearCacheByTableName } from '../helpers/functions.cache.js'
|
|||
|
||||
export interface UpdateBurialSiteTypeFieldForm {
|
||||
burialSiteTypeFieldId: number | string
|
||||
|
||||
burialSiteTypeField: string
|
||||
isRequired: '0' | '1'
|
||||
|
||||
|
|
|
|||
|
|
@ -15,13 +15,11 @@ export default async function handler(
|
|||
|
||||
response.json({
|
||||
success: true,
|
||||
|
||||
fileName
|
||||
})
|
||||
} else {
|
||||
response.json({
|
||||
success: false,
|
||||
|
||||
errorMessage: 'Unable to write backup file.'
|
||||
})
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,2 @@
|
|||
import type { Request, Response } from 'express';
|
||||
export default function handler(request: Request<{
|
||||
cemeteryId: string;
|
||||
}>, response: Response): Promise<void>;
|
||||
export default function handler(request: Request, response: Response): Promise<void>;
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import { getConfigProperty } from '../../helpers/config.helpers.js'
|
|||
import { getCemeterySVGs } from '../../helpers/images.helpers.js'
|
||||
|
||||
export default async function handler(
|
||||
request: Request<{ cemeteryId: string }>,
|
||||
request: Request,
|
||||
response: Response
|
||||
): Promise<void> {
|
||||
const cemetery = getCemetery(request.params.cemeteryId)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,2 @@
|
|||
import type { Request, Response } from 'express';
|
||||
export default function handler(request: Request<{
|
||||
cemeteryId: string;
|
||||
}>, response: Response): void;
|
||||
export default function handler(request: Request, response: Response): void;
|
||||
|
|
|
|||
|
|
@ -3,10 +3,7 @@ import type { Request, Response } from 'express'
|
|||
import getPreviousCemeteryId from '../../database/getPreviousCemeteryId.js'
|
||||
import { getConfigProperty } from '../../helpers/config.helpers.js'
|
||||
|
||||
export default function handler(
|
||||
request: Request<{ cemeteryId: string }>,
|
||||
response: Response
|
||||
): void {
|
||||
export default function handler(request: Request, response: Response): void {
|
||||
const cemeteryId = Number.parseInt(request.params.cemeteryId, 10)
|
||||
|
||||
const previousCemeteryId = getPreviousCemeteryId(cemeteryId)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,2 @@
|
|||
import type { Request, Response } from 'express';
|
||||
export default function handler(request: Request<{
|
||||
cemeteryId: string;
|
||||
}>, response: Response): void;
|
||||
export default function handler(request: Request, response: Response): void;
|
||||
|
|
|
|||
|
|
@ -5,10 +5,7 @@ import getBurialSiteTypeSummary from '../../database/getBurialSiteTypeSummary.js
|
|||
import getCemetery from '../../database/getCemetery.js'
|
||||
import { getConfigProperty } from '../../helpers/config.helpers.js'
|
||||
|
||||
export default function handler(
|
||||
request: Request<{ cemeteryId: string }>,
|
||||
response: Response
|
||||
): void {
|
||||
export default function handler(request: Request, response: Response): void {
|
||||
const cemetery = getCemetery(request.params.cemeteryId)
|
||||
|
||||
if (cemetery === undefined) {
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ export default function handler(request, response) {
|
|||
});
|
||||
if (success) {
|
||||
response.on('finish', () => {
|
||||
clearNextPreviousBurialSiteIdCache();
|
||||
clearNextPreviousBurialSiteIdCache(-1);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ export default function handler(
|
|||
|
||||
if (success) {
|
||||
response.on('finish', () => {
|
||||
clearNextPreviousBurialSiteIdCache()
|
||||
clearNextPreviousBurialSiteIdCache(-1)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
import { dateToInteger, dateToString } from '@cityssm/utils-datetime'
|
||||
import type { Request, Response } from 'express'
|
||||
|
||||
import { dateToInteger, dateToString } from '@cityssm/utils-datetime'
|
||||
|
||||
import getBurialSite from '../../database/getBurialSite.js'
|
||||
import getBurialSiteDirectionsOfArrival, { defaultDirectionsOfArrival } from '../../database/getBurialSiteDirectionsOfArrival.js'
|
||||
import getCemeteries from '../../database/getCemeteries.js'
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
import { dateToString } from '@cityssm/utils-datetime'
|
||||
import type { Request, Response } from 'express'
|
||||
|
||||
import { dateToString } from '@cityssm/utils-datetime'
|
||||
|
||||
import getWorkOrderMilestones from '../../database/getWorkOrderMilestones.js'
|
||||
|
||||
export default async function handler(
|
||||
|
|
|
|||
|
|
@ -1,9 +1,10 @@
|
|||
import type { NextFunction, Request, Response } from 'express'
|
||||
|
||||
import path from 'node:path'
|
||||
|
||||
import { convertHTMLToPDF } from '@cityssm/pdf-puppeteer'
|
||||
import camelcase from 'camelcase'
|
||||
import { renderFile as renderEjsFile } from 'ejs'
|
||||
import type { NextFunction, Request, Response } from 'express'
|
||||
|
||||
import { getConfigProperty } from '../../helpers/config.helpers.js'
|
||||
import {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
import type { Request, Response } from 'express'
|
||||
|
||||
import papaParse from 'papaparse'
|
||||
|
||||
import getReportData, {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
import { dateToString } from '@cityssm/utils-datetime'
|
||||
import type { Request, Response } from 'express'
|
||||
|
||||
import { dateToString } from '@cityssm/utils-datetime'
|
||||
|
||||
import getCemeteries from '../../database/getCemeteries.js'
|
||||
import {
|
||||
getBurialSiteStatuses,
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
import { dateToInteger, dateToString } from '@cityssm/utils-datetime'
|
||||
import type { Request, Response } from 'express'
|
||||
|
||||
import { dateToInteger, dateToString } from '@cityssm/utils-datetime'
|
||||
|
||||
import { getWorkOrderTypes } from '../../helpers/functions.cache.js'
|
||||
import type { WorkOrder } from '../../types/record.types.js'
|
||||
|
||||
|
|
|
|||
|
|
@ -39,6 +39,7 @@
|
|||
"leaflet": "^1.9.4",
|
||||
"node-cache": "^5.1.2",
|
||||
"papaparse": "^5.5.2",
|
||||
"puppeteer": "24.7.2",
|
||||
"randomcolor": "^0.6.2",
|
||||
"session-file-store": "^1.5.0",
|
||||
"set-interval-async": "^3.0.3"
|
||||
|
|
@ -77,7 +78,7 @@
|
|||
},
|
||||
"optionalDependencies": {
|
||||
"node-windows": "^1.0.0-beta.8",
|
||||
"puppeteer": "19.4.1"
|
||||
"puppeteer": "24.7.2"
|
||||
}
|
||||
},
|
||||
"node_modules/@aashutoshrathi/word-wrap": {
|
||||
|
|
@ -337,23 +338,23 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@babel/code-frame": {
|
||||
"version": "7.26.2",
|
||||
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz",
|
||||
"integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==",
|
||||
"version": "7.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz",
|
||||
"integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/helper-validator-identifier": "^7.25.9",
|
||||
"@babel/helper-validator-identifier": "^7.27.1",
|
||||
"js-tokens": "^4.0.0",
|
||||
"picocolors": "^1.0.0"
|
||||
"picocolors": "^1.1.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.9.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/helper-validator-identifier": {
|
||||
"version": "7.25.9",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz",
|
||||
"integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==",
|
||||
"version": "7.27.1",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz",
|
||||
"integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=6.9.0"
|
||||
|
|
@ -496,106 +497,6 @@
|
|||
"node": ">=18.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@cityssm/puppeteer-launch/node_modules/cosmiconfig": {
|
||||
"version": "9.0.0",
|
||||
"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz",
|
||||
"integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"env-paths": "^2.2.1",
|
||||
"import-fresh": "^3.3.0",
|
||||
"js-yaml": "^4.1.0",
|
||||
"parse-json": "^5.2.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/d-fischer"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"typescript": ">=4.9.5"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"typescript": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/@cityssm/puppeteer-launch/node_modules/devtools-protocol": {
|
||||
"version": "0.0.1413902",
|
||||
"resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1413902.tgz",
|
||||
"integrity": "sha512-yRtvFD8Oyk7C9Os3GmnFZLu53yAfsnyw1s+mLmHHUK0GQEc9zthHWvS1r67Zqzm5t7v56PILHIVZ7kmFMaL2yQ==",
|
||||
"license": "BSD-3-Clause"
|
||||
},
|
||||
"node_modules/@cityssm/puppeteer-launch/node_modules/env-paths": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
|
||||
"integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/@cityssm/puppeteer-launch/node_modules/puppeteer": {
|
||||
"version": "24.4.0",
|
||||
"resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-24.4.0.tgz",
|
||||
"integrity": "sha512-E4JhJzjS8AAI+6N/b+Utwarhz6zWl3+MR725fal+s3UlOlX2eWdsvYYU+Q5bXMjs9eZEGkNQroLkn7j11s2k1Q==",
|
||||
"hasInstallScript": true,
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@puppeteer/browsers": "2.8.0",
|
||||
"chromium-bidi": "2.1.2",
|
||||
"cosmiconfig": "^9.0.0",
|
||||
"devtools-protocol": "0.0.1413902",
|
||||
"puppeteer-core": "24.4.0",
|
||||
"typed-query-selector": "^2.12.0"
|
||||
},
|
||||
"bin": {
|
||||
"puppeteer": "lib/cjs/puppeteer/node/cli.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@cityssm/puppeteer-launch/node_modules/puppeteer-core": {
|
||||
"version": "24.4.0",
|
||||
"resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-24.4.0.tgz",
|
||||
"integrity": "sha512-eFw66gCnWo0X8Hyf9KxxJtms7a61NJVMiSaWfItsFPzFBsjsWdmcNlBdsA1WVwln6neoHhsG+uTVesKmTREn/g==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@puppeteer/browsers": "2.8.0",
|
||||
"chromium-bidi": "2.1.2",
|
||||
"debug": "^4.4.0",
|
||||
"devtools-protocol": "0.0.1413902",
|
||||
"typed-query-selector": "^2.12.0",
|
||||
"ws": "^8.18.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/@cityssm/puppeteer-launch/node_modules/ws": {
|
||||
"version": "8.18.1",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-8.18.1.tgz",
|
||||
"integrity": "sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"bufferutil": "^4.0.1",
|
||||
"utf-8-validate": ">=5.0.2"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"bufferutil": {
|
||||
"optional": true
|
||||
},
|
||||
"utf-8-validate": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/@cityssm/simple-fa5-checkbox": {
|
||||
"version": "0.2.1",
|
||||
"resolved": "https://registry.npmjs.org/@cityssm/simple-fa5-checkbox/-/simple-fa5-checkbox-0.2.1.tgz",
|
||||
|
|
@ -1738,9 +1639,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@puppeteer/browsers": {
|
||||
"version": "2.8.0",
|
||||
"resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.8.0.tgz",
|
||||
"integrity": "sha512-yTwt2KWRmCQAfhvbCRjebaSX8pV1//I0Y3g+A7f/eS7gf0l4eRJoUCvcYdVtboeU4CTOZQuqYbZNS8aBYb8ROQ==",
|
||||
"version": "2.10.2",
|
||||
"resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.10.2.tgz",
|
||||
"integrity": "sha512-i4Ez+s9oRWQbNjtI/3+jxr7OH508mjAKvza0ekPJem0ZtmsYHP3B5dq62+IaBHKaGCOuqJxXzvFLUhJvQ6jtsQ==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"debug": "^4.4.0",
|
||||
|
|
@ -2962,9 +2863,9 @@
|
|||
"optional": true
|
||||
},
|
||||
"node_modules/bare-fs": {
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.0.2.tgz",
|
||||
"integrity": "sha512-S5mmkMesiduMqnz51Bfh0Et9EX0aTCJxhsI4bvzFFLs8Z1AV8RDHadfY5CyLwdoLHgXbNBEN1gQcbEtGwuvixw==",
|
||||
"version": "4.1.4",
|
||||
"resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.1.4.tgz",
|
||||
"integrity": "sha512-r8+26Voz8dGX3AYpJdFb1ZPaUSM8XOLCZvy+YGpRTmwPHIxA7Z3Jov/oMPtV7hfRQbOnH8qGlLTzQAbgtdNN0Q==",
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
|
|
@ -3496,9 +3397,9 @@
|
|||
"integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="
|
||||
},
|
||||
"node_modules/chromium-bidi": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-2.1.2.tgz",
|
||||
"integrity": "sha512-vtRWBK2uImo5/W2oG6/cDkkHSm+2t6VHgnj+Rcwhb0pP74OoUb4GipyRX/T/y39gYQPhioP0DPShn+A7P6CHNw==",
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-4.1.1.tgz",
|
||||
"integrity": "sha512-biR7t4vF3YluE6RlMSk9IWk+b9U+WWyzHp+N2pL9vRTk+UXHYRTVp7jTK58ZNzMLBgoLMHY4QyJMbeuw3eKxqg==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"mitt": "^3.0.1",
|
||||
|
|
@ -3904,19 +3805,38 @@
|
|||
"license": "MIT"
|
||||
},
|
||||
"node_modules/cosmiconfig": {
|
||||
"version": "8.0.0",
|
||||
"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.0.0.tgz",
|
||||
"integrity": "sha512-da1EafcpH6b/TD8vDRaWV7xFINlHlF6zKsGwS1TsuVJTZRkquaS5HTMq7uq6h31619QjbsYl21gVDOm32KM1vQ==",
|
||||
"version": "9.0.0",
|
||||
"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz",
|
||||
"integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==",
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"import-fresh": "^3.2.1",
|
||||
"env-paths": "^2.2.1",
|
||||
"import-fresh": "^3.3.0",
|
||||
"js-yaml": "^4.1.0",
|
||||
"parse-json": "^5.0.0",
|
||||
"path-type": "^4.0.0"
|
||||
"parse-json": "^5.2.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/d-fischer"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"typescript": ">=4.9.5"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"typescript": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/cosmiconfig/node_modules/env-paths": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
|
||||
"integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/cross-env": {
|
||||
|
|
@ -3936,16 +3856,6 @@
|
|||
"yarn": ">=1"
|
||||
}
|
||||
},
|
||||
"node_modules/cross-fetch": {
|
||||
"version": "3.1.5",
|
||||
"resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz",
|
||||
"integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==",
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"node-fetch": "2.6.7"
|
||||
}
|
||||
},
|
||||
"node_modules/cross-spawn": {
|
||||
"version": "7.0.6",
|
||||
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
|
||||
|
|
@ -4527,9 +4437,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/devtools-protocol": {
|
||||
"version": "0.0.1068969",
|
||||
"resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1068969.tgz",
|
||||
"integrity": "sha512-ATFTrPbY1dKYhPPvpjtwWKSK2mIwGmRwX54UASn9THEuIZCe2n9k3vVuMmt6jWeL+e5QaaguEv/pMyR+JQB7VQ==",
|
||||
"version": "0.0.1425554",
|
||||
"resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1425554.tgz",
|
||||
"integrity": "sha512-uRfxR6Nlzdzt0ihVIkV+sLztKgs7rgquY/Mhcv1YNCWDh5IZgl5mnn2aeEnW5stYTE0wwiF4RYVz8eMEpV1SEw==",
|
||||
"license": "BSD-3-Clause"
|
||||
},
|
||||
"node_modules/doctrine": {
|
||||
|
|
@ -8164,6 +8074,15 @@
|
|||
"url": "https://github.com/sponsors/wooorm"
|
||||
}
|
||||
},
|
||||
"node_modules/lru-cache": {
|
||||
"version": "7.18.3",
|
||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
|
||||
"integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
|
||||
"license": "ISC",
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/markdown-table": {
|
||||
"version": "3.0.4",
|
||||
"resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz",
|
||||
|
|
@ -9346,27 +9265,6 @@
|
|||
"node": ">= 8.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/node-fetch": {
|
||||
"version": "2.6.7",
|
||||
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
|
||||
"integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"whatwg-url": "^5.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "4.x || >=6.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"encoding": "^0.1.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"encoding": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/node-gyp-build": {
|
||||
"version": "4.8.4",
|
||||
"resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.4.tgz",
|
||||
|
|
@ -10014,16 +9912,6 @@
|
|||
"node": ">=16"
|
||||
}
|
||||
},
|
||||
"node_modules/path-type": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
|
||||
"integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/pe-coff": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/pe-coff/-/pe-coff-1.0.0.tgz",
|
||||
|
|
@ -10291,15 +10179,6 @@
|
|||
"node": ">= 14"
|
||||
}
|
||||
},
|
||||
"node_modules/proxy-agent/node_modules/lru-cache": {
|
||||
"version": "7.18.3",
|
||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
|
||||
"integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
|
||||
"license": "ISC",
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/proxy-agent/node_modules/proxy-from-env": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
|
||||
|
|
@ -10338,139 +10217,43 @@
|
|||
}
|
||||
},
|
||||
"node_modules/puppeteer": {
|
||||
"version": "19.4.1",
|
||||
"resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-19.4.1.tgz",
|
||||
"integrity": "sha512-PCnrR13B8A+VSEDXRmrNXRZbrkF1tfsI1hKSC7vs13eNS6CUD3Y4FA8SF8/VZy+Pm1kg5AggJT2Nu3HLAtGkFg==",
|
||||
"deprecated": "< 22.8.2 is no longer supported",
|
||||
"version": "24.7.2",
|
||||
"resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-24.7.2.tgz",
|
||||
"integrity": "sha512-ifYqoY6wGs0yZeFuFPn8BE9FhuveXkarF+eO18I2e/axdoCh4Qh1AE+qXdJBhdaeoPt6eRNTY4Dih29Jbq8wow==",
|
||||
"hasInstallScript": true,
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"cosmiconfig": "8.0.0",
|
||||
"https-proxy-agent": "5.0.1",
|
||||
"progress": "2.0.3",
|
||||
"proxy-from-env": "1.1.0",
|
||||
"puppeteer-core": "19.4.1"
|
||||
"@puppeteer/browsers": "2.10.2",
|
||||
"chromium-bidi": "4.1.1",
|
||||
"cosmiconfig": "^9.0.0",
|
||||
"devtools-protocol": "0.0.1425554",
|
||||
"puppeteer-core": "24.7.2",
|
||||
"typed-query-selector": "^2.12.0"
|
||||
},
|
||||
"bin": {
|
||||
"puppeteer": "lib/cjs/puppeteer/node/cli.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14.1.0"
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/puppeteer-core": {
|
||||
"version": "19.4.1",
|
||||
"resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-19.4.1.tgz",
|
||||
"integrity": "sha512-JHIuqtqrUAx4jGOTxXu4ilapV2jabxtVMA/e4wwFUMvtSsqK4nVBSI+Z1SKDoz7gRy/JUIc8WzmfocCa6SIZ1w==",
|
||||
"version": "24.7.2",
|
||||
"resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-24.7.2.tgz",
|
||||
"integrity": "sha512-P9pZyTmJqKODFCnkZgemCpoFA4LbAa8+NumHVQKyP5X9IgdNS1ZnAnIh1sMAwhF8/xEUGf7jt+qmNLlKieFw1Q==",
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"cross-fetch": "3.1.5",
|
||||
"debug": "4.3.4",
|
||||
"devtools-protocol": "0.0.1068969",
|
||||
"extract-zip": "2.0.1",
|
||||
"https-proxy-agent": "5.0.1",
|
||||
"proxy-from-env": "1.1.0",
|
||||
"rimraf": "3.0.2",
|
||||
"tar-fs": "2.1.1",
|
||||
"unbzip2-stream": "1.4.3",
|
||||
"ws": "8.11.0"
|
||||
"@puppeteer/browsers": "2.10.2",
|
||||
"chromium-bidi": "4.1.1",
|
||||
"debug": "^4.4.0",
|
||||
"devtools-protocol": "0.0.1425554",
|
||||
"typed-query-selector": "^2.12.0",
|
||||
"ws": "^8.18.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14.1.0"
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/puppeteer-core/node_modules/agent-base": {
|
||||
"version": "6.0.2",
|
||||
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
|
||||
"integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"debug": "4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 6.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/puppeteer-core/node_modules/debug": {
|
||||
"version": "4.3.4",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
|
||||
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"ms": "2.1.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"supports-color": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/puppeteer-core/node_modules/https-proxy-agent": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
|
||||
"integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"agent-base": "6",
|
||||
"debug": "4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 6"
|
||||
}
|
||||
},
|
||||
"node_modules/puppeteer-core/node_modules/ms": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
||||
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
|
||||
"license": "MIT",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/puppeteer-core/node_modules/proxy-from-env": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
|
||||
"integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
|
||||
"license": "MIT",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/puppeteer/node_modules/agent-base": {
|
||||
"version": "6.0.2",
|
||||
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
|
||||
"integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"debug": "4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 6.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/puppeteer/node_modules/https-proxy-agent": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
|
||||
"integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"agent-base": "6",
|
||||
"debug": "4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 6"
|
||||
}
|
||||
},
|
||||
"node_modules/puppeteer/node_modules/proxy-from-env": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
|
||||
"integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
|
||||
"license": "MIT",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/qs": {
|
||||
"version": "6.14.0",
|
||||
"resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz",
|
||||
|
|
@ -10931,23 +10714,6 @@
|
|||
"resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz",
|
||||
"integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA=="
|
||||
},
|
||||
"node_modules/rimraf": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
|
||||
"integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
|
||||
"deprecated": "Rimraf versions prior to v4 are no longer supported",
|
||||
"license": "ISC",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"glob": "^7.1.3"
|
||||
},
|
||||
"bin": {
|
||||
"rimraf": "bin.js"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/isaacs"
|
||||
}
|
||||
},
|
||||
"node_modules/rndm": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/rndm/-/rndm-1.2.0.tgz",
|
||||
|
|
@ -11974,7 +11740,7 @@
|
|||
"version": "2.3.8",
|
||||
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
|
||||
"integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==",
|
||||
"devOptional": true
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/tldts": {
|
||||
"version": "6.1.85",
|
||||
|
|
@ -12061,13 +11827,6 @@
|
|||
"node": ">=16"
|
||||
}
|
||||
},
|
||||
"node_modules/tr46": {
|
||||
"version": "0.0.3",
|
||||
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
|
||||
"integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
|
||||
"license": "MIT",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/tree-kill": {
|
||||
"version": "1.2.2",
|
||||
"resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz",
|
||||
|
|
@ -12354,17 +12113,6 @@
|
|||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/unbzip2-stream": {
|
||||
"version": "1.4.3",
|
||||
"resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz",
|
||||
"integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==",
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"buffer": "^5.2.1",
|
||||
"through": "^2.3.8"
|
||||
}
|
||||
},
|
||||
"node_modules/undefsafe": {
|
||||
"version": "2.0.5",
|
||||
"resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz",
|
||||
|
|
@ -12581,24 +12329,6 @@
|
|||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/webidl-conversions": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
|
||||
"integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
|
||||
"license": "BSD-2-Clause",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/whatwg-url": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
|
||||
"integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"tr46": "~0.0.3",
|
||||
"webidl-conversions": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/which": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
|
||||
|
|
@ -12835,17 +12565,16 @@
|
|||
"license": "MIT"
|
||||
},
|
||||
"node_modules/ws": {
|
||||
"version": "8.11.0",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz",
|
||||
"integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==",
|
||||
"version": "8.18.1",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-8.18.1.tgz",
|
||||
"integrity": "sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w==",
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"bufferutil": "^4.0.1",
|
||||
"utf-8-validate": "^5.0.2"
|
||||
"utf-8-validate": ">=5.0.2"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"bufferutil": {
|
||||
|
|
@ -12953,9 +12682,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/zod": {
|
||||
"version": "3.24.2",
|
||||
"resolved": "https://registry.npmjs.org/zod/-/zod-3.24.2.tgz",
|
||||
"integrity": "sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ==",
|
||||
"version": "3.24.3",
|
||||
"resolved": "https://registry.npmjs.org/zod/-/zod-3.24.3.tgz",
|
||||
"integrity": "sha512-HhY1oqzWCQWuUqvBFnsyrtZRhyPeR7SUGv+C4+MsisMuVfSPx8HpwWqH8tRahSlt6M3PiFAcoeFhZAqIXTxoSg==",
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/colinhacks"
|
||||
|
|
|
|||
|
|
@ -100,6 +100,6 @@
|
|||
},
|
||||
"optionalDependencies": {
|
||||
"node-windows": "^1.0.0-beta.8",
|
||||
"puppeteer": "19.4.1"
|
||||
"puppeteer": "24.7.2"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,7 +34,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
const birthDate = new Date(birthDateStringElement.value);
|
||||
const deathDate = new Date(deathDateStringElement.value);
|
||||
const ageInDays = Math.floor((deathDate.getTime() - birthDate.getTime()) / (1000 * 60 * 60 * 24));
|
||||
// eslint-disable-next-line @typescript-eslint/no-magic-numbers
|
||||
const ageInYears = Math.floor(ageInDays / 365.25);
|
||||
if (ageInYears > 0) {
|
||||
deathAgeElement.value = ageInYears.toString();
|
||||
|
|
@ -190,9 +189,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
});
|
||||
}
|
||||
bulmaJS.confirm({
|
||||
contextualColorName: 'warning',
|
||||
title: 'Delete Interment?',
|
||||
message: 'Are you sure you want to remove this interment from the contract?',
|
||||
contextualColorName: 'warning',
|
||||
okButton: {
|
||||
text: 'Yes, Remove Interment',
|
||||
callbackFunction: doDelete
|
||||
|
|
|
|||
|
|
@ -84,7 +84,6 @@ declare const exports: Record<string, unknown>
|
|||
(deathDate.getTime() - birthDate.getTime()) / (1000 * 60 * 60 * 24)
|
||||
)
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-magic-numbers
|
||||
const ageInYears = Math.floor(ageInDays / 365.25)
|
||||
|
||||
if (ageInYears > 0) {
|
||||
|
|
@ -315,15 +314,12 @@ declare const exports: Record<string, unknown>
|
|||
}
|
||||
|
||||
bulmaJS.confirm({
|
||||
contextualColorName: 'warning',
|
||||
title: 'Delete Interment?',
|
||||
|
||||
message:
|
||||
'Are you sure you want to remove this interment from the contract?',
|
||||
|
||||
contextualColorName: 'warning',
|
||||
okButton: {
|
||||
text: 'Yes, Remove Interment',
|
||||
|
||||
callbackFunction: doDelete
|
||||
}
|
||||
})
|
||||
|
|
|
|||
|
|
@ -28,9 +28,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
}
|
||||
else {
|
||||
bulmaJS.alert({
|
||||
contextualColorName: 'danger',
|
||||
title: 'Error Creating Work Order',
|
||||
message: responseJSON.errorMessage,
|
||||
contextualColorName: 'danger'
|
||||
});
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -54,10 +54,9 @@ declare const exports: Record<string, unknown>
|
|||
})
|
||||
} else {
|
||||
bulmaJS.alert({
|
||||
contextualColorName: 'danger',
|
||||
title: 'Error Creating Work Order',
|
||||
|
||||
message: responseJSON.errorMessage as string,
|
||||
contextualColorName: 'danger'
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -39,9 +39,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
}
|
||||
else {
|
||||
bulmaJS.alert({
|
||||
contextualColorName: 'danger',
|
||||
title: 'Error Updating Contract Type',
|
||||
message: responseJSON.errorMessage ?? ''
|
||||
title: "Error Updating Contract Type",
|
||||
message: responseJSON.errorMessage ?? '',
|
||||
contextualColorName: 'danger'
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
@ -53,12 +53,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
}, contractTypeResponseHandler);
|
||||
}
|
||||
bulmaJS.confirm({
|
||||
title: "Delete Contract Type",
|
||||
message: "Are you sure you want to delete this contract type?",
|
||||
contextualColorName: 'warning',
|
||||
title: 'Delete Contract Type',
|
||||
message: 'Are you sure you want to delete this contract type?',
|
||||
okButton: {
|
||||
callbackFunction: doDelete,
|
||||
text: 'Yes, Delete Contract Type'
|
||||
text: "Yes, Delete Contract Type",
|
||||
callbackFunction: doDelete
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -206,13 +206,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
}
|
||||
function confirmDoDelete() {
|
||||
bulmaJS.confirm({
|
||||
contextualColorName: 'warning',
|
||||
title: 'Delete Field',
|
||||
message: `Are you sure you want to delete this field?
|
||||
Note that historical records that make use of this field will not be affected.`,
|
||||
message: 'Are you sure you want to delete this field? Note that historical records that make use of this field will not be affected.',
|
||||
contextualColorName: 'warning',
|
||||
okButton: {
|
||||
callbackFunction: doDelete,
|
||||
text: 'Yes, Delete Field'
|
||||
text: 'Yes, Delete Field',
|
||||
callbackFunction: doDelete
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -373,12 +372,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
}, contractTypeResponseHandler);
|
||||
}
|
||||
bulmaJS.confirm({
|
||||
contextualColorName: 'warning',
|
||||
title: 'Delete Print',
|
||||
message: 'Are you sure you want to remove this print option?',
|
||||
contextualColorName: 'warning',
|
||||
okButton: {
|
||||
callbackFunction: doDelete,
|
||||
text: 'Yes, Remove Print'
|
||||
text: 'Yes, Remove Print',
|
||||
callbackFunction: doDelete
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -589,7 +588,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
}
|
||||
else {
|
||||
bulmaJS.alert({
|
||||
title: 'Error Adding Contract Type',
|
||||
title: "Error Adding Contract Type",
|
||||
message: responseJSON.errorMessage ?? '',
|
||||
contextualColorName: 'danger'
|
||||
});
|
||||
|
|
|
|||
|
|
@ -89,10 +89,9 @@ type ResponseJSON =
|
|||
renderContractTypes()
|
||||
} else {
|
||||
bulmaJS.alert({
|
||||
contextualColorName: 'danger',
|
||||
title: 'Error Updating Contract Type',
|
||||
|
||||
message: responseJSON.errorMessage ?? ''
|
||||
title: "Error Updating Contract Type",
|
||||
message: responseJSON.errorMessage ?? '',
|
||||
contextualColorName: 'danger'
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
@ -118,13 +117,12 @@ type ResponseJSON =
|
|||
}
|
||||
|
||||
bulmaJS.confirm({
|
||||
title: "Delete Contract Type",
|
||||
message: "Are you sure you want to delete this contract type?",
|
||||
contextualColorName: 'warning',
|
||||
title: 'Delete Contract Type',
|
||||
|
||||
message: 'Are you sure you want to delete this contract type?',
|
||||
okButton: {
|
||||
callbackFunction: doDelete,
|
||||
text: 'Yes, Delete Contract Type'
|
||||
text: "Yes, Delete Contract Type",
|
||||
callbackFunction: doDelete
|
||||
}
|
||||
})
|
||||
}
|
||||
|
|
@ -197,7 +195,6 @@ type ResponseJSON =
|
|||
|
||||
bulmaJS.toggleHtmlClipped()
|
||||
},
|
||||
|
||||
onremoved() {
|
||||
bulmaJS.toggleHtmlClipped()
|
||||
}
|
||||
|
|
@ -263,7 +260,6 @@ type ResponseJSON =
|
|||
|
||||
bulmaJS.toggleHtmlClipped()
|
||||
},
|
||||
|
||||
onremoved() {
|
||||
bulmaJS.toggleHtmlClipped()
|
||||
}
|
||||
|
|
@ -389,14 +385,13 @@ type ResponseJSON =
|
|||
|
||||
function confirmDoDelete(): void {
|
||||
bulmaJS.confirm({
|
||||
contextualColorName: 'warning',
|
||||
title: 'Delete Field',
|
||||
|
||||
message: `Are you sure you want to delete this field?
|
||||
Note that historical records that make use of this field will not be affected.`,
|
||||
message:
|
||||
'Are you sure you want to delete this field? Note that historical records that make use of this field will not be affected.',
|
||||
contextualColorName: 'warning',
|
||||
okButton: {
|
||||
callbackFunction: doDelete,
|
||||
text: 'Yes, Delete Field'
|
||||
text: 'Yes, Delete Field',
|
||||
callbackFunction: doDelete
|
||||
}
|
||||
})
|
||||
}
|
||||
|
|
@ -472,7 +467,6 @@ type ResponseJSON =
|
|||
.querySelector('#button--deleteContractTypeField')
|
||||
?.addEventListener('click', confirmDoDelete)
|
||||
},
|
||||
|
||||
onremoved() {
|
||||
bulmaJS.toggleHtmlClipped()
|
||||
cityssm.disableNavBlocker()
|
||||
|
|
@ -712,13 +706,12 @@ type ResponseJSON =
|
|||
}
|
||||
|
||||
bulmaJS.confirm({
|
||||
contextualColorName: 'warning',
|
||||
title: 'Delete Print',
|
||||
|
||||
message: 'Are you sure you want to remove this print option?',
|
||||
contextualColorName: 'warning',
|
||||
okButton: {
|
||||
callbackFunction: doDelete,
|
||||
text: 'Yes, Remove Print'
|
||||
text: 'Yes, Remove Print',
|
||||
callbackFunction: doDelete
|
||||
}
|
||||
})
|
||||
}
|
||||
|
|
@ -1024,7 +1017,7 @@ type ResponseJSON =
|
|||
renderContractTypes()
|
||||
} else {
|
||||
bulmaJS.alert({
|
||||
title: 'Error Adding Contract Type',
|
||||
title: "Error Adding Contract Type",
|
||||
message: responseJSON.errorMessage ?? '',
|
||||
contextualColorName: 'danger'
|
||||
})
|
||||
|
|
|
|||
|
|
@ -31,16 +31,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
}
|
||||
else {
|
||||
bulmaJS.alert({
|
||||
contextualColorName: 'success',
|
||||
message: 'Work Order Updated Successfully'
|
||||
message: 'Work Order Updated Successfully',
|
||||
contextualColorName: 'success'
|
||||
});
|
||||
}
|
||||
}
|
||||
else {
|
||||
bulmaJS.alert({
|
||||
contextualColorName: 'danger',
|
||||
title: 'Error Updating Work Order',
|
||||
message: responseJSON.errorMessage ?? ''
|
||||
message: responseJSON.errorMessage ?? '',
|
||||
contextualColorName: 'danger'
|
||||
});
|
||||
}
|
||||
});
|
||||
|
|
@ -81,9 +81,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
}
|
||||
else {
|
||||
bulmaJS.alert({
|
||||
contextualColorName: 'danger',
|
||||
title: 'Error Deleting Work Order',
|
||||
message: responseJSON.errorMessage ?? ''
|
||||
message: responseJSON.errorMessage ?? '',
|
||||
contextualColorName: 'danger'
|
||||
});
|
||||
}
|
||||
});
|
||||
|
|
@ -95,10 +95,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
const hasOpenMilestones = workOrderMilestones.some((milestone) => !milestone.workOrderMilestoneCompletionDate);
|
||||
if (hasOpenMilestones) {
|
||||
bulmaJS.alert({
|
||||
contextualColorName: 'warning',
|
||||
title: 'Outstanding Milestones',
|
||||
message: `You cannot close a work order with outstanding milestones.
|
||||
Either complete the outstanding milestones, or remove them from the work order.`
|
||||
Either complete the outstanding milestones, or remove them from the work order.`,
|
||||
contextualColorName: 'warning'
|
||||
});
|
||||
/*
|
||||
// Disable closing work orders with open milestones
|
||||
|
|
@ -116,14 +116,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
}
|
||||
else {
|
||||
bulmaJS.confirm({
|
||||
contextualColorName: sunrise.hasUnsavedChanges() ? 'warning' : 'info',
|
||||
title: 'Close Work Order',
|
||||
message: sunrise.hasUnsavedChanges()
|
||||
? 'Are you sure you want to close this work order with unsaved changes?'
|
||||
: 'Are you sure you want to close this work order?',
|
||||
contextualColorName: sunrise.hasUnsavedChanges() ? 'warning' : 'info',
|
||||
okButton: {
|
||||
callbackFunction: doClose,
|
||||
text: 'Yes, Close Work Order'
|
||||
text: 'Yes, Close Work Order',
|
||||
callbackFunction: doClose
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -133,9 +133,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
?.addEventListener('click', (clickEvent) => {
|
||||
clickEvent.preventDefault();
|
||||
bulmaJS.confirm({
|
||||
contextualColorName: 'warning',
|
||||
title: 'Delete Work Order',
|
||||
message: 'Are you sure you want to delete this work order?',
|
||||
contextualColorName: 'warning',
|
||||
okButton: {
|
||||
text: 'Yes, Delete Work Order',
|
||||
callbackFunction: doDelete
|
||||
|
|
@ -243,12 +243,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
}, processMilestoneResponse);
|
||||
}
|
||||
bulmaJS.confirm({
|
||||
contextualColorName: 'warning',
|
||||
title: 'Reopen Milestone',
|
||||
message: 'Are you sure you want to remove the completion status from this milestone, and reopen it?',
|
||||
contextualColorName: 'warning',
|
||||
okButton: {
|
||||
callbackFunction: doReopen,
|
||||
text: 'Yes, Reopen Milestone',
|
||||
callbackFunction: doReopen
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -262,9 +262,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
}, processMilestoneResponse);
|
||||
}
|
||||
bulmaJS.confirm({
|
||||
contextualColorName: 'warning',
|
||||
title: 'Delete Milestone',
|
||||
message: 'Are you sure you want to delete this milestone?',
|
||||
contextualColorName: 'warning',
|
||||
okButton: {
|
||||
text: 'Yes, Delete Milestone',
|
||||
callbackFunction: doDeleteMilestone
|
||||
|
|
@ -442,6 +442,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
let addFormElement;
|
||||
let workOrderMilestoneDateStringElement;
|
||||
let addCloseModalFunction;
|
||||
function doAdd(submitEvent) {
|
||||
if (submitEvent) {
|
||||
submitEvent.preventDefault();
|
||||
}
|
||||
const currentDateString = cityssm.dateToString(new Date());
|
||||
function _doAdd() {
|
||||
cityssm.postJSON(`${sunrise.urlPrefix}/workOrders/doAddWorkOrderMilestone`, addFormElement, (rawResponseJSON) => {
|
||||
const responseJSON = rawResponseJSON;
|
||||
|
|
@ -451,18 +456,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
}
|
||||
});
|
||||
}
|
||||
function doAddFormSubmit(submitEvent) {
|
||||
if (submitEvent) {
|
||||
submitEvent.preventDefault();
|
||||
}
|
||||
const currentDateString = cityssm.dateToString(new Date());
|
||||
const milestoneDateString = workOrderMilestoneDateStringElement.value;
|
||||
if (milestoneDateString !== '' &&
|
||||
milestoneDateString < currentDateString) {
|
||||
bulmaJS.confirm({
|
||||
contextualColorName: 'warning',
|
||||
title: 'Milestone Date in the Past',
|
||||
message: 'Are you sure you want to create a milestone with a date in the past?',
|
||||
contextualColorName: 'warning',
|
||||
okButton: {
|
||||
text: 'Yes, Create a Past Milestone',
|
||||
callbackFunction: _doAdd
|
||||
|
|
@ -495,7 +495,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
bulmaJS.toggleHtmlClipped();
|
||||
modalElement.querySelector('#milestoneAdd--workOrderMilestoneTypeId').focus();
|
||||
addFormElement = modalElement.querySelector('form');
|
||||
addFormElement.addEventListener('submit', doAddFormSubmit);
|
||||
addFormElement.addEventListener('submit', doAdd);
|
||||
const conflictingMilestonePanelElement = document.querySelector('#milestoneAdd--conflictingMilestonesPanel');
|
||||
workOrderMilestoneDateStringElement.addEventListener('change', () => {
|
||||
refreshConflictingMilestones(workOrderMilestoneDateStringElement.value, conflictingMilestonePanelElement);
|
||||
|
|
|
|||
|
|
@ -67,16 +67,15 @@ declare const exports: Record<string, unknown>
|
|||
)
|
||||
} else {
|
||||
bulmaJS.alert({
|
||||
contextualColorName: 'success',
|
||||
message: 'Work Order Updated Successfully'
|
||||
message: 'Work Order Updated Successfully',
|
||||
contextualColorName: 'success'
|
||||
})
|
||||
}
|
||||
} else {
|
||||
bulmaJS.alert({
|
||||
contextualColorName: 'danger',
|
||||
title: 'Error Updating Work Order',
|
||||
|
||||
message: responseJSON.errorMessage ?? ''
|
||||
message: responseJSON.errorMessage ?? '',
|
||||
contextualColorName: 'danger'
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
@ -138,10 +137,9 @@ declare const exports: Record<string, unknown>
|
|||
globalThis.location.href = `${sunrise.urlPrefix}/workOrders`
|
||||
} else {
|
||||
bulmaJS.alert({
|
||||
contextualColorName: 'danger',
|
||||
title: 'Error Deleting Work Order',
|
||||
|
||||
message: responseJSON.errorMessage ?? ''
|
||||
message: responseJSON.errorMessage ?? '',
|
||||
contextualColorName: 'danger'
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
@ -159,11 +157,10 @@ declare const exports: Record<string, unknown>
|
|||
|
||||
if (hasOpenMilestones) {
|
||||
bulmaJS.alert({
|
||||
contextualColorName: 'warning',
|
||||
title: 'Outstanding Milestones',
|
||||
|
||||
message: `You cannot close a work order with outstanding milestones.
|
||||
Either complete the outstanding milestones, or remove them from the work order.`
|
||||
Either complete the outstanding milestones, or remove them from the work order.`,
|
||||
contextualColorName: 'warning'
|
||||
})
|
||||
|
||||
/*
|
||||
|
|
@ -181,16 +178,14 @@ declare const exports: Record<string, unknown>
|
|||
*/
|
||||
} else {
|
||||
bulmaJS.confirm({
|
||||
contextualColorName: sunrise.hasUnsavedChanges() ? 'warning' : 'info',
|
||||
title: 'Close Work Order',
|
||||
|
||||
message: sunrise.hasUnsavedChanges()
|
||||
? 'Are you sure you want to close this work order with unsaved changes?'
|
||||
: 'Are you sure you want to close this work order?',
|
||||
|
||||
contextualColorName: sunrise.hasUnsavedChanges() ? 'warning' : 'info',
|
||||
okButton: {
|
||||
callbackFunction: doClose,
|
||||
text: 'Yes, Close Work Order'
|
||||
text: 'Yes, Close Work Order',
|
||||
callbackFunction: doClose
|
||||
}
|
||||
})
|
||||
}
|
||||
|
|
@ -202,9 +197,9 @@ declare const exports: Record<string, unknown>
|
|||
clickEvent.preventDefault()
|
||||
|
||||
bulmaJS.confirm({
|
||||
contextualColorName: 'warning',
|
||||
title: 'Delete Work Order',
|
||||
message: 'Are you sure you want to delete this work order?',
|
||||
contextualColorName: 'warning',
|
||||
okButton: {
|
||||
text: 'Yes, Delete Work Order',
|
||||
callbackFunction: doDelete
|
||||
|
|
@ -383,15 +378,13 @@ declare const exports: Record<string, unknown>
|
|||
}
|
||||
|
||||
bulmaJS.confirm({
|
||||
contextualColorName: 'warning',
|
||||
title: 'Reopen Milestone',
|
||||
|
||||
message:
|
||||
'Are you sure you want to remove the completion status from this milestone, and reopen it?',
|
||||
|
||||
contextualColorName: 'warning',
|
||||
okButton: {
|
||||
callbackFunction: doReopen,
|
||||
text: 'Yes, Reopen Milestone',
|
||||
callbackFunction: doReopen
|
||||
}
|
||||
})
|
||||
}
|
||||
|
|
@ -417,9 +410,9 @@ declare const exports: Record<string, unknown>
|
|||
}
|
||||
|
||||
bulmaJS.confirm({
|
||||
contextualColorName: 'warning',
|
||||
title: 'Delete Milestone',
|
||||
message: 'Are you sure you want to delete this milestone?',
|
||||
contextualColorName: 'warning',
|
||||
okButton: {
|
||||
text: 'Yes, Delete Milestone',
|
||||
callbackFunction: doDeleteMilestone
|
||||
|
|
@ -666,7 +659,6 @@ declare const exports: Record<string, unknown>
|
|||
panelBlockElement
|
||||
.querySelector('.button--reopenMilestone')
|
||||
?.addEventListener('click', reopenMilestone)
|
||||
|
||||
panelBlockElement
|
||||
.querySelector('.button--editMilestone')
|
||||
?.addEventListener('click', editMilestone)
|
||||
|
|
@ -710,6 +702,13 @@ declare const exports: Record<string, unknown>
|
|||
let workOrderMilestoneDateStringElement: HTMLInputElement
|
||||
let addCloseModalFunction: () => void
|
||||
|
||||
function doAdd(submitEvent?: SubmitEvent): void {
|
||||
if (submitEvent) {
|
||||
submitEvent.preventDefault()
|
||||
}
|
||||
|
||||
const currentDateString = cityssm.dateToString(new Date())
|
||||
|
||||
function _doAdd(): void {
|
||||
cityssm.postJSON(
|
||||
`${sunrise.urlPrefix}/workOrders/doAddWorkOrderMilestone`,
|
||||
|
|
@ -730,13 +729,6 @@ declare const exports: Record<string, unknown>
|
|||
)
|
||||
}
|
||||
|
||||
function doAddFormSubmit(submitEvent?: SubmitEvent): void {
|
||||
if (submitEvent) {
|
||||
submitEvent.preventDefault()
|
||||
}
|
||||
|
||||
const currentDateString = cityssm.dateToString(new Date())
|
||||
|
||||
const milestoneDateString = workOrderMilestoneDateStringElement.value
|
||||
|
||||
if (
|
||||
|
|
@ -744,12 +736,10 @@ declare const exports: Record<string, unknown>
|
|||
milestoneDateString < currentDateString
|
||||
) {
|
||||
bulmaJS.confirm({
|
||||
contextualColorName: 'warning',
|
||||
title: 'Milestone Date in the Past',
|
||||
|
||||
message:
|
||||
'Are you sure you want to create a milestone with a date in the past?',
|
||||
|
||||
contextualColorName: 'warning',
|
||||
okButton: {
|
||||
text: 'Yes, Create a Past Milestone',
|
||||
callbackFunction: _doAdd
|
||||
|
|
@ -802,7 +792,7 @@ declare const exports: Record<string, unknown>
|
|||
).focus()
|
||||
|
||||
addFormElement = modalElement.querySelector('form') as HTMLFormElement
|
||||
addFormElement.addEventListener('submit', doAddFormSubmit)
|
||||
addFormElement.addEventListener('submit', doAdd)
|
||||
|
||||
const conflictingMilestonePanelElement = document.querySelector(
|
||||
'#milestoneAdd--conflictingMilestonesPanel'
|
||||
|
|
|
|||
|
|
@ -495,7 +495,6 @@ async function importFromPrepaidCSV() {
|
|||
externalReceiptNumber: '',
|
||||
transactionAmount,
|
||||
transactionDateString: contractStartDateString,
|
||||
transactionTimeString: '00:00',
|
||||
transactionNote: `Order Number: ${prepaidRow.CMPP_ORDER_NO}`
|
||||
}, user);
|
||||
if (prepaidRow.CMPP_REMARK1 !== '') {
|
||||
|
|
|
|||
|
|
@ -794,8 +794,6 @@ async function importFromPrepaidCSV(): Promise<void> {
|
|||
externalReceiptNumber: '',
|
||||
transactionAmount,
|
||||
transactionDateString: contractStartDateString,
|
||||
transactionTimeString: '00:00',
|
||||
|
||||
transactionNote: `Order Number: ${prepaidRow.CMPP_ORDER_NO}`
|
||||
},
|
||||
user
|
||||
|
|
|
|||
|
|
@ -26,14 +26,11 @@
|
|||
Database Maintenance
|
||||
</h1>
|
||||
|
||||
<div class="columns">
|
||||
<div class="column">
|
||||
<div class="panel is-primary">
|
||||
<h2 class="panel-heading">
|
||||
<h2 class="title is-3">
|
||||
Database Backup
|
||||
</h2>
|
||||
<div class="panel-block is-block">
|
||||
<div class="message is-primary">
|
||||
|
||||
<div class="message is-info">
|
||||
<div class="message-body">
|
||||
<p>
|
||||
Before making significant changes to the records in the database,
|
||||
|
|
@ -41,22 +38,22 @@
|
|||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel-block is-block has-text-right">
|
||||
<button class="button is-primary" id="button--backupDatabase" data-cy="backup" type="button">
|
||||
|
||||
<p class="has-text-right">
|
||||
<button class="button is-success" id="button--backupDatabase" data-cy="backup" type="button">
|
||||
<span class="icon"><i class="fas fa-save" aria-hidden="true"></i></span>
|
||||
<span>Backup Database</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column">
|
||||
<div class="panel is-warning">
|
||||
<h2 class="panel-heading">
|
||||
</p>
|
||||
|
||||
<h2 class="title is-3">
|
||||
Database Cleanup
|
||||
</h2>
|
||||
<div class="panel-block is-block">
|
||||
|
||||
<div class="message is-warning">
|
||||
<div class="message-header">
|
||||
Important Note about Cleanup
|
||||
</div>
|
||||
<div class="message-body">
|
||||
<p>
|
||||
When records are deleted in this application, they are not removed entirely.
|
||||
|
|
@ -70,16 +67,13 @@
|
|||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel-block is-block has-text-right">
|
||||
<button class="button is-warning" id="button--cleanupDatabase" data-cy="cleanup" type="button">
|
||||
|
||||
<p class="has-text-right">
|
||||
<button class="button is-success" id="button--cleanupDatabase" data-cy="cleanup" type="button">
|
||||
<span class="icon"><i class="fas fa-broom" aria-hidden="true"></i></span>
|
||||
<span>Cleanup Database</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue