code cleanup
parent
20d3d89558
commit
2fbfa5963e
|
|
@ -1,7 +1,9 @@
|
||||||
"use strict";
|
"use strict";
|
||||||
/* eslint-disable @typescript-eslint/no-non-null-assertion, unicorn/prefer-module */
|
// eslint-disable-next-line @eslint-community/eslint-comments/disable-enable-pair
|
||||||
|
/* eslint-disable unicorn/prefer-module */
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
(() => {
|
(() => {
|
||||||
|
var _a;
|
||||||
const los = exports.los;
|
const los = exports.los;
|
||||||
const occupancyTypesContainerElement = document.querySelector('#container--occupancyTypes');
|
const occupancyTypesContainerElement = document.querySelector('#container--occupancyTypes');
|
||||||
const occupancyTypePrintsContainerElement = document.querySelector('#container--occupancyTypePrints');
|
const occupancyTypePrintsContainerElement = document.querySelector('#container--occupancyTypePrints');
|
||||||
|
|
@ -11,15 +13,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
delete exports.allOccupancyTypeFields;
|
delete exports.allOccupancyTypeFields;
|
||||||
const expandedOccupancyTypes = new Set();
|
const expandedOccupancyTypes = new Set();
|
||||||
function toggleOccupancyTypeFields(clickEvent) {
|
function toggleOccupancyTypeFields(clickEvent) {
|
||||||
|
var _a;
|
||||||
const toggleButtonElement = clickEvent.currentTarget;
|
const toggleButtonElement = clickEvent.currentTarget;
|
||||||
const occupancyTypeElement = toggleButtonElement.closest('.container--occupancyType');
|
const occupancyTypeElement = toggleButtonElement.closest('.container--occupancyType');
|
||||||
const occupancyTypeId = Number.parseInt(occupancyTypeElement.dataset.occupancyTypeId, 10);
|
const occupancyTypeId = Number.parseInt((_a = occupancyTypeElement.dataset.occupancyTypeId) !== null && _a !== void 0 ? _a : '', 10);
|
||||||
if (expandedOccupancyTypes.has(occupancyTypeId)) {
|
if (expandedOccupancyTypes.has(occupancyTypeId)) {
|
||||||
expandedOccupancyTypes.delete(occupancyTypeId);
|
expandedOccupancyTypes.delete(occupancyTypeId);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
expandedOccupancyTypes.add(occupancyTypeId);
|
expandedOccupancyTypes.add(occupancyTypeId);
|
||||||
}
|
}
|
||||||
|
// eslint-disable-next-line no-unsanitized/property
|
||||||
toggleButtonElement.innerHTML = expandedOccupancyTypes.has(occupancyTypeId)
|
toggleButtonElement.innerHTML = expandedOccupancyTypes.has(occupancyTypeId)
|
||||||
? '<i class="fas fa-fw fa-minus" aria-hidden="true"></i>'
|
? '<i class="fas fa-fw fa-minus" aria-hidden="true"></i>'
|
||||||
: '<i class="fas fa-fw fa-plus" aria-hidden="true"></i>';
|
: '<i class="fas fa-fw fa-plus" aria-hidden="true"></i>';
|
||||||
|
|
@ -28,8 +32,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
panelBlockElement.classList.toggle('is-hidden');
|
panelBlockElement.classList.toggle('is-hidden');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function occupancyTypeResponseHandler(responseJSON) {
|
function occupancyTypeResponseHandler(rawResponseJSON) {
|
||||||
var _a;
|
var _a;
|
||||||
|
const responseJSON = rawResponseJSON;
|
||||||
if (responseJSON.success) {
|
if (responseJSON.success) {
|
||||||
occupancyTypes = responseJSON.occupancyTypes;
|
occupancyTypes = responseJSON.occupancyTypes;
|
||||||
allOccupancyTypeFields = responseJSON.allOccupancyTypeFields;
|
allOccupancyTypeFields = responseJSON.allOccupancyTypeFields;
|
||||||
|
|
@ -37,16 +42,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
title: 'Error Updating ' + los.escapedAliases.Occupancy + ' Type',
|
title: `Error Updating ${los.escapedAliases.Occupancy} Type`,
|
||||||
message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
|
message: (_a = responseJSON.errorMessage) !== null && _a !== void 0 ? _a : '',
|
||||||
contextualColorName: 'danger'
|
contextualColorName: 'danger'
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function deleteOccupancyType(clickEvent) {
|
function deleteOccupancyType(clickEvent) {
|
||||||
const occupancyTypeId = Number.parseInt(clickEvent.currentTarget.closest('.container--occupancyType').dataset.occupancyTypeId, 10);
|
var _a;
|
||||||
|
const occupancyTypeId = Number.parseInt((_a = clickEvent.currentTarget.closest('.container--occupancyType').dataset.occupancyTypeId) !== null && _a !== void 0 ? _a : '', 10);
|
||||||
function doDelete() {
|
function doDelete() {
|
||||||
cityssm.postJSON(los.urlPrefix + '/admin/doDeleteOccupancyType', {
|
cityssm.postJSON(`${los.urlPrefix}/admin/doDeleteOccupancyType`, {
|
||||||
occupancyTypeId
|
occupancyTypeId
|
||||||
}, occupancyTypeResponseHandler);
|
}, occupancyTypeResponseHandler);
|
||||||
}
|
}
|
||||||
|
|
@ -61,14 +67,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
function openEditOccupancyType(clickEvent) {
|
function openEditOccupancyType(clickEvent) {
|
||||||
const occupancyTypeId = Number.parseInt(clickEvent.currentTarget.closest('.container--occupancyType').dataset.occupancyTypeId, 10);
|
var _a;
|
||||||
|
const occupancyTypeId = Number.parseInt((_a = clickEvent.currentTarget.closest('.container--occupancyType').dataset.occupancyTypeId) !== null && _a !== void 0 ? _a : '', 10);
|
||||||
const occupancyType = occupancyTypes.find((currentOccupancyType) => {
|
const occupancyType = occupancyTypes.find((currentOccupancyType) => {
|
||||||
return occupancyTypeId === currentOccupancyType.occupancyTypeId;
|
return occupancyTypeId === currentOccupancyType.occupancyTypeId;
|
||||||
});
|
});
|
||||||
let editCloseModalFunction;
|
let editCloseModalFunction;
|
||||||
function doEdit(submitEvent) {
|
function doEdit(submitEvent) {
|
||||||
submitEvent.preventDefault();
|
submitEvent.preventDefault();
|
||||||
cityssm.postJSON(los.urlPrefix + '/admin/doUpdateOccupancyType', submitEvent.currentTarget, (rawResponseJSON) => {
|
cityssm.postJSON(`${los.urlPrefix}/admin/doUpdateOccupancyType`, submitEvent.currentTarget, (rawResponseJSON) => {
|
||||||
const responseJSON = rawResponseJSON;
|
const responseJSON = rawResponseJSON;
|
||||||
occupancyTypeResponseHandler(responseJSON);
|
occupancyTypeResponseHandler(responseJSON);
|
||||||
if (responseJSON.success) {
|
if (responseJSON.success) {
|
||||||
|
|
@ -83,9 +90,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
modalElement.querySelector('#occupancyTypeEdit--occupancyType').value = occupancyType.occupancyType;
|
modalElement.querySelector('#occupancyTypeEdit--occupancyType').value = occupancyType.occupancyType;
|
||||||
},
|
},
|
||||||
onshown(modalElement, closeModalFunction) {
|
onshown(modalElement, closeModalFunction) {
|
||||||
|
var _a;
|
||||||
editCloseModalFunction = closeModalFunction;
|
editCloseModalFunction = closeModalFunction;
|
||||||
modalElement.querySelector('#occupancyTypeEdit--occupancyType').focus();
|
modalElement.querySelector('#occupancyTypeEdit--occupancyType').focus();
|
||||||
modalElement.querySelector('form').addEventListener('submit', doEdit);
|
(_a = modalElement.querySelector('form')) === null || _a === void 0 ? void 0 : _a.addEventListener('submit', doEdit);
|
||||||
bulmaJS.toggleHtmlClipped();
|
bulmaJS.toggleHtmlClipped();
|
||||||
},
|
},
|
||||||
onremoved() {
|
onremoved() {
|
||||||
|
|
@ -94,11 +102,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
function openAddOccupancyTypeField(clickEvent) {
|
function openAddOccupancyTypeField(clickEvent) {
|
||||||
const occupancyTypeId = Number.parseInt(clickEvent.currentTarget.closest('.container--occupancyType').dataset.occupancyTypeId, 10);
|
var _a;
|
||||||
|
const occupancyTypeId = Number.parseInt((_a = clickEvent.currentTarget.closest('.container--occupancyType').dataset.occupancyTypeId) !== null && _a !== void 0 ? _a : '', 10);
|
||||||
let addCloseModalFunction;
|
let addCloseModalFunction;
|
||||||
function doAdd(submitEvent) {
|
function doAdd(submitEvent) {
|
||||||
submitEvent.preventDefault();
|
submitEvent.preventDefault();
|
||||||
cityssm.postJSON(los.urlPrefix + '/admin/doAddOccupancyTypeField', submitEvent.currentTarget, (rawResponseJSON) => {
|
cityssm.postJSON(`${los.urlPrefix}/admin/doAddOccupancyTypeField`, submitEvent.currentTarget, (rawResponseJSON) => {
|
||||||
const responseJSON = rawResponseJSON;
|
const responseJSON = rawResponseJSON;
|
||||||
expandedOccupancyTypes.add(occupancyTypeId);
|
expandedOccupancyTypes.add(occupancyTypeId);
|
||||||
occupancyTypeResponseHandler(responseJSON);
|
occupancyTypeResponseHandler(responseJSON);
|
||||||
|
|
@ -117,9 +126,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onshown(modalElement, closeModalFunction) {
|
onshown(modalElement, closeModalFunction) {
|
||||||
|
var _a;
|
||||||
addCloseModalFunction = closeModalFunction;
|
addCloseModalFunction = closeModalFunction;
|
||||||
modalElement.querySelector('#occupancyTypeFieldAdd--occupancyTypeField').focus();
|
modalElement.querySelector('#occupancyTypeFieldAdd--occupancyTypeField').focus();
|
||||||
modalElement.querySelector('form').addEventListener('submit', doAdd);
|
(_a = modalElement.querySelector('form')) === null || _a === void 0 ? void 0 : _a.addEventListener('submit', doAdd);
|
||||||
bulmaJS.toggleHtmlClipped();
|
bulmaJS.toggleHtmlClipped();
|
||||||
},
|
},
|
||||||
onremoved() {
|
onremoved() {
|
||||||
|
|
@ -140,6 +150,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
}, occupancyTypeResponseHandler);
|
}, occupancyTypeResponseHandler);
|
||||||
}
|
}
|
||||||
function openEditOccupancyTypeField(occupancyTypeId, occupancyTypeFieldId) {
|
function openEditOccupancyTypeField(occupancyTypeId, occupancyTypeFieldId) {
|
||||||
|
var _a;
|
||||||
let occupancyType;
|
let occupancyType;
|
||||||
if (occupancyTypeId) {
|
if (occupancyTypeId) {
|
||||||
occupancyType = occupancyTypes.find((currentOccupancyType) => {
|
occupancyType = occupancyTypes.find((currentOccupancyType) => {
|
||||||
|
|
@ -147,7 +158,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
const occupancyTypeField = (occupancyType
|
const occupancyTypeField = (occupancyType
|
||||||
? occupancyType.occupancyTypeFields
|
? (_a = occupancyType.occupancyTypeFields) !== null && _a !== void 0 ? _a : []
|
||||||
: allOccupancyTypeFields).find((currentOccupancyTypeField) => {
|
: allOccupancyTypeFields).find((currentOccupancyTypeField) => {
|
||||||
return (currentOccupancyTypeField.occupancyTypeFieldId === occupancyTypeFieldId);
|
return (currentOccupancyTypeField.occupancyTypeFieldId === occupancyTypeFieldId);
|
||||||
});
|
});
|
||||||
|
|
@ -173,7 +184,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
}
|
}
|
||||||
function doUpdate(submitEvent) {
|
function doUpdate(submitEvent) {
|
||||||
submitEvent.preventDefault();
|
submitEvent.preventDefault();
|
||||||
cityssm.postJSON(los.urlPrefix + '/admin/doUpdateOccupancyTypeField', submitEvent.currentTarget, (rawResponseJSON) => {
|
cityssm.postJSON(`${los.urlPrefix}/admin/doUpdateOccupancyTypeField`, submitEvent.currentTarget, (rawResponseJSON) => {
|
||||||
const responseJSON = rawResponseJSON;
|
const responseJSON = rawResponseJSON;
|
||||||
occupancyTypeResponseHandler(responseJSON);
|
occupancyTypeResponseHandler(responseJSON);
|
||||||
if (responseJSON.success) {
|
if (responseJSON.success) {
|
||||||
|
|
@ -182,7 +193,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
function doDelete() {
|
function doDelete() {
|
||||||
cityssm.postJSON(los.urlPrefix + '/admin/doDeleteOccupancyTypeField', {
|
cityssm.postJSON(`${los.urlPrefix}/admin/doDeleteOccupancyTypeField`, {
|
||||||
occupancyTypeFieldId
|
occupancyTypeFieldId
|
||||||
}, (rawResponseJSON) => {
|
}, (rawResponseJSON) => {
|
||||||
const responseJSON = rawResponseJSON;
|
const responseJSON = rawResponseJSON;
|
||||||
|
|
@ -205,35 +216,36 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
}
|
}
|
||||||
cityssm.openHtmlModal('adminOccupancyTypes-editOccupancyTypeField', {
|
cityssm.openHtmlModal('adminOccupancyTypes-editOccupancyTypeField', {
|
||||||
onshow: (modalElement) => {
|
onshow: (modalElement) => {
|
||||||
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
||||||
los.populateAliases(modalElement);
|
los.populateAliases(modalElement);
|
||||||
modalElement.querySelector('#occupancyTypeFieldEdit--occupancyTypeFieldId').value = occupancyTypeField.occupancyTypeFieldId.toString();
|
modalElement.querySelector('#occupancyTypeFieldEdit--occupancyTypeFieldId').value = occupancyTypeField.occupancyTypeFieldId.toString();
|
||||||
modalElement.querySelector('#occupancyTypeFieldEdit--occupancyTypeField').value = occupancyTypeField.occupancyTypeField;
|
modalElement.querySelector('#occupancyTypeFieldEdit--occupancyTypeField').value = (_a = occupancyTypeField.occupancyTypeField) !== null && _a !== void 0 ? _a : '';
|
||||||
modalElement.querySelector('#occupancyTypeFieldEdit--isRequired').value = occupancyTypeField.isRequired ? '1' : '0';
|
modalElement.querySelector('#occupancyTypeFieldEdit--isRequired').value = ((_b = occupancyTypeField.isRequired) !== null && _b !== void 0 ? _b : false) ? '1' : '0';
|
||||||
minimumLengthElement = modalElement.querySelector('#occupancyTypeFieldEdit--minimumLength');
|
minimumLengthElement = modalElement.querySelector('#occupancyTypeFieldEdit--minimumLength');
|
||||||
minimumLengthElement.value =
|
minimumLengthElement.value =
|
||||||
occupancyTypeField.minimumLength.toString();
|
(_d = (_c = occupancyTypeField.minimumLength) === null || _c === void 0 ? void 0 : _c.toString()) !== null && _d !== void 0 ? _d : '';
|
||||||
maximumLengthElement = modalElement.querySelector('#occupancyTypeFieldEdit--maximumLength');
|
maximumLengthElement = modalElement.querySelector('#occupancyTypeFieldEdit--maximumLength');
|
||||||
maximumLengthElement.value =
|
maximumLengthElement.value =
|
||||||
occupancyTypeField.maximumLength.toString();
|
(_f = (_e = occupancyTypeField.maximumLength) === null || _e === void 0 ? void 0 : _e.toString()) !== null && _f !== void 0 ? _f : '';
|
||||||
patternElement = modalElement.querySelector('#occupancyTypeFieldEdit--pattern');
|
patternElement = modalElement.querySelector('#occupancyTypeFieldEdit--pattern');
|
||||||
patternElement.value = occupancyTypeField.pattern;
|
patternElement.value = (_g = occupancyTypeField.pattern) !== null && _g !== void 0 ? _g : '';
|
||||||
occupancyTypeFieldValuesElement = modalElement.querySelector('#occupancyTypeFieldEdit--occupancyTypeFieldValues');
|
occupancyTypeFieldValuesElement = modalElement.querySelector('#occupancyTypeFieldEdit--occupancyTypeFieldValues');
|
||||||
occupancyTypeFieldValuesElement.value =
|
occupancyTypeFieldValuesElement.value =
|
||||||
occupancyTypeField.occupancyTypeFieldValues;
|
(_h = occupancyTypeField.occupancyTypeFieldValues) !== null && _h !== void 0 ? _h : '';
|
||||||
toggleInputFields();
|
toggleInputFields();
|
||||||
},
|
},
|
||||||
onshown: (modalElement, closeModalFunction) => {
|
onshown: (modalElement, closeModalFunction) => {
|
||||||
|
var _a, _b;
|
||||||
editCloseModalFunction = closeModalFunction;
|
editCloseModalFunction = closeModalFunction;
|
||||||
bulmaJS.init(modalElement);
|
bulmaJS.init(modalElement);
|
||||||
bulmaJS.toggleHtmlClipped();
|
bulmaJS.toggleHtmlClipped();
|
||||||
cityssm.enableNavBlocker();
|
cityssm.enableNavBlocker();
|
||||||
modalElement.querySelector('form').addEventListener('submit', doUpdate);
|
(_a = modalElement.querySelector('form')) === null || _a === void 0 ? void 0 : _a.addEventListener('submit', doUpdate);
|
||||||
minimumLengthElement.addEventListener('keyup', updateMaximumLengthMin);
|
minimumLengthElement.addEventListener('keyup', updateMaximumLengthMin);
|
||||||
updateMaximumLengthMin();
|
updateMaximumLengthMin();
|
||||||
occupancyTypeFieldValuesElement.addEventListener('keyup', toggleInputFields);
|
occupancyTypeFieldValuesElement.addEventListener('keyup', toggleInputFields);
|
||||||
modalElement
|
(_b = modalElement
|
||||||
.querySelector('#button--deleteOccupancyTypeField')
|
.querySelector('#button--deleteOccupancyTypeField')) === null || _b === void 0 ? void 0 : _b.addEventListener('click', confirmDoDelete);
|
||||||
.addEventListener('click', confirmDoDelete);
|
|
||||||
},
|
},
|
||||||
onremoved: () => {
|
onremoved: () => {
|
||||||
bulmaJS.toggleHtmlClipped();
|
bulmaJS.toggleHtmlClipped();
|
||||||
|
|
@ -242,9 +254,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
function openEditOccupancyTypeFieldByClick(clickEvent) {
|
function openEditOccupancyTypeFieldByClick(clickEvent) {
|
||||||
|
var _a, _b;
|
||||||
clickEvent.preventDefault();
|
clickEvent.preventDefault();
|
||||||
const occupancyTypeFieldId = Number.parseInt(clickEvent.currentTarget.closest('.container--occupancyTypeField').dataset.occupancyTypeFieldId, 10);
|
const occupancyTypeFieldId = Number.parseInt((_a = clickEvent.currentTarget.closest('.container--occupancyTypeField').dataset.occupancyTypeFieldId) !== null && _a !== void 0 ? _a : '', 10);
|
||||||
const occupancyTypeId = Number.parseInt(clickEvent.currentTarget.closest('.container--occupancyType').dataset.occupancyTypeId, 10);
|
const occupancyTypeId = Number.parseInt((_b = clickEvent.currentTarget.closest('.container--occupancyType').dataset.occupancyTypeId) !== null && _b !== void 0 ? _b : '', 10);
|
||||||
openEditOccupancyTypeField(occupancyTypeId, occupancyTypeFieldId);
|
openEditOccupancyTypeField(occupancyTypeId, occupancyTypeFieldId);
|
||||||
}
|
}
|
||||||
function moveOccupancyTypeField(clickEvent) {
|
function moveOccupancyTypeField(clickEvent) {
|
||||||
|
|
@ -260,17 +273,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
}, occupancyTypeResponseHandler);
|
}, occupancyTypeResponseHandler);
|
||||||
}
|
}
|
||||||
function renderOccupancyTypeFields(panelElement, occupancyTypeId, occupancyTypeFields) {
|
function renderOccupancyTypeFields(panelElement, occupancyTypeId, occupancyTypeFields) {
|
||||||
var _a;
|
var _a, _b;
|
||||||
if (occupancyTypeFields.length === 0) {
|
if (occupancyTypeFields.length === 0) {
|
||||||
panelElement.insertAdjacentHTML('beforeend', '<div class="panel-block is-block' +
|
// eslint-disable-next-line no-unsanitized/method
|
||||||
(!occupancyTypeId || expandedOccupancyTypes.has(occupancyTypeId)
|
panelElement.insertAdjacentHTML('beforeend', `<div class="panel-block is-block ${!occupancyTypeId || expandedOccupancyTypes.has(occupancyTypeId)
|
||||||
? ''
|
? ''
|
||||||
: ' is-hidden') +
|
: ' is-hidden'}">
|
||||||
'">' +
|
<div class="message is-info"><p class="message-body">There are no additional fields.</p></div>
|
||||||
'<div class="message is-info">' +
|
</div>`);
|
||||||
'<p class="message-body">There are no additional fields.</p>' +
|
|
||||||
'</div>' +
|
|
||||||
'</div>');
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
for (const occupancyTypeField of occupancyTypeFields) {
|
for (const occupancyTypeField of occupancyTypeFields) {
|
||||||
|
|
@ -282,24 +292,23 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
}
|
}
|
||||||
panelBlockElement.dataset.occupancyTypeFieldId =
|
panelBlockElement.dataset.occupancyTypeFieldId =
|
||||||
occupancyTypeField.occupancyTypeFieldId.toString();
|
occupancyTypeField.occupancyTypeFieldId.toString();
|
||||||
panelBlockElement.innerHTML =
|
// eslint-disable-next-line no-unsanitized/property
|
||||||
'<div class="level is-mobile">' +
|
panelBlockElement.innerHTML = `<div class="level is-mobile">
|
||||||
'<div class="level-left">' +
|
<div class="level-left">
|
||||||
('<div class="level-item">' +
|
<div class="level-item">
|
||||||
'<a class="has-text-weight-bold button--editOccupancyTypeField" href="#">' +
|
<a class="has-text-weight-bold button--editOccupancyTypeField" href="#">
|
||||||
cityssm.escapeHTML((_a = occupancyTypeField.occupancyTypeField) !== null && _a !== void 0 ? _a : '') +
|
${cityssm.escapeHTML((_a = occupancyTypeField.occupancyTypeField) !== null && _a !== void 0 ? _a : '')}
|
||||||
'</a>' +
|
</a>
|
||||||
'</div>') +
|
</div>
|
||||||
'</div>' +
|
</div>
|
||||||
'<div class="level-right">' +
|
<div class="level-right">
|
||||||
('<div class="level-item">' +
|
<div class="level-item">
|
||||||
los.getMoveUpDownButtonFieldHTML('button--moveOccupancyTypeFieldUp', 'button--moveOccupancyTypeFieldDown') +
|
${los.getMoveUpDownButtonFieldHTML('button--moveOccupancyTypeFieldUp', 'button--moveOccupancyTypeFieldDown')}
|
||||||
'</div>') +
|
</div>
|
||||||
'</div>' +
|
</div>
|
||||||
'</div>';
|
</div>`;
|
||||||
panelBlockElement
|
(_b = panelBlockElement
|
||||||
.querySelector('.button--editOccupancyTypeField')
|
.querySelector('.button--editOccupancyTypeField')) === null || _b === void 0 ? void 0 : _b.addEventListener('click', openEditOccupancyTypeFieldByClick);
|
||||||
.addEventListener('click', openEditOccupancyTypeFieldByClick);
|
|
||||||
panelBlockElement.querySelector('.button--moveOccupancyTypeFieldUp').addEventListener('click', moveOccupancyTypeField);
|
panelBlockElement.querySelector('.button--moveOccupancyTypeFieldUp').addEventListener('click', moveOccupancyTypeField);
|
||||||
panelBlockElement.querySelector('.button--moveOccupancyTypeFieldDown').addEventListener('click', moveOccupancyTypeField);
|
panelBlockElement.querySelector('.button--moveOccupancyTypeFieldDown').addEventListener('click', moveOccupancyTypeField);
|
||||||
panelElement.append(panelBlockElement);
|
panelElement.append(panelBlockElement);
|
||||||
|
|
@ -307,11 +316,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function openAddOccupancyTypePrint(clickEvent) {
|
function openAddOccupancyTypePrint(clickEvent) {
|
||||||
const occupancyTypeId = clickEvent.currentTarget.closest('.container--occupancyTypePrintList').dataset.occupancyTypeId;
|
var _a;
|
||||||
|
const occupancyTypeId = (_a = clickEvent.currentTarget.closest('.container--occupancyTypePrintList').dataset.occupancyTypeId) !== null && _a !== void 0 ? _a : '';
|
||||||
let closeAddModalFunction;
|
let closeAddModalFunction;
|
||||||
function doAdd(formEvent) {
|
function doAdd(formEvent) {
|
||||||
formEvent.preventDefault();
|
formEvent.preventDefault();
|
||||||
cityssm.postJSON(los.urlPrefix + '/admin/doAddOccupancyTypePrint', formEvent.currentTarget, (rawResponseJSON) => {
|
cityssm.postJSON(`${los.urlPrefix}/admin/doAddOccupancyTypePrint`, formEvent.currentTarget, (rawResponseJSON) => {
|
||||||
const responseJSON = rawResponseJSON;
|
const responseJSON = rawResponseJSON;
|
||||||
if (responseJSON.success) {
|
if (responseJSON.success) {
|
||||||
closeAddModalFunction();
|
closeAddModalFunction();
|
||||||
|
|
@ -345,8 +355,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
cityssm.postJSON(los.urlPrefix +
|
cityssm.postJSON(los.urlPrefix +
|
||||||
'/admin/' +
|
'/admin/' +
|
||||||
(buttonElement.dataset.direction === 'up'
|
(buttonElement.dataset.direction === 'up'
|
||||||
? 'doMoveOccupancyTypePrintUp'
|
? // eslint-disable-next-line no-secrets/no-secrets
|
||||||
: 'doMoveOccupancyTypePrintDown'), {
|
'doMoveOccupancyTypePrintUp'
|
||||||
|
: // eslint-disable-next-line no-secrets/no-secrets
|
||||||
|
'doMoveOccupancyTypePrintDown'), {
|
||||||
occupancyTypeId,
|
occupancyTypeId,
|
||||||
printEJS,
|
printEJS,
|
||||||
moveToEnd: clickEvent.shiftKey ? '1' : '0'
|
moveToEnd: clickEvent.shiftKey ? '1' : '0'
|
||||||
|
|
@ -357,7 +369,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
const printEJS = clickEvent.currentTarget.closest('.container--occupancyTypePrint').dataset.printEJS;
|
const printEJS = clickEvent.currentTarget.closest('.container--occupancyTypePrint').dataset.printEJS;
|
||||||
const occupancyTypeId = clickEvent.currentTarget.closest('.container--occupancyTypePrintList').dataset.occupancyTypeId;
|
const occupancyTypeId = clickEvent.currentTarget.closest('.container--occupancyTypePrintList').dataset.occupancyTypeId;
|
||||||
function doDelete() {
|
function doDelete() {
|
||||||
cityssm.postJSON(los.urlPrefix + '/admin/doDeleteOccupancyTypePrint', {
|
cityssm.postJSON(`${los.urlPrefix}/admin/doDeleteOccupancyTypePrint`, {
|
||||||
occupancyTypeId,
|
occupancyTypeId,
|
||||||
printEJS
|
printEJS
|
||||||
}, occupancyTypeResponseHandler);
|
}, occupancyTypeResponseHandler);
|
||||||
|
|
@ -373,12 +385,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
function renderOccupancyTypePrints(panelElement, occupancyTypeId, occupancyTypePrints) {
|
function renderOccupancyTypePrints(panelElement, occupancyTypeId, occupancyTypePrints) {
|
||||||
|
var _a;
|
||||||
if (occupancyTypePrints.length === 0) {
|
if (occupancyTypePrints.length === 0) {
|
||||||
panelElement.insertAdjacentHTML('beforeend', `<div class="panel-block is-block">
|
panelElement.insertAdjacentHTML('beforeend', `<div class="panel-block is-block">
|
||||||
<div class="message is-info">
|
<div class="message is-info">
|
||||||
<p class="message-body">There are no prints associated with this record.</p>
|
<p class="message-body">There are no prints associated with this record.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>`);
|
</div>`);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
for (const printEJS of occupancyTypePrints) {
|
for (const printEJS of occupancyTypePrints) {
|
||||||
|
|
@ -396,182 +409,165 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
else if (printEJS.startsWith('screen/')) {
|
else if (printEJS.startsWith('screen/')) {
|
||||||
printIconClass = 'fa-file';
|
printIconClass = 'fa-file';
|
||||||
}
|
}
|
||||||
panelBlockElement.innerHTML =
|
// eslint-disable-next-line no-unsanitized/property
|
||||||
'<div class="level is-mobile">' +
|
panelBlockElement.innerHTML = `<div class="level is-mobile">
|
||||||
'<div class="level-left">' +
|
<div class="level-left">
|
||||||
('<div class="level-item">' +
|
<div class="level-item">
|
||||||
'<i class="fas fa-fw ' +
|
<i class="fas fa-fw ${printIconClass}" aria-hidden="true"></i>
|
||||||
printIconClass +
|
</div>
|
||||||
'" aria-hidden="true"></i>' +
|
<div class="level-item">
|
||||||
'</div>') +
|
${cityssm.escapeHTML(printTitle || printEJS)}
|
||||||
('<div class="level-item">' +
|
</div>
|
||||||
cityssm.escapeHTML(printTitle || printEJS) +
|
</div>
|
||||||
'</div>') +
|
<div class="level-right">
|
||||||
'</div>' +
|
<div class="level-item">
|
||||||
'<div class="level-right">' +
|
${los.getMoveUpDownButtonFieldHTML('button--moveOccupancyTypePrintUp', 'button--moveOccupancyTypePrintDown')}
|
||||||
('<div class="level-item">' +
|
</div>
|
||||||
los.getMoveUpDownButtonFieldHTML('button--moveOccupancyTypePrintUp', 'button--moveOccupancyTypePrintDown') +
|
<div class="level-item">
|
||||||
'</div>') +
|
<button class="button is-small is-danger button--deleteOccupancyTypePrint" data-tooltip="Delete" type="button" aria-label="Delete Print">
|
||||||
('<div class="level-item">' +
|
<i class="fas fa-trash" aria-hidden="true"></i>
|
||||||
'<button class="button is-small is-danger button--deleteOccupancyTypePrint" data-tooltip="Delete" type="button" aria-label="Delete Print">' +
|
</button>
|
||||||
'<i class="fas fa-trash" aria-hidden="true"></i>' +
|
</div>
|
||||||
'</button>' +
|
</div>
|
||||||
'</div>' +
|
</div>`;
|
||||||
'</div>') +
|
|
||||||
'</div>' +
|
|
||||||
'</div>';
|
|
||||||
panelBlockElement.querySelector('.button--moveOccupancyTypePrintUp').addEventListener('click', moveOccupancyTypePrint);
|
panelBlockElement.querySelector('.button--moveOccupancyTypePrintUp').addEventListener('click', moveOccupancyTypePrint);
|
||||||
panelBlockElement.querySelector('.button--moveOccupancyTypePrintDown').addEventListener('click', moveOccupancyTypePrint);
|
panelBlockElement.querySelector('.button--moveOccupancyTypePrintDown').addEventListener('click', moveOccupancyTypePrint);
|
||||||
panelBlockElement
|
(_a = panelBlockElement
|
||||||
.querySelector('.button--deleteOccupancyTypePrint')
|
.querySelector('.button--deleteOccupancyTypePrint')) === null || _a === void 0 ? void 0 : _a.addEventListener('click', deleteOccupancyTypePrint);
|
||||||
.addEventListener('click', deleteOccupancyTypePrint);
|
|
||||||
panelElement.append(panelBlockElement);
|
panelElement.append(panelBlockElement);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function renderOccupancyTypes() {
|
function renderOccupancyTypes() {
|
||||||
occupancyTypesContainerElement.innerHTML =
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
||||||
'<div class="panel container--occupancyType" id="container--allOccupancyTypeFields" data-occupancy-type-id="">' +
|
// eslint-disable-next-line no-unsanitized/property
|
||||||
'<div class="panel-heading">' +
|
occupancyTypesContainerElement.innerHTML = `<div class="panel container--occupancyType" id="container--allOccupancyTypeFields" data-occupancy-type-id="">
|
||||||
('<div class="level is-mobile">' +
|
<div class="panel-heading">
|
||||||
('<div class="level-left">' +
|
<div class="level is-mobile">
|
||||||
'<div class="level-item">' +
|
<div class="level-left">
|
||||||
('<h2 class="title is-4">(All ' +
|
<div class="level-item">
|
||||||
los.escapedAliases.Occupancy +
|
<h2 class="title is-4">(All ${los.escapedAliases.Occupancy} Types)</h2>
|
||||||
' Types)</h2>') +
|
</div>
|
||||||
'</div>' +
|
</div>
|
||||||
'</div>') +
|
<div class="level-right">
|
||||||
('<div class="level-right">' +
|
<div class="level-item">
|
||||||
('<div class="level-item">' +
|
<button class="button is-success is-small button--addOccupancyTypeField" type="button">
|
||||||
'<button class="button is-success is-small button--addOccupancyTypeField" type="button">' +
|
<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 Field</span>
|
||||||
'<span>Add Field</span>' +
|
</button>
|
||||||
'</button>' +
|
</div>
|
||||||
'</div>') +
|
</div>
|
||||||
'</div>') +
|
</div>
|
||||||
'</div>') +
|
</div>
|
||||||
'</div>' +
|
</div>`;
|
||||||
'</div>';
|
|
||||||
occupancyTypePrintsContainerElement.innerHTML = '';
|
occupancyTypePrintsContainerElement.innerHTML = '';
|
||||||
renderOccupancyTypeFields(occupancyTypesContainerElement.querySelector('#container--allOccupancyTypeFields'), undefined, allOccupancyTypeFields);
|
renderOccupancyTypeFields(occupancyTypesContainerElement.querySelector('#container--allOccupancyTypeFields'), undefined, allOccupancyTypeFields);
|
||||||
occupancyTypesContainerElement
|
(_a = occupancyTypesContainerElement
|
||||||
.querySelector('.button--addOccupancyTypeField')
|
.querySelector('.button--addOccupancyTypeField')) === null || _a === void 0 ? void 0 : _a.addEventListener('click', openAddOccupancyTypeField);
|
||||||
.addEventListener('click', openAddOccupancyTypeField);
|
|
||||||
if (occupancyTypes.length === 0) {
|
if (occupancyTypes.length === 0) {
|
||||||
|
// eslint-disable-next-line no-unsanitized/method
|
||||||
occupancyTypesContainerElement.insertAdjacentHTML('afterbegin', `<div class="message is-warning>
|
occupancyTypesContainerElement.insertAdjacentHTML('afterbegin', `<div class="message is-warning>
|
||||||
<p class="message-body">There are no active ${los.escapedAliases.occupancy} types.</p>
|
<p class="message-body">There are no active ${los.escapedAliases.occupancy} types.</p>
|
||||||
</div>`);
|
</div>`);
|
||||||
|
// eslint-disable-next-line no-unsanitized/method
|
||||||
occupancyTypePrintsContainerElement.insertAdjacentHTML('afterbegin', `<div class="message is-warning>
|
occupancyTypePrintsContainerElement.insertAdjacentHTML('afterbegin', `<div class="message is-warning>
|
||||||
<p class="message-body">There are no active ${los.escapedAliases.occupancy} types.</p>
|
<p class="message-body">There are no active ${los.escapedAliases.occupancy} types.</p>
|
||||||
</div>`);
|
</div>`);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
for (const occupancyType of occupancyTypes) {
|
for (const occupancyType of occupancyTypes) {
|
||||||
// Types and Fields
|
/*
|
||||||
{
|
* Types and Fields
|
||||||
const occupancyTypeContainer = document.createElement('div');
|
*/
|
||||||
occupancyTypeContainer.className = 'panel container--occupancyType';
|
const occupancyTypeContainer = document.createElement('div');
|
||||||
occupancyTypeContainer.dataset.occupancyTypeId =
|
occupancyTypeContainer.className = 'panel container--occupancyType';
|
||||||
occupancyType.occupancyTypeId.toString();
|
occupancyTypeContainer.dataset.occupancyTypeId =
|
||||||
occupancyTypeContainer.innerHTML =
|
occupancyType.occupancyTypeId.toString();
|
||||||
'<div class="panel-heading">' +
|
// eslint-disable-next-line no-unsanitized/property
|
||||||
'<div class="level is-mobile">' +
|
occupancyTypeContainer.innerHTML = `<div class="panel-heading">
|
||||||
('<div class="level-left">' +
|
<div class="level is-mobile">
|
||||||
'<div class="level-item">' +
|
<div class="level-left">
|
||||||
'<button class="button is-small button--toggleOccupancyTypeFields" data-tooltip="Toggle Fields" type="button" aria-label="Toggle Fields">' +
|
<div class="level-item">
|
||||||
(expandedOccupancyTypes.has(occupancyType.occupancyTypeId)
|
<button class="button is-small button--toggleOccupancyTypeFields" data-tooltip="Toggle Fields" type="button" aria-label="Toggle Fields">
|
||||||
? '<i class="fas fa-fw fa-minus" aria-hidden="true"></i>'
|
${expandedOccupancyTypes.has(occupancyType.occupancyTypeId)
|
||||||
: '<i class="fas fa-fw fa-plus" aria-hidden="true"></i>') +
|
? '<i class="fas fa-fw fa-minus" aria-hidden="true"></i>'
|
||||||
'</button>' +
|
: '<i class="fas fa-fw fa-plus" aria-hidden="true"></i>'}
|
||||||
'</div>' +
|
</button>
|
||||||
'<div class="level-item">' +
|
</div>
|
||||||
'<h2 class="title is-4">' +
|
<div class="level-item">
|
||||||
cityssm.escapeHTML(occupancyType.occupancyType) +
|
<h2 class="title is-4">${cityssm.escapeHTML(occupancyType.occupancyType)}</h2>
|
||||||
'</h2>' +
|
</div>
|
||||||
'</div>' +
|
</div>
|
||||||
'</div>') +
|
<div class="level-right">
|
||||||
('<div class="level-right">' +
|
<div class="level-item">
|
||||||
('<div class="level-item">' +
|
<button class="button is-danger is-small button--deleteOccupancyType" type="button">
|
||||||
'<button class="button is-danger is-small button--deleteOccupancyType" type="button">' +
|
<span class="icon is-small"><i class="fas fa-trash" aria-hidden="true"></i></span>
|
||||||
'<span class="icon is-small"><i class="fas fa-trash" aria-hidden="true"></i></span>' +
|
<span>Delete</span>
|
||||||
'<span>Delete</span>' +
|
</button>
|
||||||
'</button>' +
|
</div>
|
||||||
'</div>') +
|
<div class="level-item">
|
||||||
('<div class="level-item">' +
|
<button class="button is-primary is-small button--editOccupancyType" type="button">
|
||||||
'<button class="button is-primary is-small button--editOccupancyType" type="button">' +
|
<span class="icon is-small"><i class="fas fa-pencil-alt" aria-hidden="true"></i></span>
|
||||||
'<span class="icon is-small"><i class="fas fa-pencil-alt" aria-hidden="true"></i></span>' +
|
<span>Edit ${los.escapedAliases.Occupancy} Type</span>
|
||||||
'<span>Edit ' +
|
</button>
|
||||||
los.escapedAliases.Occupancy +
|
</div>
|
||||||
' Type</span>' +
|
<div class="level-item">
|
||||||
'</button>' +
|
<button class="button is-success is-small button--addOccupancyTypeField" type="button">
|
||||||
'</div>') +
|
<span class="icon is-small"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
||||||
('<div class="level-item">' +
|
<span>Add Field</span>
|
||||||
'<button class="button is-success is-small button--addOccupancyTypeField" type="button">' +
|
</button>
|
||||||
'<span class="icon is-small"><i class="fas fa-plus" aria-hidden="true"></i></span>' +
|
</div>
|
||||||
'<span>Add Field</span>' +
|
<div class="level-item">
|
||||||
'</button>' +
|
${los.getMoveUpDownButtonFieldHTML('button--moveOccupancyTypeUp', 'button--moveOccupancyTypeDown')}
|
||||||
'</div>') +
|
</div>
|
||||||
('<div class="level-item">' +
|
</div>
|
||||||
los.getMoveUpDownButtonFieldHTML('button--moveOccupancyTypeUp', 'button--moveOccupancyTypeDown') +
|
</div>
|
||||||
'</div>') +
|
</div>`;
|
||||||
'</div>') +
|
renderOccupancyTypeFields(occupancyTypeContainer, occupancyType.occupancyTypeId, (_b = occupancyType.occupancyTypeFields) !== null && _b !== void 0 ? _b : []);
|
||||||
'</div>' +
|
(_c = occupancyTypeContainer
|
||||||
'</div>';
|
.querySelector('.button--toggleOccupancyTypeFields')) === null || _c === void 0 ? void 0 : _c.addEventListener('click', toggleOccupancyTypeFields);
|
||||||
renderOccupancyTypeFields(occupancyTypeContainer, occupancyType.occupancyTypeId, occupancyType.occupancyTypeFields);
|
(_d = occupancyTypeContainer
|
||||||
occupancyTypeContainer
|
.querySelector('.button--deleteOccupancyType')) === null || _d === void 0 ? void 0 : _d.addEventListener('click', deleteOccupancyType);
|
||||||
.querySelector('.button--toggleOccupancyTypeFields')
|
(_e = occupancyTypeContainer
|
||||||
.addEventListener('click', toggleOccupancyTypeFields);
|
.querySelector('.button--editOccupancyType')) === null || _e === void 0 ? void 0 : _e.addEventListener('click', openEditOccupancyType);
|
||||||
occupancyTypeContainer
|
(_f = occupancyTypeContainer
|
||||||
.querySelector('.button--deleteOccupancyType')
|
.querySelector('.button--addOccupancyTypeField')) === null || _f === void 0 ? void 0 : _f.addEventListener('click', openAddOccupancyTypeField);
|
||||||
.addEventListener('click', deleteOccupancyType);
|
occupancyTypeContainer.querySelector('.button--moveOccupancyTypeUp').addEventListener('click', moveOccupancyType);
|
||||||
occupancyTypeContainer
|
occupancyTypeContainer.querySelector('.button--moveOccupancyTypeDown').addEventListener('click', moveOccupancyType);
|
||||||
.querySelector('.button--editOccupancyType')
|
occupancyTypesContainerElement.append(occupancyTypeContainer);
|
||||||
.addEventListener('click', openEditOccupancyType);
|
/*
|
||||||
occupancyTypeContainer
|
* Prints
|
||||||
.querySelector('.button--addOccupancyTypeField')
|
*/
|
||||||
.addEventListener('click', openAddOccupancyTypeField);
|
const occupancyTypePrintContainer = document.createElement('div');
|
||||||
occupancyTypeContainer.querySelector('.button--moveOccupancyTypeUp').addEventListener('click', moveOccupancyType);
|
occupancyTypePrintContainer.className =
|
||||||
occupancyTypeContainer.querySelector('.button--moveOccupancyTypeDown').addEventListener('click', moveOccupancyType);
|
'panel container--occupancyTypePrintList';
|
||||||
occupancyTypesContainerElement.append(occupancyTypeContainer);
|
occupancyTypePrintContainer.dataset.occupancyTypeId =
|
||||||
}
|
occupancyType.occupancyTypeId.toString();
|
||||||
// Prints
|
occupancyTypePrintContainer.innerHTML = `<div class="panel-heading">
|
||||||
{
|
<div class="level is-mobile">
|
||||||
const occupancyTypePrintContainer = document.createElement('div');
|
<div class="level-left">
|
||||||
occupancyTypePrintContainer.className =
|
<div class="level-item">
|
||||||
'panel container--occupancyTypePrintList';
|
<h2 class="title is-4">${cityssm.escapeHTML(occupancyType.occupancyType)}</h2>
|
||||||
occupancyTypePrintContainer.dataset.occupancyTypeId =
|
</div>
|
||||||
occupancyType.occupancyTypeId.toString();
|
</div>
|
||||||
occupancyTypePrintContainer.innerHTML =
|
<div class="level-right">
|
||||||
'<div class="panel-heading">' +
|
<div class="level-item">
|
||||||
'<div class="level is-mobile">' +
|
<button class="button is-success is-small button--addOccupancyTypePrint" type="button">
|
||||||
('<div class="level-left">' +
|
<span class="icon is-small"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
||||||
'<div class="level-item">' +
|
<span>Add Print</span>
|
||||||
'<h2 class="title is-4">' +
|
</button>
|
||||||
cityssm.escapeHTML(occupancyType.occupancyType) +
|
</div>
|
||||||
'</h2>' +
|
</div>
|
||||||
'</div>' +
|
</div>
|
||||||
'</div>') +
|
</div>`;
|
||||||
('<div class="level-right">' +
|
renderOccupancyTypePrints(occupancyTypePrintContainer, occupancyType.occupancyTypeId, (_g = occupancyType.occupancyTypePrints) !== null && _g !== void 0 ? _g : []);
|
||||||
('<div class="level-item">' +
|
(_h = occupancyTypePrintContainer
|
||||||
'<button class="button is-success is-small button--addOccupancyTypePrint" type="button">' +
|
.querySelector('.button--addOccupancyTypePrint')) === null || _h === void 0 ? void 0 : _h.addEventListener('click', openAddOccupancyTypePrint);
|
||||||
'<span class="icon is-small"><i class="fas fa-plus" aria-hidden="true"></i></span>' +
|
occupancyTypePrintsContainerElement.append(occupancyTypePrintContainer);
|
||||||
'<span>Add Print</span>' +
|
|
||||||
'</button>' +
|
|
||||||
'</div>') +
|
|
||||||
'</div>') +
|
|
||||||
'</div>' +
|
|
||||||
'</div>';
|
|
||||||
renderOccupancyTypePrints(occupancyTypePrintContainer, occupancyType.occupancyTypeId, occupancyType.occupancyTypePrints);
|
|
||||||
occupancyTypePrintContainer
|
|
||||||
.querySelector('.button--addOccupancyTypePrint')
|
|
||||||
.addEventListener('click', openAddOccupancyTypePrint);
|
|
||||||
occupancyTypePrintsContainerElement.append(occupancyTypePrintContainer);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
document
|
(_a = document
|
||||||
.querySelector('#button--addOccupancyType')
|
.querySelector('#button--addOccupancyType')) === null || _a === void 0 ? void 0 : _a.addEventListener('click', () => {
|
||||||
.addEventListener('click', () => {
|
|
||||||
let addCloseModalFunction;
|
let addCloseModalFunction;
|
||||||
function doAdd(submitEvent) {
|
function doAdd(submitEvent) {
|
||||||
submitEvent.preventDefault();
|
submitEvent.preventDefault();
|
||||||
|
|
@ -593,16 +589,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
cityssm.openHtmlModal('adminOccupancyTypes-addOccupancyType', {
|
cityssm.openHtmlModal('adminOccupancyTypes-addOccupancyType', {
|
||||||
onshow: (modalElement) => {
|
onshow(modalElement) {
|
||||||
los.populateAliases(modalElement);
|
los.populateAliases(modalElement);
|
||||||
},
|
},
|
||||||
onshown: (modalElement, closeModalFunction) => {
|
onshown(modalElement, closeModalFunction) {
|
||||||
|
var _a;
|
||||||
addCloseModalFunction = closeModalFunction;
|
addCloseModalFunction = closeModalFunction;
|
||||||
modalElement.querySelector('#occupancyTypeAdd--occupancyType').focus();
|
modalElement.querySelector('#occupancyTypeAdd--occupancyType').focus();
|
||||||
modalElement.querySelector('form').addEventListener('submit', doAdd);
|
(_a = modalElement.querySelector('form')) === null || _a === void 0 ? void 0 : _a.addEventListener('submit', doAdd);
|
||||||
bulmaJS.toggleHtmlClipped();
|
bulmaJS.toggleHtmlClipped();
|
||||||
},
|
},
|
||||||
onremoved: () => {
|
onremoved() {
|
||||||
bulmaJS.toggleHtmlClipped();
|
bulmaJS.toggleHtmlClipped();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,17 @@
|
||||||
/* eslint-disable @typescript-eslint/no-non-null-assertion, unicorn/prefer-module */
|
// eslint-disable-next-line @eslint-community/eslint-comments/disable-enable-pair
|
||||||
|
/* eslint-disable unicorn/prefer-module */
|
||||||
|
|
||||||
import type * as globalTypes from '../types/globalTypes'
|
import type { BulmaJS } from '@cityssm/bulma-js/types.js'
|
||||||
import type * as recordTypes from '../types/recordTypes'
|
import type { cityssmGlobal } from '@cityssm/bulma-webapp-js/src/types.js'
|
||||||
|
|
||||||
import type { cityssmGlobal } from '@cityssm/bulma-webapp-js/src/types'
|
import type * as globalTypes from '../types/globalTypes.js'
|
||||||
|
import type * as recordTypes from '../types/recordTypes.js'
|
||||||
import type { BulmaJS } from '@cityssm/bulma-js/types'
|
|
||||||
|
|
||||||
declare const cityssm: cityssmGlobal
|
declare const cityssm: cityssmGlobal
|
||||||
declare const bulmaJS: BulmaJS
|
declare const bulmaJS: BulmaJS
|
||||||
|
|
||||||
|
declare const exports: Record<string, unknown>
|
||||||
|
|
||||||
type ResponseJSON =
|
type ResponseJSON =
|
||||||
| {
|
| {
|
||||||
success: true
|
success: true
|
||||||
|
|
@ -32,11 +34,11 @@ type ResponseJSON =
|
||||||
'#container--occupancyTypePrints'
|
'#container--occupancyTypePrints'
|
||||||
) as HTMLElement
|
) as HTMLElement
|
||||||
|
|
||||||
let occupancyTypes: recordTypes.OccupancyType[] = exports.occupancyTypes
|
let occupancyTypes = exports.occupancyTypes as recordTypes.OccupancyType[]
|
||||||
delete exports.occupancyTypes
|
delete exports.occupancyTypes
|
||||||
|
|
||||||
let allOccupancyTypeFields: recordTypes.OccupancyTypeField[] =
|
let allOccupancyTypeFields =
|
||||||
exports.allOccupancyTypeFields
|
exports.allOccupancyTypeFields as recordTypes.OccupancyTypeField[]
|
||||||
delete exports.allOccupancyTypeFields
|
delete exports.allOccupancyTypeFields
|
||||||
|
|
||||||
const expandedOccupancyTypes = new Set<number>()
|
const expandedOccupancyTypes = new Set<number>()
|
||||||
|
|
@ -49,7 +51,7 @@ type ResponseJSON =
|
||||||
) as HTMLElement
|
) as HTMLElement
|
||||||
|
|
||||||
const occupancyTypeId = Number.parseInt(
|
const occupancyTypeId = Number.parseInt(
|
||||||
occupancyTypeElement.dataset.occupancyTypeId!,
|
occupancyTypeElement.dataset.occupancyTypeId ?? '',
|
||||||
10
|
10
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -59,6 +61,7 @@ type ResponseJSON =
|
||||||
expandedOccupancyTypes.add(occupancyTypeId)
|
expandedOccupancyTypes.add(occupancyTypeId)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// eslint-disable-next-line no-unsanitized/property
|
||||||
toggleButtonElement.innerHTML = expandedOccupancyTypes.has(occupancyTypeId)
|
toggleButtonElement.innerHTML = expandedOccupancyTypes.has(occupancyTypeId)
|
||||||
? '<i class="fas fa-fw fa-minus" aria-hidden="true"></i>'
|
? '<i class="fas fa-fw fa-minus" aria-hidden="true"></i>'
|
||||||
: '<i class="fas fa-fw fa-plus" aria-hidden="true"></i>'
|
: '<i class="fas fa-fw fa-plus" aria-hidden="true"></i>'
|
||||||
|
|
@ -71,19 +74,21 @@ type ResponseJSON =
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function occupancyTypeResponseHandler(responseJSON: {
|
function occupancyTypeResponseHandler(rawResponseJSON: unknown): void {
|
||||||
success: boolean
|
const responseJSON = rawResponseJSON as {
|
||||||
errorMessage?: string
|
success: boolean
|
||||||
occupancyTypes?: recordTypes.OccupancyType[]
|
errorMessage?: string
|
||||||
allOccupancyTypeFields?: recordTypes.OccupancyTypeField[]
|
occupancyTypes: recordTypes.OccupancyType[]
|
||||||
}): void {
|
allOccupancyTypeFields: recordTypes.OccupancyTypeField[]
|
||||||
|
}
|
||||||
|
|
||||||
if (responseJSON.success) {
|
if (responseJSON.success) {
|
||||||
occupancyTypes = responseJSON.occupancyTypes!
|
occupancyTypes = responseJSON.occupancyTypes
|
||||||
allOccupancyTypeFields = responseJSON.allOccupancyTypeFields!
|
allOccupancyTypeFields = responseJSON.allOccupancyTypeFields
|
||||||
renderOccupancyTypes()
|
renderOccupancyTypes()
|
||||||
} else {
|
} else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
title: 'Error Updating ' + los.escapedAliases.Occupancy + ' Type',
|
title: `Error Updating ${los.escapedAliases.Occupancy} Type`,
|
||||||
message: responseJSON.errorMessage ?? '',
|
message: responseJSON.errorMessage ?? '',
|
||||||
contextualColorName: 'danger'
|
contextualColorName: 'danger'
|
||||||
})
|
})
|
||||||
|
|
@ -96,13 +101,13 @@ type ResponseJSON =
|
||||||
(clickEvent.currentTarget as HTMLElement).closest(
|
(clickEvent.currentTarget as HTMLElement).closest(
|
||||||
'.container--occupancyType'
|
'.container--occupancyType'
|
||||||
) as HTMLElement
|
) as HTMLElement
|
||||||
).dataset.occupancyTypeId!,
|
).dataset.occupancyTypeId ?? '',
|
||||||
10
|
10
|
||||||
)
|
)
|
||||||
|
|
||||||
function doDelete(): void {
|
function doDelete(): void {
|
||||||
cityssm.postJSON(
|
cityssm.postJSON(
|
||||||
los.urlPrefix + '/admin/doDeleteOccupancyType',
|
`${los.urlPrefix}/admin/doDeleteOccupancyType`,
|
||||||
{
|
{
|
||||||
occupancyTypeId
|
occupancyTypeId
|
||||||
},
|
},
|
||||||
|
|
@ -127,13 +132,13 @@ type ResponseJSON =
|
||||||
(clickEvent.currentTarget as HTMLElement).closest(
|
(clickEvent.currentTarget as HTMLElement).closest(
|
||||||
'.container--occupancyType'
|
'.container--occupancyType'
|
||||||
) as HTMLElement
|
) as HTMLElement
|
||||||
).dataset.occupancyTypeId!,
|
).dataset.occupancyTypeId ?? '',
|
||||||
10
|
10
|
||||||
)
|
)
|
||||||
|
|
||||||
const occupancyType = occupancyTypes.find((currentOccupancyType) => {
|
const occupancyType = occupancyTypes.find((currentOccupancyType) => {
|
||||||
return occupancyTypeId === currentOccupancyType.occupancyTypeId
|
return occupancyTypeId === currentOccupancyType.occupancyTypeId
|
||||||
})!
|
}) as recordTypes.OccupancyType
|
||||||
|
|
||||||
let editCloseModalFunction: () => void
|
let editCloseModalFunction: () => void
|
||||||
|
|
||||||
|
|
@ -141,7 +146,7 @@ type ResponseJSON =
|
||||||
submitEvent.preventDefault()
|
submitEvent.preventDefault()
|
||||||
|
|
||||||
cityssm.postJSON(
|
cityssm.postJSON(
|
||||||
los.urlPrefix + '/admin/doUpdateOccupancyType',
|
`${los.urlPrefix}/admin/doUpdateOccupancyType`,
|
||||||
submitEvent.currentTarget,
|
submitEvent.currentTarget,
|
||||||
(rawResponseJSON) => {
|
(rawResponseJSON) => {
|
||||||
const responseJSON = rawResponseJSON as ResponseJSON
|
const responseJSON = rawResponseJSON as ResponseJSON
|
||||||
|
|
@ -176,7 +181,7 @@ type ResponseJSON =
|
||||||
) as HTMLInputElement
|
) as HTMLInputElement
|
||||||
).focus()
|
).focus()
|
||||||
|
|
||||||
modalElement.querySelector('form')!.addEventListener('submit', doEdit)
|
modalElement.querySelector('form')?.addEventListener('submit', doEdit)
|
||||||
|
|
||||||
bulmaJS.toggleHtmlClipped()
|
bulmaJS.toggleHtmlClipped()
|
||||||
},
|
},
|
||||||
|
|
@ -192,7 +197,7 @@ type ResponseJSON =
|
||||||
(clickEvent.currentTarget as HTMLElement).closest(
|
(clickEvent.currentTarget as HTMLElement).closest(
|
||||||
'.container--occupancyType'
|
'.container--occupancyType'
|
||||||
) as HTMLElement
|
) as HTMLElement
|
||||||
).dataset.occupancyTypeId!,
|
).dataset.occupancyTypeId ?? '',
|
||||||
10
|
10
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -202,7 +207,7 @@ type ResponseJSON =
|
||||||
submitEvent.preventDefault()
|
submitEvent.preventDefault()
|
||||||
|
|
||||||
cityssm.postJSON(
|
cityssm.postJSON(
|
||||||
los.urlPrefix + '/admin/doAddOccupancyTypeField',
|
`${los.urlPrefix}/admin/doAddOccupancyTypeField`,
|
||||||
submitEvent.currentTarget,
|
submitEvent.currentTarget,
|
||||||
(rawResponseJSON) => {
|
(rawResponseJSON) => {
|
||||||
const responseJSON = rawResponseJSON as ResponseJSON
|
const responseJSON = rawResponseJSON as ResponseJSON
|
||||||
|
|
@ -241,7 +246,7 @@ type ResponseJSON =
|
||||||
) as HTMLInputElement
|
) as HTMLInputElement
|
||||||
).focus()
|
).focus()
|
||||||
|
|
||||||
modalElement.querySelector('form')!.addEventListener('submit', doAdd)
|
modalElement.querySelector('form')?.addEventListener('submit', doAdd)
|
||||||
|
|
||||||
bulmaJS.toggleHtmlClipped()
|
bulmaJS.toggleHtmlClipped()
|
||||||
},
|
},
|
||||||
|
|
@ -288,13 +293,13 @@ type ResponseJSON =
|
||||||
|
|
||||||
const occupancyTypeField = (
|
const occupancyTypeField = (
|
||||||
occupancyType
|
occupancyType
|
||||||
? occupancyType.occupancyTypeFields!
|
? occupancyType.occupancyTypeFields ?? []
|
||||||
: allOccupancyTypeFields
|
: allOccupancyTypeFields
|
||||||
).find((currentOccupancyTypeField) => {
|
).find((currentOccupancyTypeField) => {
|
||||||
return (
|
return (
|
||||||
currentOccupancyTypeField.occupancyTypeFieldId === occupancyTypeFieldId
|
currentOccupancyTypeField.occupancyTypeFieldId === occupancyTypeFieldId
|
||||||
)
|
)
|
||||||
})!
|
}) as recordTypes.OccupancyTypeField
|
||||||
|
|
||||||
let minimumLengthElement: HTMLInputElement
|
let minimumLengthElement: HTMLInputElement
|
||||||
let maximumLengthElement: HTMLInputElement
|
let maximumLengthElement: HTMLInputElement
|
||||||
|
|
@ -323,7 +328,7 @@ type ResponseJSON =
|
||||||
submitEvent.preventDefault()
|
submitEvent.preventDefault()
|
||||||
|
|
||||||
cityssm.postJSON(
|
cityssm.postJSON(
|
||||||
los.urlPrefix + '/admin/doUpdateOccupancyTypeField',
|
`${los.urlPrefix}/admin/doUpdateOccupancyTypeField`,
|
||||||
submitEvent.currentTarget,
|
submitEvent.currentTarget,
|
||||||
(rawResponseJSON) => {
|
(rawResponseJSON) => {
|
||||||
const responseJSON = rawResponseJSON as ResponseJSON
|
const responseJSON = rawResponseJSON as ResponseJSON
|
||||||
|
|
@ -338,7 +343,7 @@ type ResponseJSON =
|
||||||
|
|
||||||
function doDelete(): void {
|
function doDelete(): void {
|
||||||
cityssm.postJSON(
|
cityssm.postJSON(
|
||||||
los.urlPrefix + '/admin/doDeleteOccupancyTypeField',
|
`${los.urlPrefix}/admin/doDeleteOccupancyTypeField`,
|
||||||
{
|
{
|
||||||
occupancyTypeFieldId
|
occupancyTypeFieldId
|
||||||
},
|
},
|
||||||
|
|
@ -373,44 +378,44 @@ type ResponseJSON =
|
||||||
modalElement.querySelector(
|
modalElement.querySelector(
|
||||||
'#occupancyTypeFieldEdit--occupancyTypeFieldId'
|
'#occupancyTypeFieldEdit--occupancyTypeFieldId'
|
||||||
) as HTMLInputElement
|
) as HTMLInputElement
|
||||||
).value = occupancyTypeField.occupancyTypeFieldId!.toString()
|
).value = occupancyTypeField.occupancyTypeFieldId.toString()
|
||||||
;(
|
;(
|
||||||
modalElement.querySelector(
|
modalElement.querySelector(
|
||||||
'#occupancyTypeFieldEdit--occupancyTypeField'
|
'#occupancyTypeFieldEdit--occupancyTypeField'
|
||||||
) as HTMLInputElement
|
) as HTMLInputElement
|
||||||
).value = occupancyTypeField.occupancyTypeField!
|
).value = occupancyTypeField.occupancyTypeField ?? ''
|
||||||
;(
|
;(
|
||||||
modalElement.querySelector(
|
modalElement.querySelector(
|
||||||
'#occupancyTypeFieldEdit--isRequired'
|
'#occupancyTypeFieldEdit--isRequired'
|
||||||
) as HTMLSelectElement
|
) as HTMLSelectElement
|
||||||
).value = occupancyTypeField.isRequired ? '1' : '0'
|
).value = (occupancyTypeField.isRequired ?? false) ? '1' : '0'
|
||||||
|
|
||||||
minimumLengthElement = modalElement.querySelector(
|
minimumLengthElement = modalElement.querySelector(
|
||||||
'#occupancyTypeFieldEdit--minimumLength'
|
'#occupancyTypeFieldEdit--minimumLength'
|
||||||
) as HTMLInputElement
|
) as HTMLInputElement
|
||||||
|
|
||||||
minimumLengthElement.value =
|
minimumLengthElement.value =
|
||||||
occupancyTypeField.minimumLength!.toString()
|
occupancyTypeField.minimumLength?.toString() ?? ''
|
||||||
|
|
||||||
maximumLengthElement = modalElement.querySelector(
|
maximumLengthElement = modalElement.querySelector(
|
||||||
'#occupancyTypeFieldEdit--maximumLength'
|
'#occupancyTypeFieldEdit--maximumLength'
|
||||||
) as HTMLInputElement
|
) as HTMLInputElement
|
||||||
|
|
||||||
maximumLengthElement.value =
|
maximumLengthElement.value =
|
||||||
occupancyTypeField.maximumLength!.toString()
|
occupancyTypeField.maximumLength?.toString() ?? ''
|
||||||
|
|
||||||
patternElement = modalElement.querySelector(
|
patternElement = modalElement.querySelector(
|
||||||
'#occupancyTypeFieldEdit--pattern'
|
'#occupancyTypeFieldEdit--pattern'
|
||||||
) as HTMLInputElement
|
) as HTMLInputElement
|
||||||
|
|
||||||
patternElement.value = occupancyTypeField.pattern!
|
patternElement.value = occupancyTypeField.pattern ?? ''
|
||||||
|
|
||||||
occupancyTypeFieldValuesElement = modalElement.querySelector(
|
occupancyTypeFieldValuesElement = modalElement.querySelector(
|
||||||
'#occupancyTypeFieldEdit--occupancyTypeFieldValues'
|
'#occupancyTypeFieldEdit--occupancyTypeFieldValues'
|
||||||
) as HTMLTextAreaElement
|
) as HTMLTextAreaElement
|
||||||
|
|
||||||
occupancyTypeFieldValuesElement.value =
|
occupancyTypeFieldValuesElement.value =
|
||||||
occupancyTypeField.occupancyTypeFieldValues!
|
occupancyTypeField.occupancyTypeFieldValues ?? ''
|
||||||
|
|
||||||
toggleInputFields()
|
toggleInputFields()
|
||||||
},
|
},
|
||||||
|
|
@ -421,7 +426,7 @@ type ResponseJSON =
|
||||||
bulmaJS.toggleHtmlClipped()
|
bulmaJS.toggleHtmlClipped()
|
||||||
cityssm.enableNavBlocker()
|
cityssm.enableNavBlocker()
|
||||||
|
|
||||||
modalElement.querySelector('form')!.addEventListener('submit', doUpdate)
|
modalElement.querySelector('form')?.addEventListener('submit', doUpdate)
|
||||||
|
|
||||||
minimumLengthElement.addEventListener('keyup', updateMaximumLengthMin)
|
minimumLengthElement.addEventListener('keyup', updateMaximumLengthMin)
|
||||||
updateMaximumLengthMin()
|
updateMaximumLengthMin()
|
||||||
|
|
@ -432,8 +437,8 @@ type ResponseJSON =
|
||||||
)
|
)
|
||||||
|
|
||||||
modalElement
|
modalElement
|
||||||
.querySelector('#button--deleteOccupancyTypeField')!
|
.querySelector('#button--deleteOccupancyTypeField')
|
||||||
.addEventListener('click', confirmDoDelete)
|
?.addEventListener('click', confirmDoDelete)
|
||||||
},
|
},
|
||||||
onremoved: () => {
|
onremoved: () => {
|
||||||
bulmaJS.toggleHtmlClipped()
|
bulmaJS.toggleHtmlClipped()
|
||||||
|
|
@ -450,7 +455,7 @@ type ResponseJSON =
|
||||||
(clickEvent.currentTarget as HTMLElement).closest(
|
(clickEvent.currentTarget as HTMLElement).closest(
|
||||||
'.container--occupancyTypeField'
|
'.container--occupancyTypeField'
|
||||||
) as HTMLElement
|
) as HTMLElement
|
||||||
).dataset.occupancyTypeFieldId!,
|
).dataset.occupancyTypeFieldId ?? '',
|
||||||
10
|
10
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -459,7 +464,7 @@ type ResponseJSON =
|
||||||
(clickEvent.currentTarget as HTMLElement).closest(
|
(clickEvent.currentTarget as HTMLElement).closest(
|
||||||
'.container--occupancyType'
|
'.container--occupancyType'
|
||||||
) as HTMLElement
|
) as HTMLElement
|
||||||
).dataset.occupancyTypeId!,
|
).dataset.occupancyTypeId ?? '',
|
||||||
10
|
10
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -495,17 +500,16 @@ type ResponseJSON =
|
||||||
occupancyTypeFields: recordTypes.OccupancyTypeField[]
|
occupancyTypeFields: recordTypes.OccupancyTypeField[]
|
||||||
): void {
|
): void {
|
||||||
if (occupancyTypeFields.length === 0) {
|
if (occupancyTypeFields.length === 0) {
|
||||||
|
// eslint-disable-next-line no-unsanitized/method
|
||||||
panelElement.insertAdjacentHTML(
|
panelElement.insertAdjacentHTML(
|
||||||
'beforeend',
|
'beforeend',
|
||||||
'<div class="panel-block is-block' +
|
`<div class="panel-block is-block ${
|
||||||
(!occupancyTypeId || expandedOccupancyTypes.has(occupancyTypeId)
|
!occupancyTypeId || expandedOccupancyTypes.has(occupancyTypeId)
|
||||||
? ''
|
? ''
|
||||||
: ' is-hidden') +
|
: ' is-hidden'
|
||||||
'">' +
|
}">
|
||||||
'<div class="message is-info">' +
|
<div class="message is-info"><p class="message-body">There are no additional fields.</p></div>
|
||||||
'<p class="message-body">There are no additional fields.</p>' +
|
</div>`
|
||||||
'</div>' +
|
|
||||||
'</div>'
|
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
for (const occupancyTypeField of occupancyTypeFields) {
|
for (const occupancyTypeField of occupancyTypeFields) {
|
||||||
|
|
@ -518,30 +522,30 @@ type ResponseJSON =
|
||||||
}
|
}
|
||||||
|
|
||||||
panelBlockElement.dataset.occupancyTypeFieldId =
|
panelBlockElement.dataset.occupancyTypeFieldId =
|
||||||
occupancyTypeField.occupancyTypeFieldId!.toString()
|
occupancyTypeField.occupancyTypeFieldId.toString()
|
||||||
|
|
||||||
panelBlockElement.innerHTML =
|
// eslint-disable-next-line no-unsanitized/property
|
||||||
'<div class="level is-mobile">' +
|
panelBlockElement.innerHTML = `<div class="level is-mobile">
|
||||||
'<div class="level-left">' +
|
<div class="level-left">
|
||||||
('<div class="level-item">' +
|
<div class="level-item">
|
||||||
'<a class="has-text-weight-bold button--editOccupancyTypeField" href="#">' +
|
<a class="has-text-weight-bold button--editOccupancyTypeField" href="#">
|
||||||
cityssm.escapeHTML(occupancyTypeField.occupancyTypeField ?? '') +
|
${cityssm.escapeHTML(occupancyTypeField.occupancyTypeField ?? '')}
|
||||||
'</a>' +
|
</a>
|
||||||
'</div>') +
|
</div>
|
||||||
'</div>' +
|
</div>
|
||||||
'<div class="level-right">' +
|
<div class="level-right">
|
||||||
('<div class="level-item">' +
|
<div class="level-item">
|
||||||
los.getMoveUpDownButtonFieldHTML(
|
${los.getMoveUpDownButtonFieldHTML(
|
||||||
'button--moveOccupancyTypeFieldUp',
|
'button--moveOccupancyTypeFieldUp',
|
||||||
'button--moveOccupancyTypeFieldDown'
|
'button--moveOccupancyTypeFieldDown'
|
||||||
) +
|
)}
|
||||||
'</div>') +
|
</div>
|
||||||
'</div>' +
|
</div>
|
||||||
'</div>'
|
</div>`
|
||||||
|
|
||||||
panelBlockElement
|
panelBlockElement
|
||||||
.querySelector('.button--editOccupancyTypeField')!
|
.querySelector('.button--editOccupancyTypeField')
|
||||||
.addEventListener('click', openEditOccupancyTypeFieldByClick)
|
?.addEventListener('click', openEditOccupancyTypeFieldByClick)
|
||||||
;(
|
;(
|
||||||
panelBlockElement.querySelector(
|
panelBlockElement.querySelector(
|
||||||
'.button--moveOccupancyTypeFieldUp'
|
'.button--moveOccupancyTypeFieldUp'
|
||||||
|
|
@ -559,11 +563,12 @@ type ResponseJSON =
|
||||||
}
|
}
|
||||||
|
|
||||||
function openAddOccupancyTypePrint(clickEvent: Event): void {
|
function openAddOccupancyTypePrint(clickEvent: Event): void {
|
||||||
const occupancyTypeId = (
|
const occupancyTypeId =
|
||||||
(clickEvent.currentTarget as HTMLElement).closest(
|
(
|
||||||
'.container--occupancyTypePrintList'
|
(clickEvent.currentTarget as HTMLElement).closest(
|
||||||
) as HTMLElement
|
'.container--occupancyTypePrintList'
|
||||||
).dataset.occupancyTypeId!
|
) as HTMLElement
|
||||||
|
).dataset.occupancyTypeId ?? ''
|
||||||
|
|
||||||
let closeAddModalFunction: () => void
|
let closeAddModalFunction: () => void
|
||||||
|
|
||||||
|
|
@ -571,7 +576,7 @@ type ResponseJSON =
|
||||||
formEvent.preventDefault()
|
formEvent.preventDefault()
|
||||||
|
|
||||||
cityssm.postJSON(
|
cityssm.postJSON(
|
||||||
los.urlPrefix + '/admin/doAddOccupancyTypePrint',
|
`${los.urlPrefix}/admin/doAddOccupancyTypePrint`,
|
||||||
formEvent.currentTarget,
|
formEvent.currentTarget,
|
||||||
(rawResponseJSON) => {
|
(rawResponseJSON) => {
|
||||||
const responseJSON = rawResponseJSON as ResponseJSON
|
const responseJSON = rawResponseJSON as ResponseJSON
|
||||||
|
|
@ -599,7 +604,7 @@ type ResponseJSON =
|
||||||
) as HTMLSelectElement
|
) as HTMLSelectElement
|
||||||
|
|
||||||
for (const [printEJS, printTitle] of Object.entries(
|
for (const [printEJS, printTitle] of Object.entries(
|
||||||
exports.occupancyTypePrintTitles
|
exports.occupancyTypePrintTitles as Record<string, string>
|
||||||
)) {
|
)) {
|
||||||
const optionElement = document.createElement('option')
|
const optionElement = document.createElement('option')
|
||||||
optionElement.value = printEJS
|
optionElement.value = printEJS
|
||||||
|
|
@ -630,8 +635,10 @@ type ResponseJSON =
|
||||||
los.urlPrefix +
|
los.urlPrefix +
|
||||||
'/admin/' +
|
'/admin/' +
|
||||||
(buttonElement.dataset.direction === 'up'
|
(buttonElement.dataset.direction === 'up'
|
||||||
? 'doMoveOccupancyTypePrintUp'
|
? // eslint-disable-next-line no-secrets/no-secrets
|
||||||
: 'doMoveOccupancyTypePrintDown'),
|
'doMoveOccupancyTypePrintUp'
|
||||||
|
: // eslint-disable-next-line no-secrets/no-secrets
|
||||||
|
'doMoveOccupancyTypePrintDown'),
|
||||||
{
|
{
|
||||||
occupancyTypeId,
|
occupancyTypeId,
|
||||||
printEJS,
|
printEJS,
|
||||||
|
|
@ -658,7 +665,7 @@ type ResponseJSON =
|
||||||
|
|
||||||
function doDelete(): void {
|
function doDelete(): void {
|
||||||
cityssm.postJSON(
|
cityssm.postJSON(
|
||||||
los.urlPrefix + '/admin/doDeleteOccupancyTypePrint',
|
`${los.urlPrefix}/admin/doDeleteOccupancyTypePrint`,
|
||||||
{
|
{
|
||||||
occupancyTypeId,
|
occupancyTypeId,
|
||||||
printEJS
|
printEJS
|
||||||
|
|
@ -687,10 +694,10 @@ type ResponseJSON =
|
||||||
panelElement.insertAdjacentHTML(
|
panelElement.insertAdjacentHTML(
|
||||||
'beforeend',
|
'beforeend',
|
||||||
`<div class="panel-block is-block">
|
`<div class="panel-block is-block">
|
||||||
<div class="message is-info">
|
<div class="message is-info">
|
||||||
<p class="message-body">There are no prints associated with this record.</p>
|
<p class="message-body">There are no prints associated with this record.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>`
|
</div>`
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
for (const printEJS of occupancyTypePrints) {
|
for (const printEJS of occupancyTypePrints) {
|
||||||
|
|
@ -713,33 +720,30 @@ type ResponseJSON =
|
||||||
printIconClass = 'fa-file'
|
printIconClass = 'fa-file'
|
||||||
}
|
}
|
||||||
|
|
||||||
panelBlockElement.innerHTML =
|
// eslint-disable-next-line no-unsanitized/property
|
||||||
'<div class="level is-mobile">' +
|
panelBlockElement.innerHTML = `<div class="level is-mobile">
|
||||||
'<div class="level-left">' +
|
<div class="level-left">
|
||||||
('<div class="level-item">' +
|
<div class="level-item">
|
||||||
'<i class="fas fa-fw ' +
|
<i class="fas fa-fw ${printIconClass}" aria-hidden="true"></i>
|
||||||
printIconClass +
|
</div>
|
||||||
'" aria-hidden="true"></i>' +
|
<div class="level-item">
|
||||||
'</div>') +
|
${cityssm.escapeHTML(printTitle || printEJS)}
|
||||||
('<div class="level-item">' +
|
</div>
|
||||||
cityssm.escapeHTML(printTitle || printEJS) +
|
</div>
|
||||||
'</div>') +
|
<div class="level-right">
|
||||||
'</div>' +
|
<div class="level-item">
|
||||||
'<div class="level-right">' +
|
${los.getMoveUpDownButtonFieldHTML(
|
||||||
('<div class="level-item">' +
|
'button--moveOccupancyTypePrintUp',
|
||||||
los.getMoveUpDownButtonFieldHTML(
|
'button--moveOccupancyTypePrintDown'
|
||||||
'button--moveOccupancyTypePrintUp',
|
)}
|
||||||
'button--moveOccupancyTypePrintDown'
|
</div>
|
||||||
) +
|
<div class="level-item">
|
||||||
'</div>') +
|
<button class="button is-small is-danger button--deleteOccupancyTypePrint" data-tooltip="Delete" type="button" aria-label="Delete Print">
|
||||||
('<div class="level-item">' +
|
<i class="fas fa-trash" aria-hidden="true"></i>
|
||||||
'<button class="button is-small is-danger button--deleteOccupancyTypePrint" data-tooltip="Delete" type="button" aria-label="Delete Print">' +
|
</button>
|
||||||
'<i class="fas fa-trash" aria-hidden="true"></i>' +
|
</div>
|
||||||
'</button>' +
|
</div>
|
||||||
'</div>' +
|
</div>`
|
||||||
'</div>') +
|
|
||||||
'</div>' +
|
|
||||||
'</div>'
|
|
||||||
;(
|
;(
|
||||||
panelBlockElement.querySelector(
|
panelBlockElement.querySelector(
|
||||||
'.button--moveOccupancyTypePrintUp'
|
'.button--moveOccupancyTypePrintUp'
|
||||||
|
|
@ -752,8 +756,8 @@ type ResponseJSON =
|
||||||
).addEventListener('click', moveOccupancyTypePrint)
|
).addEventListener('click', moveOccupancyTypePrint)
|
||||||
|
|
||||||
panelBlockElement
|
panelBlockElement
|
||||||
.querySelector('.button--deleteOccupancyTypePrint')!
|
.querySelector('.button--deleteOccupancyTypePrint')
|
||||||
.addEventListener('click', deleteOccupancyTypePrint)
|
?.addEventListener('click', deleteOccupancyTypePrint)
|
||||||
|
|
||||||
panelElement.append(panelBlockElement)
|
panelElement.append(panelBlockElement)
|
||||||
}
|
}
|
||||||
|
|
@ -761,28 +765,26 @@ type ResponseJSON =
|
||||||
}
|
}
|
||||||
|
|
||||||
function renderOccupancyTypes(): void {
|
function renderOccupancyTypes(): void {
|
||||||
occupancyTypesContainerElement.innerHTML =
|
// eslint-disable-next-line no-unsanitized/property
|
||||||
'<div class="panel container--occupancyType" id="container--allOccupancyTypeFields" data-occupancy-type-id="">' +
|
occupancyTypesContainerElement.innerHTML = `<div class="panel container--occupancyType" id="container--allOccupancyTypeFields" data-occupancy-type-id="">
|
||||||
'<div class="panel-heading">' +
|
<div class="panel-heading">
|
||||||
('<div class="level is-mobile">' +
|
<div class="level is-mobile">
|
||||||
('<div class="level-left">' +
|
<div class="level-left">
|
||||||
'<div class="level-item">' +
|
<div class="level-item">
|
||||||
('<h2 class="title is-4">(All ' +
|
<h2 class="title is-4">(All ${los.escapedAliases.Occupancy} Types)</h2>
|
||||||
los.escapedAliases.Occupancy +
|
</div>
|
||||||
' Types)</h2>') +
|
</div>
|
||||||
'</div>' +
|
<div class="level-right">
|
||||||
'</div>') +
|
<div class="level-item">
|
||||||
('<div class="level-right">' +
|
<button class="button is-success is-small button--addOccupancyTypeField" type="button">
|
||||||
('<div class="level-item">' +
|
<span class="icon is-small"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
||||||
'<button class="button is-success is-small button--addOccupancyTypeField" type="button">' +
|
<span>Add Field</span>
|
||||||
'<span class="icon is-small"><i class="fas fa-plus" aria-hidden="true"></i></span>' +
|
</button>
|
||||||
'<span>Add Field</span>' +
|
</div>
|
||||||
'</button>' +
|
</div>
|
||||||
'</div>') +
|
</div>
|
||||||
'</div>') +
|
</div>
|
||||||
'</div>') +
|
</div>`
|
||||||
'</div>' +
|
|
||||||
'</div>'
|
|
||||||
|
|
||||||
occupancyTypePrintsContainerElement.innerHTML = ''
|
occupancyTypePrintsContainerElement.innerHTML = ''
|
||||||
|
|
||||||
|
|
@ -795,169 +797,168 @@ type ResponseJSON =
|
||||||
)
|
)
|
||||||
|
|
||||||
occupancyTypesContainerElement
|
occupancyTypesContainerElement
|
||||||
.querySelector('.button--addOccupancyTypeField')!
|
.querySelector('.button--addOccupancyTypeField')
|
||||||
.addEventListener('click', openAddOccupancyTypeField)
|
?.addEventListener('click', openAddOccupancyTypeField)
|
||||||
|
|
||||||
if (occupancyTypes.length === 0) {
|
if (occupancyTypes.length === 0) {
|
||||||
|
// eslint-disable-next-line no-unsanitized/method
|
||||||
occupancyTypesContainerElement.insertAdjacentHTML(
|
occupancyTypesContainerElement.insertAdjacentHTML(
|
||||||
'afterbegin',
|
'afterbegin',
|
||||||
`<div class="message is-warning>
|
`<div class="message is-warning>
|
||||||
<p class="message-body">There are no active ${los.escapedAliases.occupancy} types.</p>
|
<p class="message-body">There are no active ${los.escapedAliases.occupancy} types.</p>
|
||||||
</div>`
|
</div>`
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// eslint-disable-next-line no-unsanitized/method
|
||||||
occupancyTypePrintsContainerElement.insertAdjacentHTML(
|
occupancyTypePrintsContainerElement.insertAdjacentHTML(
|
||||||
'afterbegin',
|
'afterbegin',
|
||||||
`<div class="message is-warning>
|
`<div class="message is-warning>
|
||||||
<p class="message-body">There are no active ${los.escapedAliases.occupancy} types.</p>
|
<p class="message-body">There are no active ${los.escapedAliases.occupancy} types.</p>
|
||||||
</div>`
|
</div>`
|
||||||
)
|
)
|
||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
for (const occupancyType of occupancyTypes) {
|
for (const occupancyType of occupancyTypes) {
|
||||||
// Types and Fields
|
/*
|
||||||
{
|
* Types and Fields
|
||||||
const occupancyTypeContainer = document.createElement('div')
|
*/
|
||||||
|
|
||||||
occupancyTypeContainer.className = 'panel container--occupancyType'
|
const occupancyTypeContainer = document.createElement('div')
|
||||||
|
|
||||||
occupancyTypeContainer.dataset.occupancyTypeId =
|
occupancyTypeContainer.className = 'panel container--occupancyType'
|
||||||
occupancyType.occupancyTypeId.toString()
|
|
||||||
|
|
||||||
occupancyTypeContainer.innerHTML =
|
occupancyTypeContainer.dataset.occupancyTypeId =
|
||||||
'<div class="panel-heading">' +
|
occupancyType.occupancyTypeId.toString()
|
||||||
'<div class="level is-mobile">' +
|
|
||||||
('<div class="level-left">' +
|
// eslint-disable-next-line no-unsanitized/property
|
||||||
'<div class="level-item">' +
|
occupancyTypeContainer.innerHTML = `<div class="panel-heading">
|
||||||
'<button class="button is-small button--toggleOccupancyTypeFields" data-tooltip="Toggle Fields" type="button" aria-label="Toggle Fields">' +
|
<div class="level is-mobile">
|
||||||
(expandedOccupancyTypes.has(occupancyType.occupancyTypeId)
|
<div class="level-left">
|
||||||
? '<i class="fas fa-fw fa-minus" aria-hidden="true"></i>'
|
<div class="level-item">
|
||||||
: '<i class="fas fa-fw fa-plus" aria-hidden="true"></i>') +
|
<button class="button is-small button--toggleOccupancyTypeFields" data-tooltip="Toggle Fields" type="button" aria-label="Toggle Fields">
|
||||||
'</button>' +
|
${
|
||||||
'</div>' +
|
expandedOccupancyTypes.has(occupancyType.occupancyTypeId)
|
||||||
'<div class="level-item">' +
|
? '<i class="fas fa-fw fa-minus" aria-hidden="true"></i>'
|
||||||
'<h2 class="title is-4">' +
|
: '<i class="fas fa-fw fa-plus" aria-hidden="true"></i>'
|
||||||
cityssm.escapeHTML(occupancyType.occupancyType) +
|
}
|
||||||
'</h2>' +
|
</button>
|
||||||
'</div>' +
|
</div>
|
||||||
'</div>') +
|
<div class="level-item">
|
||||||
('<div class="level-right">' +
|
<h2 class="title is-4">${cityssm.escapeHTML(occupancyType.occupancyType)}</h2>
|
||||||
('<div class="level-item">' +
|
</div>
|
||||||
'<button class="button is-danger is-small button--deleteOccupancyType" type="button">' +
|
</div>
|
||||||
'<span class="icon is-small"><i class="fas fa-trash" aria-hidden="true"></i></span>' +
|
<div class="level-right">
|
||||||
'<span>Delete</span>' +
|
<div class="level-item">
|
||||||
'</button>' +
|
<button class="button is-danger is-small button--deleteOccupancyType" type="button">
|
||||||
'</div>') +
|
<span class="icon is-small"><i class="fas fa-trash" aria-hidden="true"></i></span>
|
||||||
('<div class="level-item">' +
|
<span>Delete</span>
|
||||||
'<button class="button is-primary is-small button--editOccupancyType" type="button">' +
|
</button>
|
||||||
'<span class="icon is-small"><i class="fas fa-pencil-alt" aria-hidden="true"></i></span>' +
|
</div>
|
||||||
'<span>Edit ' +
|
<div class="level-item">
|
||||||
los.escapedAliases.Occupancy +
|
<button class="button is-primary is-small button--editOccupancyType" type="button">
|
||||||
' Type</span>' +
|
<span class="icon is-small"><i class="fas fa-pencil-alt" aria-hidden="true"></i></span>
|
||||||
'</button>' +
|
<span>Edit ${los.escapedAliases.Occupancy} Type</span>
|
||||||
'</div>') +
|
</button>
|
||||||
('<div class="level-item">' +
|
</div>
|
||||||
'<button class="button is-success is-small button--addOccupancyTypeField" type="button">' +
|
<div class="level-item">
|
||||||
'<span class="icon is-small"><i class="fas fa-plus" aria-hidden="true"></i></span>' +
|
<button class="button is-success is-small button--addOccupancyTypeField" type="button">
|
||||||
'<span>Add Field</span>' +
|
<span class="icon is-small"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
||||||
'</button>' +
|
<span>Add Field</span>
|
||||||
'</div>') +
|
</button>
|
||||||
('<div class="level-item">' +
|
</div>
|
||||||
los.getMoveUpDownButtonFieldHTML(
|
<div class="level-item">
|
||||||
|
${los.getMoveUpDownButtonFieldHTML(
|
||||||
'button--moveOccupancyTypeUp',
|
'button--moveOccupancyTypeUp',
|
||||||
'button--moveOccupancyTypeDown'
|
'button--moveOccupancyTypeDown'
|
||||||
) +
|
)}
|
||||||
'</div>') +
|
</div>
|
||||||
'</div>') +
|
</div>
|
||||||
'</div>' +
|
</div>
|
||||||
'</div>'
|
</div>`
|
||||||
|
|
||||||
renderOccupancyTypeFields(
|
renderOccupancyTypeFields(
|
||||||
occupancyTypeContainer,
|
occupancyTypeContainer,
|
||||||
occupancyType.occupancyTypeId,
|
occupancyType.occupancyTypeId,
|
||||||
occupancyType.occupancyTypeFields!
|
occupancyType.occupancyTypeFields ?? []
|
||||||
)
|
)
|
||||||
|
|
||||||
occupancyTypeContainer
|
occupancyTypeContainer
|
||||||
.querySelector('.button--toggleOccupancyTypeFields')!
|
.querySelector('.button--toggleOccupancyTypeFields')
|
||||||
.addEventListener('click', toggleOccupancyTypeFields)
|
?.addEventListener('click', toggleOccupancyTypeFields)
|
||||||
|
|
||||||
occupancyTypeContainer
|
occupancyTypeContainer
|
||||||
.querySelector('.button--deleteOccupancyType')!
|
.querySelector('.button--deleteOccupancyType')
|
||||||
.addEventListener('click', deleteOccupancyType)
|
?.addEventListener('click', deleteOccupancyType)
|
||||||
|
|
||||||
occupancyTypeContainer
|
occupancyTypeContainer
|
||||||
.querySelector('.button--editOccupancyType')!
|
.querySelector('.button--editOccupancyType')
|
||||||
.addEventListener('click', openEditOccupancyType)
|
?.addEventListener('click', openEditOccupancyType)
|
||||||
|
|
||||||
occupancyTypeContainer
|
occupancyTypeContainer
|
||||||
.querySelector('.button--addOccupancyTypeField')!
|
.querySelector('.button--addOccupancyTypeField')
|
||||||
.addEventListener('click', openAddOccupancyTypeField)
|
?.addEventListener('click', openAddOccupancyTypeField)
|
||||||
;(
|
;(
|
||||||
occupancyTypeContainer.querySelector(
|
occupancyTypeContainer.querySelector(
|
||||||
'.button--moveOccupancyTypeUp'
|
'.button--moveOccupancyTypeUp'
|
||||||
) as HTMLButtonElement
|
) as HTMLButtonElement
|
||||||
).addEventListener('click', moveOccupancyType)
|
).addEventListener('click', moveOccupancyType)
|
||||||
;(
|
;(
|
||||||
occupancyTypeContainer.querySelector(
|
occupancyTypeContainer.querySelector(
|
||||||
'.button--moveOccupancyTypeDown'
|
'.button--moveOccupancyTypeDown'
|
||||||
) as HTMLButtonElement
|
) as HTMLButtonElement
|
||||||
).addEventListener('click', moveOccupancyType)
|
).addEventListener('click', moveOccupancyType)
|
||||||
|
|
||||||
occupancyTypesContainerElement.append(occupancyTypeContainer)
|
occupancyTypesContainerElement.append(occupancyTypeContainer)
|
||||||
}
|
|
||||||
|
|
||||||
// Prints
|
/*
|
||||||
{
|
* Prints
|
||||||
const occupancyTypePrintContainer = document.createElement('div')
|
*/
|
||||||
|
|
||||||
occupancyTypePrintContainer.className =
|
const occupancyTypePrintContainer = document.createElement('div')
|
||||||
'panel container--occupancyTypePrintList'
|
|
||||||
|
|
||||||
occupancyTypePrintContainer.dataset.occupancyTypeId =
|
occupancyTypePrintContainer.className =
|
||||||
occupancyType.occupancyTypeId.toString()
|
'panel container--occupancyTypePrintList'
|
||||||
|
|
||||||
occupancyTypePrintContainer.innerHTML =
|
occupancyTypePrintContainer.dataset.occupancyTypeId =
|
||||||
'<div class="panel-heading">' +
|
occupancyType.occupancyTypeId.toString()
|
||||||
'<div class="level is-mobile">' +
|
|
||||||
('<div class="level-left">' +
|
|
||||||
'<div class="level-item">' +
|
|
||||||
'<h2 class="title is-4">' +
|
|
||||||
cityssm.escapeHTML(occupancyType.occupancyType) +
|
|
||||||
'</h2>' +
|
|
||||||
'</div>' +
|
|
||||||
'</div>') +
|
|
||||||
('<div class="level-right">' +
|
|
||||||
('<div class="level-item">' +
|
|
||||||
'<button class="button is-success is-small button--addOccupancyTypePrint" type="button">' +
|
|
||||||
'<span class="icon is-small"><i class="fas fa-plus" aria-hidden="true"></i></span>' +
|
|
||||||
'<span>Add Print</span>' +
|
|
||||||
'</button>' +
|
|
||||||
'</div>') +
|
|
||||||
'</div>') +
|
|
||||||
'</div>' +
|
|
||||||
'</div>'
|
|
||||||
|
|
||||||
renderOccupancyTypePrints(
|
occupancyTypePrintContainer.innerHTML = `<div class="panel-heading">
|
||||||
occupancyTypePrintContainer,
|
<div class="level is-mobile">
|
||||||
occupancyType.occupancyTypeId,
|
<div class="level-left">
|
||||||
occupancyType.occupancyTypePrints!
|
<div class="level-item">
|
||||||
)
|
<h2 class="title is-4">${cityssm.escapeHTML(occupancyType.occupancyType)}</h2>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="level-right">
|
||||||
|
<div class="level-item">
|
||||||
|
<button class="button is-success is-small button--addOccupancyTypePrint" type="button">
|
||||||
|
<span class="icon is-small"><i class="fas fa-plus" aria-hidden="true"></i></span>
|
||||||
|
<span>Add Print</span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>`
|
||||||
|
|
||||||
occupancyTypePrintContainer
|
renderOccupancyTypePrints(
|
||||||
.querySelector('.button--addOccupancyTypePrint')!
|
occupancyTypePrintContainer,
|
||||||
.addEventListener('click', openAddOccupancyTypePrint)
|
occupancyType.occupancyTypeId,
|
||||||
|
occupancyType.occupancyTypePrints ?? []
|
||||||
|
)
|
||||||
|
|
||||||
occupancyTypePrintsContainerElement.append(occupancyTypePrintContainer)
|
occupancyTypePrintContainer
|
||||||
}
|
.querySelector('.button--addOccupancyTypePrint')
|
||||||
|
?.addEventListener('click', openAddOccupancyTypePrint)
|
||||||
|
|
||||||
|
occupancyTypePrintsContainerElement.append(occupancyTypePrintContainer)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
document
|
document
|
||||||
.querySelector('#button--addOccupancyType')!
|
.querySelector('#button--addOccupancyType')
|
||||||
.addEventListener('click', () => {
|
?.addEventListener('click', () => {
|
||||||
let addCloseModalFunction: () => void
|
let addCloseModalFunction: () => void
|
||||||
|
|
||||||
function doAdd(submitEvent: SubmitEvent): void {
|
function doAdd(submitEvent: SubmitEvent): void {
|
||||||
|
|
@ -971,7 +972,7 @@ type ResponseJSON =
|
||||||
|
|
||||||
if (responseJSON.success) {
|
if (responseJSON.success) {
|
||||||
addCloseModalFunction()
|
addCloseModalFunction()
|
||||||
occupancyTypes = responseJSON.occupancyTypes!
|
occupancyTypes = responseJSON.occupancyTypes
|
||||||
renderOccupancyTypes()
|
renderOccupancyTypes()
|
||||||
} else {
|
} else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
|
|
@ -985,10 +986,10 @@ type ResponseJSON =
|
||||||
}
|
}
|
||||||
|
|
||||||
cityssm.openHtmlModal('adminOccupancyTypes-addOccupancyType', {
|
cityssm.openHtmlModal('adminOccupancyTypes-addOccupancyType', {
|
||||||
onshow: (modalElement) => {
|
onshow(modalElement) {
|
||||||
los.populateAliases(modalElement)
|
los.populateAliases(modalElement)
|
||||||
},
|
},
|
||||||
onshown: (modalElement, closeModalFunction) => {
|
onshown(modalElement, closeModalFunction) {
|
||||||
addCloseModalFunction = closeModalFunction
|
addCloseModalFunction = closeModalFunction
|
||||||
;(
|
;(
|
||||||
modalElement.querySelector(
|
modalElement.querySelector(
|
||||||
|
|
@ -996,11 +997,11 @@ type ResponseJSON =
|
||||||
) as HTMLInputElement
|
) as HTMLInputElement
|
||||||
).focus()
|
).focus()
|
||||||
|
|
||||||
modalElement.querySelector('form')!.addEventListener('submit', doAdd)
|
modalElement.querySelector('form')?.addEventListener('submit', doAdd)
|
||||||
|
|
||||||
bulmaJS.toggleHtmlClipped()
|
bulmaJS.toggleHtmlClipped()
|
||||||
},
|
},
|
||||||
onremoved: () => {
|
onremoved() {
|
||||||
bulmaJS.toggleHtmlClipped()
|
bulmaJS.toggleHtmlClipped()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -1120,7 +1120,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
function renderMilestones() {
|
function renderMilestones() {
|
||||||
var _a, _b, _c, _d, _e;
|
var _a, _b, _c, _d, _e, _f;
|
||||||
// Clear milestones panel
|
// Clear milestones panel
|
||||||
const milestonesPanelElement = document.querySelector('#panel--milestones');
|
const milestonesPanelElement = document.querySelector('#panel--milestones');
|
||||||
const panelBlockElementsToDelete = milestonesPanelElement.querySelectorAll('.panel-block');
|
const panelBlockElementsToDelete = milestonesPanelElement.querySelectorAll('.panel-block');
|
||||||
|
|
@ -1198,9 +1198,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
.querySelector('.button--editMilestone')) === null || _d === void 0 ? void 0 : _d.addEventListener('click', editMilestone);
|
.querySelector('.button--editMilestone')) === null || _d === void 0 ? void 0 : _d.addEventListener('click', editMilestone);
|
||||||
(_e = panelBlockElement
|
(_e = panelBlockElement
|
||||||
.querySelector('.button--completeMilestone')) === null || _e === void 0 ? void 0 : _e.addEventListener('click', completeMilestone);
|
.querySelector('.button--completeMilestone')) === null || _e === void 0 ? void 0 : _e.addEventListener('click', completeMilestone);
|
||||||
panelBlockElement
|
(_f = panelBlockElement
|
||||||
.querySelector('.button--deleteMilestone')
|
.querySelector('.button--deleteMilestone')) === null || _f === void 0 ? void 0 : _f.addEventListener('click', deleteMilestone);
|
||||||
.addEventListener('click', deleteMilestone);
|
|
||||||
milestonesPanelElement.append(panelBlockElement);
|
milestonesPanelElement.append(panelBlockElement);
|
||||||
}
|
}
|
||||||
bulmaJS.init(milestonesPanelElement);
|
bulmaJS.init(milestonesPanelElement);
|
||||||
|
|
|
||||||
|
|
@ -369,7 +369,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
function renderMilestones() {
|
function renderMilestones() {
|
||||||
var _a, _b, _c, _d, _e;
|
var _a, _b, _c, _d, _e, _f;
|
||||||
// Clear milestones panel
|
// Clear milestones panel
|
||||||
const milestonesPanelElement = document.querySelector('#panel--milestones');
|
const milestonesPanelElement = document.querySelector('#panel--milestones');
|
||||||
const panelBlockElementsToDelete = milestonesPanelElement.querySelectorAll('.panel-block');
|
const panelBlockElementsToDelete = milestonesPanelElement.querySelectorAll('.panel-block');
|
||||||
|
|
@ -447,9 +447,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
.querySelector('.button--editMilestone')) === null || _d === void 0 ? void 0 : _d.addEventListener('click', editMilestone);
|
.querySelector('.button--editMilestone')) === null || _d === void 0 ? void 0 : _d.addEventListener('click', editMilestone);
|
||||||
(_e = panelBlockElement
|
(_e = panelBlockElement
|
||||||
.querySelector('.button--completeMilestone')) === null || _e === void 0 ? void 0 : _e.addEventListener('click', completeMilestone);
|
.querySelector('.button--completeMilestone')) === null || _e === void 0 ? void 0 : _e.addEventListener('click', completeMilestone);
|
||||||
panelBlockElement
|
(_f = panelBlockElement
|
||||||
.querySelector('.button--deleteMilestone')
|
.querySelector('.button--deleteMilestone')) === null || _f === void 0 ? void 0 : _f.addEventListener('click', deleteMilestone);
|
||||||
.addEventListener('click', deleteMilestone);
|
|
||||||
milestonesPanelElement.append(panelBlockElement);
|
milestonesPanelElement.append(panelBlockElement);
|
||||||
}
|
}
|
||||||
bulmaJS.init(milestonesPanelElement);
|
bulmaJS.init(milestonesPanelElement);
|
||||||
|
|
|
||||||
|
|
@ -673,8 +673,8 @@ declare const exports: Record<string, unknown>
|
||||||
?.addEventListener('click', completeMilestone)
|
?.addEventListener('click', completeMilestone)
|
||||||
|
|
||||||
panelBlockElement
|
panelBlockElement
|
||||||
.querySelector('.button--deleteMilestone')!
|
.querySelector('.button--deleteMilestone')
|
||||||
.addEventListener('click', deleteMilestone)
|
?.addEventListener('click', deleteMilestone)
|
||||||
|
|
||||||
milestonesPanelElement.append(panelBlockElement)
|
milestonesPanelElement.append(panelBlockElement)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue