linting
parent
6a6081635d
commit
c88e4912f8
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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();
|
||||||
|
|
|
||||||
|
|
@ -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()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
|
|
|
||||||
|
|
@ -31,16 +31,16 @@ export async function getReportData(reportName, reportParameters = {}) {
|
||||||
}
|
}
|
||||||
case 'maps-formatted': {
|
case 'maps-formatted': {
|
||||||
sql = `select mapName as ${mapNameAlias},
|
sql = `select mapName as ${mapNameAlias},
|
||||||
mapDescription as ${mapDescriptionAlias},
|
mapDescription as ${mapDescriptionAlias},
|
||||||
mapAddress1 as ${mapAddress1Alias},
|
mapAddress1 as ${mapAddress1Alias},
|
||||||
mapAddress2 as ${mapAddress2Alias},
|
mapAddress2 as ${mapAddress2Alias},
|
||||||
mapCity as ${mapCityAlias},
|
mapCity as ${mapCityAlias},
|
||||||
mapProvince as ${mapProvinceAlias},
|
mapProvince as ${mapProvinceAlias},
|
||||||
mapPostalCode as ${mapPostalCodeAlias},
|
mapPostalCode as ${mapPostalCodeAlias},
|
||||||
mapPhoneNumber as ${mapPhoneNumberAlias}
|
mapPhoneNumber as ${mapPhoneNumberAlias}
|
||||||
from Maps
|
from Maps
|
||||||
where recordDelete_timeMillis is null
|
where recordDelete_timeMillis is null
|
||||||
order by mapName`;
|
order by mapName`;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 'lots-all': {
|
case 'lots-all': {
|
||||||
|
|
@ -49,46 +49,46 @@ export async function getReportData(reportName, reportParameters = {}) {
|
||||||
}
|
}
|
||||||
case 'lots-byLotTypeId': {
|
case 'lots-byLotTypeId': {
|
||||||
sql = `select l.lotId as ${lotIdAlias},
|
sql = `select l.lotId as ${lotIdAlias},
|
||||||
m.mapName as ${mapNameAlias},
|
m.mapName as ${mapNameAlias},
|
||||||
l.lotName as ${lotNameAlias},
|
l.lotName as ${lotNameAlias},
|
||||||
t.lotType as ${lotTypeAlias},
|
t.lotType as ${lotTypeAlias},
|
||||||
s.lotStatus as ${lotStatusAlias}
|
s.lotStatus as ${lotStatusAlias}
|
||||||
from Lots l
|
from Lots l
|
||||||
left join LotTypes t on l.lotTypeId = t.lotTypeId
|
left join LotTypes t on l.lotTypeId = t.lotTypeId
|
||||||
left join LotStatuses s on l.lotStatusId = s.lotStatusId
|
left join LotStatuses s on l.lotStatusId = s.lotStatusId
|
||||||
left join Maps m on l.mapId = m.mapId
|
left join Maps m on l.mapId = m.mapId
|
||||||
where l.recordDelete_timeMillis is null
|
where l.recordDelete_timeMillis is null
|
||||||
and l.lotTypeId = ?`;
|
and l.lotTypeId = ?`;
|
||||||
sqlParameters.push(reportParameters.lotTypeId);
|
sqlParameters.push(reportParameters.lotTypeId);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 'lots-byLotStatusId': {
|
case 'lots-byLotStatusId': {
|
||||||
sql = `select l.lotId as ${lotIdAlias},
|
sql = `select l.lotId as ${lotIdAlias},
|
||||||
m.mapName as ${mapNameAlias},
|
m.mapName as ${mapNameAlias},
|
||||||
l.lotName as ${lotNameAlias},
|
l.lotName as ${lotNameAlias},
|
||||||
t.lotType as ${lotTypeAlias},
|
t.lotType as ${lotTypeAlias},
|
||||||
s.lotStatus as ${lotStatusAlias}
|
s.lotStatus as ${lotStatusAlias}
|
||||||
from Lots l
|
from Lots l
|
||||||
left join LotTypes t on l.lotTypeId = t.lotTypeId
|
left join LotTypes t on l.lotTypeId = t.lotTypeId
|
||||||
left join LotStatuses s on l.lotStatusId = s.lotStatusId
|
left join LotStatuses s on l.lotStatusId = s.lotStatusId
|
||||||
left join Maps m on l.mapId = m.mapId
|
left join Maps m on l.mapId = m.mapId
|
||||||
where l.recordDelete_timeMillis is null
|
where l.recordDelete_timeMillis is null
|
||||||
and l.lotStatusId = ?`;
|
and l.lotStatusId = ?`;
|
||||||
sqlParameters.push(reportParameters.lotStatusId);
|
sqlParameters.push(reportParameters.lotStatusId);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 'lots-byMapId': {
|
case 'lots-byMapId': {
|
||||||
sql = `select l.lotId as ${lotIdAlias},
|
sql = `select l.lotId as ${lotIdAlias},
|
||||||
m.mapName as ${mapNameAlias},
|
m.mapName as ${mapNameAlias},
|
||||||
l.lotName as ${lotNameAlias},
|
l.lotName as ${lotNameAlias},
|
||||||
t.lotType as ${lotTypeAlias},
|
t.lotType as ${lotTypeAlias},
|
||||||
s.lotStatus as ${lotStatusAlias}
|
s.lotStatus as ${lotStatusAlias}
|
||||||
from Lots l
|
from Lots l
|
||||||
left join LotTypes t on l.lotTypeId = t.lotTypeId
|
left join LotTypes t on l.lotTypeId = t.lotTypeId
|
||||||
left join LotStatuses s on l.lotStatusId = s.lotStatusId
|
left join LotStatuses s on l.lotStatusId = s.lotStatusId
|
||||||
left join Maps m on l.mapId = m.mapId
|
left join Maps m on l.mapId = m.mapId
|
||||||
where l.recordDelete_timeMillis is null
|
where l.recordDelete_timeMillis is null
|
||||||
and l.mapId = ?`;
|
and l.mapId = ?`;
|
||||||
sqlParameters.push(reportParameters.mapId);
|
sqlParameters.push(reportParameters.mapId);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -106,18 +106,18 @@ export async function getReportData(reportName, reportParameters = {}) {
|
||||||
}
|
}
|
||||||
case 'lotOccupancies-current-byMapId': {
|
case 'lotOccupancies-current-byMapId': {
|
||||||
sql = `select o.lotOccupancyId as ${lotOccupancyIdAlias},
|
sql = `select o.lotOccupancyId as ${lotOccupancyIdAlias},
|
||||||
l.lotName as ${lotNameAlias},
|
l.lotName as ${lotNameAlias},
|
||||||
m.mapName as ${mapNameAlias},
|
m.mapName as ${mapNameAlias},
|
||||||
ot.occupancyType as ${occupancyTypeAlias},
|
ot.occupancyType as ${occupancyTypeAlias},
|
||||||
o.occupancyStartDate as ${occupancyStartDateAlias},
|
o.occupancyStartDate as ${occupancyStartDateAlias},
|
||||||
o.occupancyEndDate as ${occupancyEndDateAlias}
|
o.occupancyEndDate as ${occupancyEndDateAlias}
|
||||||
from LotOccupancies o
|
from LotOccupancies o
|
||||||
left join OccupancyTypes ot on o.occupancyTypeId = ot.occupancyTypeId
|
left join OccupancyTypes ot on o.occupancyTypeId = ot.occupancyTypeId
|
||||||
left join Lots l on o.lotId = l.lotId
|
left join Lots l on o.lotId = l.lotId
|
||||||
left join Maps m on l.mapId = m.mapId
|
left join Maps m on l.mapId = m.mapId
|
||||||
where o.recordDelete_timeMillis is null
|
where o.recordDelete_timeMillis is null
|
||||||
and (o.occupancyEndDate is null or o.occupancyEndDate >= ?)
|
and (o.occupancyEndDate is null or o.occupancyEndDate >= ?)
|
||||||
and l.mapId = ?`;
|
and l.mapId = ?`;
|
||||||
sqlParameters.push(dateTimeFunctions.dateToInteger(new Date()), reportParameters.mapId);
|
sqlParameters.push(dateTimeFunctions.dateToInteger(new Date()), reportParameters.mapId);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -143,12 +143,12 @@ export async function getReportData(reportName, reportParameters = {}) {
|
||||||
}
|
}
|
||||||
case 'lotOccupancyTransactions-byTransactionDateString': {
|
case 'lotOccupancyTransactions-byTransactionDateString': {
|
||||||
sql = `select t.lotOccupancyId, t.transactionIndex,
|
sql = `select t.lotOccupancyId, t.transactionIndex,
|
||||||
t.transactionDate, t.transactionTime,
|
t.transactionDate, t.transactionTime,
|
||||||
t.transactionAmount,
|
t.transactionAmount,
|
||||||
t.externalReceiptNumber, t.transactionNote
|
t.externalReceiptNumber, t.transactionNote
|
||||||
from LotOccupancyTransactions t
|
from LotOccupancyTransactions t
|
||||||
where t.recordDelete_timeMillis is null
|
where t.recordDelete_timeMillis is null
|
||||||
and t.transactionDate = ?`;
|
and t.transactionDate = ?`;
|
||||||
sqlParameters.push(dateTimeFunctions.dateStringToInteger(reportParameters.transactionDateString));
|
sqlParameters.push(dateTimeFunctions.dateStringToInteger(reportParameters.transactionDateString));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -164,12 +164,12 @@ export async function getReportData(reportName, reportParameters = {}) {
|
||||||
from WorkOrders w
|
from WorkOrders w
|
||||||
left join WorkOrderTypes t on w.workOrderTypeId = t.workOrderTypeId
|
left join WorkOrderTypes t on w.workOrderTypeId = t.workOrderTypeId
|
||||||
left join (
|
left join (
|
||||||
select m.workOrderId,
|
select m.workOrderId,
|
||||||
count(m.workOrderMilestoneId) as workOrderMilestoneCount,
|
count(m.workOrderMilestoneId) as workOrderMilestoneCount,
|
||||||
sum(case when m.workOrderMilestoneCompletionDate is null then 0 else 1 end) as workOrderMilestoneCompletionCount
|
sum(case when m.workOrderMilestoneCompletionDate is null then 0 else 1 end) as workOrderMilestoneCompletionCount
|
||||||
from WorkOrderMilestones m
|
from WorkOrderMilestones m
|
||||||
where m.recordDelete_timeMillis is null
|
where m.recordDelete_timeMillis is null
|
||||||
group by m.workOrderId
|
group by m.workOrderId
|
||||||
) m on w.workOrderId = m.workOrderId
|
) m on w.workOrderId = m.workOrderId
|
||||||
where w.recordDelete_timeMillis is null
|
where w.recordDelete_timeMillis is null
|
||||||
and w.workOrderCloseDate is null`;
|
and w.workOrderCloseDate is null`;
|
||||||
|
|
|
||||||
|
|
@ -48,16 +48,16 @@ export async function getReportData(
|
||||||
|
|
||||||
case 'maps-formatted': {
|
case 'maps-formatted': {
|
||||||
sql = `select mapName as ${mapNameAlias},
|
sql = `select mapName as ${mapNameAlias},
|
||||||
mapDescription as ${mapDescriptionAlias},
|
mapDescription as ${mapDescriptionAlias},
|
||||||
mapAddress1 as ${mapAddress1Alias},
|
mapAddress1 as ${mapAddress1Alias},
|
||||||
mapAddress2 as ${mapAddress2Alias},
|
mapAddress2 as ${mapAddress2Alias},
|
||||||
mapCity as ${mapCityAlias},
|
mapCity as ${mapCityAlias},
|
||||||
mapProvince as ${mapProvinceAlias},
|
mapProvince as ${mapProvinceAlias},
|
||||||
mapPostalCode as ${mapPostalCodeAlias},
|
mapPostalCode as ${mapPostalCodeAlias},
|
||||||
mapPhoneNumber as ${mapPhoneNumberAlias}
|
mapPhoneNumber as ${mapPhoneNumberAlias}
|
||||||
from Maps
|
from Maps
|
||||||
where recordDelete_timeMillis is null
|
where recordDelete_timeMillis is null
|
||||||
order by mapName`
|
order by mapName`
|
||||||
|
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
|
@ -69,16 +69,16 @@ export async function getReportData(
|
||||||
|
|
||||||
case 'lots-byLotTypeId': {
|
case 'lots-byLotTypeId': {
|
||||||
sql = `select l.lotId as ${lotIdAlias},
|
sql = `select l.lotId as ${lotIdAlias},
|
||||||
m.mapName as ${mapNameAlias},
|
m.mapName as ${mapNameAlias},
|
||||||
l.lotName as ${lotNameAlias},
|
l.lotName as ${lotNameAlias},
|
||||||
t.lotType as ${lotTypeAlias},
|
t.lotType as ${lotTypeAlias},
|
||||||
s.lotStatus as ${lotStatusAlias}
|
s.lotStatus as ${lotStatusAlias}
|
||||||
from Lots l
|
from Lots l
|
||||||
left join LotTypes t on l.lotTypeId = t.lotTypeId
|
left join LotTypes t on l.lotTypeId = t.lotTypeId
|
||||||
left join LotStatuses s on l.lotStatusId = s.lotStatusId
|
left join LotStatuses s on l.lotStatusId = s.lotStatusId
|
||||||
left join Maps m on l.mapId = m.mapId
|
left join Maps m on l.mapId = m.mapId
|
||||||
where l.recordDelete_timeMillis is null
|
where l.recordDelete_timeMillis is null
|
||||||
and l.lotTypeId = ?`
|
and l.lotTypeId = ?`
|
||||||
|
|
||||||
sqlParameters.push(reportParameters.lotTypeId)
|
sqlParameters.push(reportParameters.lotTypeId)
|
||||||
|
|
||||||
|
|
@ -87,16 +87,16 @@ export async function getReportData(
|
||||||
|
|
||||||
case 'lots-byLotStatusId': {
|
case 'lots-byLotStatusId': {
|
||||||
sql = `select l.lotId as ${lotIdAlias},
|
sql = `select l.lotId as ${lotIdAlias},
|
||||||
m.mapName as ${mapNameAlias},
|
m.mapName as ${mapNameAlias},
|
||||||
l.lotName as ${lotNameAlias},
|
l.lotName as ${lotNameAlias},
|
||||||
t.lotType as ${lotTypeAlias},
|
t.lotType as ${lotTypeAlias},
|
||||||
s.lotStatus as ${lotStatusAlias}
|
s.lotStatus as ${lotStatusAlias}
|
||||||
from Lots l
|
from Lots l
|
||||||
left join LotTypes t on l.lotTypeId = t.lotTypeId
|
left join LotTypes t on l.lotTypeId = t.lotTypeId
|
||||||
left join LotStatuses s on l.lotStatusId = s.lotStatusId
|
left join LotStatuses s on l.lotStatusId = s.lotStatusId
|
||||||
left join Maps m on l.mapId = m.mapId
|
left join Maps m on l.mapId = m.mapId
|
||||||
where l.recordDelete_timeMillis is null
|
where l.recordDelete_timeMillis is null
|
||||||
and l.lotStatusId = ?`
|
and l.lotStatusId = ?`
|
||||||
|
|
||||||
sqlParameters.push(reportParameters.lotStatusId)
|
sqlParameters.push(reportParameters.lotStatusId)
|
||||||
|
|
||||||
|
|
@ -105,16 +105,16 @@ export async function getReportData(
|
||||||
|
|
||||||
case 'lots-byMapId': {
|
case 'lots-byMapId': {
|
||||||
sql = `select l.lotId as ${lotIdAlias},
|
sql = `select l.lotId as ${lotIdAlias},
|
||||||
m.mapName as ${mapNameAlias},
|
m.mapName as ${mapNameAlias},
|
||||||
l.lotName as ${lotNameAlias},
|
l.lotName as ${lotNameAlias},
|
||||||
t.lotType as ${lotTypeAlias},
|
t.lotType as ${lotTypeAlias},
|
||||||
s.lotStatus as ${lotStatusAlias}
|
s.lotStatus as ${lotStatusAlias}
|
||||||
from Lots l
|
from Lots l
|
||||||
left join LotTypes t on l.lotTypeId = t.lotTypeId
|
left join LotTypes t on l.lotTypeId = t.lotTypeId
|
||||||
left join LotStatuses s on l.lotStatusId = s.lotStatusId
|
left join LotStatuses s on l.lotStatusId = s.lotStatusId
|
||||||
left join Maps m on l.mapId = m.mapId
|
left join Maps m on l.mapId = m.mapId
|
||||||
where l.recordDelete_timeMillis is null
|
where l.recordDelete_timeMillis is null
|
||||||
and l.mapId = ?`
|
and l.mapId = ?`
|
||||||
|
|
||||||
sqlParameters.push(reportParameters.mapId)
|
sqlParameters.push(reportParameters.mapId)
|
||||||
|
|
||||||
|
|
@ -138,18 +138,18 @@ export async function getReportData(
|
||||||
|
|
||||||
case 'lotOccupancies-current-byMapId': {
|
case 'lotOccupancies-current-byMapId': {
|
||||||
sql = `select o.lotOccupancyId as ${lotOccupancyIdAlias},
|
sql = `select o.lotOccupancyId as ${lotOccupancyIdAlias},
|
||||||
l.lotName as ${lotNameAlias},
|
l.lotName as ${lotNameAlias},
|
||||||
m.mapName as ${mapNameAlias},
|
m.mapName as ${mapNameAlias},
|
||||||
ot.occupancyType as ${occupancyTypeAlias},
|
ot.occupancyType as ${occupancyTypeAlias},
|
||||||
o.occupancyStartDate as ${occupancyStartDateAlias},
|
o.occupancyStartDate as ${occupancyStartDateAlias},
|
||||||
o.occupancyEndDate as ${occupancyEndDateAlias}
|
o.occupancyEndDate as ${occupancyEndDateAlias}
|
||||||
from LotOccupancies o
|
from LotOccupancies o
|
||||||
left join OccupancyTypes ot on o.occupancyTypeId = ot.occupancyTypeId
|
left join OccupancyTypes ot on o.occupancyTypeId = ot.occupancyTypeId
|
||||||
left join Lots l on o.lotId = l.lotId
|
left join Lots l on o.lotId = l.lotId
|
||||||
left join Maps m on l.mapId = m.mapId
|
left join Maps m on l.mapId = m.mapId
|
||||||
where o.recordDelete_timeMillis is null
|
where o.recordDelete_timeMillis is null
|
||||||
and (o.occupancyEndDate is null or o.occupancyEndDate >= ?)
|
and (o.occupancyEndDate is null or o.occupancyEndDate >= ?)
|
||||||
and l.mapId = ?`
|
and l.mapId = ?`
|
||||||
|
|
||||||
sqlParameters.push(
|
sqlParameters.push(
|
||||||
dateTimeFunctions.dateToInteger(new Date()),
|
dateTimeFunctions.dateToInteger(new Date()),
|
||||||
|
|
@ -186,12 +186,12 @@ export async function getReportData(
|
||||||
|
|
||||||
case 'lotOccupancyTransactions-byTransactionDateString': {
|
case 'lotOccupancyTransactions-byTransactionDateString': {
|
||||||
sql = `select t.lotOccupancyId, t.transactionIndex,
|
sql = `select t.lotOccupancyId, t.transactionIndex,
|
||||||
t.transactionDate, t.transactionTime,
|
t.transactionDate, t.transactionTime,
|
||||||
t.transactionAmount,
|
t.transactionAmount,
|
||||||
t.externalReceiptNumber, t.transactionNote
|
t.externalReceiptNumber, t.transactionNote
|
||||||
from LotOccupancyTransactions t
|
from LotOccupancyTransactions t
|
||||||
where t.recordDelete_timeMillis is null
|
where t.recordDelete_timeMillis is null
|
||||||
and t.transactionDate = ?`
|
and t.transactionDate = ?`
|
||||||
|
|
||||||
sqlParameters.push(
|
sqlParameters.push(
|
||||||
dateTimeFunctions.dateStringToInteger(
|
dateTimeFunctions.dateStringToInteger(
|
||||||
|
|
@ -214,12 +214,12 @@ export async function getReportData(
|
||||||
from WorkOrders w
|
from WorkOrders w
|
||||||
left join WorkOrderTypes t on w.workOrderTypeId = t.workOrderTypeId
|
left join WorkOrderTypes t on w.workOrderTypeId = t.workOrderTypeId
|
||||||
left join (
|
left join (
|
||||||
select m.workOrderId,
|
select m.workOrderId,
|
||||||
count(m.workOrderMilestoneId) as workOrderMilestoneCount,
|
count(m.workOrderMilestoneId) as workOrderMilestoneCount,
|
||||||
sum(case when m.workOrderMilestoneCompletionDate is null then 0 else 1 end) as workOrderMilestoneCompletionCount
|
sum(case when m.workOrderMilestoneCompletionDate is null then 0 else 1 end) as workOrderMilestoneCompletionCount
|
||||||
from WorkOrderMilestones m
|
from WorkOrderMilestones m
|
||||||
where m.recordDelete_timeMillis is null
|
where m.recordDelete_timeMillis is null
|
||||||
group by m.workOrderId
|
group by m.workOrderId
|
||||||
) m on w.workOrderId = m.workOrderId
|
) m on w.workOrderId = m.workOrderId
|
||||||
where w.recordDelete_timeMillis is null
|
where w.recordDelete_timeMillis is null
|
||||||
and w.workOrderCloseDate is null`
|
and w.workOrderCloseDate is null`
|
||||||
|
|
|
||||||
|
|
@ -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'
|
||||||
|
|
|
||||||
|
|
@ -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>;
|
||||||
|
|
|
||||||
|
|
@ -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'
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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>') +
|
||||||
|
|
|
||||||
|
|
@ -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>') +
|
||||||
|
|
|
||||||
|
|
@ -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>') +
|
||||||
|
|
|
||||||
|
|
@ -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>') +
|
||||||
|
|
|
||||||
|
|
@ -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,13 +96,13 @@ 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';
|
||||||
fieldElement.innerHTML = `<label class="label" for="${fieldId}"></label>
|
fieldElement.innerHTML = `<label class="label" for="${fieldId}"></label>
|
||||||
<div class="control"></div>`;
|
<div class="control"></div>`;
|
||||||
fieldElement.querySelector('label').textContent = lotTypeField.lotTypeField;
|
fieldElement.querySelector('label').textContent = lotTypeField.lotTypeField;
|
||||||
if (lotTypeField.lotTypeFieldValues === '') {
|
if (lotTypeField.lotTypeFieldValues === '') {
|
||||||
const inputElement = document.createElement('input');
|
const inputElement = document.createElement('input');
|
||||||
|
|
@ -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);
|
||||||
|
|
|
||||||
|
|
@ -141,16 +141,17 @@ 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
|
||||||
|
|
||||||
const fieldElement = document.createElement('div')
|
const fieldElement = document.createElement('div')
|
||||||
fieldElement.className = 'field'
|
fieldElement.className = 'field'
|
||||||
fieldElement.innerHTML = `<label class="label" for="${fieldId}"></label>
|
fieldElement.innerHTML = `<label class="label" for="${fieldId}"></label>
|
||||||
<div class="control"></div>`
|
<div class="control"></div>`
|
||||||
;(
|
;(
|
||||||
fieldElement.querySelector('label') as HTMLLabelElement
|
fieldElement.querySelector('label') as HTMLLabelElement
|
||||||
).textContent = lotTypeField.lotTypeField as string
|
).textContent = lotTypeField.lotTypeField as string
|
||||||
|
|
@ -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 ?? '') +
|
||||||
|
|
|
||||||
|
|
@ -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>') +
|
||||||
|
|
@ -101,24 +101,24 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
'</tr>');
|
'</tr>');
|
||||||
}
|
}
|
||||||
searchResultsContainerElement.innerHTML = `<table class="table is-fullwidth is-striped is-hoverable has-sticky-header">
|
searchResultsContainerElement.innerHTML = `<table class="table is-fullwidth is-striped is-hoverable has-sticky-header">
|
||||||
<thead><tr>
|
<thead><tr>
|
||||||
<th class="has-width-1"></th>
|
<th class="has-width-1"></th>
|
||||||
<th>${los.escapedAliases.Occupancy} Type</th>
|
<th>${los.escapedAliases.Occupancy} Type</th>
|
||||||
<th>${los.escapedAliases.Lot}</th>
|
<th>${los.escapedAliases.Lot}</th>
|
||||||
<th>${los.escapedAliases.OccupancyStartDate}</th>
|
<th>${los.escapedAliases.OccupancyStartDate}</th>
|
||||||
<th>End Date</th>
|
<th>End Date</th>
|
||||||
<th>${los.escapedAliases.Occupants}</th>
|
<th>${los.escapedAliases.Occupants}</th>
|
||||||
<th class="has-width-1"><span class="is-sr-only">Print</span></th>
|
<th class="has-width-1"><span class="is-sr-only">Print</span></th>
|
||||||
</tr></thead>
|
</tr></thead>
|
||||||
<table>`;
|
<table>`;
|
||||||
searchResultsContainerElement
|
searchResultsContainerElement
|
||||||
.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();
|
||||||
})();
|
})();
|
||||||
|
|
|
||||||
|
|
@ -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 ?? '') +
|
||||||
|
|
@ -137,16 +137,16 @@ declare const cityssm: cityssmGlobal
|
||||||
}
|
}
|
||||||
|
|
||||||
searchResultsContainerElement.innerHTML = `<table class="table is-fullwidth is-striped is-hoverable has-sticky-header">
|
searchResultsContainerElement.innerHTML = `<table class="table is-fullwidth is-striped is-hoverable has-sticky-header">
|
||||||
<thead><tr>
|
<thead><tr>
|
||||||
<th class="has-width-1"></th>
|
<th class="has-width-1"></th>
|
||||||
<th>${los.escapedAliases.Occupancy} Type</th>
|
<th>${los.escapedAliases.Occupancy} Type</th>
|
||||||
<th>${los.escapedAliases.Lot}</th>
|
<th>${los.escapedAliases.Lot}</th>
|
||||||
<th>${los.escapedAliases.OccupancyStartDate}</th>
|
<th>${los.escapedAliases.OccupancyStartDate}</th>
|
||||||
<th>End Date</th>
|
<th>End Date</th>
|
||||||
<th>${los.escapedAliases.Occupants}</th>
|
<th>${los.escapedAliases.Occupants}</th>
|
||||||
<th class="has-width-1"><span class="is-sr-only">Print</span></th>
|
<th class="has-width-1"><span class="is-sr-only">Print</span></th>
|
||||||
</tr></thead>
|
</tr></thead>
|
||||||
<table>`
|
<table>`
|
||||||
|
|
||||||
searchResultsContainerElement
|
searchResultsContainerElement
|
||||||
.querySelector('table')!
|
.querySelector('table')!
|
||||||
|
|
@ -211,7 +211,6 @@ declare const cityssm: cityssmGlobal
|
||||||
|
|
||||||
searchFilterFormElement.addEventListener('submit', (formEvent) => {
|
searchFilterFormElement.addEventListener('submit', (formEvent) => {
|
||||||
formEvent.preventDefault()
|
formEvent.preventDefault()
|
||||||
resetOffsetAndGetLotOccupancies()
|
|
||||||
})
|
})
|
||||||
|
|
||||||
getLotOccupancies()
|
getLotOccupancies()
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
var _a, _b, _c, _d;
|
var _a, _b, _c, _d;
|
||||||
if (responseJSON.lots.length === 0) {
|
if (responseJSON.lots.length === 0) {
|
||||||
searchResultsContainerElement.innerHTML = `<div class="message is-info">
|
searchResultsContainerElement.innerHTML = `<div class="message is-info">
|
||||||
<p class="message-body">There are no ${los.escapedAliases.lots} that meet the search criteria.</p>
|
<p class="message-body">There are no ${los.escapedAliases.lots} that meet the search criteria.</p>
|
||||||
</div>`;
|
</div>`;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const resultsTbodyElement = document.createElement('tbody');
|
const resultsTbodyElement = document.createElement('tbody');
|
||||||
|
|
@ -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();
|
||||||
})();
|
})();
|
||||||
|
|
|
||||||
|
|
@ -32,8 +32,8 @@ declare const cityssm: cityssmGlobal
|
||||||
}): void {
|
}): void {
|
||||||
if (responseJSON.lots.length === 0) {
|
if (responseJSON.lots.length === 0) {
|
||||||
searchResultsContainerElement.innerHTML = `<div class="message is-info">
|
searchResultsContainerElement.innerHTML = `<div class="message is-info">
|
||||||
<p class="message-body">There are no ${los.escapedAliases.lots} that meet the search criteria.</p>
|
<p class="message-body">There are no ${los.escapedAliases.lots} that meet the search criteria.</p>
|
||||||
</div>`
|
</div>`
|
||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
@ -146,7 +146,6 @@ declare const cityssm: cityssmGlobal
|
||||||
|
|
||||||
searchFilterFormElement.addEventListener('submit', (formEvent) => {
|
searchFilterFormElement.addEventListener('submit', (formEvent) => {
|
||||||
formEvent.preventDefault()
|
formEvent.preventDefault()
|
||||||
resetOffsetAndGetLots()
|
|
||||||
})
|
})
|
||||||
|
|
||||||
getLots()
|
getLots()
|
||||||
|
|
|
||||||
|
|
@ -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>' +
|
||||||
|
|
|
||||||
|
|
@ -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">' +
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -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
|
|
@ -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()})();
|
||||||
|
|
@ -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()})();
|
||||||
|
|
@ -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()})();
|
||||||
|
|
@ -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()})();
|
||||||
Loading…
Reference in New Issue