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