fix lot occupancy type fields
parent
4f683e7432
commit
bf672408c8
|
|
@ -1,7 +1,8 @@
|
||||||
import { getOccupancyTypeById, getAllOccupancyTypeFields } from '../../helpers/functions.cache.js';
|
import { getOccupancyTypeById, getAllOccupancyTypeFields } from '../../helpers/functions.cache.js';
|
||||||
export async function handler(request, response) {
|
export async function handler(request, response) {
|
||||||
const occupancyTypeFields = await getAllOccupancyTypeFields();
|
const allOccupancyTypeFields = await getAllOccupancyTypeFields();
|
||||||
const result = (await getOccupancyTypeById(Number.parseInt(request.body.occupancyTypeId, 10)));
|
const result = (await getOccupancyTypeById(Number.parseInt(request.body.occupancyTypeId, 10)));
|
||||||
|
const occupancyTypeFields = [...allOccupancyTypeFields];
|
||||||
occupancyTypeFields.push(...(result.occupancyTypeFields ?? []));
|
occupancyTypeFields.push(...(result.occupancyTypeFields ?? []));
|
||||||
response.json({
|
response.json({
|
||||||
occupancyTypeFields
|
occupancyTypeFields
|
||||||
|
|
|
||||||
|
|
@ -9,12 +9,14 @@ export async function handler(
|
||||||
request: Request,
|
request: Request,
|
||||||
response: Response
|
response: Response
|
||||||
): Promise<void> {
|
): Promise<void> {
|
||||||
const occupancyTypeFields = await getAllOccupancyTypeFields()
|
const allOccupancyTypeFields = await getAllOccupancyTypeFields()
|
||||||
|
|
||||||
const result = (await getOccupancyTypeById(
|
const result = (await getOccupancyTypeById(
|
||||||
Number.parseInt(request.body.occupancyTypeId, 10)
|
Number.parseInt(request.body.occupancyTypeId, 10)
|
||||||
))!
|
))!
|
||||||
|
|
||||||
|
const occupancyTypeFields = [...allOccupancyTypeFields]
|
||||||
|
|
||||||
occupancyTypeFields.push(...(result.occupancyTypeFields ?? []))
|
occupancyTypeFields.push(...(result.occupancyTypeFields ?? []))
|
||||||
|
|
||||||
response.json({
|
response.json({
|
||||||
|
|
|
||||||
|
|
@ -186,7 +186,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
cityssm.postJSON(los.urlPrefix + '/lotOccupancies/doGetOccupancyTypeFields', {
|
cityssm.postJSON(los.urlPrefix + '/lotOccupancies/doGetOccupancyTypeFields', {
|
||||||
occupancyTypeId: occupancyTypeIdElement.value
|
occupancyTypeId: occupancyTypeIdElement.value
|
||||||
}, (responseJSON) => {
|
}, (responseJSON) => {
|
||||||
var _a;
|
var _a, _b;
|
||||||
if (responseJSON.occupancyTypeFields.length === 0) {
|
if (responseJSON.occupancyTypeFields.length === 0) {
|
||||||
lotOccupancyFieldsContainerElement.innerHTML = `<div class="message is-info">
|
lotOccupancyFieldsContainerElement.innerHTML = `<div class="message is-info">
|
||||||
<p class="message-body">There are no additional fields for this ${los.escapedAliases.occupancy} type.</p>
|
<p class="message-body">There are no additional fields for this ${los.escapedAliases.occupancy} type.</p>
|
||||||
|
|
@ -205,7 +205,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
fieldElement.className = 'field';
|
fieldElement.className = 'field';
|
||||||
fieldElement.innerHTML = `<label class="label" for="${fieldId}"></label><div class="control"></div>`;
|
fieldElement.innerHTML = `<label class="label" for="${fieldId}"></label><div class="control"></div>`;
|
||||||
fieldElement.querySelector('label').textContent = occupancyTypeField.occupancyTypeField;
|
fieldElement.querySelector('label').textContent = occupancyTypeField.occupancyTypeField;
|
||||||
if (occupancyTypeField.occupancyTypeFieldValues === '') {
|
if (((_a = occupancyTypeField.occupancyTypeFieldValues) !== null && _a !== void 0 ? _a : '') === '') {
|
||||||
const inputElement = document.createElement('input');
|
const inputElement = document.createElement('input');
|
||||||
inputElement.className = 'input';
|
inputElement.className = 'input';
|
||||||
inputElement.id = fieldId;
|
inputElement.id = fieldId;
|
||||||
|
|
@ -216,7 +216,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
occupancyTypeField.minimumLength;
|
occupancyTypeField.minimumLength;
|
||||||
inputElement.maxLength =
|
inputElement.maxLength =
|
||||||
occupancyTypeField.maximumLength;
|
occupancyTypeField.maximumLength;
|
||||||
if (((_a = occupancyTypeField.pattern) !== null && _a !== void 0 ? _a : '') !== '') {
|
if (((_b = occupancyTypeField.pattern) !== null && _b !== void 0 ? _b : '') !== '') {
|
||||||
inputElement.pattern = occupancyTypeField.pattern;
|
inputElement.pattern = occupancyTypeField.pattern;
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
|
|
@ -239,6 +239,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
selectElement.append(optionElement);
|
selectElement.append(optionElement);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
console.log(fieldElement);
|
||||||
lotOccupancyFieldsContainerElement.append(fieldElement);
|
lotOccupancyFieldsContainerElement.append(fieldElement);
|
||||||
}
|
}
|
||||||
lotOccupancyFieldsContainerElement.insertAdjacentHTML('beforeend', `<input name="occupancyTypeFieldIds" type="hidden" value="${occupancyTypeFieldIds.slice(1)}" />`);
|
lotOccupancyFieldsContainerElement.insertAdjacentHTML('beforeend', `<input name="occupancyTypeFieldIds" type="hidden" value="${occupancyTypeFieldIds.slice(1)}" />`);
|
||||||
|
|
@ -351,10 +352,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
cityssm.openHtmlModal('lotOccupancy-selectLot', {
|
cityssm.openHtmlModal('lotOccupancy-selectLot', {
|
||||||
onshow: (modalElement) => {
|
onshow(modalElement) {
|
||||||
los.populateAliases(modalElement);
|
los.populateAliases(modalElement);
|
||||||
},
|
},
|
||||||
onshown: (modalElement, closeModalFunction) => {
|
onshown(modalElement, closeModalFunction) {
|
||||||
var _a;
|
var _a;
|
||||||
bulmaJS.toggleHtmlClipped();
|
bulmaJS.toggleHtmlClipped();
|
||||||
lotSelectModalElement = modalElement;
|
lotSelectModalElement = modalElement;
|
||||||
|
|
@ -409,7 +410,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
;
|
;
|
||||||
modalElement.querySelector('#form--lotCreate').addEventListener('submit', createLotAndSelect);
|
modalElement.querySelector('#form--lotCreate').addEventListener('submit', createLotAndSelect);
|
||||||
},
|
},
|
||||||
onremoved: () => {
|
onremoved() {
|
||||||
bulmaJS.toggleHtmlClipped();
|
bulmaJS.toggleHtmlClipped();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
@ -458,8 +459,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
*/
|
*/
|
||||||
"use strict";
|
"use strict";
|
||||||
/* eslint-disable @typescript-eslint/no-non-null-assertion, unicorn/prefer-module */
|
/* eslint-disable @typescript-eslint/no-non-null-assertion, unicorn/prefer-module */
|
||||||
|
var _a;
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
let lotOccupancyOccupants;
|
let lotOccupancyOccupants = exports.lotOccupancyOccupants;
|
||||||
|
delete exports.lotOccupancyOccupants;
|
||||||
function openEditLotOccupancyOccupant(clickEvent) {
|
function openEditLotOccupancyOccupant(clickEvent) {
|
||||||
const lotOccupantIndex = Number.parseInt(clickEvent.currentTarget.closest('tr').dataset
|
const lotOccupantIndex = Number.parseInt(clickEvent.currentTarget.closest('tr').dataset
|
||||||
.lotOccupantIndex, 10);
|
.lotOccupantIndex, 10);
|
||||||
|
|
@ -650,7 +653,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
: cityssm.escapeHTML(lotOccupancyOccupant.occupantEmailAddress)) +
|
: cityssm.escapeHTML(lotOccupancyOccupant.occupantEmailAddress)) +
|
||||||
'</td>') +
|
'</td>') +
|
||||||
('<td>' +
|
('<td>' +
|
||||||
'<span data-tooltip="' + cityssm.escapeHTML(((_j = lotOccupancyOccupant.occupantCommentTitle) !== null && _j !== void 0 ? _j : '') === '' ? 'Comment' : lotOccupancyOccupant.occupantCommentTitle) + '">' +
|
'<span data-tooltip="' +
|
||||||
|
cityssm.escapeHTML(((_j = lotOccupancyOccupant.occupantCommentTitle) !== null && _j !== void 0 ? _j : '') === ''
|
||||||
|
? 'Comment'
|
||||||
|
: lotOccupancyOccupant.occupantCommentTitle) +
|
||||||
|
'">' +
|
||||||
cityssm.escapeHTML((_k = lotOccupancyOccupant.occupantComment) !== null && _k !== void 0 ? _k : '') +
|
cityssm.escapeHTML((_k = lotOccupancyOccupant.occupantComment) !== null && _k !== void 0 ? _k : '') +
|
||||||
'</span>' +
|
'</span>' +
|
||||||
'</td>') +
|
'</td>') +
|
||||||
|
|
@ -687,11 +694,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
lotOccupancyOccupants = exports.lotOccupancyOccupants;
|
renderLotOccupancyOccupants();
|
||||||
delete exports.lotOccupancyOccupants;
|
}
|
||||||
document
|
(_a = document
|
||||||
.querySelector('#button--addOccupant')
|
.querySelector('#button--addOccupant')) === null || _a === void 0 ? void 0 : _a.addEventListener('click', () => {
|
||||||
.addEventListener('click', () => {
|
|
||||||
let addCloseModalFunction;
|
let addCloseModalFunction;
|
||||||
let addFormElement;
|
let addFormElement;
|
||||||
let searchFormElement;
|
let searchFormElement;
|
||||||
|
|
@ -769,8 +775,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
'<br />' +
|
'<br />' +
|
||||||
(((_c = occupant.occupantAddress2) !== null && _c !== void 0 ? _c : '') === ''
|
(((_c = occupant.occupantAddress2) !== null && _c !== void 0 ? _c : '') === ''
|
||||||
? ''
|
? ''
|
||||||
: cityssm.escapeHTML(occupant.occupantAddress2) +
|
: cityssm.escapeHTML(occupant.occupantAddress2) + '<br />') +
|
||||||
'<br />') +
|
|
||||||
cityssm.escapeHTML((_d = occupant.occupantCity) !== null && _d !== void 0 ? _d : '') +
|
cityssm.escapeHTML((_d = occupant.occupantCity) !== null && _d !== void 0 ? _d : '') +
|
||||||
', ' +
|
', ' +
|
||||||
cityssm.escapeHTML((_e = occupant.occupantProvince) !== null && _e !== void 0 ? _e : '') +
|
cityssm.escapeHTML((_e = occupant.occupantProvince) !== null && _e !== void 0 ? _e : '') +
|
||||||
|
|
@ -841,8 +846,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
renderLotOccupancyOccupants();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!isCreate) {
|
if (!isCreate) {
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
|
||||||
|
|
@ -186,7 +186,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
cityssm.postJSON(los.urlPrefix + '/lotOccupancies/doGetOccupancyTypeFields', {
|
cityssm.postJSON(los.urlPrefix + '/lotOccupancies/doGetOccupancyTypeFields', {
|
||||||
occupancyTypeId: occupancyTypeIdElement.value
|
occupancyTypeId: occupancyTypeIdElement.value
|
||||||
}, (responseJSON) => {
|
}, (responseJSON) => {
|
||||||
var _a;
|
var _a, _b;
|
||||||
if (responseJSON.occupancyTypeFields.length === 0) {
|
if (responseJSON.occupancyTypeFields.length === 0) {
|
||||||
lotOccupancyFieldsContainerElement.innerHTML = `<div class="message is-info">
|
lotOccupancyFieldsContainerElement.innerHTML = `<div class="message is-info">
|
||||||
<p class="message-body">There are no additional fields for this ${los.escapedAliases.occupancy} type.</p>
|
<p class="message-body">There are no additional fields for this ${los.escapedAliases.occupancy} type.</p>
|
||||||
|
|
@ -205,7 +205,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
fieldElement.className = 'field';
|
fieldElement.className = 'field';
|
||||||
fieldElement.innerHTML = `<label class="label" for="${fieldId}"></label><div class="control"></div>`;
|
fieldElement.innerHTML = `<label class="label" for="${fieldId}"></label><div class="control"></div>`;
|
||||||
fieldElement.querySelector('label').textContent = occupancyTypeField.occupancyTypeField;
|
fieldElement.querySelector('label').textContent = occupancyTypeField.occupancyTypeField;
|
||||||
if (occupancyTypeField.occupancyTypeFieldValues === '') {
|
if (((_a = occupancyTypeField.occupancyTypeFieldValues) !== null && _a !== void 0 ? _a : '') === '') {
|
||||||
const inputElement = document.createElement('input');
|
const inputElement = document.createElement('input');
|
||||||
inputElement.className = 'input';
|
inputElement.className = 'input';
|
||||||
inputElement.id = fieldId;
|
inputElement.id = fieldId;
|
||||||
|
|
@ -216,7 +216,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
occupancyTypeField.minimumLength;
|
occupancyTypeField.minimumLength;
|
||||||
inputElement.maxLength =
|
inputElement.maxLength =
|
||||||
occupancyTypeField.maximumLength;
|
occupancyTypeField.maximumLength;
|
||||||
if (((_a = occupancyTypeField.pattern) !== null && _a !== void 0 ? _a : '') !== '') {
|
if (((_b = occupancyTypeField.pattern) !== null && _b !== void 0 ? _b : '') !== '') {
|
||||||
inputElement.pattern = occupancyTypeField.pattern;
|
inputElement.pattern = occupancyTypeField.pattern;
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
|
|
@ -239,6 +239,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
selectElement.append(optionElement);
|
selectElement.append(optionElement);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
console.log(fieldElement);
|
||||||
lotOccupancyFieldsContainerElement.append(fieldElement);
|
lotOccupancyFieldsContainerElement.append(fieldElement);
|
||||||
}
|
}
|
||||||
lotOccupancyFieldsContainerElement.insertAdjacentHTML('beforeend', `<input name="occupancyTypeFieldIds" type="hidden" value="${occupancyTypeFieldIds.slice(1)}" />`);
|
lotOccupancyFieldsContainerElement.insertAdjacentHTML('beforeend', `<input name="occupancyTypeFieldIds" type="hidden" value="${occupancyTypeFieldIds.slice(1)}" />`);
|
||||||
|
|
@ -351,10 +352,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
cityssm.openHtmlModal('lotOccupancy-selectLot', {
|
cityssm.openHtmlModal('lotOccupancy-selectLot', {
|
||||||
onshow: (modalElement) => {
|
onshow(modalElement) {
|
||||||
los.populateAliases(modalElement);
|
los.populateAliases(modalElement);
|
||||||
},
|
},
|
||||||
onshown: (modalElement, closeModalFunction) => {
|
onshown(modalElement, closeModalFunction) {
|
||||||
var _a;
|
var _a;
|
||||||
bulmaJS.toggleHtmlClipped();
|
bulmaJS.toggleHtmlClipped();
|
||||||
lotSelectModalElement = modalElement;
|
lotSelectModalElement = modalElement;
|
||||||
|
|
@ -409,7 +410,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
;
|
;
|
||||||
modalElement.querySelector('#form--lotCreate').addEventListener('submit', createLotAndSelect);
|
modalElement.querySelector('#form--lotCreate').addEventListener('submit', createLotAndSelect);
|
||||||
},
|
},
|
||||||
onremoved: () => {
|
onremoved() {
|
||||||
bulmaJS.toggleHtmlClipped();
|
bulmaJS.toggleHtmlClipped();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -311,7 +311,7 @@ declare const bulmaJS: BulmaJS
|
||||||
fieldElement.querySelector('label') as HTMLLabelElement
|
fieldElement.querySelector('label') as HTMLLabelElement
|
||||||
).textContent = occupancyTypeField.occupancyTypeField as string
|
).textContent = occupancyTypeField.occupancyTypeField as string
|
||||||
|
|
||||||
if (occupancyTypeField.occupancyTypeFieldValues === '') {
|
if ((occupancyTypeField.occupancyTypeFieldValues ?? '') === '') {
|
||||||
const inputElement = document.createElement('input')
|
const inputElement = document.createElement('input')
|
||||||
|
|
||||||
inputElement.className = 'input'
|
inputElement.className = 'input'
|
||||||
|
|
@ -362,6 +362,8 @@ declare const bulmaJS: BulmaJS
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
console.log(fieldElement)
|
||||||
|
|
||||||
lotOccupancyFieldsContainerElement.append(fieldElement)
|
lotOccupancyFieldsContainerElement.append(fieldElement)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -529,10 +531,10 @@ declare const bulmaJS: BulmaJS
|
||||||
}
|
}
|
||||||
|
|
||||||
cityssm.openHtmlModal('lotOccupancy-selectLot', {
|
cityssm.openHtmlModal('lotOccupancy-selectLot', {
|
||||||
onshow: (modalElement) => {
|
onshow(modalElement) {
|
||||||
los.populateAliases(modalElement)
|
los.populateAliases(modalElement)
|
||||||
},
|
},
|
||||||
onshown: (modalElement, closeModalFunction) => {
|
onshown(modalElement, closeModalFunction) {
|
||||||
bulmaJS.toggleHtmlClipped()
|
bulmaJS.toggleHtmlClipped()
|
||||||
|
|
||||||
lotSelectModalElement = modalElement
|
lotSelectModalElement = modalElement
|
||||||
|
|
@ -628,7 +630,7 @@ declare const bulmaJS: BulmaJS
|
||||||
modalElement.querySelector('#form--lotCreate') as HTMLFormElement
|
modalElement.querySelector('#form--lotCreate') as HTMLFormElement
|
||||||
).addEventListener('submit', createLotAndSelect)
|
).addEventListener('submit', createLotAndSelect)
|
||||||
},
|
},
|
||||||
onremoved: () => {
|
onremoved() {
|
||||||
bulmaJS.toggleHtmlClipped()
|
bulmaJS.toggleHtmlClipped()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue