linting, cleanup
parent
f5f10a5d76
commit
991df98ff3
|
|
@ -90,14 +90,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
(fee.isRequired ? '<span class="tag is-warning">Required</span>' : "") +
|
(fee.isRequired ? '<span class="tag is-warning">Required</span>' : "") +
|
||||||
(fee.occupancyTypeId
|
(fee.occupancyTypeId
|
||||||
? ' <span class="tag has-tooltip-bottom" data-tooltip="' +
|
? ' <span class="tag has-tooltip-bottom" data-tooltip="' +
|
||||||
cityssm.escapeHTML(exports.aliases.occupancy) +
|
los.escapedAliases.Occupancy +
|
||||||
' Type Filter">' +
|
' Type Filter">' +
|
||||||
cityssm.escapeHTML(fee.occupancyType || "") +
|
cityssm.escapeHTML(fee.occupancyType || "") +
|
||||||
"</span>"
|
"</span>"
|
||||||
: "") +
|
: "") +
|
||||||
(fee.lotTypeId
|
(fee.lotTypeId
|
||||||
? ' <span class="tag has-tooltip-bottom" data-tooltip="' +
|
? ' <span class="tag has-tooltip-bottom" data-tooltip="' +
|
||||||
cityssm.escapeHTML(exports.aliases.lot) +
|
los.escapedAliases.Lot +
|
||||||
' Type Filter">' +
|
' Type Filter">' +
|
||||||
cityssm.escapeHTML(fee.lotType || "") +
|
cityssm.escapeHTML(fee.lotType || "") +
|
||||||
"</span>"
|
"</span>"
|
||||||
|
|
|
||||||
|
|
@ -118,14 +118,14 @@ declare const bulmaJS: BulmaJS;
|
||||||
(fee.isRequired ? '<span class="tag is-warning">Required</span>' : "") +
|
(fee.isRequired ? '<span class="tag is-warning">Required</span>' : "") +
|
||||||
(fee.occupancyTypeId
|
(fee.occupancyTypeId
|
||||||
? ' <span class="tag has-tooltip-bottom" data-tooltip="' +
|
? ' <span class="tag has-tooltip-bottom" data-tooltip="' +
|
||||||
cityssm.escapeHTML(exports.aliases.occupancy) +
|
los.escapedAliases.Occupancy +
|
||||||
' Type Filter">' +
|
' Type Filter">' +
|
||||||
cityssm.escapeHTML(fee.occupancyType || "") +
|
cityssm.escapeHTML(fee.occupancyType || "") +
|
||||||
"</span>"
|
"</span>"
|
||||||
: "") +
|
: "") +
|
||||||
(fee.lotTypeId
|
(fee.lotTypeId
|
||||||
? ' <span class="tag has-tooltip-bottom" data-tooltip="' +
|
? ' <span class="tag has-tooltip-bottom" data-tooltip="' +
|
||||||
cityssm.escapeHTML(exports.aliases.lot) +
|
los.escapedAliases.Lot +
|
||||||
' Type Filter">' +
|
' Type Filter">' +
|
||||||
cityssm.escapeHTML(fee.lotType || "") +
|
cityssm.escapeHTML(fee.lotType || "") +
|
||||||
"</span>"
|
"</span>"
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function deleteLotType(clickEvent) {
|
function deleteLotType(clickEvent) {
|
||||||
const lotTypeId = Number.parseInt(clickEvent.currentTarget.closest(".container--lotType").dataset.lotTypeId, 10);
|
const lotTypeId = Number.parseInt(clickEvent.currentTarget.closest(".container--lotType").dataset
|
||||||
|
.lotTypeId, 10);
|
||||||
function doDelete() {
|
function doDelete() {
|
||||||
cityssm.postJSON(los.urlPrefix + "/admin/doDeleteLotType", {
|
cityssm.postJSON(los.urlPrefix + "/admin/doDeleteLotType", {
|
||||||
lotTypeId
|
lotTypeId
|
||||||
|
|
@ -56,7 +57,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
function openEditLotType(clickEvent) {
|
function openEditLotType(clickEvent) {
|
||||||
const lotTypeId = Number.parseInt(clickEvent.currentTarget.closest(".container--lotType").dataset.lotTypeId, 10);
|
const lotTypeId = Number.parseInt(clickEvent.currentTarget.closest(".container--lotType").dataset
|
||||||
|
.lotTypeId, 10);
|
||||||
const lotType = lotTypes.find((currentLotType) => {
|
const lotType = lotTypes.find((currentLotType) => {
|
||||||
return lotTypeId === currentLotType.lotTypeId;
|
return lotTypeId === currentLotType.lotTypeId;
|
||||||
});
|
});
|
||||||
|
|
@ -90,7 +92,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
function openAddLotTypeField(clickEvent) {
|
function openAddLotTypeField(clickEvent) {
|
||||||
const lotTypeId = Number.parseInt(clickEvent.currentTarget.closest(".container--lotType").dataset.lotTypeId, 10);
|
const lotTypeId = Number.parseInt(clickEvent.currentTarget.closest(".container--lotType").dataset
|
||||||
|
.lotTypeId, 10);
|
||||||
let addCloseModalFunction;
|
let addCloseModalFunction;
|
||||||
const doAdd = (submitEvent) => {
|
const doAdd = (submitEvent) => {
|
||||||
submitEvent.preventDefault();
|
submitEvent.preventDefault();
|
||||||
|
|
@ -107,7 +110,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
onshow(modalElement) {
|
onshow(modalElement) {
|
||||||
los.populateAliases(modalElement);
|
los.populateAliases(modalElement);
|
||||||
if (lotTypeId) {
|
if (lotTypeId) {
|
||||||
modalElement.querySelector("#lotTypeFieldAdd--lotTypeId").value = lotTypeId.toString();
|
modalElement.querySelector("#lotTypeFieldAdd--lotTypeId").value =
|
||||||
|
lotTypeId.toString();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onshown(modalElement, closeModalFunction) {
|
onshown(modalElement, closeModalFunction) {
|
||||||
|
|
@ -123,13 +127,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
}
|
}
|
||||||
function moveLotType(clickEvent) {
|
function moveLotType(clickEvent) {
|
||||||
const buttonElement = clickEvent.currentTarget;
|
const buttonElement = clickEvent.currentTarget;
|
||||||
const lotTypeId = buttonElement.closest(".container--lotType").dataset
|
const lotTypeId = buttonElement.closest(".container--lotType").dataset.lotTypeId;
|
||||||
.lotTypeId;
|
|
||||||
cityssm.postJSON(los.urlPrefix +
|
cityssm.postJSON(los.urlPrefix +
|
||||||
"/admin/" +
|
"/admin/" +
|
||||||
(buttonElement.dataset.direction === "up"
|
(buttonElement.dataset.direction === "up" ? "doMoveLotTypeUp" : "doMoveLotTypeDown"), {
|
||||||
? "doMoveLotTypeUp"
|
|
||||||
: "doMoveLotTypeDown"), {
|
|
||||||
lotTypeId,
|
lotTypeId,
|
||||||
moveToEnd: clickEvent.shiftKey ? "1" : "0"
|
moveToEnd: clickEvent.shiftKey ? "1" : "0"
|
||||||
}, lotTypeResponseHandler);
|
}, lotTypeResponseHandler);
|
||||||
|
|
@ -194,9 +195,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
cityssm.openHtmlModal("adminLotTypes-editLotTypeField", {
|
cityssm.openHtmlModal("adminLotTypes-editLotTypeField", {
|
||||||
onshow(modalElement) {
|
onshow(modalElement) {
|
||||||
los.populateAliases(modalElement);
|
los.populateAliases(modalElement);
|
||||||
modalElement.querySelector("#lotTypeFieldEdit--lotTypeFieldId").value = lotTypeField.lotTypeFieldId.toString();
|
modalElement.querySelector("#lotTypeFieldEdit--lotTypeFieldId").value =
|
||||||
modalElement.querySelector("#lotTypeFieldEdit--lotTypeField").value = lotTypeField.lotTypeField;
|
lotTypeField.lotTypeFieldId.toString();
|
||||||
modalElement.querySelector("#lotTypeFieldEdit--isRequired").value = lotTypeField.isRequired ? "1" : "0";
|
modalElement.querySelector("#lotTypeFieldEdit--lotTypeField").value =
|
||||||
|
lotTypeField.lotTypeField;
|
||||||
|
modalElement.querySelector("#lotTypeFieldEdit--isRequired").value =
|
||||||
|
lotTypeField.isRequired ? "1" : "0";
|
||||||
minimumLengthElement = modalElement.querySelector("#lotTypeFieldEdit--minimumLength");
|
minimumLengthElement = modalElement.querySelector("#lotTypeFieldEdit--minimumLength");
|
||||||
minimumLengthElement.value = lotTypeField.minimumLength.toString();
|
minimumLengthElement.value = lotTypeField.minimumLength.toString();
|
||||||
maximumLengthElement = modalElement.querySelector("#lotTypeFieldEdit--maximumLength");
|
maximumLengthElement = modalElement.querySelector("#lotTypeFieldEdit--maximumLength");
|
||||||
|
|
@ -228,14 +232,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
}
|
}
|
||||||
function openEditLotTypeFieldByClick(clickEvent) {
|
function openEditLotTypeFieldByClick(clickEvent) {
|
||||||
clickEvent.preventDefault();
|
clickEvent.preventDefault();
|
||||||
const lotTypeFieldId = Number.parseInt(clickEvent.currentTarget.closest(".container--lotTypeField").dataset.lotTypeFieldId, 10);
|
const lotTypeFieldId = Number.parseInt(clickEvent.currentTarget.closest(".container--lotTypeField")
|
||||||
const lotTypeId = Number.parseInt(clickEvent.currentTarget.closest(".container--lotType").dataset.lotTypeId, 10);
|
.dataset.lotTypeFieldId, 10);
|
||||||
|
const lotTypeId = Number.parseInt(clickEvent.currentTarget.closest(".container--lotType").dataset
|
||||||
|
.lotTypeId, 10);
|
||||||
openEditLotTypeField(lotTypeId, lotTypeFieldId);
|
openEditLotTypeField(lotTypeId, lotTypeFieldId);
|
||||||
}
|
}
|
||||||
function moveLotTypeField(clickEvent) {
|
function moveLotTypeField(clickEvent) {
|
||||||
const buttonElement = clickEvent.currentTarget;
|
const buttonElement = clickEvent.currentTarget;
|
||||||
const lotTypeFieldId = buttonElement.closest(".container--lotTypeField")
|
const lotTypeFieldId = buttonElement.closest(".container--lotTypeField").dataset
|
||||||
.dataset.lotTypeFieldId;
|
.lotTypeFieldId;
|
||||||
cityssm.postJSON(los.urlPrefix +
|
cityssm.postJSON(los.urlPrefix +
|
||||||
"/admin/" +
|
"/admin/" +
|
||||||
(buttonElement.dataset.direction === "up"
|
(buttonElement.dataset.direction === "up"
|
||||||
|
|
@ -373,7 +379,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
title: "Error Adding " + exports.aliases.lot + " Type",
|
title: `Error Adding ${los.escapedAliases.Lot} Type`,
|
||||||
message: responseJSON.errorMessage || "",
|
message: responseJSON.errorMessage || "",
|
||||||
contextualColorName: "danger"
|
contextualColorName: "danger"
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -63,11 +63,8 @@ declare const bulmaJS: BulmaJS;
|
||||||
|
|
||||||
function deleteLotType(clickEvent: Event) {
|
function deleteLotType(clickEvent: Event) {
|
||||||
const lotTypeId = Number.parseInt(
|
const lotTypeId = Number.parseInt(
|
||||||
(
|
((clickEvent.currentTarget as HTMLElement).closest(".container--lotType") as HTMLElement).dataset
|
||||||
(clickEvent.currentTarget as HTMLElement).closest(
|
.lotTypeId!,
|
||||||
".container--lotType"
|
|
||||||
) as HTMLElement
|
|
||||||
).dataset.lotTypeId!,
|
|
||||||
10
|
10
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
@ -94,11 +91,8 @@ declare const bulmaJS: BulmaJS;
|
||||||
|
|
||||||
function openEditLotType(clickEvent: Event) {
|
function openEditLotType(clickEvent: Event) {
|
||||||
const lotTypeId = Number.parseInt(
|
const lotTypeId = Number.parseInt(
|
||||||
(
|
((clickEvent.currentTarget as HTMLElement).closest(".container--lotType") as HTMLElement).dataset
|
||||||
(clickEvent.currentTarget as HTMLElement).closest(
|
.lotTypeId!,
|
||||||
".container--lotType"
|
|
||||||
) as HTMLElement
|
|
||||||
).dataset.lotTypeId!,
|
|
||||||
10
|
10
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
@ -154,11 +148,8 @@ declare const bulmaJS: BulmaJS;
|
||||||
|
|
||||||
function openAddLotTypeField(clickEvent: Event) {
|
function openAddLotTypeField(clickEvent: Event) {
|
||||||
const lotTypeId = Number.parseInt(
|
const lotTypeId = Number.parseInt(
|
||||||
(
|
((clickEvent.currentTarget as HTMLElement).closest(".container--lotType") as HTMLElement).dataset
|
||||||
(clickEvent.currentTarget as HTMLElement).closest(
|
.lotTypeId!,
|
||||||
".container--lotType"
|
|
||||||
) as HTMLElement
|
|
||||||
).dataset.lotTypeId!,
|
|
||||||
10
|
10
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
@ -192,19 +183,14 @@ declare const bulmaJS: BulmaJS;
|
||||||
los.populateAliases(modalElement);
|
los.populateAliases(modalElement);
|
||||||
|
|
||||||
if (lotTypeId) {
|
if (lotTypeId) {
|
||||||
(
|
(modalElement.querySelector("#lotTypeFieldAdd--lotTypeId") as HTMLInputElement).value =
|
||||||
modalElement.querySelector(
|
lotTypeId.toString();
|
||||||
"#lotTypeFieldAdd--lotTypeId"
|
|
||||||
) as HTMLInputElement
|
|
||||||
).value = lotTypeId.toString();
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onshown(modalElement, closeModalFunction) {
|
onshown(modalElement, closeModalFunction) {
|
||||||
addCloseModalFunction = closeModalFunction;
|
addCloseModalFunction = closeModalFunction;
|
||||||
|
|
||||||
(
|
(modalElement.querySelector("#lotTypeFieldAdd--lotTypeField") as HTMLInputElement).focus();
|
||||||
modalElement.querySelector("#lotTypeFieldAdd--lotTypeField") as HTMLInputElement
|
|
||||||
).focus();
|
|
||||||
|
|
||||||
modalElement.querySelector("form")!.addEventListener("submit", doAdd);
|
modalElement.querySelector("form")!.addEventListener("submit", doAdd);
|
||||||
|
|
||||||
|
|
@ -219,15 +205,12 @@ declare const bulmaJS: BulmaJS;
|
||||||
function moveLotType(clickEvent: MouseEvent) {
|
function moveLotType(clickEvent: MouseEvent) {
|
||||||
const buttonElement = clickEvent.currentTarget as HTMLButtonElement;
|
const buttonElement = clickEvent.currentTarget as HTMLButtonElement;
|
||||||
|
|
||||||
const lotTypeId = (buttonElement.closest(".container--lotType") as HTMLElement).dataset
|
const lotTypeId = (buttonElement.closest(".container--lotType") as HTMLElement).dataset.lotTypeId;
|
||||||
.lotTypeId;
|
|
||||||
|
|
||||||
cityssm.postJSON(
|
cityssm.postJSON(
|
||||||
los.urlPrefix +
|
los.urlPrefix +
|
||||||
"/admin/" +
|
"/admin/" +
|
||||||
(buttonElement.dataset.direction === "up"
|
(buttonElement.dataset.direction === "up" ? "doMoveLotTypeUp" : "doMoveLotTypeDown"),
|
||||||
? "doMoveLotTypeUp"
|
|
||||||
: "doMoveLotTypeDown"),
|
|
||||||
{
|
{
|
||||||
lotTypeId,
|
lotTypeId,
|
||||||
moveToEnd: clickEvent.shiftKey ? "1" : "0"
|
moveToEnd: clickEvent.shiftKey ? "1" : "0"
|
||||||
|
|
@ -323,21 +306,14 @@ declare const bulmaJS: BulmaJS;
|
||||||
onshow(modalElement) {
|
onshow(modalElement) {
|
||||||
los.populateAliases(modalElement);
|
los.populateAliases(modalElement);
|
||||||
|
|
||||||
(
|
(modalElement.querySelector("#lotTypeFieldEdit--lotTypeFieldId") as HTMLInputElement).value =
|
||||||
modalElement.querySelector(
|
lotTypeField.lotTypeFieldId.toString();
|
||||||
"#lotTypeFieldEdit--lotTypeFieldId"
|
|
||||||
) as HTMLInputElement
|
|
||||||
).value = lotTypeField.lotTypeFieldId.toString();
|
|
||||||
|
|
||||||
(
|
(modalElement.querySelector("#lotTypeFieldEdit--lotTypeField") as HTMLInputElement).value =
|
||||||
modalElement.querySelector(
|
lotTypeField.lotTypeField!;
|
||||||
"#lotTypeFieldEdit--lotTypeField"
|
|
||||||
) as HTMLInputElement
|
|
||||||
).value = lotTypeField.lotTypeField!;
|
|
||||||
|
|
||||||
(
|
(modalElement.querySelector("#lotTypeFieldEdit--isRequired") as HTMLSelectElement).value =
|
||||||
modalElement.querySelector("#lotTypeFieldEdit--isRequired") as HTMLSelectElement
|
lotTypeField.isRequired ? "1" : "0";
|
||||||
).value = lotTypeField.isRequired ? "1" : "0";
|
|
||||||
|
|
||||||
minimumLengthElement = modalElement.querySelector(
|
minimumLengthElement = modalElement.querySelector(
|
||||||
"#lotTypeFieldEdit--minimumLength"
|
"#lotTypeFieldEdit--minimumLength"
|
||||||
|
|
@ -351,9 +327,7 @@ declare const bulmaJS: BulmaJS;
|
||||||
|
|
||||||
maximumLengthElement.value = lotTypeField.maximumLength!.toString();
|
maximumLengthElement.value = lotTypeField.maximumLength!.toString();
|
||||||
|
|
||||||
patternElement = modalElement.querySelector(
|
patternElement = modalElement.querySelector("#lotTypeFieldEdit--pattern") as HTMLInputElement;
|
||||||
"#lotTypeFieldEdit--pattern"
|
|
||||||
) as HTMLInputElement;
|
|
||||||
|
|
||||||
patternElement.value = lotTypeField.pattern!;
|
patternElement.value = lotTypeField.pattern!;
|
||||||
|
|
||||||
|
|
@ -394,20 +368,14 @@ declare const bulmaJS: BulmaJS;
|
||||||
clickEvent.preventDefault();
|
clickEvent.preventDefault();
|
||||||
|
|
||||||
const lotTypeFieldId = Number.parseInt(
|
const lotTypeFieldId = Number.parseInt(
|
||||||
(
|
((clickEvent.currentTarget as HTMLElement).closest(".container--lotTypeField") as HTMLElement)
|
||||||
(clickEvent.currentTarget as HTMLElement).closest(
|
.dataset.lotTypeFieldId!,
|
||||||
".container--lotTypeField"
|
|
||||||
) as HTMLElement
|
|
||||||
).dataset.lotTypeFieldId!,
|
|
||||||
10
|
10
|
||||||
);
|
);
|
||||||
|
|
||||||
const lotTypeId = Number.parseInt(
|
const lotTypeId = Number.parseInt(
|
||||||
(
|
((clickEvent.currentTarget as HTMLElement).closest(".container--lotType") as HTMLElement).dataset
|
||||||
(clickEvent.currentTarget as HTMLElement).closest(
|
.lotTypeId!,
|
||||||
".container--lotType"
|
|
||||||
) as HTMLElement
|
|
||||||
).dataset.lotTypeId!,
|
|
||||||
10
|
10
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
@ -417,8 +385,8 @@ declare const bulmaJS: BulmaJS;
|
||||||
function moveLotTypeField(clickEvent: MouseEvent) {
|
function moveLotTypeField(clickEvent: MouseEvent) {
|
||||||
const buttonElement = clickEvent.currentTarget as HTMLButtonElement;
|
const buttonElement = clickEvent.currentTarget as HTMLButtonElement;
|
||||||
|
|
||||||
const lotTypeFieldId = (buttonElement.closest(".container--lotTypeField") as HTMLElement)
|
const lotTypeFieldId = (buttonElement.closest(".container--lotTypeField") as HTMLElement).dataset
|
||||||
.dataset.lotTypeFieldId;
|
.lotTypeFieldId;
|
||||||
|
|
||||||
cityssm.postJSON(
|
cityssm.postJSON(
|
||||||
los.urlPrefix +
|
los.urlPrefix +
|
||||||
|
|
@ -485,15 +453,11 @@ declare const bulmaJS: BulmaJS;
|
||||||
.addEventListener("click", openEditLotTypeFieldByClick);
|
.addEventListener("click", openEditLotTypeFieldByClick);
|
||||||
|
|
||||||
(
|
(
|
||||||
panelBlockElement.querySelector(
|
panelBlockElement.querySelector(".button--moveLotTypeFieldUp") as HTMLButtonElement
|
||||||
".button--moveLotTypeFieldUp"
|
|
||||||
) as HTMLButtonElement
|
|
||||||
).addEventListener("click", moveLotTypeField);
|
).addEventListener("click", moveLotTypeField);
|
||||||
|
|
||||||
(
|
(
|
||||||
panelBlockElement.querySelector(
|
panelBlockElement.querySelector(".button--moveLotTypeFieldDown") as HTMLButtonElement
|
||||||
".button--moveLotTypeFieldDown"
|
|
||||||
) as HTMLButtonElement
|
|
||||||
).addEventListener("click", moveLotTypeField);
|
).addEventListener("click", moveLotTypeField);
|
||||||
|
|
||||||
panelElement.append(panelBlockElement);
|
panelElement.append(panelBlockElement);
|
||||||
|
|
@ -561,10 +525,7 @@ declare const bulmaJS: BulmaJS;
|
||||||
"</button>" +
|
"</button>" +
|
||||||
"</div>") +
|
"</div>") +
|
||||||
('<div class="level-item">' +
|
('<div class="level-item">' +
|
||||||
los.getMoveUpDownButtonFieldHTML(
|
los.getMoveUpDownButtonFieldHTML("button--moveLotTypeUp", "button--moveLotTypeDown") +
|
||||||
"button--moveLotTypeUp",
|
|
||||||
"button--moveLotTypeDown"
|
|
||||||
) +
|
|
||||||
"</div>") +
|
"</div>") +
|
||||||
"</div>") +
|
"</div>") +
|
||||||
"</div>" +
|
"</div>" +
|
||||||
|
|
@ -588,9 +549,10 @@ declare const bulmaJS: BulmaJS;
|
||||||
.querySelector(".button--addLotTypeField")!
|
.querySelector(".button--addLotTypeField")!
|
||||||
.addEventListener("click", openAddLotTypeField);
|
.addEventListener("click", openAddLotTypeField);
|
||||||
|
|
||||||
(
|
(lotTypeContainer.querySelector(".button--moveLotTypeUp") as HTMLButtonElement).addEventListener(
|
||||||
lotTypeContainer.querySelector(".button--moveLotTypeUp") as HTMLButtonElement
|
"click",
|
||||||
).addEventListener("click", moveLotType);
|
moveLotType
|
||||||
|
);
|
||||||
|
|
||||||
(
|
(
|
||||||
lotTypeContainer.querySelector(".button--moveLotTypeDown") as HTMLButtonElement
|
lotTypeContainer.querySelector(".button--moveLotTypeDown") as HTMLButtonElement
|
||||||
|
|
@ -620,7 +582,7 @@ declare const bulmaJS: BulmaJS;
|
||||||
renderLotTypes();
|
renderLotTypes();
|
||||||
} else {
|
} else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
title: "Error Adding " + exports.aliases.lot + " Type",
|
title: `Error Adding ${los.escapedAliases.Lot} Type`,
|
||||||
message: responseJSON.errorMessage || "",
|
message: responseJSON.errorMessage || "",
|
||||||
contextualColorName: "danger"
|
contextualColorName: "danger"
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -5,12 +5,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||||
const los = exports.los;
|
const los = exports.los;
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||||
const refreshFontAwesomeIcon = (changeEvent) => {
|
function refreshFontAwesomeIcon(changeEvent) {
|
||||||
const inputElement = changeEvent.currentTarget;
|
const inputElement = changeEvent.currentTarget;
|
||||||
const fontAwesomeIconClass = inputElement.value;
|
const fontAwesomeIconClass = inputElement.value;
|
||||||
inputElement.closest(".field").querySelectorAll(".button.is-static")[1].innerHTML =
|
inputElement
|
||||||
'<i class="fas fa-fw fa-' + fontAwesomeIconClass + '" aria-hidden="true"></i>';
|
.closest(".field")
|
||||||
};
|
.querySelectorAll(".button.is-static")[1].innerHTML = `<i class="fas fa-fw fa-${fontAwesomeIconClass}" aria-hidden="true"></i>`;
|
||||||
|
}
|
||||||
"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 */
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
|
@ -66,8 +67,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
};
|
};
|
||||||
bulmaJS.confirm({
|
bulmaJS.confirm({
|
||||||
title: "Delete Work Order Type",
|
title: "Delete Work Order Type",
|
||||||
message: "Are you sure you want to delete this work order type?<br />" +
|
message: `Are you sure you want to delete this work order type?<br />
|
||||||
"Note that no work orders will be removed.",
|
Note that no work orders will be removed.`,
|
||||||
messageIsHtml: true,
|
messageIsHtml: true,
|
||||||
contextualColorName: "warning",
|
contextualColorName: "warning",
|
||||||
okButton: {
|
okButton: {
|
||||||
|
|
@ -82,9 +83,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
const workOrderTypeId = tableRowElement.dataset.workOrderTypeId;
|
const workOrderTypeId = tableRowElement.dataset.workOrderTypeId;
|
||||||
cityssm.postJSON(los.urlPrefix +
|
cityssm.postJSON(los.urlPrefix +
|
||||||
"/admin/" +
|
"/admin/" +
|
||||||
(buttonElement.dataset.direction === "up"
|
(buttonElement.dataset.direction === "up" ? "doMoveWorkOrderTypeUp" : "doMoveWorkOrderTypeDown"), {
|
||||||
? "doMoveWorkOrderTypeUp"
|
|
||||||
: "doMoveWorkOrderTypeDown"), {
|
|
||||||
workOrderTypeId,
|
workOrderTypeId,
|
||||||
moveToEnd: clickEvent.shiftKey ? "1" : "0"
|
moveToEnd: clickEvent.shiftKey ? "1" : "0"
|
||||||
}, (responseJSON) => {
|
}, (responseJSON) => {
|
||||||
|
|
@ -104,14 +103,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
const renderWorkOrderTypes = () => {
|
const renderWorkOrderTypes = () => {
|
||||||
const containerElement = document.querySelector("#container--workOrderTypes");
|
const containerElement = document.querySelector("#container--workOrderTypes");
|
||||||
if (workOrderTypes.length === 0) {
|
if (workOrderTypes.length === 0) {
|
||||||
containerElement.innerHTML =
|
containerElement.innerHTML = `<tr><td colspan="2">
|
||||||
"<tr>" +
|
<div class="message is-warning"><p class="message-body">There are no active work order types.</p></div>
|
||||||
'<td colspan="2">' +
|
</td></tr>`;
|
||||||
'<div class="message is-warning">' +
|
|
||||||
'<p class="message-body">There are no active work order types.</p>' +
|
|
||||||
"</div>" +
|
|
||||||
"</td>" +
|
|
||||||
"</tr>";
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
containerElement.innerHTML = "";
|
containerElement.innerHTML = "";
|
||||||
|
|
@ -233,8 +227,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
};
|
};
|
||||||
bulmaJS.confirm({
|
bulmaJS.confirm({
|
||||||
title: "Delete Work Order Milestone Type",
|
title: "Delete Work Order Milestone Type",
|
||||||
message: "Are you sure you want to delete this work order milestone type?<br />" +
|
message: `Are you sure you want to delete this work order milestone type?<br />
|
||||||
"Note that no work orders will be removed.",
|
Note that no work orders will be removed.`,
|
||||||
messageIsHtml: true,
|
messageIsHtml: true,
|
||||||
contextualColorName: "warning",
|
contextualColorName: "warning",
|
||||||
okButton: {
|
okButton: {
|
||||||
|
|
@ -271,14 +265,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
const renderWorkOrderMilestoneTypes = () => {
|
const renderWorkOrderMilestoneTypes = () => {
|
||||||
const containerElement = document.querySelector("#container--workOrderMilestoneTypes");
|
const containerElement = document.querySelector("#container--workOrderMilestoneTypes");
|
||||||
if (workOrderMilestoneTypes.length === 0) {
|
if (workOrderMilestoneTypes.length === 0) {
|
||||||
containerElement.innerHTML =
|
containerElement.innerHTML = `<tr><td colspan="2">
|
||||||
"<tr>" +
|
<div class="message is-warning"><p class="message-body">There are no active work order milestone types.</p></div>
|
||||||
'<td colspan="2">' +
|
</td></tr>`;
|
||||||
'<div class="message is-warning">' +
|
|
||||||
'<p class="message-body">There are no active work order milestone types.</p>' +
|
|
||||||
"</div>" +
|
|
||||||
"</td>" +
|
|
||||||
"</tr>";
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
containerElement.innerHTML = "";
|
containerElement.innerHTML = "";
|
||||||
|
|
@ -357,13 +346,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
if (responseJSON.success) {
|
if (responseJSON.success) {
|
||||||
lotStatuses = responseJSON.lotStatuses;
|
lotStatuses = responseJSON.lotStatuses;
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
message: exports.aliases.lot + " Status Updated Successfully",
|
message: los.escapedAliases.Lot + " Status Updated Successfully",
|
||||||
contextualColorName: "success"
|
contextualColorName: "success"
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
title: "Error Updating " + exports.aliases.lot + " Status",
|
title: "Error Updating " + los.escapedAliases.Lot + " Status",
|
||||||
message: responseJSON.errorMessage || "",
|
message: responseJSON.errorMessage || "",
|
||||||
contextualColorName: "danger"
|
contextualColorName: "danger"
|
||||||
});
|
});
|
||||||
|
|
@ -386,13 +375,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
tableRowElement.remove();
|
tableRowElement.remove();
|
||||||
}
|
}
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
message: exports.aliases.lot + " Status Deleted Successfully",
|
message: los.escapedAliases.Lot + " Status Deleted Successfully",
|
||||||
contextualColorName: "success"
|
contextualColorName: "success"
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
title: "Error Deleting " + exports.aliases.lot + " Status",
|
title: "Error Deleting " + los.escapedAliases.Lot + " Status",
|
||||||
message: responseJSON.errorMessage || "",
|
message: responseJSON.errorMessage || "",
|
||||||
contextualColorName: "danger"
|
contextualColorName: "danger"
|
||||||
});
|
});
|
||||||
|
|
@ -400,11 +389,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
bulmaJS.confirm({
|
bulmaJS.confirm({
|
||||||
title: "Delete " + exports.aliases.lot + " Status",
|
title: `Delete ${los.escapedAliases.Lot} Status`,
|
||||||
message: "Are you sure you want to delete this status?<br />" +
|
message: `Are you sure you want to delete this status?<br />
|
||||||
"Note that no " +
|
Note that no ${los.escapedAliases.lot} will be removed.`,
|
||||||
exports.aliases.lots.toLowerCase() +
|
|
||||||
" will be removed.",
|
|
||||||
messageIsHtml: true,
|
messageIsHtml: true,
|
||||||
contextualColorName: "warning",
|
contextualColorName: "warning",
|
||||||
okButton: {
|
okButton: {
|
||||||
|
|
@ -419,9 +406,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
const lotStatusId = tableRowElement.dataset.lotStatusId;
|
const lotStatusId = tableRowElement.dataset.lotStatusId;
|
||||||
cityssm.postJSON(los.urlPrefix +
|
cityssm.postJSON(los.urlPrefix +
|
||||||
"/admin/" +
|
"/admin/" +
|
||||||
(buttonElement.dataset.direction === "up"
|
(buttonElement.dataset.direction === "up" ? "doMoveLotStatusUp" : "doMoveLotStatusDown"), {
|
||||||
? "doMoveLotStatusUp"
|
|
||||||
: "doMoveLotStatusDown"), {
|
|
||||||
lotStatusId,
|
lotStatusId,
|
||||||
moveToEnd: clickEvent.shiftKey ? "1" : "0"
|
moveToEnd: clickEvent.shiftKey ? "1" : "0"
|
||||||
}, (responseJSON) => {
|
}, (responseJSON) => {
|
||||||
|
|
@ -441,16 +426,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
const renderLotStatuses = () => {
|
const renderLotStatuses = () => {
|
||||||
const containerElement = document.querySelector("#container--lotStatuses");
|
const containerElement = document.querySelector("#container--lotStatuses");
|
||||||
if (lotStatuses.length === 0) {
|
if (lotStatuses.length === 0) {
|
||||||
containerElement.innerHTML =
|
containerElement.innerHTML = `<tr><td colspan="2">
|
||||||
"<tr>" +
|
<div class="message is-warning"><p class="message-body">There are no active ${los.escapedAliases.lot} statuses.</p></div>
|
||||||
'<td colspan="2">' +
|
</td></tr>`;
|
||||||
'<div class="message is-warning">' +
|
|
||||||
'<p class="message-body">There are no active ' +
|
|
||||||
cityssm.escapeHTML(exports.aliases.lot.toLowerCase()) +
|
|
||||||
" statuses.</p>" +
|
|
||||||
"</div>" +
|
|
||||||
"</td>" +
|
|
||||||
"</tr>";
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
containerElement.innerHTML = "";
|
containerElement.innerHTML = "";
|
||||||
|
|
@ -491,9 +469,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
tableRowElement.querySelector("form").addEventListener("submit", updateLotStatus);
|
tableRowElement.querySelector("form").addEventListener("submit", updateLotStatus);
|
||||||
tableRowElement.querySelector(".button--moveLotStatusUp").addEventListener("click", moveLotStatus);
|
tableRowElement.querySelector(".button--moveLotStatusUp").addEventListener("click", moveLotStatus);
|
||||||
tableRowElement.querySelector(".button--moveLotStatusDown").addEventListener("click", moveLotStatus);
|
tableRowElement.querySelector(".button--moveLotStatusDown").addEventListener("click", moveLotStatus);
|
||||||
tableRowElement
|
tableRowElement.querySelector(".button--deleteLotStatus").addEventListener("click", deleteLotStatus);
|
||||||
.querySelector(".button--deleteLotStatus")
|
|
||||||
.addEventListener("click", deleteLotStatus);
|
|
||||||
containerElement.append(tableRowElement);
|
containerElement.append(tableRowElement);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
@ -509,7 +485,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
title: "Error Adding " + exports.aliases.lot + " Status",
|
title: `Error Adding ${los.escapedAliases.Lot} Status`,
|
||||||
message: responseJSON.errorMessage || "",
|
message: responseJSON.errorMessage || "",
|
||||||
contextualColorName: "danger"
|
contextualColorName: "danger"
|
||||||
});
|
});
|
||||||
|
|
@ -529,20 +505,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
if (responseJSON.success) {
|
if (responseJSON.success) {
|
||||||
lotOccupantTypes = responseJSON.lotOccupantTypes;
|
lotOccupantTypes = responseJSON.lotOccupantTypes;
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
message: exports.aliases.lot +
|
message: `${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type Updated Successfully`,
|
||||||
" " +
|
|
||||||
exports.aliases.occupant +
|
|
||||||
" Type Updated Successfully",
|
|
||||||
contextualColorName: "success"
|
contextualColorName: "success"
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
title: "Error Updating " +
|
title: `Error Updating ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`,
|
||||||
exports.aliases.lot +
|
|
||||||
" " +
|
|
||||||
exports.aliases.occupant +
|
|
||||||
" Type",
|
|
||||||
message: responseJSON.errorMessage || "",
|
message: responseJSON.errorMessage || "",
|
||||||
contextualColorName: "danger"
|
contextualColorName: "danger"
|
||||||
});
|
});
|
||||||
|
|
@ -565,20 +534,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
tableRowElement.remove();
|
tableRowElement.remove();
|
||||||
}
|
}
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
message: exports.aliases.lot +
|
message: `${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type Deleted Successfully`,
|
||||||
" " +
|
|
||||||
exports.aliases.occupant +
|
|
||||||
" Type Deleted Successfully",
|
|
||||||
contextualColorName: "success"
|
contextualColorName: "success"
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
title: "Error Deleting " +
|
title: `Error Deleting ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`,
|
||||||
exports.aliases.lot +
|
|
||||||
" " +
|
|
||||||
exports.aliases.occupant +
|
|
||||||
" Type",
|
|
||||||
message: responseJSON.errorMessage || "",
|
message: responseJSON.errorMessage || "",
|
||||||
contextualColorName: "danger"
|
contextualColorName: "danger"
|
||||||
});
|
});
|
||||||
|
|
@ -586,21 +548,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
bulmaJS.confirm({
|
bulmaJS.confirm({
|
||||||
title: "Delete " + exports.aliases.lot + " " + exports.aliases.occupant + " Type",
|
title: `Delete ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`,
|
||||||
message: "Are you sure you want to delete this " +
|
message: `Are you sure you want to delete this ${los.escapedAliases.lot} ${los.escapedAliases.occupant} type?<br />
|
||||||
exports.aliases.lot.toLowerCase() +
|
Note that no ${los.escapedAliases.lot} ${los.escapedAliases.occupants} will be removed.`,
|
||||||
" " +
|
|
||||||
exports.aliases.occupant.toLowerCase() +
|
|
||||||
" type?<br />" +
|
|
||||||
"Note that no " +
|
|
||||||
exports.aliases.lot.toLowerCase() +
|
|
||||||
" " +
|
|
||||||
exports.aliases.occupancy.toLowerCase() +
|
|
||||||
" will be removed.",
|
|
||||||
messageIsHtml: true,
|
messageIsHtml: true,
|
||||||
contextualColorName: "warning",
|
contextualColorName: "warning",
|
||||||
okButton: {
|
okButton: {
|
||||||
text: "Yes, Delete " + exports.aliases.lot + " " + exports.aliases.occupant + " Type",
|
text: `Yes, Delete ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`,
|
||||||
callbackFunction: doDelete
|
callbackFunction: doDelete
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
@ -623,11 +577,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
title: "Error Moving " +
|
title: `Error Moving ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`,
|
||||||
exports.aliases.lot +
|
|
||||||
" " +
|
|
||||||
exports.aliases.occupant +
|
|
||||||
" Type",
|
|
||||||
message: responseJSON.errorMessage || "",
|
message: responseJSON.errorMessage || "",
|
||||||
contextualColorName: "danger"
|
contextualColorName: "danger"
|
||||||
});
|
});
|
||||||
|
|
@ -637,18 +587,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
const renderLotOccupantTypes = () => {
|
const renderLotOccupantTypes = () => {
|
||||||
const containerElement = document.querySelector("#container--lotOccupantTypes");
|
const containerElement = document.querySelector("#container--lotOccupantTypes");
|
||||||
if (lotOccupantTypes.length === 0) {
|
if (lotOccupantTypes.length === 0) {
|
||||||
containerElement.innerHTML =
|
containerElement.innerHTML = `<tr><td colspan="3">
|
||||||
"<tr>" +
|
<div class="message is-warning"><p class="message-body">There are no active ${los.escapedAliases.lot} ${los.escapedAliases.occupant} types.</p></div>
|
||||||
'<td colspan="3">' +
|
</td></tr>`;
|
||||||
'<div class="message is-warning">' +
|
|
||||||
'<p class="message-body">There are no active ' +
|
|
||||||
cityssm.escapeHTML(exports.aliases.lot.toLowerCase()) +
|
|
||||||
" " +
|
|
||||||
cityssm.escapeHTML(exports.aliases.occupant.toLowerCase()) +
|
|
||||||
" types.</p>" +
|
|
||||||
"</div>" +
|
|
||||||
"</td>" +
|
|
||||||
"</tr>";
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
containerElement.innerHTML = "";
|
containerElement.innerHTML = "";
|
||||||
|
|
@ -703,14 +644,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
'<div class="control">' +
|
'<div class="control">' +
|
||||||
'<button class="button is-danger is-light button--deleteLotOccupantType"' +
|
'<button class="button is-danger is-light button--deleteLotOccupantType"' +
|
||||||
' data-tooltip="Delete ' +
|
' data-tooltip="Delete ' +
|
||||||
cityssm.escapeHTML(exports.aliases.lot) +
|
los.escapedAliases.Lot +
|
||||||
" " +
|
" " +
|
||||||
cityssm.escapeHTML(exports.aliases.occupant) +
|
los.escapedAliases.Occupant +
|
||||||
' Type" type="button"' +
|
' Type" type="button"' +
|
||||||
' aria-label="Delete ' +
|
' aria-label="Delete ' +
|
||||||
cityssm.escapeHTML(exports.aliases.lot) +
|
los.escapedAliases.Lot +
|
||||||
" " +
|
" " +
|
||||||
cityssm.escapeHTML(exports.aliases.occupant) +
|
los.escapedAliases.Occupant +
|
||||||
' Type">' +
|
' Type">' +
|
||||||
'<i class="fas fa-trash" aria-hidden="true"></i>' +
|
'<i class="fas fa-trash" aria-hidden="true"></i>' +
|
||||||
"</button>" +
|
"</button>" +
|
||||||
|
|
@ -741,11 +682,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
title: "Error Adding " +
|
title: `Error Adding ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`,
|
||||||
exports.aliases.lot +
|
|
||||||
" " +
|
|
||||||
exports.aliases.occupant +
|
|
||||||
" Type",
|
|
||||||
message: responseJSON.errorMessage || "",
|
message: responseJSON.errorMessage || "",
|
||||||
contextualColorName: "danger"
|
contextualColorName: "danger"
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -5,12 +5,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||||
const los = exports.los;
|
const los = exports.los;
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||||
const refreshFontAwesomeIcon = (changeEvent) => {
|
function refreshFontAwesomeIcon(changeEvent) {
|
||||||
const inputElement = changeEvent.currentTarget;
|
const inputElement = changeEvent.currentTarget;
|
||||||
const fontAwesomeIconClass = inputElement.value;
|
const fontAwesomeIconClass = inputElement.value;
|
||||||
inputElement.closest(".field").querySelectorAll(".button.is-static")[1].innerHTML =
|
inputElement
|
||||||
'<i class="fas fa-fw fa-' + fontAwesomeIconClass + '" aria-hidden="true"></i>';
|
.closest(".field")
|
||||||
};
|
.querySelectorAll(".button.is-static")[1].innerHTML = `<i class="fas fa-fw fa-${fontAwesomeIconClass}" aria-hidden="true"></i>`;
|
||||||
|
}
|
||||||
//=include adminTablesWorkOrderTypes.js
|
//=include adminTablesWorkOrderTypes.js
|
||||||
//=include adminTablesWorkOrderMilestoneTypes.js
|
//=include adminTablesWorkOrderMilestoneTypes.js
|
||||||
//=include adminTablesLotStatuses.js
|
//=include adminTablesLotStatuses.js
|
||||||
|
|
|
||||||
|
|
@ -7,14 +7,17 @@ import type * as globalTypes from "../../types/globalTypes";
|
||||||
const los = exports.los as globalTypes.LOS;
|
const los = exports.los as globalTypes.LOS;
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||||
const refreshFontAwesomeIcon = (changeEvent: Event) => {
|
function refreshFontAwesomeIcon(changeEvent: Event) {
|
||||||
const inputElement = changeEvent.currentTarget as HTMLInputElement;
|
const inputElement = changeEvent.currentTarget as HTMLInputElement;
|
||||||
|
|
||||||
const fontAwesomeIconClass = inputElement.value;
|
const fontAwesomeIconClass = inputElement.value;
|
||||||
|
|
||||||
inputElement.closest(".field")!.querySelectorAll(".button.is-static")[1].innerHTML =
|
inputElement
|
||||||
'<i class="fas fa-fw fa-' + fontAwesomeIconClass + '" aria-hidden="true"></i>';
|
.closest(".field")!
|
||||||
};
|
.querySelectorAll(
|
||||||
|
".button.is-static"
|
||||||
|
)[1].innerHTML = `<i class="fas fa-fw fa-${fontAwesomeIconClass}" aria-hidden="true"></i>`;
|
||||||
|
}
|
||||||
|
|
||||||
//=include adminTablesWorkOrderTypes.js
|
//=include adminTablesWorkOrderTypes.js
|
||||||
//=include adminTablesWorkOrderMilestoneTypes.js
|
//=include adminTablesWorkOrderMilestoneTypes.js
|
||||||
|
|
|
||||||
|
|
@ -9,20 +9,13 @@ const updateLotOccupantType = (submitEvent) => {
|
||||||
if (responseJSON.success) {
|
if (responseJSON.success) {
|
||||||
lotOccupantTypes = responseJSON.lotOccupantTypes;
|
lotOccupantTypes = responseJSON.lotOccupantTypes;
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
message: exports.aliases.lot +
|
message: `${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type Updated Successfully`,
|
||||||
" " +
|
|
||||||
exports.aliases.occupant +
|
|
||||||
" Type Updated Successfully",
|
|
||||||
contextualColorName: "success"
|
contextualColorName: "success"
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
title: "Error Updating " +
|
title: `Error Updating ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`,
|
||||||
exports.aliases.lot +
|
|
||||||
" " +
|
|
||||||
exports.aliases.occupant +
|
|
||||||
" Type",
|
|
||||||
message: responseJSON.errorMessage || "",
|
message: responseJSON.errorMessage || "",
|
||||||
contextualColorName: "danger"
|
contextualColorName: "danger"
|
||||||
});
|
});
|
||||||
|
|
@ -45,20 +38,13 @@ const deleteLotOccupantType = (clickEvent) => {
|
||||||
tableRowElement.remove();
|
tableRowElement.remove();
|
||||||
}
|
}
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
message: exports.aliases.lot +
|
message: `${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type Deleted Successfully`,
|
||||||
" " +
|
|
||||||
exports.aliases.occupant +
|
|
||||||
" Type Deleted Successfully",
|
|
||||||
contextualColorName: "success"
|
contextualColorName: "success"
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
title: "Error Deleting " +
|
title: `Error Deleting ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`,
|
||||||
exports.aliases.lot +
|
|
||||||
" " +
|
|
||||||
exports.aliases.occupant +
|
|
||||||
" Type",
|
|
||||||
message: responseJSON.errorMessage || "",
|
message: responseJSON.errorMessage || "",
|
||||||
contextualColorName: "danger"
|
contextualColorName: "danger"
|
||||||
});
|
});
|
||||||
|
|
@ -66,21 +52,13 @@ const deleteLotOccupantType = (clickEvent) => {
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
bulmaJS.confirm({
|
bulmaJS.confirm({
|
||||||
title: "Delete " + exports.aliases.lot + " " + exports.aliases.occupant + " Type",
|
title: `Delete ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`,
|
||||||
message: "Are you sure you want to delete this " +
|
message: `Are you sure you want to delete this ${los.escapedAliases.lot} ${los.escapedAliases.occupant} type?<br />
|
||||||
exports.aliases.lot.toLowerCase() +
|
Note that no ${los.escapedAliases.lot} ${los.escapedAliases.occupants} will be removed.`,
|
||||||
" " +
|
|
||||||
exports.aliases.occupant.toLowerCase() +
|
|
||||||
" type?<br />" +
|
|
||||||
"Note that no " +
|
|
||||||
exports.aliases.lot.toLowerCase() +
|
|
||||||
" " +
|
|
||||||
exports.aliases.occupancy.toLowerCase() +
|
|
||||||
" will be removed.",
|
|
||||||
messageIsHtml: true,
|
messageIsHtml: true,
|
||||||
contextualColorName: "warning",
|
contextualColorName: "warning",
|
||||||
okButton: {
|
okButton: {
|
||||||
text: "Yes, Delete " + exports.aliases.lot + " " + exports.aliases.occupant + " Type",
|
text: `Yes, Delete ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`,
|
||||||
callbackFunction: doDelete
|
callbackFunction: doDelete
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
@ -103,11 +81,7 @@ const moveLotOccupantType = (clickEvent) => {
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
title: "Error Moving " +
|
title: `Error Moving ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`,
|
||||||
exports.aliases.lot +
|
|
||||||
" " +
|
|
||||||
exports.aliases.occupant +
|
|
||||||
" Type",
|
|
||||||
message: responseJSON.errorMessage || "",
|
message: responseJSON.errorMessage || "",
|
||||||
contextualColorName: "danger"
|
contextualColorName: "danger"
|
||||||
});
|
});
|
||||||
|
|
@ -117,18 +91,9 @@ const moveLotOccupantType = (clickEvent) => {
|
||||||
const renderLotOccupantTypes = () => {
|
const renderLotOccupantTypes = () => {
|
||||||
const containerElement = document.querySelector("#container--lotOccupantTypes");
|
const containerElement = document.querySelector("#container--lotOccupantTypes");
|
||||||
if (lotOccupantTypes.length === 0) {
|
if (lotOccupantTypes.length === 0) {
|
||||||
containerElement.innerHTML =
|
containerElement.innerHTML = `<tr><td colspan="3">
|
||||||
"<tr>" +
|
<div class="message is-warning"><p class="message-body">There are no active ${los.escapedAliases.lot} ${los.escapedAliases.occupant} types.</p></div>
|
||||||
'<td colspan="3">' +
|
</td></tr>`;
|
||||||
'<div class="message is-warning">' +
|
|
||||||
'<p class="message-body">There are no active ' +
|
|
||||||
cityssm.escapeHTML(exports.aliases.lot.toLowerCase()) +
|
|
||||||
" " +
|
|
||||||
cityssm.escapeHTML(exports.aliases.occupant.toLowerCase()) +
|
|
||||||
" types.</p>" +
|
|
||||||
"</div>" +
|
|
||||||
"</td>" +
|
|
||||||
"</tr>";
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
containerElement.innerHTML = "";
|
containerElement.innerHTML = "";
|
||||||
|
|
@ -183,14 +148,14 @@ const renderLotOccupantTypes = () => {
|
||||||
'<div class="control">' +
|
'<div class="control">' +
|
||||||
'<button class="button is-danger is-light button--deleteLotOccupantType"' +
|
'<button class="button is-danger is-light button--deleteLotOccupantType"' +
|
||||||
' data-tooltip="Delete ' +
|
' data-tooltip="Delete ' +
|
||||||
cityssm.escapeHTML(exports.aliases.lot) +
|
los.escapedAliases.Lot +
|
||||||
" " +
|
" " +
|
||||||
cityssm.escapeHTML(exports.aliases.occupant) +
|
los.escapedAliases.Occupant +
|
||||||
' Type" type="button"' +
|
' Type" type="button"' +
|
||||||
' aria-label="Delete ' +
|
' aria-label="Delete ' +
|
||||||
cityssm.escapeHTML(exports.aliases.lot) +
|
los.escapedAliases.Lot +
|
||||||
" " +
|
" " +
|
||||||
cityssm.escapeHTML(exports.aliases.occupant) +
|
los.escapedAliases.Occupant +
|
||||||
' Type">' +
|
' Type">' +
|
||||||
'<i class="fas fa-trash" aria-hidden="true"></i>' +
|
'<i class="fas fa-trash" aria-hidden="true"></i>' +
|
||||||
"</button>" +
|
"</button>" +
|
||||||
|
|
@ -221,11 +186,7 @@ document.querySelector("#form--addLotOccupantType").addEventListener("submit", (
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
title: "Error Adding " +
|
title: `Error Adding ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`,
|
||||||
exports.aliases.lot +
|
|
||||||
" " +
|
|
||||||
exports.aliases.occupant +
|
|
||||||
" Type",
|
|
||||||
message: responseJSON.errorMessage || "",
|
message: responseJSON.errorMessage || "",
|
||||||
contextualColorName: "danger"
|
contextualColorName: "danger"
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -31,21 +31,12 @@ const updateLotOccupantType = (submitEvent: SubmitEvent) => {
|
||||||
lotOccupantTypes = responseJSON.lotOccupantTypes!;
|
lotOccupantTypes = responseJSON.lotOccupantTypes!;
|
||||||
|
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
message:
|
message: `${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type Updated Successfully`,
|
||||||
exports.aliases.lot +
|
|
||||||
" " +
|
|
||||||
exports.aliases.occupant +
|
|
||||||
" Type Updated Successfully",
|
|
||||||
contextualColorName: "success"
|
contextualColorName: "success"
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
title:
|
title: `Error Updating ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`,
|
||||||
"Error Updating " +
|
|
||||||
exports.aliases.lot +
|
|
||||||
" " +
|
|
||||||
exports.aliases.occupant +
|
|
||||||
" Type",
|
|
||||||
message: responseJSON.errorMessage || "",
|
message: responseJSON.errorMessage || "",
|
||||||
contextualColorName: "danger"
|
contextualColorName: "danger"
|
||||||
});
|
});
|
||||||
|
|
@ -80,21 +71,12 @@ const deleteLotOccupantType = (clickEvent: Event) => {
|
||||||
}
|
}
|
||||||
|
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
message:
|
message: `${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type Deleted Successfully`,
|
||||||
exports.aliases.lot +
|
|
||||||
" " +
|
|
||||||
exports.aliases.occupant +
|
|
||||||
" Type Deleted Successfully",
|
|
||||||
contextualColorName: "success"
|
contextualColorName: "success"
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
title:
|
title: `Error Deleting ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`,
|
||||||
"Error Deleting " +
|
|
||||||
exports.aliases.lot +
|
|
||||||
" " +
|
|
||||||
exports.aliases.occupant +
|
|
||||||
" Type",
|
|
||||||
message: responseJSON.errorMessage || "",
|
message: responseJSON.errorMessage || "",
|
||||||
contextualColorName: "danger"
|
contextualColorName: "danger"
|
||||||
});
|
});
|
||||||
|
|
@ -104,22 +86,13 @@ const deleteLotOccupantType = (clickEvent: Event) => {
|
||||||
};
|
};
|
||||||
|
|
||||||
bulmaJS.confirm({
|
bulmaJS.confirm({
|
||||||
title: "Delete " + exports.aliases.lot + " " + exports.aliases.occupant + " Type",
|
title: `Delete ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`,
|
||||||
message:
|
message: `Are you sure you want to delete this ${los.escapedAliases.lot} ${los.escapedAliases.occupant} type?<br />
|
||||||
"Are you sure you want to delete this " +
|
Note that no ${los.escapedAliases.lot} ${los.escapedAliases.occupants} will be removed.`,
|
||||||
exports.aliases.lot.toLowerCase() +
|
|
||||||
" " +
|
|
||||||
exports.aliases.occupant.toLowerCase() +
|
|
||||||
" type?<br />" +
|
|
||||||
"Note that no " +
|
|
||||||
exports.aliases.lot.toLowerCase() +
|
|
||||||
" " +
|
|
||||||
exports.aliases.occupancy.toLowerCase() +
|
|
||||||
" will be removed.",
|
|
||||||
messageIsHtml: true,
|
messageIsHtml: true,
|
||||||
contextualColorName: "warning",
|
contextualColorName: "warning",
|
||||||
okButton: {
|
okButton: {
|
||||||
text: "Yes, Delete " + exports.aliases.lot + " " + exports.aliases.occupant + " Type",
|
text: `Yes, Delete ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`,
|
||||||
callbackFunction: doDelete
|
callbackFunction: doDelete
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
@ -152,12 +125,7 @@ const moveLotOccupantType = (clickEvent: MouseEvent) => {
|
||||||
renderLotOccupantTypes();
|
renderLotOccupantTypes();
|
||||||
} else {
|
} else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
title:
|
title: `Error Moving ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`,
|
||||||
"Error Moving " +
|
|
||||||
exports.aliases.lot +
|
|
||||||
" " +
|
|
||||||
exports.aliases.occupant +
|
|
||||||
" Type",
|
|
||||||
message: responseJSON.errorMessage || "",
|
message: responseJSON.errorMessage || "",
|
||||||
contextualColorName: "danger"
|
contextualColorName: "danger"
|
||||||
});
|
});
|
||||||
|
|
@ -172,18 +140,9 @@ const renderLotOccupantTypes = () => {
|
||||||
) as HTMLTableSectionElement;
|
) as HTMLTableSectionElement;
|
||||||
|
|
||||||
if (lotOccupantTypes.length === 0) {
|
if (lotOccupantTypes.length === 0) {
|
||||||
containerElement.innerHTML =
|
containerElement.innerHTML = `<tr><td colspan="3">
|
||||||
"<tr>" +
|
<div class="message is-warning"><p class="message-body">There are no active ${los.escapedAliases.lot} ${los.escapedAliases.occupant} types.</p></div>
|
||||||
'<td colspan="3">' +
|
</td></tr>`;
|
||||||
'<div class="message is-warning">' +
|
|
||||||
'<p class="message-body">There are no active ' +
|
|
||||||
cityssm.escapeHTML(exports.aliases.lot.toLowerCase()) +
|
|
||||||
" " +
|
|
||||||
cityssm.escapeHTML(exports.aliases.occupant.toLowerCase()) +
|
|
||||||
" types.</p>" +
|
|
||||||
"</div>" +
|
|
||||||
"</td>" +
|
|
||||||
"</tr>";
|
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -248,14 +207,14 @@ const renderLotOccupantTypes = () => {
|
||||||
'<div class="control">' +
|
'<div class="control">' +
|
||||||
'<button class="button is-danger is-light button--deleteLotOccupantType"' +
|
'<button class="button is-danger is-light button--deleteLotOccupantType"' +
|
||||||
' data-tooltip="Delete ' +
|
' data-tooltip="Delete ' +
|
||||||
cityssm.escapeHTML(exports.aliases.lot) +
|
los.escapedAliases.Lot +
|
||||||
" " +
|
" " +
|
||||||
cityssm.escapeHTML(exports.aliases.occupant) +
|
los.escapedAliases.Occupant +
|
||||||
' Type" type="button"' +
|
' Type" type="button"' +
|
||||||
' aria-label="Delete ' +
|
' aria-label="Delete ' +
|
||||||
cityssm.escapeHTML(exports.aliases.lot) +
|
los.escapedAliases.Lot +
|
||||||
" " +
|
" " +
|
||||||
cityssm.escapeHTML(exports.aliases.occupant) +
|
los.escapedAliases.Occupant +
|
||||||
' Type">' +
|
' Type">' +
|
||||||
'<i class="fas fa-trash" aria-hidden="true"></i>' +
|
'<i class="fas fa-trash" aria-hidden="true"></i>' +
|
||||||
"</button>" +
|
"</button>" +
|
||||||
|
|
@ -263,9 +222,7 @@ const renderLotOccupantTypes = () => {
|
||||||
"</div>" +
|
"</div>" +
|
||||||
"</td>";
|
"</td>";
|
||||||
|
|
||||||
const fontAwesomeInputElement = tableRowElement.querySelector(
|
const fontAwesomeInputElement = tableRowElement.querySelector("input[name='fontAwesomeIconClass']")!;
|
||||||
"input[name='fontAwesomeIconClass']"
|
|
||||||
)!;
|
|
||||||
|
|
||||||
fontAwesomeInputElement.addEventListener("keyup", refreshFontAwesomeIcon);
|
fontAwesomeInputElement.addEventListener("keyup", refreshFontAwesomeIcon);
|
||||||
fontAwesomeInputElement.addEventListener("change", refreshFontAwesomeIcon);
|
fontAwesomeInputElement.addEventListener("change", refreshFontAwesomeIcon);
|
||||||
|
|
@ -310,12 +267,7 @@ const renderLotOccupantTypes = () => {
|
||||||
formElement.querySelector("input")!.focus();
|
formElement.querySelector("input")!.focus();
|
||||||
} else {
|
} else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
title:
|
title: `Error Adding ${los.escapedAliases.Lot} ${los.escapedAliases.Occupant} Type`,
|
||||||
"Error Adding " +
|
|
||||||
exports.aliases.lot +
|
|
||||||
" " +
|
|
||||||
exports.aliases.occupant +
|
|
||||||
" Type",
|
|
||||||
message: responseJSON.errorMessage || "",
|
message: responseJSON.errorMessage || "",
|
||||||
contextualColorName: "danger"
|
contextualColorName: "danger"
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -9,13 +9,13 @@ const updateLotStatus = (submitEvent) => {
|
||||||
if (responseJSON.success) {
|
if (responseJSON.success) {
|
||||||
lotStatuses = responseJSON.lotStatuses;
|
lotStatuses = responseJSON.lotStatuses;
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
message: exports.aliases.lot + " Status Updated Successfully",
|
message: los.escapedAliases.Lot + " Status Updated Successfully",
|
||||||
contextualColorName: "success"
|
contextualColorName: "success"
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
title: "Error Updating " + exports.aliases.lot + " Status",
|
title: "Error Updating " + los.escapedAliases.Lot + " Status",
|
||||||
message: responseJSON.errorMessage || "",
|
message: responseJSON.errorMessage || "",
|
||||||
contextualColorName: "danger"
|
contextualColorName: "danger"
|
||||||
});
|
});
|
||||||
|
|
@ -38,13 +38,13 @@ const deleteLotStatus = (clickEvent) => {
|
||||||
tableRowElement.remove();
|
tableRowElement.remove();
|
||||||
}
|
}
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
message: exports.aliases.lot + " Status Deleted Successfully",
|
message: los.escapedAliases.Lot + " Status Deleted Successfully",
|
||||||
contextualColorName: "success"
|
contextualColorName: "success"
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
title: "Error Deleting " + exports.aliases.lot + " Status",
|
title: "Error Deleting " + los.escapedAliases.Lot + " Status",
|
||||||
message: responseJSON.errorMessage || "",
|
message: responseJSON.errorMessage || "",
|
||||||
contextualColorName: "danger"
|
contextualColorName: "danger"
|
||||||
});
|
});
|
||||||
|
|
@ -52,11 +52,9 @@ const deleteLotStatus = (clickEvent) => {
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
bulmaJS.confirm({
|
bulmaJS.confirm({
|
||||||
title: "Delete " + exports.aliases.lot + " Status",
|
title: `Delete ${los.escapedAliases.Lot} Status`,
|
||||||
message: "Are you sure you want to delete this status?<br />" +
|
message: `Are you sure you want to delete this status?<br />
|
||||||
"Note that no " +
|
Note that no ${los.escapedAliases.lot} will be removed.`,
|
||||||
exports.aliases.lots.toLowerCase() +
|
|
||||||
" will be removed.",
|
|
||||||
messageIsHtml: true,
|
messageIsHtml: true,
|
||||||
contextualColorName: "warning",
|
contextualColorName: "warning",
|
||||||
okButton: {
|
okButton: {
|
||||||
|
|
@ -71,9 +69,7 @@ const moveLotStatus = (clickEvent) => {
|
||||||
const lotStatusId = tableRowElement.dataset.lotStatusId;
|
const lotStatusId = tableRowElement.dataset.lotStatusId;
|
||||||
cityssm.postJSON(los.urlPrefix +
|
cityssm.postJSON(los.urlPrefix +
|
||||||
"/admin/" +
|
"/admin/" +
|
||||||
(buttonElement.dataset.direction === "up"
|
(buttonElement.dataset.direction === "up" ? "doMoveLotStatusUp" : "doMoveLotStatusDown"), {
|
||||||
? "doMoveLotStatusUp"
|
|
||||||
: "doMoveLotStatusDown"), {
|
|
||||||
lotStatusId,
|
lotStatusId,
|
||||||
moveToEnd: clickEvent.shiftKey ? "1" : "0"
|
moveToEnd: clickEvent.shiftKey ? "1" : "0"
|
||||||
}, (responseJSON) => {
|
}, (responseJSON) => {
|
||||||
|
|
@ -93,16 +89,9 @@ const moveLotStatus = (clickEvent) => {
|
||||||
const renderLotStatuses = () => {
|
const renderLotStatuses = () => {
|
||||||
const containerElement = document.querySelector("#container--lotStatuses");
|
const containerElement = document.querySelector("#container--lotStatuses");
|
||||||
if (lotStatuses.length === 0) {
|
if (lotStatuses.length === 0) {
|
||||||
containerElement.innerHTML =
|
containerElement.innerHTML = `<tr><td colspan="2">
|
||||||
"<tr>" +
|
<div class="message is-warning"><p class="message-body">There are no active ${los.escapedAliases.lot} statuses.</p></div>
|
||||||
'<td colspan="2">' +
|
</td></tr>`;
|
||||||
'<div class="message is-warning">' +
|
|
||||||
'<p class="message-body">There are no active ' +
|
|
||||||
cityssm.escapeHTML(exports.aliases.lot.toLowerCase()) +
|
|
||||||
" statuses.</p>" +
|
|
||||||
"</div>" +
|
|
||||||
"</td>" +
|
|
||||||
"</tr>";
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
containerElement.innerHTML = "";
|
containerElement.innerHTML = "";
|
||||||
|
|
@ -143,9 +132,7 @@ const renderLotStatuses = () => {
|
||||||
tableRowElement.querySelector("form").addEventListener("submit", updateLotStatus);
|
tableRowElement.querySelector("form").addEventListener("submit", updateLotStatus);
|
||||||
tableRowElement.querySelector(".button--moveLotStatusUp").addEventListener("click", moveLotStatus);
|
tableRowElement.querySelector(".button--moveLotStatusUp").addEventListener("click", moveLotStatus);
|
||||||
tableRowElement.querySelector(".button--moveLotStatusDown").addEventListener("click", moveLotStatus);
|
tableRowElement.querySelector(".button--moveLotStatusDown").addEventListener("click", moveLotStatus);
|
||||||
tableRowElement
|
tableRowElement.querySelector(".button--deleteLotStatus").addEventListener("click", deleteLotStatus);
|
||||||
.querySelector(".button--deleteLotStatus")
|
|
||||||
.addEventListener("click", deleteLotStatus);
|
|
||||||
containerElement.append(tableRowElement);
|
containerElement.append(tableRowElement);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
@ -161,7 +148,7 @@ document.querySelector("#form--addLotStatus").addEventListener("submit", (submit
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
title: "Error Adding " + exports.aliases.lot + " Status",
|
title: `Error Adding ${los.escapedAliases.Lot} Status`,
|
||||||
message: responseJSON.errorMessage || "",
|
message: responseJSON.errorMessage || "",
|
||||||
contextualColorName: "danger"
|
contextualColorName: "danger"
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -30,12 +30,12 @@ const updateLotStatus = (submitEvent: SubmitEvent) => {
|
||||||
lotStatuses = responseJSON.lotStatuses!;
|
lotStatuses = responseJSON.lotStatuses!;
|
||||||
|
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
message: exports.aliases.lot + " Status Updated Successfully",
|
message: los.escapedAliases.Lot + " Status Updated Successfully",
|
||||||
contextualColorName: "success"
|
contextualColorName: "success"
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
title: "Error Updating " + exports.aliases.lot + " Status",
|
title: "Error Updating " + los.escapedAliases.Lot + " Status",
|
||||||
message: responseJSON.errorMessage || "",
|
message: responseJSON.errorMessage || "",
|
||||||
contextualColorName: "danger"
|
contextualColorName: "danger"
|
||||||
});
|
});
|
||||||
|
|
@ -70,12 +70,12 @@ const deleteLotStatus = (clickEvent: Event) => {
|
||||||
}
|
}
|
||||||
|
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
message: exports.aliases.lot + " Status Deleted Successfully",
|
message: los.escapedAliases.Lot + " Status Deleted Successfully",
|
||||||
contextualColorName: "success"
|
contextualColorName: "success"
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
title: "Error Deleting " + exports.aliases.lot + " Status",
|
title: "Error Deleting " + los.escapedAliases.Lot + " Status",
|
||||||
message: responseJSON.errorMessage || "",
|
message: responseJSON.errorMessage || "",
|
||||||
contextualColorName: "danger"
|
contextualColorName: "danger"
|
||||||
});
|
});
|
||||||
|
|
@ -85,12 +85,9 @@ const deleteLotStatus = (clickEvent: Event) => {
|
||||||
};
|
};
|
||||||
|
|
||||||
bulmaJS.confirm({
|
bulmaJS.confirm({
|
||||||
title: "Delete " + exports.aliases.lot + " Status",
|
title: `Delete ${los.escapedAliases.Lot} Status`,
|
||||||
message:
|
message: `Are you sure you want to delete this status?<br />
|
||||||
"Are you sure you want to delete this status?<br />" +
|
Note that no ${los.escapedAliases.lot} will be removed.`,
|
||||||
"Note that no " +
|
|
||||||
exports.aliases.lots.toLowerCase() +
|
|
||||||
" will be removed.",
|
|
||||||
messageIsHtml: true,
|
messageIsHtml: true,
|
||||||
contextualColorName: "warning",
|
contextualColorName: "warning",
|
||||||
okButton: {
|
okButton: {
|
||||||
|
|
@ -110,9 +107,7 @@ const moveLotStatus = (clickEvent: MouseEvent) => {
|
||||||
cityssm.postJSON(
|
cityssm.postJSON(
|
||||||
los.urlPrefix +
|
los.urlPrefix +
|
||||||
"/admin/" +
|
"/admin/" +
|
||||||
(buttonElement.dataset.direction === "up"
|
(buttonElement.dataset.direction === "up" ? "doMoveLotStatusUp" : "doMoveLotStatusDown"),
|
||||||
? "doMoveLotStatusUp"
|
|
||||||
: "doMoveLotStatusDown"),
|
|
||||||
{
|
{
|
||||||
lotStatusId,
|
lotStatusId,
|
||||||
moveToEnd: clickEvent.shiftKey ? "1" : "0"
|
moveToEnd: clickEvent.shiftKey ? "1" : "0"
|
||||||
|
|
@ -137,21 +132,12 @@ const moveLotStatus = (clickEvent: MouseEvent) => {
|
||||||
};
|
};
|
||||||
|
|
||||||
const renderLotStatuses = () => {
|
const renderLotStatuses = () => {
|
||||||
const containerElement = document.querySelector(
|
const containerElement = document.querySelector("#container--lotStatuses") as HTMLTableSectionElement;
|
||||||
"#container--lotStatuses"
|
|
||||||
) as HTMLTableSectionElement;
|
|
||||||
|
|
||||||
if (lotStatuses.length === 0) {
|
if (lotStatuses.length === 0) {
|
||||||
containerElement.innerHTML =
|
containerElement.innerHTML = `<tr><td colspan="2">
|
||||||
"<tr>" +
|
<div class="message is-warning"><p class="message-body">There are no active ${los.escapedAliases.lot} statuses.</p></div>
|
||||||
'<td colspan="2">' +
|
</td></tr>`;
|
||||||
'<div class="message is-warning">' +
|
|
||||||
'<p class="message-body">There are no active ' +
|
|
||||||
cityssm.escapeHTML(exports.aliases.lot.toLowerCase()) +
|
|
||||||
" statuses.</p>" +
|
|
||||||
"</div>" +
|
|
||||||
"</td>" +
|
|
||||||
"</tr>";
|
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -185,11 +171,7 @@ const renderLotStatuses = () => {
|
||||||
'<td class="is-nowrap">' +
|
'<td class="is-nowrap">' +
|
||||||
'<div class="field is-grouped">' +
|
'<div class="field is-grouped">' +
|
||||||
'<div class="control">' +
|
'<div class="control">' +
|
||||||
los.getMoveUpDownButtonFieldHTML(
|
los.getMoveUpDownButtonFieldHTML("button--moveLotStatusUp", "button--moveLotStatusDown", false) +
|
||||||
"button--moveLotStatusUp",
|
|
||||||
"button--moveLotStatusDown",
|
|
||||||
false
|
|
||||||
) +
|
|
||||||
"</div>" +
|
"</div>" +
|
||||||
'<div class="control">' +
|
'<div class="control">' +
|
||||||
'<button class="button is-danger is-light button--deleteLotStatus" data-tooltip="Delete Status" type="button" aria-label="Delete Status">' +
|
'<button class="button is-danger is-light button--deleteLotStatus" data-tooltip="Delete Status" type="button" aria-label="Delete Status">' +
|
||||||
|
|
@ -201,17 +183,17 @@ const renderLotStatuses = () => {
|
||||||
|
|
||||||
tableRowElement.querySelector("form")!.addEventListener("submit", updateLotStatus);
|
tableRowElement.querySelector("form")!.addEventListener("submit", updateLotStatus);
|
||||||
|
|
||||||
(
|
(tableRowElement.querySelector(".button--moveLotStatusUp") as HTMLButtonElement).addEventListener(
|
||||||
tableRowElement.querySelector(".button--moveLotStatusUp") as HTMLButtonElement
|
"click",
|
||||||
).addEventListener("click", moveLotStatus);
|
moveLotStatus
|
||||||
|
);
|
||||||
|
|
||||||
(
|
(tableRowElement.querySelector(".button--moveLotStatusDown") as HTMLButtonElement).addEventListener(
|
||||||
tableRowElement.querySelector(".button--moveLotStatusDown") as HTMLButtonElement
|
"click",
|
||||||
).addEventListener("click", moveLotStatus);
|
moveLotStatus
|
||||||
|
);
|
||||||
|
|
||||||
tableRowElement
|
tableRowElement.querySelector(".button--deleteLotStatus")!.addEventListener("click", deleteLotStatus);
|
||||||
.querySelector(".button--deleteLotStatus")!
|
|
||||||
.addEventListener("click", deleteLotStatus);
|
|
||||||
|
|
||||||
containerElement.append(tableRowElement);
|
containerElement.append(tableRowElement);
|
||||||
}
|
}
|
||||||
|
|
@ -239,7 +221,7 @@ const renderLotStatuses = () => {
|
||||||
formElement.querySelector("input")!.focus();
|
formElement.querySelector("input")!.focus();
|
||||||
} else {
|
} else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
title: "Error Adding " + exports.aliases.lot + " Status",
|
title: `Error Adding ${los.escapedAliases.Lot} Status`,
|
||||||
message: responseJSON.errorMessage || "",
|
message: responseJSON.errorMessage || "",
|
||||||
contextualColorName: "danger"
|
contextualColorName: "danger"
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -53,8 +53,8 @@ const deleteWorkOrderMilestoneType = (clickEvent) => {
|
||||||
};
|
};
|
||||||
bulmaJS.confirm({
|
bulmaJS.confirm({
|
||||||
title: "Delete Work Order Milestone Type",
|
title: "Delete Work Order Milestone Type",
|
||||||
message: "Are you sure you want to delete this work order milestone type?<br />" +
|
message: `Are you sure you want to delete this work order milestone type?<br />
|
||||||
"Note that no work orders will be removed.",
|
Note that no work orders will be removed.`,
|
||||||
messageIsHtml: true,
|
messageIsHtml: true,
|
||||||
contextualColorName: "warning",
|
contextualColorName: "warning",
|
||||||
okButton: {
|
okButton: {
|
||||||
|
|
@ -91,14 +91,9 @@ const moveWorkOrderMilestoneType = (clickEvent) => {
|
||||||
const renderWorkOrderMilestoneTypes = () => {
|
const renderWorkOrderMilestoneTypes = () => {
|
||||||
const containerElement = document.querySelector("#container--workOrderMilestoneTypes");
|
const containerElement = document.querySelector("#container--workOrderMilestoneTypes");
|
||||||
if (workOrderMilestoneTypes.length === 0) {
|
if (workOrderMilestoneTypes.length === 0) {
|
||||||
containerElement.innerHTML =
|
containerElement.innerHTML = `<tr><td colspan="2">
|
||||||
"<tr>" +
|
<div class="message is-warning"><p class="message-body">There are no active work order milestone types.</p></div>
|
||||||
'<td colspan="2">' +
|
</td></tr>`;
|
||||||
'<div class="message is-warning">' +
|
|
||||||
'<p class="message-body">There are no active work order milestone types.</p>' +
|
|
||||||
"</div>" +
|
|
||||||
"</td>" +
|
|
||||||
"</tr>";
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
containerElement.innerHTML = "";
|
containerElement.innerHTML = "";
|
||||||
|
|
|
||||||
|
|
@ -86,9 +86,8 @@ const deleteWorkOrderMilestoneType = (clickEvent: Event) => {
|
||||||
|
|
||||||
bulmaJS.confirm({
|
bulmaJS.confirm({
|
||||||
title: "Delete Work Order Milestone Type",
|
title: "Delete Work Order Milestone Type",
|
||||||
message:
|
message: `Are you sure you want to delete this work order milestone type?<br />
|
||||||
"Are you sure you want to delete this work order milestone type?<br />" +
|
Note that no work orders will be removed.`,
|
||||||
"Note that no work orders will be removed.",
|
|
||||||
messageIsHtml: true,
|
messageIsHtml: true,
|
||||||
contextualColorName: "warning",
|
contextualColorName: "warning",
|
||||||
okButton: {
|
okButton: {
|
||||||
|
|
@ -140,14 +139,9 @@ const renderWorkOrderMilestoneTypes = () => {
|
||||||
) as HTMLTableSectionElement;
|
) as HTMLTableSectionElement;
|
||||||
|
|
||||||
if (workOrderMilestoneTypes.length === 0) {
|
if (workOrderMilestoneTypes.length === 0) {
|
||||||
containerElement.innerHTML =
|
containerElement.innerHTML = `<tr><td colspan="2">
|
||||||
"<tr>" +
|
<div class="message is-warning"><p class="message-body">There are no active work order milestone types.</p></div>
|
||||||
'<td colspan="2">' +
|
</td></tr>`;
|
||||||
'<div class="message is-warning">' +
|
|
||||||
'<p class="message-body">There are no active work order milestone types.</p>' +
|
|
||||||
"</div>" +
|
|
||||||
"</td>" +
|
|
||||||
"</tr>";
|
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -195,21 +189,14 @@ const renderWorkOrderMilestoneTypes = () => {
|
||||||
"</div>" +
|
"</div>" +
|
||||||
"</td>";
|
"</td>";
|
||||||
|
|
||||||
(tableRowElement.querySelector("form") as HTMLFormElement).addEventListener(
|
tableRowElement.querySelector("form")!.addEventListener("submit", updateWorkOrderMilestoneType);
|
||||||
"submit",
|
|
||||||
updateWorkOrderMilestoneType
|
|
||||||
);
|
|
||||||
|
|
||||||
(
|
(
|
||||||
tableRowElement.querySelector(
|
tableRowElement.querySelector(".button--moveWorkOrderMilestoneTypeUp") as HTMLButtonElement
|
||||||
".button--moveWorkOrderMilestoneTypeUp"
|
|
||||||
) as HTMLButtonElement
|
|
||||||
).addEventListener("click", moveWorkOrderMilestoneType);
|
).addEventListener("click", moveWorkOrderMilestoneType);
|
||||||
|
|
||||||
(
|
(
|
||||||
tableRowElement.querySelector(
|
tableRowElement.querySelector(".button--moveWorkOrderMilestoneTypeDown") as HTMLButtonElement
|
||||||
".button--moveWorkOrderMilestoneTypeDown"
|
|
||||||
) as HTMLButtonElement
|
|
||||||
).addEventListener("click", moveWorkOrderMilestoneType);
|
).addEventListener("click", moveWorkOrderMilestoneType);
|
||||||
|
|
||||||
tableRowElement
|
tableRowElement
|
||||||
|
|
|
||||||
|
|
@ -53,8 +53,8 @@ const deleteWorkOrderType = (clickEvent) => {
|
||||||
};
|
};
|
||||||
bulmaJS.confirm({
|
bulmaJS.confirm({
|
||||||
title: "Delete Work Order Type",
|
title: "Delete Work Order Type",
|
||||||
message: "Are you sure you want to delete this work order type?<br />" +
|
message: `Are you sure you want to delete this work order type?<br />
|
||||||
"Note that no work orders will be removed.",
|
Note that no work orders will be removed.`,
|
||||||
messageIsHtml: true,
|
messageIsHtml: true,
|
||||||
contextualColorName: "warning",
|
contextualColorName: "warning",
|
||||||
okButton: {
|
okButton: {
|
||||||
|
|
@ -69,9 +69,7 @@ const moveWorkOrderType = (clickEvent) => {
|
||||||
const workOrderTypeId = tableRowElement.dataset.workOrderTypeId;
|
const workOrderTypeId = tableRowElement.dataset.workOrderTypeId;
|
||||||
cityssm.postJSON(los.urlPrefix +
|
cityssm.postJSON(los.urlPrefix +
|
||||||
"/admin/" +
|
"/admin/" +
|
||||||
(buttonElement.dataset.direction === "up"
|
(buttonElement.dataset.direction === "up" ? "doMoveWorkOrderTypeUp" : "doMoveWorkOrderTypeDown"), {
|
||||||
? "doMoveWorkOrderTypeUp"
|
|
||||||
: "doMoveWorkOrderTypeDown"), {
|
|
||||||
workOrderTypeId,
|
workOrderTypeId,
|
||||||
moveToEnd: clickEvent.shiftKey ? "1" : "0"
|
moveToEnd: clickEvent.shiftKey ? "1" : "0"
|
||||||
}, (responseJSON) => {
|
}, (responseJSON) => {
|
||||||
|
|
@ -91,14 +89,9 @@ const moveWorkOrderType = (clickEvent) => {
|
||||||
const renderWorkOrderTypes = () => {
|
const renderWorkOrderTypes = () => {
|
||||||
const containerElement = document.querySelector("#container--workOrderTypes");
|
const containerElement = document.querySelector("#container--workOrderTypes");
|
||||||
if (workOrderTypes.length === 0) {
|
if (workOrderTypes.length === 0) {
|
||||||
containerElement.innerHTML =
|
containerElement.innerHTML = `<tr><td colspan="2">
|
||||||
"<tr>" +
|
<div class="message is-warning"><p class="message-body">There are no active work order types.</p></div>
|
||||||
'<td colspan="2">' +
|
</td></tr>`;
|
||||||
'<div class="message is-warning">' +
|
|
||||||
'<p class="message-body">There are no active work order types.</p>' +
|
|
||||||
"</div>" +
|
|
||||||
"</td>" +
|
|
||||||
"</tr>";
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
containerElement.innerHTML = "";
|
containerElement.innerHTML = "";
|
||||||
|
|
|
||||||
|
|
@ -86,9 +86,8 @@ const deleteWorkOrderType = (clickEvent: Event) => {
|
||||||
|
|
||||||
bulmaJS.confirm({
|
bulmaJS.confirm({
|
||||||
title: "Delete Work Order Type",
|
title: "Delete Work Order Type",
|
||||||
message:
|
message: `Are you sure you want to delete this work order type?<br />
|
||||||
"Are you sure you want to delete this work order type?<br />" +
|
Note that no work orders will be removed.`,
|
||||||
"Note that no work orders will be removed.",
|
|
||||||
messageIsHtml: true,
|
messageIsHtml: true,
|
||||||
contextualColorName: "warning",
|
contextualColorName: "warning",
|
||||||
okButton: {
|
okButton: {
|
||||||
|
|
@ -108,9 +107,7 @@ const moveWorkOrderType = (clickEvent: MouseEvent) => {
|
||||||
cityssm.postJSON(
|
cityssm.postJSON(
|
||||||
los.urlPrefix +
|
los.urlPrefix +
|
||||||
"/admin/" +
|
"/admin/" +
|
||||||
(buttonElement.dataset.direction === "up"
|
(buttonElement.dataset.direction === "up" ? "doMoveWorkOrderTypeUp" : "doMoveWorkOrderTypeDown"),
|
||||||
? "doMoveWorkOrderTypeUp"
|
|
||||||
: "doMoveWorkOrderTypeDown"),
|
|
||||||
{
|
{
|
||||||
workOrderTypeId,
|
workOrderTypeId,
|
||||||
moveToEnd: clickEvent.shiftKey ? "1" : "0"
|
moveToEnd: clickEvent.shiftKey ? "1" : "0"
|
||||||
|
|
@ -135,19 +132,12 @@ const moveWorkOrderType = (clickEvent: MouseEvent) => {
|
||||||
};
|
};
|
||||||
|
|
||||||
const renderWorkOrderTypes = () => {
|
const renderWorkOrderTypes = () => {
|
||||||
const containerElement = document.querySelector(
|
const containerElement = document.querySelector("#container--workOrderTypes") as HTMLTableSectionElement;
|
||||||
"#container--workOrderTypes"
|
|
||||||
) as HTMLTableSectionElement;
|
|
||||||
|
|
||||||
if (workOrderTypes.length === 0) {
|
if (workOrderTypes.length === 0) {
|
||||||
containerElement.innerHTML =
|
containerElement.innerHTML = `<tr><td colspan="2">
|
||||||
"<tr>" +
|
<div class="message is-warning"><p class="message-body">There are no active work order types.</p></div>
|
||||||
'<td colspan="2">' +
|
</td></tr>`;
|
||||||
'<div class="message is-warning">' +
|
|
||||||
'<p class="message-body">There are no active work order types.</p>' +
|
|
||||||
"</div>" +
|
|
||||||
"</td>" +
|
|
||||||
"</tr>";
|
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -196,9 +186,10 @@ const renderWorkOrderTypes = () => {
|
||||||
|
|
||||||
tableRowElement.querySelector("form")!.addEventListener("submit", updateWorkOrderType);
|
tableRowElement.querySelector("form")!.addEventListener("submit", updateWorkOrderType);
|
||||||
|
|
||||||
(
|
(tableRowElement.querySelector(".button--moveWorkOrderTypeUp") as HTMLButtonElement).addEventListener(
|
||||||
tableRowElement.querySelector(".button--moveWorkOrderTypeUp") as HTMLButtonElement
|
"click",
|
||||||
).addEventListener("click", moveWorkOrderType);
|
moveWorkOrderType
|
||||||
|
);
|
||||||
|
|
||||||
(
|
(
|
||||||
tableRowElement.querySelector(".button--moveWorkOrderTypeDown") as HTMLButtonElement
|
tableRowElement.querySelector(".button--moveWorkOrderTypeDown") as HTMLButtonElement
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
(() => {
|
(() => {
|
||||||
var _a, _b, _c;
|
var _a, _b, _c;
|
||||||
const los = exports.los;
|
const los = exports.los;
|
||||||
const lotOccupancyId = document.querySelector("#lotOccupancy--lotOccupancyId").value;
|
const lotOccupancyId = document.querySelector("#lotOccupancy--lotOccupancyId")
|
||||||
|
.value;
|
||||||
const isCreate = lotOccupancyId === "";
|
const isCreate = lotOccupancyId === "";
|
||||||
/*
|
/*
|
||||||
* Main form
|
* Main form
|
||||||
|
|
@ -13,9 +14,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
const formElement = document.querySelector("#form--lotOccupancy");
|
const formElement = document.querySelector("#form--lotOccupancy");
|
||||||
formElement.addEventListener("submit", (formEvent) => {
|
formElement.addEventListener("submit", (formEvent) => {
|
||||||
formEvent.preventDefault();
|
formEvent.preventDefault();
|
||||||
cityssm.postJSON(los.urlPrefix +
|
cityssm.postJSON(los.urlPrefix + "/lotOccupancies/" + (isCreate ? "doCreateLotOccupancy" : "doUpdateLotOccupancy"), formElement, (responseJSON) => {
|
||||||
"/lotOccupancies/" +
|
|
||||||
(isCreate ? "doCreateLotOccupancy" : "doUpdateLotOccupancy"), formElement, (responseJSON) => {
|
|
||||||
if (responseJSON.success) {
|
if (responseJSON.success) {
|
||||||
los.clearUnsavedChanges();
|
los.clearUnsavedChanges();
|
||||||
if (isCreate || refreshAfterSave) {
|
if (isCreate || refreshAfterSave) {
|
||||||
|
|
@ -46,164 +45,150 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
for (const formInputElement of formInputElements) {
|
for (const formInputElement of formInputElements) {
|
||||||
formInputElement.addEventListener("change", los.setUnsavedChanges);
|
formInputElement.addEventListener("change", los.setUnsavedChanges);
|
||||||
}
|
}
|
||||||
if (!isCreate) {
|
const doCopy = () => {
|
||||||
const doCopy = () => {
|
cityssm.postJSON(los.urlPrefix + "/lotOccupancies/doCopyLotOccupancy", {
|
||||||
cityssm.postJSON(los.urlPrefix + "/lotOccupancies/doCopyLotOccupancy", {
|
lotOccupancyId
|
||||||
|
}, (responseJSON) => {
|
||||||
|
var _a;
|
||||||
|
if (responseJSON.success) {
|
||||||
|
cityssm.disableNavBlocker();
|
||||||
|
window.location.href =
|
||||||
|
los.urlPrefix +
|
||||||
|
"/lotOccupancies/" +
|
||||||
|
((_a = responseJSON.lotOccupancyId) === null || _a === void 0 ? void 0 : _a.toString()) +
|
||||||
|
"/edit";
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
bulmaJS.alert({
|
||||||
|
title: "Error Copying Record",
|
||||||
|
message: responseJSON.errorMessage || "",
|
||||||
|
contextualColorName: "danger"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
(_a = document.querySelector("#button--copyLotOccupancy")) === null || _a === void 0 ? void 0 : _a.addEventListener("click", (clickEvent) => {
|
||||||
|
clickEvent.preventDefault();
|
||||||
|
if (los.hasUnsavedChanges()) {
|
||||||
|
bulmaJS.alert({
|
||||||
|
title: "Unsaved Changes",
|
||||||
|
message: "Please save all unsaved changes before continuing.",
|
||||||
|
contextualColorName: "warning"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
bulmaJS.confirm({
|
||||||
|
title: "Copy " + los.escapedAliases.Occupancy + " Record as New",
|
||||||
|
message: "Are you sure you want to copy this record to a new record?",
|
||||||
|
contextualColorName: "info",
|
||||||
|
okButton: {
|
||||||
|
text: "Yes, Copy",
|
||||||
|
callbackFunction: doCopy
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
(_b = document.querySelector("#button--deleteLotOccupancy")) === null || _b === void 0 ? void 0 : _b.addEventListener("click", (clickEvent) => {
|
||||||
|
clickEvent.preventDefault();
|
||||||
|
const doDelete = () => {
|
||||||
|
cityssm.postJSON(los.urlPrefix + "/lotOccupancies/doDeleteLotOccupancy", {
|
||||||
lotOccupancyId
|
lotOccupancyId
|
||||||
}, (responseJSON) => {
|
}, (responseJSON) => {
|
||||||
var _a;
|
|
||||||
if (responseJSON.success) {
|
if (responseJSON.success) {
|
||||||
cityssm.disableNavBlocker();
|
cityssm.disableNavBlocker();
|
||||||
window.location.href =
|
window.location.href = los.urlPrefix + "/lotOccupancies?t=" + Date.now();
|
||||||
los.urlPrefix +
|
|
||||||
"/lotOccupancies/" +
|
|
||||||
((_a = responseJSON.lotOccupancyId) === null || _a === void 0 ? void 0 : _a.toString()) +
|
|
||||||
"/edit";
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
title: "Error Copying Record",
|
title: "Error Deleting Record",
|
||||||
message: responseJSON.errorMessage || "",
|
message: responseJSON.errorMessage || "",
|
||||||
contextualColorName: "danger"
|
contextualColorName: "danger"
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
(_a = document
|
bulmaJS.confirm({
|
||||||
.querySelector("#button--copyLotOccupancy")) === null || _a === void 0 ? void 0 : _a.addEventListener("click", (clickEvent) => {
|
title: "Delete " + exports.aliases.occupancy + " Record",
|
||||||
clickEvent.preventDefault();
|
message: "Are you sure you want to delete this record?",
|
||||||
if (los.hasUnsavedChanges()) {
|
contextualColorName: "warning",
|
||||||
bulmaJS.alert({
|
okButton: {
|
||||||
title: "Unsaved Changes",
|
text: "Yes, Delete",
|
||||||
message: "Please save all unsaved changes before continuing.",
|
callbackFunction: doDelete
|
||||||
contextualColorName: "warning"
|
|
||||||
});
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
bulmaJS.confirm({
|
|
||||||
title: "Copy " + exports.aliases.occupancy + " Record as New",
|
|
||||||
message: "Are you sure you want to copy this record to a new record?",
|
|
||||||
contextualColorName: "info",
|
|
||||||
okButton: {
|
|
||||||
text: "Yes, Copy",
|
|
||||||
callbackFunction: doCopy
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
(_b = document
|
});
|
||||||
.querySelector("#button--deleteLotOccupancy")) === null || _b === void 0 ? void 0 : _b.addEventListener("click", (clickEvent) => {
|
(_c = document.querySelector("#button--createWorkOrder")) === null || _c === void 0 ? void 0 : _c.addEventListener("click", (clickEvent) => {
|
||||||
clickEvent.preventDefault();
|
clickEvent.preventDefault();
|
||||||
const doDelete = () => {
|
let createCloseModalFunction;
|
||||||
cityssm.postJSON(los.urlPrefix + "/lotOccupancies/doDeleteLotOccupancy", {
|
const doCreate = (formEvent) => {
|
||||||
lotOccupancyId
|
formEvent.preventDefault();
|
||||||
}, (responseJSON) => {
|
cityssm.postJSON(los.urlPrefix + "/workOrders/doCreateWorkOrder", formEvent.currentTarget, (responseJSON) => {
|
||||||
if (responseJSON.success) {
|
if (responseJSON.success) {
|
||||||
cityssm.disableNavBlocker();
|
createCloseModalFunction();
|
||||||
window.location.href =
|
bulmaJS.confirm({
|
||||||
los.urlPrefix + "/lotOccupancies?t=" + Date.now();
|
title: "Work Order Created Successfully",
|
||||||
}
|
message: "Would you like to open the work order now?",
|
||||||
else {
|
contextualColorName: "success",
|
||||||
bulmaJS.alert({
|
okButton: {
|
||||||
title: "Error Deleting Record",
|
text: "Yes, Open the Work Order",
|
||||||
message: responseJSON.errorMessage || "",
|
callbackFunction: () => {
|
||||||
contextualColorName: "danger"
|
window.location.href =
|
||||||
});
|
los.urlPrefix + "/workOrders/" + responseJSON.workOrderId + "/edit";
|
||||||
}
|
|
||||||
});
|
|
||||||
};
|
|
||||||
bulmaJS.confirm({
|
|
||||||
title: "Delete " + exports.aliases.occupancy + " Record",
|
|
||||||
message: "Are you sure you want to delete this record?",
|
|
||||||
contextualColorName: "warning",
|
|
||||||
okButton: {
|
|
||||||
text: "Yes, Delete",
|
|
||||||
callbackFunction: doDelete
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
(_c = document
|
|
||||||
.querySelector("#button--createWorkOrder")) === null || _c === void 0 ? void 0 : _c.addEventListener("click", (clickEvent) => {
|
|
||||||
clickEvent.preventDefault();
|
|
||||||
let createCloseModalFunction;
|
|
||||||
const doCreate = (formEvent) => {
|
|
||||||
formEvent.preventDefault();
|
|
||||||
cityssm.postJSON(los.urlPrefix + "/workOrders/doCreateWorkOrder", formEvent.currentTarget, (responseJSON) => {
|
|
||||||
if (responseJSON.success) {
|
|
||||||
createCloseModalFunction();
|
|
||||||
bulmaJS.confirm({
|
|
||||||
title: "Work Order Created Successfully",
|
|
||||||
message: "Would you like to open the work order now?",
|
|
||||||
contextualColorName: "success",
|
|
||||||
okButton: {
|
|
||||||
text: "Yes, Open the Work Order",
|
|
||||||
callbackFunction: () => {
|
|
||||||
window.location.href =
|
|
||||||
los.urlPrefix +
|
|
||||||
"/workOrders/" +
|
|
||||||
responseJSON.workOrderId +
|
|
||||||
"/edit";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
});
|
}
|
||||||
}
|
});
|
||||||
else {
|
}
|
||||||
bulmaJS.alert({
|
else {
|
||||||
title: "Error Creating Work Order",
|
bulmaJS.alert({
|
||||||
message: responseJSON.errorMessage,
|
title: "Error Creating Work Order",
|
||||||
contextualColorName: "danger"
|
message: responseJSON.errorMessage,
|
||||||
});
|
contextualColorName: "danger"
|
||||||
}
|
});
|
||||||
});
|
|
||||||
};
|
|
||||||
cityssm.openHtmlModal("lotOccupancy-createWorkOrder", {
|
|
||||||
onshow: (modalElement) => {
|
|
||||||
modalElement.querySelector("#workOrderCreate--lotOccupancyId").value = lotOccupancyId;
|
|
||||||
modalElement.querySelector("#workOrderCreate--workOrderOpenDateString").value = cityssm.dateToString(new Date());
|
|
||||||
const workOrderTypeSelectElement = modalElement.querySelector("#workOrderCreate--workOrderTypeId");
|
|
||||||
const workOrderTypes = exports.workOrderTypes;
|
|
||||||
if (workOrderTypes.length === 1) {
|
|
||||||
workOrderTypeSelectElement.innerHTML = "";
|
|
||||||
}
|
|
||||||
for (const workOrderType of workOrderTypes) {
|
|
||||||
const optionElement = document.createElement("option");
|
|
||||||
optionElement.value = workOrderType.workOrderTypeId.toString();
|
|
||||||
optionElement.textContent = workOrderType.workOrderType;
|
|
||||||
workOrderTypeSelectElement.append(optionElement);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
onshown: (modalElement, closeModalFunction) => {
|
|
||||||
var _a;
|
|
||||||
createCloseModalFunction = closeModalFunction;
|
|
||||||
(_a = modalElement.querySelector("form")) === null || _a === void 0 ? void 0 : _a.addEventListener("submit", doCreate);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
};
|
||||||
|
cityssm.openHtmlModal("lotOccupancy-createWorkOrder", {
|
||||||
|
onshow(modalElement) {
|
||||||
|
modalElement.querySelector("#workOrderCreate--lotOccupancyId").value =
|
||||||
|
lotOccupancyId;
|
||||||
|
modalElement.querySelector("#workOrderCreate--workOrderOpenDateString").value = cityssm.dateToString(new Date());
|
||||||
|
const workOrderTypeSelectElement = modalElement.querySelector("#workOrderCreate--workOrderTypeId");
|
||||||
|
const workOrderTypes = exports.workOrderTypes;
|
||||||
|
if (workOrderTypes.length === 1) {
|
||||||
|
workOrderTypeSelectElement.innerHTML = "";
|
||||||
|
}
|
||||||
|
for (const workOrderType of workOrderTypes) {
|
||||||
|
const optionElement = document.createElement("option");
|
||||||
|
optionElement.value = workOrderType.workOrderTypeId.toString();
|
||||||
|
optionElement.textContent = workOrderType.workOrderType;
|
||||||
|
workOrderTypeSelectElement.append(optionElement);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onshown(modalElement, closeModalFunction) {
|
||||||
|
var _a;
|
||||||
|
createCloseModalFunction = closeModalFunction;
|
||||||
|
(_a = modalElement.querySelector("form")) === null || _a === void 0 ? void 0 : _a.addEventListener("submit", doCreate);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
});
|
||||||
// Occupancy Type
|
// Occupancy Type
|
||||||
const occupancyTypeIdElement = document.querySelector("#lotOccupancy--occupancyTypeId");
|
const occupancyTypeIdElement = document.querySelector("#lotOccupancy--occupancyTypeId");
|
||||||
if (isCreate) {
|
if (isCreate) {
|
||||||
const lotOccupancyFieldsContainerElement = document.querySelector("#container--lotOccupancyFields");
|
const lotOccupancyFieldsContainerElement = document.querySelector("#container--lotOccupancyFields");
|
||||||
occupancyTypeIdElement.addEventListener("change", () => {
|
occupancyTypeIdElement.addEventListener("change", () => {
|
||||||
if (occupancyTypeIdElement.value === "") {
|
if (occupancyTypeIdElement.value === "") {
|
||||||
lotOccupancyFieldsContainerElement.innerHTML =
|
lotOccupancyFieldsContainerElement.innerHTML = `<div class="message is-info">
|
||||||
'<div class="message is-info">' +
|
<p class="message-body">Select the ${los.escapedAliases.occupancy} type to load the available fields.</p>
|
||||||
'<p class="message-body">Select the ' +
|
</div>`;
|
||||||
exports.aliases.occupancy.toLowerCase() +
|
|
||||||
" type to load the available fields.</p>" +
|
|
||||||
"</div>";
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
cityssm.postJSON(los.urlPrefix + "/lotOccupancies/doGetOccupancyTypeFields", {
|
cityssm.postJSON(los.urlPrefix + "/lotOccupancies/doGetOccupancyTypeFields", {
|
||||||
occupancyTypeId: occupancyTypeIdElement.value
|
occupancyTypeId: occupancyTypeIdElement.value
|
||||||
}, (responseJSON) => {
|
}, (responseJSON) => {
|
||||||
if (responseJSON.occupancyTypeFields.length === 0) {
|
if (responseJSON.occupancyTypeFields.length === 0) {
|
||||||
lotOccupancyFieldsContainerElement.innerHTML =
|
lotOccupancyFieldsContainerElement.innerHTML = `<div class="message is-info">
|
||||||
'<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 ' +
|
</div>`;
|
||||||
exports.aliases.occupancy.toLowerCase() +
|
|
||||||
" type.</p>" +
|
|
||||||
"</div>";
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
lotOccupancyFieldsContainerElement.innerHTML = "";
|
lotOccupancyFieldsContainerElement.innerHTML = "";
|
||||||
|
|
@ -214,11 +199,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
const fieldId = "lotOccupancy--" + fieldName;
|
const fieldId = "lotOccupancy--" + fieldName;
|
||||||
const fieldElement = document.createElement("div");
|
const fieldElement = document.createElement("div");
|
||||||
fieldElement.className = "field";
|
fieldElement.className = "field";
|
||||||
fieldElement.innerHTML =
|
fieldElement.innerHTML = `<label class="label" for="${fieldId}"></label><div class="control"></div>`;
|
||||||
'<label class="label" for="' +
|
|
||||||
fieldId +
|
|
||||||
'"></label>' +
|
|
||||||
'<div class="control"></div>';
|
|
||||||
fieldElement.querySelector("label").textContent =
|
fieldElement.querySelector("label").textContent =
|
||||||
occupancyTypeField.occupancyTypeField;
|
occupancyTypeField.occupancyTypeField;
|
||||||
if (occupancyTypeField.occupancyTypeFieldValues === "") {
|
if (occupancyTypeField.occupancyTypeFieldValues === "") {
|
||||||
|
|
@ -256,9 +237,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
}
|
}
|
||||||
lotOccupancyFieldsContainerElement.append(fieldElement);
|
lotOccupancyFieldsContainerElement.append(fieldElement);
|
||||||
}
|
}
|
||||||
lotOccupancyFieldsContainerElement.insertAdjacentHTML("beforeend", '<input name="occupancyTypeFieldIds" type="hidden" value="' +
|
lotOccupancyFieldsContainerElement.insertAdjacentHTML("beforeend", `<input name="occupancyTypeFieldIds" type="hidden" value="${occupancyTypeFieldIds.slice(1)}" />`);
|
||||||
occupancyTypeFieldIds.slice(1) +
|
|
||||||
'" />');
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
@ -268,10 +247,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
if (occupancyTypeIdElement.value !== originalOccupancyTypeId) {
|
if (occupancyTypeIdElement.value !== originalOccupancyTypeId) {
|
||||||
bulmaJS.confirm({
|
bulmaJS.confirm({
|
||||||
title: "Confirm Change",
|
title: "Confirm Change",
|
||||||
message: "Are you sure you want to change the " +
|
message: `Are you sure you want to change the ${los.escapedAliases.occupancy} type?\n
|
||||||
exports.aliases.occupancy.toLowerCase() +
|
This change affects the additional fields associated with this record, and may also affect the available fees.`,
|
||||||
" type?\n" +
|
|
||||||
"This change affects the additional fields associated with this record, and may also affect the available fees.",
|
|
||||||
contextualColorName: "warning",
|
contextualColorName: "warning",
|
||||||
okButton: {
|
okButton: {
|
||||||
text: "Yes, Keep the Change",
|
text: "Yes, Keep the Change",
|
||||||
|
|
@ -298,8 +275,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
let lotSelectFormElement;
|
let lotSelectFormElement;
|
||||||
let lotSelectResultsElement;
|
let lotSelectResultsElement;
|
||||||
const renderSelectedLotAndClose = (lotId, lotName) => {
|
const renderSelectedLotAndClose = (lotId, lotName) => {
|
||||||
document.querySelector("#lotOccupancy--lotId").value =
|
document.querySelector("#lotOccupancy--lotId").value = lotId.toString();
|
||||||
lotId.toString();
|
|
||||||
document.querySelector("#lotOccupancy--lotName").value = lotName;
|
document.querySelector("#lotOccupancy--lotName").value = lotName;
|
||||||
los.setUnsavedChanges();
|
los.setUnsavedChanges();
|
||||||
lotSelectCloseModalFunction();
|
lotSelectCloseModalFunction();
|
||||||
|
|
@ -310,19 +286,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
renderSelectedLotAndClose(selectedLotElement.dataset.lotId, selectedLotElement.dataset.lotName);
|
renderSelectedLotAndClose(selectedLotElement.dataset.lotId, selectedLotElement.dataset.lotName);
|
||||||
};
|
};
|
||||||
const searchLots = () => {
|
const searchLots = () => {
|
||||||
lotSelectResultsElement.innerHTML =
|
lotSelectResultsElement.innerHTML = los.getLoadingParagraphHTML("Searching...");
|
||||||
'<p class="has-text-centered">' +
|
|
||||||
'<i class="fas fa-3x fa-pulse fa-spinner" aria-hidden="true"></i><br />' +
|
|
||||||
"Searching..." +
|
|
||||||
"</p>";
|
|
||||||
cityssm.postJSON(los.urlPrefix + "/lots/doSearchLots", lotSelectFormElement, (responseJSON) => {
|
cityssm.postJSON(los.urlPrefix + "/lots/doSearchLots", lotSelectFormElement, (responseJSON) => {
|
||||||
if (responseJSON.count === 0) {
|
if (responseJSON.count === 0) {
|
||||||
lotSelectResultsElement.innerHTML =
|
lotSelectResultsElement.innerHTML = `<div class="message is-info">
|
||||||
'<div class="message is-info">' +
|
<p class="message-body">No results.</p>
|
||||||
'<p class="message-body">' +
|
</div>`;
|
||||||
"No results." +
|
|
||||||
"</p>" +
|
|
||||||
"</div>";
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const panelElement = document.createElement("div");
|
const panelElement = document.createElement("div");
|
||||||
|
|
@ -359,14 +328,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
};
|
};
|
||||||
const createLotAndSelect = (submitEvent) => {
|
const createLotAndSelect = (submitEvent) => {
|
||||||
submitEvent.preventDefault();
|
submitEvent.preventDefault();
|
||||||
const lotName = lotSelectModalElement.querySelector("#lotCreate--lotName").value;
|
const lotName = lotSelectModalElement.querySelector("#lotCreate--lotName")
|
||||||
|
.value;
|
||||||
cityssm.postJSON(los.urlPrefix + "/lots/doCreateLot", submitEvent.currentTarget, (responseJSON) => {
|
cityssm.postJSON(los.urlPrefix + "/lots/doCreateLot", submitEvent.currentTarget, (responseJSON) => {
|
||||||
if (responseJSON.success) {
|
if (responseJSON.success) {
|
||||||
renderSelectedLotAndClose(responseJSON.lotId, lotName);
|
renderSelectedLotAndClose(responseJSON.lotId, lotName);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
title: "Error Creating " + exports.aliases.lot,
|
title: `Error Creating ${los.escapedAliases.Lot}`,
|
||||||
message: responseJSON.errorMessage || "",
|
message: responseJSON.errorMessage || "",
|
||||||
contextualColorName: "danger"
|
contextualColorName: "danger"
|
||||||
});
|
});
|
||||||
|
|
@ -384,8 +354,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
bulmaJS.init(modalElement);
|
bulmaJS.init(modalElement);
|
||||||
// search Tab
|
// search Tab
|
||||||
const lotNameFilterElement = modalElement.querySelector("#lotSelect--lotName");
|
const lotNameFilterElement = modalElement.querySelector("#lotSelect--lotName");
|
||||||
if (document.querySelector("#lotOccupancy--lotId").value !==
|
if (document.querySelector("#lotOccupancy--lotId").value !== "") {
|
||||||
"") {
|
|
||||||
lotNameFilterElement.value = currentLotName;
|
lotNameFilterElement.value = currentLotName;
|
||||||
}
|
}
|
||||||
lotNameFilterElement.focus();
|
lotNameFilterElement.focus();
|
||||||
|
|
@ -404,7 +373,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
// Create Tab
|
// Create Tab
|
||||||
if (exports.lotNamePattern) {
|
if (exports.lotNamePattern) {
|
||||||
const regex = exports.lotNamePattern;
|
const regex = exports.lotNamePattern;
|
||||||
modalElement.querySelector("#lotCreate--lotName").pattern = regex.source;
|
modalElement.querySelector("#lotCreate--lotName").pattern =
|
||||||
|
regex.source;
|
||||||
}
|
}
|
||||||
const lotTypeElement = modalElement.querySelector("#lotCreate--lotTypeId");
|
const lotTypeElement = modalElement.querySelector("#lotCreate--lotTypeId");
|
||||||
for (const lotType of exports.lotTypes) {
|
for (const lotType of exports.lotTypes) {
|
||||||
|
|
@ -441,7 +411,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
message: "No " + exports.aliases.lot.toLowerCase() + " selected.",
|
message: `No ${los.escapedAliases.lot} selected.`,
|
||||||
contextualColorName: "info"
|
contextualColorName: "info"
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
@ -454,7 +424,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
lotNameElement.value = "(No " + exports.aliases.lot + ")";
|
lotNameElement.value = `(No ${los.escapedAliases.Lot})`;
|
||||||
document.querySelector("#lotOccupancy--lotId").value = "";
|
document.querySelector("#lotOccupancy--lotId").value = "";
|
||||||
los.setUnsavedChanges();
|
los.setUnsavedChanges();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
(() => {
|
(() => {
|
||||||
var _a, _b, _c;
|
var _a, _b, _c;
|
||||||
const los = exports.los;
|
const los = exports.los;
|
||||||
const lotOccupancyId = document.querySelector("#lotOccupancy--lotOccupancyId").value;
|
const lotOccupancyId = document.querySelector("#lotOccupancy--lotOccupancyId")
|
||||||
|
.value;
|
||||||
const isCreate = lotOccupancyId === "";
|
const isCreate = lotOccupancyId === "";
|
||||||
/*
|
/*
|
||||||
* Main form
|
* Main form
|
||||||
|
|
@ -13,9 +14,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
const formElement = document.querySelector("#form--lotOccupancy");
|
const formElement = document.querySelector("#form--lotOccupancy");
|
||||||
formElement.addEventListener("submit", (formEvent) => {
|
formElement.addEventListener("submit", (formEvent) => {
|
||||||
formEvent.preventDefault();
|
formEvent.preventDefault();
|
||||||
cityssm.postJSON(los.urlPrefix +
|
cityssm.postJSON(los.urlPrefix + "/lotOccupancies/" + (isCreate ? "doCreateLotOccupancy" : "doUpdateLotOccupancy"), formElement, (responseJSON) => {
|
||||||
"/lotOccupancies/" +
|
|
||||||
(isCreate ? "doCreateLotOccupancy" : "doUpdateLotOccupancy"), formElement, (responseJSON) => {
|
|
||||||
if (responseJSON.success) {
|
if (responseJSON.success) {
|
||||||
los.clearUnsavedChanges();
|
los.clearUnsavedChanges();
|
||||||
if (isCreate || refreshAfterSave) {
|
if (isCreate || refreshAfterSave) {
|
||||||
|
|
@ -46,164 +45,150 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
for (const formInputElement of formInputElements) {
|
for (const formInputElement of formInputElements) {
|
||||||
formInputElement.addEventListener("change", los.setUnsavedChanges);
|
formInputElement.addEventListener("change", los.setUnsavedChanges);
|
||||||
}
|
}
|
||||||
if (!isCreate) {
|
const doCopy = () => {
|
||||||
const doCopy = () => {
|
cityssm.postJSON(los.urlPrefix + "/lotOccupancies/doCopyLotOccupancy", {
|
||||||
cityssm.postJSON(los.urlPrefix + "/lotOccupancies/doCopyLotOccupancy", {
|
lotOccupancyId
|
||||||
|
}, (responseJSON) => {
|
||||||
|
var _a;
|
||||||
|
if (responseJSON.success) {
|
||||||
|
cityssm.disableNavBlocker();
|
||||||
|
window.location.href =
|
||||||
|
los.urlPrefix +
|
||||||
|
"/lotOccupancies/" +
|
||||||
|
((_a = responseJSON.lotOccupancyId) === null || _a === void 0 ? void 0 : _a.toString()) +
|
||||||
|
"/edit";
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
bulmaJS.alert({
|
||||||
|
title: "Error Copying Record",
|
||||||
|
message: responseJSON.errorMessage || "",
|
||||||
|
contextualColorName: "danger"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
(_a = document.querySelector("#button--copyLotOccupancy")) === null || _a === void 0 ? void 0 : _a.addEventListener("click", (clickEvent) => {
|
||||||
|
clickEvent.preventDefault();
|
||||||
|
if (los.hasUnsavedChanges()) {
|
||||||
|
bulmaJS.alert({
|
||||||
|
title: "Unsaved Changes",
|
||||||
|
message: "Please save all unsaved changes before continuing.",
|
||||||
|
contextualColorName: "warning"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
bulmaJS.confirm({
|
||||||
|
title: "Copy " + los.escapedAliases.Occupancy + " Record as New",
|
||||||
|
message: "Are you sure you want to copy this record to a new record?",
|
||||||
|
contextualColorName: "info",
|
||||||
|
okButton: {
|
||||||
|
text: "Yes, Copy",
|
||||||
|
callbackFunction: doCopy
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
(_b = document.querySelector("#button--deleteLotOccupancy")) === null || _b === void 0 ? void 0 : _b.addEventListener("click", (clickEvent) => {
|
||||||
|
clickEvent.preventDefault();
|
||||||
|
const doDelete = () => {
|
||||||
|
cityssm.postJSON(los.urlPrefix + "/lotOccupancies/doDeleteLotOccupancy", {
|
||||||
lotOccupancyId
|
lotOccupancyId
|
||||||
}, (responseJSON) => {
|
}, (responseJSON) => {
|
||||||
var _a;
|
|
||||||
if (responseJSON.success) {
|
if (responseJSON.success) {
|
||||||
cityssm.disableNavBlocker();
|
cityssm.disableNavBlocker();
|
||||||
window.location.href =
|
window.location.href = los.urlPrefix + "/lotOccupancies?t=" + Date.now();
|
||||||
los.urlPrefix +
|
|
||||||
"/lotOccupancies/" +
|
|
||||||
((_a = responseJSON.lotOccupancyId) === null || _a === void 0 ? void 0 : _a.toString()) +
|
|
||||||
"/edit";
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
title: "Error Copying Record",
|
title: "Error Deleting Record",
|
||||||
message: responseJSON.errorMessage || "",
|
message: responseJSON.errorMessage || "",
|
||||||
contextualColorName: "danger"
|
contextualColorName: "danger"
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
(_a = document
|
bulmaJS.confirm({
|
||||||
.querySelector("#button--copyLotOccupancy")) === null || _a === void 0 ? void 0 : _a.addEventListener("click", (clickEvent) => {
|
title: "Delete " + exports.aliases.occupancy + " Record",
|
||||||
clickEvent.preventDefault();
|
message: "Are you sure you want to delete this record?",
|
||||||
if (los.hasUnsavedChanges()) {
|
contextualColorName: "warning",
|
||||||
bulmaJS.alert({
|
okButton: {
|
||||||
title: "Unsaved Changes",
|
text: "Yes, Delete",
|
||||||
message: "Please save all unsaved changes before continuing.",
|
callbackFunction: doDelete
|
||||||
contextualColorName: "warning"
|
|
||||||
});
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
bulmaJS.confirm({
|
|
||||||
title: "Copy " + exports.aliases.occupancy + " Record as New",
|
|
||||||
message: "Are you sure you want to copy this record to a new record?",
|
|
||||||
contextualColorName: "info",
|
|
||||||
okButton: {
|
|
||||||
text: "Yes, Copy",
|
|
||||||
callbackFunction: doCopy
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
(_b = document
|
});
|
||||||
.querySelector("#button--deleteLotOccupancy")) === null || _b === void 0 ? void 0 : _b.addEventListener("click", (clickEvent) => {
|
(_c = document.querySelector("#button--createWorkOrder")) === null || _c === void 0 ? void 0 : _c.addEventListener("click", (clickEvent) => {
|
||||||
clickEvent.preventDefault();
|
clickEvent.preventDefault();
|
||||||
const doDelete = () => {
|
let createCloseModalFunction;
|
||||||
cityssm.postJSON(los.urlPrefix + "/lotOccupancies/doDeleteLotOccupancy", {
|
const doCreate = (formEvent) => {
|
||||||
lotOccupancyId
|
formEvent.preventDefault();
|
||||||
}, (responseJSON) => {
|
cityssm.postJSON(los.urlPrefix + "/workOrders/doCreateWorkOrder", formEvent.currentTarget, (responseJSON) => {
|
||||||
if (responseJSON.success) {
|
if (responseJSON.success) {
|
||||||
cityssm.disableNavBlocker();
|
createCloseModalFunction();
|
||||||
window.location.href =
|
bulmaJS.confirm({
|
||||||
los.urlPrefix + "/lotOccupancies?t=" + Date.now();
|
title: "Work Order Created Successfully",
|
||||||
}
|
message: "Would you like to open the work order now?",
|
||||||
else {
|
contextualColorName: "success",
|
||||||
bulmaJS.alert({
|
okButton: {
|
||||||
title: "Error Deleting Record",
|
text: "Yes, Open the Work Order",
|
||||||
message: responseJSON.errorMessage || "",
|
callbackFunction: () => {
|
||||||
contextualColorName: "danger"
|
window.location.href =
|
||||||
});
|
los.urlPrefix + "/workOrders/" + responseJSON.workOrderId + "/edit";
|
||||||
}
|
|
||||||
});
|
|
||||||
};
|
|
||||||
bulmaJS.confirm({
|
|
||||||
title: "Delete " + exports.aliases.occupancy + " Record",
|
|
||||||
message: "Are you sure you want to delete this record?",
|
|
||||||
contextualColorName: "warning",
|
|
||||||
okButton: {
|
|
||||||
text: "Yes, Delete",
|
|
||||||
callbackFunction: doDelete
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
(_c = document
|
|
||||||
.querySelector("#button--createWorkOrder")) === null || _c === void 0 ? void 0 : _c.addEventListener("click", (clickEvent) => {
|
|
||||||
clickEvent.preventDefault();
|
|
||||||
let createCloseModalFunction;
|
|
||||||
const doCreate = (formEvent) => {
|
|
||||||
formEvent.preventDefault();
|
|
||||||
cityssm.postJSON(los.urlPrefix + "/workOrders/doCreateWorkOrder", formEvent.currentTarget, (responseJSON) => {
|
|
||||||
if (responseJSON.success) {
|
|
||||||
createCloseModalFunction();
|
|
||||||
bulmaJS.confirm({
|
|
||||||
title: "Work Order Created Successfully",
|
|
||||||
message: "Would you like to open the work order now?",
|
|
||||||
contextualColorName: "success",
|
|
||||||
okButton: {
|
|
||||||
text: "Yes, Open the Work Order",
|
|
||||||
callbackFunction: () => {
|
|
||||||
window.location.href =
|
|
||||||
los.urlPrefix +
|
|
||||||
"/workOrders/" +
|
|
||||||
responseJSON.workOrderId +
|
|
||||||
"/edit";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
});
|
}
|
||||||
}
|
});
|
||||||
else {
|
}
|
||||||
bulmaJS.alert({
|
else {
|
||||||
title: "Error Creating Work Order",
|
bulmaJS.alert({
|
||||||
message: responseJSON.errorMessage,
|
title: "Error Creating Work Order",
|
||||||
contextualColorName: "danger"
|
message: responseJSON.errorMessage,
|
||||||
});
|
contextualColorName: "danger"
|
||||||
}
|
});
|
||||||
});
|
|
||||||
};
|
|
||||||
cityssm.openHtmlModal("lotOccupancy-createWorkOrder", {
|
|
||||||
onshow: (modalElement) => {
|
|
||||||
modalElement.querySelector("#workOrderCreate--lotOccupancyId").value = lotOccupancyId;
|
|
||||||
modalElement.querySelector("#workOrderCreate--workOrderOpenDateString").value = cityssm.dateToString(new Date());
|
|
||||||
const workOrderTypeSelectElement = modalElement.querySelector("#workOrderCreate--workOrderTypeId");
|
|
||||||
const workOrderTypes = exports.workOrderTypes;
|
|
||||||
if (workOrderTypes.length === 1) {
|
|
||||||
workOrderTypeSelectElement.innerHTML = "";
|
|
||||||
}
|
|
||||||
for (const workOrderType of workOrderTypes) {
|
|
||||||
const optionElement = document.createElement("option");
|
|
||||||
optionElement.value = workOrderType.workOrderTypeId.toString();
|
|
||||||
optionElement.textContent = workOrderType.workOrderType;
|
|
||||||
workOrderTypeSelectElement.append(optionElement);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
onshown: (modalElement, closeModalFunction) => {
|
|
||||||
var _a;
|
|
||||||
createCloseModalFunction = closeModalFunction;
|
|
||||||
(_a = modalElement.querySelector("form")) === null || _a === void 0 ? void 0 : _a.addEventListener("submit", doCreate);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
};
|
||||||
|
cityssm.openHtmlModal("lotOccupancy-createWorkOrder", {
|
||||||
|
onshow(modalElement) {
|
||||||
|
modalElement.querySelector("#workOrderCreate--lotOccupancyId").value =
|
||||||
|
lotOccupancyId;
|
||||||
|
modalElement.querySelector("#workOrderCreate--workOrderOpenDateString").value = cityssm.dateToString(new Date());
|
||||||
|
const workOrderTypeSelectElement = modalElement.querySelector("#workOrderCreate--workOrderTypeId");
|
||||||
|
const workOrderTypes = exports.workOrderTypes;
|
||||||
|
if (workOrderTypes.length === 1) {
|
||||||
|
workOrderTypeSelectElement.innerHTML = "";
|
||||||
|
}
|
||||||
|
for (const workOrderType of workOrderTypes) {
|
||||||
|
const optionElement = document.createElement("option");
|
||||||
|
optionElement.value = workOrderType.workOrderTypeId.toString();
|
||||||
|
optionElement.textContent = workOrderType.workOrderType;
|
||||||
|
workOrderTypeSelectElement.append(optionElement);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onshown(modalElement, closeModalFunction) {
|
||||||
|
var _a;
|
||||||
|
createCloseModalFunction = closeModalFunction;
|
||||||
|
(_a = modalElement.querySelector("form")) === null || _a === void 0 ? void 0 : _a.addEventListener("submit", doCreate);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
});
|
||||||
// Occupancy Type
|
// Occupancy Type
|
||||||
const occupancyTypeIdElement = document.querySelector("#lotOccupancy--occupancyTypeId");
|
const occupancyTypeIdElement = document.querySelector("#lotOccupancy--occupancyTypeId");
|
||||||
if (isCreate) {
|
if (isCreate) {
|
||||||
const lotOccupancyFieldsContainerElement = document.querySelector("#container--lotOccupancyFields");
|
const lotOccupancyFieldsContainerElement = document.querySelector("#container--lotOccupancyFields");
|
||||||
occupancyTypeIdElement.addEventListener("change", () => {
|
occupancyTypeIdElement.addEventListener("change", () => {
|
||||||
if (occupancyTypeIdElement.value === "") {
|
if (occupancyTypeIdElement.value === "") {
|
||||||
lotOccupancyFieldsContainerElement.innerHTML =
|
lotOccupancyFieldsContainerElement.innerHTML = `<div class="message is-info">
|
||||||
'<div class="message is-info">' +
|
<p class="message-body">Select the ${los.escapedAliases.occupancy} type to load the available fields.</p>
|
||||||
'<p class="message-body">Select the ' +
|
</div>`;
|
||||||
exports.aliases.occupancy.toLowerCase() +
|
|
||||||
" type to load the available fields.</p>" +
|
|
||||||
"</div>";
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
cityssm.postJSON(los.urlPrefix + "/lotOccupancies/doGetOccupancyTypeFields", {
|
cityssm.postJSON(los.urlPrefix + "/lotOccupancies/doGetOccupancyTypeFields", {
|
||||||
occupancyTypeId: occupancyTypeIdElement.value
|
occupancyTypeId: occupancyTypeIdElement.value
|
||||||
}, (responseJSON) => {
|
}, (responseJSON) => {
|
||||||
if (responseJSON.occupancyTypeFields.length === 0) {
|
if (responseJSON.occupancyTypeFields.length === 0) {
|
||||||
lotOccupancyFieldsContainerElement.innerHTML =
|
lotOccupancyFieldsContainerElement.innerHTML = `<div class="message is-info">
|
||||||
'<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 ' +
|
</div>`;
|
||||||
exports.aliases.occupancy.toLowerCase() +
|
|
||||||
" type.</p>" +
|
|
||||||
"</div>";
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
lotOccupancyFieldsContainerElement.innerHTML = "";
|
lotOccupancyFieldsContainerElement.innerHTML = "";
|
||||||
|
|
@ -214,11 +199,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
const fieldId = "lotOccupancy--" + fieldName;
|
const fieldId = "lotOccupancy--" + fieldName;
|
||||||
const fieldElement = document.createElement("div");
|
const fieldElement = document.createElement("div");
|
||||||
fieldElement.className = "field";
|
fieldElement.className = "field";
|
||||||
fieldElement.innerHTML =
|
fieldElement.innerHTML = `<label class="label" for="${fieldId}"></label><div class="control"></div>`;
|
||||||
'<label class="label" for="' +
|
|
||||||
fieldId +
|
|
||||||
'"></label>' +
|
|
||||||
'<div class="control"></div>';
|
|
||||||
fieldElement.querySelector("label").textContent =
|
fieldElement.querySelector("label").textContent =
|
||||||
occupancyTypeField.occupancyTypeField;
|
occupancyTypeField.occupancyTypeField;
|
||||||
if (occupancyTypeField.occupancyTypeFieldValues === "") {
|
if (occupancyTypeField.occupancyTypeFieldValues === "") {
|
||||||
|
|
@ -256,9 +237,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
}
|
}
|
||||||
lotOccupancyFieldsContainerElement.append(fieldElement);
|
lotOccupancyFieldsContainerElement.append(fieldElement);
|
||||||
}
|
}
|
||||||
lotOccupancyFieldsContainerElement.insertAdjacentHTML("beforeend", '<input name="occupancyTypeFieldIds" type="hidden" value="' +
|
lotOccupancyFieldsContainerElement.insertAdjacentHTML("beforeend", `<input name="occupancyTypeFieldIds" type="hidden" value="${occupancyTypeFieldIds.slice(1)}" />`);
|
||||||
occupancyTypeFieldIds.slice(1) +
|
|
||||||
'" />');
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
@ -268,10 +247,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
if (occupancyTypeIdElement.value !== originalOccupancyTypeId) {
|
if (occupancyTypeIdElement.value !== originalOccupancyTypeId) {
|
||||||
bulmaJS.confirm({
|
bulmaJS.confirm({
|
||||||
title: "Confirm Change",
|
title: "Confirm Change",
|
||||||
message: "Are you sure you want to change the " +
|
message: `Are you sure you want to change the ${los.escapedAliases.occupancy} type?\n
|
||||||
exports.aliases.occupancy.toLowerCase() +
|
This change affects the additional fields associated with this record, and may also affect the available fees.`,
|
||||||
" type?\n" +
|
|
||||||
"This change affects the additional fields associated with this record, and may also affect the available fees.",
|
|
||||||
contextualColorName: "warning",
|
contextualColorName: "warning",
|
||||||
okButton: {
|
okButton: {
|
||||||
text: "Yes, Keep the Change",
|
text: "Yes, Keep the Change",
|
||||||
|
|
@ -298,8 +275,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
let lotSelectFormElement;
|
let lotSelectFormElement;
|
||||||
let lotSelectResultsElement;
|
let lotSelectResultsElement;
|
||||||
const renderSelectedLotAndClose = (lotId, lotName) => {
|
const renderSelectedLotAndClose = (lotId, lotName) => {
|
||||||
document.querySelector("#lotOccupancy--lotId").value =
|
document.querySelector("#lotOccupancy--lotId").value = lotId.toString();
|
||||||
lotId.toString();
|
|
||||||
document.querySelector("#lotOccupancy--lotName").value = lotName;
|
document.querySelector("#lotOccupancy--lotName").value = lotName;
|
||||||
los.setUnsavedChanges();
|
los.setUnsavedChanges();
|
||||||
lotSelectCloseModalFunction();
|
lotSelectCloseModalFunction();
|
||||||
|
|
@ -310,19 +286,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
renderSelectedLotAndClose(selectedLotElement.dataset.lotId, selectedLotElement.dataset.lotName);
|
renderSelectedLotAndClose(selectedLotElement.dataset.lotId, selectedLotElement.dataset.lotName);
|
||||||
};
|
};
|
||||||
const searchLots = () => {
|
const searchLots = () => {
|
||||||
lotSelectResultsElement.innerHTML =
|
lotSelectResultsElement.innerHTML = los.getLoadingParagraphHTML("Searching...");
|
||||||
'<p class="has-text-centered">' +
|
|
||||||
'<i class="fas fa-3x fa-pulse fa-spinner" aria-hidden="true"></i><br />' +
|
|
||||||
"Searching..." +
|
|
||||||
"</p>";
|
|
||||||
cityssm.postJSON(los.urlPrefix + "/lots/doSearchLots", lotSelectFormElement, (responseJSON) => {
|
cityssm.postJSON(los.urlPrefix + "/lots/doSearchLots", lotSelectFormElement, (responseJSON) => {
|
||||||
if (responseJSON.count === 0) {
|
if (responseJSON.count === 0) {
|
||||||
lotSelectResultsElement.innerHTML =
|
lotSelectResultsElement.innerHTML = `<div class="message is-info">
|
||||||
'<div class="message is-info">' +
|
<p class="message-body">No results.</p>
|
||||||
'<p class="message-body">' +
|
</div>`;
|
||||||
"No results." +
|
|
||||||
"</p>" +
|
|
||||||
"</div>";
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const panelElement = document.createElement("div");
|
const panelElement = document.createElement("div");
|
||||||
|
|
@ -359,14 +328,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
};
|
};
|
||||||
const createLotAndSelect = (submitEvent) => {
|
const createLotAndSelect = (submitEvent) => {
|
||||||
submitEvent.preventDefault();
|
submitEvent.preventDefault();
|
||||||
const lotName = lotSelectModalElement.querySelector("#lotCreate--lotName").value;
|
const lotName = lotSelectModalElement.querySelector("#lotCreate--lotName")
|
||||||
|
.value;
|
||||||
cityssm.postJSON(los.urlPrefix + "/lots/doCreateLot", submitEvent.currentTarget, (responseJSON) => {
|
cityssm.postJSON(los.urlPrefix + "/lots/doCreateLot", submitEvent.currentTarget, (responseJSON) => {
|
||||||
if (responseJSON.success) {
|
if (responseJSON.success) {
|
||||||
renderSelectedLotAndClose(responseJSON.lotId, lotName);
|
renderSelectedLotAndClose(responseJSON.lotId, lotName);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
title: "Error Creating " + exports.aliases.lot,
|
title: `Error Creating ${los.escapedAliases.Lot}`,
|
||||||
message: responseJSON.errorMessage || "",
|
message: responseJSON.errorMessage || "",
|
||||||
contextualColorName: "danger"
|
contextualColorName: "danger"
|
||||||
});
|
});
|
||||||
|
|
@ -384,8 +354,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
bulmaJS.init(modalElement);
|
bulmaJS.init(modalElement);
|
||||||
// search Tab
|
// search Tab
|
||||||
const lotNameFilterElement = modalElement.querySelector("#lotSelect--lotName");
|
const lotNameFilterElement = modalElement.querySelector("#lotSelect--lotName");
|
||||||
if (document.querySelector("#lotOccupancy--lotId").value !==
|
if (document.querySelector("#lotOccupancy--lotId").value !== "") {
|
||||||
"") {
|
|
||||||
lotNameFilterElement.value = currentLotName;
|
lotNameFilterElement.value = currentLotName;
|
||||||
}
|
}
|
||||||
lotNameFilterElement.focus();
|
lotNameFilterElement.focus();
|
||||||
|
|
@ -404,7 +373,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
// Create Tab
|
// Create Tab
|
||||||
if (exports.lotNamePattern) {
|
if (exports.lotNamePattern) {
|
||||||
const regex = exports.lotNamePattern;
|
const regex = exports.lotNamePattern;
|
||||||
modalElement.querySelector("#lotCreate--lotName").pattern = regex.source;
|
modalElement.querySelector("#lotCreate--lotName").pattern =
|
||||||
|
regex.source;
|
||||||
}
|
}
|
||||||
const lotTypeElement = modalElement.querySelector("#lotCreate--lotTypeId");
|
const lotTypeElement = modalElement.querySelector("#lotCreate--lotTypeId");
|
||||||
for (const lotType of exports.lotTypes) {
|
for (const lotType of exports.lotTypes) {
|
||||||
|
|
@ -441,7 +411,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
message: "No " + exports.aliases.lot.toLowerCase() + " selected.",
|
message: `No ${los.escapedAliases.lot} selected.`,
|
||||||
contextualColorName: "info"
|
contextualColorName: "info"
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
@ -454,7 +424,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
lotNameElement.value = "(No " + exports.aliases.lot + ")";
|
lotNameElement.value = `(No ${los.escapedAliases.Lot})`;
|
||||||
document.querySelector("#lotOccupancy--lotId").value = "";
|
document.querySelector("#lotOccupancy--lotId").value = "";
|
||||||
los.setUnsavedChanges();
|
los.setUnsavedChanges();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -13,9 +13,8 @@ declare const bulmaJS: BulmaJS;
|
||||||
(() => {
|
(() => {
|
||||||
const los = exports.los as globalTypes.LOS;
|
const los = exports.los as globalTypes.LOS;
|
||||||
|
|
||||||
const lotOccupancyId = (
|
const lotOccupancyId = (document.querySelector("#lotOccupancy--lotOccupancyId") as HTMLInputElement)
|
||||||
document.querySelector("#lotOccupancy--lotOccupancyId") as HTMLInputElement
|
.value;
|
||||||
).value;
|
|
||||||
const isCreate = lotOccupancyId === "";
|
const isCreate = lotOccupancyId === "";
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -30,15 +29,9 @@ declare const bulmaJS: BulmaJS;
|
||||||
formEvent.preventDefault();
|
formEvent.preventDefault();
|
||||||
|
|
||||||
cityssm.postJSON(
|
cityssm.postJSON(
|
||||||
los.urlPrefix +
|
los.urlPrefix + "/lotOccupancies/" + (isCreate ? "doCreateLotOccupancy" : "doUpdateLotOccupancy"),
|
||||||
"/lotOccupancies/" +
|
|
||||||
(isCreate ? "doCreateLotOccupancy" : "doUpdateLotOccupancy"),
|
|
||||||
formElement,
|
formElement,
|
||||||
(responseJSON: {
|
(responseJSON: { success: boolean; lotOccupancyId?: number; errorMessage?: string }) => {
|
||||||
success: boolean;
|
|
||||||
lotOccupancyId?: number;
|
|
||||||
errorMessage?: string;
|
|
||||||
}) => {
|
|
||||||
if (responseJSON.success) {
|
if (responseJSON.success) {
|
||||||
los.clearUnsavedChanges();
|
los.clearUnsavedChanges();
|
||||||
|
|
||||||
|
|
@ -72,28 +65,69 @@ declare const bulmaJS: BulmaJS;
|
||||||
formInputElement.addEventListener("change", los.setUnsavedChanges);
|
formInputElement.addEventListener("change", los.setUnsavedChanges);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!isCreate) {
|
const doCopy = () => {
|
||||||
const doCopy = () => {
|
cityssm.postJSON(
|
||||||
|
los.urlPrefix + "/lotOccupancies/doCopyLotOccupancy",
|
||||||
|
{
|
||||||
|
lotOccupancyId
|
||||||
|
},
|
||||||
|
(responseJSON: { success: boolean; errorMessage?: string; lotOccupancyId?: number }) => {
|
||||||
|
if (responseJSON.success) {
|
||||||
|
cityssm.disableNavBlocker();
|
||||||
|
window.location.href =
|
||||||
|
los.urlPrefix +
|
||||||
|
"/lotOccupancies/" +
|
||||||
|
responseJSON.lotOccupancyId?.toString() +
|
||||||
|
"/edit";
|
||||||
|
} else {
|
||||||
|
bulmaJS.alert({
|
||||||
|
title: "Error Copying Record",
|
||||||
|
message: responseJSON.errorMessage || "",
|
||||||
|
contextualColorName: "danger"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
document.querySelector("#button--copyLotOccupancy")?.addEventListener("click", (clickEvent) => {
|
||||||
|
clickEvent.preventDefault();
|
||||||
|
|
||||||
|
if (los.hasUnsavedChanges()) {
|
||||||
|
bulmaJS.alert({
|
||||||
|
title: "Unsaved Changes",
|
||||||
|
message: "Please save all unsaved changes before continuing.",
|
||||||
|
contextualColorName: "warning"
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
bulmaJS.confirm({
|
||||||
|
title: "Copy " + los.escapedAliases.Occupancy + " Record as New",
|
||||||
|
message: "Are you sure you want to copy this record to a new record?",
|
||||||
|
contextualColorName: "info",
|
||||||
|
okButton: {
|
||||||
|
text: "Yes, Copy",
|
||||||
|
callbackFunction: doCopy
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
document.querySelector("#button--deleteLotOccupancy")?.addEventListener("click", (clickEvent) => {
|
||||||
|
clickEvent.preventDefault();
|
||||||
|
|
||||||
|
const doDelete = () => {
|
||||||
cityssm.postJSON(
|
cityssm.postJSON(
|
||||||
los.urlPrefix + "/lotOccupancies/doCopyLotOccupancy",
|
los.urlPrefix + "/lotOccupancies/doDeleteLotOccupancy",
|
||||||
{
|
{
|
||||||
lotOccupancyId
|
lotOccupancyId
|
||||||
},
|
},
|
||||||
(responseJSON: {
|
(responseJSON: { success: boolean; errorMessage?: string }) => {
|
||||||
success: boolean;
|
|
||||||
errorMessage?: string;
|
|
||||||
lotOccupancyId?: number;
|
|
||||||
}) => {
|
|
||||||
if (responseJSON.success) {
|
if (responseJSON.success) {
|
||||||
cityssm.disableNavBlocker();
|
cityssm.disableNavBlocker();
|
||||||
window.location.href =
|
window.location.href = los.urlPrefix + "/lotOccupancies?t=" + Date.now();
|
||||||
los.urlPrefix +
|
|
||||||
"/lotOccupancies/" +
|
|
||||||
responseJSON.lotOccupancyId?.toString() +
|
|
||||||
"/edit";
|
|
||||||
} else {
|
} else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
title: "Error Copying Record",
|
title: "Error Deleting Record",
|
||||||
message: responseJSON.errorMessage || "",
|
message: responseJSON.errorMessage || "",
|
||||||
contextualColorName: "danger"
|
contextualColorName: "danger"
|
||||||
});
|
});
|
||||||
|
|
@ -102,157 +136,90 @@ declare const bulmaJS: BulmaJS;
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
document
|
bulmaJS.confirm({
|
||||||
.querySelector("#button--copyLotOccupancy")
|
title: "Delete " + exports.aliases.occupancy + " Record",
|
||||||
?.addEventListener("click", (clickEvent) => {
|
message: "Are you sure you want to delete this record?",
|
||||||
clickEvent.preventDefault();
|
contextualColorName: "warning",
|
||||||
|
okButton: {
|
||||||
|
text: "Yes, Delete",
|
||||||
|
callbackFunction: doDelete
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
if (los.hasUnsavedChanges()) {
|
document.querySelector("#button--createWorkOrder")?.addEventListener("click", (clickEvent) => {
|
||||||
bulmaJS.alert({
|
clickEvent.preventDefault();
|
||||||
title: "Unsaved Changes",
|
|
||||||
message: "Please save all unsaved changes before continuing.",
|
let createCloseModalFunction: () => void;
|
||||||
contextualColorName: "warning"
|
|
||||||
});
|
const doCreate = (formEvent: SubmitEvent) => {
|
||||||
} else {
|
formEvent.preventDefault();
|
||||||
bulmaJS.confirm({
|
|
||||||
title: "Copy " + exports.aliases.occupancy + " Record as New",
|
cityssm.postJSON(
|
||||||
message: "Are you sure you want to copy this record to a new record?",
|
los.urlPrefix + "/workOrders/doCreateWorkOrder",
|
||||||
contextualColorName: "info",
|
formEvent.currentTarget,
|
||||||
okButton: {
|
(responseJSON: { success: boolean; errorMessage?: string; workOrderId?: number }) => {
|
||||||
text: "Yes, Copy",
|
if (responseJSON.success) {
|
||||||
callbackFunction: doCopy
|
createCloseModalFunction();
|
||||||
}
|
|
||||||
});
|
bulmaJS.confirm({
|
||||||
|
title: "Work Order Created Successfully",
|
||||||
|
message: "Would you like to open the work order now?",
|
||||||
|
contextualColorName: "success",
|
||||||
|
okButton: {
|
||||||
|
text: "Yes, Open the Work Order",
|
||||||
|
callbackFunction: () => {
|
||||||
|
window.location.href =
|
||||||
|
los.urlPrefix + "/workOrders/" + responseJSON.workOrderId + "/edit";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
bulmaJS.alert({
|
||||||
|
title: "Error Creating Work Order",
|
||||||
|
message: responseJSON.errorMessage as string,
|
||||||
|
contextualColorName: "danger"
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
);
|
||||||
|
};
|
||||||
|
|
||||||
document
|
cityssm.openHtmlModal("lotOccupancy-createWorkOrder", {
|
||||||
.querySelector("#button--deleteLotOccupancy")
|
onshow(modalElement) {
|
||||||
?.addEventListener("click", (clickEvent) => {
|
(modalElement.querySelector("#workOrderCreate--lotOccupancyId") as HTMLInputElement).value =
|
||||||
clickEvent.preventDefault();
|
lotOccupancyId;
|
||||||
|
|
||||||
const doDelete = () => {
|
(
|
||||||
cityssm.postJSON(
|
modalElement.querySelector(
|
||||||
los.urlPrefix + "/lotOccupancies/doDeleteLotOccupancy",
|
"#workOrderCreate--workOrderOpenDateString"
|
||||||
{
|
) as HTMLInputElement
|
||||||
lotOccupancyId
|
).value = cityssm.dateToString(new Date());
|
||||||
},
|
|
||||||
(responseJSON: { success: boolean; errorMessage?: string }) => {
|
|
||||||
if (responseJSON.success) {
|
|
||||||
cityssm.disableNavBlocker();
|
|
||||||
window.location.href =
|
|
||||||
los.urlPrefix + "/lotOccupancies?t=" + Date.now();
|
|
||||||
} else {
|
|
||||||
bulmaJS.alert({
|
|
||||||
title: "Error Deleting Record",
|
|
||||||
message: responseJSON.errorMessage || "",
|
|
||||||
contextualColorName: "danger"
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
bulmaJS.confirm({
|
const workOrderTypeSelectElement = modalElement.querySelector(
|
||||||
title: "Delete " + exports.aliases.occupancy + " Record",
|
"#workOrderCreate--workOrderTypeId"
|
||||||
message: "Are you sure you want to delete this record?",
|
) as HTMLSelectElement;
|
||||||
contextualColorName: "warning",
|
|
||||||
okButton: {
|
|
||||||
text: "Yes, Delete",
|
|
||||||
callbackFunction: doDelete
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
document
|
const workOrderTypes = exports.workOrderTypes as recordTypes.WorkOrderType[];
|
||||||
.querySelector("#button--createWorkOrder")
|
|
||||||
?.addEventListener("click", (clickEvent) => {
|
|
||||||
clickEvent.preventDefault();
|
|
||||||
|
|
||||||
let createCloseModalFunction: () => void;
|
if (workOrderTypes.length === 1) {
|
||||||
|
workOrderTypeSelectElement.innerHTML = "";
|
||||||
|
}
|
||||||
|
|
||||||
const doCreate = (formEvent: SubmitEvent) => {
|
for (const workOrderType of workOrderTypes) {
|
||||||
formEvent.preventDefault();
|
const optionElement = document.createElement("option");
|
||||||
|
optionElement.value = (workOrderType.workOrderTypeId as number).toString();
|
||||||
|
optionElement.textContent = workOrderType.workOrderType as string;
|
||||||
|
workOrderTypeSelectElement.append(optionElement);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onshown(modalElement, closeModalFunction) {
|
||||||
|
createCloseModalFunction = closeModalFunction;
|
||||||
|
|
||||||
cityssm.postJSON(
|
modalElement.querySelector("form")?.addEventListener("submit", doCreate);
|
||||||
los.urlPrefix + "/workOrders/doCreateWorkOrder",
|
}
|
||||||
formEvent.currentTarget,
|
});
|
||||||
(responseJSON: {
|
});
|
||||||
success: boolean;
|
|
||||||
errorMessage?: string;
|
|
||||||
workOrderId?: number;
|
|
||||||
}) => {
|
|
||||||
if (responseJSON.success) {
|
|
||||||
createCloseModalFunction();
|
|
||||||
|
|
||||||
bulmaJS.confirm({
|
|
||||||
title: "Work Order Created Successfully",
|
|
||||||
message: "Would you like to open the work order now?",
|
|
||||||
contextualColorName: "success",
|
|
||||||
okButton: {
|
|
||||||
text: "Yes, Open the Work Order",
|
|
||||||
callbackFunction: () => {
|
|
||||||
window.location.href =
|
|
||||||
los.urlPrefix +
|
|
||||||
"/workOrders/" +
|
|
||||||
responseJSON.workOrderId +
|
|
||||||
"/edit";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
bulmaJS.alert({
|
|
||||||
title: "Error Creating Work Order",
|
|
||||||
message: responseJSON.errorMessage as string,
|
|
||||||
contextualColorName: "danger"
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
cityssm.openHtmlModal("lotOccupancy-createWorkOrder", {
|
|
||||||
onshow: (modalElement) => {
|
|
||||||
(
|
|
||||||
modalElement.querySelector(
|
|
||||||
"#workOrderCreate--lotOccupancyId"
|
|
||||||
) as HTMLInputElement
|
|
||||||
).value = lotOccupancyId;
|
|
||||||
|
|
||||||
(
|
|
||||||
modalElement.querySelector(
|
|
||||||
"#workOrderCreate--workOrderOpenDateString"
|
|
||||||
) as HTMLInputElement
|
|
||||||
).value = cityssm.dateToString(new Date());
|
|
||||||
|
|
||||||
const workOrderTypeSelectElement = modalElement.querySelector(
|
|
||||||
"#workOrderCreate--workOrderTypeId"
|
|
||||||
) as HTMLSelectElement;
|
|
||||||
|
|
||||||
const workOrderTypes =
|
|
||||||
exports.workOrderTypes as recordTypes.WorkOrderType[];
|
|
||||||
|
|
||||||
if (workOrderTypes.length === 1) {
|
|
||||||
workOrderTypeSelectElement.innerHTML = "";
|
|
||||||
}
|
|
||||||
|
|
||||||
for (const workOrderType of workOrderTypes) {
|
|
||||||
const optionElement = document.createElement("option");
|
|
||||||
optionElement.value = (
|
|
||||||
workOrderType.workOrderTypeId as number
|
|
||||||
).toString();
|
|
||||||
optionElement.textContent = workOrderType.workOrderType as string;
|
|
||||||
workOrderTypeSelectElement.append(optionElement);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
onshown: (modalElement, closeModalFunction) => {
|
|
||||||
createCloseModalFunction = closeModalFunction;
|
|
||||||
|
|
||||||
modalElement.querySelector("form")?.addEventListener("submit", doCreate);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
// Occupancy Type
|
// Occupancy Type
|
||||||
|
|
||||||
|
|
@ -267,12 +234,9 @@ declare const bulmaJS: BulmaJS;
|
||||||
|
|
||||||
occupancyTypeIdElement.addEventListener("change", () => {
|
occupancyTypeIdElement.addEventListener("change", () => {
|
||||||
if (occupancyTypeIdElement.value === "") {
|
if (occupancyTypeIdElement.value === "") {
|
||||||
lotOccupancyFieldsContainerElement.innerHTML =
|
lotOccupancyFieldsContainerElement.innerHTML = `<div class="message is-info">
|
||||||
'<div class="message is-info">' +
|
<p class="message-body">Select the ${los.escapedAliases.occupancy} type to load the available fields.</p>
|
||||||
'<p class="message-body">Select the ' +
|
</div>`;
|
||||||
exports.aliases.occupancy.toLowerCase() +
|
|
||||||
" type to load the available fields.</p>" +
|
|
||||||
"</div>";
|
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -284,12 +248,9 @@ declare const bulmaJS: BulmaJS;
|
||||||
},
|
},
|
||||||
(responseJSON: { occupancyTypeFields: recordTypes.OccupancyTypeField[] }) => {
|
(responseJSON: { occupancyTypeFields: recordTypes.OccupancyTypeField[] }) => {
|
||||||
if (responseJSON.occupancyTypeFields.length === 0) {
|
if (responseJSON.occupancyTypeFields.length === 0) {
|
||||||
lotOccupancyFieldsContainerElement.innerHTML =
|
lotOccupancyFieldsContainerElement.innerHTML = `<div class="message is-info">
|
||||||
'<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 ' +
|
</div>`;
|
||||||
exports.aliases.occupancy.toLowerCase() +
|
|
||||||
" type.</p>" +
|
|
||||||
"</div>";
|
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -301,18 +262,13 @@ declare const bulmaJS: BulmaJS;
|
||||||
for (const occupancyTypeField of responseJSON.occupancyTypeFields) {
|
for (const occupancyTypeField of responseJSON.occupancyTypeFields) {
|
||||||
occupancyTypeFieldIds += "," + occupancyTypeField.occupancyTypeFieldId;
|
occupancyTypeFieldIds += "," + occupancyTypeField.occupancyTypeFieldId;
|
||||||
|
|
||||||
const fieldName =
|
const fieldName = "lotOccupancyFieldValue_" + occupancyTypeField.occupancyTypeFieldId;
|
||||||
"lotOccupancyFieldValue_" + occupancyTypeField.occupancyTypeFieldId;
|
|
||||||
|
|
||||||
const fieldId = "lotOccupancy--" + fieldName;
|
const fieldId = "lotOccupancy--" + fieldName;
|
||||||
|
|
||||||
const fieldElement = document.createElement("div");
|
const fieldElement = document.createElement("div");
|
||||||
fieldElement.className = "field";
|
fieldElement.className = "field";
|
||||||
fieldElement.innerHTML =
|
fieldElement.innerHTML = `<label class="label" for="${fieldId}"></label><div class="control"></div>`;
|
||||||
'<label class="label" for="' +
|
|
||||||
fieldId +
|
|
||||||
'"></label>' +
|
|
||||||
'<div class="control"></div>';
|
|
||||||
|
|
||||||
(fieldElement.querySelector("label") as HTMLLabelElement).textContent =
|
(fieldElement.querySelector("label") as HTMLLabelElement).textContent =
|
||||||
occupancyTypeField.occupancyTypeField as string;
|
occupancyTypeField.occupancyTypeField as string;
|
||||||
|
|
@ -336,9 +292,7 @@ declare const bulmaJS: BulmaJS;
|
||||||
inputElement.pattern = occupancyTypeField.pattern;
|
inputElement.pattern = occupancyTypeField.pattern;
|
||||||
}
|
}
|
||||||
|
|
||||||
(fieldElement.querySelector(".control") as HTMLElement).append(
|
(fieldElement.querySelector(".control") as HTMLElement).append(inputElement);
|
||||||
inputElement
|
|
||||||
);
|
|
||||||
} else {
|
} else {
|
||||||
(fieldElement.querySelector(".control") as HTMLElement).innerHTML =
|
(fieldElement.querySelector(".control") as HTMLElement).innerHTML =
|
||||||
'<div class="select is-fullwidth"><select id="' +
|
'<div class="select is-fullwidth"><select id="' +
|
||||||
|
|
@ -349,9 +303,7 @@ declare const bulmaJS: BulmaJS;
|
||||||
'<option value="">(Not Set)</option>' +
|
'<option value="">(Not Set)</option>' +
|
||||||
"</select></div>";
|
"</select></div>";
|
||||||
|
|
||||||
const selectElement = fieldElement.querySelector(
|
const selectElement = fieldElement.querySelector("select") as HTMLSelectElement;
|
||||||
"select"
|
|
||||||
) as HTMLSelectElement;
|
|
||||||
|
|
||||||
selectElement.required = occupancyTypeField.isRequired as boolean;
|
selectElement.required = occupancyTypeField.isRequired as boolean;
|
||||||
|
|
||||||
|
|
@ -372,9 +324,9 @@ declare const bulmaJS: BulmaJS;
|
||||||
|
|
||||||
lotOccupancyFieldsContainerElement.insertAdjacentHTML(
|
lotOccupancyFieldsContainerElement.insertAdjacentHTML(
|
||||||
"beforeend",
|
"beforeend",
|
||||||
'<input name="occupancyTypeFieldIds" type="hidden" value="' +
|
`<input name="occupancyTypeFieldIds" type="hidden" value="${occupancyTypeFieldIds.slice(
|
||||||
occupancyTypeFieldIds.slice(1) +
|
1
|
||||||
'" />'
|
)}" />`
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
@ -386,11 +338,8 @@ declare const bulmaJS: BulmaJS;
|
||||||
if (occupancyTypeIdElement.value !== originalOccupancyTypeId) {
|
if (occupancyTypeIdElement.value !== originalOccupancyTypeId) {
|
||||||
bulmaJS.confirm({
|
bulmaJS.confirm({
|
||||||
title: "Confirm Change",
|
title: "Confirm Change",
|
||||||
message:
|
message: `Are you sure you want to change the ${los.escapedAliases.occupancy} type?\n
|
||||||
"Are you sure you want to change the " +
|
This change affects the additional fields associated with this record, and may also affect the available fees.`,
|
||||||
exports.aliases.occupancy.toLowerCase() +
|
|
||||||
" type?\n" +
|
|
||||||
"This change affects the additional fields associated with this record, and may also affect the available fees.",
|
|
||||||
contextualColorName: "warning",
|
contextualColorName: "warning",
|
||||||
okButton: {
|
okButton: {
|
||||||
text: "Yes, Keep the Change",
|
text: "Yes, Keep the Change",
|
||||||
|
|
@ -423,8 +372,7 @@ declare const bulmaJS: BulmaJS;
|
||||||
let lotSelectResultsElement: HTMLElement;
|
let lotSelectResultsElement: HTMLElement;
|
||||||
|
|
||||||
const renderSelectedLotAndClose = (lotId: number | string, lotName: string) => {
|
const renderSelectedLotAndClose = (lotId: number | string, lotName: string) => {
|
||||||
(document.querySelector("#lotOccupancy--lotId") as HTMLInputElement).value =
|
(document.querySelector("#lotOccupancy--lotId") as HTMLInputElement).value = lotId.toString();
|
||||||
lotId.toString();
|
|
||||||
(document.querySelector("#lotOccupancy--lotName") as HTMLInputElement).value = lotName;
|
(document.querySelector("#lotOccupancy--lotName") as HTMLInputElement).value = lotName;
|
||||||
|
|
||||||
los.setUnsavedChanges();
|
los.setUnsavedChanges();
|
||||||
|
|
@ -436,30 +384,20 @@ declare const bulmaJS: BulmaJS;
|
||||||
|
|
||||||
const selectedLotElement = clickEvent.currentTarget as HTMLElement;
|
const selectedLotElement = clickEvent.currentTarget as HTMLElement;
|
||||||
|
|
||||||
renderSelectedLotAndClose(
|
renderSelectedLotAndClose(selectedLotElement.dataset.lotId!, selectedLotElement.dataset.lotName!);
|
||||||
selectedLotElement.dataset.lotId!,
|
|
||||||
selectedLotElement.dataset.lotName!
|
|
||||||
);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const searchLots = () => {
|
const searchLots = () => {
|
||||||
lotSelectResultsElement.innerHTML =
|
lotSelectResultsElement.innerHTML = los.getLoadingParagraphHTML("Searching...");
|
||||||
'<p class="has-text-centered">' +
|
|
||||||
'<i class="fas fa-3x fa-pulse fa-spinner" aria-hidden="true"></i><br />' +
|
|
||||||
"Searching..." +
|
|
||||||
"</p>";
|
|
||||||
|
|
||||||
cityssm.postJSON(
|
cityssm.postJSON(
|
||||||
los.urlPrefix + "/lots/doSearchLots",
|
los.urlPrefix + "/lots/doSearchLots",
|
||||||
lotSelectFormElement,
|
lotSelectFormElement,
|
||||||
(responseJSON: { count: number; lots: recordTypes.Lot[] }) => {
|
(responseJSON: { count: number; lots: recordTypes.Lot[] }) => {
|
||||||
if (responseJSON.count === 0) {
|
if (responseJSON.count === 0) {
|
||||||
lotSelectResultsElement.innerHTML =
|
lotSelectResultsElement.innerHTML = `<div class="message is-info">
|
||||||
'<div class="message is-info">' +
|
<p class="message-body">No results.</p>
|
||||||
'<p class="message-body">' +
|
</div>`;
|
||||||
"No results." +
|
|
||||||
"</p>" +
|
|
||||||
"</div>";
|
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -507,9 +445,8 @@ declare const bulmaJS: BulmaJS;
|
||||||
const createLotAndSelect = (submitEvent: SubmitEvent) => {
|
const createLotAndSelect = (submitEvent: SubmitEvent) => {
|
||||||
submitEvent.preventDefault();
|
submitEvent.preventDefault();
|
||||||
|
|
||||||
const lotName = (
|
const lotName = (lotSelectModalElement.querySelector("#lotCreate--lotName") as HTMLInputElement)
|
||||||
lotSelectModalElement.querySelector("#lotCreate--lotName") as HTMLInputElement
|
.value;
|
||||||
).value;
|
|
||||||
|
|
||||||
cityssm.postJSON(
|
cityssm.postJSON(
|
||||||
los.urlPrefix + "/lots/doCreateLot",
|
los.urlPrefix + "/lots/doCreateLot",
|
||||||
|
|
@ -519,7 +456,7 @@ declare const bulmaJS: BulmaJS;
|
||||||
renderSelectedLotAndClose(responseJSON.lotId!, lotName);
|
renderSelectedLotAndClose(responseJSON.lotId!, lotName);
|
||||||
} else {
|
} else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
title: "Error Creating " + exports.aliases.lot,
|
title: `Error Creating ${los.escapedAliases.Lot}`,
|
||||||
message: responseJSON.errorMessage || "",
|
message: responseJSON.errorMessage || "",
|
||||||
contextualColorName: "danger"
|
contextualColorName: "danger"
|
||||||
});
|
});
|
||||||
|
|
@ -546,10 +483,7 @@ declare const bulmaJS: BulmaJS;
|
||||||
"#lotSelect--lotName"
|
"#lotSelect--lotName"
|
||||||
) as HTMLInputElement;
|
) as HTMLInputElement;
|
||||||
|
|
||||||
if (
|
if ((document.querySelector("#lotOccupancy--lotId") as HTMLInputElement).value !== "") {
|
||||||
(document.querySelector("#lotOccupancy--lotId") as HTMLInputElement).value !==
|
|
||||||
""
|
|
||||||
) {
|
|
||||||
lotNameFilterElement.value = currentLotName;
|
lotNameFilterElement.value = currentLotName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -565,9 +499,7 @@ declare const bulmaJS: BulmaJS;
|
||||||
occupancyStatusFilterElement.value = "";
|
occupancyStatusFilterElement.value = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
lotSelectFormElement = modalElement.querySelector(
|
lotSelectFormElement = modalElement.querySelector("#form--lotSelect") as HTMLFormElement;
|
||||||
"#form--lotSelect"
|
|
||||||
) as HTMLFormElement;
|
|
||||||
lotSelectResultsElement = modalElement.querySelector(
|
lotSelectResultsElement = modalElement.querySelector(
|
||||||
"#resultsContainer--lotSelect"
|
"#resultsContainer--lotSelect"
|
||||||
) as HTMLElement;
|
) as HTMLElement;
|
||||||
|
|
@ -583,9 +515,8 @@ declare const bulmaJS: BulmaJS;
|
||||||
if (exports.lotNamePattern) {
|
if (exports.lotNamePattern) {
|
||||||
const regex = exports.lotNamePattern as RegExp;
|
const regex = exports.lotNamePattern as RegExp;
|
||||||
|
|
||||||
(
|
(modalElement.querySelector("#lotCreate--lotName") as HTMLInputElement).pattern =
|
||||||
modalElement.querySelector("#lotCreate--lotName") as HTMLInputElement
|
regex.source;
|
||||||
).pattern = regex.source;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const lotTypeElement = modalElement.querySelector(
|
const lotTypeElement = modalElement.querySelector(
|
||||||
|
|
@ -610,9 +541,7 @@ declare const bulmaJS: BulmaJS;
|
||||||
lotStatusElement.append(optionElement);
|
lotStatusElement.append(optionElement);
|
||||||
}
|
}
|
||||||
|
|
||||||
const mapElement = modalElement.querySelector(
|
const mapElement = modalElement.querySelector("#lotCreate--mapId") as HTMLSelectElement;
|
||||||
"#lotCreate--mapId"
|
|
||||||
) as HTMLSelectElement;
|
|
||||||
|
|
||||||
for (const map of exports.maps as recordTypes.Map[]) {
|
for (const map of exports.maps as recordTypes.Map[]) {
|
||||||
const optionElement = document.createElement("option");
|
const optionElement = document.createElement("option");
|
||||||
|
|
@ -621,9 +550,10 @@ declare const bulmaJS: BulmaJS;
|
||||||
mapElement.append(optionElement);
|
mapElement.append(optionElement);
|
||||||
}
|
}
|
||||||
|
|
||||||
(
|
(modalElement.querySelector("#form--lotCreate") as HTMLFormElement).addEventListener(
|
||||||
modalElement.querySelector("#form--lotCreate") as HTMLFormElement
|
"submit",
|
||||||
).addEventListener("submit", createLotAndSelect);
|
createLotAndSelect
|
||||||
|
);
|
||||||
},
|
},
|
||||||
onremoved: () => {
|
onremoved: () => {
|
||||||
bulmaJS.toggleHtmlClipped();
|
bulmaJS.toggleHtmlClipped();
|
||||||
|
|
@ -638,7 +568,7 @@ declare const bulmaJS: BulmaJS;
|
||||||
window.open(los.urlPrefix + "/lots/" + lotId);
|
window.open(los.urlPrefix + "/lots/" + lotId);
|
||||||
} else {
|
} else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
message: "No " + exports.aliases.lot.toLowerCase() + " selected.",
|
message: `No ${los.escapedAliases.lot} selected.`,
|
||||||
contextualColorName: "info"
|
contextualColorName: "info"
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
@ -651,7 +581,7 @@ declare const bulmaJS: BulmaJS;
|
||||||
contextualColorName: "info"
|
contextualColorName: "info"
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
lotNameElement.value = "(No " + exports.aliases.lot + ")";
|
lotNameElement.value = `(No ${los.escapedAliases.Lot})`;
|
||||||
(document.querySelector("#lotOccupancy--lotId") as HTMLInputElement).value = "";
|
(document.querySelector("#lotOccupancy--lotId") as HTMLInputElement).value = "";
|
||||||
los.setUnsavedChanges();
|
los.setUnsavedChanges();
|
||||||
}
|
}
|
||||||
|
|
@ -661,9 +591,7 @@ declare const bulmaJS: BulmaJS;
|
||||||
|
|
||||||
los.initializeDatePickers(formElement);
|
los.initializeDatePickers(formElement);
|
||||||
|
|
||||||
(
|
document.querySelector("#lotOccupancy--occupancyStartDateString")!.addEventListener("change", () => {
|
||||||
document.querySelector("#lotOccupancy--occupancyStartDateString") as HTMLInputElement
|
|
||||||
).addEventListener("change", () => {
|
|
||||||
const endDatePicker = (
|
const endDatePicker = (
|
||||||
document.querySelector("#lotOccupancy--occupancyEndDateString") as HTMLInputElement
|
document.querySelector("#lotOccupancy--occupancyEndDateString") as HTMLInputElement
|
||||||
).bulmaCalendar.datePicker;
|
).bulmaCalendar.datePicker;
|
||||||
|
|
|
||||||
|
|
@ -10,12 +10,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
function renderLots(responseJSON) {
|
function renderLots(responseJSON) {
|
||||||
var _a, _b;
|
var _a, _b;
|
||||||
if (responseJSON.lots.length === 0) {
|
if (responseJSON.lots.length === 0) {
|
||||||
searchResultsContainerElement.innerHTML =
|
searchResultsContainerElement.innerHTML = `<div class="message is-info">
|
||||||
'<div class="message is-info">' +
|
<p class="message-body">There are no ${los.escapedAliases.lots} that meet the search criteria.</p>
|
||||||
'<p class="message-body">There are no ' +
|
</div>`;
|
||||||
los.escapedAliases.lots +
|
|
||||||
" that meet the search criteria.</p>" +
|
|
||||||
"</div>";
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const resultsTbodyElement = document.createElement("tbody");
|
const resultsTbodyElement = document.createElement("tbody");
|
||||||
|
|
|
||||||
|
|
@ -22,12 +22,9 @@ declare const cityssm: cityssmGlobal;
|
||||||
|
|
||||||
function renderLots(responseJSON: { count: number; offset: number; lots: recordTypes.Lot[] }): void {
|
function renderLots(responseJSON: { count: number; offset: number; lots: recordTypes.Lot[] }): void {
|
||||||
if (responseJSON.lots.length === 0) {
|
if (responseJSON.lots.length === 0) {
|
||||||
searchResultsContainerElement.innerHTML =
|
searchResultsContainerElement.innerHTML = `<div class="message is-info">
|
||||||
'<div class="message is-info">' +
|
<p class="message-body">There are no ${los.escapedAliases.lots} that meet the search criteria.</p>
|
||||||
'<p class="message-body">There are no ' +
|
</div>`;
|
||||||
los.escapedAliases.lots +
|
|
||||||
" that meet the search criteria.</p>" +
|
|
||||||
"</div>";
|
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,13 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
const searchResultsTbodyElement = document.createElement("tbody");
|
const searchResultsTbodyElement = document.createElement("tbody");
|
||||||
const filterStringSplit = searchFilterElement.value.trim().toLowerCase().split(" ");
|
const filterStringSplit = searchFilterElement.value.trim().toLowerCase().split(" ");
|
||||||
for (const map of maps) {
|
for (const map of maps) {
|
||||||
const mapSearchString = (map.mapName +
|
const mapSearchString = `${map.mapName} ${map.mapDescription} ${map.mapAddress1} ${map.mapAddress2}`.toLowerCase();
|
||||||
" " +
|
|
||||||
map.mapDescription +
|
|
||||||
" " +
|
|
||||||
map.mapAddress1 +
|
|
||||||
" " +
|
|
||||||
map.mapAddress2).toLowerCase();
|
|
||||||
let showMap = true;
|
let showMap = true;
|
||||||
for (const filterStringPiece of filterStringSplit) {
|
for (const filterStringPiece of filterStringSplit) {
|
||||||
if (!mapSearchString.includes(filterStringPiece)) {
|
if (!mapSearchString.includes(filterStringPiece)) {
|
||||||
|
|
|
||||||
|
|
@ -14,9 +14,7 @@ declare const cityssm: cityssmGlobal;
|
||||||
|
|
||||||
const searchFilterElement = document.querySelector("#searchFilter--map") as HTMLInputElement;
|
const searchFilterElement = document.querySelector("#searchFilter--map") as HTMLInputElement;
|
||||||
|
|
||||||
const searchResultsContainerElement = document.querySelector(
|
const searchResultsContainerElement = document.querySelector("#container--searchResults") as HTMLElement;
|
||||||
"#container--searchResults"
|
|
||||||
) as HTMLElement;
|
|
||||||
|
|
||||||
function renderResults(): void {
|
function renderResults(): void {
|
||||||
searchResultsContainerElement.innerHTML = los.getLoadingParagraphHTML(
|
searchResultsContainerElement.innerHTML = los.getLoadingParagraphHTML(
|
||||||
|
|
@ -29,15 +27,8 @@ declare const cityssm: cityssmGlobal;
|
||||||
const filterStringSplit = searchFilterElement.value.trim().toLowerCase().split(" ");
|
const filterStringSplit = searchFilterElement.value.trim().toLowerCase().split(" ");
|
||||||
|
|
||||||
for (const map of maps) {
|
for (const map of maps) {
|
||||||
const mapSearchString = (
|
const mapSearchString =
|
||||||
map.mapName +
|
`${map.mapName} ${map.mapDescription} ${map.mapAddress1} ${map.mapAddress2}`.toLowerCase();
|
||||||
" " +
|
|
||||||
map.mapDescription +
|
|
||||||
" " +
|
|
||||||
map.mapAddress1 +
|
|
||||||
" " +
|
|
||||||
map.mapAddress2
|
|
||||||
).toLowerCase();
|
|
||||||
|
|
||||||
let showMap = true;
|
let showMap = true;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,8 +3,7 @@
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
(() => {
|
(() => {
|
||||||
const los = exports.los;
|
const los = exports.los;
|
||||||
const workOrderId = document.querySelector("#workOrderEdit--workOrderId")
|
const workOrderId = document.querySelector("#workOrderEdit--workOrderId").value;
|
||||||
.value;
|
|
||||||
const isCreate = workOrderId === "";
|
const isCreate = workOrderId === "";
|
||||||
const workOrderFormElement = document.querySelector("#form--workOrderEdit");
|
const workOrderFormElement = document.querySelector("#form--workOrderEdit");
|
||||||
los.initializeDatePickers(workOrderFormElement.querySelector("#workOrderEdit--workOrderOpenDateString").closest(".field"));
|
los.initializeDatePickers(workOrderFormElement.querySelector("#workOrderEdit--workOrderOpenDateString").closest(".field"));
|
||||||
|
|
@ -46,8 +45,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
workOrderId
|
workOrderId
|
||||||
}, (responseJSON) => {
|
}, (responseJSON) => {
|
||||||
if (responseJSON.success) {
|
if (responseJSON.success) {
|
||||||
window.location.href =
|
window.location.href = los.urlPrefix + "/workOrders/" + workOrderId;
|
||||||
los.urlPrefix + "/workOrders/" + encodeURIComponent(workOrderId);
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
|
|
@ -83,8 +81,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
if (hasOpenMilestones) {
|
if (hasOpenMilestones) {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
title: "Outstanding Milestones",
|
title: "Outstanding Milestones",
|
||||||
message: "You cannot close a work order with outstanding milestones." +
|
message: `You cannot close a work order with outstanding milestones.
|
||||||
" Either complete the outstanding milestones, or remove them from the work order.",
|
Either complete the outstanding milestones, or remove them from the work order.`,
|
||||||
contextualColorName: "warning"
|
contextualColorName: "warning"
|
||||||
});
|
});
|
||||||
/*
|
/*
|
||||||
|
|
@ -113,9 +111,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
document
|
document.querySelector("#button--deleteWorkOrder").addEventListener("click", (clickEvent) => {
|
||||||
.querySelector("#button--deleteWorkOrder")
|
|
||||||
.addEventListener("click", (clickEvent) => {
|
|
||||||
clickEvent.preventDefault();
|
clickEvent.preventDefault();
|
||||||
bulmaJS.confirm({
|
bulmaJS.confirm({
|
||||||
title: "Delete Work Order",
|
title: "Delete Work Order",
|
||||||
|
|
@ -160,8 +156,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
bulmaJS.confirm({
|
bulmaJS.confirm({
|
||||||
title: `Delete ${exports.aliases.occupancy} Relationship`,
|
title: `Delete ${los.escapedAliases.Occupancy} Relationship`,
|
||||||
message: `Are you sure you want to remove the relationship to this ${exports.aliases.occupancy.toLowerCase()} record from this work order? Note that the record will remain.`,
|
message: `Are you sure you want to remove the relationship to this ${los.escapedAliases.occupancy} record from this work order? Note that the record will remain.`,
|
||||||
contextualColorName: "warning",
|
contextualColorName: "warning",
|
||||||
okButton: {
|
okButton: {
|
||||||
text: "Yes, Delete Relationship",
|
text: "Yes, Delete Relationship",
|
||||||
|
|
@ -180,7 +176,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
title: "Error Adding " + exports.aliases.lot,
|
title: "Error Adding " + los.escapedAliases.Lot,
|
||||||
message: responseJSON.errorMessage || "",
|
message: responseJSON.errorMessage || "",
|
||||||
contextualColorName: "danger"
|
contextualColorName: "danger"
|
||||||
});
|
});
|
||||||
|
|
@ -201,7 +197,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
title: "Error Adding " + exports.aliases.occupancy,
|
title: "Error Adding " + los.escapedAliases.Occupancy,
|
||||||
message: responseJSON.errorMessage || "",
|
message: responseJSON.errorMessage || "",
|
||||||
contextualColorName: "danger"
|
contextualColorName: "danger"
|
||||||
});
|
});
|
||||||
|
|
@ -216,12 +212,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
addLot(lotId);
|
addLot(lotId);
|
||||||
}
|
}
|
||||||
function renderRelatedOccupancies() {
|
function renderRelatedOccupancies() {
|
||||||
var _a;
|
var _a, _b;
|
||||||
const occupanciesContainerElement = document.querySelector("#container--lotOccupancies");
|
const occupanciesContainerElement = document.querySelector("#container--lotOccupancies");
|
||||||
document.querySelector(".tabs a[href='#relatedTab--lotOccupancies'] .tag").textContent = workOrderLotOccupancies.length.toString();
|
document.querySelector(".tabs a[href='#relatedTab--lotOccupancies'] .tag").textContent =
|
||||||
|
workOrderLotOccupancies.length.toString();
|
||||||
if (workOrderLotOccupancies.length === 0) {
|
if (workOrderLotOccupancies.length === 0) {
|
||||||
occupanciesContainerElement.innerHTML = `<div class="message is-info">
|
occupanciesContainerElement.innerHTML = `<div class="message is-info">
|
||||||
<p class="message-body">There are no ${exports.aliases.occupancies.toLowerCase()} associated with this work order.</p>
|
<p class="message-body">There are no ${los.escapedAliases.occupancies} associated with this work order.</p>
|
||||||
</div>`;
|
</div>`;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -239,8 +236,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
const rowElement = document.createElement("tr");
|
const rowElement = document.createElement("tr");
|
||||||
rowElement.className = "container--lotOccupancy";
|
rowElement.className = "container--lotOccupancy";
|
||||||
rowElement.dataset.lotOccupancyId = lotOccupancy.lotOccupancyId.toString();
|
rowElement.dataset.lotOccupancyId = lotOccupancy.lotOccupancyId.toString();
|
||||||
const isActive = !(lotOccupancy.occupancyEndDate &&
|
const isActive = !(lotOccupancy.occupancyEndDate && lotOccupancy.occupancyEndDateString < currentDateString);
|
||||||
lotOccupancy.occupancyEndDateString < currentDateString);
|
|
||||||
const hasLotRecord = lotOccupancy.lotId &&
|
const hasLotRecord = lotOccupancy.lotId &&
|
||||||
workOrderLots.some((lot) => {
|
workOrderLots.some((lot) => {
|
||||||
return lotOccupancy.lotId === lot.lotId;
|
return lotOccupancy.lotId === lot.lotId;
|
||||||
|
|
@ -248,12 +244,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
rowElement.innerHTML =
|
rowElement.innerHTML =
|
||||||
'<td class="is-width-1 has-text-centered">' +
|
'<td class="is-width-1 has-text-centered">' +
|
||||||
(isActive
|
(isActive
|
||||||
? '<i class="fas fa-play" title="Current ' +
|
? '<i class="fas fa-play" title="Current ' + los.escapedAliases.Occupancy + '"></i>'
|
||||||
cityssm.escapeHTML(exports.aliases.occupancy) +
|
: '<i class="fas fa-stop" title="Previous ' + los.escapedAliases.Occupancy + '"></i>') +
|
||||||
'"></i>'
|
|
||||||
: '<i class="fas fa-stop" title="Previous ' +
|
|
||||||
cityssm.escapeHTML(exports.aliases.occupancy) +
|
|
||||||
'"></i>') +
|
|
||||||
"</td>" +
|
"</td>" +
|
||||||
("<td>" +
|
("<td>" +
|
||||||
'<a class="has-text-weight-bold" href="' +
|
'<a class="has-text-weight-bold" href="' +
|
||||||
|
|
@ -274,17 +266,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
lotOccupancy.lotId +
|
lotOccupancy.lotId +
|
||||||
'"' +
|
'"' +
|
||||||
' data-tooltip="Add ' +
|
' data-tooltip="Add ' +
|
||||||
cityssm.escapeHTML(exports.aliases.lot) +
|
los.escapedAliases.Lot +
|
||||||
'"' +
|
'"' +
|
||||||
' aria-label="Add ' +
|
' aria-label="Add ' +
|
||||||
cityssm.escapeHTML(exports.aliases.lot) +
|
los.escapedAliases.Lot +
|
||||||
'" type="button">' +
|
'" type="button">' +
|
||||||
'<i class="fas fa-plus" aria-hidden="true"></i>' +
|
'<i class="fas fa-plus" aria-hidden="true"></i>' +
|
||||||
"</button>") +
|
"</button>") +
|
||||||
"</td>");
|
"</td>");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
rowElement.insertAdjacentHTML("beforeend", `<td><span class="has-text-grey">(No ${exports.aliases.lot})</span></td>`);
|
rowElement.insertAdjacentHTML("beforeend", `<td><span class="has-text-grey">(No ${los.escapedAliases.Lot})</span></td>`);
|
||||||
}
|
}
|
||||||
rowElement.insertAdjacentHTML("beforeend", "<td>" +
|
rowElement.insertAdjacentHTML("beforeend", "<td>" +
|
||||||
lotOccupancy.occupancyStartDateString +
|
lotOccupancy.occupancyStartDateString +
|
||||||
|
|
@ -296,9 +288,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
"</td>") +
|
"</td>") +
|
||||||
("<td>" +
|
("<td>" +
|
||||||
(lotOccupancy.lotOccupancyOccupants.length === 0
|
(lotOccupancy.lotOccupancyOccupants.length === 0
|
||||||
? '<span class="has-text-grey">(No ' +
|
? '<span class="has-text-grey">(No ' + los.escapedAliases.Occupants + ")</span>"
|
||||||
cityssm.escapeHTML(exports.aliases.occupants) +
|
|
||||||
")</span>"
|
|
||||||
: (_a = lotOccupancy.lotOccupancyOccupants) === null || _a === void 0 ? void 0 : _a.reduce((soFar, occupant) => {
|
: (_a = lotOccupancy.lotOccupancyOccupants) === null || _a === void 0 ? void 0 : _a.reduce((soFar, occupant) => {
|
||||||
return (soFar +
|
return (soFar +
|
||||||
'<span class="has-tooltip-left" data-tooltip="' +
|
'<span class="has-tooltip-left" data-tooltip="' +
|
||||||
|
|
@ -307,7 +297,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
'<i class="fas fa-fw fa-' +
|
'<i class="fas fa-fw fa-' +
|
||||||
cityssm.escapeHTML(occupant.fontAwesomeIconClass || "user") +
|
cityssm.escapeHTML(occupant.fontAwesomeIconClass || "user") +
|
||||||
'" aria-label="' +
|
'" aria-label="' +
|
||||||
cityssm.escapeHTML(exports.aliases.occupant) +
|
los.escapedAliases.Occupant +
|
||||||
'"></i> ' +
|
'"></i> ' +
|
||||||
cityssm.escapeHTML(occupant.occupantName) +
|
cityssm.escapeHTML(occupant.occupantName) +
|
||||||
"</span><br />");
|
"</span><br />");
|
||||||
|
|
@ -318,11 +308,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
'<i class="fas fa-trash" aria-hidden="true"></i>' +
|
'<i class="fas fa-trash" aria-hidden="true"></i>' +
|
||||||
"</button>" +
|
"</button>" +
|
||||||
"</td>"));
|
"</td>"));
|
||||||
if (lotOccupancy.lotId && !hasLotRecord) {
|
(_b = rowElement.querySelector(".button--addLot")) === null || _b === void 0 ? void 0 : _b.addEventListener("click", addLotFromLotOccupancy);
|
||||||
rowElement
|
|
||||||
.querySelector(".button--addLot")
|
|
||||||
.addEventListener("click", addLotFromLotOccupancy);
|
|
||||||
}
|
|
||||||
rowElement
|
rowElement
|
||||||
.querySelector(".button--deleteLotOccupancy")
|
.querySelector(".button--deleteLotOccupancy")
|
||||||
.addEventListener("click", deleteLotOccupancy);
|
.addEventListener("click", deleteLotOccupancy);
|
||||||
|
|
@ -330,8 +316,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function openEditLotStatus(clickEvent) {
|
function openEditLotStatus(clickEvent) {
|
||||||
const lotId = Number.parseInt(clickEvent.currentTarget.closest(".container--lot")
|
const lotId = Number.parseInt(clickEvent.currentTarget.closest(".container--lot").dataset.lotId, 10);
|
||||||
.dataset.lotId, 10);
|
|
||||||
const lot = workOrderLots.find((possibleLot) => {
|
const lot = workOrderLots.find((possibleLot) => {
|
||||||
return possibleLot.lotId === lotId;
|
return possibleLot.lotId === lotId;
|
||||||
});
|
});
|
||||||
|
|
@ -358,8 +343,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
los.populateAliases(modalElement);
|
los.populateAliases(modalElement);
|
||||||
modalElement.querySelector("#lotStatusEdit--lotId").value =
|
modalElement.querySelector("#lotStatusEdit--lotId").value =
|
||||||
lotId.toString();
|
lotId.toString();
|
||||||
modalElement.querySelector("#lotStatusEdit--lotName").value =
|
modalElement.querySelector("#lotStatusEdit--lotName").value = lot.lotName;
|
||||||
lot.lotName;
|
|
||||||
const lotStatusElement = modalElement.querySelector("#lotStatusEdit--lotStatusId");
|
const lotStatusElement = modalElement.querySelector("#lotStatusEdit--lotStatusId");
|
||||||
let lotStatusFound = false;
|
let lotStatusFound = false;
|
||||||
for (const lotStatus of exports.lotStatuses) {
|
for (const lotStatus of exports.lotStatuses) {
|
||||||
|
|
@ -382,7 +366,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
}
|
}
|
||||||
modalElement
|
modalElement
|
||||||
.querySelector("form")
|
.querySelector("form")
|
||||||
.insertAdjacentHTML("beforeend", '<input name="workOrderId" type="hidden" value="' + workOrderId + '" />');
|
.insertAdjacentHTML("beforeend", `<input name="workOrderId" type="hidden" value="${workOrderId}" />`);
|
||||||
},
|
},
|
||||||
onshown(modalElement, closeModalFunction) {
|
onshown(modalElement, closeModalFunction) {
|
||||||
editCloseModalFunction = closeModalFunction;
|
editCloseModalFunction = closeModalFunction;
|
||||||
|
|
@ -395,7 +379,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
function deleteLot(clickEvent) {
|
function deleteLot(clickEvent) {
|
||||||
const lotId = clickEvent.currentTarget.closest(".container--lot").dataset.lotId;
|
const lotId = clickEvent.currentTarget.closest(".container--lot")
|
||||||
|
.dataset.lotId;
|
||||||
function doDelete() {
|
function doDelete() {
|
||||||
cityssm.postJSON(los.urlPrefix + "/workOrders/doDeleteWorkOrderLot", {
|
cityssm.postJSON(los.urlPrefix + "/workOrders/doDeleteWorkOrderLot", {
|
||||||
workOrderId,
|
workOrderId,
|
||||||
|
|
@ -473,9 +458,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
'<i class="fas fa-trash" aria-hidden="true"></i>' +
|
'<i class="fas fa-trash" aria-hidden="true"></i>' +
|
||||||
"</button>" +
|
"</button>" +
|
||||||
"</td>");
|
"</td>");
|
||||||
rowElement
|
rowElement.querySelector(".button--editLotStatus").addEventListener("click", openEditLotStatus);
|
||||||
.querySelector(".button--editLotStatus")
|
|
||||||
.addEventListener("click", openEditLotStatus);
|
|
||||||
rowElement.querySelector(".button--deleteLot").addEventListener("click", deleteLot);
|
rowElement.querySelector(".button--deleteLot").addEventListener("click", deleteLot);
|
||||||
lotsContainerElement.querySelector("tbody").append(rowElement);
|
lotsContainerElement.querySelector("tbody").append(rowElement);
|
||||||
}
|
}
|
||||||
|
|
@ -504,10 +487,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
searchResultsContainerElement.innerHTML = los.getLoadingParagraphHTML("Searching...");
|
searchResultsContainerElement.innerHTML = los.getLoadingParagraphHTML("Searching...");
|
||||||
cityssm.postJSON(los.urlPrefix + "/lotOccupancies/doSearchLotOccupancies", searchFormElement, (responseJSON) => {
|
cityssm.postJSON(los.urlPrefix + "/lotOccupancies/doSearchLotOccupancies", searchFormElement, (responseJSON) => {
|
||||||
if (responseJSON.lotOccupancies.length === 0) {
|
if (responseJSON.lotOccupancies.length === 0) {
|
||||||
searchResultsContainerElement.innerHTML =
|
searchResultsContainerElement.innerHTML = `<div class="message is-info">
|
||||||
'<div class="message is-info">' +
|
<p class="message-body">There are no records that meet the search criteria.</p>
|
||||||
'<p class="message-body">There are no records that meet the search criteria.</p>' +
|
</div>`;
|
||||||
"</div>";
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
searchResultsContainerElement.innerHTML = `<table class="table is-fullwidth is-striped is-hoverable">
|
searchResultsContainerElement.innerHTML = `<table class="table is-fullwidth is-striped is-hoverable">
|
||||||
|
|
@ -555,8 +537,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
")</span>"
|
")</span>"
|
||||||
: cityssm.escapeHTML(lotOccupancy.lotOccupancyOccupants[0].occupantName) +
|
: cityssm.escapeHTML(lotOccupancy.lotOccupancyOccupants[0].occupantName) +
|
||||||
(lotOccupancy.lotOccupancyOccupants.length > 1
|
(lotOccupancy.lotOccupancyOccupants.length > 1
|
||||||
? " plus " +
|
? " plus " + (lotOccupancy.lotOccupancyOccupants.length - 1)
|
||||||
(lotOccupancy.lotOccupancyOccupants.length - 1)
|
|
||||||
: "")) +
|
: "")) +
|
||||||
"</td>"));
|
"</td>"));
|
||||||
rowElement
|
rowElement
|
||||||
|
|
@ -571,7 +552,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
los.populateAliases(modalElement);
|
los.populateAliases(modalElement);
|
||||||
searchFormElement = modalElement.querySelector("form");
|
searchFormElement = modalElement.querySelector("form");
|
||||||
searchResultsContainerElement = modalElement.querySelector("#resultsContainer--lotOccupancyAdd");
|
searchResultsContainerElement = modalElement.querySelector("#resultsContainer--lotOccupancyAdd");
|
||||||
modalElement.querySelector("#lotOccupancySearch--notWorkOrderId").value = workOrderId;
|
modalElement.querySelector("#lotOccupancySearch--notWorkOrderId").value =
|
||||||
|
workOrderId;
|
||||||
modalElement.querySelector("#lotOccupancySearch--occupancyEffectiveDateString").value = document.querySelector("#workOrderEdit--workOrderOpenDateString").value;
|
modalElement.querySelector("#lotOccupancySearch--occupancyEffectiveDateString").value = document.querySelector("#workOrderEdit--workOrderOpenDateString").value;
|
||||||
doSearch();
|
doSearch();
|
||||||
},
|
},
|
||||||
|
|
@ -639,9 +621,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
"</td>" +
|
"</td>" +
|
||||||
("<td>" + cityssm.escapeHTML(lot.lotType || "") + "</td>") +
|
("<td>" + cityssm.escapeHTML(lot.lotType || "") + "</td>") +
|
||||||
("<td>" + cityssm.escapeHTML(lot.lotStatus || "") + "</td>");
|
("<td>" + cityssm.escapeHTML(lot.lotStatus || "") + "</td>");
|
||||||
rowElement
|
rowElement.querySelector(".button--addLot").addEventListener("click", doAddLot);
|
||||||
.querySelector(".button--addLot")
|
|
||||||
.addEventListener("click", doAddLot);
|
|
||||||
searchResultsContainerElement.querySelector("tbody").append(rowElement);
|
searchResultsContainerElement.querySelector("tbody").append(rowElement);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
@ -709,7 +689,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
}
|
}
|
||||||
cityssm.openHtmlModal("workOrder-editComment", {
|
cityssm.openHtmlModal("workOrder-editComment", {
|
||||||
onshow(modalElement) {
|
onshow(modalElement) {
|
||||||
modalElement.querySelector("#workOrderCommentEdit--workOrderId").value = workOrderId;
|
modalElement.querySelector("#workOrderCommentEdit--workOrderId").value =
|
||||||
|
workOrderId;
|
||||||
modalElement.querySelector("#workOrderCommentEdit--workOrderCommentId").value = workOrderCommentId.toString();
|
modalElement.querySelector("#workOrderCommentEdit--workOrderCommentId").value = workOrderCommentId.toString();
|
||||||
modalElement.querySelector("#workOrderCommentEdit--workOrderComment").value = workOrderComment.workOrderComment;
|
modalElement.querySelector("#workOrderCommentEdit--workOrderComment").value = workOrderComment.workOrderComment;
|
||||||
const workOrderCommentDateStringElement = modalElement.querySelector("#workOrderCommentEdit--workOrderCommentDateString");
|
const workOrderCommentDateStringElement = modalElement.querySelector("#workOrderCommentEdit--workOrderCommentDateString");
|
||||||
|
|
@ -768,26 +749,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
function renderWorkOrderComments() {
|
function renderWorkOrderComments() {
|
||||||
const containerElement = document.querySelector("#container--workOrderComments");
|
const containerElement = document.querySelector("#container--workOrderComments");
|
||||||
if (workOrderComments.length === 0) {
|
if (workOrderComments.length === 0) {
|
||||||
containerElement.innerHTML =
|
containerElement.innerHTML = `<div class="message is-info">
|
||||||
'<div class="message is-info">' +
|
<p class="message-body">There are no comments to display.</p>
|
||||||
'<p class="message-body">There are no comments to display.</p>' +
|
</div>`;
|
||||||
"</div>";
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const tableElement = document.createElement("table");
|
const tableElement = document.createElement("table");
|
||||||
tableElement.className = "table is-fullwidth is-striped is-hoverable";
|
tableElement.className = "table is-fullwidth is-striped is-hoverable";
|
||||||
tableElement.innerHTML =
|
tableElement.innerHTML = `<thead><tr>
|
||||||
"<thead><tr>" +
|
<th>Commentor</th>
|
||||||
"<th>Commentor</th>" +
|
<th>Comment Date</th>
|
||||||
"<th>Comment Date</th>" +
|
<th>Comment</th>
|
||||||
"<th>Comment</th>" +
|
<th class="is-hidden-print"><span class="is-sr-only">Options</span></th></tr></thead><tbody></tbody>`;
|
||||||
'<th class="is-hidden-print"><span class="is-sr-only">Options</span></th>' +
|
|
||||||
"</tr></thead>" +
|
|
||||||
"<tbody></tbody>";
|
|
||||||
for (const workOrderComment of workOrderComments) {
|
for (const workOrderComment of workOrderComments) {
|
||||||
const tableRowElement = document.createElement("tr");
|
const tableRowElement = document.createElement("tr");
|
||||||
tableRowElement.dataset.workOrderCommentId =
|
tableRowElement.dataset.workOrderCommentId = workOrderComment.workOrderCommentId.toString();
|
||||||
workOrderComment.workOrderCommentId.toString();
|
|
||||||
tableRowElement.innerHTML =
|
tableRowElement.innerHTML =
|
||||||
"<td>" +
|
"<td>" +
|
||||||
cityssm.escapeHTML(workOrderComment.recordCreate_userName || "") +
|
cityssm.escapeHTML(workOrderComment.recordCreate_userName || "") +
|
||||||
|
|
@ -812,12 +788,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
"</button>") +
|
"</button>") +
|
||||||
"</div>" +
|
"</div>" +
|
||||||
"</td>");
|
"</td>");
|
||||||
tableRowElement
|
tableRowElement.querySelector(".button--edit").addEventListener("click", openEditWorkOrderComment);
|
||||||
.querySelector(".button--edit")
|
tableRowElement.querySelector(".button--delete").addEventListener("click", deleteWorkOrderComment);
|
||||||
.addEventListener("click", openEditWorkOrderComment);
|
|
||||||
tableRowElement
|
|
||||||
.querySelector(".button--delete")
|
|
||||||
.addEventListener("click", deleteWorkOrderComment);
|
|
||||||
tableElement.querySelector("tbody").append(tableRowElement);
|
tableElement.querySelector("tbody").append(tableRowElement);
|
||||||
}
|
}
|
||||||
containerElement.innerHTML = "";
|
containerElement.innerHTML = "";
|
||||||
|
|
@ -838,7 +810,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
cityssm.openHtmlModal("workOrder-addComment", {
|
cityssm.openHtmlModal("workOrder-addComment", {
|
||||||
onshow(modalElement) {
|
onshow(modalElement) {
|
||||||
los.populateAliases(modalElement);
|
los.populateAliases(modalElement);
|
||||||
modalElement.querySelector("#workOrderCommentAdd--workOrderId").value = workOrderId;
|
modalElement.querySelector("#workOrderCommentAdd--workOrderId").value =
|
||||||
|
workOrderId;
|
||||||
modalElement.querySelector("form").addEventListener("submit", doAddComment);
|
modalElement.querySelector("form").addEventListener("submit", doAddComment);
|
||||||
},
|
},
|
||||||
onshown(modalElement, closeModalFunction) {
|
onshown(modalElement, closeModalFunction) {
|
||||||
|
|
@ -853,9 +826,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
if (!isCreate) {
|
if (!isCreate) {
|
||||||
document
|
document.querySelector("#workOrderComments--add").addEventListener("click", openAddCommentModal);
|
||||||
.querySelector("#workOrderComments--add")
|
|
||||||
.addEventListener("click", openAddCommentModal);
|
|
||||||
renderWorkOrderComments();
|
renderWorkOrderComments();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -878,7 +849,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
function completeMilestone(clickEvent) {
|
function completeMilestone(clickEvent) {
|
||||||
clickEvent.preventDefault();
|
clickEvent.preventDefault();
|
||||||
const currentDateString = cityssm.dateToString(new Date());
|
const currentDateString = cityssm.dateToString(new Date());
|
||||||
const workOrderMilestoneId = Number.parseInt(clickEvent.currentTarget.closest(".container--milestone").dataset.workOrderMilestoneId, 10);
|
const workOrderMilestoneId = Number.parseInt(clickEvent.currentTarget.closest(".container--milestone")
|
||||||
|
.dataset.workOrderMilestoneId, 10);
|
||||||
const workOrderMilestone = workOrderMilestones.find((currentMilestone) => {
|
const workOrderMilestone = workOrderMilestones.find((currentMilestone) => {
|
||||||
return currentMilestone.workOrderMilestoneId === workOrderMilestoneId;
|
return currentMilestone.workOrderMilestoneId === workOrderMilestoneId;
|
||||||
});
|
});
|
||||||
|
|
@ -942,7 +914,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
}
|
}
|
||||||
function editMilestone(clickEvent) {
|
function editMilestone(clickEvent) {
|
||||||
clickEvent.preventDefault();
|
clickEvent.preventDefault();
|
||||||
const workOrderMilestoneId = Number.parseInt(clickEvent.currentTarget.closest(".container--milestone").dataset.workOrderMilestoneId, 10);
|
const workOrderMilestoneId = Number.parseInt(clickEvent.currentTarget.closest(".container--milestone")
|
||||||
|
.dataset.workOrderMilestoneId, 10);
|
||||||
const workOrderMilestone = workOrderMilestones.find((currentMilestone) => {
|
const workOrderMilestone = workOrderMilestones.find((currentMilestone) => {
|
||||||
return currentMilestone.workOrderMilestoneId === workOrderMilestoneId;
|
return currentMilestone.workOrderMilestoneId === workOrderMilestoneId;
|
||||||
});
|
});
|
||||||
|
|
@ -957,8 +930,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
cityssm.openHtmlModal("workOrder-editMilestone", {
|
cityssm.openHtmlModal("workOrder-editMilestone", {
|
||||||
onshow: (modalElement) => {
|
onshow(modalElement) {
|
||||||
modalElement.querySelector("#milestoneEdit--workOrderId").value = workOrderId;
|
modalElement.querySelector("#milestoneEdit--workOrderId").value =
|
||||||
|
workOrderId;
|
||||||
modalElement.querySelector("#milestoneEdit--workOrderMilestoneId").value = workOrderMilestone.workOrderMilestoneId.toString();
|
modalElement.querySelector("#milestoneEdit--workOrderMilestoneId").value = workOrderMilestone.workOrderMilestoneId.toString();
|
||||||
const milestoneTypeElement = modalElement.querySelector("#milestoneEdit--workOrderMilestoneTypeId");
|
const milestoneTypeElement = modalElement.querySelector("#milestoneEdit--workOrderMilestoneTypeId");
|
||||||
let milestoneTypeFound = false;
|
let milestoneTypeFound = false;
|
||||||
|
|
@ -966,8 +940,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
const optionElement = document.createElement("option");
|
const optionElement = document.createElement("option");
|
||||||
optionElement.value = milestoneType.workOrderMilestoneTypeId.toString();
|
optionElement.value = milestoneType.workOrderMilestoneTypeId.toString();
|
||||||
optionElement.textContent = milestoneType.workOrderMilestoneType;
|
optionElement.textContent = milestoneType.workOrderMilestoneType;
|
||||||
if (milestoneType.workOrderMilestoneTypeId ===
|
if (milestoneType.workOrderMilestoneTypeId === workOrderMilestone.workOrderMilestoneTypeId) {
|
||||||
workOrderMilestone.workOrderMilestoneTypeId) {
|
|
||||||
optionElement.selected = true;
|
optionElement.selected = true;
|
||||||
milestoneTypeFound = true;
|
milestoneTypeFound = true;
|
||||||
}
|
}
|
||||||
|
|
@ -986,19 +959,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
}
|
}
|
||||||
modalElement.querySelector("#milestoneEdit--workOrderMilestoneDescription").value = workOrderMilestone.workOrderMilestoneDescription;
|
modalElement.querySelector("#milestoneEdit--workOrderMilestoneDescription").value = workOrderMilestone.workOrderMilestoneDescription;
|
||||||
},
|
},
|
||||||
onshown: (modalElement, closeModalFunction) => {
|
onshown(modalElement, closeModalFunction) {
|
||||||
editCloseModalFunction = closeModalFunction;
|
editCloseModalFunction = closeModalFunction;
|
||||||
bulmaJS.toggleHtmlClipped();
|
bulmaJS.toggleHtmlClipped();
|
||||||
los.initializeDatePickers(modalElement);
|
los.initializeDatePickers(modalElement);
|
||||||
// los.initializeTimePickers(modalElement);
|
// los.initializeTimePickers(modalElement);
|
||||||
modalElement.querySelector("form").addEventListener("submit", doEdit);
|
modalElement.querySelector("form").addEventListener("submit", doEdit);
|
||||||
},
|
},
|
||||||
onremoved: () => {
|
onremoved() {
|
||||||
bulmaJS.toggleHtmlClipped();
|
bulmaJS.toggleHtmlClipped();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
function renderMilestones() {
|
function renderMilestones() {
|
||||||
|
var _a, _b, _c;
|
||||||
// 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");
|
||||||
|
|
@ -1008,8 +982,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
for (const milestone of workOrderMilestones) {
|
for (const milestone of workOrderMilestones) {
|
||||||
const panelBlockElement = document.createElement("div");
|
const panelBlockElement = document.createElement("div");
|
||||||
panelBlockElement.className = "panel-block is-block container--milestone";
|
panelBlockElement.className = "panel-block is-block container--milestone";
|
||||||
panelBlockElement.dataset.workOrderMilestoneId =
|
panelBlockElement.dataset.workOrderMilestoneId = milestone.workOrderMilestoneId.toString();
|
||||||
milestone.workOrderMilestoneId.toString();
|
|
||||||
panelBlockElement.innerHTML =
|
panelBlockElement.innerHTML =
|
||||||
'<div class="columns is-mobile">' +
|
'<div class="columns is-mobile">' +
|
||||||
('<div class="column is-narrow">' +
|
('<div class="column is-narrow">' +
|
||||||
|
|
@ -1032,9 +1005,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
"</strong><br />"
|
"</strong><br />"
|
||||||
: "") +
|
: "") +
|
||||||
milestone.workOrderMilestoneDateString +
|
milestone.workOrderMilestoneDateString +
|
||||||
(milestone.workOrderMilestoneTime
|
(milestone.workOrderMilestoneTime ? " " + milestone.workOrderMilestoneTimeString : "") +
|
||||||
? " " + milestone.workOrderMilestoneTimeString
|
|
||||||
: "") +
|
|
||||||
"<br />" +
|
"<br />" +
|
||||||
'<span class="is-size-7">' +
|
'<span class="is-size-7">' +
|
||||||
cityssm.escapeHTML(milestone.workOrderMilestoneDescription || "") +
|
cityssm.escapeHTML(milestone.workOrderMilestoneDescription || "") +
|
||||||
|
|
@ -1068,19 +1039,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
"</div>" +
|
"</div>" +
|
||||||
"</div>") +
|
"</div>") +
|
||||||
"</div>";
|
"</div>";
|
||||||
if (milestone.workOrderMilestoneCompletionDate) {
|
(_a = panelBlockElement
|
||||||
panelBlockElement
|
.querySelector(".button--reopenMilestone")) === null || _a === void 0 ? void 0 : _a.addEventListener("click", reopenMilestone);
|
||||||
.querySelector(".button--reopenMilestone")
|
(_b = panelBlockElement
|
||||||
.addEventListener("click", reopenMilestone);
|
.querySelector(".button--editMilestone")) === null || _b === void 0 ? void 0 : _b.addEventListener("click", editMilestone);
|
||||||
}
|
(_c = panelBlockElement
|
||||||
else {
|
.querySelector(".button--completeMilestone")) === null || _c === void 0 ? void 0 : _c.addEventListener("click", completeMilestone);
|
||||||
panelBlockElement
|
|
||||||
.querySelector(".button--editMilestone")
|
|
||||||
.addEventListener("click", editMilestone);
|
|
||||||
panelBlockElement
|
|
||||||
.querySelector(".button--completeMilestone")
|
|
||||||
.addEventListener("click", completeMilestone);
|
|
||||||
}
|
|
||||||
panelBlockElement
|
panelBlockElement
|
||||||
.querySelector(".button--deleteMilestone")
|
.querySelector(".button--deleteMilestone")
|
||||||
.addEventListener("click", deleteMilestone);
|
.addEventListener("click", deleteMilestone);
|
||||||
|
|
@ -1126,7 +1090,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
};
|
};
|
||||||
cityssm.openHtmlModal("workOrder-addMilestone", {
|
cityssm.openHtmlModal("workOrder-addMilestone", {
|
||||||
onshow(modalElement) {
|
onshow(modalElement) {
|
||||||
modalElement.querySelector("#milestoneAdd--workOrderId").value = workOrderId;
|
modalElement.querySelector("#milestoneAdd--workOrderId").value =
|
||||||
|
workOrderId;
|
||||||
const milestoneTypeElement = modalElement.querySelector("#milestoneAdd--workOrderMilestoneTypeId");
|
const milestoneTypeElement = modalElement.querySelector("#milestoneAdd--workOrderMilestoneTypeId");
|
||||||
for (const milestoneType of exports.workOrderMilestoneTypes) {
|
for (const milestoneType of exports.workOrderMilestoneTypes) {
|
||||||
const optionElement = document.createElement("option");
|
const optionElement = document.createElement("option");
|
||||||
|
|
|
||||||
|
|
@ -3,8 +3,7 @@
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
(() => {
|
(() => {
|
||||||
const los = exports.los;
|
const los = exports.los;
|
||||||
const workOrderId = document.querySelector("#workOrderEdit--workOrderId")
|
const workOrderId = document.querySelector("#workOrderEdit--workOrderId").value;
|
||||||
.value;
|
|
||||||
const isCreate = workOrderId === "";
|
const isCreate = workOrderId === "";
|
||||||
const workOrderFormElement = document.querySelector("#form--workOrderEdit");
|
const workOrderFormElement = document.querySelector("#form--workOrderEdit");
|
||||||
los.initializeDatePickers(workOrderFormElement.querySelector("#workOrderEdit--workOrderOpenDateString").closest(".field"));
|
los.initializeDatePickers(workOrderFormElement.querySelector("#workOrderEdit--workOrderOpenDateString").closest(".field"));
|
||||||
|
|
@ -46,8 +45,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
workOrderId
|
workOrderId
|
||||||
}, (responseJSON) => {
|
}, (responseJSON) => {
|
||||||
if (responseJSON.success) {
|
if (responseJSON.success) {
|
||||||
window.location.href =
|
window.location.href = los.urlPrefix + "/workOrders/" + workOrderId;
|
||||||
los.urlPrefix + "/workOrders/" + encodeURIComponent(workOrderId);
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
|
|
@ -83,8 +81,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
if (hasOpenMilestones) {
|
if (hasOpenMilestones) {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
title: "Outstanding Milestones",
|
title: "Outstanding Milestones",
|
||||||
message: "You cannot close a work order with outstanding milestones." +
|
message: `You cannot close a work order with outstanding milestones.
|
||||||
" Either complete the outstanding milestones, or remove them from the work order.",
|
Either complete the outstanding milestones, or remove them from the work order.`,
|
||||||
contextualColorName: "warning"
|
contextualColorName: "warning"
|
||||||
});
|
});
|
||||||
/*
|
/*
|
||||||
|
|
@ -113,9 +111,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
document
|
document.querySelector("#button--deleteWorkOrder").addEventListener("click", (clickEvent) => {
|
||||||
.querySelector("#button--deleteWorkOrder")
|
|
||||||
.addEventListener("click", (clickEvent) => {
|
|
||||||
clickEvent.preventDefault();
|
clickEvent.preventDefault();
|
||||||
bulmaJS.confirm({
|
bulmaJS.confirm({
|
||||||
title: "Delete Work Order",
|
title: "Delete Work Order",
|
||||||
|
|
@ -157,7 +153,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
function completeMilestone(clickEvent) {
|
function completeMilestone(clickEvent) {
|
||||||
clickEvent.preventDefault();
|
clickEvent.preventDefault();
|
||||||
const currentDateString = cityssm.dateToString(new Date());
|
const currentDateString = cityssm.dateToString(new Date());
|
||||||
const workOrderMilestoneId = Number.parseInt(clickEvent.currentTarget.closest(".container--milestone").dataset.workOrderMilestoneId, 10);
|
const workOrderMilestoneId = Number.parseInt(clickEvent.currentTarget.closest(".container--milestone")
|
||||||
|
.dataset.workOrderMilestoneId, 10);
|
||||||
const workOrderMilestone = workOrderMilestones.find((currentMilestone) => {
|
const workOrderMilestone = workOrderMilestones.find((currentMilestone) => {
|
||||||
return currentMilestone.workOrderMilestoneId === workOrderMilestoneId;
|
return currentMilestone.workOrderMilestoneId === workOrderMilestoneId;
|
||||||
});
|
});
|
||||||
|
|
@ -221,7 +218,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
}
|
}
|
||||||
function editMilestone(clickEvent) {
|
function editMilestone(clickEvent) {
|
||||||
clickEvent.preventDefault();
|
clickEvent.preventDefault();
|
||||||
const workOrderMilestoneId = Number.parseInt(clickEvent.currentTarget.closest(".container--milestone").dataset.workOrderMilestoneId, 10);
|
const workOrderMilestoneId = Number.parseInt(clickEvent.currentTarget.closest(".container--milestone")
|
||||||
|
.dataset.workOrderMilestoneId, 10);
|
||||||
const workOrderMilestone = workOrderMilestones.find((currentMilestone) => {
|
const workOrderMilestone = workOrderMilestones.find((currentMilestone) => {
|
||||||
return currentMilestone.workOrderMilestoneId === workOrderMilestoneId;
|
return currentMilestone.workOrderMilestoneId === workOrderMilestoneId;
|
||||||
});
|
});
|
||||||
|
|
@ -236,8 +234,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
cityssm.openHtmlModal("workOrder-editMilestone", {
|
cityssm.openHtmlModal("workOrder-editMilestone", {
|
||||||
onshow: (modalElement) => {
|
onshow(modalElement) {
|
||||||
modalElement.querySelector("#milestoneEdit--workOrderId").value = workOrderId;
|
modalElement.querySelector("#milestoneEdit--workOrderId").value =
|
||||||
|
workOrderId;
|
||||||
modalElement.querySelector("#milestoneEdit--workOrderMilestoneId").value = workOrderMilestone.workOrderMilestoneId.toString();
|
modalElement.querySelector("#milestoneEdit--workOrderMilestoneId").value = workOrderMilestone.workOrderMilestoneId.toString();
|
||||||
const milestoneTypeElement = modalElement.querySelector("#milestoneEdit--workOrderMilestoneTypeId");
|
const milestoneTypeElement = modalElement.querySelector("#milestoneEdit--workOrderMilestoneTypeId");
|
||||||
let milestoneTypeFound = false;
|
let milestoneTypeFound = false;
|
||||||
|
|
@ -245,8 +244,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
const optionElement = document.createElement("option");
|
const optionElement = document.createElement("option");
|
||||||
optionElement.value = milestoneType.workOrderMilestoneTypeId.toString();
|
optionElement.value = milestoneType.workOrderMilestoneTypeId.toString();
|
||||||
optionElement.textContent = milestoneType.workOrderMilestoneType;
|
optionElement.textContent = milestoneType.workOrderMilestoneType;
|
||||||
if (milestoneType.workOrderMilestoneTypeId ===
|
if (milestoneType.workOrderMilestoneTypeId === workOrderMilestone.workOrderMilestoneTypeId) {
|
||||||
workOrderMilestone.workOrderMilestoneTypeId) {
|
|
||||||
optionElement.selected = true;
|
optionElement.selected = true;
|
||||||
milestoneTypeFound = true;
|
milestoneTypeFound = true;
|
||||||
}
|
}
|
||||||
|
|
@ -265,19 +263,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
}
|
}
|
||||||
modalElement.querySelector("#milestoneEdit--workOrderMilestoneDescription").value = workOrderMilestone.workOrderMilestoneDescription;
|
modalElement.querySelector("#milestoneEdit--workOrderMilestoneDescription").value = workOrderMilestone.workOrderMilestoneDescription;
|
||||||
},
|
},
|
||||||
onshown: (modalElement, closeModalFunction) => {
|
onshown(modalElement, closeModalFunction) {
|
||||||
editCloseModalFunction = closeModalFunction;
|
editCloseModalFunction = closeModalFunction;
|
||||||
bulmaJS.toggleHtmlClipped();
|
bulmaJS.toggleHtmlClipped();
|
||||||
los.initializeDatePickers(modalElement);
|
los.initializeDatePickers(modalElement);
|
||||||
// los.initializeTimePickers(modalElement);
|
// los.initializeTimePickers(modalElement);
|
||||||
modalElement.querySelector("form").addEventListener("submit", doEdit);
|
modalElement.querySelector("form").addEventListener("submit", doEdit);
|
||||||
},
|
},
|
||||||
onremoved: () => {
|
onremoved() {
|
||||||
bulmaJS.toggleHtmlClipped();
|
bulmaJS.toggleHtmlClipped();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
function renderMilestones() {
|
function renderMilestones() {
|
||||||
|
var _a, _b, _c;
|
||||||
// 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");
|
||||||
|
|
@ -287,8 +286,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
for (const milestone of workOrderMilestones) {
|
for (const milestone of workOrderMilestones) {
|
||||||
const panelBlockElement = document.createElement("div");
|
const panelBlockElement = document.createElement("div");
|
||||||
panelBlockElement.className = "panel-block is-block container--milestone";
|
panelBlockElement.className = "panel-block is-block container--milestone";
|
||||||
panelBlockElement.dataset.workOrderMilestoneId =
|
panelBlockElement.dataset.workOrderMilestoneId = milestone.workOrderMilestoneId.toString();
|
||||||
milestone.workOrderMilestoneId.toString();
|
|
||||||
panelBlockElement.innerHTML =
|
panelBlockElement.innerHTML =
|
||||||
'<div class="columns is-mobile">' +
|
'<div class="columns is-mobile">' +
|
||||||
('<div class="column is-narrow">' +
|
('<div class="column is-narrow">' +
|
||||||
|
|
@ -311,9 +309,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
"</strong><br />"
|
"</strong><br />"
|
||||||
: "") +
|
: "") +
|
||||||
milestone.workOrderMilestoneDateString +
|
milestone.workOrderMilestoneDateString +
|
||||||
(milestone.workOrderMilestoneTime
|
(milestone.workOrderMilestoneTime ? " " + milestone.workOrderMilestoneTimeString : "") +
|
||||||
? " " + milestone.workOrderMilestoneTimeString
|
|
||||||
: "") +
|
|
||||||
"<br />" +
|
"<br />" +
|
||||||
'<span class="is-size-7">' +
|
'<span class="is-size-7">' +
|
||||||
cityssm.escapeHTML(milestone.workOrderMilestoneDescription || "") +
|
cityssm.escapeHTML(milestone.workOrderMilestoneDescription || "") +
|
||||||
|
|
@ -347,19 +343,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
"</div>" +
|
"</div>" +
|
||||||
"</div>") +
|
"</div>") +
|
||||||
"</div>";
|
"</div>";
|
||||||
if (milestone.workOrderMilestoneCompletionDate) {
|
(_a = panelBlockElement
|
||||||
panelBlockElement
|
.querySelector(".button--reopenMilestone")) === null || _a === void 0 ? void 0 : _a.addEventListener("click", reopenMilestone);
|
||||||
.querySelector(".button--reopenMilestone")
|
(_b = panelBlockElement
|
||||||
.addEventListener("click", reopenMilestone);
|
.querySelector(".button--editMilestone")) === null || _b === void 0 ? void 0 : _b.addEventListener("click", editMilestone);
|
||||||
}
|
(_c = panelBlockElement
|
||||||
else {
|
.querySelector(".button--completeMilestone")) === null || _c === void 0 ? void 0 : _c.addEventListener("click", completeMilestone);
|
||||||
panelBlockElement
|
|
||||||
.querySelector(".button--editMilestone")
|
|
||||||
.addEventListener("click", editMilestone);
|
|
||||||
panelBlockElement
|
|
||||||
.querySelector(".button--completeMilestone")
|
|
||||||
.addEventListener("click", completeMilestone);
|
|
||||||
}
|
|
||||||
panelBlockElement
|
panelBlockElement
|
||||||
.querySelector(".button--deleteMilestone")
|
.querySelector(".button--deleteMilestone")
|
||||||
.addEventListener("click", deleteMilestone);
|
.addEventListener("click", deleteMilestone);
|
||||||
|
|
@ -405,7 +394,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
};
|
};
|
||||||
cityssm.openHtmlModal("workOrder-addMilestone", {
|
cityssm.openHtmlModal("workOrder-addMilestone", {
|
||||||
onshow(modalElement) {
|
onshow(modalElement) {
|
||||||
modalElement.querySelector("#milestoneAdd--workOrderId").value = workOrderId;
|
modalElement.querySelector("#milestoneAdd--workOrderId").value =
|
||||||
|
workOrderId;
|
||||||
const milestoneTypeElement = modalElement.querySelector("#milestoneAdd--workOrderMilestoneTypeId");
|
const milestoneTypeElement = modalElement.querySelector("#milestoneAdd--workOrderMilestoneTypeId");
|
||||||
for (const milestoneType of exports.workOrderMilestoneTypes) {
|
for (const milestoneType of exports.workOrderMilestoneTypes) {
|
||||||
const optionElement = document.createElement("option");
|
const optionElement = document.createElement("option");
|
||||||
|
|
|
||||||
|
|
@ -12,8 +12,7 @@ declare const bulmaJS: BulmaJS;
|
||||||
(() => {
|
(() => {
|
||||||
const los = exports.los as globalTypes.LOS;
|
const los = exports.los as globalTypes.LOS;
|
||||||
|
|
||||||
const workOrderId = (document.querySelector("#workOrderEdit--workOrderId") as HTMLInputElement)
|
const workOrderId = (document.querySelector("#workOrderEdit--workOrderId") as HTMLInputElement).value;
|
||||||
.value;
|
|
||||||
|
|
||||||
const isCreate = workOrderId === "";
|
const isCreate = workOrderId === "";
|
||||||
|
|
||||||
|
|
@ -21,9 +20,7 @@ declare const bulmaJS: BulmaJS;
|
||||||
|
|
||||||
los.initializeDatePickers(
|
los.initializeDatePickers(
|
||||||
(
|
(
|
||||||
workOrderFormElement.querySelector(
|
workOrderFormElement.querySelector("#workOrderEdit--workOrderOpenDateString") as HTMLInputElement
|
||||||
"#workOrderEdit--workOrderOpenDateString"
|
|
||||||
) as HTMLInputElement
|
|
||||||
).closest(".field") as HTMLElement
|
).closest(".field") as HTMLElement
|
||||||
);
|
);
|
||||||
los.initializeUnlockFieldButtons(workOrderFormElement);
|
los.initializeUnlockFieldButtons(workOrderFormElement);
|
||||||
|
|
@ -78,8 +75,7 @@ declare const bulmaJS: BulmaJS;
|
||||||
},
|
},
|
||||||
(responseJSON: { success: boolean; errorMessage?: string }) => {
|
(responseJSON: { success: boolean; errorMessage?: string }) => {
|
||||||
if (responseJSON.success) {
|
if (responseJSON.success) {
|
||||||
window.location.href =
|
window.location.href = los.urlPrefix + "/workOrders/" + workOrderId;
|
||||||
los.urlPrefix + "/workOrders/" + encodeURIComponent(workOrderId);
|
|
||||||
} else {
|
} else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
title: "Error Closing Work Order",
|
title: "Error Closing Work Order",
|
||||||
|
|
@ -122,9 +118,8 @@ declare const bulmaJS: BulmaJS;
|
||||||
if (hasOpenMilestones) {
|
if (hasOpenMilestones) {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
title: "Outstanding Milestones",
|
title: "Outstanding Milestones",
|
||||||
message:
|
message: `You cannot close a work order with outstanding milestones.
|
||||||
"You cannot close a work order with outstanding milestones." +
|
Either complete the outstanding milestones, or remove them from the work order.`,
|
||||||
" Either complete the outstanding milestones, or remove them from the work order.",
|
|
||||||
contextualColorName: "warning"
|
contextualColorName: "warning"
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -154,21 +149,19 @@ declare const bulmaJS: BulmaJS;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
document
|
document.querySelector("#button--deleteWorkOrder")!.addEventListener("click", (clickEvent: Event) => {
|
||||||
.querySelector("#button--deleteWorkOrder")!
|
clickEvent.preventDefault();
|
||||||
.addEventListener("click", (clickEvent: Event) => {
|
|
||||||
clickEvent.preventDefault();
|
|
||||||
|
|
||||||
bulmaJS.confirm({
|
bulmaJS.confirm({
|
||||||
title: "Delete Work Order",
|
title: "Delete Work Order",
|
||||||
message: "Are you sure you want to delete this work order?",
|
message: "Are you sure you want to delete this work order?",
|
||||||
contextualColorName: "warning",
|
contextualColorName: "warning",
|
||||||
okButton: {
|
okButton: {
|
||||||
text: "Yes, Delete Work Order",
|
text: "Yes, Delete Work Order",
|
||||||
callbackFunction: doDelete
|
callbackFunction: doDelete
|
||||||
}
|
}
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -212,11 +205,8 @@ declare const bulmaJS: BulmaJS;
|
||||||
const currentDateString = cityssm.dateToString(new Date());
|
const currentDateString = cityssm.dateToString(new Date());
|
||||||
|
|
||||||
const workOrderMilestoneId = Number.parseInt(
|
const workOrderMilestoneId = Number.parseInt(
|
||||||
(
|
((clickEvent.currentTarget as HTMLElement).closest(".container--milestone") as HTMLElement)
|
||||||
(clickEvent.currentTarget as HTMLElement).closest(
|
.dataset.workOrderMilestoneId!,
|
||||||
".container--milestone"
|
|
||||||
) as HTMLElement
|
|
||||||
).dataset.workOrderMilestoneId!,
|
|
||||||
10
|
10
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
@ -255,9 +245,7 @@ declare const bulmaJS: BulmaJS;
|
||||||
clickEvent.preventDefault();
|
clickEvent.preventDefault();
|
||||||
|
|
||||||
const workOrderMilestoneId = (
|
const workOrderMilestoneId = (
|
||||||
(clickEvent.currentTarget as HTMLElement).closest(
|
(clickEvent.currentTarget as HTMLElement).closest(".container--milestone") as HTMLElement
|
||||||
".container--milestone"
|
|
||||||
) as HTMLElement
|
|
||||||
).dataset.workOrderMilestoneId;
|
).dataset.workOrderMilestoneId;
|
||||||
|
|
||||||
const doReopen = () => {
|
const doReopen = () => {
|
||||||
|
|
@ -287,9 +275,7 @@ declare const bulmaJS: BulmaJS;
|
||||||
clickEvent.preventDefault();
|
clickEvent.preventDefault();
|
||||||
|
|
||||||
const workOrderMilestoneId = (
|
const workOrderMilestoneId = (
|
||||||
(clickEvent.currentTarget as HTMLElement).closest(
|
(clickEvent.currentTarget as HTMLElement).closest(".container--milestone") as HTMLElement
|
||||||
".container--milestone"
|
|
||||||
) as HTMLElement
|
|
||||||
).dataset.workOrderMilestoneId;
|
).dataset.workOrderMilestoneId;
|
||||||
|
|
||||||
const doDelete = () => {
|
const doDelete = () => {
|
||||||
|
|
@ -318,11 +304,8 @@ declare const bulmaJS: BulmaJS;
|
||||||
clickEvent.preventDefault();
|
clickEvent.preventDefault();
|
||||||
|
|
||||||
const workOrderMilestoneId = Number.parseInt(
|
const workOrderMilestoneId = Number.parseInt(
|
||||||
(
|
((clickEvent.currentTarget as HTMLElement).closest(".container--milestone") as HTMLElement)
|
||||||
(clickEvent.currentTarget as HTMLElement).closest(
|
.dataset.workOrderMilestoneId!,
|
||||||
".container--milestone"
|
|
||||||
) as HTMLElement
|
|
||||||
).dataset.workOrderMilestoneId!,
|
|
||||||
10
|
10
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
@ -352,15 +335,12 @@ declare const bulmaJS: BulmaJS;
|
||||||
};
|
};
|
||||||
|
|
||||||
cityssm.openHtmlModal("workOrder-editMilestone", {
|
cityssm.openHtmlModal("workOrder-editMilestone", {
|
||||||
onshow: (modalElement) => {
|
onshow(modalElement) {
|
||||||
(
|
(modalElement.querySelector("#milestoneEdit--workOrderId") as HTMLInputElement).value =
|
||||||
modalElement.querySelector("#milestoneEdit--workOrderId") as HTMLInputElement
|
workOrderId;
|
||||||
).value = workOrderId;
|
|
||||||
|
|
||||||
(
|
(
|
||||||
modalElement.querySelector(
|
modalElement.querySelector("#milestoneEdit--workOrderMilestoneId") as HTMLInputElement
|
||||||
"#milestoneEdit--workOrderMilestoneId"
|
|
||||||
) as HTMLInputElement
|
|
||||||
).value = workOrderMilestone.workOrderMilestoneId!.toString();
|
).value = workOrderMilestone.workOrderMilestoneId!.toString();
|
||||||
|
|
||||||
const milestoneTypeElement = modalElement.querySelector(
|
const milestoneTypeElement = modalElement.querySelector(
|
||||||
|
|
@ -376,8 +356,7 @@ declare const bulmaJS: BulmaJS;
|
||||||
optionElement.textContent = milestoneType.workOrderMilestoneType;
|
optionElement.textContent = milestoneType.workOrderMilestoneType;
|
||||||
|
|
||||||
if (
|
if (
|
||||||
milestoneType.workOrderMilestoneTypeId ===
|
milestoneType.workOrderMilestoneTypeId === workOrderMilestone.workOrderMilestoneTypeId
|
||||||
workOrderMilestone.workOrderMilestoneTypeId
|
|
||||||
) {
|
) {
|
||||||
optionElement.selected = true;
|
optionElement.selected = true;
|
||||||
milestoneTypeFound = true;
|
milestoneTypeFound = true;
|
||||||
|
|
@ -414,7 +393,7 @@ declare const bulmaJS: BulmaJS;
|
||||||
) as HTMLTextAreaElement
|
) as HTMLTextAreaElement
|
||||||
).value = workOrderMilestone.workOrderMilestoneDescription!;
|
).value = workOrderMilestone.workOrderMilestoneDescription!;
|
||||||
},
|
},
|
||||||
onshown: (modalElement, closeModalFunction) => {
|
onshown(modalElement, closeModalFunction) {
|
||||||
editCloseModalFunction = closeModalFunction;
|
editCloseModalFunction = closeModalFunction;
|
||||||
|
|
||||||
bulmaJS.toggleHtmlClipped();
|
bulmaJS.toggleHtmlClipped();
|
||||||
|
|
@ -423,7 +402,7 @@ declare const bulmaJS: BulmaJS;
|
||||||
// los.initializeTimePickers(modalElement);
|
// los.initializeTimePickers(modalElement);
|
||||||
modalElement.querySelector("form")!.addEventListener("submit", doEdit);
|
modalElement.querySelector("form")!.addEventListener("submit", doEdit);
|
||||||
},
|
},
|
||||||
onremoved: () => {
|
onremoved() {
|
||||||
bulmaJS.toggleHtmlClipped();
|
bulmaJS.toggleHtmlClipped();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
@ -443,8 +422,7 @@ declare const bulmaJS: BulmaJS;
|
||||||
const panelBlockElement = document.createElement("div");
|
const panelBlockElement = document.createElement("div");
|
||||||
panelBlockElement.className = "panel-block is-block container--milestone";
|
panelBlockElement.className = "panel-block is-block container--milestone";
|
||||||
|
|
||||||
panelBlockElement.dataset.workOrderMilestoneId =
|
panelBlockElement.dataset.workOrderMilestoneId = milestone.workOrderMilestoneId!.toString();
|
||||||
milestone.workOrderMilestoneId!.toString();
|
|
||||||
|
|
||||||
panelBlockElement.innerHTML =
|
panelBlockElement.innerHTML =
|
||||||
'<div class="columns is-mobile">' +
|
'<div class="columns is-mobile">' +
|
||||||
|
|
@ -468,9 +446,7 @@ declare const bulmaJS: BulmaJS;
|
||||||
"</strong><br />"
|
"</strong><br />"
|
||||||
: "") +
|
: "") +
|
||||||
milestone.workOrderMilestoneDateString +
|
milestone.workOrderMilestoneDateString +
|
||||||
(milestone.workOrderMilestoneTime
|
(milestone.workOrderMilestoneTime ? " " + milestone.workOrderMilestoneTimeString : "") +
|
||||||
? " " + milestone.workOrderMilestoneTimeString
|
|
||||||
: "") +
|
|
||||||
"<br />" +
|
"<br />" +
|
||||||
'<span class="is-size-7">' +
|
'<span class="is-size-7">' +
|
||||||
cityssm.escapeHTML(milestone.workOrderMilestoneDescription || "") +
|
cityssm.escapeHTML(milestone.workOrderMilestoneDescription || "") +
|
||||||
|
|
@ -505,19 +481,16 @@ declare const bulmaJS: BulmaJS;
|
||||||
"</div>") +
|
"</div>") +
|
||||||
"</div>";
|
"</div>";
|
||||||
|
|
||||||
if (milestone.workOrderMilestoneCompletionDate) {
|
panelBlockElement
|
||||||
panelBlockElement
|
.querySelector(".button--reopenMilestone")
|
||||||
.querySelector(".button--reopenMilestone")!
|
?.addEventListener("click", reopenMilestone);
|
||||||
.addEventListener("click", reopenMilestone);
|
panelBlockElement
|
||||||
} else {
|
.querySelector(".button--editMilestone")
|
||||||
panelBlockElement
|
?.addEventListener("click", editMilestone);
|
||||||
.querySelector(".button--editMilestone")!
|
|
||||||
.addEventListener("click", editMilestone);
|
|
||||||
|
|
||||||
panelBlockElement
|
panelBlockElement
|
||||||
.querySelector(".button--completeMilestone")!
|
.querySelector(".button--completeMilestone")
|
||||||
.addEventListener("click", completeMilestone);
|
?.addEventListener("click", completeMilestone);
|
||||||
}
|
|
||||||
|
|
||||||
panelBlockElement
|
panelBlockElement
|
||||||
.querySelector(".button--deleteMilestone")!
|
.querySelector(".button--deleteMilestone")!
|
||||||
|
|
@ -574,8 +547,7 @@ declare const bulmaJS: BulmaJS;
|
||||||
) {
|
) {
|
||||||
bulmaJS.confirm({
|
bulmaJS.confirm({
|
||||||
title: "Milestone Date in the Past",
|
title: "Milestone Date in the Past",
|
||||||
message:
|
message: "Are you sure you want to create a milestone with a date in the past?",
|
||||||
"Are you sure you want to create a milestone with a date in the past?",
|
|
||||||
contextualColorName: "warning",
|
contextualColorName: "warning",
|
||||||
okButton: {
|
okButton: {
|
||||||
text: "Yes, Create a Past Milestone",
|
text: "Yes, Create a Past Milestone",
|
||||||
|
|
@ -589,9 +561,8 @@ declare const bulmaJS: BulmaJS;
|
||||||
|
|
||||||
cityssm.openHtmlModal("workOrder-addMilestone", {
|
cityssm.openHtmlModal("workOrder-addMilestone", {
|
||||||
onshow(modalElement) {
|
onshow(modalElement) {
|
||||||
(
|
(modalElement.querySelector("#milestoneAdd--workOrderId") as HTMLInputElement).value =
|
||||||
modalElement.querySelector("#milestoneAdd--workOrderId") as HTMLInputElement
|
workOrderId;
|
||||||
).value = workOrderId;
|
|
||||||
|
|
||||||
const milestoneTypeElement = modalElement.querySelector(
|
const milestoneTypeElement = modalElement.querySelector(
|
||||||
"#milestoneAdd--workOrderMilestoneTypeId"
|
"#milestoneAdd--workOrderMilestoneTypeId"
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,8 @@ const openEditWorkOrderComment = (clickEvent) => {
|
||||||
}
|
}
|
||||||
cityssm.openHtmlModal("workOrder-editComment", {
|
cityssm.openHtmlModal("workOrder-editComment", {
|
||||||
onshow(modalElement) {
|
onshow(modalElement) {
|
||||||
modalElement.querySelector("#workOrderCommentEdit--workOrderId").value = workOrderId;
|
modalElement.querySelector("#workOrderCommentEdit--workOrderId").value =
|
||||||
|
workOrderId;
|
||||||
modalElement.querySelector("#workOrderCommentEdit--workOrderCommentId").value = workOrderCommentId.toString();
|
modalElement.querySelector("#workOrderCommentEdit--workOrderCommentId").value = workOrderCommentId.toString();
|
||||||
modalElement.querySelector("#workOrderCommentEdit--workOrderComment").value = workOrderComment.workOrderComment;
|
modalElement.querySelector("#workOrderCommentEdit--workOrderComment").value = workOrderComment.workOrderComment;
|
||||||
const workOrderCommentDateStringElement = modalElement.querySelector("#workOrderCommentEdit--workOrderCommentDateString");
|
const workOrderCommentDateStringElement = modalElement.querySelector("#workOrderCommentEdit--workOrderCommentDateString");
|
||||||
|
|
@ -88,26 +89,21 @@ function deleteWorkOrderComment(clickEvent) {
|
||||||
function renderWorkOrderComments() {
|
function renderWorkOrderComments() {
|
||||||
const containerElement = document.querySelector("#container--workOrderComments");
|
const containerElement = document.querySelector("#container--workOrderComments");
|
||||||
if (workOrderComments.length === 0) {
|
if (workOrderComments.length === 0) {
|
||||||
containerElement.innerHTML =
|
containerElement.innerHTML = `<div class="message is-info">
|
||||||
'<div class="message is-info">' +
|
<p class="message-body">There are no comments to display.</p>
|
||||||
'<p class="message-body">There are no comments to display.</p>' +
|
</div>`;
|
||||||
"</div>";
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const tableElement = document.createElement("table");
|
const tableElement = document.createElement("table");
|
||||||
tableElement.className = "table is-fullwidth is-striped is-hoverable";
|
tableElement.className = "table is-fullwidth is-striped is-hoverable";
|
||||||
tableElement.innerHTML =
|
tableElement.innerHTML = `<thead><tr>
|
||||||
"<thead><tr>" +
|
<th>Commentor</th>
|
||||||
"<th>Commentor</th>" +
|
<th>Comment Date</th>
|
||||||
"<th>Comment Date</th>" +
|
<th>Comment</th>
|
||||||
"<th>Comment</th>" +
|
<th class="is-hidden-print"><span class="is-sr-only">Options</span></th></tr></thead><tbody></tbody>`;
|
||||||
'<th class="is-hidden-print"><span class="is-sr-only">Options</span></th>' +
|
|
||||||
"</tr></thead>" +
|
|
||||||
"<tbody></tbody>";
|
|
||||||
for (const workOrderComment of workOrderComments) {
|
for (const workOrderComment of workOrderComments) {
|
||||||
const tableRowElement = document.createElement("tr");
|
const tableRowElement = document.createElement("tr");
|
||||||
tableRowElement.dataset.workOrderCommentId =
|
tableRowElement.dataset.workOrderCommentId = workOrderComment.workOrderCommentId.toString();
|
||||||
workOrderComment.workOrderCommentId.toString();
|
|
||||||
tableRowElement.innerHTML =
|
tableRowElement.innerHTML =
|
||||||
"<td>" +
|
"<td>" +
|
||||||
cityssm.escapeHTML(workOrderComment.recordCreate_userName || "") +
|
cityssm.escapeHTML(workOrderComment.recordCreate_userName || "") +
|
||||||
|
|
@ -132,12 +128,8 @@ function renderWorkOrderComments() {
|
||||||
"</button>") +
|
"</button>") +
|
||||||
"</div>" +
|
"</div>" +
|
||||||
"</td>");
|
"</td>");
|
||||||
tableRowElement
|
tableRowElement.querySelector(".button--edit").addEventListener("click", openEditWorkOrderComment);
|
||||||
.querySelector(".button--edit")
|
tableRowElement.querySelector(".button--delete").addEventListener("click", deleteWorkOrderComment);
|
||||||
.addEventListener("click", openEditWorkOrderComment);
|
|
||||||
tableRowElement
|
|
||||||
.querySelector(".button--delete")
|
|
||||||
.addEventListener("click", deleteWorkOrderComment);
|
|
||||||
tableElement.querySelector("tbody").append(tableRowElement);
|
tableElement.querySelector("tbody").append(tableRowElement);
|
||||||
}
|
}
|
||||||
containerElement.innerHTML = "";
|
containerElement.innerHTML = "";
|
||||||
|
|
@ -158,7 +150,8 @@ function openAddCommentModal() {
|
||||||
cityssm.openHtmlModal("workOrder-addComment", {
|
cityssm.openHtmlModal("workOrder-addComment", {
|
||||||
onshow(modalElement) {
|
onshow(modalElement) {
|
||||||
los.populateAliases(modalElement);
|
los.populateAliases(modalElement);
|
||||||
modalElement.querySelector("#workOrderCommentAdd--workOrderId").value = workOrderId;
|
modalElement.querySelector("#workOrderCommentAdd--workOrderId").value =
|
||||||
|
workOrderId;
|
||||||
modalElement.querySelector("form").addEventListener("submit", doAddComment);
|
modalElement.querySelector("form").addEventListener("submit", doAddComment);
|
||||||
},
|
},
|
||||||
onshown(modalElement, closeModalFunction) {
|
onshown(modalElement, closeModalFunction) {
|
||||||
|
|
@ -173,8 +166,6 @@ function openAddCommentModal() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
if (!isCreate) {
|
if (!isCreate) {
|
||||||
document
|
document.querySelector("#workOrderComments--add").addEventListener("click", openAddCommentModal);
|
||||||
.querySelector("#workOrderComments--add")
|
|
||||||
.addEventListener("click", openAddCommentModal);
|
|
||||||
renderWorkOrderComments();
|
renderWorkOrderComments();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -58,19 +58,14 @@ const openEditWorkOrderComment = (clickEvent: Event) => {
|
||||||
|
|
||||||
cityssm.openHtmlModal("workOrder-editComment", {
|
cityssm.openHtmlModal("workOrder-editComment", {
|
||||||
onshow(modalElement) {
|
onshow(modalElement) {
|
||||||
|
(modalElement.querySelector("#workOrderCommentEdit--workOrderId") as HTMLInputElement).value =
|
||||||
|
workOrderId;
|
||||||
(
|
(
|
||||||
modalElement.querySelector("#workOrderCommentEdit--workOrderId") as HTMLInputElement
|
modalElement.querySelector("#workOrderCommentEdit--workOrderCommentId") as HTMLInputElement
|
||||||
).value = workOrderId;
|
|
||||||
(
|
|
||||||
modalElement.querySelector(
|
|
||||||
"#workOrderCommentEdit--workOrderCommentId"
|
|
||||||
) as HTMLInputElement
|
|
||||||
).value = workOrderCommentId.toString();
|
).value = workOrderCommentId.toString();
|
||||||
|
|
||||||
(
|
(
|
||||||
modalElement.querySelector(
|
modalElement.querySelector("#workOrderCommentEdit--workOrderComment") as HTMLInputElement
|
||||||
"#workOrderCommentEdit--workOrderComment"
|
|
||||||
) as HTMLInputElement
|
|
||||||
).value = workOrderComment.workOrderComment!;
|
).value = workOrderComment.workOrderComment!;
|
||||||
|
|
||||||
const workOrderCommentDateStringElement = modalElement.querySelector(
|
const workOrderCommentDateStringElement = modalElement.querySelector(
|
||||||
|
|
@ -99,9 +94,7 @@ const openEditWorkOrderComment = (clickEvent: Event) => {
|
||||||
// los.initializeTimePickers(modalElement);
|
// los.initializeTimePickers(modalElement);
|
||||||
|
|
||||||
(
|
(
|
||||||
modalElement.querySelector(
|
modalElement.querySelector("#workOrderCommentEdit--workOrderComment") as HTMLTextAreaElement
|
||||||
"#workOrderCommentEdit--workOrderComment"
|
|
||||||
) as HTMLTextAreaElement
|
|
||||||
).focus();
|
).focus();
|
||||||
|
|
||||||
editFormElement = modalElement.querySelector("form")!;
|
editFormElement = modalElement.querySelector("form")!;
|
||||||
|
|
@ -162,28 +155,23 @@ function renderWorkOrderComments() {
|
||||||
const containerElement = document.querySelector("#container--workOrderComments") as HTMLElement;
|
const containerElement = document.querySelector("#container--workOrderComments") as HTMLElement;
|
||||||
|
|
||||||
if (workOrderComments.length === 0) {
|
if (workOrderComments.length === 0) {
|
||||||
containerElement.innerHTML =
|
containerElement.innerHTML = `<div class="message is-info">
|
||||||
'<div class="message is-info">' +
|
<p class="message-body">There are no comments to display.</p>
|
||||||
'<p class="message-body">There are no comments to display.</p>' +
|
</div>`;
|
||||||
"</div>";
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const tableElement = document.createElement("table");
|
const tableElement = document.createElement("table");
|
||||||
tableElement.className = "table is-fullwidth is-striped is-hoverable";
|
tableElement.className = "table is-fullwidth is-striped is-hoverable";
|
||||||
tableElement.innerHTML =
|
tableElement.innerHTML = `<thead><tr>
|
||||||
"<thead><tr>" +
|
<th>Commentor</th>
|
||||||
"<th>Commentor</th>" +
|
<th>Comment Date</th>
|
||||||
"<th>Comment Date</th>" +
|
<th>Comment</th>
|
||||||
"<th>Comment</th>" +
|
<th class="is-hidden-print"><span class="is-sr-only">Options</span></th></tr></thead><tbody></tbody>`;
|
||||||
'<th class="is-hidden-print"><span class="is-sr-only">Options</span></th>' +
|
|
||||||
"</tr></thead>" +
|
|
||||||
"<tbody></tbody>";
|
|
||||||
|
|
||||||
for (const workOrderComment of workOrderComments) {
|
for (const workOrderComment of workOrderComments) {
|
||||||
const tableRowElement = document.createElement("tr");
|
const tableRowElement = document.createElement("tr");
|
||||||
tableRowElement.dataset.workOrderCommentId =
|
tableRowElement.dataset.workOrderCommentId = workOrderComment.workOrderCommentId!.toString();
|
||||||
workOrderComment.workOrderCommentId!.toString();
|
|
||||||
|
|
||||||
tableRowElement.innerHTML =
|
tableRowElement.innerHTML =
|
||||||
"<td>" +
|
"<td>" +
|
||||||
|
|
@ -210,13 +198,9 @@ function renderWorkOrderComments() {
|
||||||
"</div>" +
|
"</div>" +
|
||||||
"</td>");
|
"</td>");
|
||||||
|
|
||||||
tableRowElement
|
tableRowElement.querySelector(".button--edit")!.addEventListener("click", openEditWorkOrderComment);
|
||||||
.querySelector(".button--edit")!
|
|
||||||
.addEventListener("click", openEditWorkOrderComment);
|
|
||||||
|
|
||||||
tableRowElement
|
tableRowElement.querySelector(".button--delete")!.addEventListener("click", deleteWorkOrderComment);
|
||||||
.querySelector(".button--delete")!
|
|
||||||
.addEventListener("click", deleteWorkOrderComment);
|
|
||||||
|
|
||||||
tableElement.querySelector("tbody")!.append(tableRowElement);
|
tableElement.querySelector("tbody")!.append(tableRowElement);
|
||||||
}
|
}
|
||||||
|
|
@ -234,10 +218,7 @@ function openAddCommentModal() {
|
||||||
cityssm.postJSON(
|
cityssm.postJSON(
|
||||||
los.urlPrefix + "/workOrders/doAddWorkOrderComment",
|
los.urlPrefix + "/workOrders/doAddWorkOrderComment",
|
||||||
formEvent.currentTarget,
|
formEvent.currentTarget,
|
||||||
(responseJSON: {
|
(responseJSON: { success: boolean; workOrderComments?: recordTypes.WorkOrderComment[] }) => {
|
||||||
success: boolean;
|
|
||||||
workOrderComments?: recordTypes.WorkOrderComment[];
|
|
||||||
}) => {
|
|
||||||
if (responseJSON.success) {
|
if (responseJSON.success) {
|
||||||
workOrderComments = responseJSON.workOrderComments!;
|
workOrderComments = responseJSON.workOrderComments!;
|
||||||
renderWorkOrderComments();
|
renderWorkOrderComments();
|
||||||
|
|
@ -250,18 +231,15 @@ function openAddCommentModal() {
|
||||||
cityssm.openHtmlModal("workOrder-addComment", {
|
cityssm.openHtmlModal("workOrder-addComment", {
|
||||||
onshow(modalElement) {
|
onshow(modalElement) {
|
||||||
los.populateAliases(modalElement);
|
los.populateAliases(modalElement);
|
||||||
(
|
(modalElement.querySelector("#workOrderCommentAdd--workOrderId") as HTMLInputElement).value =
|
||||||
modalElement.querySelector("#workOrderCommentAdd--workOrderId") as HTMLInputElement
|
workOrderId;
|
||||||
).value = workOrderId;
|
|
||||||
modalElement.querySelector("form")!.addEventListener("submit", doAddComment);
|
modalElement.querySelector("form")!.addEventListener("submit", doAddComment);
|
||||||
},
|
},
|
||||||
onshown(modalElement, closeModalFunction) {
|
onshown(modalElement, closeModalFunction) {
|
||||||
bulmaJS.toggleHtmlClipped();
|
bulmaJS.toggleHtmlClipped();
|
||||||
addCommentCloseModalFunction = closeModalFunction;
|
addCommentCloseModalFunction = closeModalFunction;
|
||||||
(
|
(
|
||||||
modalElement.querySelector(
|
modalElement.querySelector("#workOrderCommentAdd--workOrderComment") as HTMLTextAreaElement
|
||||||
"#workOrderCommentAdd--workOrderComment"
|
|
||||||
) as HTMLTextAreaElement
|
|
||||||
).focus();
|
).focus();
|
||||||
},
|
},
|
||||||
onremoved() {
|
onremoved() {
|
||||||
|
|
@ -272,9 +250,7 @@ function openAddCommentModal() {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!isCreate) {
|
if (!isCreate) {
|
||||||
document
|
document.querySelector("#workOrderComments--add")!.addEventListener("click", openAddCommentModal);
|
||||||
.querySelector("#workOrderComments--add")!
|
|
||||||
.addEventListener("click", openAddCommentModal);
|
|
||||||
|
|
||||||
renderWorkOrderComments();
|
renderWorkOrderComments();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -26,8 +26,8 @@ function deleteLotOccupancy(clickEvent) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
bulmaJS.confirm({
|
bulmaJS.confirm({
|
||||||
title: `Delete ${exports.aliases.occupancy} Relationship`,
|
title: `Delete ${los.escapedAliases.Occupancy} Relationship`,
|
||||||
message: `Are you sure you want to remove the relationship to this ${exports.aliases.occupancy.toLowerCase()} record from this work order? Note that the record will remain.`,
|
message: `Are you sure you want to remove the relationship to this ${los.escapedAliases.occupancy} record from this work order? Note that the record will remain.`,
|
||||||
contextualColorName: "warning",
|
contextualColorName: "warning",
|
||||||
okButton: {
|
okButton: {
|
||||||
text: "Yes, Delete Relationship",
|
text: "Yes, Delete Relationship",
|
||||||
|
|
@ -46,7 +46,7 @@ function addLot(lotId, callbackFunction) {
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
title: "Error Adding " + exports.aliases.lot,
|
title: "Error Adding " + los.escapedAliases.Lot,
|
||||||
message: responseJSON.errorMessage || "",
|
message: responseJSON.errorMessage || "",
|
||||||
contextualColorName: "danger"
|
contextualColorName: "danger"
|
||||||
});
|
});
|
||||||
|
|
@ -67,7 +67,7 @@ function addLotOccupancy(lotOccupancyId, callbackFunction) {
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
title: "Error Adding " + exports.aliases.occupancy,
|
title: "Error Adding " + los.escapedAliases.Occupancy,
|
||||||
message: responseJSON.errorMessage || "",
|
message: responseJSON.errorMessage || "",
|
||||||
contextualColorName: "danger"
|
contextualColorName: "danger"
|
||||||
});
|
});
|
||||||
|
|
@ -82,12 +82,13 @@ function addLotFromLotOccupancy(clickEvent) {
|
||||||
addLot(lotId);
|
addLot(lotId);
|
||||||
}
|
}
|
||||||
function renderRelatedOccupancies() {
|
function renderRelatedOccupancies() {
|
||||||
var _a;
|
var _a, _b;
|
||||||
const occupanciesContainerElement = document.querySelector("#container--lotOccupancies");
|
const occupanciesContainerElement = document.querySelector("#container--lotOccupancies");
|
||||||
document.querySelector(".tabs a[href='#relatedTab--lotOccupancies'] .tag").textContent = workOrderLotOccupancies.length.toString();
|
document.querySelector(".tabs a[href='#relatedTab--lotOccupancies'] .tag").textContent =
|
||||||
|
workOrderLotOccupancies.length.toString();
|
||||||
if (workOrderLotOccupancies.length === 0) {
|
if (workOrderLotOccupancies.length === 0) {
|
||||||
occupanciesContainerElement.innerHTML = `<div class="message is-info">
|
occupanciesContainerElement.innerHTML = `<div class="message is-info">
|
||||||
<p class="message-body">There are no ${exports.aliases.occupancies.toLowerCase()} associated with this work order.</p>
|
<p class="message-body">There are no ${los.escapedAliases.occupancies} associated with this work order.</p>
|
||||||
</div>`;
|
</div>`;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -105,8 +106,7 @@ function renderRelatedOccupancies() {
|
||||||
const rowElement = document.createElement("tr");
|
const rowElement = document.createElement("tr");
|
||||||
rowElement.className = "container--lotOccupancy";
|
rowElement.className = "container--lotOccupancy";
|
||||||
rowElement.dataset.lotOccupancyId = lotOccupancy.lotOccupancyId.toString();
|
rowElement.dataset.lotOccupancyId = lotOccupancy.lotOccupancyId.toString();
|
||||||
const isActive = !(lotOccupancy.occupancyEndDate &&
|
const isActive = !(lotOccupancy.occupancyEndDate && lotOccupancy.occupancyEndDateString < currentDateString);
|
||||||
lotOccupancy.occupancyEndDateString < currentDateString);
|
|
||||||
const hasLotRecord = lotOccupancy.lotId &&
|
const hasLotRecord = lotOccupancy.lotId &&
|
||||||
workOrderLots.some((lot) => {
|
workOrderLots.some((lot) => {
|
||||||
return lotOccupancy.lotId === lot.lotId;
|
return lotOccupancy.lotId === lot.lotId;
|
||||||
|
|
@ -114,12 +114,8 @@ function renderRelatedOccupancies() {
|
||||||
rowElement.innerHTML =
|
rowElement.innerHTML =
|
||||||
'<td class="is-width-1 has-text-centered">' +
|
'<td class="is-width-1 has-text-centered">' +
|
||||||
(isActive
|
(isActive
|
||||||
? '<i class="fas fa-play" title="Current ' +
|
? '<i class="fas fa-play" title="Current ' + los.escapedAliases.Occupancy + '"></i>'
|
||||||
cityssm.escapeHTML(exports.aliases.occupancy) +
|
: '<i class="fas fa-stop" title="Previous ' + los.escapedAliases.Occupancy + '"></i>') +
|
||||||
'"></i>'
|
|
||||||
: '<i class="fas fa-stop" title="Previous ' +
|
|
||||||
cityssm.escapeHTML(exports.aliases.occupancy) +
|
|
||||||
'"></i>') +
|
|
||||||
"</td>" +
|
"</td>" +
|
||||||
("<td>" +
|
("<td>" +
|
||||||
'<a class="has-text-weight-bold" href="' +
|
'<a class="has-text-weight-bold" href="' +
|
||||||
|
|
@ -140,17 +136,17 @@ function renderRelatedOccupancies() {
|
||||||
lotOccupancy.lotId +
|
lotOccupancy.lotId +
|
||||||
'"' +
|
'"' +
|
||||||
' data-tooltip="Add ' +
|
' data-tooltip="Add ' +
|
||||||
cityssm.escapeHTML(exports.aliases.lot) +
|
los.escapedAliases.Lot +
|
||||||
'"' +
|
'"' +
|
||||||
' aria-label="Add ' +
|
' aria-label="Add ' +
|
||||||
cityssm.escapeHTML(exports.aliases.lot) +
|
los.escapedAliases.Lot +
|
||||||
'" type="button">' +
|
'" type="button">' +
|
||||||
'<i class="fas fa-plus" aria-hidden="true"></i>' +
|
'<i class="fas fa-plus" aria-hidden="true"></i>' +
|
||||||
"</button>") +
|
"</button>") +
|
||||||
"</td>");
|
"</td>");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
rowElement.insertAdjacentHTML("beforeend", `<td><span class="has-text-grey">(No ${exports.aliases.lot})</span></td>`);
|
rowElement.insertAdjacentHTML("beforeend", `<td><span class="has-text-grey">(No ${los.escapedAliases.Lot})</span></td>`);
|
||||||
}
|
}
|
||||||
rowElement.insertAdjacentHTML("beforeend", "<td>" +
|
rowElement.insertAdjacentHTML("beforeend", "<td>" +
|
||||||
lotOccupancy.occupancyStartDateString +
|
lotOccupancy.occupancyStartDateString +
|
||||||
|
|
@ -162,9 +158,7 @@ function renderRelatedOccupancies() {
|
||||||
"</td>") +
|
"</td>") +
|
||||||
("<td>" +
|
("<td>" +
|
||||||
(lotOccupancy.lotOccupancyOccupants.length === 0
|
(lotOccupancy.lotOccupancyOccupants.length === 0
|
||||||
? '<span class="has-text-grey">(No ' +
|
? '<span class="has-text-grey">(No ' + los.escapedAliases.Occupants + ")</span>"
|
||||||
cityssm.escapeHTML(exports.aliases.occupants) +
|
|
||||||
")</span>"
|
|
||||||
: (_a = lotOccupancy.lotOccupancyOccupants) === null || _a === void 0 ? void 0 : _a.reduce((soFar, occupant) => {
|
: (_a = lotOccupancy.lotOccupancyOccupants) === null || _a === void 0 ? void 0 : _a.reduce((soFar, occupant) => {
|
||||||
return (soFar +
|
return (soFar +
|
||||||
'<span class="has-tooltip-left" data-tooltip="' +
|
'<span class="has-tooltip-left" data-tooltip="' +
|
||||||
|
|
@ -173,7 +167,7 @@ function renderRelatedOccupancies() {
|
||||||
'<i class="fas fa-fw fa-' +
|
'<i class="fas fa-fw fa-' +
|
||||||
cityssm.escapeHTML(occupant.fontAwesomeIconClass || "user") +
|
cityssm.escapeHTML(occupant.fontAwesomeIconClass || "user") +
|
||||||
'" aria-label="' +
|
'" aria-label="' +
|
||||||
cityssm.escapeHTML(exports.aliases.occupant) +
|
los.escapedAliases.Occupant +
|
||||||
'"></i> ' +
|
'"></i> ' +
|
||||||
cityssm.escapeHTML(occupant.occupantName) +
|
cityssm.escapeHTML(occupant.occupantName) +
|
||||||
"</span><br />");
|
"</span><br />");
|
||||||
|
|
@ -184,11 +178,7 @@ function renderRelatedOccupancies() {
|
||||||
'<i class="fas fa-trash" aria-hidden="true"></i>' +
|
'<i class="fas fa-trash" aria-hidden="true"></i>' +
|
||||||
"</button>" +
|
"</button>" +
|
||||||
"</td>"));
|
"</td>"));
|
||||||
if (lotOccupancy.lotId && !hasLotRecord) {
|
(_b = rowElement.querySelector(".button--addLot")) === null || _b === void 0 ? void 0 : _b.addEventListener("click", addLotFromLotOccupancy);
|
||||||
rowElement
|
|
||||||
.querySelector(".button--addLot")
|
|
||||||
.addEventListener("click", addLotFromLotOccupancy);
|
|
||||||
}
|
|
||||||
rowElement
|
rowElement
|
||||||
.querySelector(".button--deleteLotOccupancy")
|
.querySelector(".button--deleteLotOccupancy")
|
||||||
.addEventListener("click", deleteLotOccupancy);
|
.addEventListener("click", deleteLotOccupancy);
|
||||||
|
|
@ -196,8 +186,7 @@ function renderRelatedOccupancies() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function openEditLotStatus(clickEvent) {
|
function openEditLotStatus(clickEvent) {
|
||||||
const lotId = Number.parseInt(clickEvent.currentTarget.closest(".container--lot")
|
const lotId = Number.parseInt(clickEvent.currentTarget.closest(".container--lot").dataset.lotId, 10);
|
||||||
.dataset.lotId, 10);
|
|
||||||
const lot = workOrderLots.find((possibleLot) => {
|
const lot = workOrderLots.find((possibleLot) => {
|
||||||
return possibleLot.lotId === lotId;
|
return possibleLot.lotId === lotId;
|
||||||
});
|
});
|
||||||
|
|
@ -224,8 +213,7 @@ function openEditLotStatus(clickEvent) {
|
||||||
los.populateAliases(modalElement);
|
los.populateAliases(modalElement);
|
||||||
modalElement.querySelector("#lotStatusEdit--lotId").value =
|
modalElement.querySelector("#lotStatusEdit--lotId").value =
|
||||||
lotId.toString();
|
lotId.toString();
|
||||||
modalElement.querySelector("#lotStatusEdit--lotName").value =
|
modalElement.querySelector("#lotStatusEdit--lotName").value = lot.lotName;
|
||||||
lot.lotName;
|
|
||||||
const lotStatusElement = modalElement.querySelector("#lotStatusEdit--lotStatusId");
|
const lotStatusElement = modalElement.querySelector("#lotStatusEdit--lotStatusId");
|
||||||
let lotStatusFound = false;
|
let lotStatusFound = false;
|
||||||
for (const lotStatus of exports.lotStatuses) {
|
for (const lotStatus of exports.lotStatuses) {
|
||||||
|
|
@ -248,7 +236,7 @@ function openEditLotStatus(clickEvent) {
|
||||||
}
|
}
|
||||||
modalElement
|
modalElement
|
||||||
.querySelector("form")
|
.querySelector("form")
|
||||||
.insertAdjacentHTML("beforeend", '<input name="workOrderId" type="hidden" value="' + workOrderId + '" />');
|
.insertAdjacentHTML("beforeend", `<input name="workOrderId" type="hidden" value="${workOrderId}" />`);
|
||||||
},
|
},
|
||||||
onshown(modalElement, closeModalFunction) {
|
onshown(modalElement, closeModalFunction) {
|
||||||
editCloseModalFunction = closeModalFunction;
|
editCloseModalFunction = closeModalFunction;
|
||||||
|
|
@ -261,7 +249,8 @@ function openEditLotStatus(clickEvent) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
function deleteLot(clickEvent) {
|
function deleteLot(clickEvent) {
|
||||||
const lotId = clickEvent.currentTarget.closest(".container--lot").dataset.lotId;
|
const lotId = clickEvent.currentTarget.closest(".container--lot")
|
||||||
|
.dataset.lotId;
|
||||||
function doDelete() {
|
function doDelete() {
|
||||||
cityssm.postJSON(los.urlPrefix + "/workOrders/doDeleteWorkOrderLot", {
|
cityssm.postJSON(los.urlPrefix + "/workOrders/doDeleteWorkOrderLot", {
|
||||||
workOrderId,
|
workOrderId,
|
||||||
|
|
@ -339,9 +328,7 @@ function renderRelatedLots() {
|
||||||
'<i class="fas fa-trash" aria-hidden="true"></i>' +
|
'<i class="fas fa-trash" aria-hidden="true"></i>' +
|
||||||
"</button>" +
|
"</button>" +
|
||||||
"</td>");
|
"</td>");
|
||||||
rowElement
|
rowElement.querySelector(".button--editLotStatus").addEventListener("click", openEditLotStatus);
|
||||||
.querySelector(".button--editLotStatus")
|
|
||||||
.addEventListener("click", openEditLotStatus);
|
|
||||||
rowElement.querySelector(".button--deleteLot").addEventListener("click", deleteLot);
|
rowElement.querySelector(".button--deleteLot").addEventListener("click", deleteLot);
|
||||||
lotsContainerElement.querySelector("tbody").append(rowElement);
|
lotsContainerElement.querySelector("tbody").append(rowElement);
|
||||||
}
|
}
|
||||||
|
|
@ -370,10 +357,9 @@ document.querySelector("#button--addLotOccupancy").addEventListener("click", ()
|
||||||
searchResultsContainerElement.innerHTML = los.getLoadingParagraphHTML("Searching...");
|
searchResultsContainerElement.innerHTML = los.getLoadingParagraphHTML("Searching...");
|
||||||
cityssm.postJSON(los.urlPrefix + "/lotOccupancies/doSearchLotOccupancies", searchFormElement, (responseJSON) => {
|
cityssm.postJSON(los.urlPrefix + "/lotOccupancies/doSearchLotOccupancies", searchFormElement, (responseJSON) => {
|
||||||
if (responseJSON.lotOccupancies.length === 0) {
|
if (responseJSON.lotOccupancies.length === 0) {
|
||||||
searchResultsContainerElement.innerHTML =
|
searchResultsContainerElement.innerHTML = `<div class="message is-info">
|
||||||
'<div class="message is-info">' +
|
<p class="message-body">There are no records that meet the search criteria.</p>
|
||||||
'<p class="message-body">There are no records that meet the search criteria.</p>' +
|
</div>`;
|
||||||
"</div>";
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
searchResultsContainerElement.innerHTML = `<table class="table is-fullwidth is-striped is-hoverable">
|
searchResultsContainerElement.innerHTML = `<table class="table is-fullwidth is-striped is-hoverable">
|
||||||
|
|
@ -421,8 +407,7 @@ document.querySelector("#button--addLotOccupancy").addEventListener("click", ()
|
||||||
")</span>"
|
")</span>"
|
||||||
: cityssm.escapeHTML(lotOccupancy.lotOccupancyOccupants[0].occupantName) +
|
: cityssm.escapeHTML(lotOccupancy.lotOccupancyOccupants[0].occupantName) +
|
||||||
(lotOccupancy.lotOccupancyOccupants.length > 1
|
(lotOccupancy.lotOccupancyOccupants.length > 1
|
||||||
? " plus " +
|
? " plus " + (lotOccupancy.lotOccupancyOccupants.length - 1)
|
||||||
(lotOccupancy.lotOccupancyOccupants.length - 1)
|
|
||||||
: "")) +
|
: "")) +
|
||||||
"</td>"));
|
"</td>"));
|
||||||
rowElement
|
rowElement
|
||||||
|
|
@ -437,7 +422,8 @@ document.querySelector("#button--addLotOccupancy").addEventListener("click", ()
|
||||||
los.populateAliases(modalElement);
|
los.populateAliases(modalElement);
|
||||||
searchFormElement = modalElement.querySelector("form");
|
searchFormElement = modalElement.querySelector("form");
|
||||||
searchResultsContainerElement = modalElement.querySelector("#resultsContainer--lotOccupancyAdd");
|
searchResultsContainerElement = modalElement.querySelector("#resultsContainer--lotOccupancyAdd");
|
||||||
modalElement.querySelector("#lotOccupancySearch--notWorkOrderId").value = workOrderId;
|
modalElement.querySelector("#lotOccupancySearch--notWorkOrderId").value =
|
||||||
|
workOrderId;
|
||||||
modalElement.querySelector("#lotOccupancySearch--occupancyEffectiveDateString").value = document.querySelector("#workOrderEdit--workOrderOpenDateString").value;
|
modalElement.querySelector("#lotOccupancySearch--occupancyEffectiveDateString").value = document.querySelector("#workOrderEdit--workOrderOpenDateString").value;
|
||||||
doSearch();
|
doSearch();
|
||||||
},
|
},
|
||||||
|
|
@ -505,9 +491,7 @@ document.querySelector("#button--addLot").addEventListener("click", () => {
|
||||||
"</td>" +
|
"</td>" +
|
||||||
("<td>" + cityssm.escapeHTML(lot.lotType || "") + "</td>") +
|
("<td>" + cityssm.escapeHTML(lot.lotType || "") + "</td>") +
|
||||||
("<td>" + cityssm.escapeHTML(lot.lotStatus || "") + "</td>");
|
("<td>" + cityssm.escapeHTML(lot.lotStatus || "") + "</td>");
|
||||||
rowElement
|
rowElement.querySelector(".button--addLot").addEventListener("click", doAddLot);
|
||||||
.querySelector(".button--addLot")
|
|
||||||
.addEventListener("click", doAddLot);
|
|
||||||
searchResultsContainerElement.querySelector("tbody").append(rowElement);
|
searchResultsContainerElement.querySelector("tbody").append(rowElement);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -51,8 +51,8 @@ function deleteLotOccupancy(clickEvent: Event): void {
|
||||||
}
|
}
|
||||||
|
|
||||||
bulmaJS.confirm({
|
bulmaJS.confirm({
|
||||||
title: `Delete ${exports.aliases.occupancy} Relationship`,
|
title: `Delete ${los.escapedAliases.Occupancy} Relationship`,
|
||||||
message: `Are you sure you want to remove the relationship to this ${exports.aliases.occupancy.toLowerCase()} record from this work order? Note that the record will remain.`,
|
message: `Are you sure you want to remove the relationship to this ${los.escapedAliases.occupancy} record from this work order? Note that the record will remain.`,
|
||||||
contextualColorName: "warning",
|
contextualColorName: "warning",
|
||||||
okButton: {
|
okButton: {
|
||||||
text: "Yes, Delete Relationship",
|
text: "Yes, Delete Relationship",
|
||||||
|
|
@ -68,17 +68,13 @@ function addLot(lotId: number | string, callbackFunction?: (success?: boolean) =
|
||||||
workOrderId,
|
workOrderId,
|
||||||
lotId
|
lotId
|
||||||
},
|
},
|
||||||
(responseJSON: {
|
(responseJSON: { success: boolean; errorMessage?: string; workOrderLots?: recordTypes.Lot[] }) => {
|
||||||
success: boolean;
|
|
||||||
errorMessage?: string;
|
|
||||||
workOrderLots?: recordTypes.Lot[];
|
|
||||||
}) => {
|
|
||||||
if (responseJSON.success) {
|
if (responseJSON.success) {
|
||||||
workOrderLots = responseJSON.workOrderLots!;
|
workOrderLots = responseJSON.workOrderLots!;
|
||||||
renderRelatedLotsAndOccupancies();
|
renderRelatedLotsAndOccupancies();
|
||||||
} else {
|
} else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
title: "Error Adding " + exports.aliases.lot,
|
title: "Error Adding " + los.escapedAliases.Lot,
|
||||||
message: responseJSON.errorMessage || "",
|
message: responseJSON.errorMessage || "",
|
||||||
contextualColorName: "danger"
|
contextualColorName: "danger"
|
||||||
});
|
});
|
||||||
|
|
@ -111,7 +107,7 @@ function addLotOccupancy(
|
||||||
renderRelatedLotsAndOccupancies();
|
renderRelatedLotsAndOccupancies();
|
||||||
} else {
|
} else {
|
||||||
bulmaJS.alert({
|
bulmaJS.alert({
|
||||||
title: "Error Adding " + exports.aliases.occupancy,
|
title: "Error Adding " + los.escapedAliases.Occupancy,
|
||||||
message: responseJSON.errorMessage || "",
|
message: responseJSON.errorMessage || "",
|
||||||
contextualColorName: "danger"
|
contextualColorName: "danger"
|
||||||
});
|
});
|
||||||
|
|
@ -130,17 +126,14 @@ function addLotFromLotOccupancy(clickEvent: Event): void {
|
||||||
}
|
}
|
||||||
|
|
||||||
function renderRelatedOccupancies(): void {
|
function renderRelatedOccupancies(): void {
|
||||||
const occupanciesContainerElement = document.querySelector(
|
const occupanciesContainerElement = document.querySelector("#container--lotOccupancies") as HTMLElement;
|
||||||
"#container--lotOccupancies"
|
|
||||||
) as HTMLElement;
|
|
||||||
|
|
||||||
(
|
(document.querySelector(".tabs a[href='#relatedTab--lotOccupancies'] .tag") as HTMLElement).textContent =
|
||||||
document.querySelector(".tabs a[href='#relatedTab--lotOccupancies'] .tag") as HTMLElement
|
workOrderLotOccupancies.length.toString();
|
||||||
).textContent = workOrderLotOccupancies.length.toString();
|
|
||||||
|
|
||||||
if (workOrderLotOccupancies.length === 0) {
|
if (workOrderLotOccupancies.length === 0) {
|
||||||
occupanciesContainerElement.innerHTML = `<div class="message is-info">
|
occupanciesContainerElement.innerHTML = `<div class="message is-info">
|
||||||
<p class="message-body">There are no ${exports.aliases.occupancies.toLowerCase()} associated with this work order.</p>
|
<p class="message-body">There are no ${los.escapedAliases.occupancies} associated with this work order.</p>
|
||||||
</div>`;
|
</div>`;
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
@ -164,8 +157,7 @@ function renderRelatedOccupancies(): void {
|
||||||
rowElement.dataset.lotOccupancyId = lotOccupancy.lotOccupancyId!.toString();
|
rowElement.dataset.lotOccupancyId = lotOccupancy.lotOccupancyId!.toString();
|
||||||
|
|
||||||
const isActive = !(
|
const isActive = !(
|
||||||
lotOccupancy.occupancyEndDate &&
|
lotOccupancy.occupancyEndDate && lotOccupancy.occupancyEndDateString! < currentDateString
|
||||||
lotOccupancy.occupancyEndDateString! < currentDateString
|
|
||||||
);
|
);
|
||||||
|
|
||||||
const hasLotRecord =
|
const hasLotRecord =
|
||||||
|
|
@ -177,12 +169,8 @@ function renderRelatedOccupancies(): void {
|
||||||
rowElement.innerHTML =
|
rowElement.innerHTML =
|
||||||
'<td class="is-width-1 has-text-centered">' +
|
'<td class="is-width-1 has-text-centered">' +
|
||||||
(isActive
|
(isActive
|
||||||
? '<i class="fas fa-play" title="Current ' +
|
? '<i class="fas fa-play" title="Current ' + los.escapedAliases.Occupancy + '"></i>'
|
||||||
cityssm.escapeHTML(exports.aliases.occupancy) +
|
: '<i class="fas fa-stop" title="Previous ' + los.escapedAliases.Occupancy + '"></i>') +
|
||||||
'"></i>'
|
|
||||||
: '<i class="fas fa-stop" title="Previous ' +
|
|
||||||
cityssm.escapeHTML(exports.aliases.occupancy) +
|
|
||||||
'"></i>') +
|
|
||||||
"</td>" +
|
"</td>" +
|
||||||
("<td>" +
|
("<td>" +
|
||||||
'<a class="has-text-weight-bold" href="' +
|
'<a class="has-text-weight-bold" href="' +
|
||||||
|
|
@ -206,10 +194,10 @@ function renderRelatedOccupancies(): void {
|
||||||
lotOccupancy.lotId +
|
lotOccupancy.lotId +
|
||||||
'"' +
|
'"' +
|
||||||
' data-tooltip="Add ' +
|
' data-tooltip="Add ' +
|
||||||
cityssm.escapeHTML(exports.aliases.lot) +
|
los.escapedAliases.Lot +
|
||||||
'"' +
|
'"' +
|
||||||
' aria-label="Add ' +
|
' aria-label="Add ' +
|
||||||
cityssm.escapeHTML(exports.aliases.lot) +
|
los.escapedAliases.Lot +
|
||||||
'" type="button">' +
|
'" type="button">' +
|
||||||
'<i class="fas fa-plus" aria-hidden="true"></i>' +
|
'<i class="fas fa-plus" aria-hidden="true"></i>' +
|
||||||
"</button>") +
|
"</button>") +
|
||||||
|
|
@ -218,7 +206,7 @@ function renderRelatedOccupancies(): void {
|
||||||
} else {
|
} else {
|
||||||
rowElement.insertAdjacentHTML(
|
rowElement.insertAdjacentHTML(
|
||||||
"beforeend",
|
"beforeend",
|
||||||
`<td><span class="has-text-grey">(No ${exports.aliases.lot})</span></td>`
|
`<td><span class="has-text-grey">(No ${los.escapedAliases.Lot})</span></td>`
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -234,9 +222,7 @@ function renderRelatedOccupancies(): void {
|
||||||
"</td>") +
|
"</td>") +
|
||||||
("<td>" +
|
("<td>" +
|
||||||
(lotOccupancy.lotOccupancyOccupants!.length === 0
|
(lotOccupancy.lotOccupancyOccupants!.length === 0
|
||||||
? '<span class="has-text-grey">(No ' +
|
? '<span class="has-text-grey">(No ' + los.escapedAliases.Occupants + ")</span>"
|
||||||
cityssm.escapeHTML(exports.aliases.occupants) +
|
|
||||||
")</span>"
|
|
||||||
: lotOccupancy.lotOccupancyOccupants?.reduce((soFar, occupant) => {
|
: lotOccupancy.lotOccupancyOccupants?.reduce((soFar, occupant) => {
|
||||||
return (
|
return (
|
||||||
soFar +
|
soFar +
|
||||||
|
|
@ -246,7 +232,7 @@ function renderRelatedOccupancies(): void {
|
||||||
'<i class="fas fa-fw fa-' +
|
'<i class="fas fa-fw fa-' +
|
||||||
cityssm.escapeHTML(occupant.fontAwesomeIconClass || "user") +
|
cityssm.escapeHTML(occupant.fontAwesomeIconClass || "user") +
|
||||||
'" aria-label="' +
|
'" aria-label="' +
|
||||||
cityssm.escapeHTML(exports.aliases.occupant) +
|
los.escapedAliases.Occupant +
|
||||||
'"></i> ' +
|
'"></i> ' +
|
||||||
cityssm.escapeHTML(occupant.occupantName!) +
|
cityssm.escapeHTML(occupant.occupantName!) +
|
||||||
"</span><br />"
|
"</span><br />"
|
||||||
|
|
@ -260,11 +246,7 @@ function renderRelatedOccupancies(): void {
|
||||||
"</td>")
|
"</td>")
|
||||||
);
|
);
|
||||||
|
|
||||||
if (lotOccupancy.lotId && !hasLotRecord) {
|
rowElement.querySelector(".button--addLot")?.addEventListener("click", addLotFromLotOccupancy);
|
||||||
rowElement
|
|
||||||
.querySelector(".button--addLot")!
|
|
||||||
.addEventListener("click", addLotFromLotOccupancy);
|
|
||||||
}
|
|
||||||
|
|
||||||
rowElement
|
rowElement
|
||||||
.querySelector(".button--deleteLotOccupancy")!
|
.querySelector(".button--deleteLotOccupancy")!
|
||||||
|
|
@ -276,8 +258,7 @@ function renderRelatedOccupancies(): void {
|
||||||
|
|
||||||
function openEditLotStatus(clickEvent: Event): void {
|
function openEditLotStatus(clickEvent: Event): void {
|
||||||
const lotId = Number.parseInt(
|
const lotId = Number.parseInt(
|
||||||
((clickEvent.currentTarget as HTMLElement).closest(".container--lot") as HTMLElement)
|
((clickEvent.currentTarget as HTMLElement).closest(".container--lot") as HTMLElement).dataset.lotId!,
|
||||||
.dataset.lotId!,
|
|
||||||
10
|
10
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
@ -320,8 +301,7 @@ function openEditLotStatus(clickEvent: Event): void {
|
||||||
(modalElement.querySelector("#lotStatusEdit--lotId") as HTMLInputElement).value =
|
(modalElement.querySelector("#lotStatusEdit--lotId") as HTMLInputElement).value =
|
||||||
lotId.toString();
|
lotId.toString();
|
||||||
|
|
||||||
(modalElement.querySelector("#lotStatusEdit--lotName") as HTMLInputElement).value =
|
(modalElement.querySelector("#lotStatusEdit--lotName") as HTMLInputElement).value = lot.lotName!;
|
||||||
lot.lotName!;
|
|
||||||
|
|
||||||
const lotStatusElement = modalElement.querySelector(
|
const lotStatusElement = modalElement.querySelector(
|
||||||
"#lotStatusEdit--lotStatusId"
|
"#lotStatusEdit--lotStatusId"
|
||||||
|
|
@ -356,7 +336,7 @@ function openEditLotStatus(clickEvent: Event): void {
|
||||||
.querySelector("form")!
|
.querySelector("form")!
|
||||||
.insertAdjacentHTML(
|
.insertAdjacentHTML(
|
||||||
"beforeend",
|
"beforeend",
|
||||||
'<input name="workOrderId" type="hidden" value="' + workOrderId + '" />'
|
`<input name="workOrderId" type="hidden" value="${workOrderId}" />`
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
onshown(modalElement, closeModalFunction) {
|
onshown(modalElement, closeModalFunction) {
|
||||||
|
|
@ -373,9 +353,8 @@ function openEditLotStatus(clickEvent: Event): void {
|
||||||
}
|
}
|
||||||
|
|
||||||
function deleteLot(clickEvent: Event): void {
|
function deleteLot(clickEvent: Event): void {
|
||||||
const lotId = (
|
const lotId = ((clickEvent.currentTarget as HTMLElement).closest(".container--lot") as HTMLElement)
|
||||||
(clickEvent.currentTarget as HTMLElement).closest(".container--lot") as HTMLElement
|
.dataset.lotId;
|
||||||
).dataset.lotId;
|
|
||||||
|
|
||||||
function doDelete(): void {
|
function doDelete(): void {
|
||||||
cityssm.postJSON(
|
cityssm.postJSON(
|
||||||
|
|
@ -471,9 +450,7 @@ function renderRelatedLots(): void {
|
||||||
"</button>" +
|
"</button>" +
|
||||||
"</td>");
|
"</td>");
|
||||||
|
|
||||||
rowElement
|
rowElement.querySelector(".button--editLotStatus")!.addEventListener("click", openEditLotStatus);
|
||||||
.querySelector(".button--editLotStatus")!
|
|
||||||
.addEventListener("click", openEditLotStatus);
|
|
||||||
|
|
||||||
rowElement.querySelector(".button--deleteLot")!.addEventListener("click", deleteLot);
|
rowElement.querySelector(".button--deleteLot")!.addEventListener("click", deleteLot);
|
||||||
|
|
||||||
|
|
@ -516,10 +493,9 @@ document.querySelector("#button--addLotOccupancy")!.addEventListener("click", ()
|
||||||
searchFormElement,
|
searchFormElement,
|
||||||
(responseJSON: { lotOccupancies: recordTypes.LotOccupancy[] }) => {
|
(responseJSON: { lotOccupancies: recordTypes.LotOccupancy[] }) => {
|
||||||
if (responseJSON.lotOccupancies.length === 0) {
|
if (responseJSON.lotOccupancies.length === 0) {
|
||||||
searchResultsContainerElement.innerHTML =
|
searchResultsContainerElement.innerHTML = `<div class="message is-info">
|
||||||
'<div class="message is-info">' +
|
<p class="message-body">There are no records that meet the search criteria.</p>
|
||||||
'<p class="message-body">There are no records that meet the search criteria.</p>' +
|
</div>`;
|
||||||
"</div>";
|
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -582,8 +558,7 @@ document.querySelector("#button--addLotOccupancy")!.addEventListener("click", ()
|
||||||
lotOccupancy.lotOccupancyOccupants![0].occupantName!
|
lotOccupancy.lotOccupancyOccupants![0].occupantName!
|
||||||
) +
|
) +
|
||||||
(lotOccupancy.lotOccupancyOccupants!.length > 1
|
(lotOccupancy.lotOccupancyOccupants!.length > 1
|
||||||
? " plus " +
|
? " plus " + (lotOccupancy.lotOccupancyOccupants!.length - 1)
|
||||||
(lotOccupancy.lotOccupancyOccupants!.length - 1)
|
|
||||||
: "")) +
|
: "")) +
|
||||||
"</td>")
|
"</td>")
|
||||||
);
|
);
|
||||||
|
|
@ -608,20 +583,15 @@ document.querySelector("#button--addLotOccupancy")!.addEventListener("click", ()
|
||||||
"#resultsContainer--lotOccupancyAdd"
|
"#resultsContainer--lotOccupancyAdd"
|
||||||
) as HTMLElement;
|
) as HTMLElement;
|
||||||
|
|
||||||
(
|
(modalElement.querySelector("#lotOccupancySearch--notWorkOrderId") as HTMLInputElement).value =
|
||||||
modalElement.querySelector(
|
workOrderId;
|
||||||
"#lotOccupancySearch--notWorkOrderId"
|
|
||||||
) as HTMLInputElement
|
|
||||||
).value = workOrderId;
|
|
||||||
|
|
||||||
(
|
(
|
||||||
modalElement.querySelector(
|
modalElement.querySelector(
|
||||||
"#lotOccupancySearch--occupancyEffectiveDateString"
|
"#lotOccupancySearch--occupancyEffectiveDateString"
|
||||||
) as HTMLInputElement
|
) as HTMLInputElement
|
||||||
).value = (
|
).value = (
|
||||||
document.querySelector(
|
document.querySelector("#workOrderEdit--workOrderOpenDateString") as HTMLInputElement
|
||||||
"#workOrderEdit--workOrderOpenDateString"
|
|
||||||
) as HTMLInputElement
|
|
||||||
).value;
|
).value;
|
||||||
|
|
||||||
doSearch();
|
doSearch();
|
||||||
|
|
@ -633,9 +603,10 @@ document.querySelector("#button--addLotOccupancy")!.addEventListener("click", ()
|
||||||
modalElement.querySelector("#lotOccupancySearch--occupantName") as HTMLInputElement
|
modalElement.querySelector("#lotOccupancySearch--occupantName") as HTMLInputElement
|
||||||
).addEventListener("change", doSearch);
|
).addEventListener("change", doSearch);
|
||||||
|
|
||||||
(
|
(modalElement.querySelector("#lotOccupancySearch--lotName") as HTMLInputElement).addEventListener(
|
||||||
modalElement.querySelector("#lotOccupancySearch--lotName") as HTMLInputElement
|
"change",
|
||||||
).addEventListener("change", doSearch);
|
doSearch
|
||||||
|
);
|
||||||
|
|
||||||
searchFormElement.addEventListener("submit", doSearch);
|
searchFormElement.addEventListener("submit", doSearch);
|
||||||
},
|
},
|
||||||
|
|
@ -712,9 +683,7 @@ document.querySelector("#button--addLot")!.addEventListener("click", () => {
|
||||||
("<td>" + cityssm.escapeHTML(lot.lotType || "") + "</td>") +
|
("<td>" + cityssm.escapeHTML(lot.lotType || "") + "</td>") +
|
||||||
("<td>" + cityssm.escapeHTML(lot.lotStatus || "") + "</td>");
|
("<td>" + cityssm.escapeHTML(lot.lotStatus || "") + "</td>");
|
||||||
|
|
||||||
rowElement
|
rowElement.querySelector(".button--addLot")!.addEventListener("click", doAddLot);
|
||||||
.querySelector(".button--addLot")!
|
|
||||||
.addEventListener("click", doAddLot);
|
|
||||||
|
|
||||||
searchResultsContainerElement.querySelector("tbody")!.append(rowElement);
|
searchResultsContainerElement.querySelector("tbody")!.append(rowElement);
|
||||||
}
|
}
|
||||||
|
|
@ -751,13 +720,15 @@ document.querySelector("#button--addLot")!.addEventListener("click", () => {
|
||||||
onshown(modalElement) {
|
onshown(modalElement) {
|
||||||
bulmaJS.toggleHtmlClipped();
|
bulmaJS.toggleHtmlClipped();
|
||||||
|
|
||||||
(
|
(modalElement.querySelector("#lotSearch--lotName") as HTMLInputElement).addEventListener(
|
||||||
modalElement.querySelector("#lotSearch--lotName") as HTMLInputElement
|
"change",
|
||||||
).addEventListener("change", doSearch);
|
doSearch
|
||||||
|
);
|
||||||
|
|
||||||
(
|
(modalElement.querySelector("#lotSearch--lotStatusId") as HTMLSelectElement).addEventListener(
|
||||||
modalElement.querySelector("#lotSearch--lotStatusId") as HTMLSelectElement
|
"change",
|
||||||
).addEventListener("change", doSearch);
|
doSearch
|
||||||
|
);
|
||||||
|
|
||||||
searchFormElement.addEventListener("submit", doSearch);
|
searchFormElement.addEventListener("submit", doSearch);
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -9,10 +9,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
const milestoneCalendarContainerElement = document.querySelector("#container--milestoneCalendar");
|
const milestoneCalendarContainerElement = document.querySelector("#container--milestoneCalendar");
|
||||||
function renderMilestones(workOrderMilestones) {
|
function renderMilestones(workOrderMilestones) {
|
||||||
if (workOrderMilestones.length === 0) {
|
if (workOrderMilestones.length === 0) {
|
||||||
milestoneCalendarContainerElement.innerHTML =
|
milestoneCalendarContainerElement.innerHTML = `<div class="message is-info">
|
||||||
'<div class="message is-info">' +
|
<p class="message-body">There are no milestones that meet the search criteria.</p>
|
||||||
'<p class="message-body">There are no milestones that meet the search criteria.</p>' +
|
</div>`;
|
||||||
"</div>";
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
milestoneCalendarContainerElement.innerHTML = "";
|
milestoneCalendarContainerElement.innerHTML = "";
|
||||||
|
|
@ -26,8 +25,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
}
|
}
|
||||||
currentPanelElement = document.createElement("div");
|
currentPanelElement = document.createElement("div");
|
||||||
currentPanelElement.className = "panel";
|
currentPanelElement.className = "panel";
|
||||||
currentPanelElement.innerHTML =
|
currentPanelElement.innerHTML = `<h2 class="panel-heading">${milestone.workOrderMilestoneDateString}</h2>`;
|
||||||
'<h2 class="panel-heading">' + milestone.workOrderMilestoneDateString + "</h2>";
|
|
||||||
currentPanelDateString = milestone.workOrderMilestoneDateString;
|
currentPanelDateString = milestone.workOrderMilestoneDateString;
|
||||||
}
|
}
|
||||||
const panelBlockElement = document.createElement("div");
|
const panelBlockElement = document.createElement("div");
|
||||||
|
|
@ -110,8 +108,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
if (event) {
|
if (event) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
}
|
}
|
||||||
milestoneCalendarContainerElement.innerHTML =
|
milestoneCalendarContainerElement.innerHTML = los.getLoadingParagraphHTML("Loading Milestones...");
|
||||||
los.getLoadingParagraphHTML("Loading Milestones...");
|
|
||||||
cityssm.postJSON(los.urlPrefix + "/workOrders/doGetWorkOrderMilestones", workOrderSearchFiltersFormElement, (responseJSON) => {
|
cityssm.postJSON(los.urlPrefix + "/workOrders/doGetWorkOrderMilestones", workOrderSearchFiltersFormElement, (responseJSON) => {
|
||||||
renderMilestones(responseJSON.workOrderMilestones);
|
renderMilestones(responseJSON.workOrderMilestones);
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -27,10 +27,9 @@ declare const cityssm: cityssmGlobal;
|
||||||
|
|
||||||
function renderMilestones(workOrderMilestones: recordTypes.WorkOrderMilestone[]) {
|
function renderMilestones(workOrderMilestones: recordTypes.WorkOrderMilestone[]) {
|
||||||
if (workOrderMilestones.length === 0) {
|
if (workOrderMilestones.length === 0) {
|
||||||
milestoneCalendarContainerElement.innerHTML =
|
milestoneCalendarContainerElement.innerHTML = `<div class="message is-info">
|
||||||
'<div class="message is-info">' +
|
<p class="message-body">There are no milestones that meet the search criteria.</p>
|
||||||
'<p class="message-body">There are no milestones that meet the search criteria.</p>' +
|
</div>`;
|
||||||
"</div>";
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -50,8 +49,7 @@ declare const cityssm: cityssmGlobal;
|
||||||
currentPanelElement = document.createElement("div");
|
currentPanelElement = document.createElement("div");
|
||||||
currentPanelElement.className = "panel";
|
currentPanelElement.className = "panel";
|
||||||
|
|
||||||
currentPanelElement.innerHTML =
|
currentPanelElement.innerHTML = `<h2 class="panel-heading">${milestone.workOrderMilestoneDateString}</h2>`;
|
||||||
'<h2 class="panel-heading">' + milestone.workOrderMilestoneDateString + "</h2>";
|
|
||||||
|
|
||||||
currentPanelDateString = milestone.workOrderMilestoneDateString!;
|
currentPanelDateString = milestone.workOrderMilestoneDateString!;
|
||||||
}
|
}
|
||||||
|
|
@ -148,8 +146,7 @@ declare const cityssm: cityssmGlobal;
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
}
|
}
|
||||||
|
|
||||||
milestoneCalendarContainerElement.innerHTML =
|
milestoneCalendarContainerElement.innerHTML = los.getLoadingParagraphHTML("Loading Milestones...");
|
||||||
los.getLoadingParagraphHTML("Loading Milestones...");
|
|
||||||
|
|
||||||
cityssm.postJSON(
|
cityssm.postJSON(
|
||||||
los.urlPrefix + "/workOrders/doGetWorkOrderMilestones",
|
los.urlPrefix + "/workOrders/doGetWorkOrderMilestones",
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -1 +1 @@
|
||||||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=exports.los,t=document.querySelector("#form--searchFilters"),s=document.querySelector("#container--searchResults"),a=Number.parseInt(document.querySelector("#searchFilter--limit").value,10),r=document.querySelector("#searchFilter--offset");function n(t){var r,n;if(0===t.lots.length)return void(s.innerHTML='<div class="message is-info"><p class="message-body">There are no '+e.escapedAliases.lots+" that meet the search criteria.</p></div>");const o=document.createElement("tbody");for(const s of t.lots)o.insertAdjacentHTML("beforeend",'<tr><td><a class="has-text-weight-bold" href="'+e.urlPrefix+"/lots/"+s.lotId+'">'+cityssm.escapeHTML(s.lotName||"")+'</a></td><td><a href="'+e.urlPrefix+"/maps/"+s.mapId+'">'+(s.mapName?cityssm.escapeHTML(s.mapName):'<span class="has-text-grey">(No Name)</span>')+"</a></td><td>"+cityssm.escapeHTML(s.lotType||"")+"</td><td>"+(s.lotStatusId?cityssm.escapeHTML(s.lotStatus||""):'<span class="has-text-grey">(No Status)</span>')+"<br />"+(s.lotOccupancyCount>0?'<span class="is-size-7">Currently Occupied</span>':"")+"</td></tr>");s.innerHTML=`<table class="table is-fullwidth is-striped is-hoverable has-sticky-header">\n <thead><tr>\n <th>${e.escapedAliases.Lot}</th>\n <th>${e.escapedAliases.Map}</th>\n <th>${e.escapedAliases.Lot} Type</th>\n <th>Status</th>\n </tr></thead>\n <table>`,s.insertAdjacentHTML("beforeend",e.getSearchResultsPagerHTML(a,t.offset,t.count)),s.querySelector("table").append(o),null===(r=s.querySelector("button[data-page='previous']"))||void 0===r||r.addEventListener("click",l),null===(n=s.querySelector("button[data-page='next']"))||void 0===n||n.addEventListener("click",i)}function o(){s.innerHTML=e.getLoadingParagraphHTML(`Loading ${e.escapedAliases.Lots}...`),cityssm.postJSON(e.urlPrefix+"/lots/doSearchLots",t,n)}function c(){r.value="0",o()}function l(){r.value=Math.max(Number.parseInt(r.value,10)-a,0).toString(),o()}function i(){r.value=(Number.parseInt(r.value,10)+a).toString(),o()}const d=t.querySelectorAll("input, select");for(const e of d)e.addEventListener("change",c);t.addEventListener("submit",e=>{e.preventDefault(),c()}),o()})();
|
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=exports.los,t=document.querySelector("#form--searchFilters"),s=document.querySelector("#container--searchResults"),a=Number.parseInt(document.querySelector("#searchFilter--limit").value,10),r=document.querySelector("#searchFilter--offset");function n(t){var r,n;if(0===t.lots.length)return void(s.innerHTML=`<div class="message is-info">\n <p class="message-body">There are no ${e.escapedAliases.lots} that meet the search criteria.</p>\n </div>`);const o=document.createElement("tbody");for(const s of t.lots)o.insertAdjacentHTML("beforeend",'<tr><td><a class="has-text-weight-bold" href="'+e.urlPrefix+"/lots/"+s.lotId+'">'+cityssm.escapeHTML(s.lotName||"")+'</a></td><td><a href="'+e.urlPrefix+"/maps/"+s.mapId+'">'+(s.mapName?cityssm.escapeHTML(s.mapName):'<span class="has-text-grey">(No Name)</span>')+"</a></td><td>"+cityssm.escapeHTML(s.lotType||"")+"</td><td>"+(s.lotStatusId?cityssm.escapeHTML(s.lotStatus||""):'<span class="has-text-grey">(No Status)</span>')+"<br />"+(s.lotOccupancyCount>0?'<span class="is-size-7">Currently Occupied</span>':"")+"</td></tr>");s.innerHTML=`<table class="table is-fullwidth is-striped is-hoverable has-sticky-header">\n <thead><tr>\n <th>${e.escapedAliases.Lot}</th>\n <th>${e.escapedAliases.Map}</th>\n <th>${e.escapedAliases.Lot} Type</th>\n <th>Status</th>\n </tr></thead>\n <table>`,s.insertAdjacentHTML("beforeend",e.getSearchResultsPagerHTML(a,t.offset,t.count)),s.querySelector("table").append(o),null===(r=s.querySelector("button[data-page='previous']"))||void 0===r||r.addEventListener("click",l),null===(n=s.querySelector("button[data-page='next']"))||void 0===n||n.addEventListener("click",i)}function o(){s.innerHTML=e.getLoadingParagraphHTML(`Loading ${e.escapedAliases.Lots}...`),cityssm.postJSON(e.urlPrefix+"/lots/doSearchLots",t,n)}function c(){r.value="0",o()}function l(){r.value=Math.max(Number.parseInt(r.value,10)-a,0).toString(),o()}function i(){r.value=(Number.parseInt(r.value,10)+a).toString(),o()}const d=t.querySelectorAll("input, select");for(const e of d)e.addEventListener("change",c);t.addEventListener("submit",e=>{e.preventDefault(),c()}),o()})();
|
||||||
|
|
@ -1 +1 @@
|
||||||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=exports.los,s=exports.maps,a=document.querySelector("#searchFilter--map"),t=document.querySelector("#container--searchResults");function r(){t.innerHTML=e.getLoadingParagraphHTML(`Loading ${exports.aliases.maps}...`);let r=0;const i=document.createElement("tbody"),d=a.value.trim().toLowerCase().split(" ");for(const a of s){const s=(a.mapName+" "+a.mapDescription+" "+a.mapAddress1+" "+a.mapAddress2).toLowerCase();let t=!0;for(const e of d)if(!s.includes(e)){t=!1;break}t&&(r+=1,i.insertAdjacentHTML("beforeend",'<tr><td><a class="has-text-weight-bold" href="'+e.urlPrefix+"/maps/"+a.mapId+'">'+cityssm.escapeHTML(a.mapName||"(No Name)")+'</a><br /><span class="is-size-7">'+cityssm.escapeHTML(a.mapDescription||"")+"</span></td><td>"+(a.mapAddress1?cityssm.escapeHTML(a.mapAddress1)+"<br />":"")+(a.mapAddress2?cityssm.escapeHTML(a.mapAddress2)+"<br />":"")+(a.mapCity||a.mapProvince?cityssm.escapeHTML(a.mapCity||"")+", "+cityssm.escapeHTML(a.mapProvince||"")+"<br />":"")+(a.mapPostalCode?cityssm.escapeHTML(a.mapPostalCode):"")+"</td><td>"+cityssm.escapeHTML(a.mapPhoneNumber||"")+'</td><td class="has-text-centered">'+(a.mapLatitude&&a.mapLongitude?'<span data-tooltip="Has Geographic Coordinates"><i class="fas fa-map-marker-alt" aria-label="Has Geographic Coordinates"></i></span>':"")+'</td><td class="has-text-centered">'+(a.mapSVG?'<span data-tooltip="Has Image"><i class="fas fa-image" aria-label="Has Image"></i></span>':"")+'</td><td class="has-text-right"><a href="'+e.urlPrefix+"/lots?mapId="+a.mapId+'">'+a.lotCount+"</a></td></tr>"))}if(t.innerHTML="",0===r)t.innerHTML=`<div class="message is-info">\n <p class="message-body">There are no ${e.escapedAliases.maps} that meet the search criteria.</p>\n </div>`;else{const s=document.createElement("table");s.className="table is-fullwidth is-striped is-hoverable has-sticky-header",s.innerHTML=`<thead><tr>\n <th>${e.escapedAliases.Map}</th>\n <th>Address</th>\n <th>Phone Number</th>\n <th class="has-text-centered">Coordinates</th>\n <th class="has-text-centered">Image</th>\n <th class="has-text-right">${e.escapedAliases.Lot} Count</th>\n </tr></thead>`,s.append(i),t.append(s)}}a.addEventListener("keyup",r),document.querySelector("#form--searchFilters").addEventListener("submit",e=>{e.preventDefault(),r()}),r()})();
|
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=exports.los,s=exports.maps,a=document.querySelector("#searchFilter--map"),t=document.querySelector("#container--searchResults");function r(){t.innerHTML=e.getLoadingParagraphHTML(`Loading ${exports.aliases.maps}...`);let r=0;const i=document.createElement("tbody"),d=a.value.trim().toLowerCase().split(" ");for(const a of s){const s=`${a.mapName} ${a.mapDescription} ${a.mapAddress1} ${a.mapAddress2}`.toLowerCase();let t=!0;for(const e of d)if(!s.includes(e)){t=!1;break}t&&(r+=1,i.insertAdjacentHTML("beforeend",'<tr><td><a class="has-text-weight-bold" href="'+e.urlPrefix+"/maps/"+a.mapId+'">'+cityssm.escapeHTML(a.mapName||"(No Name)")+'</a><br /><span class="is-size-7">'+cityssm.escapeHTML(a.mapDescription||"")+"</span></td><td>"+(a.mapAddress1?cityssm.escapeHTML(a.mapAddress1)+"<br />":"")+(a.mapAddress2?cityssm.escapeHTML(a.mapAddress2)+"<br />":"")+(a.mapCity||a.mapProvince?cityssm.escapeHTML(a.mapCity||"")+", "+cityssm.escapeHTML(a.mapProvince||"")+"<br />":"")+(a.mapPostalCode?cityssm.escapeHTML(a.mapPostalCode):"")+"</td><td>"+cityssm.escapeHTML(a.mapPhoneNumber||"")+'</td><td class="has-text-centered">'+(a.mapLatitude&&a.mapLongitude?'<span data-tooltip="Has Geographic Coordinates"><i class="fas fa-map-marker-alt" aria-label="Has Geographic Coordinates"></i></span>':"")+'</td><td class="has-text-centered">'+(a.mapSVG?'<span data-tooltip="Has Image"><i class="fas fa-image" aria-label="Has Image"></i></span>':"")+'</td><td class="has-text-right"><a href="'+e.urlPrefix+"/lots?mapId="+a.mapId+'">'+a.lotCount+"</a></td></tr>"))}if(t.innerHTML="",0===r)t.innerHTML=`<div class="message is-info">\n <p class="message-body">There are no ${e.escapedAliases.maps} that meet the search criteria.</p>\n </div>`;else{const s=document.createElement("table");s.className="table is-fullwidth is-striped is-hoverable has-sticky-header",s.innerHTML=`<thead><tr>\n <th>${e.escapedAliases.Map}</th>\n <th>Address</th>\n <th>Phone Number</th>\n <th class="has-text-centered">Coordinates</th>\n <th class="has-text-centered">Image</th>\n <th class="has-text-right">${e.escapedAliases.Lot} Count</th>\n </tr></thead>`,s.append(i),t.append(s)}}a.addEventListener("keyup",r),document.querySelector("#form--searchFilters").addEventListener("submit",e=>{e.preventDefault(),r()}),r()})();
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -1 +1 @@
|
||||||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=exports.los,s=document.querySelector("#form--searchFilters"),r=s.querySelector("#searchFilter--workOrderMilestoneDateFilter"),a=s.querySelector("#searchFilter--workOrderMilestoneDateString"),t=document.querySelector("#container--milestoneCalendar");function i(r){r&&r.preventDefault(),t.innerHTML=e.getLoadingParagraphHTML("Loading Milestones..."),cityssm.postJSON(e.urlPrefix+"/workOrders/doGetWorkOrderMilestones",s,s=>{!function(s){if(0===s.length)return void(t.innerHTML='<div class="message is-info"><p class="message-body">There are no milestones that meet the search criteria.</p></div>');t.innerHTML="";const r=cityssm.dateToString(new Date);let a,i="";for(const o of s){i!==o.workOrderMilestoneDateString&&(a&&t.append(a),(a=document.createElement("div")).className="panel",a.innerHTML='<h2 class="panel-heading">'+o.workOrderMilestoneDateString+"</h2>",i=o.workOrderMilestoneDateString);const s=document.createElement("div");s.className="panel-block is-block",!o.workOrderMilestoneCompletionDate&&o.workOrderMilestoneDateString<r&&s.classList.add("has-background-warning-light");let n="";for(const s of o.workOrderLots)n+='<span class="has-tooltip-left" data-tooltip="'+cityssm.escapeHTML(s.mapName||"")+'"><i class="fas fa-vector-square" aria-label="'+e.escapedAliases.Lot+'"></i> '+cityssm.escapeHTML(s.lotName||"")+"</span><br />";for(const s of o.workOrderLotOccupancies)for(const r of s.lotOccupancyOccupants)n+='<span class="has-tooltip-left" data-tooltip="'+cityssm.escapeHTML(r.lotOccupantType||"")+'"><i class="fas fa-user" aria-label="'+e.escapedAliases.Occupancy+'"></i> '+cityssm.escapeHTML(r.occupantName||"")+"</span><br />";s.innerHTML='<div class="columns"><div class="column is-narrow"><span class="icon is-small">'+(o.workOrderMilestoneCompletionDate?'<i class="fas fa-check" aria-label="Completed"></i>':'<i class="far fa-square has-text-grey" aria-label="Incomplete"></i>')+'</span></div><div class="column">'+(0===o.workOrderMilestoneTime?"":o.workOrderMilestoneTimeString+"<br />")+(o.workOrderMilestoneTypeId?"<strong>"+cityssm.escapeHTML(o.workOrderMilestoneType)+"</strong><br />":"")+'<span class="is-size-7">'+cityssm.escapeHTML(o.workOrderMilestoneDescription)+'</span></div><div class="column"><i class="fas fa-circle" style="color:'+e.getRandomColor(o.workOrderNumber||"")+'" aria-hidden="true"></i> <a class="has-text-weight-bold" href="'+e.urlPrefix+"/workOrders/"+o.workOrderId+'">'+cityssm.escapeHTML(o.workOrderNumber||"")+'</a><br /><span class="is-size-7">'+cityssm.escapeHTML(o.workOrderDescription||"")+'</span></div><div class="column is-size-7">'+n+"</div></div>",a.append(s)}t.append(a)}(s.workOrderMilestones)})}r.addEventListener("change",()=>{a.closest("fieldset").disabled="date"!==r.value,i()}),e.initializeDatePickers(s),a.addEventListener("change",i),s.addEventListener("submit",i),i()})();
|
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=exports.los,s=document.querySelector("#form--searchFilters"),r=s.querySelector("#searchFilter--workOrderMilestoneDateFilter"),a=s.querySelector("#searchFilter--workOrderMilestoneDateString"),t=document.querySelector("#container--milestoneCalendar");function i(r){r&&r.preventDefault(),t.innerHTML=e.getLoadingParagraphHTML("Loading Milestones..."),cityssm.postJSON(e.urlPrefix+"/workOrders/doGetWorkOrderMilestones",s,s=>{!function(s){if(0===s.length)return void(t.innerHTML='<div class="message is-info">\n <p class="message-body">There are no milestones that meet the search criteria.</p>\n </div>');t.innerHTML="";const r=cityssm.dateToString(new Date);let a,i="";for(const o of s){i!==o.workOrderMilestoneDateString&&(a&&t.append(a),(a=document.createElement("div")).className="panel",a.innerHTML=`<h2 class="panel-heading">${o.workOrderMilestoneDateString}</h2>`,i=o.workOrderMilestoneDateString);const s=document.createElement("div");s.className="panel-block is-block",!o.workOrderMilestoneCompletionDate&&o.workOrderMilestoneDateString<r&&s.classList.add("has-background-warning-light");let n="";for(const s of o.workOrderLots)n+='<span class="has-tooltip-left" data-tooltip="'+cityssm.escapeHTML(s.mapName||"")+'"><i class="fas fa-vector-square" aria-label="'+e.escapedAliases.Lot+'"></i> '+cityssm.escapeHTML(s.lotName||"")+"</span><br />";for(const s of o.workOrderLotOccupancies)for(const r of s.lotOccupancyOccupants)n+='<span class="has-tooltip-left" data-tooltip="'+cityssm.escapeHTML(r.lotOccupantType||"")+'"><i class="fas fa-user" aria-label="'+e.escapedAliases.Occupancy+'"></i> '+cityssm.escapeHTML(r.occupantName||"")+"</span><br />";s.innerHTML='<div class="columns"><div class="column is-narrow"><span class="icon is-small">'+(o.workOrderMilestoneCompletionDate?'<i class="fas fa-check" aria-label="Completed"></i>':'<i class="far fa-square has-text-grey" aria-label="Incomplete"></i>')+'</span></div><div class="column">'+(0===o.workOrderMilestoneTime?"":o.workOrderMilestoneTimeString+"<br />")+(o.workOrderMilestoneTypeId?"<strong>"+cityssm.escapeHTML(o.workOrderMilestoneType)+"</strong><br />":"")+'<span class="is-size-7">'+cityssm.escapeHTML(o.workOrderMilestoneDescription)+'</span></div><div class="column"><i class="fas fa-circle" style="color:'+e.getRandomColor(o.workOrderNumber||"")+'" aria-hidden="true"></i> <a class="has-text-weight-bold" href="'+e.urlPrefix+"/workOrders/"+o.workOrderId+'">'+cityssm.escapeHTML(o.workOrderNumber||"")+'</a><br /><span class="is-size-7">'+cityssm.escapeHTML(o.workOrderDescription||"")+'</span></div><div class="column is-size-7">'+n+"</div></div>",a.append(s)}t.append(a)}(s.workOrderMilestones)})}r.addEventListener("change",()=>{a.closest("fieldset").disabled="date"!==r.value,i()}),e.initializeDatePickers(s),a.addEventListener("change",i),s.addEventListener("submit",i),i()})();
|
||||||
Loading…
Reference in New Issue