code cleanup

deepsource-autofix-76c6eb20
Dan Gowans 2024-06-25 11:17:31 -04:00
parent 50e6c19b2b
commit d8e833a954
4 changed files with 276 additions and 275 deletions

View File

@ -514,7 +514,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
}
cityssm.openHtmlModal('lotOccupancy-editOccupant', {
onshow(modalElement) {
var _a;
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
los.populateAliases(modalElement);
modalElement.querySelector('#lotOccupancyOccupantEdit--lotOccupancyId').value = lotOccupancyId;
modalElement.querySelector('#lotOccupancyOccupantEdit--lotOccupantIndex').value = lotOccupantIndex.toString();
@ -537,8 +537,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
}
if (!lotOccupantTypeSelected) {
const optionElement = document.createElement('option');
optionElement.value = lotOccupancyOccupant.lotOccupantTypeId.toString();
optionElement.textContent = lotOccupancyOccupant.lotOccupantType;
optionElement.value =
(_b = (_a = lotOccupancyOccupant.lotOccupantTypeId) === null || _a === void 0 ? void 0 : _a.toString()) !== null && _b !== void 0 ? _b : '';
optionElement.textContent = (_c = lotOccupancyOccupant.lotOccupantType) !== null && _c !== void 0 ? _c : '';
optionElement.dataset.occupantCommentTitle =
lotOccupancyOccupant.occupantCommentTitle;
optionElement.dataset.fontAwesomeIconClass =
@ -546,22 +547,23 @@ Object.defineProperty(exports, "__esModule", { value: true });
optionElement.selected = true;
lotOccupantTypeSelectElement.append(optionElement);
}
;
modalElement.querySelector('#lotOccupancyOccupantEdit--fontAwesomeIconClass').innerHTML =
`<i class="fas fa-fw fa-${lotOccupancyOccupant.fontAwesomeIconClass}" aria-hidden="true"></i>`;
modalElement.querySelector('#lotOccupancyOccupantEdit--occupantName').value = lotOccupancyOccupant.occupantName;
modalElement.querySelector('#lotOccupancyOccupantEdit--occupantFamilyName').value = lotOccupancyOccupant.occupantFamilyName;
modalElement.querySelector('#lotOccupancyOccupantEdit--occupantAddress1').value = lotOccupancyOccupant.occupantAddress1;
modalElement.querySelector('#lotOccupancyOccupantEdit--occupantAddress2').value = lotOccupancyOccupant.occupantAddress2;
modalElement.querySelector('#lotOccupancyOccupantEdit--occupantCity').value = lotOccupancyOccupant.occupantCity;
modalElement.querySelector('#lotOccupancyOccupantEdit--occupantProvince').value = lotOccupancyOccupant.occupantProvince;
modalElement.querySelector('#lotOccupancyOccupantEdit--occupantPostalCode').value = lotOccupancyOccupant.occupantPostalCode;
modalElement.querySelector('#lotOccupancyOccupantEdit--occupantPhoneNumber').value = lotOccupancyOccupant.occupantPhoneNumber;
modalElement.querySelector('#lotOccupancyOccupantEdit--occupantEmailAddress').value = lotOccupancyOccupant.occupantEmailAddress;
`<i class="fas fa-fw fa-${cityssm.escapeHTML((_d = lotOccupancyOccupant.fontAwesomeIconClass) !== null && _d !== void 0 ? _d : '')}" aria-hidden="true"></i>`;
modalElement.querySelector('#lotOccupancyOccupantEdit--occupantName').value = (_e = lotOccupancyOccupant.occupantName) !== null && _e !== void 0 ? _e : '';
modalElement.querySelector('#lotOccupancyOccupantEdit--occupantFamilyName').value = (_f = lotOccupancyOccupant.occupantFamilyName) !== null && _f !== void 0 ? _f : '';
modalElement.querySelector('#lotOccupancyOccupantEdit--occupantAddress1').value = (_g = lotOccupancyOccupant.occupantAddress1) !== null && _g !== void 0 ? _g : '';
modalElement.querySelector('#lotOccupancyOccupantEdit--occupantAddress2').value = (_h = lotOccupancyOccupant.occupantAddress2) !== null && _h !== void 0 ? _h : '';
modalElement.querySelector('#lotOccupancyOccupantEdit--occupantCity').value = (_j = lotOccupancyOccupant.occupantCity) !== null && _j !== void 0 ? _j : '';
modalElement.querySelector('#lotOccupancyOccupantEdit--occupantProvince').value = (_k = lotOccupancyOccupant.occupantProvince) !== null && _k !== void 0 ? _k : '';
modalElement.querySelector('#lotOccupancyOccupantEdit--occupantPostalCode').value = (_l = lotOccupancyOccupant.occupantPostalCode) !== null && _l !== void 0 ? _l : '';
modalElement.querySelector('#lotOccupancyOccupantEdit--occupantPhoneNumber').value = (_m = lotOccupancyOccupant.occupantPhoneNumber) !== null && _m !== void 0 ? _m : '';
modalElement.querySelector('#lotOccupancyOccupantEdit--occupantEmailAddress').value = (_o = lotOccupancyOccupant.occupantEmailAddress) !== null && _o !== void 0 ? _o : '';
modalElement.querySelector('#lotOccupancyOccupantEdit--occupantCommentTitle').textContent =
((_a = lotOccupancyOccupant.occupantCommentTitle) !== null && _a !== void 0 ? _a : '') === ''
((_p = lotOccupancyOccupant.occupantCommentTitle) !== null && _p !== void 0 ? _p : '') === ''
? 'Comment'
: lotOccupancyOccupant.occupantCommentTitle;
modalElement.querySelector('#lotOccupancyOccupantEdit--occupantComment').value = lotOccupancyOccupant.occupantComment;
: (_q = lotOccupancyOccupant.occupantCommentTitle) !== null && _q !== void 0 ? _q : '';
modalElement.querySelector('#lotOccupancyOccupantEdit--occupantComment').value = (_r = lotOccupancyOccupant.occupantComment) !== null && _r !== void 0 ? _r : '';
},
onshown(modalElement, closeModalFunction) {
bulmaJS.toggleHtmlClipped();
@ -572,7 +574,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
const fontAwesomeIconClass = (_a = lotOccupantTypeIdElement.selectedOptions[0].dataset
.fontAwesomeIconClass) !== null && _a !== void 0 ? _a : 'user';
modalElement.querySelector('#lotOccupancyOccupantEdit--fontAwesomeIconClass').innerHTML =
`<i class="fas fa-fw fa-${fontAwesomeIconClass}" aria-hidden="true"></i>`;
`<i class="fas fa-fw fa-${cityssm.escapeHTML(fontAwesomeIconClass)}" aria-hidden="true"></i>`;
let occupantCommentTitle = (_b = lotOccupantTypeIdElement.selectedOptions[0].dataset
.occupantCommentTitle) !== null && _b !== void 0 ? _b : '';
if (occupantCommentTitle === '') {
@ -591,9 +593,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
});
}
function deleteLotOccupancyOccupant(clickEvent) {
const lotOccupantIndex = clickEvent.currentTarget.closest('tr').dataset.lotOccupantIndex;
var _a;
const lotOccupantIndex = (_a = clickEvent.currentTarget.closest('tr')) === null || _a === void 0 ? void 0 : _a.dataset.lotOccupantIndex;
function doDelete() {
cityssm.postJSON(los.urlPrefix + '/lotOccupancies/doDeleteLotOccupancyOccupant', {
cityssm.postJSON(`${los.urlPrefix}/lotOccupancies/doDeleteLotOccupancyOccupant`, {
lotOccupancyId,
lotOccupantIndex
}, (rawResponseJSON) => {
@ -605,7 +608,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
}
else {
bulmaJS.alert({
title: 'Error Removing ' + los.escapedAliases.Occupant,
title: `Error Removing ${los.escapedAliases.Occupant}`,
message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger'
});
@ -616,17 +619,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
title: `Remove ${los.escapedAliases.Occupant}?`,
message: `Are you sure you want to remove this ${los.escapedAliases.occupant}?`,
okButton: {
text: 'Yes, Remove ' + los.escapedAliases.Occupant,
text: `Yes, Remove ${los.escapedAliases.Occupant}`,
callbackFunction: doDelete
},
contextualColorName: 'warning'
});
}
function renderLotOccupancyOccupants() {
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
const occupantsContainer = document.querySelector('#container--lotOccupancyOccupants');
cityssm.clearElement(occupantsContainer);
if (lotOccupancyOccupants.length === 0) {
// eslint-disable-next-line no-unsanitized/property
occupantsContainer.innerHTML = `<div class="message is-warning">
<p class="message-body">There are no ${los.escapedAliases.occupants} associated with this record.</p>
</div>`;
@ -634,6 +638,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
}
const tableElement = document.createElement('table');
tableElement.className = 'table is-fullwidth is-striped is-hoverable';
// eslint-disable-next-line no-unsanitized/property
tableElement.innerHTML = `<thead><tr>
<th>${los.escapedAliases.Occupant}</th>
<th>Address</th>
@ -646,56 +651,56 @@ Object.defineProperty(exports, "__esModule", { value: true });
const tableRowElement = document.createElement('tr');
tableRowElement.dataset.lotOccupantIndex =
lotOccupancyOccupant.lotOccupantIndex.toString();
// eslint-disable-next-line no-unsanitized/property
tableRowElement.innerHTML =
'<td>' +
cityssm.escapeHTML(((_a = lotOccupancyOccupant.occupantName) !== null && _a !== void 0 ? _a : '') === '' &&
((_b = lotOccupancyOccupant.occupantFamilyName) !== null && _b !== void 0 ? _b : '') === ''
? '(No Name)'
: lotOccupancyOccupant.occupantName +
' ' +
lotOccupancyOccupant.occupantFamilyName) +
: `${lotOccupancyOccupant.occupantName} ${lotOccupancyOccupant.occupantFamilyName}`) +
'<br />' +
('<span class="tag">' +
'<i class="fas fa-fw fa-' +
cityssm.escapeHTML(lotOccupancyOccupant.fontAwesomeIconClass) +
cityssm.escapeHTML((_c = lotOccupancyOccupant.fontAwesomeIconClass) !== null && _c !== void 0 ? _c : '') +
'" aria-hidden="true"></i>' +
' <span class="ml-1">' +
cityssm.escapeHTML(lotOccupancyOccupant.lotOccupantType) +
cityssm.escapeHTML((_d = lotOccupancyOccupant.lotOccupantType) !== null && _d !== void 0 ? _d : '') +
'</span>' +
'</span>') +
'</td>' +
('<td>' +
(((_c = lotOccupancyOccupant.occupantAddress1) !== null && _c !== void 0 ? _c : '') === ''
(((_e = lotOccupancyOccupant.occupantAddress1) !== null && _e !== void 0 ? _e : '') === ''
? ''
: cityssm.escapeHTML(lotOccupancyOccupant.occupantAddress1) +
: cityssm.escapeHTML((_f = lotOccupancyOccupant.occupantAddress1) !== null && _f !== void 0 ? _f : '') +
'<br />') +
(((_d = lotOccupancyOccupant.occupantAddress2) !== null && _d !== void 0 ? _d : '') === ''
(((_g = lotOccupancyOccupant.occupantAddress2) !== null && _g !== void 0 ? _g : '') === ''
? ''
: cityssm.escapeHTML(lotOccupancyOccupant.occupantAddress2) +
: cityssm.escapeHTML((_h = lotOccupancyOccupant.occupantAddress2) !== null && _h !== void 0 ? _h : '') +
'<br />') +
(((_e = lotOccupancyOccupant.occupantCity) !== null && _e !== void 0 ? _e : '') === ''
(((_j = lotOccupancyOccupant.occupantCity) !== null && _j !== void 0 ? _j : '') === ''
? ''
: cityssm.escapeHTML(lotOccupancyOccupant.occupantCity) + ', ') +
cityssm.escapeHTML((_f = lotOccupancyOccupant.occupantProvince) !== null && _f !== void 0 ? _f : '') +
: cityssm.escapeHTML((_k = lotOccupancyOccupant.occupantCity) !== null && _k !== void 0 ? _k : '') +
', ') +
cityssm.escapeHTML((_l = lotOccupancyOccupant.occupantProvince) !== null && _l !== void 0 ? _l : '') +
'<br />' +
cityssm.escapeHTML((_g = lotOccupancyOccupant.occupantPostalCode) !== null && _g !== void 0 ? _g : '') +
cityssm.escapeHTML((_m = lotOccupancyOccupant.occupantPostalCode) !== null && _m !== void 0 ? _m : '') +
'</td>') +
('<td>' +
(((_h = lotOccupancyOccupant.occupantPhoneNumber) !== null && _h !== void 0 ? _h : '') === ''
(((_o = lotOccupancyOccupant.occupantPhoneNumber) !== null && _o !== void 0 ? _o : '') === ''
? ''
: cityssm.escapeHTML(lotOccupancyOccupant.occupantPhoneNumber) +
: cityssm.escapeHTML((_p = lotOccupancyOccupant.occupantPhoneNumber) !== null && _p !== void 0 ? _p : '') +
'<br />') +
(((_j = lotOccupancyOccupant.occupantEmailAddress) !== null && _j !== void 0 ? _j : '') === ''
(((_q = lotOccupancyOccupant.occupantEmailAddress) !== null && _q !== void 0 ? _q : '') === ''
? ''
: cityssm.escapeHTML(lotOccupancyOccupant.occupantEmailAddress)) +
: cityssm.escapeHTML((_r = lotOccupancyOccupant.occupantEmailAddress) !== null && _r !== void 0 ? _r : '')) +
'</td>') +
('<td>' +
'<span data-tooltip="' +
cityssm.escapeHTML(((_k = lotOccupancyOccupant.occupantCommentTitle) !== null && _k !== void 0 ? _k : '') === ''
cityssm.escapeHTML(((_s = lotOccupancyOccupant.occupantCommentTitle) !== null && _s !== void 0 ? _s : '') === ''
? 'Comment'
: lotOccupancyOccupant.occupantCommentTitle) +
: (_t = lotOccupancyOccupant.occupantCommentTitle) !== null && _t !== void 0 ? _t : '') +
'">' +
cityssm.escapeHTML((_l = lotOccupancyOccupant.occupantComment) !== null && _l !== void 0 ? _l : '') +
cityssm.escapeHTML((_u = lotOccupancyOccupant.occupantComment) !== null && _u !== void 0 ? _u : '') +
'</span>' +
'</td>') +
('<td class="is-hidden-print">' +
@ -705,19 +710,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
' <span>Edit</span>' +
'</button>') +
('<button class="button is-light is-danger button--delete" data-tooltip="Delete ' +
cityssm.escapeHTML(exports.aliases.occupant) +
los.escapedAliases.Occupant +
'" type="button" aria-label="Delete">' +
'<i class="fas fa-trash" aria-hidden="true"></i>' +
'</button>') +
'</div>' +
'</td>');
tableRowElement
.querySelector('.button--edit')
.addEventListener('click', openEditLotOccupancyOccupant);
tableRowElement
.querySelector('.button--delete')
.addEventListener('click', deleteLotOccupancyOccupant);
tableElement.querySelector('tbody').append(tableRowElement);
(_v = tableRowElement
.querySelector('.button--edit')) === null || _v === void 0 ? void 0 : _v.addEventListener('click', openEditLotOccupancyOccupant);
(_w = tableRowElement
.querySelector('.button--delete')) === null || _w === void 0 ? void 0 : _w.addEventListener('click', deleteLotOccupancyOccupant);
(_x = tableElement.querySelector('tbody')) === null || _x === void 0 ? void 0 : _x.append(tableRowElement);
}
occupantsContainer.append(tableElement);
}
@ -734,6 +737,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
if (occupantCommentTitle === '') {
occupantCommentTitle = 'Comment';
}
;
formElement.querySelector('#lotOccupancy--occupantCommentTitle').textContent = occupantCommentTitle;
});
}
@ -747,7 +751,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
let searchFormElement;
let searchResultsElement;
function addOccupant(formOrObject) {
cityssm.postJSON(los.urlPrefix + '/lotOccupancies/doAddLotOccupancyOccupant', formOrObject, (rawResponseJSON) => {
cityssm.postJSON(`${los.urlPrefix}/lotOccupancies/doAddLotOccupancyOccupant`, formOrObject, (rawResponseJSON) => {
var _a;
const responseJSON = rawResponseJSON;
if (responseJSON.success) {
@ -770,12 +774,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
}
let pastOccupantSearchResults = [];
function addOccupantFromCopy(clickEvent) {
var _a;
clickEvent.preventDefault();
const panelBlockElement = clickEvent.currentTarget;
const occupant = pastOccupantSearchResults[Number.parseInt(panelBlockElement.dataset.index, 10)];
const lotOccupantTypeId = panelBlockElement
.closest('.modal')
.querySelector('#lotOccupancyOccupantCopy--lotOccupantTypeId').value;
const lotOccupantTypeId = ((_a = panelBlockElement
.closest('.modal')) === null || _a === void 0 ? void 0 : _a.querySelector('#lotOccupancyOccupantCopy--lotOccupantTypeId')).value;
if (lotOccupantTypeId === '') {
bulmaJS.alert({
title: `No ${los.escapedAliases.Occupant} Type Selected`,
@ -792,16 +796,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
function searchOccupants(event) {
event.preventDefault();
if (searchFormElement.querySelector('#lotOccupancyOccupantCopy--searchFilter').value === '') {
searchResultsElement.innerHTML =
'<div class="message is-info">' +
'<p class="message-body">Enter a partial name or address in the search field above.</p>' +
'</div>';
searchResultsElement.innerHTML = `<div class="message is-info">
<p class="message-body">Enter a partial name or address in the search field above.</p>
</div>`;
return;
}
// eslint-disable-next-line no-unsanitized/property
searchResultsElement.innerHTML =
los.getLoadingParagraphHTML('Searching...');
cityssm.postJSON(los.urlPrefix + '/lotOccupancies/doSearchPastOccupants', searchFormElement, (rawResponseJSON) => {
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
cityssm.postJSON(`${los.urlPrefix}/lotOccupancies/doSearchPastOccupants`, searchFormElement, (rawResponseJSON) => {
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
const responseJSON = rawResponseJSON;
pastOccupantSearchResults = responseJSON.occupants;
const panelElement = document.createElement('div');
@ -810,35 +814,27 @@ Object.defineProperty(exports, "__esModule", { value: true });
const panelBlockElement = document.createElement('a');
panelBlockElement.className = 'panel-block is-block';
panelBlockElement.dataset.index = index.toString();
panelBlockElement.innerHTML =
'<strong>' +
cityssm.escapeHTML((_a = occupant.occupantName) !== null && _a !== void 0 ? _a : '') +
' ' +
cityssm.escapeHTML((_b = occupant.occupantFamilyName) !== null && _b !== void 0 ? _b : '') +
'</strong>' +
'<br />' +
'<div class="columns">' +
('<div class="column">' +
cityssm.escapeHTML((_c = occupant.occupantAddress1) !== null && _c !== void 0 ? _c : '') +
'<br />' +
(((_d = occupant.occupantAddress2) !== null && _d !== void 0 ? _d : '') === ''
// eslint-disable-next-line no-unsanitized/property
panelBlockElement.innerHTML = `<strong>
${cityssm.escapeHTML((_a = occupant.occupantName) !== null && _a !== void 0 ? _a : '')} ${cityssm.escapeHTML((_b = occupant.occupantFamilyName) !== null && _b !== void 0 ? _b : '')}
</strong><br />
<div class="columns">
<div class="column">
${cityssm.escapeHTML((_c = occupant.occupantAddress1) !== null && _c !== void 0 ? _c : '')}<br />
${((_d = occupant.occupantAddress2) !== null && _d !== void 0 ? _d : '') === ''
? ''
: cityssm.escapeHTML(occupant.occupantAddress2) + '<br />') +
cityssm.escapeHTML((_e = occupant.occupantCity) !== null && _e !== void 0 ? _e : '') +
', ' +
cityssm.escapeHTML((_f = occupant.occupantProvince) !== null && _f !== void 0 ? _f : '') +
'<br />' +
cityssm.escapeHTML((_g = occupant.occupantPostalCode) !== null && _g !== void 0 ? _g : '') +
'</div>') +
('<div class="column">' +
(((_h = occupant.occupantPhoneNumber) !== null && _h !== void 0 ? _h : '') === ''
: cityssm.escapeHTML((_e = occupant.occupantAddress2) !== null && _e !== void 0 ? _e : '') +
'<br />'}${cityssm.escapeHTML((_f = occupant.occupantCity) !== null && _f !== void 0 ? _f : '')}, ${cityssm.escapeHTML((_g = occupant.occupantProvince) !== null && _g !== void 0 ? _g : '')}<br />
${cityssm.escapeHTML((_h = occupant.occupantPostalCode) !== null && _h !== void 0 ? _h : '')}
</div>
<div class="column">
${((_j = occupant.occupantPhoneNumber) !== null && _j !== void 0 ? _j : '') === ''
? ''
: cityssm.escapeHTML(occupant.occupantPhoneNumber) +
'<br />') +
cityssm.escapeHTML((_j = occupant.occupantEmailAddress) !== null && _j !== void 0 ? _j : '') +
'<br />' +
'</div>') +
'</div>';
: cityssm.escapeHTML((_k = occupant.occupantPhoneNumber) !== null && _k !== void 0 ? _k : '') +
'<br />'}
${cityssm.escapeHTML((_l = occupant.occupantEmailAddress) !== null && _l !== void 0 ? _l : '')}<br />
</div>
</div>`;
panelBlockElement.addEventListener('click', addOccupantFromCopy);
panelElement.append(panelBlockElement);
}
@ -877,12 +873,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
const fontAwesomeIconClass = (_a = lotOccupantTypeIdElement.selectedOptions[0].dataset
.fontAwesomeIconClass) !== null && _a !== void 0 ? _a : 'user';
modalElement.querySelector('#lotOccupancyOccupantAdd--fontAwesomeIconClass').innerHTML =
`<i class="fas fa-fw fa-${fontAwesomeIconClass}" aria-hidden="true"></i>`;
`<i class="fas fa-fw fa-${cityssm.escapeHTML(fontAwesomeIconClass)}" aria-hidden="true"></i>`;
let occupantCommentTitle = (_b = lotOccupantTypeIdElement.selectedOptions[0].dataset
.occupantCommentTitle) !== null && _b !== void 0 ? _b : '';
if (occupantCommentTitle === '') {
occupantCommentTitle = 'Comment';
}
;
modalElement.querySelector('#lotOccupancyOccupantAdd--occupantCommentTitle').textContent = occupantCommentTitle;
});
addFormElement = modalElement.querySelector('#form--lotOccupancyOccupantAdd');

View File

@ -34,7 +34,7 @@ function openEditLotOccupancyOccupant(clickEvent) {
}
cityssm.openHtmlModal('lotOccupancy-editOccupant', {
onshow(modalElement) {
var _a;
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
los.populateAliases(modalElement);
modalElement.querySelector('#lotOccupancyOccupantEdit--lotOccupancyId').value = lotOccupancyId;
modalElement.querySelector('#lotOccupancyOccupantEdit--lotOccupantIndex').value = lotOccupantIndex.toString();
@ -57,8 +57,9 @@ function openEditLotOccupancyOccupant(clickEvent) {
}
if (!lotOccupantTypeSelected) {
const optionElement = document.createElement('option');
optionElement.value = lotOccupancyOccupant.lotOccupantTypeId.toString();
optionElement.textContent = lotOccupancyOccupant.lotOccupantType;
optionElement.value =
(_b = (_a = lotOccupancyOccupant.lotOccupantTypeId) === null || _a === void 0 ? void 0 : _a.toString()) !== null && _b !== void 0 ? _b : '';
optionElement.textContent = (_c = lotOccupancyOccupant.lotOccupantType) !== null && _c !== void 0 ? _c : '';
optionElement.dataset.occupantCommentTitle =
lotOccupancyOccupant.occupantCommentTitle;
optionElement.dataset.fontAwesomeIconClass =
@ -66,22 +67,23 @@ function openEditLotOccupancyOccupant(clickEvent) {
optionElement.selected = true;
lotOccupantTypeSelectElement.append(optionElement);
}
;
modalElement.querySelector('#lotOccupancyOccupantEdit--fontAwesomeIconClass').innerHTML =
`<i class="fas fa-fw fa-${lotOccupancyOccupant.fontAwesomeIconClass}" aria-hidden="true"></i>`;
modalElement.querySelector('#lotOccupancyOccupantEdit--occupantName').value = lotOccupancyOccupant.occupantName;
modalElement.querySelector('#lotOccupancyOccupantEdit--occupantFamilyName').value = lotOccupancyOccupant.occupantFamilyName;
modalElement.querySelector('#lotOccupancyOccupantEdit--occupantAddress1').value = lotOccupancyOccupant.occupantAddress1;
modalElement.querySelector('#lotOccupancyOccupantEdit--occupantAddress2').value = lotOccupancyOccupant.occupantAddress2;
modalElement.querySelector('#lotOccupancyOccupantEdit--occupantCity').value = lotOccupancyOccupant.occupantCity;
modalElement.querySelector('#lotOccupancyOccupantEdit--occupantProvince').value = lotOccupancyOccupant.occupantProvince;
modalElement.querySelector('#lotOccupancyOccupantEdit--occupantPostalCode').value = lotOccupancyOccupant.occupantPostalCode;
modalElement.querySelector('#lotOccupancyOccupantEdit--occupantPhoneNumber').value = lotOccupancyOccupant.occupantPhoneNumber;
modalElement.querySelector('#lotOccupancyOccupantEdit--occupantEmailAddress').value = lotOccupancyOccupant.occupantEmailAddress;
`<i class="fas fa-fw fa-${cityssm.escapeHTML((_d = lotOccupancyOccupant.fontAwesomeIconClass) !== null && _d !== void 0 ? _d : '')}" aria-hidden="true"></i>`;
modalElement.querySelector('#lotOccupancyOccupantEdit--occupantName').value = (_e = lotOccupancyOccupant.occupantName) !== null && _e !== void 0 ? _e : '';
modalElement.querySelector('#lotOccupancyOccupantEdit--occupantFamilyName').value = (_f = lotOccupancyOccupant.occupantFamilyName) !== null && _f !== void 0 ? _f : '';
modalElement.querySelector('#lotOccupancyOccupantEdit--occupantAddress1').value = (_g = lotOccupancyOccupant.occupantAddress1) !== null && _g !== void 0 ? _g : '';
modalElement.querySelector('#lotOccupancyOccupantEdit--occupantAddress2').value = (_h = lotOccupancyOccupant.occupantAddress2) !== null && _h !== void 0 ? _h : '';
modalElement.querySelector('#lotOccupancyOccupantEdit--occupantCity').value = (_j = lotOccupancyOccupant.occupantCity) !== null && _j !== void 0 ? _j : '';
modalElement.querySelector('#lotOccupancyOccupantEdit--occupantProvince').value = (_k = lotOccupancyOccupant.occupantProvince) !== null && _k !== void 0 ? _k : '';
modalElement.querySelector('#lotOccupancyOccupantEdit--occupantPostalCode').value = (_l = lotOccupancyOccupant.occupantPostalCode) !== null && _l !== void 0 ? _l : '';
modalElement.querySelector('#lotOccupancyOccupantEdit--occupantPhoneNumber').value = (_m = lotOccupancyOccupant.occupantPhoneNumber) !== null && _m !== void 0 ? _m : '';
modalElement.querySelector('#lotOccupancyOccupantEdit--occupantEmailAddress').value = (_o = lotOccupancyOccupant.occupantEmailAddress) !== null && _o !== void 0 ? _o : '';
modalElement.querySelector('#lotOccupancyOccupantEdit--occupantCommentTitle').textContent =
((_a = lotOccupancyOccupant.occupantCommentTitle) !== null && _a !== void 0 ? _a : '') === ''
((_p = lotOccupancyOccupant.occupantCommentTitle) !== null && _p !== void 0 ? _p : '') === ''
? 'Comment'
: lotOccupancyOccupant.occupantCommentTitle;
modalElement.querySelector('#lotOccupancyOccupantEdit--occupantComment').value = lotOccupancyOccupant.occupantComment;
: (_q = lotOccupancyOccupant.occupantCommentTitle) !== null && _q !== void 0 ? _q : '';
modalElement.querySelector('#lotOccupancyOccupantEdit--occupantComment').value = (_r = lotOccupancyOccupant.occupantComment) !== null && _r !== void 0 ? _r : '';
},
onshown(modalElement, closeModalFunction) {
bulmaJS.toggleHtmlClipped();
@ -92,7 +94,7 @@ function openEditLotOccupancyOccupant(clickEvent) {
const fontAwesomeIconClass = (_a = lotOccupantTypeIdElement.selectedOptions[0].dataset
.fontAwesomeIconClass) !== null && _a !== void 0 ? _a : 'user';
modalElement.querySelector('#lotOccupancyOccupantEdit--fontAwesomeIconClass').innerHTML =
`<i class="fas fa-fw fa-${fontAwesomeIconClass}" aria-hidden="true"></i>`;
`<i class="fas fa-fw fa-${cityssm.escapeHTML(fontAwesomeIconClass)}" aria-hidden="true"></i>`;
let occupantCommentTitle = (_b = lotOccupantTypeIdElement.selectedOptions[0].dataset
.occupantCommentTitle) !== null && _b !== void 0 ? _b : '';
if (occupantCommentTitle === '') {
@ -111,9 +113,10 @@ function openEditLotOccupancyOccupant(clickEvent) {
});
}
function deleteLotOccupancyOccupant(clickEvent) {
const lotOccupantIndex = clickEvent.currentTarget.closest('tr').dataset.lotOccupantIndex;
var _a;
const lotOccupantIndex = (_a = clickEvent.currentTarget.closest('tr')) === null || _a === void 0 ? void 0 : _a.dataset.lotOccupantIndex;
function doDelete() {
cityssm.postJSON(los.urlPrefix + '/lotOccupancies/doDeleteLotOccupancyOccupant', {
cityssm.postJSON(`${los.urlPrefix}/lotOccupancies/doDeleteLotOccupancyOccupant`, {
lotOccupancyId,
lotOccupantIndex
}, (rawResponseJSON) => {
@ -125,7 +128,7 @@ function deleteLotOccupancyOccupant(clickEvent) {
}
else {
bulmaJS.alert({
title: 'Error Removing ' + los.escapedAliases.Occupant,
title: `Error Removing ${los.escapedAliases.Occupant}`,
message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
contextualColorName: 'danger'
});
@ -136,17 +139,18 @@ function deleteLotOccupancyOccupant(clickEvent) {
title: `Remove ${los.escapedAliases.Occupant}?`,
message: `Are you sure you want to remove this ${los.escapedAliases.occupant}?`,
okButton: {
text: 'Yes, Remove ' + los.escapedAliases.Occupant,
text: `Yes, Remove ${los.escapedAliases.Occupant}`,
callbackFunction: doDelete
},
contextualColorName: 'warning'
});
}
function renderLotOccupancyOccupants() {
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
const occupantsContainer = document.querySelector('#container--lotOccupancyOccupants');
cityssm.clearElement(occupantsContainer);
if (lotOccupancyOccupants.length === 0) {
// eslint-disable-next-line no-unsanitized/property
occupantsContainer.innerHTML = `<div class="message is-warning">
<p class="message-body">There are no ${los.escapedAliases.occupants} associated with this record.</p>
</div>`;
@ -154,6 +158,7 @@ function renderLotOccupancyOccupants() {
}
const tableElement = document.createElement('table');
tableElement.className = 'table is-fullwidth is-striped is-hoverable';
// eslint-disable-next-line no-unsanitized/property
tableElement.innerHTML = `<thead><tr>
<th>${los.escapedAliases.Occupant}</th>
<th>Address</th>
@ -166,56 +171,56 @@ function renderLotOccupancyOccupants() {
const tableRowElement = document.createElement('tr');
tableRowElement.dataset.lotOccupantIndex =
lotOccupancyOccupant.lotOccupantIndex.toString();
// eslint-disable-next-line no-unsanitized/property
tableRowElement.innerHTML =
'<td>' +
cityssm.escapeHTML(((_a = lotOccupancyOccupant.occupantName) !== null && _a !== void 0 ? _a : '') === '' &&
((_b = lotOccupancyOccupant.occupantFamilyName) !== null && _b !== void 0 ? _b : '') === ''
? '(No Name)'
: lotOccupancyOccupant.occupantName +
' ' +
lotOccupancyOccupant.occupantFamilyName) +
: `${lotOccupancyOccupant.occupantName} ${lotOccupancyOccupant.occupantFamilyName}`) +
'<br />' +
('<span class="tag">' +
'<i class="fas fa-fw fa-' +
cityssm.escapeHTML(lotOccupancyOccupant.fontAwesomeIconClass) +
cityssm.escapeHTML((_c = lotOccupancyOccupant.fontAwesomeIconClass) !== null && _c !== void 0 ? _c : '') +
'" aria-hidden="true"></i>' +
' <span class="ml-1">' +
cityssm.escapeHTML(lotOccupancyOccupant.lotOccupantType) +
cityssm.escapeHTML((_d = lotOccupancyOccupant.lotOccupantType) !== null && _d !== void 0 ? _d : '') +
'</span>' +
'</span>') +
'</td>' +
('<td>' +
(((_c = lotOccupancyOccupant.occupantAddress1) !== null && _c !== void 0 ? _c : '') === ''
(((_e = lotOccupancyOccupant.occupantAddress1) !== null && _e !== void 0 ? _e : '') === ''
? ''
: cityssm.escapeHTML(lotOccupancyOccupant.occupantAddress1) +
: cityssm.escapeHTML((_f = lotOccupancyOccupant.occupantAddress1) !== null && _f !== void 0 ? _f : '') +
'<br />') +
(((_d = lotOccupancyOccupant.occupantAddress2) !== null && _d !== void 0 ? _d : '') === ''
(((_g = lotOccupancyOccupant.occupantAddress2) !== null && _g !== void 0 ? _g : '') === ''
? ''
: cityssm.escapeHTML(lotOccupancyOccupant.occupantAddress2) +
: cityssm.escapeHTML((_h = lotOccupancyOccupant.occupantAddress2) !== null && _h !== void 0 ? _h : '') +
'<br />') +
(((_e = lotOccupancyOccupant.occupantCity) !== null && _e !== void 0 ? _e : '') === ''
(((_j = lotOccupancyOccupant.occupantCity) !== null && _j !== void 0 ? _j : '') === ''
? ''
: cityssm.escapeHTML(lotOccupancyOccupant.occupantCity) + ', ') +
cityssm.escapeHTML((_f = lotOccupancyOccupant.occupantProvince) !== null && _f !== void 0 ? _f : '') +
: cityssm.escapeHTML((_k = lotOccupancyOccupant.occupantCity) !== null && _k !== void 0 ? _k : '') +
', ') +
cityssm.escapeHTML((_l = lotOccupancyOccupant.occupantProvince) !== null && _l !== void 0 ? _l : '') +
'<br />' +
cityssm.escapeHTML((_g = lotOccupancyOccupant.occupantPostalCode) !== null && _g !== void 0 ? _g : '') +
cityssm.escapeHTML((_m = lotOccupancyOccupant.occupantPostalCode) !== null && _m !== void 0 ? _m : '') +
'</td>') +
('<td>' +
(((_h = lotOccupancyOccupant.occupantPhoneNumber) !== null && _h !== void 0 ? _h : '') === ''
(((_o = lotOccupancyOccupant.occupantPhoneNumber) !== null && _o !== void 0 ? _o : '') === ''
? ''
: cityssm.escapeHTML(lotOccupancyOccupant.occupantPhoneNumber) +
: cityssm.escapeHTML((_p = lotOccupancyOccupant.occupantPhoneNumber) !== null && _p !== void 0 ? _p : '') +
'<br />') +
(((_j = lotOccupancyOccupant.occupantEmailAddress) !== null && _j !== void 0 ? _j : '') === ''
(((_q = lotOccupancyOccupant.occupantEmailAddress) !== null && _q !== void 0 ? _q : '') === ''
? ''
: cityssm.escapeHTML(lotOccupancyOccupant.occupantEmailAddress)) +
: cityssm.escapeHTML((_r = lotOccupancyOccupant.occupantEmailAddress) !== null && _r !== void 0 ? _r : '')) +
'</td>') +
('<td>' +
'<span data-tooltip="' +
cityssm.escapeHTML(((_k = lotOccupancyOccupant.occupantCommentTitle) !== null && _k !== void 0 ? _k : '') === ''
cityssm.escapeHTML(((_s = lotOccupancyOccupant.occupantCommentTitle) !== null && _s !== void 0 ? _s : '') === ''
? 'Comment'
: lotOccupancyOccupant.occupantCommentTitle) +
: (_t = lotOccupancyOccupant.occupantCommentTitle) !== null && _t !== void 0 ? _t : '') +
'">' +
cityssm.escapeHTML((_l = lotOccupancyOccupant.occupantComment) !== null && _l !== void 0 ? _l : '') +
cityssm.escapeHTML((_u = lotOccupancyOccupant.occupantComment) !== null && _u !== void 0 ? _u : '') +
'</span>' +
'</td>') +
('<td class="is-hidden-print">' +
@ -225,19 +230,17 @@ function renderLotOccupancyOccupants() {
' <span>Edit</span>' +
'</button>') +
('<button class="button is-light is-danger button--delete" data-tooltip="Delete ' +
cityssm.escapeHTML(exports.aliases.occupant) +
los.escapedAliases.Occupant +
'" type="button" aria-label="Delete">' +
'<i class="fas fa-trash" aria-hidden="true"></i>' +
'</button>') +
'</div>' +
'</td>');
tableRowElement
.querySelector('.button--edit')
.addEventListener('click', openEditLotOccupancyOccupant);
tableRowElement
.querySelector('.button--delete')
.addEventListener('click', deleteLotOccupancyOccupant);
tableElement.querySelector('tbody').append(tableRowElement);
(_v = tableRowElement
.querySelector('.button--edit')) === null || _v === void 0 ? void 0 : _v.addEventListener('click', openEditLotOccupancyOccupant);
(_w = tableRowElement
.querySelector('.button--delete')) === null || _w === void 0 ? void 0 : _w.addEventListener('click', deleteLotOccupancyOccupant);
(_x = tableElement.querySelector('tbody')) === null || _x === void 0 ? void 0 : _x.append(tableRowElement);
}
occupantsContainer.append(tableElement);
}
@ -254,6 +257,7 @@ if (isCreate) {
if (occupantCommentTitle === '') {
occupantCommentTitle = 'Comment';
}
;
formElement.querySelector('#lotOccupancy--occupantCommentTitle').textContent = occupantCommentTitle;
});
}
@ -267,7 +271,7 @@ else {
let searchFormElement;
let searchResultsElement;
function addOccupant(formOrObject) {
cityssm.postJSON(los.urlPrefix + '/lotOccupancies/doAddLotOccupancyOccupant', formOrObject, (rawResponseJSON) => {
cityssm.postJSON(`${los.urlPrefix}/lotOccupancies/doAddLotOccupancyOccupant`, formOrObject, (rawResponseJSON) => {
var _a;
const responseJSON = rawResponseJSON;
if (responseJSON.success) {
@ -290,12 +294,12 @@ else {
}
let pastOccupantSearchResults = [];
function addOccupantFromCopy(clickEvent) {
var _a;
clickEvent.preventDefault();
const panelBlockElement = clickEvent.currentTarget;
const occupant = pastOccupantSearchResults[Number.parseInt(panelBlockElement.dataset.index, 10)];
const lotOccupantTypeId = panelBlockElement
.closest('.modal')
.querySelector('#lotOccupancyOccupantCopy--lotOccupantTypeId').value;
const lotOccupantTypeId = ((_a = panelBlockElement
.closest('.modal')) === null || _a === void 0 ? void 0 : _a.querySelector('#lotOccupancyOccupantCopy--lotOccupantTypeId')).value;
if (lotOccupantTypeId === '') {
bulmaJS.alert({
title: `No ${los.escapedAliases.Occupant} Type Selected`,
@ -312,16 +316,16 @@ else {
function searchOccupants(event) {
event.preventDefault();
if (searchFormElement.querySelector('#lotOccupancyOccupantCopy--searchFilter').value === '') {
searchResultsElement.innerHTML =
'<div class="message is-info">' +
'<p class="message-body">Enter a partial name or address in the search field above.</p>' +
'</div>';
searchResultsElement.innerHTML = `<div class="message is-info">
<p class="message-body">Enter a partial name or address in the search field above.</p>
</div>`;
return;
}
// eslint-disable-next-line no-unsanitized/property
searchResultsElement.innerHTML =
los.getLoadingParagraphHTML('Searching...');
cityssm.postJSON(los.urlPrefix + '/lotOccupancies/doSearchPastOccupants', searchFormElement, (rawResponseJSON) => {
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
cityssm.postJSON(`${los.urlPrefix}/lotOccupancies/doSearchPastOccupants`, searchFormElement, (rawResponseJSON) => {
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
const responseJSON = rawResponseJSON;
pastOccupantSearchResults = responseJSON.occupants;
const panelElement = document.createElement('div');
@ -330,35 +334,27 @@ else {
const panelBlockElement = document.createElement('a');
panelBlockElement.className = 'panel-block is-block';
panelBlockElement.dataset.index = index.toString();
panelBlockElement.innerHTML =
'<strong>' +
cityssm.escapeHTML((_a = occupant.occupantName) !== null && _a !== void 0 ? _a : '') +
' ' +
cityssm.escapeHTML((_b = occupant.occupantFamilyName) !== null && _b !== void 0 ? _b : '') +
'</strong>' +
'<br />' +
'<div class="columns">' +
('<div class="column">' +
cityssm.escapeHTML((_c = occupant.occupantAddress1) !== null && _c !== void 0 ? _c : '') +
'<br />' +
(((_d = occupant.occupantAddress2) !== null && _d !== void 0 ? _d : '') === ''
// eslint-disable-next-line no-unsanitized/property
panelBlockElement.innerHTML = `<strong>
${cityssm.escapeHTML((_a = occupant.occupantName) !== null && _a !== void 0 ? _a : '')} ${cityssm.escapeHTML((_b = occupant.occupantFamilyName) !== null && _b !== void 0 ? _b : '')}
</strong><br />
<div class="columns">
<div class="column">
${cityssm.escapeHTML((_c = occupant.occupantAddress1) !== null && _c !== void 0 ? _c : '')}<br />
${((_d = occupant.occupantAddress2) !== null && _d !== void 0 ? _d : '') === ''
? ''
: cityssm.escapeHTML(occupant.occupantAddress2) + '<br />') +
cityssm.escapeHTML((_e = occupant.occupantCity) !== null && _e !== void 0 ? _e : '') +
', ' +
cityssm.escapeHTML((_f = occupant.occupantProvince) !== null && _f !== void 0 ? _f : '') +
'<br />' +
cityssm.escapeHTML((_g = occupant.occupantPostalCode) !== null && _g !== void 0 ? _g : '') +
'</div>') +
('<div class="column">' +
(((_h = occupant.occupantPhoneNumber) !== null && _h !== void 0 ? _h : '') === ''
: cityssm.escapeHTML((_e = occupant.occupantAddress2) !== null && _e !== void 0 ? _e : '') +
'<br />'}${cityssm.escapeHTML((_f = occupant.occupantCity) !== null && _f !== void 0 ? _f : '')}, ${cityssm.escapeHTML((_g = occupant.occupantProvince) !== null && _g !== void 0 ? _g : '')}<br />
${cityssm.escapeHTML((_h = occupant.occupantPostalCode) !== null && _h !== void 0 ? _h : '')}
</div>
<div class="column">
${((_j = occupant.occupantPhoneNumber) !== null && _j !== void 0 ? _j : '') === ''
? ''
: cityssm.escapeHTML(occupant.occupantPhoneNumber) +
'<br />') +
cityssm.escapeHTML((_j = occupant.occupantEmailAddress) !== null && _j !== void 0 ? _j : '') +
'<br />' +
'</div>') +
'</div>';
: cityssm.escapeHTML((_k = occupant.occupantPhoneNumber) !== null && _k !== void 0 ? _k : '') +
'<br />'}
${cityssm.escapeHTML((_l = occupant.occupantEmailAddress) !== null && _l !== void 0 ? _l : '')}<br />
</div>
</div>`;
panelBlockElement.addEventListener('click', addOccupantFromCopy);
panelElement.append(panelBlockElement);
}
@ -397,12 +393,13 @@ else {
const fontAwesomeIconClass = (_a = lotOccupantTypeIdElement.selectedOptions[0].dataset
.fontAwesomeIconClass) !== null && _a !== void 0 ? _a : 'user';
modalElement.querySelector('#lotOccupancyOccupantAdd--fontAwesomeIconClass').innerHTML =
`<i class="fas fa-fw fa-${fontAwesomeIconClass}" aria-hidden="true"></i>`;
`<i class="fas fa-fw fa-${cityssm.escapeHTML(fontAwesomeIconClass)}" aria-hidden="true"></i>`;
let occupantCommentTitle = (_b = lotOccupantTypeIdElement.selectedOptions[0].dataset
.occupantCommentTitle) !== null && _b !== void 0 ? _b : '';
if (occupantCommentTitle === '') {
occupantCommentTitle = 'Comment';
}
;
modalElement.querySelector('#lotOccupancyOccupantAdd--occupantCommentTitle').textContent = occupantCommentTitle;
});
addFormElement = modalElement.querySelector('#form--lotOccupancyOccupantAdd');

View File

@ -112,69 +112,72 @@ function openEditLotOccupancyOccupant(clickEvent: Event): void {
if (!lotOccupantTypeSelected) {
const optionElement = document.createElement('option')
optionElement.value = lotOccupancyOccupant.lotOccupantTypeId!.toString()
optionElement.textContent = lotOccupancyOccupant.lotOccupantType!
optionElement.value =
lotOccupancyOccupant.lotOccupantTypeId?.toString() ?? ''
optionElement.textContent = lotOccupancyOccupant.lotOccupantType ?? ''
optionElement.dataset.occupantCommentTitle =
lotOccupancyOccupant.occupantCommentTitle!
lotOccupancyOccupant.occupantCommentTitle
optionElement.dataset.fontAwesomeIconClass =
lotOccupancyOccupant.fontAwesomeIconClass!
lotOccupancyOccupant.fontAwesomeIconClass
optionElement.selected = true
lotOccupantTypeSelectElement.append(optionElement)
}
;(
modalElement.querySelector(
'#lotOccupancyOccupantEdit--fontAwesomeIconClass'
)!.innerHTML =
`<i class="fas fa-fw fa-${lotOccupancyOccupant.fontAwesomeIconClass!}" aria-hidden="true"></i>`
) as HTMLElement
).innerHTML =
`<i class="fas fa-fw fa-${cityssm.escapeHTML(lotOccupancyOccupant.fontAwesomeIconClass ?? '')}" aria-hidden="true"></i>`
;(
modalElement.querySelector(
'#lotOccupancyOccupantEdit--occupantName'
) as HTMLInputElement
).value = lotOccupancyOccupant.occupantName!
).value = lotOccupancyOccupant.occupantName ?? ''
;(
modalElement.querySelector(
'#lotOccupancyOccupantEdit--occupantFamilyName'
) as HTMLInputElement
).value = lotOccupancyOccupant.occupantFamilyName!
).value = lotOccupancyOccupant.occupantFamilyName ?? ''
;(
modalElement.querySelector(
'#lotOccupancyOccupantEdit--occupantAddress1'
) as HTMLInputElement
).value = lotOccupancyOccupant.occupantAddress1!
).value = lotOccupancyOccupant.occupantAddress1 ?? ''
;(
modalElement.querySelector(
'#lotOccupancyOccupantEdit--occupantAddress2'
) as HTMLInputElement
).value = lotOccupancyOccupant.occupantAddress2!
).value = lotOccupancyOccupant.occupantAddress2 ?? ''
;(
modalElement.querySelector(
'#lotOccupancyOccupantEdit--occupantCity'
) as HTMLInputElement
).value = lotOccupancyOccupant.occupantCity!
).value = lotOccupancyOccupant.occupantCity ?? ''
;(
modalElement.querySelector(
'#lotOccupancyOccupantEdit--occupantProvince'
) as HTMLInputElement
).value = lotOccupancyOccupant.occupantProvince!
).value = lotOccupancyOccupant.occupantProvince ?? ''
;(
modalElement.querySelector(
'#lotOccupancyOccupantEdit--occupantPostalCode'
) as HTMLInputElement
).value = lotOccupancyOccupant.occupantPostalCode!
).value = lotOccupancyOccupant.occupantPostalCode ?? ''
;(
modalElement.querySelector(
'#lotOccupancyOccupantEdit--occupantPhoneNumber'
) as HTMLInputElement
).value = lotOccupancyOccupant.occupantPhoneNumber!
).value = lotOccupancyOccupant.occupantPhoneNumber ?? ''
;(
modalElement.querySelector(
'#lotOccupancyOccupantEdit--occupantEmailAddress'
) as HTMLInputElement
).value = lotOccupancyOccupant.occupantEmailAddress!
).value = lotOccupancyOccupant.occupantEmailAddress ?? ''
;(
modalElement.querySelector(
'#lotOccupancyOccupantEdit--occupantCommentTitle'
@ -182,12 +185,12 @@ function openEditLotOccupancyOccupant(clickEvent: Event): void {
).textContent =
(lotOccupancyOccupant.occupantCommentTitle ?? '') === ''
? 'Comment'
: lotOccupancyOccupant.occupantCommentTitle!
: lotOccupancyOccupant.occupantCommentTitle ?? ''
;(
modalElement.querySelector(
'#lotOccupancyOccupantEdit--occupantComment'
) as HTMLTextAreaElement
).value = lotOccupancyOccupant.occupantComment!
).value = lotOccupancyOccupant.occupantComment ?? ''
},
onshown(modalElement, closeModalFunction) {
bulmaJS.toggleHtmlClipped()
@ -203,10 +206,12 @@ function openEditLotOccupancyOccupant(clickEvent: Event): void {
lotOccupantTypeIdElement.selectedOptions[0].dataset
.fontAwesomeIconClass ?? 'user'
;(
modalElement.querySelector(
'#lotOccupancyOccupantEdit--fontAwesomeIconClass'
)!.innerHTML =
`<i class="fas fa-fw fa-${fontAwesomeIconClass}" aria-hidden="true"></i>`
) as HTMLElement
).innerHTML =
`<i class="fas fa-fw fa-${cityssm.escapeHTML(fontAwesomeIconClass)}" aria-hidden="true"></i>`
let occupantCommentTitle =
lotOccupantTypeIdElement.selectedOptions[0].dataset
@ -222,7 +227,7 @@ function openEditLotOccupancyOccupant(clickEvent: Event): void {
).textContent = occupantCommentTitle
})
editFormElement = modalElement.querySelector('form')!
editFormElement = modalElement.querySelector('form') as HTMLFormElement
editFormElement.addEventListener('submit', editOccupant)
editCloseModalFunction = closeModalFunction
@ -236,11 +241,11 @@ function openEditLotOccupancyOccupant(clickEvent: Event): void {
function deleteLotOccupancyOccupant(clickEvent: Event): void {
const lotOccupantIndex = (clickEvent.currentTarget as HTMLElement).closest(
'tr'
)!.dataset.lotOccupantIndex
)?.dataset.lotOccupantIndex
function doDelete(): void {
cityssm.postJSON(
los.urlPrefix + '/lotOccupancies/doDeleteLotOccupancyOccupant',
`${los.urlPrefix}/lotOccupancies/doDeleteLotOccupancyOccupant`,
{
lotOccupancyId,
lotOccupantIndex
@ -257,7 +262,7 @@ function deleteLotOccupancyOccupant(clickEvent: Event): void {
renderLotOccupancyOccupants()
} else {
bulmaJS.alert({
title: 'Error Removing ' + los.escapedAliases.Occupant,
title: `Error Removing ${los.escapedAliases.Occupant}`,
message: responseJSON.errorMessage ?? '',
contextualColorName: 'danger'
})
@ -270,7 +275,7 @@ function deleteLotOccupancyOccupant(clickEvent: Event): void {
title: `Remove ${los.escapedAliases.Occupant}?`,
message: `Are you sure you want to remove this ${los.escapedAliases.occupant}?`,
okButton: {
text: 'Yes, Remove ' + los.escapedAliases.Occupant,
text: `Yes, Remove ${los.escapedAliases.Occupant}`,
callbackFunction: doDelete
},
contextualColorName: 'warning'
@ -285,6 +290,7 @@ function renderLotOccupancyOccupants(): void {
cityssm.clearElement(occupantsContainer)
if (lotOccupancyOccupants.length === 0) {
// eslint-disable-next-line no-unsanitized/property
occupantsContainer.innerHTML = `<div class="message is-warning">
<p class="message-body">There are no ${los.escapedAliases.occupants} associated with this record.</p>
</div>`
@ -295,6 +301,7 @@ function renderLotOccupancyOccupants(): void {
const tableElement = document.createElement('table')
tableElement.className = 'table is-fullwidth is-striped is-hoverable'
// eslint-disable-next-line no-unsanitized/property
tableElement.innerHTML = `<thead><tr>
<th>${los.escapedAliases.Occupant}</th>
<th>Address</th>
@ -309,38 +316,38 @@ function renderLotOccupancyOccupants(): void {
tableRowElement.dataset.lotOccupantIndex =
lotOccupancyOccupant.lotOccupantIndex!.toString()
// eslint-disable-next-line no-unsanitized/property
tableRowElement.innerHTML =
'<td>' +
cityssm.escapeHTML(
(lotOccupancyOccupant.occupantName ?? '') === '' &&
(lotOccupancyOccupant.occupantFamilyName ?? '') === ''
? '(No Name)'
: lotOccupancyOccupant.occupantName! +
' ' +
lotOccupancyOccupant.occupantFamilyName!
: `${lotOccupancyOccupant.occupantName} ${lotOccupancyOccupant.occupantFamilyName}`
) +
'<br />' +
('<span class="tag">' +
'<i class="fas fa-fw fa-' +
cityssm.escapeHTML(lotOccupancyOccupant.fontAwesomeIconClass!) +
cityssm.escapeHTML(lotOccupancyOccupant.fontAwesomeIconClass ?? '') +
'" aria-hidden="true"></i>' +
' <span class="ml-1">' +
cityssm.escapeHTML(lotOccupancyOccupant.lotOccupantType!) +
cityssm.escapeHTML(lotOccupancyOccupant.lotOccupantType ?? '') +
'</span>' +
'</span>') +
'</td>' +
('<td>' +
((lotOccupancyOccupant.occupantAddress1 ?? '') === ''
? ''
: cityssm.escapeHTML(lotOccupancyOccupant.occupantAddress1!) +
: cityssm.escapeHTML(lotOccupancyOccupant.occupantAddress1 ?? '') +
'<br />') +
((lotOccupancyOccupant.occupantAddress2 ?? '') === ''
? ''
: cityssm.escapeHTML(lotOccupancyOccupant.occupantAddress2!) +
: cityssm.escapeHTML(lotOccupancyOccupant.occupantAddress2 ?? '') +
'<br />') +
((lotOccupancyOccupant.occupantCity ?? '') === ''
? ''
: cityssm.escapeHTML(lotOccupancyOccupant.occupantCity!) + ', ') +
: cityssm.escapeHTML(lotOccupancyOccupant.occupantCity ?? '') +
', ') +
cityssm.escapeHTML(lotOccupancyOccupant.occupantProvince ?? '') +
'<br />' +
cityssm.escapeHTML(lotOccupancyOccupant.occupantPostalCode ?? '') +
@ -348,18 +355,20 @@ function renderLotOccupancyOccupants(): void {
('<td>' +
((lotOccupancyOccupant.occupantPhoneNumber ?? '') === ''
? ''
: cityssm.escapeHTML(lotOccupancyOccupant.occupantPhoneNumber!) +
: cityssm.escapeHTML(lotOccupancyOccupant.occupantPhoneNumber ?? '') +
'<br />') +
((lotOccupancyOccupant.occupantEmailAddress ?? '') === ''
? ''
: cityssm.escapeHTML(lotOccupancyOccupant.occupantEmailAddress!)) +
: cityssm.escapeHTML(
lotOccupancyOccupant.occupantEmailAddress ?? ''
)) +
'</td>') +
('<td>' +
'<span data-tooltip="' +
cityssm.escapeHTML(
(lotOccupancyOccupant.occupantCommentTitle ?? '') === ''
? 'Comment'
: lotOccupancyOccupant.occupantCommentTitle!
: lotOccupancyOccupant.occupantCommentTitle ?? ''
) +
'">' +
cityssm.escapeHTML(lotOccupancyOccupant.occupantComment ?? '') +
@ -372,7 +381,7 @@ function renderLotOccupancyOccupants(): void {
' <span>Edit</span>' +
'</button>') +
('<button class="button is-light is-danger button--delete" data-tooltip="Delete ' +
cityssm.escapeHTML(exports.aliases.occupant) +
los.escapedAliases.Occupant +
'" type="button" aria-label="Delete">' +
'<i class="fas fa-trash" aria-hidden="true"></i>' +
'</button>') +
@ -380,14 +389,14 @@ function renderLotOccupancyOccupants(): void {
'</td>')
tableRowElement
.querySelector('.button--edit')!
.addEventListener('click', openEditLotOccupancyOccupant)
.querySelector('.button--edit')
?.addEventListener('click', openEditLotOccupancyOccupant)
tableRowElement
.querySelector('.button--delete')!
.addEventListener('click', deleteLotOccupancyOccupant)
.querySelector('.button--delete')
?.addEventListener('click', deleteLotOccupancyOccupant)
tableElement.querySelector('tbody')!.append(tableRowElement)
tableElement.querySelector('tbody')?.append(tableRowElement)
}
occupantsContainer.append(tableElement)
@ -413,9 +422,11 @@ if (isCreate) {
occupantCommentTitle = 'Comment'
}
;(
formElement.querySelector(
'#lotOccupancy--occupantCommentTitle'
)!.textContent = occupantCommentTitle
) as HTMLElement
).textContent = occupantCommentTitle
})
} else {
renderLotOccupancyOccupants()
@ -435,17 +446,17 @@ document
formOrObject: HTMLFormElement | recordTypes.LotOccupancyOccupant
): void {
cityssm.postJSON(
los.urlPrefix + '/lotOccupancies/doAddLotOccupancyOccupant',
`${los.urlPrefix}/lotOccupancies/doAddLotOccupancyOccupant`,
formOrObject,
(rawResponseJSON) => {
const responseJSON = rawResponseJSON as {
success: boolean
errorMessage?: string
lotOccupancyOccupants?: recordTypes.LotOccupancyOccupant[]
lotOccupancyOccupants: recordTypes.LotOccupancyOccupant[]
}
if (responseJSON.success) {
lotOccupancyOccupants = responseJSON.lotOccupancyOccupants!
lotOccupancyOccupants = responseJSON.lotOccupancyOccupants
addCloseModalFunction()
renderLotOccupancyOccupants()
} else {
@ -478,8 +489,8 @@ document
const lotOccupantTypeId = (
panelBlockElement
.closest('.modal')!
.querySelector(
.closest('.modal')
?.querySelector(
'#lotOccupancyOccupantCopy--lotOccupantTypeId'
) as HTMLSelectElement
).value
@ -507,19 +518,19 @@ document
) as HTMLInputElement
).value === ''
) {
searchResultsElement.innerHTML =
'<div class="message is-info">' +
'<p class="message-body">Enter a partial name or address in the search field above.</p>' +
'</div>'
searchResultsElement.innerHTML = `<div class="message is-info">
<p class="message-body">Enter a partial name or address in the search field above.</p>
</div>`
return
}
// eslint-disable-next-line no-unsanitized/property
searchResultsElement.innerHTML =
los.getLoadingParagraphHTML('Searching...')
cityssm.postJSON(
los.urlPrefix + '/lotOccupancies/doSearchPastOccupants',
`${los.urlPrefix}/lotOccupancies/doSearchPastOccupants`,
searchFormElement,
(rawResponseJSON) => {
const responseJSON = rawResponseJSON as {
@ -536,35 +547,31 @@ document
panelBlockElement.className = 'panel-block is-block'
panelBlockElement.dataset.index = index.toString()
panelBlockElement.innerHTML =
'<strong>' +
cityssm.escapeHTML(occupant.occupantName ?? '') +
' ' +
cityssm.escapeHTML(occupant.occupantFamilyName ?? '') +
'</strong>' +
'<br />' +
'<div class="columns">' +
('<div class="column">' +
cityssm.escapeHTML(occupant.occupantAddress1 ?? '') +
'<br />' +
((occupant.occupantAddress2 ?? '') === ''
// eslint-disable-next-line no-unsanitized/property
panelBlockElement.innerHTML = `<strong>
${cityssm.escapeHTML(occupant.occupantName ?? '')} ${cityssm.escapeHTML(occupant.occupantFamilyName ?? '')}
</strong><br />
<div class="columns">
<div class="column">
${cityssm.escapeHTML(occupant.occupantAddress1 ?? '')}<br />
${
(occupant.occupantAddress2 ?? '') === ''
? ''
: cityssm.escapeHTML(occupant.occupantAddress2!) + '<br />') +
cityssm.escapeHTML(occupant.occupantCity ?? '') +
', ' +
cityssm.escapeHTML(occupant.occupantProvince ?? '') +
'<br />' +
cityssm.escapeHTML(occupant.occupantPostalCode ?? '') +
'</div>') +
('<div class="column">' +
((occupant.occupantPhoneNumber ?? '') === ''
: cityssm.escapeHTML(occupant.occupantAddress2 ?? '') +
'<br />'
}${cityssm.escapeHTML(occupant.occupantCity ?? '')}, ${cityssm.escapeHTML(occupant.occupantProvince ?? '')}<br />
${cityssm.escapeHTML(occupant.occupantPostalCode ?? '')}
</div>
<div class="column">
${
(occupant.occupantPhoneNumber ?? '') === ''
? ''
: cityssm.escapeHTML(occupant.occupantPhoneNumber!) +
'<br />') +
cityssm.escapeHTML(occupant.occupantEmailAddress ?? '') +
'<br />' +
'</div>') +
'</div>'
: cityssm.escapeHTML(occupant.occupantPhoneNumber ?? '') +
'<br />'
}
${cityssm.escapeHTML(occupant.occupantEmailAddress ?? '')}<br />
</div>
</div>`
panelBlockElement.addEventListener('click', addOccupantFromCopy)
@ -614,12 +621,12 @@ document
modalElement.querySelector(
'#lotOccupancyOccupantAdd--occupantCity'
) as HTMLInputElement
).value = exports.occupantCityDefault
).value = exports.occupantCityDefault as string
;(
modalElement.querySelector(
'#lotOccupancyOccupantAdd--occupantProvince'
) as HTMLInputElement
).value = exports.occupantProvinceDefault
).value = exports.occupantProvinceDefault as string
},
onshown(modalElement, closeModalFunction) {
bulmaJS.toggleHtmlClipped()
@ -636,10 +643,10 @@ document
lotOccupantTypeIdElement.selectedOptions[0].dataset
.fontAwesomeIconClass ?? 'user'
modalElement.querySelector(
;(modalElement.querySelector(
'#lotOccupancyOccupantAdd--fontAwesomeIconClass'
)!.innerHTML =
`<i class="fas fa-fw fa-${fontAwesomeIconClass}" aria-hidden="true"></i>`
) as HTMLElement).innerHTML =
`<i class="fas fa-fw fa-${cityssm.escapeHTML(fontAwesomeIconClass)}" aria-hidden="true"></i>`
let occupantCommentTitle =
lotOccupantTypeIdElement.selectedOptions[0].dataset
@ -649,9 +656,9 @@ document
occupantCommentTitle = 'Comment'
}
modalElement.querySelector(
;(modalElement.querySelector(
'#lotOccupancyOccupantAdd--occupantCommentTitle'
)!.textContent = occupantCommentTitle
) as HTMLElement).textContent = occupantCommentTitle
})
addFormElement = modalElement.querySelector(

File diff suppressed because one or more lines are too long