smaller screen optimizations
parent
d38bdf70a2
commit
80c7fe0607
|
|
@ -42,18 +42,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
let occupantsHTML = '';
|
||||
for (const occupant of lotOccupancy.lotOccupancyOccupants) {
|
||||
occupantsHTML +=
|
||||
'<span class="has-tooltip-left" data-tooltip="' +
|
||||
'<li class="has-tooltip-right" data-tooltip="' +
|
||||
cityssm.escapeHTML((_a = occupant.lotOccupantType) !== null && _a !== void 0 ? _a : '') +
|
||||
'">' +
|
||||
('<i class="fas fa-fw fa-' +
|
||||
('<span class="fa-li"><i class="fas fa-fw fa-' +
|
||||
cityssm.escapeHTML(((_b = occupant.fontAwesomeIconClass) !== null && _b !== void 0 ? _b : '') === ''
|
||||
? 'user'
|
||||
: occupant.fontAwesomeIconClass) +
|
||||
'" aria-hidden="true"></i> ') +
|
||||
'" aria-hidden="true"></i></span> ') +
|
||||
cityssm.escapeHTML((_c = occupant.occupantName) !== null && _c !== void 0 ? _c : '') +
|
||||
' ' +
|
||||
cityssm.escapeHTML((_d = occupant.occupantFamilyName) !== null && _d !== void 0 ? _d : '') +
|
||||
'</span><br />';
|
||||
'</li>';
|
||||
}
|
||||
const feeTotal = ((_f = (_e = lotOccupancy.lotOccupancyFees) === null || _e === void 0 ? void 0 : _e.reduce((soFar, currentFee) => {
|
||||
var _a, _b, _c;
|
||||
|
|
@ -107,7 +107,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
? lotOccupancy.occupancyEndDateString
|
||||
: '<span class="has-text-grey">(No End Date)</span>') +
|
||||
'</td>') +
|
||||
('<td>' + occupantsHTML + '</td>') +
|
||||
('<td>' +
|
||||
(occupantsHTML === ''
|
||||
? ''
|
||||
: '<ul class="fa-ul">' + occupantsHTML + '</ul>') +
|
||||
'</td>') +
|
||||
('<td>' + feeIconHTML + '</td>') +
|
||||
'<td>' +
|
||||
(lotOccupancy.printEJS
|
||||
|
|
|
|||
|
|
@ -72,20 +72,20 @@ declare const cityssm: cityssmGlobal
|
|||
|
||||
for (const occupant of lotOccupancy.lotOccupancyOccupants!) {
|
||||
occupantsHTML +=
|
||||
'<span class="has-tooltip-left" data-tooltip="' +
|
||||
'<li class="has-tooltip-right" data-tooltip="' +
|
||||
cityssm.escapeHTML(occupant.lotOccupantType ?? '') +
|
||||
'">' +
|
||||
('<i class="fas fa-fw fa-' +
|
||||
('<span class="fa-li"><i class="fas fa-fw fa-' +
|
||||
cityssm.escapeHTML(
|
||||
(occupant.fontAwesomeIconClass ?? '') === ''
|
||||
? 'user'
|
||||
: occupant.fontAwesomeIconClass!
|
||||
) +
|
||||
'" aria-hidden="true"></i> ') +
|
||||
'" aria-hidden="true"></i></span> ') +
|
||||
cityssm.escapeHTML(occupant.occupantName ?? '') +
|
||||
' ' +
|
||||
cityssm.escapeHTML(occupant.occupantFamilyName ?? '') +
|
||||
'</span><br />'
|
||||
'</li>'
|
||||
}
|
||||
|
||||
const feeTotal = (
|
||||
|
|
@ -153,10 +153,14 @@ declare const cityssm: cityssmGlobal
|
|||
('<td>' + lotOccupancy.occupancyStartDateString! + '</td>') +
|
||||
('<td>' +
|
||||
(lotOccupancy.occupancyEndDate
|
||||
? lotOccupancy.occupancyEndDateString
|
||||
? lotOccupancy.occupancyEndDateString!
|
||||
: '<span class="has-text-grey">(No End Date)</span>') +
|
||||
'</td>') +
|
||||
('<td>' + occupantsHTML + '</td>') +
|
||||
('<td>' +
|
||||
(occupantsHTML === ''
|
||||
? ''
|
||||
: '<ul class="fa-ul">' + occupantsHTML + '</ul>') +
|
||||
'</td>') +
|
||||
('<td>' + feeIconHTML + '</td>') +
|
||||
'<td>' +
|
||||
(lotOccupancy.printEJS
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
const limit = Number.parseInt(document.querySelector('#searchFilter--limit').value, 10);
|
||||
const offsetElement = document.querySelector('#searchFilter--offset');
|
||||
function renderLots(responseJSON) {
|
||||
var _a, _b, _c, _d;
|
||||
var _a, _b, _c, _d, _e;
|
||||
if (responseJSON.lots.length === 0) {
|
||||
searchResultsContainerElement.innerHTML = `<div class="message is-info">
|
||||
<p class="message-body">There are no ${los.escapedAliases.lots} that meet the search criteria.</p>
|
||||
|
|
@ -40,7 +40,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
? cityssm.escapeHTML(lot.lotStatus)
|
||||
: '<span class="has-text-grey">(No Status)</span>') +
|
||||
'<br />' +
|
||||
(lot.lotOccupancyCount > 0
|
||||
(((_c = lot.lotOccupancyCount) !== null && _c !== void 0 ? _c : 0) > 0
|
||||
? '<span class="is-size-7">Currently Occupied</span>'
|
||||
: '') +
|
||||
'</td>') +
|
||||
|
|
@ -58,10 +58,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
searchResultsContainerElement
|
||||
.querySelector('table')
|
||||
.append(resultsTbodyElement);
|
||||
(_c = searchResultsContainerElement
|
||||
.querySelector("button[data-page='previous']")) === null || _c === void 0 ? void 0 : _c.addEventListener('click', previousAndGetLots);
|
||||
(_d = searchResultsContainerElement
|
||||
.querySelector("button[data-page='next']")) === null || _d === void 0 ? void 0 : _d.addEventListener('click', nextAndGetLots);
|
||||
.querySelector("button[data-page='previous']")) === null || _d === void 0 ? void 0 : _d.addEventListener('click', previousAndGetLots);
|
||||
(_e = searchResultsContainerElement
|
||||
.querySelector("button[data-page='next']")) === null || _e === void 0 ? void 0 : _e.addEventListener('click', nextAndGetLots);
|
||||
}
|
||||
function getLots() {
|
||||
searchResultsContainerElement.innerHTML = los.getLoadingParagraphHTML(`Loading ${los.escapedAliases.Lots}...`);
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ declare const cityssm: cityssmGlobal
|
|||
? cityssm.escapeHTML(lot.lotStatus!)
|
||||
: '<span class="has-text-grey">(No Status)</span>') +
|
||||
'<br />' +
|
||||
(lot.lotOccupancyCount! > 0
|
||||
((lot.lotOccupancyCount ?? 0) > 0
|
||||
? '<span class="is-size-7">Currently Occupied</span>'
|
||||
: '') +
|
||||
'</td>') +
|
||||
|
|
|
|||
|
|
@ -158,7 +158,7 @@ declare const bulmaJS: BulmaJS
|
|||
})
|
||||
|
||||
// Get the datepicker container element
|
||||
const datepickerElement = containerElement.querySelector('#' + cal._id)!
|
||||
const datepickerElement = containerElement.querySelector('#' + (cal._id as string))!
|
||||
|
||||
// Override the previous and next month button styles
|
||||
const datePickerNavButtonElements = datepickerElement.querySelectorAll(
|
||||
|
|
|
|||
|
|
@ -318,6 +318,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
else {
|
||||
rowElement.insertAdjacentHTML('beforeend', `<td><span class="has-text-grey">(No ${los.escapedAliases.Lot})</span></td>`);
|
||||
}
|
||||
let occupantsHTML = '';
|
||||
for (const occupant of lotOccupancy.lotOccupancyOccupants) {
|
||||
occupantsHTML += `<li class="has-tooltip-left"
|
||||
data-tooltip="${cityssm.escapeHTML(occupant.lotOccupantType)}">
|
||||
<span class="fa-li">
|
||||
<i class="fas fa-fw fa-${cityssm.escapeHTML(((_c = occupant.fontAwesomeIconClass) !== null && _c !== void 0 ? _c : '') === ''
|
||||
? 'user'
|
||||
: occupant.fontAwesomeIconClass)}" aria-label="${los.escapedAliases.Occupant}"></i>
|
||||
</span>
|
||||
${cityssm.escapeHTML(occupant.occupantName)}
|
||||
${cityssm.escapeHTML(occupant.occupantFamilyName)}
|
||||
</li>`;
|
||||
}
|
||||
rowElement.insertAdjacentHTML('beforeend', '<td>' +
|
||||
lotOccupancy.occupancyStartDateString +
|
||||
'</td>' +
|
||||
|
|
@ -328,27 +341,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
'</td>') +
|
||||
('<td>' +
|
||||
(lotOccupancy.lotOccupancyOccupants.length === 0
|
||||
? '<span class="has-text-grey">(No ' +
|
||||
los.escapedAliases.Occupants +
|
||||
')</span>'
|
||||
: (_c = lotOccupancy.lotOccupancyOccupants) === null || _c === void 0 ? void 0 : _c.reduce((soFar, occupant) => {
|
||||
var _a;
|
||||
return (soFar +
|
||||
'<span class="has-tooltip-left" data-tooltip="' +
|
||||
cityssm.escapeHTML(occupant.lotOccupantType) +
|
||||
'">' +
|
||||
'<i class="fas fa-fw fa-' +
|
||||
cityssm.escapeHTML(((_a = occupant.fontAwesomeIconClass) !== null && _a !== void 0 ? _a : '') === ''
|
||||
? 'user'
|
||||
: occupant.fontAwesomeIconClass) +
|
||||
'" aria-label="' +
|
||||
los.escapedAliases.Occupant +
|
||||
'"></i> ' +
|
||||
cityssm.escapeHTML(occupant.occupantName) +
|
||||
' ' +
|
||||
cityssm.escapeHTML(occupant.occupantFamilyName) +
|
||||
'</span><br />');
|
||||
}, '')) +
|
||||
? `<span class="has-text-grey">(No ${los.escapedAliases.Occupants})</span>`
|
||||
: `<ul class="fa-ul ml-5">${occupantsHTML}</ul>`) +
|
||||
'</td>') +
|
||||
('<td>' +
|
||||
'<button class="button is-small is-light is-danger button--deleteLotOccupancy" data-tooltip="Delete Relationship" type="button">' +
|
||||
|
|
@ -597,7 +591,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
.occupantFamilyName) +
|
||||
(lotOccupancy.lotOccupancyOccupants.length > 1
|
||||
? ' plus ' +
|
||||
(lotOccupancy.lotOccupancyOccupants.length - 1)
|
||||
(lotOccupancy.lotOccupancyOccupants.length - 1).toString()
|
||||
: '')) +
|
||||
'</td>'));
|
||||
rowElement
|
||||
|
|
|
|||
|
|
@ -162,6 +162,19 @@ function renderRelatedOccupancies() {
|
|||
else {
|
||||
rowElement.insertAdjacentHTML('beforeend', `<td><span class="has-text-grey">(No ${los.escapedAliases.Lot})</span></td>`);
|
||||
}
|
||||
let occupantsHTML = '';
|
||||
for (const occupant of lotOccupancy.lotOccupancyOccupants) {
|
||||
occupantsHTML += `<li class="has-tooltip-left"
|
||||
data-tooltip="${cityssm.escapeHTML(occupant.lotOccupantType)}">
|
||||
<span class="fa-li">
|
||||
<i class="fas fa-fw fa-${cityssm.escapeHTML(((_c = occupant.fontAwesomeIconClass) !== null && _c !== void 0 ? _c : '') === ''
|
||||
? 'user'
|
||||
: occupant.fontAwesomeIconClass)}" aria-label="${los.escapedAliases.Occupant}"></i>
|
||||
</span>
|
||||
${cityssm.escapeHTML(occupant.occupantName)}
|
||||
${cityssm.escapeHTML(occupant.occupantFamilyName)}
|
||||
</li>`;
|
||||
}
|
||||
rowElement.insertAdjacentHTML('beforeend', '<td>' +
|
||||
lotOccupancy.occupancyStartDateString +
|
||||
'</td>' +
|
||||
|
|
@ -172,27 +185,8 @@ function renderRelatedOccupancies() {
|
|||
'</td>') +
|
||||
('<td>' +
|
||||
(lotOccupancy.lotOccupancyOccupants.length === 0
|
||||
? '<span class="has-text-grey">(No ' +
|
||||
los.escapedAliases.Occupants +
|
||||
')</span>'
|
||||
: (_c = lotOccupancy.lotOccupancyOccupants) === null || _c === void 0 ? void 0 : _c.reduce((soFar, occupant) => {
|
||||
var _a;
|
||||
return (soFar +
|
||||
'<span class="has-tooltip-left" data-tooltip="' +
|
||||
cityssm.escapeHTML(occupant.lotOccupantType) +
|
||||
'">' +
|
||||
'<i class="fas fa-fw fa-' +
|
||||
cityssm.escapeHTML(((_a = occupant.fontAwesomeIconClass) !== null && _a !== void 0 ? _a : '') === ''
|
||||
? 'user'
|
||||
: occupant.fontAwesomeIconClass) +
|
||||
'" aria-label="' +
|
||||
los.escapedAliases.Occupant +
|
||||
'"></i> ' +
|
||||
cityssm.escapeHTML(occupant.occupantName) +
|
||||
' ' +
|
||||
cityssm.escapeHTML(occupant.occupantFamilyName) +
|
||||
'</span><br />');
|
||||
}, '')) +
|
||||
? `<span class="has-text-grey">(No ${los.escapedAliases.Occupants})</span>`
|
||||
: `<ul class="fa-ul ml-5">${occupantsHTML}</ul>`) +
|
||||
'</td>') +
|
||||
('<td>' +
|
||||
'<button class="button is-small is-light is-danger button--deleteLotOccupancy" data-tooltip="Delete Relationship" type="button">' +
|
||||
|
|
@ -441,7 +435,7 @@ function doAddLotOccupancy(clickEvent) {
|
|||
.occupantFamilyName) +
|
||||
(lotOccupancy.lotOccupancyOccupants.length > 1
|
||||
? ' plus ' +
|
||||
(lotOccupancy.lotOccupancyOccupants.length - 1)
|
||||
(lotOccupancy.lotOccupancyOccupants.length - 1).toString()
|
||||
: '')) +
|
||||
'</td>'));
|
||||
rowElement
|
||||
|
|
|
|||
|
|
@ -239,42 +239,37 @@ function renderRelatedOccupancies(): void {
|
|||
)
|
||||
}
|
||||
|
||||
let occupantsHTML = ''
|
||||
|
||||
for (const occupant of lotOccupancy.lotOccupancyOccupants!) {
|
||||
occupantsHTML += `<li class="has-tooltip-left"
|
||||
data-tooltip="${cityssm.escapeHTML(occupant.lotOccupantType!)}">
|
||||
<span class="fa-li">
|
||||
<i class="fas fa-fw fa-${cityssm.escapeHTML(
|
||||
(occupant.fontAwesomeIconClass ?? '') === ''
|
||||
? 'user'
|
||||
: occupant.fontAwesomeIconClass!
|
||||
)}" aria-label="${los.escapedAliases.Occupant}"></i>
|
||||
</span>
|
||||
${cityssm.escapeHTML(occupant.occupantName!)}
|
||||
${cityssm.escapeHTML(occupant.occupantFamilyName!)}
|
||||
</li>`
|
||||
}
|
||||
|
||||
rowElement.insertAdjacentHTML(
|
||||
'beforeend',
|
||||
'<td>' +
|
||||
lotOccupancy.occupancyStartDateString +
|
||||
lotOccupancy.occupancyStartDateString! +
|
||||
'</td>' +
|
||||
('<td>' +
|
||||
(lotOccupancy.occupancyEndDate
|
||||
? lotOccupancy.occupancyEndDateString
|
||||
? lotOccupancy.occupancyEndDateString!
|
||||
: '<span class="has-text-grey">(No End Date)</span>') +
|
||||
'</td>') +
|
||||
('<td>' +
|
||||
(lotOccupancy.lotOccupancyOccupants!.length === 0
|
||||
? '<span class="has-text-grey">(No ' +
|
||||
los.escapedAliases.Occupants +
|
||||
')</span>'
|
||||
: lotOccupancy.lotOccupancyOccupants?.reduce((soFar, occupant) => {
|
||||
return (
|
||||
soFar +
|
||||
'<span class="has-tooltip-left" data-tooltip="' +
|
||||
cityssm.escapeHTML(occupant.lotOccupantType!) +
|
||||
'">' +
|
||||
'<i class="fas fa-fw fa-' +
|
||||
cityssm.escapeHTML(
|
||||
(occupant.fontAwesomeIconClass ?? '') === ''
|
||||
? 'user'
|
||||
: occupant.fontAwesomeIconClass!
|
||||
) +
|
||||
'" aria-label="' +
|
||||
los.escapedAliases.Occupant +
|
||||
'"></i> ' +
|
||||
cityssm.escapeHTML(occupant.occupantName!) +
|
||||
' ' +
|
||||
cityssm.escapeHTML(occupant.occupantFamilyName!) +
|
||||
'</span><br />'
|
||||
)
|
||||
}, '')) +
|
||||
? `<span class="has-text-grey">(No ${los.escapedAliases.Occupants})</span>`
|
||||
: `<ul class="fa-ul ml-5">${occupantsHTML}</ul>`) +
|
||||
'</td>') +
|
||||
('<td>' +
|
||||
'<button class="button is-small is-light is-danger button--deleteLotOccupancy" data-tooltip="Delete Relationship" type="button">' +
|
||||
|
|
@ -631,7 +626,7 @@ document
|
|||
) +
|
||||
(lotOccupancy.lotOccupancyOccupants!.length > 1
|
||||
? ' plus ' +
|
||||
(lotOccupancy.lotOccupancyOccupants!.length - 1)
|
||||
(lotOccupancy.lotOccupancyOccupants!.length - 1).toString()
|
||||
: '')) +
|
||||
'</td>')
|
||||
)
|
||||
|
|
|
|||
|
|
@ -42,31 +42,26 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
}
|
||||
let lotOccupancyHTML = '';
|
||||
for (const lot of milestone.workOrderLots) {
|
||||
lotOccupancyHTML +=
|
||||
'<span class="has-tooltip-left" data-tooltip="' +
|
||||
cityssm.escapeHTML((_a = lot.mapName) !== null && _a !== void 0 ? _a : '') +
|
||||
'">' +
|
||||
'<i class="fas fa-vector-square" aria-label="' +
|
||||
los.escapedAliases.Lot +
|
||||
'"></i> ' +
|
||||
cityssm.escapeHTML((_b = lot.lotName) !== null && _b !== void 0 ? _b : '') +
|
||||
'</span>' +
|
||||
'<br />';
|
||||
lotOccupancyHTML += `<li class="has-tooltip-left"
|
||||
data-tooltip="${cityssm.escapeHTML((_a = lot.mapName) !== null && _a !== void 0 ? _a : '')}">
|
||||
<span class="fa-li">
|
||||
<i class="fas fa-vector-square"
|
||||
aria-label="${los.escapedAliases.Lot}"></i>
|
||||
</span>
|
||||
${cityssm.escapeHTML((_b = lot.lotName) !== null && _b !== void 0 ? _b : '')}
|
||||
</li>`;
|
||||
}
|
||||
for (const lotOccupancy of milestone.workOrderLotOccupancies) {
|
||||
for (const occupant of lotOccupancy.lotOccupancyOccupants) {
|
||||
lotOccupancyHTML +=
|
||||
'<span class="has-tooltip-left" data-tooltip="' +
|
||||
cityssm.escapeHTML((_c = occupant.lotOccupantType) !== null && _c !== void 0 ? _c : '') +
|
||||
'">' +
|
||||
'<i class="fas fa-user" aria-label="' +
|
||||
los.escapedAliases.Occupancy +
|
||||
'"></i> ' +
|
||||
cityssm.escapeHTML((_d = occupant.occupantName) !== null && _d !== void 0 ? _d : '') +
|
||||
' ' +
|
||||
cityssm.escapeHTML((_e = occupant.occupantFamilyName) !== null && _e !== void 0 ? _e : '') +
|
||||
'</span>' +
|
||||
'<br />';
|
||||
lotOccupancyHTML += `<li class="has-tooltip-left"
|
||||
data-tooltip="${cityssm.escapeHTML((_c = occupant.lotOccupantType) !== null && _c !== void 0 ? _c : '')}">
|
||||
<span class="fa-li">
|
||||
<i class="fas fa-user"
|
||||
aria-label="${los.escapedAliases.Occupancy}"></i>
|
||||
</span>
|
||||
${cityssm.escapeHTML((_d = occupant.occupantName) !== null && _d !== void 0 ? _d : '')}
|
||||
${cityssm.escapeHTML((_e = occupant.occupantFamilyName) !== null && _e !== void 0 ? _e : '')}
|
||||
</li>`;
|
||||
}
|
||||
}
|
||||
panelBlockElement.innerHTML =
|
||||
|
|
@ -104,7 +99,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
cityssm.escapeHTML((_h = milestone.workOrderDescription) !== null && _h !== void 0 ? _h : '') +
|
||||
'</span>' +
|
||||
'</div>') +
|
||||
('<div class="column is-size-7">' + lotOccupancyHTML + '</div>') +
|
||||
('<div class="column is-size-7">' +
|
||||
(lotOccupancyHTML === ''
|
||||
? ''
|
||||
: '<ul class="fa-ul ml-4">' + lotOccupancyHTML + '</ul>') +
|
||||
'</div>') +
|
||||
'</div>';
|
||||
currentPanelElement.append(panelBlockElement);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -78,32 +78,29 @@ declare const cityssm: cityssmGlobal
|
|||
let lotOccupancyHTML = ''
|
||||
|
||||
for (const lot of milestone.workOrderLots!) {
|
||||
lotOccupancyHTML +=
|
||||
'<span class="has-tooltip-left" data-tooltip="' +
|
||||
cityssm.escapeHTML(lot.mapName ?? '') +
|
||||
'">' +
|
||||
'<i class="fas fa-vector-square" aria-label="' +
|
||||
los.escapedAliases.Lot +
|
||||
'"></i> ' +
|
||||
cityssm.escapeHTML(lot.lotName ?? '') +
|
||||
'</span>' +
|
||||
'<br />'
|
||||
lotOccupancyHTML += `<li class="has-tooltip-left"
|
||||
data-tooltip="${cityssm.escapeHTML(lot.mapName ?? '')}">
|
||||
<span class="fa-li">
|
||||
<i class="fas fa-vector-square"
|
||||
aria-label="${los.escapedAliases.Lot}"></i>
|
||||
</span>
|
||||
${cityssm.escapeHTML(lot.lotName ?? '')}
|
||||
</li>`
|
||||
}
|
||||
|
||||
for (const lotOccupancy of milestone.workOrderLotOccupancies!) {
|
||||
for (const occupant of lotOccupancy.lotOccupancyOccupants!) {
|
||||
lotOccupancyHTML +=
|
||||
'<span class="has-tooltip-left" data-tooltip="' +
|
||||
cityssm.escapeHTML(occupant.lotOccupantType ?? '') +
|
||||
'">' +
|
||||
'<i class="fas fa-user" aria-label="' +
|
||||
los.escapedAliases.Occupancy +
|
||||
'"></i> ' +
|
||||
cityssm.escapeHTML(occupant.occupantName ?? '') +
|
||||
' ' +
|
||||
cityssm.escapeHTML(occupant.occupantFamilyName ?? '') +
|
||||
'</span>' +
|
||||
'<br />'
|
||||
lotOccupancyHTML += `<li class="has-tooltip-left"
|
||||
data-tooltip="${cityssm.escapeHTML(
|
||||
occupant.lotOccupantType ?? ''
|
||||
)}">
|
||||
<span class="fa-li">
|
||||
<i class="fas fa-user"
|
||||
aria-label="${los.escapedAliases.Occupancy}"></i>
|
||||
</span>
|
||||
${cityssm.escapeHTML(occupant.occupantName ?? '')}
|
||||
${cityssm.escapeHTML(occupant.occupantFamilyName ?? '')}
|
||||
</li>`
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -142,7 +139,11 @@ declare const cityssm: cityssmGlobal
|
|||
cityssm.escapeHTML(milestone.workOrderDescription ?? '') +
|
||||
'</span>' +
|
||||
'</div>') +
|
||||
('<div class="column is-size-7">' + lotOccupancyHTML + '</div>') +
|
||||
('<div class="column is-size-7">' +
|
||||
(lotOccupancyHTML === ''
|
||||
? ''
|
||||
: '<ul class="fa-ul ml-4">' + lotOccupancyHTML + '</ul>') +
|
||||
'</div>') +
|
||||
'</div>'
|
||||
;(currentPanelElement as HTMLElement).append(panelBlockElement)
|
||||
}
|
||||
|
|
@ -162,10 +163,14 @@ declare const cityssm: cityssmGlobal
|
|||
cityssm.postJSON(
|
||||
los.urlPrefix + '/workOrders/doGetWorkOrderMilestones',
|
||||
workOrderSearchFiltersFormElement,
|
||||
(responseJSON: {
|
||||
(responseJSON) => {
|
||||
renderMilestones(
|
||||
(
|
||||
responseJSON as {
|
||||
workOrderMilestones: recordTypes.WorkOrderMilestone[]
|
||||
}) => {
|
||||
renderMilestones(responseJSON.workOrderMilestones)
|
||||
}
|
||||
).workOrderMilestones
|
||||
)
|
||||
}
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,45 +12,39 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
function renderWorkOrders(responseJSON) {
|
||||
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
||||
if (responseJSON.workOrders.length === 0) {
|
||||
searchResultsContainerElement.innerHTML =
|
||||
'<div class="message is-info">' +
|
||||
'<p class="message-body">There are no work orders that meet the search criteria.</p>' +
|
||||
'</div>';
|
||||
searchResultsContainerElement.innerHTML = `<div class="message is-info">
|
||||
<p class="message-body">There are no work orders that meet the search criteria.</p>
|
||||
</div>`;
|
||||
return;
|
||||
}
|
||||
const resultsTbodyElement = document.createElement('tbody');
|
||||
for (const workOrder of responseJSON.workOrders) {
|
||||
let relatedHTML = '';
|
||||
for (const lot of workOrder.workOrderLots) {
|
||||
relatedHTML +=
|
||||
'<span class="has-tooltip-left" data-tooltip="' +
|
||||
cityssm.escapeHTML((_a = lot.mapName) !== null && _a !== void 0 ? _a : '') +
|
||||
'">' +
|
||||
'<i class="fas fa-fw fa-vector-square" aria-label="' +
|
||||
los.escapedAliases.Lot +
|
||||
'"></i> ' +
|
||||
cityssm.escapeHTML(((_b = lot.lotName) !== null && _b !== void 0 ? _b : '') === ''
|
||||
relatedHTML += `<li class="has-tooltip-right"
|
||||
data-tooltip="${cityssm.escapeHTML((_a = lot.mapName) !== null && _a !== void 0 ? _a : '')}">
|
||||
<span class="fa-li">
|
||||
<i class="fas fa-fw fa-vector-square"
|
||||
aria-label="${los.escapedAliases.Lot}"></i>
|
||||
</span>
|
||||
${cityssm.escapeHTML(((_b = lot.lotName) !== null && _b !== void 0 ? _b : '') === ''
|
||||
? '(No ' + los.escapedAliases.Lot + ' Name)'
|
||||
: lot.lotName) +
|
||||
'</span><br />';
|
||||
: lot.lotName)}
|
||||
</li>`;
|
||||
}
|
||||
for (const occupancy of workOrder.workOrderLotOccupancies) {
|
||||
for (const occupant of occupancy.lotOccupancyOccupants) {
|
||||
relatedHTML +=
|
||||
'<span class="has-tooltip-left" data-tooltip="' +
|
||||
cityssm.escapeHTML((_c = occupant.lotOccupantType) !== null && _c !== void 0 ? _c : '') +
|
||||
'">' +
|
||||
'<i class="fas fa-fw fa-' +
|
||||
cityssm.escapeHTML(((_d = occupant.fontAwesomeIconClass) !== null && _d !== void 0 ? _d : '') === ''
|
||||
relatedHTML += `<li class="has-tooltip-right"
|
||||
data-tooltip="${cityssm.escapeHTML((_c = occupant.lotOccupantType) !== null && _c !== void 0 ? _c : '')}">
|
||||
<span class="fa-li">
|
||||
<i class="fas fa-fw fa-${cityssm.escapeHTML(((_d = occupant.fontAwesomeIconClass) !== null && _d !== void 0 ? _d : '') === ''
|
||||
? 'user'
|
||||
: occupant.fontAwesomeIconClass) +
|
||||
'" aria-label="' +
|
||||
los.escapedAliases.occupant +
|
||||
'"></i> ' +
|
||||
cityssm.escapeHTML(((_e = occupant.occupantName) !== null && _e !== void 0 ? _e : '') === '' && ((_f = occupant.occupantFamilyName) !== null && _f !== void 0 ? _f : '') === ''
|
||||
: occupant.fontAwesomeIconClass)}" aria-label="${los.escapedAliases.occupant}"></i></span>
|
||||
${cityssm.escapeHTML(((_e = occupant.occupantName) !== null && _e !== void 0 ? _e : '') === '' &&
|
||||
((_f = occupant.occupantFamilyName) !== null && _f !== void 0 ? _f : '') === ''
|
||||
? '(No Name)'
|
||||
: occupant.occupantName + ' ' + occupant.occupantFamilyName) +
|
||||
'</span><br />';
|
||||
: occupant.occupantName + ' ' + occupant.occupantFamilyName)}
|
||||
</li>`;
|
||||
}
|
||||
}
|
||||
resultsTbodyElement.insertAdjacentHTML('beforeend', '<tr>' +
|
||||
|
|
@ -58,9 +52,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
'<a class="has-text-weight-bold" href="' +
|
||||
los.getWorkOrderURL(workOrder.workOrderId) +
|
||||
'">' +
|
||||
(workOrder.workOrderNumber.trim()
|
||||
? cityssm.escapeHTML((_g = workOrder.workOrderNumber) !== null && _g !== void 0 ? _g : '')
|
||||
: '(No Number)') +
|
||||
(workOrder.workOrderNumber.trim() === ''
|
||||
? '(No Number)'
|
||||
: cityssm.escapeHTML((_g = workOrder.workOrderNumber) !== null && _g !== void 0 ? _g : '')) +
|
||||
'</a>' +
|
||||
'</td>') +
|
||||
('<td>' +
|
||||
|
|
@ -70,37 +64,43 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
cityssm.escapeHTML((_j = workOrder.workOrderDescription) !== null && _j !== void 0 ? _j : '') +
|
||||
'</span>' +
|
||||
'</td>') +
|
||||
('<td class="is-nowrap"><span class="is-size-7">' +
|
||||
relatedHTML +
|
||||
'</span></td>') +
|
||||
('<td class="is-nowrap">' +
|
||||
('<span class="has-tooltip-left" data-tooltip="' +
|
||||
('<td>' +
|
||||
(relatedHTML === ''
|
||||
? ''
|
||||
: '<ul class="fa-ul ml-5 is-size-7">' + relatedHTML + '</ul>') +
|
||||
'</td>') +
|
||||
('<td>' +
|
||||
'<ul class="fa-ul ml-5 is-size-7">' +
|
||||
('<li class="has-tooltip-right" data-tooltip="' +
|
||||
los.escapedAliases.WorkOrderOpenDate +
|
||||
'">' +
|
||||
'<span class="fa-li">' +
|
||||
'<i class="fas fa-fw fa-play" aria-label="' +
|
||||
los.escapedAliases.WorkOrderOpenDate +
|
||||
'"></i> ' +
|
||||
'"></i></span> ' +
|
||||
workOrder.workOrderOpenDateString +
|
||||
'</span><br />') +
|
||||
('<span class="has-tooltip-left" data-tooltip="' +
|
||||
'</li>') +
|
||||
('<li class="has-tooltip-right" data-tooltip="' +
|
||||
los.escapedAliases.WorkOrderCloseDate +
|
||||
'">' +
|
||||
'<span class="fa-li">' +
|
||||
'<i class="fas fa-fw fa-stop" aria-label="' +
|
||||
los.escapedAliases.WorkOrderCloseDate +
|
||||
'"></i> ' +
|
||||
'"></i></span> ' +
|
||||
(workOrder.workOrderCloseDate
|
||||
? workOrder.workOrderCloseDateString
|
||||
: '<span class="has-text-grey">(No ' +
|
||||
los.escapedAliases.WorkOrderCloseDate +
|
||||
')</span>') +
|
||||
'</span>') +
|
||||
'</li>') +
|
||||
'</ul>' +
|
||||
'</td>') +
|
||||
('<td>' +
|
||||
(workOrder.workOrderMilestoneCount === 0
|
||||
? '-'
|
||||
: workOrder.workOrderMilestoneCompletionCount +
|
||||
: workOrder.workOrderMilestoneCompletionCount.toString() +
|
||||
' / ' +
|
||||
workOrder.workOrderMilestoneCount) +
|
||||
workOrder.workOrderMilestoneCount.toString()) +
|
||||
'</td>') +
|
||||
(workOrderPrints.length > 0
|
||||
? '<td>' +
|
||||
|
|
@ -109,7 +109,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
'/print/' +
|
||||
workOrderPrints[0] +
|
||||
'/?workOrderId=' +
|
||||
workOrder.workOrderId +
|
||||
workOrder.workOrderId.toString() +
|
||||
'" target="_blank">' +
|
||||
'<i class="fas fa-print" aria-label="Print"></i>' +
|
||||
'</a>' +
|
||||
|
|
@ -117,17 +117,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
: '') +
|
||||
'</tr>');
|
||||
}
|
||||
searchResultsContainerElement.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>' +
|
||||
(workOrderPrints.length > 0 ? '<th class="has-width-1"></th>' : '') +
|
||||
'</tr></thead>' +
|
||||
'<table>';
|
||||
searchResultsContainerElement.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>
|
||||
${workOrderPrints.length > 0 ? '<th class="has-width-1"></th>' : ''}
|
||||
</tr></thead>
|
||||
<table>`;
|
||||
searchResultsContainerElement.insertAdjacentHTML('beforeend', los.getSearchResultsPagerHTML(limit, responseJSON.offset, responseJSON.count));
|
||||
searchResultsContainerElement
|
||||
.querySelector('table')
|
||||
|
|
|
|||
|
|
@ -35,10 +35,9 @@ declare const cityssm: cityssmGlobal
|
|||
workOrders: recordTypes.WorkOrder[]
|
||||
}): void {
|
||||
if (responseJSON.workOrders.length === 0) {
|
||||
searchResultsContainerElement.innerHTML =
|
||||
'<div class="message is-info">' +
|
||||
'<p class="message-body">There are no work orders that meet the search criteria.</p>' +
|
||||
'</div>'
|
||||
searchResultsContainerElement.innerHTML = `<div class="message is-info">
|
||||
<p class="message-body">There are no work orders that meet the search criteria.</p>
|
||||
</div>`
|
||||
|
||||
return
|
||||
}
|
||||
|
|
@ -49,42 +48,39 @@ declare const cityssm: cityssmGlobal
|
|||
let relatedHTML = ''
|
||||
|
||||
for (const lot of workOrder.workOrderLots!) {
|
||||
relatedHTML +=
|
||||
'<span class="has-tooltip-left" data-tooltip="' +
|
||||
cityssm.escapeHTML(lot.mapName ?? '') +
|
||||
'">' +
|
||||
'<i class="fas fa-fw fa-vector-square" aria-label="' +
|
||||
los.escapedAliases.Lot +
|
||||
'"></i> ' +
|
||||
cityssm.escapeHTML(
|
||||
relatedHTML += `<li class="has-tooltip-right"
|
||||
data-tooltip="${cityssm.escapeHTML(lot.mapName ?? '')}">
|
||||
<span class="fa-li">
|
||||
<i class="fas fa-fw fa-vector-square"
|
||||
aria-label="${los.escapedAliases.Lot}"></i>
|
||||
</span>
|
||||
${cityssm.escapeHTML(
|
||||
(lot.lotName ?? '') === ''
|
||||
? '(No ' + los.escapedAliases.Lot + ' Name)'
|
||||
: lot.lotName!
|
||||
) +
|
||||
'</span><br />'
|
||||
)}
|
||||
</li>`
|
||||
}
|
||||
|
||||
for (const occupancy of workOrder.workOrderLotOccupancies!) {
|
||||
for (const occupant of occupancy.lotOccupancyOccupants!) {
|
||||
relatedHTML +=
|
||||
'<span class="has-tooltip-left" data-tooltip="' +
|
||||
cityssm.escapeHTML(occupant.lotOccupantType ?? '') +
|
||||
'">' +
|
||||
'<i class="fas fa-fw fa-' +
|
||||
cityssm.escapeHTML(
|
||||
relatedHTML += `<li class="has-tooltip-right"
|
||||
data-tooltip="${cityssm.escapeHTML(
|
||||
occupant.lotOccupantType ?? ''
|
||||
)}">
|
||||
<span class="fa-li">
|
||||
<i class="fas fa-fw fa-${cityssm.escapeHTML(
|
||||
(occupant.fontAwesomeIconClass ?? '') === ''
|
||||
? 'user'
|
||||
: occupant.fontAwesomeIconClass!
|
||||
) +
|
||||
'" aria-label="' +
|
||||
los.escapedAliases.occupant +
|
||||
'"></i> ' +
|
||||
cityssm.escapeHTML(
|
||||
(occupant.occupantName ?? '') === '' && (occupant.occupantFamilyName ?? '') === ''
|
||||
)}" aria-label="${los.escapedAliases.occupant}"></i></span>
|
||||
${cityssm.escapeHTML(
|
||||
(occupant.occupantName ?? '') === '' &&
|
||||
(occupant.occupantFamilyName ?? '') === ''
|
||||
? '(No Name)'
|
||||
: occupant.occupantName! + ' ' + occupant.occupantFamilyName!
|
||||
) +
|
||||
'</span><br />'
|
||||
)}
|
||||
</li>`
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -95,9 +91,9 @@ declare const cityssm: cityssmGlobal
|
|||
'<a class="has-text-weight-bold" href="' +
|
||||
los.getWorkOrderURL(workOrder.workOrderId) +
|
||||
'">' +
|
||||
(workOrder.workOrderNumber!.trim()
|
||||
? cityssm.escapeHTML(workOrder.workOrderNumber ?? '')
|
||||
: '(No Number)') +
|
||||
(workOrder.workOrderNumber!.trim() === ''
|
||||
? '(No Number)'
|
||||
: cityssm.escapeHTML(workOrder.workOrderNumber ?? '')) +
|
||||
'</a>' +
|
||||
'</td>') +
|
||||
('<td>' +
|
||||
|
|
@ -107,37 +103,43 @@ declare const cityssm: cityssmGlobal
|
|||
cityssm.escapeHTML(workOrder.workOrderDescription ?? '') +
|
||||
'</span>' +
|
||||
'</td>') +
|
||||
('<td class="is-nowrap"><span class="is-size-7">' +
|
||||
relatedHTML +
|
||||
'</span></td>') +
|
||||
('<td class="is-nowrap">' +
|
||||
('<span class="has-tooltip-left" data-tooltip="' +
|
||||
('<td>' +
|
||||
(relatedHTML === ''
|
||||
? ''
|
||||
: '<ul class="fa-ul ml-5 is-size-7">' + relatedHTML + '</ul>') +
|
||||
'</td>') +
|
||||
('<td>' +
|
||||
'<ul class="fa-ul ml-5 is-size-7">' +
|
||||
('<li class="has-tooltip-right" data-tooltip="' +
|
||||
los.escapedAliases.WorkOrderOpenDate +
|
||||
'">' +
|
||||
'<span class="fa-li">' +
|
||||
'<i class="fas fa-fw fa-play" aria-label="' +
|
||||
los.escapedAliases.WorkOrderOpenDate +
|
||||
'"></i> ' +
|
||||
workOrder.workOrderOpenDateString +
|
||||
'</span><br />') +
|
||||
('<span class="has-tooltip-left" data-tooltip="' +
|
||||
'"></i></span> ' +
|
||||
workOrder.workOrderOpenDateString! +
|
||||
'</li>') +
|
||||
('<li class="has-tooltip-right" data-tooltip="' +
|
||||
los.escapedAliases.WorkOrderCloseDate +
|
||||
'">' +
|
||||
'<span class="fa-li">' +
|
||||
'<i class="fas fa-fw fa-stop" aria-label="' +
|
||||
los.escapedAliases.WorkOrderCloseDate +
|
||||
'"></i> ' +
|
||||
'"></i></span> ' +
|
||||
(workOrder.workOrderCloseDate
|
||||
? workOrder.workOrderCloseDateString
|
||||
? workOrder.workOrderCloseDateString!
|
||||
: '<span class="has-text-grey">(No ' +
|
||||
los.escapedAliases.WorkOrderCloseDate +
|
||||
')</span>') +
|
||||
'</span>') +
|
||||
'</li>') +
|
||||
'</ul>' +
|
||||
'</td>') +
|
||||
('<td>' +
|
||||
(workOrder.workOrderMilestoneCount === 0
|
||||
? '-'
|
||||
: workOrder.workOrderMilestoneCompletionCount +
|
||||
: workOrder.workOrderMilestoneCompletionCount!.toString() +
|
||||
' / ' +
|
||||
workOrder.workOrderMilestoneCount) +
|
||||
workOrder.workOrderMilestoneCount!.toString()) +
|
||||
'</td>') +
|
||||
(workOrderPrints.length > 0
|
||||
? '<td>' +
|
||||
|
|
@ -146,7 +148,7 @@ declare const cityssm: cityssmGlobal
|
|||
'/print/' +
|
||||
workOrderPrints[0] +
|
||||
'/?workOrderId=' +
|
||||
workOrder.workOrderId +
|
||||
workOrder.workOrderId!.toString() +
|
||||
'" target="_blank">' +
|
||||
'<i class="fas fa-print" aria-label="Print"></i>' +
|
||||
'</a>' +
|
||||
|
|
@ -156,17 +158,16 @@ declare const cityssm: cityssmGlobal
|
|||
)
|
||||
}
|
||||
|
||||
searchResultsContainerElement.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>' +
|
||||
(workOrderPrints.length > 0 ? '<th class="has-width-1"></th>' : '') +
|
||||
'</tr></thead>' +
|
||||
'<table>'
|
||||
searchResultsContainerElement.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>
|
||||
${workOrderPrints.length > 0 ? '<th class="has-width-1"></th>' : ''}
|
||||
</tr></thead>
|
||||
<table>`
|
||||
|
||||
searchResultsContainerElement.insertAdjacentHTML(
|
||||
'beforeend',
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -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()}),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,l,d;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 u=document.createElement("tbody");for(const s of t.lots)u.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 />"+((null!==(o=s.lotOccupancyCount)&&void 0!==o?o:0)>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(u),null===(l=s.querySelector("button[data-page='previous']"))||void 0===l||l.addEventListener("click",c),null===(d=s.querySelector("button[data-page='next']"))||void 0===d||d.addEventListener("click",i)}function o(){s.innerHTML=e.getLoadingParagraphHTML(`Loading ${e.escapedAliases.Lots}...`),cityssm.postJSON(e.urlPrefix+"/lots/doSearchLots",t,r)}function l(){n.value="0",o()}function c(){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",l);t.addEventListener("submit",e=>{e.preventDefault()}),o()})();
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -1 +1 @@
|
|||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=exports.los,s=document.querySelector("#form--searchFilters"),r=s.querySelector("#searchFilter--workOrderMilestoneDateFilter"),a=s.querySelector("#searchFilter--workOrderMilestoneDateString"),t=document.querySelector("#container--milestoneCalendar");function i(r){r&&r.preventDefault(),t.innerHTML=e.getLoadingParagraphHTML("Loading Milestones..."),cityssm.postJSON(e.urlPrefix+"/workOrders/doGetWorkOrderMilestones",s,s=>{!function(s){var r,a,i,o,n,l,c,d;if(0===s.length)return void(t.innerHTML='<div class="message is-info">\n <p class="message-body">There are no milestones that meet the search criteria.</p>\n </div>');t.innerHTML="";const p=cityssm.dateToString(new Date);let m,u="x";for(const M of s){u!==M.workOrderMilestoneDateString&&(m&&t.append(m),(m=document.createElement("div")).className="panel",m.innerHTML=`<h2 class="panel-heading">\n ${0===M.workOrderMilestoneDate?"No Set Date":M.workOrderMilestoneDateString}\n </h2>`,u=M.workOrderMilestoneDateString);const s=document.createElement("div");s.className="panel-block is-block",!M.workOrderMilestoneCompletionDate&&""!==M.workOrderMilestoneDateString&&M.workOrderMilestoneDateString<p&&s.classList.add("has-background-warning-light");let O="";for(const s of M.workOrderLots)O+='<span class="has-tooltip-left" data-tooltip="'+cityssm.escapeHTML(null!==(r=s.mapName)&&void 0!==r?r:"")+'"><i class="fas fa-vector-square" aria-label="'+e.escapedAliases.Lot+'"></i> '+cityssm.escapeHTML(null!==(a=s.lotName)&&void 0!==a?a:"")+"</span><br />";for(const s of M.workOrderLotOccupancies)for(const r of s.lotOccupancyOccupants)O+='<span class="has-tooltip-left" data-tooltip="'+cityssm.escapeHTML(null!==(i=r.lotOccupantType)&&void 0!==i?i:"")+'"><i class="fas fa-user" aria-label="'+e.escapedAliases.Occupancy+'"></i> '+cityssm.escapeHTML(null!==(o=r.occupantName)&&void 0!==o?o:"")+" "+cityssm.escapeHTML(null!==(n=r.occupantFamilyName)&&void 0!==n?n:"")+"</span><br />";s.innerHTML='<div class="columns"><div class="column is-narrow"><span class="icon is-small">'+(M.workOrderMilestoneCompletionDate?'<i class="fas fa-check" aria-label="Completed"></i>':'<i class="far fa-square has-text-grey" aria-label="Incomplete"></i>')+'</span></div><div class="column">'+(0===M.workOrderMilestoneTime?"":M.workOrderMilestoneTimePeriodString+"<br />")+(M.workOrderMilestoneTypeId?"<strong>"+cityssm.escapeHTML(M.workOrderMilestoneType)+"</strong><br />":"")+'<span class="is-size-7">'+cityssm.escapeHTML(M.workOrderMilestoneDescription)+'</span></div><div class="column"><i class="fas fa-circle" style="color:'+e.getRandomColor(null!==(l=M.workOrderNumber)&&void 0!==l?l:"")+'" aria-hidden="true"></i> <a class="has-text-weight-bold" href="'+e.getWorkOrderURL(M.workOrderId)+'">'+cityssm.escapeHTML(null!==(c=M.workOrderNumber)&&void 0!==c?c:"")+'</a><br /><span class="is-size-7">'+cityssm.escapeHTML(null!==(d=M.workOrderDescription)&&void 0!==d?d:"")+'</span></div><div class="column is-size-7">'+O+"</div></div>",m.append(s)}t.append(m)}(s.workOrderMilestones)})}r.addEventListener("change",()=>{a.closest("fieldset").disabled="date"!==r.value,i()}),e.initializeDatePickers(s),a.addEventListener("change",i),s.addEventListener("submit",i),i()})();
|
||||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=exports.los,s=document.querySelector("#form--searchFilters"),r=s.querySelector("#searchFilter--workOrderMilestoneDateFilter"),a=s.querySelector("#searchFilter--workOrderMilestoneDateString"),t=document.querySelector("#container--milestoneCalendar");function i(r){r&&r.preventDefault(),t.innerHTML=e.getLoadingParagraphHTML("Loading Milestones..."),cityssm.postJSON(e.urlPrefix+"/workOrders/doGetWorkOrderMilestones",s,s=>{!function(s){var r,a,i,n,o,l,c,d;if(0===s.length)return void(t.innerHTML='<div class="message is-info">\n <p class="message-body">There are no milestones that meet the search criteria.</p>\n </div>');t.innerHTML="";const p=cityssm.dateToString(new Date);let m,u="x";for(const M of s){u!==M.workOrderMilestoneDateString&&(m&&t.append(m),(m=document.createElement("div")).className="panel",m.innerHTML=`<h2 class="panel-heading">\n ${0===M.workOrderMilestoneDate?"No Set Date":M.workOrderMilestoneDateString}\n </h2>`,u=M.workOrderMilestoneDateString);const s=document.createElement("div");s.className="panel-block is-block",!M.workOrderMilestoneCompletionDate&&""!==M.workOrderMilestoneDateString&&M.workOrderMilestoneDateString<p&&s.classList.add("has-background-warning-light");let f="";for(const s of M.workOrderLots)f+=`<li class="has-tooltip-left"\n data-tooltip="${cityssm.escapeHTML(null!==(r=s.mapName)&&void 0!==r?r:"")}">\n <span class="fa-li">\n <i class="fas fa-vector-square"\n aria-label="${e.escapedAliases.Lot}"></i>\n </span>\n ${cityssm.escapeHTML(null!==(a=s.lotName)&&void 0!==a?a:"")}\n </li>`;for(const s of M.workOrderLotOccupancies)for(const r of s.lotOccupancyOccupants)f+=`<li class="has-tooltip-left"\n data-tooltip="${cityssm.escapeHTML(null!==(i=r.lotOccupantType)&&void 0!==i?i:"")}">\n <span class="fa-li">\n <i class="fas fa-user"\n aria-label="${e.escapedAliases.Occupancy}"></i>\n </span>\n ${cityssm.escapeHTML(null!==(n=r.occupantName)&&void 0!==n?n:"")}\n ${cityssm.escapeHTML(null!==(o=r.occupantFamilyName)&&void 0!==o?o:"")}\n </li>`;s.innerHTML='<div class="columns"><div class="column is-narrow"><span class="icon is-small">'+(M.workOrderMilestoneCompletionDate?'<i class="fas fa-check" aria-label="Completed"></i>':'<i class="far fa-square has-text-grey" aria-label="Incomplete"></i>')+'</span></div><div class="column">'+(0===M.workOrderMilestoneTime?"":M.workOrderMilestoneTimePeriodString+"<br />")+(M.workOrderMilestoneTypeId?"<strong>"+cityssm.escapeHTML(M.workOrderMilestoneType)+"</strong><br />":"")+'<span class="is-size-7">'+cityssm.escapeHTML(M.workOrderMilestoneDescription)+'</span></div><div class="column"><i class="fas fa-circle" style="color:'+e.getRandomColor(null!==(l=M.workOrderNumber)&&void 0!==l?l:"")+'" aria-hidden="true"></i> <a class="has-text-weight-bold" href="'+e.getWorkOrderURL(M.workOrderId)+'">'+cityssm.escapeHTML(null!==(c=M.workOrderNumber)&&void 0!==c?c:"")+'</a><br /><span class="is-size-7">'+cityssm.escapeHTML(null!==(d=M.workOrderDescription)&&void 0!==d?d:"")+'</span></div><div class="column is-size-7">'+(""===f?"":'<ul class="fa-ul ml-4">'+f+"</ul>")+"</div></div>",m.append(s)}t.append(m)}(s.workOrderMilestones)})}r.addEventListener("change",()=>{a.closest("fieldset").disabled="date"!==r.value,i()}),e.initializeDatePickers(s),a.addEventListener("change",i),s.addEventListener("submit",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,m,h,O,k;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 b=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:"")&&""===(null!==(u=a.occupantFamilyName)&&void 0!==u?u:"")?"(No Name)":a.occupantName+" "+a.occupantFamilyName)+"</span><br />";b.insertAdjacentHTML("beforeend",'<tr><td><a class="has-text-weight-bold" href="'+e.getWorkOrderURL(a.workOrderId)+'">'+(a.workOrderNumber.trim()?cityssm.escapeHTML(null!==(f=a.workOrderNumber)&&void 0!==f?f:""):"(No Number)")+"</a></td><td>"+cityssm.escapeHTML(null!==(m=a.workOrderType)&&void 0!==m?m:"")+'<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(b),null===(O=a.querySelector("button[data-page='previous']"))||void 0===O||O.addEventListener("click",c),null===(k=a.querySelector("button[data-page='next']"))||void 0===k||k.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()})();
|
||||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=exports.los,t=exports.workOrderPrints,a=document.querySelector("#form--searchFilters");e.initializeDatePickers(a);const s=document.querySelector("#container--searchResults"),r=Number.parseInt(document.querySelector("#searchFilter--limit").value,10),o=document.querySelector("#searchFilter--offset");function l(a){var o,l,i,n,p,u,f,h,m,O,k;if(0===a.workOrders.length)return void(s.innerHTML='<div class="message is-info">\n <p class="message-body">There are no work orders that meet the search criteria.</p>\n </div>');const b=document.createElement("tbody");for(const s of a.workOrders){let a="";for(const t of s.workOrderLots)a+=`<li class="has-tooltip-right"\n data-tooltip="${cityssm.escapeHTML(null!==(o=t.mapName)&&void 0!==o?o:"")}">\n <span class="fa-li">\n <i class="fas fa-fw fa-vector-square"\n aria-label="${e.escapedAliases.Lot}"></i>\n </span>\n ${cityssm.escapeHTML(""===(null!==(l=t.lotName)&&void 0!==l?l:"")?"(No "+e.escapedAliases.Lot+" Name)":t.lotName)}\n </li>`;for(const t of s.workOrderLotOccupancies)for(const s of t.lotOccupancyOccupants)a+=`<li class="has-tooltip-right"\n data-tooltip="${cityssm.escapeHTML(null!==(i=s.lotOccupantType)&&void 0!==i?i:"")}">\n <span class="fa-li">\n <i class="fas fa-fw fa-${cityssm.escapeHTML(""===(null!==(n=s.fontAwesomeIconClass)&&void 0!==n?n:"")?"user":s.fontAwesomeIconClass)}" aria-label="${e.escapedAliases.occupant}"></i></span>\n ${cityssm.escapeHTML(""===(null!==(p=s.occupantName)&&void 0!==p?p:"")&&""===(null!==(u=s.occupantFamilyName)&&void 0!==u?u:"")?"(No Name)":s.occupantName+" "+s.occupantFamilyName)}\n </li>`;b.insertAdjacentHTML("beforeend",'<tr><td><a class="has-text-weight-bold" href="'+e.getWorkOrderURL(s.workOrderId)+'">'+(""===s.workOrderNumber.trim()?"(No Number)":cityssm.escapeHTML(null!==(f=s.workOrderNumber)&&void 0!==f?f:""))+"</a></td><td>"+cityssm.escapeHTML(null!==(h=s.workOrderType)&&void 0!==h?h:"")+'<br /><span class="is-size-7">'+cityssm.escapeHTML(null!==(m=s.workOrderDescription)&&void 0!==m?m:"")+"</span></td><td>"+(""===a?"":'<ul class="fa-ul ml-5 is-size-7">'+a+"</ul>")+'</td><td><ul class="fa-ul ml-5 is-size-7"><li class="has-tooltip-right" data-tooltip="'+e.escapedAliases.WorkOrderOpenDate+'"><span class="fa-li"><i class="fas fa-fw fa-play" aria-label="'+e.escapedAliases.WorkOrderOpenDate+'"></i></span> '+s.workOrderOpenDateString+'</li><li class="has-tooltip-right" data-tooltip="'+e.escapedAliases.WorkOrderCloseDate+'"><span class="fa-li"><i class="fas fa-fw fa-stop" aria-label="'+e.escapedAliases.WorkOrderCloseDate+'"></i></span> '+(s.workOrderCloseDate?s.workOrderCloseDateString:'<span class="has-text-grey">(No '+e.escapedAliases.WorkOrderCloseDate+")</span>")+"</li></ul></td><td>"+(0===s.workOrderMilestoneCount?"-":s.workOrderMilestoneCompletionCount.toString()+" / "+s.workOrderMilestoneCount.toString())+"</td>"+(t.length>0?'<td><a class="button is-small" data-tooltip="Print" href="'+e.urlPrefix+"/print/"+t[0]+"/?workOrderId="+s.workOrderId.toString()+'" target="_blank"><i class="fas fa-print" aria-label="Print"></i></a></td>':"")+"</tr>")}s.innerHTML=`<table class="table is-fullwidth is-striped is-hoverable has-sticky-header">\n <thead><tr>\n <th>Work Order Number</th>\n <th>Description</th>\n <th>Related</th>\n <th>Date</th>\n <th class="has-tooltip-bottom" data-tooltip="Completed / Total Milestones">Progress</th>\n ${t.length>0?'<th class="has-width-1"></th>':""}\n </tr></thead>\n <table>`,s.insertAdjacentHTML("beforeend",e.getSearchResultsPagerHTML(r,a.offset,a.count)),s.querySelector("table").append(b),null===(O=s.querySelector("button[data-page='previous']"))||void 0===O||O.addEventListener("click",c),null===(k=s.querySelector("button[data-page='next']"))||void 0===k||k.addEventListener("click",d)}function i(){s.innerHTML=e.getLoadingParagraphHTML("Loading Work Orders..."),cityssm.postJSON(e.urlPrefix+"/workOrders/doSearchWorkOrders",a,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=a.querySelectorAll("input, select");for(const e of p)e.addEventListener("change",n);a.addEventListener("submit",e=>{e.preventDefault()}),i()})();
|
||||
|
|
@ -1,43 +1,43 @@
|
|||
<aside class="menu">
|
||||
<h2 class="menu-label">
|
||||
<h2 class="menu-label is-hidden-touch">
|
||||
Administrator Tools
|
||||
</h2>
|
||||
<ul class="menu-list">
|
||||
<li>
|
||||
<a class="<%= (headTitle === "Fee Management" ? "is-active" : "") %>" href="<%= urlPrefix %>/admin/fees">
|
||||
<span class="icon"><i class="fas fa-fw fa-dollar-sign" aria-hidden="true"></i></span>
|
||||
<span>Fee Management</span>
|
||||
<span class="is-hidden-touch">Fee Management</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="<%= (headTitle === configFunctions.getProperty("aliases.occupancy") + " Type Management" ? "is-active" : "") %>" href="<%= urlPrefix %>/admin/occupancyTypes">
|
||||
<span class="icon"><i class="fas fa-fw fa-user-friends" aria-hidden="true"></i></span>
|
||||
<span><%= configFunctions.getProperty("aliases.occupancy") %> Type Management</span>
|
||||
<span class="is-hidden-touch"><%= configFunctions.getProperty("aliases.occupancy") %> Type Management</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="<%= (headTitle === configFunctions.getProperty("aliases.lot") + " Type Management" ? "is-active" : "") %>" href="<%= urlPrefix %>/admin/lotTypes">
|
||||
<span class="icon"><i class="fas fa-fw fa-vector-square" aria-hidden="true"></i></span>
|
||||
<span><%= configFunctions.getProperty("aliases.lot") %> Type Management</span>
|
||||
<span class="is-hidden-touch"><%= configFunctions.getProperty("aliases.lot") %> Type Management</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="<%= (headTitle === "Config Table Management" ? "is-active" : "") %>" href="<%= urlPrefix %>/admin/tables">
|
||||
<span class="icon"><i class="fas fa-fw fa-table" aria-hidden="true"></i></span>
|
||||
<span>Config Table Management</span>
|
||||
<span class="is-hidden-touch">Config Table Management</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="<%= (headTitle === "Database Maintenance" ? "is-active" : "") %>" href="<%= urlPrefix %>/admin/database">
|
||||
<span class="icon"><i class="fas fa-fw fa-database" aria-hidden="true"></i></span>
|
||||
<span>Database Maintenance</span>
|
||||
<span class="is-hidden-touch">Database Maintenance</span>
|
||||
</a>
|
||||
</li>
|
||||
<% if (configFunctions.getProperty("application.ntfyStartup")) { %>
|
||||
<li>
|
||||
<a class="<%= (headTitle === "Ntfy Startup Notification" ? "is-active" : "") %>" href="<%= urlPrefix %>/admin/ntfyStartup">
|
||||
<span class="icon"><i class="far fa-fw fa-comment-alt" aria-hidden="true"></i></span>
|
||||
<span>Ntfy Startup Notification</span>
|
||||
<span class="is-hidden-touch">Ntfy Startup Notification</span>
|
||||
</a>
|
||||
</li>
|
||||
<% } %>
|
||||
|
|
|
|||
|
|
@ -1,36 +1,36 @@
|
|||
<aside class="menu">
|
||||
<h2 class="menu-label">
|
||||
<h2 class="menu-label is-hidden-touch">
|
||||
Work Orders
|
||||
</h2>
|
||||
<ul class="menu-list">
|
||||
<li>
|
||||
<a class="<%= (headTitle === "Work Order Search" ? "is-active" : "") %>" href="<%= urlPrefix %>/workOrders">
|
||||
<span class="icon"><i class="fas fa-fw fa-hard-hat" aria-hidden="true"></i></span>
|
||||
<span>Work Order Search</span>
|
||||
<span class="is-hidden-touch">Work Order Search</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<h2 class="menu-label">
|
||||
<h2 class="menu-label is-hidden-touch">
|
||||
Milestones
|
||||
</h2>
|
||||
<ul class="menu-list">
|
||||
<li>
|
||||
<a class="<%= (headTitle.endsWith("Milestone Calendar") ? "is-active" : "") %>" href="<%= urlPrefix %>/workOrders/milestoneCalendar">
|
||||
<span class="icon"><i class="fas fa-fw fa-calendar" aria-hidden="true"></i></span>
|
||||
<span>Milestone Calendar</span>
|
||||
<span class="is-hidden-touch">Milestone Calendar</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="<%= (headTitle.endsWith("Outlook Integration") ? "is-active" : "") %>" href="<%= urlPrefix %>/workOrders/outlook">
|
||||
<span class="icon"><i class="fas fa-fw fa-envelope-open-text" aria-hidden="true"></i></span>
|
||||
<span>Outlook Integration</span>
|
||||
<span class="is-hidden-touch">Outlook Integration</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<h2 class="menu-label">
|
||||
<h2 class="menu-label is-hidden-touch">
|
||||
Help
|
||||
</h2>
|
||||
<ul class="menu-list">
|
||||
<ul class="menu-list is-hidden-touch">
|
||||
<li>
|
||||
<a href="https://cityssm.github.io/lot-occupancy-system/docs/workOrders.html" target="_blank" rel="noopener noreferrer">
|
||||
<span class="icon"><i class="fas fa-fw fa-question-circle" aria-hidden="true"></i></span>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<%- include('_header'); -%>
|
||||
|
||||
<div class="columns">
|
||||
<div class="column is-3 is-hidden-mobile">
|
||||
<div class="columns is-mobile">
|
||||
<div class="column is-2-desktop is-narrow-touch">
|
||||
<%- include('_menu-admin'); -%>
|
||||
</div>
|
||||
<div class="column">
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<%- include('_header'); -%>
|
||||
|
||||
<div class="columns">
|
||||
<div class="column is-3 is-hidden-mobile">
|
||||
<div class="columns is-mobile">
|
||||
<div class="column is-2-desktop is-narrow-touch">
|
||||
<%- include('_menu-admin'); -%>
|
||||
</div>
|
||||
<div class="column">
|
||||
|
|
@ -22,23 +22,19 @@
|
|||
</ul>
|
||||
</nav>
|
||||
|
||||
<div class="level">
|
||||
<div class="level-left">
|
||||
<div class="level-item is-justify-content-start">
|
||||
<div class="columns is-vcentered">
|
||||
<div class="column">
|
||||
<h1 class="title is-1">
|
||||
Fee Management
|
||||
</h1>
|
||||
</div>
|
||||
</div>
|
||||
<div class="level-right">
|
||||
<div class="level-item is-justify-content-end">
|
||||
<div class="column has-text-right is-narrow">
|
||||
<button class="button is-success" id="button--addFeeCategory" data-cy="addFeeCategory" type="button" accesskey="n">
|
||||
<span class="icon is-small"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
||||
<span>Add Fee Category</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="container--feeCategories"></div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<%- include('_header'); -%>
|
||||
|
||||
<div class="columns">
|
||||
<div class="column is-3 is-hidden-mobile">
|
||||
<div class="columns is-mobile">
|
||||
<div class="column is-2-desktop is-narrow-touch">
|
||||
<%- include('_menu-admin'); -%>
|
||||
</div>
|
||||
<div class="column">
|
||||
|
|
@ -10,7 +10,6 @@
|
|||
<li><a href="<%= urlPrefix %>/dashboard">Home</a></li>
|
||||
<li>
|
||||
<a href="#">
|
||||
|
||||
<span class="icon is-small"><i class="fas fa-cog" aria-hidden="true"></i></span>
|
||||
<span>Administrator Tools</span>
|
||||
</a>
|
||||
|
|
@ -23,23 +22,19 @@
|
|||
</ul>
|
||||
</nav>
|
||||
|
||||
<div class="level is-mobile">
|
||||
<div class="level-left">
|
||||
<div class="level-item">
|
||||
<div class="columns is-vcentered">
|
||||
<div class="column">
|
||||
<h1 class="title is-1">
|
||||
<%= configFunctions.getProperty("aliases.lot") %> Type Management
|
||||
</h1>
|
||||
</div>
|
||||
</div>
|
||||
<div class="level-right">
|
||||
<div class="level-item">
|
||||
<div class="column has-text-right is-narrow">
|
||||
<button class="button is-success" id="button--addLotType" type="button" accesskey="n">
|
||||
<span class="icon is-small"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
||||
<span>Add <%= configFunctions.getProperty("aliases.lot") %> Type</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="container--lotTypes"></div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<%- include('_header'); -%>
|
||||
|
||||
<div class="columns">
|
||||
<div class="column is-3 is-hidden-mobile">
|
||||
<div class="columns is-mobile">
|
||||
<div class="column is-2-desktop is-narrow-touch">
|
||||
<%- include('_menu-admin'); -%>
|
||||
</div>
|
||||
<div class="column">
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<%- include('_header'); -%>
|
||||
|
||||
<div class="columns">
|
||||
<div class="column is-3 is-hidden-mobile">
|
||||
<div class="columns is-mobile">
|
||||
<div class="column is-2-desktop is-narrow-touch">
|
||||
<%- include('_menu-admin'); -%>
|
||||
</div>
|
||||
<div class="column">
|
||||
|
|
@ -10,7 +10,6 @@
|
|||
<li><a href="<%= urlPrefix %>/dashboard">Home</a></li>
|
||||
<li>
|
||||
<a href="#">
|
||||
|
||||
<span class="icon is-small"><i class="fas fa-cog" aria-hidden="true"></i></span>
|
||||
<span>Administrator Tools</span>
|
||||
</a>
|
||||
|
|
@ -23,23 +22,19 @@
|
|||
</ul>
|
||||
</nav>
|
||||
|
||||
<div class="level is-mobile">
|
||||
<div class="level-left">
|
||||
<div class="level-item">
|
||||
<div class="columns is-vcentered">
|
||||
<div class="column">
|
||||
<h1 class="title is-1">
|
||||
<%= configFunctions.getProperty("aliases.occupancy") %> Type Management
|
||||
</h1>
|
||||
</div>
|
||||
</div>
|
||||
<div class="level-right">
|
||||
<div class="level-item">
|
||||
<div class="column has-text-right is-narrow">
|
||||
<button class="button is-success" id="button--addOccupancyType" type="button" accesskey="n">
|
||||
<span class="icon is-small"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
||||
<span>Add <%= configFunctions.getProperty("aliases.occupancy") %> Type</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tabs is-boxed" role="tablist">
|
||||
<ul role="presentation">
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<%- include('_header'); -%>
|
||||
|
||||
<div class="columns">
|
||||
<div class="column is-3 is-hidden-mobile">
|
||||
<div class="columns is-mobile">
|
||||
<div class="column is-2-desktop is-narrow-touch">
|
||||
<%- include('_menu-admin'); -%>
|
||||
</div>
|
||||
<div class="column">
|
||||
|
|
|
|||
|
|
@ -106,12 +106,12 @@
|
|||
<% } %>
|
||||
</span>
|
||||
</div>
|
||||
<div class="media-content has-text-black">
|
||||
<a class="media-content" href="<%= urlPrefix %>/workOrders">
|
||||
<div class="level is-marginless is-mobile">
|
||||
<div class="level-left">
|
||||
<div class="level-item">
|
||||
<h2 class="title is-4 is-marginless">
|
||||
<a href="<%= urlPrefix %>/workOrders">Work Orders</a>
|
||||
<h2 class="title is-4 is-marginless has-text-link">
|
||||
Work Orders
|
||||
</h2>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -125,20 +125,17 @@
|
|||
</div>
|
||||
</div>
|
||||
<p>View and maintain work orders.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-footer">
|
||||
</a>
|
||||
<% if (user.userProperties.canUpdate) { %>
|
||||
<a class="card-footer-item" href="<%= urlPrefix %>/workOrders/new">
|
||||
<a class="button is-fullwidth is-success is-light mb-2" href="<%= urlPrefix %>/workOrders/new">
|
||||
<span class="icon">
|
||||
<i class="fas fa-plus" aria-hidden="true"></i>
|
||||
</span>
|
||||
<span>New Work Order</span>
|
||||
</a>
|
||||
<% } %>
|
||||
<a class="card-footer-item" href="<%= urlPrefix %>/workOrders/milestoneCalendar">
|
||||
<a class="button is-fullwidth is-link is-light" href="<%= urlPrefix %>/workOrders/milestoneCalendar">
|
||||
<span class="icon">
|
||||
<i class="fas fa-calendar" aria-hidden="true"></i>
|
||||
</span>
|
||||
|
|
@ -147,6 +144,7 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="column">
|
||||
<div class="card is-hover-container">
|
||||
<div class="card-content">
|
||||
|
|
@ -160,14 +158,12 @@
|
|||
<% } %>
|
||||
</span>
|
||||
</div>
|
||||
<div class="media-content has-text-black">
|
||||
<a class="media-content" href="<%= urlPrefix %>/lotOccupancies">
|
||||
<div class="level is-marginless is-mobile">
|
||||
<div class="level-left">
|
||||
<div class="level-item">
|
||||
<h2 class="title is-4 is-marginless">
|
||||
<a href="<%= urlPrefix %>/lotOccupancies">
|
||||
<h2 class="title is-4 is-marginless has-text-link">
|
||||
<%= configFunctions.getProperty("aliases.occupancies") %>
|
||||
</a>
|
||||
</h2>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -185,21 +181,19 @@
|
|||
<%= configFunctions.getProperty("aliases.occupancies").toLowerCase() %>.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
<% if (user.userProperties.canUpdate) { %>
|
||||
<div class="card-footer">
|
||||
<a class="card-footer-item" href="<%= urlPrefix %>/lotOccupancies/new">
|
||||
<a class="button is-fullwidth is-success is-light" href="<%= urlPrefix %>/lotOccupancies/new">
|
||||
<span class="icon">
|
||||
<i class="fas fa-plus" aria-hidden="true"></i>
|
||||
</span>
|
||||
<span>New <%= configFunctions.getProperty("aliases.occupancy") %></span>
|
||||
</a>
|
||||
</div>
|
||||
<% } %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="columns is-desktop">
|
||||
<div class="column">
|
||||
<div class="card is-hover-container">
|
||||
|
|
@ -208,12 +202,12 @@
|
|||
<div class="media-left">
|
||||
<i class="fas fa-4x fa-fw fa-vector-square" aria-hidden="true"></i>
|
||||
</div>
|
||||
<div class="media-content has-text-black">
|
||||
<a class="media-content" href="<%= urlPrefix %>/lots">
|
||||
<div class="level is-marginless is-mobile">
|
||||
<div class="level-left">
|
||||
<div class="level-item">
|
||||
<h2 class="title is-4 is-marginless">
|
||||
<a href="<%= urlPrefix %>/lots"><%= configFunctions.getProperty("aliases.lots") %></a>
|
||||
<h2 class="title is-4 is-marginless has-text-link">
|
||||
<%= configFunctions.getProperty("aliases.lots") %>
|
||||
</h2>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -231,21 +225,19 @@
|
|||
<%= configFunctions.getProperty("aliases.lots").toLowerCase() %> within a
|
||||
<%= configFunctions.getProperty("aliases.map").toLowerCase() %>.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<% if (user.userProperties.canUpdate) { %>
|
||||
<div class="card-footer">
|
||||
<a class="card-footer-item" href="<%= urlPrefix %>/lots/new">
|
||||
<a class="button is-fullwidth is-success is-light" href="<%= urlPrefix %>/lots/new">
|
||||
<span class="icon">
|
||||
<i class="fas fa-plus" aria-hidden="true"></i>
|
||||
</span>
|
||||
<span>New <%= configFunctions.getProperty("aliases.lot") %></span>
|
||||
</a>
|
||||
</div>
|
||||
<% } %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column">
|
||||
<div class="card is-hover-container">
|
||||
<div class="card-content">
|
||||
|
|
@ -253,12 +245,12 @@
|
|||
<div class="media-left">
|
||||
<i class="far fa-4x fa-fw fa-map" aria-hidden="true"></i>
|
||||
</div>
|
||||
<div class="media-content has-text-black">
|
||||
<a class="media-content" href="<%= urlPrefix %>/maps">
|
||||
<div class="level is-marginless is-mobile">
|
||||
<div class="level-left">
|
||||
<div class="level-item">
|
||||
<h2 class="title is-4 is-marginless">
|
||||
<a href="<%= urlPrefix %>/maps"><%= configFunctions.getProperty("aliases.maps") %></a>
|
||||
<h2 class="title is-4 is-marginless has-text-link">
|
||||
<%= configFunctions.getProperty("aliases.maps") %>
|
||||
</h2>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -272,22 +264,20 @@
|
|||
</div>
|
||||
</div>
|
||||
<p>View and maintain <%= configFunctions.getProperty("aliases.maps").toLowerCase() %>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<% if (user.userProperties.canUpdate) { %>
|
||||
<div class="card-footer">
|
||||
<a class="card-footer-item" href="<%= urlPrefix %>/maps/new">
|
||||
<a class="button is-fullwidth is-success is-light" href="<%= urlPrefix %>/maps/new">
|
||||
<span class="icon">
|
||||
<i class="fas fa-plus" aria-hidden="true"></i>
|
||||
</span>
|
||||
<span>New <%= configFunctions.getProperty("aliases.map") %></span>
|
||||
</a>
|
||||
</div>
|
||||
<% } %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="columns is-desktop">
|
||||
<div class="column">
|
||||
<div class="card">
|
||||
|
|
@ -296,12 +286,12 @@
|
|||
<div class="media-left">
|
||||
<i class="fas fa-4x fa-fw fa-file" aria-hidden="true"></i>
|
||||
</div>
|
||||
<div class="media-content has-text-black">
|
||||
<h2 class="title is-4 is-marginless">
|
||||
<a href="<%= urlPrefix %>/reports">Report Library</a>
|
||||
<a class="media-content" href="<%= urlPrefix %>/reports">
|
||||
<h2 class="title is-4 is-marginless has-text-link">
|
||||
Report Library
|
||||
</h2>
|
||||
<p>Produce reports and export data.</p>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -313,13 +303,12 @@
|
|||
<div class="media-left">
|
||||
<i class="fas fa-4x fa-fw fa-question-circle" aria-hidden="true"></i>
|
||||
</div>
|
||||
<div class="media-content has-text-black">
|
||||
<a class="media-content" href="https://cityssm.github.io/lot-occupancy-system/docs" target="_blank" rel="noopener noreferrer">
|
||||
<div class="level is-marginless is-mobile">
|
||||
<div class="level-left">
|
||||
<div class="level-item">
|
||||
<h2 class="title is-4 is-marginless">
|
||||
<a href="https://cityssm.github.io/lot-occupancy-system/docs" target="_blank"
|
||||
rel="noopener noreferrer">Help</a>
|
||||
<h2 class="title is-4 is-marginless has-text-link">
|
||||
Help
|
||||
</h2>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -333,16 +322,14 @@
|
|||
</div>
|
||||
</div>
|
||||
<p>Instructions on how to use this application.</p>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-footer">
|
||||
<a class="card-footer-item has-tooltip-bottom" data-tooltip="Latest Updates, Issue Tracker, Say Hello"
|
||||
<a class="button is-fullwidth is-link is-light has-tooltip-bottom" data-tooltip="Latest Updates, Issue Tracker, Say Hello"
|
||||
href="https://github.com/cityssm/lot-occupancy-system" target="_blank" rel="noreferrer">
|
||||
<span class="icon">
|
||||
<i class="fab fa-github" aria-hidden="true"></i>
|
||||
</span>
|
||||
GitHub
|
||||
<span>GitHub</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -361,9 +348,9 @@
|
|||
<i class="fas fa-cog" data-fa-transform="shrink-8 right-8 down-5" data-fa-glow="10"></i>
|
||||
</span>
|
||||
</div>
|
||||
<div class="media-content has-text-black">
|
||||
<h2 class="title is-4 is-marginless">
|
||||
<a href="<%= urlPrefix %>/admin/fees">Fee Management</a>
|
||||
<a class="media-content" href="<%= urlPrefix %>/admin/fees">
|
||||
<h2 class="title is-4 is-marginless has-text-link">
|
||||
Fee Management
|
||||
</h2>
|
||||
<p>
|
||||
Manage fees for
|
||||
|
|
@ -372,7 +359,7 @@
|
|||
and specific
|
||||
<%= configFunctions.getProperty("aliases.lot").toLowerCase() %> types.
|
||||
</p>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-content">
|
||||
|
|
@ -383,9 +370,9 @@
|
|||
<i class="fas fa-cog" data-fa-transform="shrink-8 right-8 down-5" data-fa-glow="10"></i>
|
||||
</span>
|
||||
</div>
|
||||
<div class="media-content has-text-black">
|
||||
<h2 class="title is-4 is-marginless">
|
||||
<a href="<%= urlPrefix %>/admin/occupancyTypes"><%= configFunctions.getProperty("aliases.occupancy") %> Type Management</a>
|
||||
<a class="media-content" href="<%= urlPrefix %>/admin/occupancyTypes">
|
||||
<h2 class="title is-4 is-marginless has-text-link">
|
||||
<%= configFunctions.getProperty("aliases.occupancy") %> Type Management
|
||||
</h2>
|
||||
<p>
|
||||
Manage
|
||||
|
|
@ -393,7 +380,7 @@
|
|||
the fields associated with them,
|
||||
and their available print options.
|
||||
</p>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-content">
|
||||
|
|
@ -404,16 +391,16 @@
|
|||
<i class="fas fa-cog" data-fa-transform="shrink-8 right-8 down-5" data-fa-glow="10"></i>
|
||||
</span>
|
||||
</div>
|
||||
<div class="media-content has-text-black">
|
||||
<h2 class="title is-4 is-marginless">
|
||||
<a href="<%= urlPrefix %>/admin/lotTypes"><%= configFunctions.getProperty("aliases.lot") %> Type Management</a>
|
||||
<a class="media-content" href="<%= urlPrefix %>/admin/lotTypes">
|
||||
<h2 class="title is-4 is-marginless has-text-link">
|
||||
<%= configFunctions.getProperty("aliases.lot") %> Type Management
|
||||
</h2>
|
||||
<p>
|
||||
Manage
|
||||
<%= configFunctions.getProperty("aliases.lot").toLowerCase() %> types
|
||||
and fields associated with them.
|
||||
</p>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-content">
|
||||
|
|
@ -424,9 +411,9 @@
|
|||
<i class="fas fa-cog" data-fa-transform="shrink-8 right-8 down-5" data-fa-glow="10"></i>
|
||||
</span>
|
||||
</div>
|
||||
<div class="media-content has-text-black">
|
||||
<h2 class="title is-4 is-marginless">
|
||||
<a href="<%= urlPrefix %>/admin/tables">Config Table Management</a>
|
||||
<a class="media-content" href="<%= urlPrefix %>/admin/tables">
|
||||
<h2 class="title is-4 is-marginless has-text-link">
|
||||
Config Table Management
|
||||
</h2>
|
||||
<p>
|
||||
Manage simple configuration tables fees for
|
||||
|
|
@ -434,7 +421,7 @@
|
|||
<%= configFunctions.getProperty("aliases.lot").toLowerCase() %> statuses,
|
||||
and <%= configFunctions.getProperty("aliases.lot").toLowerCase() %> <%= configFunctions.getProperty("aliases.occupant").toLowerCase() %> types.
|
||||
</p>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-content">
|
||||
|
|
@ -442,15 +429,15 @@
|
|||
<div class="media-left">
|
||||
<i class="fas fa-4x fa-fw fa-database" aria-hidden="true"></i>
|
||||
</div>
|
||||
<div class="media-content has-text-black">
|
||||
<h2 class="title is-4 is-marginless">
|
||||
<a href="<%= urlPrefix %>/admin/database">Database Maintenance</a>
|
||||
<a class="media-content" href="<%= urlPrefix %>/admin/database">
|
||||
<h2 class="title is-4 is-marginless has-text-link">
|
||||
Database Maintenance
|
||||
</h2>
|
||||
<p>
|
||||
Backup the database before making significant updates.
|
||||
Permanently delete records that have been previously deleted from the database.
|
||||
</p>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<% if (configFunctions.getProperty("application.ntfyStartup")) { %>
|
||||
|
|
@ -459,14 +446,14 @@
|
|||
<div class="media-left">
|
||||
<i class="far fa-4x fa-fw fa-comment-alt" aria-hidden="true"></i>
|
||||
</div>
|
||||
<div class="media-content has-text-black">
|
||||
<h2 class="title is-4 is-marginless">
|
||||
<a href="<%= urlPrefix %>/admin/ntfyStartup">Ntfy Startup Notification</a>
|
||||
<a class="media-content" href="<%= urlPrefix %>/admin/ntfyStartup">
|
||||
<h2 class="title is-4 is-marginless has-text-link">
|
||||
Ntfy Startup Notification
|
||||
</h2>
|
||||
<p>
|
||||
Subscribe to application startup notifications on a phone or a desktop computer.
|
||||
</p>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<% } %>
|
||||
|
|
|
|||
|
|
@ -77,8 +77,14 @@
|
|||
<hr />
|
||||
<div class="has-text-right has-text-grey-dark is-size-7">
|
||||
Build <%= buildNumber %><br />
|
||||
<a class="has-text-grey-dark" href="https://cityssm.github.io/lot-occupancy-system/docs" target="_blank" rel="nofollow noreferrer" accesskey="h">Help</a>
|
||||
<a class="has-text-grey-dark ml-4" href="https://github.com/cityssm/lot-occupancy-system" target="_blank" rel="noreferrer">GitHub</a>
|
||||
<a class="has-text-grey-dark" href="https://cityssm.github.io/lot-occupancy-system/docs" target="_blank" rel="nofollow noreferrer" accesskey="h">
|
||||
<i class="fas fa-question-circle" aria-hidden="true"></i>
|
||||
Help
|
||||
</a>
|
||||
<a class="has-text-grey-dark ml-4" href="https://github.com/cityssm/lot-occupancy-system" target="_blank" rel="noreferrer">
|
||||
<i class="fab fa-github" aria-hidden="true"></i>
|
||||
GitHub
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -12,22 +12,18 @@
|
|||
</ul>
|
||||
</nav>
|
||||
|
||||
<div class="level is-mobile">
|
||||
<div class="level-left">
|
||||
<div class="level-item">
|
||||
<div class="columns is-vcentered">
|
||||
<div class="column">
|
||||
<h1 class="title is-1">
|
||||
Find a <%= configFunctions.getProperty("aliases.map") %>
|
||||
</h1>
|
||||
</div>
|
||||
</div>
|
||||
<div class="level-right">
|
||||
<div class="level-item">
|
||||
<div class="column has-text-right is-narrow">
|
||||
<a class="button" href="<%= urlPrefix %>/reports/maps-formatted" target="_blank" download>
|
||||
<span class="icon is-small"><i class="fas fa-download" aria-hidden="true"></i></span>
|
||||
<span>Export</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<% if (user.userProperties.canUpdate) { %>
|
||||
|
|
|
|||
|
|
@ -1,51 +1,51 @@
|
|||
<%- include('_header'); -%>
|
||||
|
||||
<div class="columns">
|
||||
<div class="column is-3">
|
||||
<div class="columns is-mobile">
|
||||
<div class="column is-3-desktop is-narrow-touch">
|
||||
<aside class="menu">
|
||||
<h2 class="menu-label">
|
||||
<h2 class="menu-label is-hidden-touch">
|
||||
Reports
|
||||
</h2>
|
||||
<ul class="menu-list">
|
||||
<li>
|
||||
<a class="is-active" href="#tab--workOrders">
|
||||
<span class="icon"><i class="fas fa-fw fa-hard-hat" aria-hidden="true"></i></span>
|
||||
<span>Work Orders</span>
|
||||
<span class="is-hidden-touch">Work Orders</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#tab--lotOccupancies">
|
||||
<span class="icon"><i class="fas fa-fw fa-user" aria-hidden="true"></i></span>
|
||||
<span><%= configFunctions.getProperty("aliases.occupancies") %></span>
|
||||
<span class="is-hidden-touch"><%= configFunctions.getProperty("aliases.occupancies") %></span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#tab--lots">
|
||||
<span class="icon"><i class="fas fa-fw fa-vector-square" aria-hidden="true"></i></span>
|
||||
<span><%= configFunctions.getProperty("aliases.lots") %></span>
|
||||
<span class="is-hidden-touch"><%= configFunctions.getProperty("aliases.lots") %></span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#tab--maps">
|
||||
<span class="icon"><i class="far fa-fw fa-map" aria-hidden="true"></i></span>
|
||||
<span><%= configFunctions.getProperty("aliases.maps") %></span>
|
||||
<span class="is-hidden-touch"><%= configFunctions.getProperty("aliases.maps") %></span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<h2 class="menu-label">
|
||||
<h2 class="menu-label is-hidden-touch">
|
||||
Table Exports
|
||||
</h2>
|
||||
<ul class="menu-list">
|
||||
<li>
|
||||
<a href="#tab--dataTableExports">
|
||||
<span class="icon"><i class="fas fa-fw fa-table" aria-hidden="true"></i></span>
|
||||
<span>Data Tables</span>
|
||||
<span class="is-hidden-touch">Data Tables</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#tab--configTableExports">
|
||||
<span class="icon"><i class="fas fa-fw fa-table" aria-hidden="true"></i></span>
|
||||
<span>Config Tables</span>
|
||||
<span class="is-hidden-touch">Config Tables</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<%- include('_header'); -%>
|
||||
|
||||
<div class="columns">
|
||||
<div class="column is-3 is-hidden-mobile">
|
||||
<div class="columns is-mobile">
|
||||
<div class="column is-2-desktop is-narrow-touch">
|
||||
<%- include('_menu-workOrders'); -%>
|
||||
</div>
|
||||
<div class="column">
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<%- include('_header'); -%>
|
||||
|
||||
<div class="columns">
|
||||
<div class="column is-3 is-hidden-mobile">
|
||||
<div class="columns is-mobile">
|
||||
<div class="column is-2-desktop is-narrow-touch">
|
||||
<%- include('_menu-workOrders'); -%>
|
||||
</div>
|
||||
<div class="column">
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<%- include('_header'); -%>
|
||||
|
||||
<div class="columns">
|
||||
<div class="column is-3 is-hidden-mobile">
|
||||
<div class="columns is-mobile">
|
||||
<div class="column is-2-desktop is-narrow-touch">
|
||||
<%- include('_menu-workOrders'); -%>
|
||||
</div>
|
||||
<div class="column">
|
||||
|
|
|
|||
|
|
@ -206,15 +206,21 @@
|
|||
</td>
|
||||
<td>
|
||||
<% if (lotOccupancy.lotOccupancyOccupants.length === 0) { %>
|
||||
<span class="has-text-grey">(No <%= configFunctions.getProperty("aliases.occupants") %>)</span>
|
||||
<span class="has-text-grey">(
|
||||
No <%= configFunctions.getProperty("aliases.occupants") %>)
|
||||
</span>
|
||||
<% } else { %>
|
||||
<ul class="fa-ul ml-5">
|
||||
<% for (const occupant of lotOccupancy.lotOccupancyOccupants) { %>
|
||||
<span class="has-tooltip-left" data-tooltip="<%= occupant.lotOccupantType %>">
|
||||
<li class="has-tooltip-right" data-tooltip="<%= occupant.lotOccupantType %>">
|
||||
<span class="fa-li">
|
||||
<i class="fas fa-fw fa-<%= occupant.fontAwesomeIconClass || 'user' %>" aria-hidden="true"></i>
|
||||
</span>
|
||||
<%= occupant.occupantName %>
|
||||
<%= occupant.occupantFamilyName %>
|
||||
</span><br />
|
||||
</li>
|
||||
<% } %>
|
||||
</ul>
|
||||
<% } %>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
|||
Loading…
Reference in New Issue