deepsource-autofix-76c6eb20
Dan Gowans 2023-01-24 14:45:58 -05:00
parent 6a6081635d
commit c88e4912f8
36 changed files with 259 additions and 259 deletions

View File

@ -8,12 +8,12 @@ export async function getLotStatusSummary(filters) {
sqlParameters.push(filters.mapId); sqlParameters.push(filters.mapId);
} }
const lotStatuses = database const lotStatuses = database
.prepare('select s.lotStatusId, s.lotStatus, count(l.lotId) as lotCount' + .prepare(`select s.lotStatusId, s.lotStatus, count(l.lotId) as lotCount
' from Lots l' + from Lots l
' left join LotStatuses s on l.lotStatusId = s.lotStatusId' + left join LotStatuses s on l.lotStatusId = s.lotStatusId
sqlWhereClause + ${sqlWhereClause}
' group by s.lotStatusId, s.lotStatus, s.orderNumber' + group by s.lotStatusId, s.lotStatus, s.orderNumber
' order by s.orderNumber') order by s.orderNumber`)
.all(sqlParameters); .all(sqlParameters);
database.release(); database.release();
return lotStatuses; return lotStatuses;

View File

@ -25,12 +25,12 @@ export async function getLotStatusSummary(
const lotStatuses: LotStatusSummary[] = database const lotStatuses: LotStatusSummary[] = database
.prepare( .prepare(
'select s.lotStatusId, s.lotStatus, count(l.lotId) as lotCount' + `select s.lotStatusId, s.lotStatus, count(l.lotId) as lotCount
' from Lots l' + from Lots l
' left join LotStatuses s on l.lotStatusId = s.lotStatusId' + left join LotStatuses s on l.lotStatusId = s.lotStatusId
sqlWhereClause + ${sqlWhereClause}
' group by s.lotStatusId, s.lotStatus, s.orderNumber' + group by s.lotStatusId, s.lotStatus, s.orderNumber
' order by s.orderNumber' order by s.orderNumber`
) )
.all(sqlParameters) .all(sqlParameters)

View File

@ -8,12 +8,12 @@ export async function getLotTypeSummary(filters) {
sqlParameters.push(filters.mapId); sqlParameters.push(filters.mapId);
} }
const lotTypes = database const lotTypes = database
.prepare('select t.lotTypeId, t.lotType, count(l.lotId) as lotCount' + .prepare(`select t.lotTypeId, t.lotType, count(l.lotId) as lotCount
' from Lots l' + from Lots l
' left join LotTypes t on l.lotTypeId = t.lotTypeId' + left join LotTypes t on l.lotTypeId = t.lotTypeId
sqlWhereClause + ${sqlWhereClause}
' group by t.lotTypeId, t.lotType, t.orderNumber' + group by t.lotTypeId, t.lotType, t.orderNumber
' order by t.orderNumber') order by t.orderNumber`)
.all(sqlParameters); .all(sqlParameters);
database.release(); database.release();
return lotTypes; return lotTypes;

View File

@ -25,12 +25,12 @@ export async function getLotTypeSummary(
const lotTypes: LotTypeSummary[] = database const lotTypes: LotTypeSummary[] = database
.prepare( .prepare(
'select t.lotTypeId, t.lotType, count(l.lotId) as lotCount' + `select t.lotTypeId, t.lotType, count(l.lotId) as lotCount
' from Lots l' + from Lots l
' left join LotTypes t on l.lotTypeId = t.lotTypeId' + left join LotTypes t on l.lotTypeId = t.lotTypeId
sqlWhereClause + ${sqlWhereClause}
' group by t.lotTypeId, t.lotType, t.orderNumber' + group by t.lotTypeId, t.lotType, t.orderNumber
' order by t.orderNumber' order by t.orderNumber`
) )
.all(sqlParameters) .all(sqlParameters)

View File

@ -51,8 +51,8 @@ export async function getLots(filters, options, connectedDatabase) {
left join ( left join (
select lotId, count(lotOccupancyId) as lotOccupancyCount from LotOccupancies select lotId, count(lotOccupancyId) as lotOccupancyCount from LotOccupancies
where recordDelete_timeMillis is null where recordDelete_timeMillis is null
and occupancyStartDate <= ${currentDate} and occupancyStartDate <= ${currentDate.toString()}
and (occupancyEndDate is null or occupancyEndDate >= ${currentDate}) and (occupancyEndDate is null or occupancyEndDate >= ${currentDate.toString()})
group by lotId group by lotId
) o on l.lotId = o.lotId ) o on l.lotId = o.lotId
${sqlWhereClause}`) ${sqlWhereClause}`)
@ -82,7 +82,9 @@ export async function getLots(filters, options, connectedDatabase) {
') o on l.lotId = o.lotId') + ') o on l.lotId = o.lotId') +
sqlWhereClause + sqlWhereClause +
' order by userFn_lotNameSortName(l.lotName), l.lotId' + ' order by userFn_lotNameSortName(l.lotName), l.lotId' +
(options.limit === -1 ? '' : ` limit ${options.limit} offset ${options.offset}`)) (options.limit === -1
? ''
: ` limit ${options.limit.toString()} offset ${options.offset.toString()}`))
.all(sqlParameters); .all(sqlParameters);
if (options.limit === -1) { if (options.limit === -1) {
count = lots.length; count = lots.length;

View File

@ -97,8 +97,8 @@ export async function getLots(
left join ( left join (
select lotId, count(lotOccupancyId) as lotOccupancyCount from LotOccupancies select lotId, count(lotOccupancyId) as lotOccupancyCount from LotOccupancies
where recordDelete_timeMillis is null where recordDelete_timeMillis is null
and occupancyStartDate <= ${currentDate} and occupancyStartDate <= ${currentDate.toString()}
and (occupancyEndDate is null or occupancyEndDate >= ${currentDate}) and (occupancyEndDate is null or occupancyEndDate >= ${currentDate.toString()})
group by lotId group by lotId
) o on l.lotId = o.lotId ) o on l.lotId = o.lotId
${sqlWhereClause}` ${sqlWhereClause}`
@ -137,7 +137,9 @@ export async function getLots(
') o on l.lotId = o.lotId') + ') o on l.lotId = o.lotId') +
sqlWhereClause + sqlWhereClause +
' order by userFn_lotNameSortName(l.lotName), l.lotId' + ' order by userFn_lotNameSortName(l.lotName), l.lotId' +
(options.limit === -1 ? '' : ` limit ${options.limit} offset ${options.offset}`) (options.limit === -1
? ''
: ` limit ${options.limit.toString()} offset ${options.offset.toString()}`)
) )
.all(sqlParameters) .all(sqlParameters)

View File

@ -9,9 +9,9 @@ export async function getNextWorkOrderNumber(connectedDatabase) {
return regex.test(workOrderNumber) ? 1 : 0; return regex.test(workOrderNumber) ? 1 : 0;
}); });
const workOrderNumberRecord = database const workOrderNumberRecord = database
.prepare('select workOrderNumber from WorkOrders' + .prepare(`select workOrderNumber from WorkOrders
' where userFn_matchesWorkOrderNumberSyntax(workOrderNumber) = 1' + where userFn_matchesWorkOrderNumberSyntax(workOrderNumber) = 1
" order by cast(substr(workOrderNumber, instr(workOrderNumber, '-') + 1) as integer) desc") order by cast(substr(workOrderNumber, instr(workOrderNumber, '-') + 1) as integer) desc`)
.get(); .get();
if (connectedDatabase === undefined) { if (connectedDatabase === undefined) {
database.release(); database.release();

View File

@ -24,9 +24,9 @@ export async function getNextWorkOrderNumber(
const workOrderNumberRecord = database const workOrderNumberRecord = database
.prepare( .prepare(
'select workOrderNumber from WorkOrders' + `select workOrderNumber from WorkOrders
' where userFn_matchesWorkOrderNumberSyntax(workOrderNumber) = 1' + where userFn_matchesWorkOrderNumberSyntax(workOrderNumber) = 1
" order by cast(substr(workOrderNumber, instr(workOrderNumber, '-') + 1) as integer) desc" order by cast(substr(workOrderNumber, instr(workOrderNumber, '-') + 1) as integer) desc`
) )
.get() .get()

View File

@ -3,7 +3,7 @@ import { updateRecordOrderNumber } from './updateRecordOrderNumber.js';
export async function getOccupancyTypeFields(occupancyTypeId, connectedDatabase) { export async function getOccupancyTypeFields(occupancyTypeId, connectedDatabase) {
const database = connectedDatabase ?? (await acquireConnection()); const database = connectedDatabase ?? (await acquireConnection());
const sqlParameters = []; const sqlParameters = [];
if (occupancyTypeId) { if ((occupancyTypeId ?? -1) !== -1) {
sqlParameters.push(occupancyTypeId); sqlParameters.push(occupancyTypeId);
} }
const occupancyTypeFields = database const occupancyTypeFields = database
@ -13,9 +13,9 @@ export async function getOccupancyTypeFields(occupancyTypeId, connectedDatabase)
' orderNumber' + ' orderNumber' +
' from OccupancyTypeFields' + ' from OccupancyTypeFields' +
' where recordDelete_timeMillis is null' + ' where recordDelete_timeMillis is null' +
(occupancyTypeId ((occupancyTypeId ?? -1) === -1
? ' and occupancyTypeId = ?' ? ' and occupancyTypeId is null'
: ' and occupancyTypeId is null') + : ' and occupancyTypeId = ?') +
' order by orderNumber, occupancyTypeField') ' order by orderNumber, occupancyTypeField')
.all(sqlParameters); .all(sqlParameters);
let expectedOrderNumber = 0; let expectedOrderNumber = 0;

View File

@ -12,7 +12,7 @@ export async function getOccupancyTypeFields(
const sqlParameters: unknown[] = [] const sqlParameters: unknown[] = []
if (occupancyTypeId) { if ((occupancyTypeId ?? -1) !== -1) {
sqlParameters.push(occupancyTypeId) sqlParameters.push(occupancyTypeId)
} }
@ -24,9 +24,9 @@ export async function getOccupancyTypeFields(
' orderNumber' + ' orderNumber' +
' from OccupancyTypeFields' + ' from OccupancyTypeFields' +
' where recordDelete_timeMillis is null' + ' where recordDelete_timeMillis is null' +
(occupancyTypeId ((occupancyTypeId ?? -1) === -1
? ' and occupancyTypeId = ?' ? ' and occupancyTypeId is null'
: ' and occupancyTypeId is null') + : ' and occupancyTypeId = ?') +
' order by orderNumber, occupancyTypeField' ' order by orderNumber, occupancyTypeField'
) )
.all(sqlParameters) .all(sqlParameters)

View File

@ -1,4 +1,4 @@
import sqlite from 'better-sqlite3' import type sqlite from 'better-sqlite3'
import { acquireConnection } from './pool.js' import { acquireConnection } from './pool.js'
import { clearCacheByTableName } from '../functions.cache.js' import { clearCacheByTableName } from '../functions.cache.js'

View File

@ -1,2 +1,2 @@
import { PoolConnection } from 'better-sqlite-pool'; import { type PoolConnection } from 'better-sqlite-pool';
export declare function acquireConnection(): Promise<PoolConnection>; export declare function acquireConnection(): Promise<PoolConnection>;

View File

@ -1,4 +1,4 @@
import { Pool, PoolConnection } from 'better-sqlite-pool' import { Pool, type PoolConnection } from 'better-sqlite-pool'
import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js'

View File

@ -132,7 +132,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
'</div>') + '</div>') +
('<div class="column has-text-centered">' + ('<div class="column has-text-centered">' +
(fee.taxPercentage (fee.taxPercentage
? fee.taxPercentage + '%' ? fee.taxPercentage.toString() + '%'
: '$' + fee.taxAmount.toFixed(2)) + : '$' + fee.taxAmount.toFixed(2)) +
'<br /><small>Tax</small>' + '<br /><small>Tax</small>' +
'</div>') + '</div>') +

View File

@ -163,7 +163,7 @@ declare const bulmaJS: BulmaJS
'</div>') + '</div>') +
('<div class="column has-text-centered">' + ('<div class="column has-text-centered">' +
(fee.taxPercentage (fee.taxPercentage
? fee.taxPercentage + '%' ? fee.taxPercentage.toString() + '%'
: '$' + fee.taxAmount!.toFixed(2)) + : '$' + fee.taxAmount!.toFixed(2)) +
'<br /><small>Tax</small>' + '<br /><small>Tax</small>' +
'</div>') + '</div>') +

View File

@ -432,7 +432,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
('<div class="level-left">' + ('<div class="level-left">' +
'<div class="level-item">' + '<div class="level-item">' +
('<h2 class="title is-4">(All ' + ('<h2 class="title is-4">(All ' +
cityssm.escapeHTML(exports.aliases.occupancy) + los.escapedAliases.Occupancy +
' Types)</h2>') + ' Types)</h2>') +
'</div>' + '</div>' +
'</div>') + '</div>') +

View File

@ -770,7 +770,7 @@ declare const bulmaJS: BulmaJS
('<div class="level-left">' + ('<div class="level-left">' +
'<div class="level-item">' + '<div class="level-item">' +
('<h2 class="title is-4">(All ' + ('<h2 class="title is-4">(All ' +
cityssm.escapeHTML(exports.aliases.occupancy) + los.escapedAliases.Occupancy +
' Types)</h2>') + ' Types)</h2>') +
'</div>' + '</div>' +
'</div>') + '</div>') +

View File

@ -86,6 +86,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
cityssm.postJSON(los.urlPrefix + '/lots/doGetLotTypeFields', { cityssm.postJSON(los.urlPrefix + '/lots/doGetLotTypeFields', {
lotTypeId: lotTypeIdElement.value lotTypeId: lotTypeIdElement.value
}, (responseJSON) => { }, (responseJSON) => {
var _a;
if (responseJSON.lotTypeFields.length === 0) { if (responseJSON.lotTypeFields.length === 0) {
lotFieldsContainerElement.innerHTML = `<div class="message is-info"> lotFieldsContainerElement.innerHTML = `<div class="message is-info">
<p class="message-body">There are no additional fields for this ${los.escapedAliases.lot} type.</p> <p class="message-body">There are no additional fields for this ${los.escapedAliases.lot} type.</p>
@ -95,8 +96,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
lotFieldsContainerElement.innerHTML = ''; lotFieldsContainerElement.innerHTML = '';
let lotTypeFieldIds = ''; let lotTypeFieldIds = '';
for (const lotTypeField of responseJSON.lotTypeFields) { for (const lotTypeField of responseJSON.lotTypeFields) {
lotTypeFieldIds += ',' + lotTypeField.lotTypeFieldId; lotTypeFieldIds += ',' + lotTypeField.lotTypeFieldId.toString();
const fieldName = 'lotFieldValue_' + lotTypeField.lotTypeFieldId; const fieldName = 'lotFieldValue_' + lotTypeField.lotTypeFieldId.toString();
const fieldId = 'lot--' + fieldName; const fieldId = 'lot--' + fieldName;
const fieldElement = document.createElement('div'); const fieldElement = document.createElement('div');
fieldElement.className = 'field'; fieldElement.className = 'field';
@ -112,7 +113,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
inputElement.required = lotTypeField.isRequired; inputElement.required = lotTypeField.isRequired;
inputElement.minLength = lotTypeField.minimumLength; inputElement.minLength = lotTypeField.minimumLength;
inputElement.maxLength = lotTypeField.maximumLength; inputElement.maxLength = lotTypeField.maximumLength;
if (lotTypeField.pattern && lotTypeField.pattern !== '') { if (((_a = lotTypeField.pattern) !== null && _a !== void 0 ? _a : '') !== '') {
inputElement.pattern = lotTypeField.pattern; inputElement.pattern = lotTypeField.pattern;
} }
fieldElement.querySelector('.control').append(inputElement); fieldElement.querySelector('.control').append(inputElement);

View File

@ -141,9 +141,10 @@ declare const bulmaJS: BulmaJS
let lotTypeFieldIds = '' let lotTypeFieldIds = ''
for (const lotTypeField of responseJSON.lotTypeFields) { for (const lotTypeField of responseJSON.lotTypeFields) {
lotTypeFieldIds += ',' + lotTypeField.lotTypeFieldId lotTypeFieldIds += ',' + lotTypeField.lotTypeFieldId.toString()
const fieldName = 'lotFieldValue_' + lotTypeField.lotTypeFieldId const fieldName =
'lotFieldValue_' + lotTypeField.lotTypeFieldId.toString()
const fieldId = 'lot--' + fieldName const fieldId = 'lot--' + fieldName
@ -170,8 +171,8 @@ declare const bulmaJS: BulmaJS
inputElement.minLength = lotTypeField.minimumLength as number inputElement.minLength = lotTypeField.minimumLength as number
inputElement.maxLength = lotTypeField.maximumLength as number inputElement.maxLength = lotTypeField.maximumLength as number
if (lotTypeField.pattern && lotTypeField.pattern !== '') { if ((lotTypeField.pattern ?? '') !== '') {
inputElement.pattern = lotTypeField.pattern inputElement.pattern = lotTypeField.pattern!
} }
fieldElement.querySelector('.control')!.append(inputElement) fieldElement.querySelector('.control')!.append(inputElement)
@ -417,10 +418,10 @@ declare const bulmaJS: BulmaJS
cityssm.escapeHTML(lotComment.recordCreate_userName ?? '') + cityssm.escapeHTML(lotComment.recordCreate_userName ?? '') +
'</td>' + '</td>' +
'<td>' + '<td>' +
lotComment.lotCommentDateString + lotComment.lotCommentDateString! +
(lotComment.lotCommentTime === 0 (lotComment.lotCommentTime === 0
? '' ? ''
: ' ' + lotComment.lotCommentTimeString) + : ' ' + lotComment.lotCommentTimeString!) +
'</td>' + '</td>' +
'<td>' + '<td>' +
cityssm.escapeHTML(lotComment.lotComment ?? '') + cityssm.escapeHTML(lotComment.lotComment ?? '') +

View File

@ -8,7 +8,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
const limit = Number.parseInt(document.querySelector('#searchFilter--limit').value, 10); const limit = Number.parseInt(document.querySelector('#searchFilter--limit').value, 10);
const offsetElement = document.querySelector('#searchFilter--offset'); const offsetElement = document.querySelector('#searchFilter--offset');
function renderLotOccupancies(responseJSON) { function renderLotOccupancies(responseJSON) {
var _a, _b, _c, _d, _e, _f, _g; var _a, _b, _c, _d, _e, _f, _g, _h;
if (responseJSON.lotOccupancies.length === 0) { if (responseJSON.lotOccupancies.length === 0) {
searchResultsContainerElement.innerHTML = `<div class="message is-info"> searchResultsContainerElement.innerHTML = `<div class="message is-info">
<p class="message-body"> <p class="message-body">
@ -62,20 +62,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
'</a>' + '</a>' +
'</td>') + '</td>') +
('<td>' + ('<td>' +
(lotOccupancy.lotName (((_d = lotOccupancy.lotId) !== null && _d !== void 0 ? _d : -1) === -1
? '<a class="has-tooltip-right" data-tooltip="' + ? '<span class="has-text-grey">(No ' +
cityssm.escapeHTML((_d = lotOccupancy.lotType) !== null && _d !== void 0 ? _d : '') + los.escapedAliases.Lot +
')</span>'
: '<a class="has-tooltip-right" data-tooltip="' +
cityssm.escapeHTML((_e = lotOccupancy.lotType) !== null && _e !== void 0 ? _e : '') +
'" href="' + '" href="' +
los.getLotURL(lotOccupancy.lotId) + los.getLotURL(lotOccupancy.lotId) +
'">' + '">' +
cityssm.escapeHTML(lotOccupancy.lotName) + cityssm.escapeHTML(lotOccupancy.lotName) +
'</a>' '</a>') +
: '<span class="has-text-grey">(No ' +
los.escapedAliases.Lot +
')</span>') +
'<br />' + '<br />' +
('<span class="is-size-7">' + ('<span class="is-size-7">' +
cityssm.escapeHTML((_e = lotOccupancy.mapName) !== null && _e !== void 0 ? _e : '') + cityssm.escapeHTML((_f = lotOccupancy.mapName) !== null && _f !== void 0 ? _f : '') +
'</span>') + '</span>') +
'</td>') + '</td>') +
('<td>' + lotOccupancy.occupancyStartDateString + '</td>') + ('<td>' + lotOccupancy.occupancyStartDateString + '</td>') +
@ -115,10 +115,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
.querySelector('table') .querySelector('table')
.append(resultsTbodyElement); .append(resultsTbodyElement);
searchResultsContainerElement.insertAdjacentHTML('beforeend', los.getSearchResultsPagerHTML(limit, responseJSON.offset, responseJSON.count)); searchResultsContainerElement.insertAdjacentHTML('beforeend', los.getSearchResultsPagerHTML(limit, responseJSON.offset, responseJSON.count));
(_f = searchResultsContainerElement
.querySelector("button[data-page='previous']")) === null || _f === void 0 ? void 0 : _f.addEventListener('click', previousAndGetLotOccupancies);
(_g = searchResultsContainerElement (_g = searchResultsContainerElement
.querySelector("button[data-page='next']")) === null || _g === void 0 ? void 0 : _g.addEventListener('click', nextAndGetLotOccupancies); .querySelector("button[data-page='previous']")) === null || _g === void 0 ? void 0 : _g.addEventListener('click', previousAndGetLotOccupancies);
(_h = searchResultsContainerElement
.querySelector("button[data-page='next']")) === null || _h === void 0 ? void 0 : _h.addEventListener('click', nextAndGetLotOccupancies);
} }
function getLotOccupancies() { function getLotOccupancies() {
searchResultsContainerElement.innerHTML = los.getLoadingParagraphHTML(`Loading ${los.escapedAliases.Occupancies}...`); searchResultsContainerElement.innerHTML = los.getLoadingParagraphHTML(`Loading ${los.escapedAliases.Occupancies}...`);
@ -142,7 +142,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
} }
searchFilterFormElement.addEventListener('submit', (formEvent) => { searchFilterFormElement.addEventListener('submit', (formEvent) => {
formEvent.preventDefault(); formEvent.preventDefault();
resetOffsetAndGetLotOccupancies();
}); });
getLotOccupancies(); getLotOccupancies();
})(); })();

View File

@ -96,17 +96,17 @@ declare const cityssm: cityssmGlobal
'</a>' + '</a>' +
'</td>') + '</td>') +
('<td>' + ('<td>' +
(lotOccupancy.lotName ((lotOccupancy.lotId ?? -1) === -1
? '<a class="has-tooltip-right" data-tooltip="' + ? '<span class="has-text-grey">(No ' +
los.escapedAliases.Lot +
')</span>'
: '<a class="has-tooltip-right" data-tooltip="' +
cityssm.escapeHTML(lotOccupancy.lotType ?? '') + cityssm.escapeHTML(lotOccupancy.lotType ?? '') +
'" href="' + '" href="' +
los.getLotURL(lotOccupancy.lotId) + los.getLotURL(lotOccupancy.lotId) +
'">' + '">' +
cityssm.escapeHTML(lotOccupancy.lotName) + cityssm.escapeHTML(lotOccupancy.lotName!) +
'</a>' '</a>') +
: '<span class="has-text-grey">(No ' +
los.escapedAliases.Lot +
')</span>') +
'<br />' + '<br />' +
('<span class="is-size-7">' + ('<span class="is-size-7">' +
cityssm.escapeHTML(lotOccupancy.mapName ?? '') + cityssm.escapeHTML(lotOccupancy.mapName ?? '') +
@ -211,7 +211,6 @@ declare const cityssm: cityssmGlobal
searchFilterFormElement.addEventListener('submit', (formEvent) => { searchFilterFormElement.addEventListener('submit', (formEvent) => {
formEvent.preventDefault() formEvent.preventDefault()
resetOffsetAndGetLotOccupancies()
}) })
getLotOccupancies() getLotOccupancies()

View File

@ -85,7 +85,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
} }
searchFilterFormElement.addEventListener('submit', (formEvent) => { searchFilterFormElement.addEventListener('submit', (formEvent) => {
formEvent.preventDefault(); formEvent.preventDefault();
resetOffsetAndGetLots();
}); });
getLots(); getLots();
})(); })();

View File

@ -146,7 +146,6 @@ declare const cityssm: cityssmGlobal
searchFilterFormElement.addEventListener('submit', (formEvent) => { searchFilterFormElement.addEventListener('submit', (formEvent) => {
formEvent.preventDefault() formEvent.preventDefault()
resetOffsetAndGetLots()
}) })
getLots() getLots()

View File

@ -7,7 +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, _j, _k, _l, _m; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
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');
@ -42,28 +42,28 @@ Object.defineProperty(exports, "__esModule", { value: true });
('<td>' + ('<td>' +
(((_f = map.mapAddress1) !== null && _f !== void 0 ? _f : '') === '' (((_f = map.mapAddress1) !== null && _f !== void 0 ? _f : '') === ''
? '' ? ''
: cityssm.escapeHTML(map.mapAddress1) + '<br />') + : cityssm.escapeHTML((_g = map.mapAddress1) !== null && _g !== void 0 ? _g : '') + '<br />') +
(((_g = map.mapAddress2) !== null && _g !== void 0 ? _g : '') === '' (((_h = map.mapAddress2) !== null && _h !== void 0 ? _h : '') === ''
? '' ? ''
: cityssm.escapeHTML(map.mapAddress2) + '<br />') + : cityssm.escapeHTML((_j = map.mapAddress2) !== null && _j !== void 0 ? _j : '') + '<br />') +
(map.mapCity || map.mapProvince (map.mapCity || map.mapProvince
? cityssm.escapeHTML((_h = map.mapCity) !== null && _h !== void 0 ? _h : '') + ? cityssm.escapeHTML((_k = map.mapCity) !== null && _k !== void 0 ? _k : '') +
', ' + ', ' +
cityssm.escapeHTML((_j = map.mapProvince) !== null && _j !== void 0 ? _j : '') + cityssm.escapeHTML((_l = map.mapProvince) !== null && _l !== void 0 ? _l : '') +
'<br />' '<br />'
: '') + : '') +
(((_k = map.mapPostalCode) !== null && _k !== void 0 ? _k : '') === '' (((_m = map.mapPostalCode) !== null && _m !== void 0 ? _m : '') === ''
? '' ? ''
: cityssm.escapeHTML(map.mapPostalCode)) + : cityssm.escapeHTML((_o = map.mapPostalCode) !== null && _o !== void 0 ? _o : '')) +
'</td>') + '</td>') +
('<td>' + cityssm.escapeHTML((_l = map.mapPhoneNumber) !== null && _l !== void 0 ? _l : '') + '</td>') + ('<td>' + cityssm.escapeHTML((_p = map.mapPhoneNumber) !== null && _p !== void 0 ? _p : '') + '</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>'
: '') + : '') +
'</td>' + '</td>' +
'<td class="has-text-centered">' + '<td class="has-text-centered">' +
(((_m = map.mapSVG) !== null && _m !== void 0 ? _m : '') === '' (((_q = map.mapSVG) !== null && _q !== void 0 ? _q : '') === ''
? '' ? ''
: '<span data-tooltip="Has Image"><i class="fas fa-image" aria-label="Has Image"></i></span>') + : '<span data-tooltip="Has Image"><i class="fas fa-image" aria-label="Has Image"></i></span>') +
'</td>' + '</td>' +

View File

@ -70,10 +70,10 @@ declare const cityssm: cityssmGlobal
('<td>' + ('<td>' +
((map.mapAddress1 ?? '') === '' ((map.mapAddress1 ?? '') === ''
? '' ? ''
: cityssm.escapeHTML(map.mapAddress1!) + '<br />') + : cityssm.escapeHTML(map.mapAddress1 ?? '') + '<br />') +
((map.mapAddress2 ?? '') === '' ((map.mapAddress2 ?? '') === ''
? '' ? ''
: 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 ?? '') +
', ' + ', ' +
@ -82,7 +82,7 @@ declare const cityssm: cityssmGlobal
: '') + : '') +
((map.mapPostalCode ?? '') === '' ((map.mapPostalCode ?? '') === ''
? '' ? ''
: cityssm.escapeHTML(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">' +

View File

@ -159,7 +159,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
} }
searchFilterFormElement.addEventListener('submit', (formEvent) => { searchFilterFormElement.addEventListener('submit', (formEvent) => {
formEvent.preventDefault(); formEvent.preventDefault();
resetOffsetAndGetWorkOrders();
}); });
/* /*
const workOrderOpenDateStringElement = document.querySelector("#searchFilter--workOrderOpenDateString") as HTMLInputElement; const workOrderOpenDateStringElement = document.querySelector("#searchFilter--workOrderOpenDateString") as HTMLInputElement;

View File

@ -231,7 +231,6 @@ declare const cityssm: cityssmGlobal
searchFilterFormElement.addEventListener('submit', (formEvent) => { searchFilterFormElement.addEventListener('submit', (formEvent) => {
formEvent.preventDefault() formEvent.preventDefault()
resetOffsetAndGetWorkOrders()
}) })
/* /*

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const t=exports.los,e=document.querySelector("#form--searchFilters"),a=document.querySelector("#container--searchResults"),s=Number.parseInt(document.querySelector("#searchFilter--limit").value,10),c=document.querySelector("#searchFilter--offset");function n(e){var c,n,i,l,p,d,u;if(0===e.lotOccupancies.length)return void(a.innerHTML=`<div class="message is-info">\n <p class="message-body">\n There are no ${t.escapedAliases.occupancy} records that meet the search criteria.\n </p>\n </div>`);const h=document.createElement("tbody"),y=cityssm.dateToString(new Date);for(const a of e.lotOccupancies){let e="";e=a.occupancyStartDateString<=y&&(""===a.occupancyEndDateString||a.occupancyEndDateString>=y)?`<span class="has-tooltip-right" data-tooltip="Current ${t.escapedAliases.Occupancy}">\n <i class="fas fa-play" aria-label="Current ${t.escapedAliases.Occupancy}"></i>\n </span>`:a.occupancyStartDateString>y?`<span class="has-tooltip-right" data-tooltip="Future ${t.escapedAliases.Occupancy}">\n <i class="fas fa-fast-forward" aria-label="Future ${t.escapedAliases.Occupancy}"></i>\n </span>`:`<span class="has-tooltip-right" data-tooltip="Past ${t.escapedAliases.Occupancy}">\n <i class="fas fa-stop" aria-label="Past ${t.escapedAliases.Occupancy}"></i>\n </span>`;let s="";for(const t of a.lotOccupancyOccupants)s+='<span class="has-tooltip-left" data-tooltip="'+cityssm.escapeHTML(null!==(c=t.lotOccupantType)&&void 0!==c?c:"")+'"><i class="fas fa-fw fa-'+cityssm.escapeHTML(""===(null!==(n=t.fontAwesomeIconClass)&&void 0!==n?n:"")?"user":t.fontAwesomeIconClass)+'" aria-hidden="true"></i> '+cityssm.escapeHTML(null!==(i=t.occupantName)&&void 0!==i?i:"")+"</span><br />";h.insertAdjacentHTML("beforeend",'<tr><td class="has-width-1">'+e+'</td><td><a class="has-text-weight-bold" href="'+t.getLotOccupancyURL(a.lotOccupancyId)+'">'+cityssm.escapeHTML(a.occupancyType)+"</a></td><td>"+(a.lotName?'<a class="has-tooltip-right" data-tooltip="'+cityssm.escapeHTML(null!==(l=a.lotType)&&void 0!==l?l:"")+'" href="'+t.getLotURL(a.lotId)+'">'+cityssm.escapeHTML(a.lotName)+"</a>":'<span class="has-text-grey">(No '+t.escapedAliases.Lot+")</span>")+'<br /><span class="is-size-7">'+cityssm.escapeHTML(null!==(p=a.mapName)&&void 0!==p?p:"")+"</span></td><td>"+a.occupancyStartDateString+"</td><td>"+(a.occupancyEndDate?a.occupancyEndDateString:'<span class="has-text-grey">(No End Date)</span>')+"</td><td>"+s+"</td><td>"+(a.printEJS?'<a class="button is-small" data-tooltip="Print" href="'+t.urlPrefix+"/print/"+a.printEJS+"/?lotOccupancyId="+a.lotOccupancyId+'" target="_blank"><i class="fas fa-print" aria-label="Print"></i></a>':"")+"</td></tr>")}a.innerHTML=`<table class="table is-fullwidth is-striped is-hoverable has-sticky-header">\n <thead><tr>\n <th class="has-width-1"></th>\n <th>${t.escapedAliases.Occupancy} Type</th>\n <th>${t.escapedAliases.Lot}</th>\n <th>${t.escapedAliases.OccupancyStartDate}</th>\n <th>End Date</th>\n <th>${t.escapedAliases.Occupants}</th>\n <th class="has-width-1"><span class="is-sr-only">Print</span></th>\n </tr></thead>\n <table>`,a.querySelector("table").append(h),a.insertAdjacentHTML("beforeend",t.getSearchResultsPagerHTML(s,e.offset,e.count)),null===(d=a.querySelector("button[data-page='previous']"))||void 0===d||d.addEventListener("click",o),null===(u=a.querySelector("button[data-page='next']"))||void 0===u||u.addEventListener("click",r)}function i(){a.innerHTML=t.getLoadingParagraphHTML(`Loading ${t.escapedAliases.Occupancies}...`),cityssm.postJSON(t.urlPrefix+"/lotOccupancies/doSearchLotOccupancies",e,n)}function l(){c.value="0",i()}function o(){c.value=Math.max(Number.parseInt(c.value,10)-s,0).toString(),i()}function r(){c.value=(Number.parseInt(c.value,10)+s).toString(),i()}const p=e.querySelectorAll("input, select");for(const t of p)t.addEventListener("change",l);e.addEventListener("submit",t=>{t.preventDefault(),l()}),i()})(); "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const t=exports.los,e=document.querySelector("#form--searchFilters"),a=document.querySelector("#container--searchResults"),s=Number.parseInt(document.querySelector("#searchFilter--limit").value,10),c=document.querySelector("#searchFilter--offset");function n(e){var c,n,i,l,p,d,u,h;if(0===e.lotOccupancies.length)return void(a.innerHTML=`<div class="message is-info">\n <p class="message-body">\n There are no ${t.escapedAliases.occupancy} records that meet the search criteria.\n </p>\n </div>`);const y=document.createElement("tbody"),f=cityssm.dateToString(new Date);for(const a of e.lotOccupancies){let e="";e=a.occupancyStartDateString<=f&&(""===a.occupancyEndDateString||a.occupancyEndDateString>=f)?`<span class="has-tooltip-right" data-tooltip="Current ${t.escapedAliases.Occupancy}">\n <i class="fas fa-play" aria-label="Current ${t.escapedAliases.Occupancy}"></i>\n </span>`:a.occupancyStartDateString>f?`<span class="has-tooltip-right" data-tooltip="Future ${t.escapedAliases.Occupancy}">\n <i class="fas fa-fast-forward" aria-label="Future ${t.escapedAliases.Occupancy}"></i>\n </span>`:`<span class="has-tooltip-right" data-tooltip="Past ${t.escapedAliases.Occupancy}">\n <i class="fas fa-stop" aria-label="Past ${t.escapedAliases.Occupancy}"></i>\n </span>`;let s="";for(const t of a.lotOccupancyOccupants)s+='<span class="has-tooltip-left" data-tooltip="'+cityssm.escapeHTML(null!==(c=t.lotOccupantType)&&void 0!==c?c:"")+'"><i class="fas fa-fw fa-'+cityssm.escapeHTML(""===(null!==(n=t.fontAwesomeIconClass)&&void 0!==n?n:"")?"user":t.fontAwesomeIconClass)+'" aria-hidden="true"></i> '+cityssm.escapeHTML(null!==(i=t.occupantName)&&void 0!==i?i:"")+"</span><br />";y.insertAdjacentHTML("beforeend",'<tr><td class="has-width-1">'+e+'</td><td><a class="has-text-weight-bold" href="'+t.getLotOccupancyURL(a.lotOccupancyId)+'">'+cityssm.escapeHTML(a.occupancyType)+"</a></td><td>"+(-1===(null!==(l=a.lotId)&&void 0!==l?l:-1)?'<span class="has-text-grey">(No '+t.escapedAliases.Lot+")</span>":'<a class="has-tooltip-right" data-tooltip="'+cityssm.escapeHTML(null!==(p=a.lotType)&&void 0!==p?p:"")+'" href="'+t.getLotURL(a.lotId)+'">'+cityssm.escapeHTML(a.lotName)+"</a>")+'<br /><span class="is-size-7">'+cityssm.escapeHTML(null!==(d=a.mapName)&&void 0!==d?d:"")+"</span></td><td>"+a.occupancyStartDateString+"</td><td>"+(a.occupancyEndDate?a.occupancyEndDateString:'<span class="has-text-grey">(No End Date)</span>')+"</td><td>"+s+"</td><td>"+(a.printEJS?'<a class="button is-small" data-tooltip="Print" href="'+t.urlPrefix+"/print/"+a.printEJS+"/?lotOccupancyId="+a.lotOccupancyId+'" target="_blank"><i class="fas fa-print" aria-label="Print"></i></a>':"")+"</td></tr>")}a.innerHTML=`<table class="table is-fullwidth is-striped is-hoverable has-sticky-header">\n <thead><tr>\n <th class="has-width-1"></th>\n <th>${t.escapedAliases.Occupancy} Type</th>\n <th>${t.escapedAliases.Lot}</th>\n <th>${t.escapedAliases.OccupancyStartDate}</th>\n <th>End Date</th>\n <th>${t.escapedAliases.Occupants}</th>\n <th class="has-width-1"><span class="is-sr-only">Print</span></th>\n </tr></thead>\n <table>`,a.querySelector("table").append(y),a.insertAdjacentHTML("beforeend",t.getSearchResultsPagerHTML(s,e.offset,e.count)),null===(u=a.querySelector("button[data-page='previous']"))||void 0===u||u.addEventListener("click",o),null===(h=a.querySelector("button[data-page='next']"))||void 0===h||h.addEventListener("click",r)}function i(){a.innerHTML=t.getLoadingParagraphHTML(`Loading ${t.escapedAliases.Occupancies}...`),cityssm.postJSON(t.urlPrefix+"/lotOccupancies/doSearchLotOccupancies",e,n)}function l(){c.value="0",i()}function o(){c.value=Math.max(Number.parseInt(c.value,10)-s,0).toString(),i()}function r(){c.value=(Number.parseInt(c.value,10)+s).toString(),i()}const p=e.querySelectorAll("input, select");for(const t of p)t.addEventListener("change",l);e.addEventListener("submit",t=>{t.preventDefault()}),i()})();

View File

@ -1 +1 @@
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=exports.los,t=document.querySelector("#form--searchFilters"),s=document.querySelector("#container--searchResults"),a=Number.parseInt(document.querySelector("#searchFilter--limit").value,10),n=document.querySelector("#searchFilter--offset");function r(t){var n,r,o,c;if(0===t.lots.length)return void(s.innerHTML=`<div class="message is-info">\n <p class="message-body">There are no ${e.escapedAliases.lots} that meet the search criteria.</p>\n </div>`);const d=document.createElement("tbody");for(const s of t.lots)d.insertAdjacentHTML("beforeend",'<tr><td><a class="has-text-weight-bold" href="'+e.getLotURL(s.lotId)+'">'+cityssm.escapeHTML(null!==(n=s.lotName)&&void 0!==n?n:"")+'</a></td><td><a href="'+e.getMapURL(s.mapId)+'">'+(s.mapName?cityssm.escapeHTML(s.mapName):'<span class="has-text-grey">(No Name)</span>')+"</a></td><td>"+cityssm.escapeHTML(null!==(r=s.lotType)&&void 0!==r?r:"")+"</td><td>"+(s.lotStatusId?cityssm.escapeHTML(s.lotStatus):'<span class="has-text-grey">(No Status)</span>')+"<br />"+(s.lotOccupancyCount>0?'<span class="is-size-7">Currently Occupied</span>':"")+"</td></tr>");s.innerHTML=`<table class="table is-fullwidth is-striped is-hoverable has-sticky-header">\n <thead><tr>\n <th>${e.escapedAliases.Lot}</th>\n <th>${e.escapedAliases.Map}</th>\n <th>${e.escapedAliases.Lot} Type</th>\n <th>Status</th>\n </tr></thead>\n <table>`,s.insertAdjacentHTML("beforeend",e.getSearchResultsPagerHTML(a,t.offset,t.count)),s.querySelector("table").append(d),null===(o=s.querySelector("button[data-page='previous']"))||void 0===o||o.addEventListener("click",l),null===(c=s.querySelector("button[data-page='next']"))||void 0===c||c.addEventListener("click",i)}function o(){s.innerHTML=e.getLoadingParagraphHTML(`Loading ${e.escapedAliases.Lots}...`),cityssm.postJSON(e.urlPrefix+"/lots/doSearchLots",t,r)}function c(){n.value="0",o()}function l(){n.value=Math.max(Number.parseInt(n.value,10)-a,0).toString(),o()}function i(){n.value=(Number.parseInt(n.value,10)+a).toString(),o()}const d=t.querySelectorAll("input, select");for(const e of d)e.addEventListener("change",c);t.addEventListener("submit",e=>{e.preventDefault(),c()}),o()})(); "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=exports.los,t=document.querySelector("#form--searchFilters"),s=document.querySelector("#container--searchResults"),a=Number.parseInt(document.querySelector("#searchFilter--limit").value,10),n=document.querySelector("#searchFilter--offset");function r(t){var n,r,o,c;if(0===t.lots.length)return void(s.innerHTML=`<div class="message is-info">\n <p class="message-body">There are no ${e.escapedAliases.lots} that meet the search criteria.</p>\n </div>`);const d=document.createElement("tbody");for(const s of t.lots)d.insertAdjacentHTML("beforeend",'<tr><td><a class="has-text-weight-bold" href="'+e.getLotURL(s.lotId)+'">'+cityssm.escapeHTML(null!==(n=s.lotName)&&void 0!==n?n:"")+'</a></td><td><a href="'+e.getMapURL(s.mapId)+'">'+(s.mapName?cityssm.escapeHTML(s.mapName):'<span class="has-text-grey">(No Name)</span>')+"</a></td><td>"+cityssm.escapeHTML(null!==(r=s.lotType)&&void 0!==r?r:"")+"</td><td>"+(s.lotStatusId?cityssm.escapeHTML(s.lotStatus):'<span class="has-text-grey">(No Status)</span>')+"<br />"+(s.lotOccupancyCount>0?'<span class="is-size-7">Currently Occupied</span>':"")+"</td></tr>");s.innerHTML=`<table class="table is-fullwidth is-striped is-hoverable has-sticky-header">\n <thead><tr>\n <th>${e.escapedAliases.Lot}</th>\n <th>${e.escapedAliases.Map}</th>\n <th>${e.escapedAliases.Lot} Type</th>\n <th>Status</th>\n </tr></thead>\n <table>`,s.insertAdjacentHTML("beforeend",e.getSearchResultsPagerHTML(a,t.offset,t.count)),s.querySelector("table").append(d),null===(o=s.querySelector("button[data-page='previous']"))||void 0===o||o.addEventListener("click",l),null===(c=s.querySelector("button[data-page='next']"))||void 0===c||c.addEventListener("click",i)}function o(){s.innerHTML=e.getLoadingParagraphHTML(`Loading ${e.escapedAliases.Lots}...`),cityssm.postJSON(e.urlPrefix+"/lots/doSearchLots",t,r)}function c(){n.value="0",o()}function l(){n.value=Math.max(Number.parseInt(n.value,10)-a,0).toString(),o()}function i(){n.value=(Number.parseInt(n.value,10)+a).toString(),o()}const d=t.querySelectorAll("input, select");for(const e of d)e.addEventListener("change",c);t.addEventListener("submit",e=>{e.preventDefault()}),o()})();

View File

@ -1 +1 @@
"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 i(){var i,r,d,n,o,l,c,p,m,h,u,L;t.innerHTML=e.getLoadingParagraphHTML(`Loading ${e.escapedAliases.Maps}...`);let v=0;const f=document.createElement("tbody"),b=s.value.trim().toLowerCase().split(" ");for(const s of a){const a=`${null!==(i=s.mapName)&&void 0!==i?i:""} ${null!==(r=s.mapDescription)&&void 0!==r?r:""} ${null!==(d=s.mapAddress1)&&void 0!==d?d:""} ${null!==(n=s.mapAddress2)&&void 0!==n?n:""}`.toLowerCase();let t=!0;for(const e of b)if(!a.includes(e)){t=!1;break}t&&(v+=1,f.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>"+(""===(null!==(l=s.mapAddress1)&&void 0!==l?l:"")?"":cityssm.escapeHTML(s.mapAddress1)+"<br />")+(""===(null!==(c=s.mapAddress2)&&void 0!==c?c:"")?"":cityssm.escapeHTML(s.mapAddress2)+"<br />")+(s.mapCity||s.mapProvince?cityssm.escapeHTML(null!==(p=s.mapCity)&&void 0!==p?p:"")+", "+cityssm.escapeHTML(null!==(m=s.mapProvince)&&void 0!==m?m:"")+"<br />":"")+(""===(null!==(h=s.mapPostalCode)&&void 0!==h?h:"")?"":cityssm.escapeHTML(s.mapPostalCode))+"</td><td>"+cityssm.escapeHTML(null!==(u=s.mapPhoneNumber)&&void 0!==u?u:"")+'</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">'+(""===(null!==(L=s.mapSVG)&&void 0!==L?L:"")?"":'<span data-tooltip="Has Image"><i class="fas fa-image" aria-label="Has Image"></i></span>')+"</td>"+`<td class="has-text-right">\n <a href="${e.urlPrefix}/lots?mapId=${s.mapId}">${s.lotCount}</a>\n </td>`+"</tr>"))}if(t.innerHTML="",0===v)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(f),t.append(a)}}s.addEventListener("keyup",i),document.querySelector("#form--searchFilters").addEventListener("submit",e=>{e.preventDefault(),i()}),i()})(); "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 i(){var i,d,n,r,o,l,c,p,m,h,u,v,L,f,b;t.innerHTML=e.getLoadingParagraphHTML(`Loading ${e.escapedAliases.Maps}...`);let y=0;const H=document.createElement("tbody"),M=s.value.trim().toLowerCase().split(" ");for(const s of a){const a=`${null!==(i=s.mapName)&&void 0!==i?i:""} ${null!==(d=s.mapDescription)&&void 0!==d?d:""} ${null!==(n=s.mapAddress1)&&void 0!==n?n:""} ${null!==(r=s.mapAddress2)&&void 0!==r?r:""}`.toLowerCase();let t=!0;for(const e of M)if(!a.includes(e)){t=!1;break}t&&(y+=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>"+(""===(null!==(l=s.mapAddress1)&&void 0!==l?l:"")?"":cityssm.escapeHTML(null!==(c=s.mapAddress1)&&void 0!==c?c:"")+"<br />")+(""===(null!==(p=s.mapAddress2)&&void 0!==p?p:"")?"":cityssm.escapeHTML(null!==(m=s.mapAddress2)&&void 0!==m?m:"")+"<br />")+(s.mapCity||s.mapProvince?cityssm.escapeHTML(null!==(h=s.mapCity)&&void 0!==h?h:"")+", "+cityssm.escapeHTML(null!==(u=s.mapProvince)&&void 0!==u?u:"")+"<br />":"")+(""===(null!==(v=s.mapPostalCode)&&void 0!==v?v:"")?"":cityssm.escapeHTML(null!==(L=s.mapPostalCode)&&void 0!==L?L:""))+"</td><td>"+cityssm.escapeHTML(null!==(f=s.mapPhoneNumber)&&void 0!==f?f:"")+'</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">'+(""===(null!==(b=s.mapSVG)&&void 0!==b?b:"")?"":'<span data-tooltip="Has Image"><i class="fas fa-image" aria-label="Has Image"></i></span>')+"</td>"+`<td class="has-text-right">\n <a href="${e.urlPrefix}/lots?mapId=${s.mapId}">${s.lotCount}</a>\n </td>`+"</tr>"))}if(t.innerHTML="",0===y)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",i),document.querySelector("#form--searchFilters").addEventListener("submit",e=>{e.preventDefault(),i()}),i()})();

View File

@ -1 +1 @@
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=exports.los,t=exports.workOrderPrints,s=document.querySelector("#form--searchFilters");e.initializeDatePickers(s);const a=document.querySelector("#container--searchResults"),r=Number.parseInt(document.querySelector("#searchFilter--limit").value,10),o=document.querySelector("#searchFilter--offset");function l(s){var o,l,i,n,p,u,f,h,m,O;if(0===s.workOrders.length)return void(a.innerHTML='<div class="message is-info"><p class="message-body">There are no work orders that meet the search criteria.</p></div>');const k=document.createElement("tbody");for(const a of s.workOrders){let s="";for(const t of a.workOrderLots)s+='<span class="has-tooltip-left" data-tooltip="'+cityssm.escapeHTML(null!==(o=t.mapName)&&void 0!==o?o:"")+'"><i class="fas fa-fw fa-vector-square" aria-label="'+e.escapedAliases.Lot+'"></i> '+cityssm.escapeHTML(""===(null!==(l=t.lotName)&&void 0!==l?l:"")?"(No "+e.escapedAliases.Lot+" Name)":t.lotName)+"</span><br />";for(const t of a.workOrderLotOccupancies)for(const a of t.lotOccupancyOccupants)s+='<span class="has-tooltip-left" data-tooltip="'+cityssm.escapeHTML(null!==(i=a.lotOccupantType)&&void 0!==i?i:"")+'"><i class="fas fa-fw fa-'+cityssm.escapeHTML(""===(null!==(n=a.fontAwesomeIconClass)&&void 0!==n?n:"")?"user":a.fontAwesomeIconClass)+'" aria-label="'+e.escapedAliases.occupant+'"></i> '+cityssm.escapeHTML(""===(null!==(p=a.occupantName)&&void 0!==p?p:"")?"(No Name)":a.occupantName)+"</span><br />";k.insertAdjacentHTML("beforeend",'<tr><td><a class="has-text-weight-bold" href="'+e.getWorkOrderURL(a.workOrderId)+'">'+(a.workOrderNumber.trim()?cityssm.escapeHTML(null!==(u=a.workOrderNumber)&&void 0!==u?u:""):"(No Number)")+"</a></td><td>"+cityssm.escapeHTML(null!==(f=a.workOrderType)&&void 0!==f?f:"")+'<br /><span class="is-size-7">'+cityssm.escapeHTML(null!==(h=a.workOrderDescription)&&void 0!==h?h:"")+'</span></td><td class="is-nowrap"><span class="is-size-7">'+s+'</span></td><td class="is-nowrap"><span class="has-tooltip-left" data-tooltip="'+e.escapedAliases.WorkOrderOpenDate+'"><i class="fas fa-fw fa-play" aria-label="'+e.escapedAliases.WorkOrderOpenDate+'"></i> '+a.workOrderOpenDateString+'</span><br /><span class="has-tooltip-left" data-tooltip="'+e.escapedAliases.WorkOrderCloseDate+'"><i class="fas fa-fw fa-stop" aria-label="'+e.escapedAliases.WorkOrderCloseDate+'"></i> '+(a.workOrderCloseDate?a.workOrderCloseDateString:'<span class="has-text-grey">(No '+e.escapedAliases.WorkOrderCloseDate+")</span>")+"</span></td><td>"+(0===a.workOrderMilestoneCount?"-":a.workOrderMilestoneCompletionCount+" / "+a.workOrderMilestoneCount)+"</td>"+(t.length>0?'<td><a class="button is-small" data-tooltip="Print" href="'+e.urlPrefix+"/print/"+t[0]+"/?workOrderId="+a.workOrderId+'" target="_blank"><i class="fas fa-print" aria-label="Print"></i></a></td>':"")+"</tr>")}a.innerHTML='<table class="table is-fullwidth is-striped is-hoverable has-sticky-header"><thead><tr><th>Work Order Number</th><th>Description</th><th>Related</th><th>Date</th><th class="has-tooltip-bottom" data-tooltip="Completed / Total Milestones">Progress</th>'+(t.length>0?'<th class="has-width-1"></th>':"")+"</tr></thead><table>",a.insertAdjacentHTML("beforeend",e.getSearchResultsPagerHTML(r,s.offset,s.count)),a.querySelector("table").append(k),null===(m=a.querySelector("button[data-page='previous']"))||void 0===m||m.addEventListener("click",c),null===(O=a.querySelector("button[data-page='next']"))||void 0===O||O.addEventListener("click",d)}function i(){a.innerHTML=e.getLoadingParagraphHTML("Loading Work Orders..."),cityssm.postJSON(e.urlPrefix+"/workOrders/doSearchWorkOrders",s,l)}function n(){o.value="0",i()}function c(){o.value=Math.max(Number.parseInt(o.value,10)-r,0).toString(),i()}function d(){o.value=(Number.parseInt(o.value,10)+r).toString(),i()}const p=s.querySelectorAll("input, select");for(const e of p)e.addEventListener("change",n);s.addEventListener("submit",e=>{e.preventDefault(),n()}),i()})(); "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=exports.los,t=exports.workOrderPrints,s=document.querySelector("#form--searchFilters");e.initializeDatePickers(s);const a=document.querySelector("#container--searchResults"),r=Number.parseInt(document.querySelector("#searchFilter--limit").value,10),o=document.querySelector("#searchFilter--offset");function l(s){var o,l,i,n,p,u,f,h,m,O;if(0===s.workOrders.length)return void(a.innerHTML='<div class="message is-info"><p class="message-body">There are no work orders that meet the search criteria.</p></div>');const k=document.createElement("tbody");for(const a of s.workOrders){let s="";for(const t of a.workOrderLots)s+='<span class="has-tooltip-left" data-tooltip="'+cityssm.escapeHTML(null!==(o=t.mapName)&&void 0!==o?o:"")+'"><i class="fas fa-fw fa-vector-square" aria-label="'+e.escapedAliases.Lot+'"></i> '+cityssm.escapeHTML(""===(null!==(l=t.lotName)&&void 0!==l?l:"")?"(No "+e.escapedAliases.Lot+" Name)":t.lotName)+"</span><br />";for(const t of a.workOrderLotOccupancies)for(const a of t.lotOccupancyOccupants)s+='<span class="has-tooltip-left" data-tooltip="'+cityssm.escapeHTML(null!==(i=a.lotOccupantType)&&void 0!==i?i:"")+'"><i class="fas fa-fw fa-'+cityssm.escapeHTML(""===(null!==(n=a.fontAwesomeIconClass)&&void 0!==n?n:"")?"user":a.fontAwesomeIconClass)+'" aria-label="'+e.escapedAliases.occupant+'"></i> '+cityssm.escapeHTML(""===(null!==(p=a.occupantName)&&void 0!==p?p:"")?"(No Name)":a.occupantName)+"</span><br />";k.insertAdjacentHTML("beforeend",'<tr><td><a class="has-text-weight-bold" href="'+e.getWorkOrderURL(a.workOrderId)+'">'+(a.workOrderNumber.trim()?cityssm.escapeHTML(null!==(u=a.workOrderNumber)&&void 0!==u?u:""):"(No Number)")+"</a></td><td>"+cityssm.escapeHTML(null!==(f=a.workOrderType)&&void 0!==f?f:"")+'<br /><span class="is-size-7">'+cityssm.escapeHTML(null!==(h=a.workOrderDescription)&&void 0!==h?h:"")+'</span></td><td class="is-nowrap"><span class="is-size-7">'+s+'</span></td><td class="is-nowrap"><span class="has-tooltip-left" data-tooltip="'+e.escapedAliases.WorkOrderOpenDate+'"><i class="fas fa-fw fa-play" aria-label="'+e.escapedAliases.WorkOrderOpenDate+'"></i> '+a.workOrderOpenDateString+'</span><br /><span class="has-tooltip-left" data-tooltip="'+e.escapedAliases.WorkOrderCloseDate+'"><i class="fas fa-fw fa-stop" aria-label="'+e.escapedAliases.WorkOrderCloseDate+'"></i> '+(a.workOrderCloseDate?a.workOrderCloseDateString:'<span class="has-text-grey">(No '+e.escapedAliases.WorkOrderCloseDate+")</span>")+"</span></td><td>"+(0===a.workOrderMilestoneCount?"-":a.workOrderMilestoneCompletionCount+" / "+a.workOrderMilestoneCount)+"</td>"+(t.length>0?'<td><a class="button is-small" data-tooltip="Print" href="'+e.urlPrefix+"/print/"+t[0]+"/?workOrderId="+a.workOrderId+'" target="_blank"><i class="fas fa-print" aria-label="Print"></i></a></td>':"")+"</tr>")}a.innerHTML='<table class="table is-fullwidth is-striped is-hoverable has-sticky-header"><thead><tr><th>Work Order Number</th><th>Description</th><th>Related</th><th>Date</th><th class="has-tooltip-bottom" data-tooltip="Completed / Total Milestones">Progress</th>'+(t.length>0?'<th class="has-width-1"></th>':"")+"</tr></thead><table>",a.insertAdjacentHTML("beforeend",e.getSearchResultsPagerHTML(r,s.offset,s.count)),a.querySelector("table").append(k),null===(m=a.querySelector("button[data-page='previous']"))||void 0===m||m.addEventListener("click",c),null===(O=a.querySelector("button[data-page='next']"))||void 0===O||O.addEventListener("click",d)}function i(){a.innerHTML=e.getLoadingParagraphHTML("Loading Work Orders..."),cityssm.postJSON(e.urlPrefix+"/workOrders/doSearchWorkOrders",s,l)}function n(){o.value="0",i()}function c(){o.value=Math.max(Number.parseInt(o.value,10)-r,0).toString(),i()}function d(){o.value=(Number.parseInt(o.value,10)+r).toString(),i()}const p=s.querySelectorAll("input, select");for(const e of p)e.addEventListener("change",n);s.addEventListener("submit",e=>{e.preventDefault()}),i()})();