refactoring

deepsource-autofix-76c6eb20
Dan Gowans 2022-12-30 15:42:05 -05:00
parent d73f0811db
commit 41e453e180
47 changed files with 710 additions and 704 deletions

View File

@ -43,17 +43,14 @@ declare const bulmaJS: BulmaJS;
);
};
(document.querySelector("#button--cleanupDatabase") as HTMLButtonElement).addEventListener(
"click",
() => {
bulmaJS.confirm({
title: "Cleanup Database",
message: "Are you sure you want to cleanup up the database?",
okButton: {
text: "Yes, Cleanup Database",
callbackFunction: doCleanup
}
});
}
);
document.querySelector("#button--cleanupDatabase")!.addEventListener("click", () => {
bulmaJS.confirm({
title: "Cleanup Database",
message: "Are you sure you want to cleanup up the database?",
okButton: {
text: "Yes, Cleanup Database",
callbackFunction: doCleanup
}
});
});
})();

View File

@ -225,7 +225,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
minimumLengthElement.addEventListener("keyup", updateMaximumLengthMin);
updateMaximumLengthMin();
occupancyTypeFieldValuesElement.addEventListener("keyup", toggleInputFields);
modalElement.querySelector("#button--deleteOccupancyTypeField").addEventListener("click", confirmDoDelete);
modalElement
.querySelector("#button--deleteOccupancyTypeField")
.addEventListener("click", confirmDoDelete);
},
onremoved: () => {
bulmaJS.toggleHtmlClipped();
@ -291,7 +293,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
"</div>") +
"</div>" +
"</div>";
panelBlockElement.querySelector(".button--editOccupancyTypeField").addEventListener("click", openEditOccupancyTypeFieldByClick);
panelBlockElement
.querySelector(".button--editOccupancyTypeField")
.addEventListener("click", openEditOccupancyTypeFieldByClick);
panelBlockElement.querySelector(".button--moveOccupancyTypeFieldUp").addEventListener("click", moveOccupancyTypeFieldUp);
panelBlockElement.querySelector(".button--moveOccupancyTypeFieldDown").addEventListener("click", moveOccupancyTypeFieldDown);
panelElement.append(panelBlockElement);
@ -418,7 +422,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
"</div>";
panelBlockElement.querySelector(".button--moveOccupancyTypePrintUp").addEventListener("click", moveOccupancyTypePrintUp);
panelBlockElement.querySelector(".button--moveOccupancyTypePrintDown").addEventListener("click", moveOccupancyTypePrintDown);
panelBlockElement.querySelector(".button--deleteOccupancyTypePrint").addEventListener("click", deleteOccupancyTypePrint);
panelBlockElement
.querySelector(".button--deleteOccupancyTypePrint")
.addEventListener("click", deleteOccupancyTypePrint);
panelElement.append(panelBlockElement);
}
}
@ -448,7 +454,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
"</div>";
occupancyTypePrintsContainerElement.innerHTML = "";
renderOccupancyTypeFields(occupancyTypesContainerElement.querySelector("#container--allOccupancyTypeFields"), undefined, allOccupancyTypeFields);
occupancyTypesContainerElement.querySelector(".button--addOccupancyTypeField").addEventListener("click", openAddOccupancyTypeField);
occupancyTypesContainerElement
.querySelector(".button--addOccupancyTypeField")
.addEventListener("click", openAddOccupancyTypeField);
if (occupancyTypes.length === 0) {
occupancyTypesContainerElement.insertAdjacentHTML("afterbegin", `<div class="message is-warning>
<p class="message-body">There are no active ${los.escapedAliases.occupancy} types.</p>
@ -510,10 +518,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
"</div>" +
"</div>";
renderOccupancyTypeFields(occupancyTypeContainer, occupancyType.occupancyTypeId, occupancyType.occupancyTypeFields);
occupancyTypeContainer.querySelector(".button--toggleOccupancyTypeFields").addEventListener("click", toggleOccupancyTypeFields);
occupancyTypeContainer.querySelector(".button--deleteOccupancyType").addEventListener("click", deleteOccupancyType);
occupancyTypeContainer.querySelector(".button--editOccupancyType").addEventListener("click", openEditOccupancyType);
occupancyTypeContainer.querySelector(".button--addOccupancyTypeField").addEventListener("click", openAddOccupancyTypeField);
occupancyTypeContainer
.querySelector(".button--toggleOccupancyTypeFields")
.addEventListener("click", toggleOccupancyTypeFields);
occupancyTypeContainer
.querySelector(".button--deleteOccupancyType")
.addEventListener("click", deleteOccupancyType);
occupancyTypeContainer
.querySelector(".button--editOccupancyType")
.addEventListener("click", openEditOccupancyType);
occupancyTypeContainer
.querySelector(".button--addOccupancyTypeField")
.addEventListener("click", openAddOccupancyTypeField);
occupancyTypeContainer.querySelector(".button--moveOccupancyTypeUp").addEventListener("click", moveOccupancyTypeUp);
occupancyTypeContainer.querySelector(".button--moveOccupancyTypeDown").addEventListener("click", moveOccupancyTypeDown);
occupancyTypesContainerElement.append(occupancyTypeContainer);
@ -545,7 +561,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
"</div>" +
"</div>";
renderOccupancyTypePrints(occupancyTypePrintContainer, occupancyType.occupancyTypeId, occupancyType.occupancyTypePrints);
occupancyTypePrintContainer.querySelector(".button--addOccupancyTypePrint").addEventListener("click", openAddOccupancyTypePrint);
occupancyTypePrintContainer
.querySelector(".button--addOccupancyTypePrint")
.addEventListener("click", openAddOccupancyTypePrint);
occupancyTypePrintsContainerElement.append(occupancyTypePrintContainer);
}
}

View File

@ -436,11 +436,9 @@ declare const bulmaJS: BulmaJS;
occupancyTypeFieldValuesElement.addEventListener("keyup", toggleInputFields);
(
modalElement.querySelector(
"#button--deleteOccupancyTypeField"
) as HTMLButtonElement
).addEventListener("click", confirmDoDelete);
modalElement
.querySelector("#button--deleteOccupancyTypeField")!
.addEventListener("click", confirmDoDelete);
},
onremoved: () => {
bulmaJS.toggleHtmlClipped();
@ -560,11 +558,9 @@ declare const bulmaJS: BulmaJS;
"</div>" +
"</div>";
(
panelBlockElement.querySelector(
".button--editOccupancyTypeField"
) as HTMLButtonElement
).addEventListener("click", openEditOccupancyTypeFieldByClick);
panelBlockElement
.querySelector(".button--editOccupancyTypeField")!
.addEventListener("click", openEditOccupancyTypeFieldByClick);
(
panelBlockElement.querySelector(
@ -583,7 +579,7 @@ declare const bulmaJS: BulmaJS;
}
}
function openAddOccupancyTypePrint(clickEvent: MouseEvent): void {
function openAddOccupancyTypePrint(clickEvent: Event): void {
const occupancyTypeId = (
(clickEvent.currentTarget as HTMLElement).closest(
".container--occupancyTypePrintList"
@ -696,7 +692,7 @@ declare const bulmaJS: BulmaJS;
);
}
function deleteOccupancyTypePrint(clickEvent: MouseEvent): void {
function deleteOccupancyTypePrint(clickEvent: Event): void {
clickEvent.preventDefault();
const printEJS = (
@ -807,11 +803,9 @@ declare const bulmaJS: BulmaJS;
) as HTMLButtonElement
).addEventListener("click", moveOccupancyTypePrintDown);
(
panelBlockElement.querySelector(
".button--deleteOccupancyTypePrint"
) as HTMLButtonElement
).addEventListener("click", deleteOccupancyTypePrint);
panelBlockElement
.querySelector(".button--deleteOccupancyTypePrint")!
.addEventListener("click", deleteOccupancyTypePrint);
panelElement.append(panelBlockElement);
}
@ -852,11 +846,9 @@ declare const bulmaJS: BulmaJS;
allOccupancyTypeFields
);
(
occupancyTypesContainerElement.querySelector(
".button--addOccupancyTypeField"
) as HTMLButtonElement
).addEventListener("click", openAddOccupancyTypeField);
occupancyTypesContainerElement
.querySelector(".button--addOccupancyTypeField")!
.addEventListener("click", openAddOccupancyTypeField);
if (occupancyTypes.length === 0) {
occupancyTypesContainerElement.insertAdjacentHTML(
@ -940,29 +932,21 @@ declare const bulmaJS: BulmaJS;
occupancyType.occupancyTypeFields!
);
(
occupancyTypeContainer.querySelector(
".button--toggleOccupancyTypeFields"
) as HTMLButtonElement
).addEventListener("click", toggleOccupancyTypeFields);
occupancyTypeContainer
.querySelector(".button--toggleOccupancyTypeFields")!
.addEventListener("click", toggleOccupancyTypeFields);
(
occupancyTypeContainer.querySelector(
".button--deleteOccupancyType"
) as HTMLButtonElement
).addEventListener("click", deleteOccupancyType);
occupancyTypeContainer
.querySelector(".button--deleteOccupancyType")!
.addEventListener("click", deleteOccupancyType);
(
occupancyTypeContainer.querySelector(
".button--editOccupancyType"
) as HTMLButtonElement
).addEventListener("click", openEditOccupancyType);
occupancyTypeContainer
.querySelector(".button--editOccupancyType")!
.addEventListener("click", openEditOccupancyType);
(
occupancyTypeContainer.querySelector(
".button--addOccupancyTypeField"
) as HTMLButtonElement
).addEventListener("click", openAddOccupancyTypeField);
occupancyTypeContainer
.querySelector(".button--addOccupancyTypeField")!
.addEventListener("click", openAddOccupancyTypeField);
(
occupancyTypeContainer.querySelector(
@ -1015,18 +999,16 @@ declare const bulmaJS: BulmaJS;
occupancyType.occupancyTypePrints!
);
(
occupancyTypePrintContainer.querySelector(
".button--addOccupancyTypePrint"
) as HTMLButtonElement
).addEventListener("click", openAddOccupancyTypePrint);
occupancyTypePrintContainer
.querySelector(".button--addOccupancyTypePrint")!
.addEventListener("click", openAddOccupancyTypePrint);
occupancyTypePrintsContainerElement.append(occupancyTypePrintContainer);
}
}
}
(document.querySelector("#button--addOccupancyType") as HTMLButtonElement).addEventListener(
document.querySelector("#button--addOccupancyType")!.addEventListener(
"click",
() => {
let addCloseModalFunction: () => void;

View File

@ -166,7 +166,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
tableRowElement.querySelector("form").addEventListener("submit", updateWorkOrderType);
tableRowElement.querySelector(".button--moveWorkOrderTypeUp").addEventListener("click", moveWorkOrderTypeUp);
tableRowElement.querySelector(".button--moveWorkOrderTypeDown").addEventListener("click", moveWorkOrderTypeDown);
tableRowElement.querySelector(".button--deleteWorkOrderType").addEventListener("click", deleteWorkOrderType);
tableRowElement
.querySelector(".button--deleteWorkOrderType")
.addEventListener("click", deleteWorkOrderType);
containerElement.append(tableRowElement);
}
};
@ -347,7 +349,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
tableRowElement.querySelector("form").addEventListener("submit", updateWorkOrderMilestoneType);
tableRowElement.querySelector(".button--moveWorkOrderMilestoneTypeUp").addEventListener("click", moveWorkOrderMilestoneTypeUp);
tableRowElement.querySelector(".button--moveWorkOrderMilestoneTypeDown").addEventListener("click", moveWorkOrderMilestoneTypeDown);
tableRowElement.querySelector(".button--deleteWorkOrderMilestoneType").addEventListener("click", deleteWorkOrderMilestoneType);
tableRowElement
.querySelector(".button--deleteWorkOrderMilestoneType")
.addEventListener("click", deleteWorkOrderMilestoneType);
containerElement.append(tableRowElement);
}
};
@ -532,7 +536,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
tableRowElement.querySelector("form").addEventListener("submit", updateLotStatus);
tableRowElement.querySelector(".button--moveLotStatusUp").addEventListener("click", moveLotStatusUp);
tableRowElement.querySelector(".button--moveLotStatusDown").addEventListener("click", moveLotStatusDown);
tableRowElement.querySelector(".button--deleteLotStatus").addEventListener("click", deleteLotStatus);
tableRowElement
.querySelector(".button--deleteLotStatus")
.addEventListener("click", deleteLotStatus);
containerElement.append(tableRowElement);
}
};
@ -781,7 +787,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
tableRowElement.querySelector("form").addEventListener("submit", updateLotOccupantType);
tableRowElement.querySelector(".button--moveLotOccupantTypeUp").addEventListener("click", moveLotOccupantTypeUp);
tableRowElement.querySelector(".button--moveLotOccupantTypeDown").addEventListener("click", moveLotOccupantTypeDown);
tableRowElement.querySelector(".button--deleteLotOccupantType").addEventListener("click", deleteLotOccupantType);
tableRowElement
.querySelector(".button--deleteLotOccupantType")
.addEventListener("click", deleteLotOccupantType);
containerElement.append(tableRowElement);
}
};

View File

@ -222,7 +222,9 @@ const renderLotOccupantTypes = () => {
tableRowElement.querySelector("form").addEventListener("submit", updateLotOccupantType);
tableRowElement.querySelector(".button--moveLotOccupantTypeUp").addEventListener("click", moveLotOccupantTypeUp);
tableRowElement.querySelector(".button--moveLotOccupantTypeDown").addEventListener("click", moveLotOccupantTypeDown);
tableRowElement.querySelector(".button--deleteLotOccupantType").addEventListener("click", deleteLotOccupantType);
tableRowElement
.querySelector(".button--deleteLotOccupantType")
.addEventListener("click", deleteLotOccupantType);
containerElement.append(tableRowElement);
}
};

View File

@ -309,9 +309,9 @@ const renderLotOccupantTypes = () => {
tableRowElement.querySelector(".button--moveLotOccupantTypeDown") as HTMLButtonElement
).addEventListener("click", moveLotOccupantTypeDown);
(
tableRowElement.querySelector(".button--deleteLotOccupantType") as HTMLButtonElement
).addEventListener("click", deleteLotOccupantType);
tableRowElement
.querySelector(".button--deleteLotOccupantType")!
.addEventListener("click", deleteLotOccupantType);
containerElement.append(tableRowElement);
}

View File

@ -158,7 +158,9 @@ const renderLotStatuses = () => {
tableRowElement.querySelector("form").addEventListener("submit", updateLotStatus);
tableRowElement.querySelector(".button--moveLotStatusUp").addEventListener("click", moveLotStatusUp);
tableRowElement.querySelector(".button--moveLotStatusDown").addEventListener("click", moveLotStatusDown);
tableRowElement.querySelector(".button--deleteLotStatus").addEventListener("click", deleteLotStatus);
tableRowElement
.querySelector(".button--deleteLotStatus")
.addEventListener("click", deleteLotStatus);
containerElement.append(tableRowElement);
}
};

View File

@ -233,9 +233,9 @@ const renderLotStatuses = () => {
tableRowElement.querySelector(".button--moveLotStatusDown") as HTMLButtonElement
).addEventListener("click", moveLotStatusDown);
(
tableRowElement.querySelector(".button--deleteLotStatus") as HTMLButtonElement
).addEventListener("click", deleteLotStatus);
tableRowElement
.querySelector(".button--deleteLotStatus")!
.addEventListener("click", deleteLotStatus);
containerElement.append(tableRowElement);
}

View File

@ -154,7 +154,9 @@ const renderWorkOrderMilestoneTypes = () => {
tableRowElement.querySelector("form").addEventListener("submit", updateWorkOrderMilestoneType);
tableRowElement.querySelector(".button--moveWorkOrderMilestoneTypeUp").addEventListener("click", moveWorkOrderMilestoneTypeUp);
tableRowElement.querySelector(".button--moveWorkOrderMilestoneTypeDown").addEventListener("click", moveWorkOrderMilestoneTypeDown);
tableRowElement.querySelector(".button--deleteWorkOrderMilestoneType").addEventListener("click", deleteWorkOrderMilestoneType);
tableRowElement
.querySelector(".button--deleteWorkOrderMilestoneType")
.addEventListener("click", deleteWorkOrderMilestoneType);
containerElement.append(tableRowElement);
}
};

View File

@ -236,11 +236,9 @@ const renderWorkOrderMilestoneTypes = () => {
) as HTMLButtonElement
).addEventListener("click", moveWorkOrderMilestoneTypeDown);
(
tableRowElement.querySelector(
".button--deleteWorkOrderMilestoneType"
) as HTMLButtonElement
).addEventListener("click", deleteWorkOrderMilestoneType);
tableRowElement
.querySelector(".button--deleteWorkOrderMilestoneType")!
.addEventListener("click", deleteWorkOrderMilestoneType);
containerElement.append(tableRowElement);
}

View File

@ -153,7 +153,9 @@ const renderWorkOrderTypes = () => {
tableRowElement.querySelector("form").addEventListener("submit", updateWorkOrderType);
tableRowElement.querySelector(".button--moveWorkOrderTypeUp").addEventListener("click", moveWorkOrderTypeUp);
tableRowElement.querySelector(".button--moveWorkOrderTypeDown").addEventListener("click", moveWorkOrderTypeDown);
tableRowElement.querySelector(".button--deleteWorkOrderType").addEventListener("click", deleteWorkOrderType);
tableRowElement
.querySelector(".button--deleteWorkOrderType")
.addEventListener("click", deleteWorkOrderType);
containerElement.append(tableRowElement);
}
};

View File

@ -228,9 +228,9 @@ const renderWorkOrderTypes = () => {
tableRowElement.querySelector(".button--moveWorkOrderTypeDown") as HTMLButtonElement
).addEventListener("click", moveWorkOrderTypeDown);
(
tableRowElement.querySelector(".button--deleteWorkOrderType") as HTMLButtonElement
).addEventListener("click", deleteWorkOrderType);
tableRowElement
.querySelector(".button--deleteWorkOrderType")!
.addEventListener("click", deleteWorkOrderType);
containerElement.append(tableRowElement);
}

View File

@ -5,9 +5,13 @@ import type * as globalTypes from "../types/globalTypes";
(() => {
const los = exports.los as globalTypes.LOS;
const workOrderNumberCircleElements = document.querySelectorAll(".fa-circle[data-work-order-number") as NodeListOf<HTMLElement>;
const workOrderNumberCircleElements = document.querySelectorAll(
".fa-circle[data-work-order-number"
) as NodeListOf<HTMLElement>;
for (const workOrderNumberCircleElement of workOrderNumberCircleElements) {
workOrderNumberCircleElement.style.color = los.getRandomColor(workOrderNumberCircleElement.dataset.workOrderNumber || "");
workOrderNumberCircleElement.style.color = los.getRandomColor(
workOrderNumberCircleElement.dataset.workOrderNumber || ""
);
}
})();
})();

View File

@ -312,8 +312,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
"</button>") +
"</div>" +
"</td>");
tableRowElement.querySelector(".button--edit").addEventListener("click", openEditLotComment);
tableRowElement.querySelector(".button--delete").addEventListener("click", deleteLotComment);
tableRowElement
.querySelector(".button--edit")
.addEventListener("click", openEditLotComment);
tableRowElement
.querySelector(".button--delete")
.addEventListener("click", deleteLotComment);
tableElement.querySelector("tbody").append(tableRowElement);
}
containerElement.innerHTML = "";

View File

@ -63,46 +63,43 @@ declare const bulmaJS: BulmaJS;
los.initializeUnlockFieldButtons(formElement);
if (!isCreate) {
(document.querySelector("#button--deleteLot") as HTMLButtonElement).addEventListener(
"click",
(clickEvent) => {
clickEvent.preventDefault();
document.querySelector("#button--deleteLot")!.addEventListener("click", (clickEvent) => {
clickEvent.preventDefault();
const doDelete = () => {
cityssm.postJSON(
los.urlPrefix + "/lots/doDeleteLot",
{
lotId
},
(responseJSON: { success: boolean; errorMessage?: string }) => {
if (responseJSON.success) {
cityssm.disableNavBlocker();
window.location.href = los.urlPrefix + "/lots/?t=" + Date.now();
} else {
bulmaJS.alert({
title: "Error Deleting " + exports.aliases.lot,
message: responseJSON.errorMessage || "",
contextualColorName: "danger"
});
}
const doDelete = () => {
cityssm.postJSON(
los.urlPrefix + "/lots/doDeleteLot",
{
lotId
},
(responseJSON: { success: boolean; errorMessage?: string }) => {
if (responseJSON.success) {
cityssm.disableNavBlocker();
window.location.href = los.urlPrefix + "/lots/?t=" + Date.now();
} else {
bulmaJS.alert({
title: "Error Deleting " + exports.aliases.lot,
message: responseJSON.errorMessage || "",
contextualColorName: "danger"
});
}
);
};
bulmaJS.confirm({
title: "Delete " + exports.aliases.lot,
message:
"Are you sure you want to delete this " +
exports.aliases.lot.toLowerCase() +
"?",
contextualColorName: "warning",
okButton: {
text: "Yes, Delete " + exports.aliases.lot,
callbackFunction: doDelete
}
});
}
);
);
};
bulmaJS.confirm({
title: "Delete " + exports.aliases.lot,
message:
"Are you sure you want to delete this " +
exports.aliases.lot.toLowerCase() +
"?",
contextualColorName: "warning",
okButton: {
text: "Yes, Delete " + exports.aliases.lot,
callbackFunction: doDelete
}
});
});
}
// Lot Type
@ -446,14 +443,13 @@ declare const bulmaJS: BulmaJS;
"</div>" +
"</td>");
(tableRowElement.querySelector(".button--edit") as HTMLButtonElement).addEventListener(
"click",
openEditLotComment
);
tableRowElement
.querySelector(".button--edit")!
.addEventListener("click", openEditLotComment);
(
tableRowElement.querySelector(".button--delete") as HTMLButtonElement
).addEventListener("click", deleteLotComment);
tableRowElement
.querySelector(".button--delete")!
.addEventListener("click", deleteLotComment);
tableElement.querySelector("tbody")!.append(tableRowElement);
}

View File

@ -435,8 +435,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
});
});
document.querySelector(".is-lot-view-button").addEventListener("click", () => {
const lotId = document.querySelector("#lotOccupancy--lotId")
.value;
const lotId = document.querySelector("#lotOccupancy--lotId").value;
if (lotId) {
window.open(los.urlPrefix + "/lots/" + lotId);
}
@ -652,8 +651,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
"</button>") +
"</div>" +
"</td>");
tableRowElement.querySelector(".button--edit").addEventListener("click", openEditLotOccupancyOccupant);
tableRowElement.querySelector(".button--delete").addEventListener("click", deleteLotOccupancyOccupant);
tableRowElement
.querySelector(".button--edit")
.addEventListener("click", openEditLotOccupancyOccupant);
tableRowElement
.querySelector(".button--delete")
.addEventListener("click", deleteLotOccupancyOccupant);
tableElement.querySelector("tbody").append(tableRowElement);
}
occupantsContainer.append(tableElement);
@ -756,8 +759,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
"</div>") +
('<div class="column">' +
(occupant.occupantPhoneNumber
? cityssm.escapeHTML(occupant.occupantPhoneNumber) +
"<br />"
? cityssm.escapeHTML(occupant.occupantPhoneNumber) + "<br />"
: "") +
cityssm.escapeHTML(occupant.occupantEmailAddress || "") +
"<br />" +
@ -945,8 +947,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
"</button>") +
"</div>" +
"</td>");
tableRowElement.querySelector(".button--edit").addEventListener("click", openEditLotOccupancyComment);
tableRowElement.querySelector(".button--delete").addEventListener("click", deleteLotOccupancyComment);
tableRowElement
.querySelector(".button--edit")
.addEventListener("click", openEditLotOccupancyComment);
tableRowElement
.querySelector(".button--delete")
.addEventListener("click", deleteLotOccupancyComment);
tableElement.querySelector("tbody").append(tableRowElement);
}
containerElement.innerHTML = "";

View File

@ -435,8 +435,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
});
});
document.querySelector(".is-lot-view-button").addEventListener("click", () => {
const lotId = document.querySelector("#lotOccupancy--lotId")
.value;
const lotId = document.querySelector("#lotOccupancy--lotId").value;
if (lotId) {
window.open(los.urlPrefix + "/lots/" + lotId);
}

View File

@ -631,38 +631,31 @@ declare const bulmaJS: BulmaJS;
});
});
(document.querySelector(".is-lot-view-button") as HTMLButtonElement).addEventListener(
"click",
() => {
const lotId = (document.querySelector("#lotOccupancy--lotId") as HTMLInputElement)
.value;
document.querySelector(".is-lot-view-button")!.addEventListener("click", () => {
const lotId = (document.querySelector("#lotOccupancy--lotId") as HTMLInputElement).value;
if (lotId) {
window.open(los.urlPrefix + "/lots/" + lotId);
} else {
bulmaJS.alert({
message: "No " + exports.aliases.lot.toLowerCase() + " selected.",
contextualColorName: "info"
});
}
if (lotId) {
window.open(los.urlPrefix + "/lots/" + lotId);
} else {
bulmaJS.alert({
message: "No " + exports.aliases.lot.toLowerCase() + " selected.",
contextualColorName: "info"
});
}
);
});
(document.querySelector(".is-clear-lot-button") as HTMLButtonElement).addEventListener(
"click",
() => {
if (lotNameElement.disabled) {
bulmaJS.alert({
message: "You need to unlock the field before clearing it.",
contextualColorName: "info"
});
} else {
lotNameElement.value = "(No " + exports.aliases.lot + ")";
(document.querySelector("#lotOccupancy--lotId") as HTMLInputElement).value = "";
los.setUnsavedChanges();
}
document.querySelector(".is-clear-lot-button")!.addEventListener("click", () => {
if (lotNameElement.disabled) {
bulmaJS.alert({
message: "You need to unlock the field before clearing it.",
contextualColorName: "info"
});
} else {
lotNameElement.value = "(No " + exports.aliases.lot + ")";
(document.querySelector("#lotOccupancy--lotId") as HTMLInputElement).value = "";
los.setUnsavedChanges();
}
);
});
// Start Date

View File

@ -134,8 +134,12 @@ const renderLotOccupancyComments = () => {
"</button>") +
"</div>" +
"</td>");
tableRowElement.querySelector(".button--edit").addEventListener("click", openEditLotOccupancyComment);
tableRowElement.querySelector(".button--delete").addEventListener("click", deleteLotOccupancyComment);
tableRowElement
.querySelector(".button--edit")
.addEventListener("click", openEditLotOccupancyComment);
tableRowElement
.querySelector(".button--delete")
.addEventListener("click", deleteLotOccupancyComment);
tableElement.querySelector("tbody").append(tableRowElement);
}
containerElement.innerHTML = "";

View File

@ -217,15 +217,13 @@ const renderLotOccupancyComments = () => {
"</div>" +
"</td>");
(tableRowElement.querySelector(".button--edit") as HTMLButtonElement).addEventListener(
"click",
openEditLotOccupancyComment
);
tableRowElement
.querySelector(".button--edit")!
.addEventListener("click", openEditLotOccupancyComment);
(tableRowElement.querySelector(".button--delete") as HTMLButtonElement).addEventListener(
"click",
deleteLotOccupancyComment
);
tableRowElement
.querySelector(".button--delete")!
.addEventListener("click", deleteLotOccupancyComment);
tableElement.querySelector("tbody")!.append(tableRowElement);
}
@ -234,67 +232,64 @@ const renderLotOccupancyComments = () => {
containerElement.append(tableElement);
};
(document.querySelector("#button--addComment") as HTMLButtonElement).addEventListener(
"click",
() => {
let addFormElement: HTMLFormElement;
let addCloseModalFunction: () => void;
document.querySelector("#button--addComment")!.addEventListener("click", () => {
let addFormElement: HTMLFormElement;
let addCloseModalFunction: () => void;
const addComment = (submitEvent: SubmitEvent) => {
submitEvent.preventDefault();
const addComment = (submitEvent: SubmitEvent) => {
submitEvent.preventDefault();
cityssm.postJSON(
los.urlPrefix + "/lotOccupancies/doAddLotOccupancyComment",
addFormElement,
(responseJSON: {
success: boolean;
errorMessage?: string;
lotOccupancyComments?: recordTypes.LotOccupancyComment[];
}) => {
if (responseJSON.success) {
lotOccupancyComments = responseJSON.lotOccupancyComments!;
addCloseModalFunction();
renderLotOccupancyComments();
} else {
bulmaJS.alert({
title: "Error Adding Comment",
message: responseJSON.errorMessage || "",
contextualColorName: "danger"
});
}
cityssm.postJSON(
los.urlPrefix + "/lotOccupancies/doAddLotOccupancyComment",
addFormElement,
(responseJSON: {
success: boolean;
errorMessage?: string;
lotOccupancyComments?: recordTypes.LotOccupancyComment[];
}) => {
if (responseJSON.success) {
lotOccupancyComments = responseJSON.lotOccupancyComments!;
addCloseModalFunction();
renderLotOccupancyComments();
} else {
bulmaJS.alert({
title: "Error Adding Comment",
message: responseJSON.errorMessage || "",
contextualColorName: "danger"
});
}
);
};
cityssm.openHtmlModal("lotOccupancy-addComment", {
onshow: (modalElement) => {
los.populateAliases(modalElement);
(
modalElement.querySelector(
"#lotOccupancyCommentAdd--lotOccupancyId"
) as HTMLInputElement
).value = lotOccupancyId;
},
onshown: (modalElement, closeModalFunction) => {
bulmaJS.toggleHtmlClipped();
(
modalElement.querySelector(
"#lotOccupancyCommentAdd--lotOccupancyComment"
) as HTMLTextAreaElement
).focus();
addFormElement = modalElement.querySelector("form")!;
addFormElement.addEventListener("submit", addComment);
addCloseModalFunction = closeModalFunction;
},
onremoved: () => {
bulmaJS.toggleHtmlClipped();
}
});
}
);
);
};
cityssm.openHtmlModal("lotOccupancy-addComment", {
onshow: (modalElement) => {
los.populateAliases(modalElement);
(
modalElement.querySelector(
"#lotOccupancyCommentAdd--lotOccupancyId"
) as HTMLInputElement
).value = lotOccupancyId;
},
onshown: (modalElement, closeModalFunction) => {
bulmaJS.toggleHtmlClipped();
(
modalElement.querySelector(
"#lotOccupancyCommentAdd--lotOccupancyComment"
) as HTMLTextAreaElement
).focus();
addFormElement = modalElement.querySelector("form")!;
addFormElement.addEventListener("submit", addComment);
addCloseModalFunction = closeModalFunction;
},
onremoved: () => {
bulmaJS.toggleHtmlClipped();
}
});
});
renderLotOccupancyComments();

View File

@ -169,7 +169,7 @@ const renderLotOccupancyFees = () => {
renderLotOccupancyTransactions();
};
(document.querySelector("#button--addFee") as HTMLButtonElement).addEventListener("click", () => {
document.querySelector("#button--addFee")!.addEventListener("click", () => {
if (hasUnsavedChanges) {
bulmaJS.alert({
message: "Please save all unsaved changes before adding fees.",
@ -530,76 +530,73 @@ const renderLotOccupancyTransactions = () => {
}
};
(document.querySelector("#button--addTransaction") as HTMLButtonElement).addEventListener(
"click",
() => {
let addCloseModalFunction: () => void;
document.querySelector("#button--addTransaction")!.addEventListener("click", () => {
let addCloseModalFunction: () => void;
const doAddTransaction = (submitEvent: SubmitEvent) => {
submitEvent.preventDefault();
const doAddTransaction = (submitEvent: SubmitEvent) => {
submitEvent.preventDefault();
cityssm.postJSON(
los.urlPrefix + "/lotOccupancies/doAddLotOccupancyTransaction",
submitEvent.currentTarget,
(responseJSON: {
success: boolean;
errorMessage?: string;
lotOccupancyTransactions?: recordTypes.LotOccupancyTransaction[];
}) => {
if (responseJSON.success) {
lotOccupancyTransactions = responseJSON.lotOccupancyTransactions!;
addCloseModalFunction();
renderLotOccupancyTransactions();
} else {
bulmaJS.confirm({
title: "Error Adding Transaction",
message: responseJSON.errorMessage || "",
contextualColorName: "danger"
});
}
cityssm.postJSON(
los.urlPrefix + "/lotOccupancies/doAddLotOccupancyTransaction",
submitEvent.currentTarget,
(responseJSON: {
success: boolean;
errorMessage?: string;
lotOccupancyTransactions?: recordTypes.LotOccupancyTransaction[];
}) => {
if (responseJSON.success) {
lotOccupancyTransactions = responseJSON.lotOccupancyTransactions!;
addCloseModalFunction();
renderLotOccupancyTransactions();
} else {
bulmaJS.confirm({
title: "Error Adding Transaction",
message: responseJSON.errorMessage || "",
contextualColorName: "danger"
});
}
);
};
cityssm.openHtmlModal("lotOccupancy-addTransaction", {
onshow: (modalElement) => {
los.populateAliases(modalElement);
(
modalElement.querySelector(
"#lotOccupancyTransactionAdd--lotOccupancyId"
) as HTMLInputElement
).value = lotOccupancyId.toString();
const feeGrandTotal = getFeeGrandTotal();
const transactionGrandTotal = getTransactionGrandTotal();
const transactionAmountElement = modalElement.querySelector(
"#lotOccupancyTransactionAdd--transactionAmount"
) as HTMLInputElement;
transactionAmountElement.min = (-1 * transactionGrandTotal).toFixed(2);
transactionAmountElement.max = Math.max(
feeGrandTotal - transactionGrandTotal,
0
).toFixed(2);
transactionAmountElement.value = Math.max(
feeGrandTotal - transactionGrandTotal,
0
).toFixed(2);
},
onshown: (modalElement, closeModalFunction) => {
bulmaJS.toggleHtmlClipped();
addCloseModalFunction = closeModalFunction;
modalElement.querySelector("form")!.addEventListener("submit", doAddTransaction);
},
onremoved: () => {
bulmaJS.toggleHtmlClipped();
}
});
}
);
);
};
cityssm.openHtmlModal("lotOccupancy-addTransaction", {
onshow: (modalElement) => {
los.populateAliases(modalElement);
(
modalElement.querySelector(
"#lotOccupancyTransactionAdd--lotOccupancyId"
) as HTMLInputElement
).value = lotOccupancyId.toString();
const feeGrandTotal = getFeeGrandTotal();
const transactionGrandTotal = getTransactionGrandTotal();
const transactionAmountElement = modalElement.querySelector(
"#lotOccupancyTransactionAdd--transactionAmount"
) as HTMLInputElement;
transactionAmountElement.min = (-1 * transactionGrandTotal).toFixed(2);
transactionAmountElement.max = Math.max(
feeGrandTotal - transactionGrandTotal,
0
).toFixed(2);
transactionAmountElement.value = Math.max(
feeGrandTotal - transactionGrandTotal,
0
).toFixed(2);
},
onshown: (modalElement, closeModalFunction) => {
bulmaJS.toggleHtmlClipped();
addCloseModalFunction = closeModalFunction;
modalElement.querySelector("form")!.addEventListener("submit", doAddTransaction);
},
onremoved: () => {
bulmaJS.toggleHtmlClipped();
}
});
});
renderLotOccupancyFees();

View File

@ -179,8 +179,12 @@ const renderLotOccupancyOccupants = () => {
"</button>") +
"</div>" +
"</td>");
tableRowElement.querySelector(".button--edit").addEventListener("click", openEditLotOccupancyOccupant);
tableRowElement.querySelector(".button--delete").addEventListener("click", deleteLotOccupancyOccupant);
tableRowElement
.querySelector(".button--edit")
.addEventListener("click", openEditLotOccupancyOccupant);
tableRowElement
.querySelector(".button--delete")
.addEventListener("click", deleteLotOccupancyOccupant);
tableElement.querySelector("tbody").append(tableRowElement);
}
occupantsContainer.append(tableElement);
@ -283,8 +287,7 @@ else {
"</div>") +
('<div class="column">' +
(occupant.occupantPhoneNumber
? cityssm.escapeHTML(occupant.occupantPhoneNumber) +
"<br />"
? cityssm.escapeHTML(occupant.occupantPhoneNumber) + "<br />"
: "") +
cityssm.escapeHTML(occupant.occupantEmailAddress || "") +
"<br />" +

View File

@ -299,15 +299,13 @@ const renderLotOccupancyOccupants = () => {
"</div>" +
"</td>");
(tableRowElement.querySelector(".button--edit") as HTMLButtonElement).addEventListener(
"click",
openEditLotOccupancyOccupant
);
tableRowElement
.querySelector(".button--edit")!
.addEventListener("click", openEditLotOccupancyOccupant);
(tableRowElement.querySelector(".button--delete") as HTMLButtonElement).addEventListener(
"click",
deleteLotOccupancyOccupant
);
tableRowElement
.querySelector(".button--delete")!
.addEventListener("click", deleteLotOccupancyOccupant);
tableElement.querySelector("tbody")!.append(tableRowElement);
}
@ -333,236 +331,228 @@ if (isCreate) {
lotOccupancyOccupants = exports.lotOccupancyOccupants;
delete exports.lotOccupancyOccupants;
(document.querySelector("#button--addOccupant") as HTMLButtonElement).addEventListener(
"click",
() => {
let addCloseModalFunction: () => void;
document.querySelector("#button--addOccupant")!.addEventListener("click", () => {
let addCloseModalFunction: () => void;
let addFormElement: HTMLFormElement;
let addFormElement: HTMLFormElement;
let searchFormElement: HTMLFormElement;
let searchResultsElement: HTMLElement;
let searchFormElement: HTMLFormElement;
let searchResultsElement: HTMLElement;
const addOccupant = (
formOrObject: HTMLFormElement | recordTypes.LotOccupancyOccupant
) => {
cityssm.postJSON(
los.urlPrefix + "/lotOccupancies/doAddLotOccupancyOccupant",
formOrObject,
(responseJSON: {
success: boolean;
errorMessage?: string;
lotOccupancyOccupants?: recordTypes.LotOccupancyOccupant[];
}) => {
if (responseJSON.success) {
lotOccupancyOccupants = responseJSON.lotOccupancyOccupants!;
addCloseModalFunction();
renderLotOccupancyOccupants();
} else {
bulmaJS.alert({
title: "Error Adding " + exports.aliases.occupant,
message: responseJSON.errorMessage || "",
contextualColorName: "danger"
});
}
const addOccupant = (formOrObject: HTMLFormElement | recordTypes.LotOccupancyOccupant) => {
cityssm.postJSON(
los.urlPrefix + "/lotOccupancies/doAddLotOccupancyOccupant",
formOrObject,
(responseJSON: {
success: boolean;
errorMessage?: string;
lotOccupancyOccupants?: recordTypes.LotOccupancyOccupant[];
}) => {
if (responseJSON.success) {
lotOccupancyOccupants = responseJSON.lotOccupancyOccupants!;
addCloseModalFunction();
renderLotOccupancyOccupants();
} else {
bulmaJS.alert({
title: "Error Adding " + exports.aliases.occupant,
message: responseJSON.errorMessage || "",
contextualColorName: "danger"
});
}
);
};
const addOccupantFromForm = (submitEvent: SubmitEvent) => {
submitEvent.preventDefault();
addOccupant(addFormElement);
};
let pastOccupantSearchResults: recordTypes.LotOccupancyOccupant[] = [];
const addOccupantFromCopy = (clickEvent: MouseEvent) => {
clickEvent.preventDefault();
const panelBlockElement = clickEvent.currentTarget as HTMLElement;
const occupant =
pastOccupantSearchResults[
Number.parseInt(panelBlockElement.dataset.index!, 10)
];
const lotOccupantTypeId = (
panelBlockElement
.closest(".modal")!
.querySelector(
"#lotOccupancyOccupantCopy--lotOccupantTypeId"
) as HTMLSelectElement
).value;
if (lotOccupantTypeId === "") {
bulmaJS.alert({
title: "No " + exports.aliases.occupant + " Type Selected",
message:
"Select a type to apply to the newly added " +
exports.aliases.occupant.toLowerCase() +
".",
contextualColorName: "warning"
});
} else {
occupant.lotOccupantTypeId = Number.parseInt(lotOccupantTypeId, 10);
occupant.lotOccupancyId = Number.parseInt(lotOccupancyId, 10);
addOccupant(occupant);
}
};
);
};
const searchOccupants = (event: Event) => {
event.preventDefault();
const addOccupantFromForm = (submitEvent: SubmitEvent) => {
submitEvent.preventDefault();
addOccupant(addFormElement);
};
if (
(
searchFormElement.querySelector(
"#lotOccupancyOccupantCopy--searchFilter"
) as HTMLInputElement
).value === ""
) {
searchResultsElement.innerHTML =
'<div class="message is-info">' +
'<p class="message-body">Enter a partial name or address in the search field above.</p>' +
"</div>";
let pastOccupantSearchResults: recordTypes.LotOccupancyOccupant[] = [];
return;
}
const addOccupantFromCopy = (clickEvent: MouseEvent) => {
clickEvent.preventDefault();
searchResultsElement.innerHTML = los.getLoadingParagraphHTML("Searching...");
const panelBlockElement = clickEvent.currentTarget as HTMLElement;
cityssm.postJSON(
los.urlPrefix + "/lotOccupancies/doSearchPastOccupants",
searchFormElement,
(responseJSON: { occupants: recordTypes.LotOccupancyOccupant[] }) => {
pastOccupantSearchResults = responseJSON.occupants;
const occupant =
pastOccupantSearchResults[Number.parseInt(panelBlockElement.dataset.index!, 10)];
const panelElement = document.createElement("div");
panelElement.className = "panel";
for (const [index, occupant] of pastOccupantSearchResults.entries()) {
const panelBlockElement = document.createElement("a");
panelBlockElement.className = "panel-block is-block";
panelBlockElement.dataset.index = index.toString();
panelBlockElement.innerHTML =
"<strong>" +
cityssm.escapeHTML(occupant.occupantName || "") +
"</strong>" +
"<br />" +
'<div class="columns">' +
('<div class="column">' +
cityssm.escapeHTML(occupant.occupantAddress1 || "") +
"<br />" +
(occupant.occupantAddress2
? cityssm.escapeHTML(occupant.occupantAddress2) + "<br />"
: "") +
cityssm.escapeHTML(occupant.occupantCity || "") +
", " +
cityssm.escapeHTML(occupant.occupantProvince || "") +
"<br />" +
cityssm.escapeHTML(occupant.occupantPostalCode || "") +
"</div>") +
('<div class="column">' +
(occupant.occupantPhoneNumber
? cityssm.escapeHTML(occupant.occupantPhoneNumber) +
"<br />"
: "") +
cityssm.escapeHTML(occupant.occupantEmailAddress || "") +
"<br />" +
"</div>") +
"</div>";
panelBlockElement.addEventListener("click", addOccupantFromCopy);
panelElement.append(panelBlockElement);
}
searchResultsElement.innerHTML = "";
searchResultsElement.append(panelElement);
}
);
};
cityssm.openHtmlModal("lotOccupancy-addOccupant", {
onshow: (modalElement) => {
los.populateAliases(modalElement);
(
modalElement.querySelector(
"#lotOccupancyOccupantAdd--lotOccupancyId"
) as HTMLInputElement
).value = lotOccupancyId;
const lotOccupantTypeSelectElement = modalElement.querySelector(
"#lotOccupancyOccupantAdd--lotOccupantTypeId"
) as HTMLSelectElement;
const lotOccupantTypeCopySelectElement = modalElement.querySelector(
const lotOccupantTypeId = (
panelBlockElement
.closest(".modal")!
.querySelector(
"#lotOccupancyOccupantCopy--lotOccupantTypeId"
) as HTMLSelectElement;
) as HTMLSelectElement
).value;
for (const lotOccupantType of exports.lotOccupantTypes as recordTypes.LotOccupantType[]) {
const optionElement = document.createElement("option");
optionElement.value = lotOccupantType.lotOccupantTypeId.toString();
optionElement.textContent = lotOccupantType.lotOccupantType;
if (lotOccupantTypeId === "") {
bulmaJS.alert({
title: "No " + exports.aliases.occupant + " Type Selected",
message:
"Select a type to apply to the newly added " +
exports.aliases.occupant.toLowerCase() +
".",
contextualColorName: "warning"
});
} else {
occupant.lotOccupantTypeId = Number.parseInt(lotOccupantTypeId, 10);
occupant.lotOccupancyId = Number.parseInt(lotOccupancyId, 10);
addOccupant(occupant);
}
};
lotOccupantTypeSelectElement.append(optionElement);
const searchOccupants = (event: Event) => {
event.preventDefault();
lotOccupantTypeCopySelectElement.append(optionElement.cloneNode(true));
if (
(
searchFormElement.querySelector(
"#lotOccupancyOccupantCopy--searchFilter"
) as HTMLInputElement
).value === ""
) {
searchResultsElement.innerHTML =
'<div class="message is-info">' +
'<p class="message-body">Enter a partial name or address in the search field above.</p>' +
"</div>";
return;
}
searchResultsElement.innerHTML = los.getLoadingParagraphHTML("Searching...");
cityssm.postJSON(
los.urlPrefix + "/lotOccupancies/doSearchPastOccupants",
searchFormElement,
(responseJSON: { occupants: recordTypes.LotOccupancyOccupant[] }) => {
pastOccupantSearchResults = responseJSON.occupants;
const panelElement = document.createElement("div");
panelElement.className = "panel";
for (const [index, occupant] of pastOccupantSearchResults.entries()) {
const panelBlockElement = document.createElement("a");
panelBlockElement.className = "panel-block is-block";
panelBlockElement.dataset.index = index.toString();
panelBlockElement.innerHTML =
"<strong>" +
cityssm.escapeHTML(occupant.occupantName || "") +
"</strong>" +
"<br />" +
'<div class="columns">' +
('<div class="column">' +
cityssm.escapeHTML(occupant.occupantAddress1 || "") +
"<br />" +
(occupant.occupantAddress2
? cityssm.escapeHTML(occupant.occupantAddress2) + "<br />"
: "") +
cityssm.escapeHTML(occupant.occupantCity || "") +
", " +
cityssm.escapeHTML(occupant.occupantProvince || "") +
"<br />" +
cityssm.escapeHTML(occupant.occupantPostalCode || "") +
"</div>") +
('<div class="column">' +
(occupant.occupantPhoneNumber
? cityssm.escapeHTML(occupant.occupantPhoneNumber) + "<br />"
: "") +
cityssm.escapeHTML(occupant.occupantEmailAddress || "") +
"<br />" +
"</div>") +
"</div>";
panelBlockElement.addEventListener("click", addOccupantFromCopy);
panelElement.append(panelBlockElement);
}
(
modalElement.querySelector(
"#lotOccupancyOccupantAdd--occupantCity"
) as HTMLInputElement
).value = exports.occupantCityDefault;
(
modalElement.querySelector(
"#lotOccupancyOccupantAdd--occupantProvince"
) as HTMLInputElement
).value = exports.occupantProvinceDefault;
},
onshown: (modalElement, closeModalFunction) => {
bulmaJS.toggleHtmlClipped();
bulmaJS.init(modalElement);
(
modalElement.querySelector(
"#lotOccupancyOccupantAdd--lotOccupantTypeId"
) as HTMLInputElement
).focus();
addFormElement = modalElement.querySelector(
"#form--lotOccupancyOccupantAdd"
) as HTMLFormElement;
addFormElement.addEventListener("submit", addOccupantFromForm);
searchResultsElement = modalElement.querySelector(
"#lotOccupancyOccupantCopy--searchResults"
) as HTMLElement;
searchFormElement = modalElement.querySelector(
"#form--lotOccupancyOccupantCopy"
) as HTMLFormElement;
searchFormElement.addEventListener("submit", (formEvent) => {
formEvent.preventDefault();
});
(
modalElement.querySelector(
"#lotOccupancyOccupantCopy--searchFilter"
) as HTMLInputElement
).addEventListener("change", searchOccupants);
addCloseModalFunction = closeModalFunction;
},
onremoved: () => {
bulmaJS.toggleHtmlClipped();
searchResultsElement.innerHTML = "";
searchResultsElement.append(panelElement);
}
});
}
);
);
};
cityssm.openHtmlModal("lotOccupancy-addOccupant", {
onshow: (modalElement) => {
los.populateAliases(modalElement);
(
modalElement.querySelector(
"#lotOccupancyOccupantAdd--lotOccupancyId"
) as HTMLInputElement
).value = lotOccupancyId;
const lotOccupantTypeSelectElement = modalElement.querySelector(
"#lotOccupancyOccupantAdd--lotOccupantTypeId"
) as HTMLSelectElement;
const lotOccupantTypeCopySelectElement = modalElement.querySelector(
"#lotOccupancyOccupantCopy--lotOccupantTypeId"
) as HTMLSelectElement;
for (const lotOccupantType of exports.lotOccupantTypes as recordTypes.LotOccupantType[]) {
const optionElement = document.createElement("option");
optionElement.value = lotOccupantType.lotOccupantTypeId.toString();
optionElement.textContent = lotOccupantType.lotOccupantType;
lotOccupantTypeSelectElement.append(optionElement);
lotOccupantTypeCopySelectElement.append(optionElement.cloneNode(true));
}
(
modalElement.querySelector(
"#lotOccupancyOccupantAdd--occupantCity"
) as HTMLInputElement
).value = exports.occupantCityDefault;
(
modalElement.querySelector(
"#lotOccupancyOccupantAdd--occupantProvince"
) as HTMLInputElement
).value = exports.occupantProvinceDefault;
},
onshown: (modalElement, closeModalFunction) => {
bulmaJS.toggleHtmlClipped();
bulmaJS.init(modalElement);
(
modalElement.querySelector(
"#lotOccupancyOccupantAdd--lotOccupantTypeId"
) as HTMLInputElement
).focus();
addFormElement = modalElement.querySelector(
"#form--lotOccupancyOccupantAdd"
) as HTMLFormElement;
addFormElement.addEventListener("submit", addOccupantFromForm);
searchResultsElement = modalElement.querySelector(
"#lotOccupancyOccupantCopy--searchResults"
) as HTMLElement;
searchFormElement = modalElement.querySelector(
"#form--lotOccupancyOccupantCopy"
) as HTMLFormElement;
searchFormElement.addEventListener("submit", (formEvent) => {
formEvent.preventDefault();
});
(
modalElement.querySelector(
"#lotOccupancyOccupantCopy--searchFilter"
) as HTMLInputElement
).addEventListener("change", searchOccupants);
addCloseModalFunction = closeModalFunction;
},
onremoved: () => {
bulmaJS.toggleHtmlClipped();
}
});
});
renderLotOccupancyOccupants();
}

View File

@ -159,10 +159,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
"</div>";
searchResultsContainerElement.querySelector("table").append(resultsTbodyElement);
if (responseJSON.offset > 0) {
searchResultsContainerElement.querySelector("button[data-page='previous']").addEventListener("click", previousAndGetLotOccupancies);
searchResultsContainerElement
.querySelector("button[data-page='previous']")
.addEventListener("click", previousAndGetLotOccupancies);
}
if (limit + responseJSON.offset < responseJSON.count) {
searchResultsContainerElement.querySelector("button[data-page='next']").addEventListener("click", nextAndGetLotOccupancies);
searchResultsContainerElement
.querySelector("button[data-page='next']")
.addEventListener("click", nextAndGetLotOccupancies);
}
}
function getLotOccupancies() {

View File

@ -194,19 +194,15 @@ declare const cityssm: cityssmGlobal;
searchResultsContainerElement.querySelector("table")!.append(resultsTbodyElement);
if (responseJSON.offset > 0) {
(
searchResultsContainerElement.querySelector(
"button[data-page='previous']"
) as HTMLButtonElement
).addEventListener("click", previousAndGetLotOccupancies);
searchResultsContainerElement
.querySelector("button[data-page='previous']")!
.addEventListener("click", previousAndGetLotOccupancies);
}
if (limit + responseJSON.offset < responseJSON.count) {
(
searchResultsContainerElement.querySelector(
"button[data-page='next']"
) as HTMLButtonElement
).addEventListener("click", nextAndGetLotOccupancies);
searchResultsContainerElement
.querySelector("button[data-page='next']")!
.addEventListener("click", nextAndGetLotOccupancies);
}
}

View File

@ -92,10 +92,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
"</div>";
searchResultsContainerElement.querySelector("table").append(resultsTbodyElement);
if (responseJSON.offset > 0) {
searchResultsContainerElement.querySelector("button[data-page='previous']").addEventListener("click", previousAndGetLots);
searchResultsContainerElement
.querySelector("button[data-page='previous']")
.addEventListener("click", previousAndGetLots);
}
if (limit + responseJSON.offset < responseJSON.count) {
searchResultsContainerElement.querySelector("button[data-page='next']").addEventListener("click", nextAndGetLots);
searchResultsContainerElement
.querySelector("button[data-page='next']")
.addEventListener("click", nextAndGetLots);
}
}
function getLots() {

View File

@ -13,6 +13,7 @@ declare const cityssm: cityssmGlobal;
const searchFilterFormElement = document.querySelector(
"#form--searchFilters"
) as HTMLFormElement;
const searchResultsContainerElement = document.querySelector(
"#container--searchResults"
) as HTMLElement;
@ -121,19 +122,15 @@ declare const cityssm: cityssmGlobal;
searchResultsContainerElement.querySelector("table")!.append(resultsTbodyElement);
if (responseJSON.offset > 0) {
(
searchResultsContainerElement.querySelector(
"button[data-page='previous']"
) as HTMLButtonElement
).addEventListener("click", previousAndGetLots);
searchResultsContainerElement
.querySelector("button[data-page='previous']")!
.addEventListener("click", previousAndGetLots);
}
if (limit + responseJSON.offset < responseJSON.count) {
(
searchResultsContainerElement.querySelector(
"button[data-page='next']"
) as HTMLButtonElement
).addEventListener("click", nextAndGetLots);
searchResultsContainerElement
.querySelector("button[data-page='next']")!
.addEventListener("click", nextAndGetLots);
}
}

View File

@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
const mapId = document.querySelector("#map--mapId").value;
const isCreate = mapId === "";
const mapForm = document.querySelector("#form--map");
const updateMap = (formEvent) => {
function updateMap(formEvent) {
formEvent.preventDefault();
cityssm.postJSON(los.urlPrefix + "/maps/" + (isCreate ? "doCreateMap" : "doUpdateMap"), mapForm, (responseJSON) => {
if (responseJSON.success) {
@ -30,7 +30,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
});
}
});
};
}
mapForm.addEventListener("submit", updateMap);
const inputElements = mapForm.querySelectorAll("input, select");
for (const inputElement of inputElements) {
@ -39,7 +39,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
if (!isCreate) {
document.querySelector("#button--deleteMap").addEventListener("click", (clickEvent) => {
clickEvent.preventDefault();
const doDelete = () => {
function doDelete() {
cityssm.postJSON(los.urlPrefix + "/maps/doDeleteMap", {
mapId
}, (responseJSON) => {
@ -54,17 +54,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
});
}
});
};
}
bulmaJS.confirm({
title: "Delete " + exports.aliases.map,
message: "Are you sure you want to delete this " +
exports.aliases.map.toLowerCase() +
" and all related " +
exports.aliases.lots.toLowerCase() +
"?",
message: `Are you sure you want to delete this ${exports.aliases.map.toLowerCase()} and all related ${exports.aliases.lots.toLowerCase()}?`,
contextualColorName: "warning",
okButton: {
text: "Yes, Delete " + exports.aliases.map + "?",
text: `Yes, Delete ${exports.aliases.map}`,
callbackFunction: doDelete
}
});

View File

@ -16,7 +16,7 @@ declare const bulmaJS: BulmaJS;
const mapForm = document.querySelector("#form--map") as HTMLFormElement;
const updateMap = (formEvent: SubmitEvent) => {
function updateMap(formEvent: SubmitEvent) {
formEvent.preventDefault();
cityssm.postJSON(
@ -44,7 +44,7 @@ declare const bulmaJS: BulmaJS;
}
}
);
};
}
mapForm.addEventListener("submit", updateMap);
@ -57,46 +57,39 @@ declare const bulmaJS: BulmaJS;
}
if (!isCreate) {
(document.querySelector("#button--deleteMap") as HTMLButtonElement).addEventListener(
"click",
(clickEvent) => {
clickEvent.preventDefault();
document.querySelector("#button--deleteMap")!.addEventListener("click", (clickEvent) => {
clickEvent.preventDefault();
const doDelete = () => {
cityssm.postJSON(
los.urlPrefix + "/maps/doDeleteMap",
{
mapId
},
(responseJSON: { success: boolean; errorMessage?: string }) => {
if (responseJSON.success) {
window.location.href = los.urlPrefix + "/maps?t=" + Date.now();
} else {
bulmaJS.alert({
title: "Error Deleting " + exports.aliases.map,
message: responseJSON.errorMessage || "",
contextualColorName: "danger"
});
}
function doDelete() {
cityssm.postJSON(
los.urlPrefix + "/maps/doDeleteMap",
{
mapId
},
(responseJSON: { success: boolean; errorMessage?: string; }) => {
if (responseJSON.success) {
window.location.href = los.urlPrefix + "/maps?t=" + Date.now();
} else {
bulmaJS.alert({
title: "Error Deleting " + exports.aliases.map,
message: responseJSON.errorMessage || "",
contextualColorName: "danger"
});
}
);
};
bulmaJS.confirm({
title: "Delete " + exports.aliases.map,
message:
"Are you sure you want to delete this " +
exports.aliases.map.toLowerCase() +
" and all related " +
exports.aliases.lots.toLowerCase() +
"?",
contextualColorName: "warning",
okButton: {
text: "Yes, Delete " + exports.aliases.map + "?",
callbackFunction: doDelete
}
});
);
}
);
bulmaJS.confirm({
title: "Delete " + exports.aliases.map,
message:
`Are you sure you want to delete this ${exports.aliases.map.toLowerCase()} and all related ${exports.aliases.lots.toLowerCase()}?`,
contextualColorName: "warning",
okButton: {
text: `Yes, Delete ${exports.aliases.map}`,
callbackFunction: doDelete
}
});
});
}
})();

View File

@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
const maps = exports.maps;
const searchFilterElement = document.querySelector("#searchFilter--map");
const searchResultsContainerElement = document.querySelector("#container--searchResults");
const renderResults = () => {
function renderResults() {
searchResultsContainerElement.innerHTML = los.getLoadingParagraphHTML(`Loading ${exports.aliases.maps}...`);
let searchResultCount = 0;
const searchResultsTbodyElement = document.createElement("tbody");
@ -86,19 +86,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
const searchResultsTableElement = document.createElement("table");
searchResultsTableElement.className =
"table is-fullwidth is-striped is-hoverable has-sticky-header";
searchResultsTableElement.innerHTML =
"<thead><tr>" +
("<th>" + exports.aliases.map + "</th>") +
"<th>Address</th>" +
"<th>Phone Number</th>" +
'<th class="has-text-centered">Coordinates</th>' +
'<th class="has-text-centered">Image</th>' +
('<th class="has-text-right">' + exports.aliases.lot + " Count</th>") +
"</tr></thead>";
searchResultsTableElement.innerHTML = `<thead><tr>
<th>${los.escapedAliases.Map}</th>
<th>Address</th>
<th>Phone Number</th>
<th class="has-text-centered">Coordinates</th>
<th class="has-text-centered">Image</th>
<th class="has-text-right">${los.escapedAliases.Lot} Count</th>
</tr></thead>`;
searchResultsTableElement.append(searchResultsTbodyElement);
searchResultsContainerElement.append(searchResultsTableElement);
}
};
}
searchFilterElement.addEventListener("keyup", renderResults);
document.querySelector("#form--searchFilters").addEventListener("submit", (formEvent) => {
formEvent.preventDefault();

View File

@ -18,7 +18,7 @@ declare const cityssm: cityssmGlobal;
"#container--searchResults"
) as HTMLElement;
const renderResults = () => {
function renderResults(): void {
searchResultsContainerElement.innerHTML = los.getLoadingParagraphHTML(
`Loading ${exports.aliases.maps}...`
);
@ -116,31 +116,27 @@ declare const cityssm: cityssmGlobal;
searchResultsTableElement.className =
"table is-fullwidth is-striped is-hoverable has-sticky-header";
searchResultsTableElement.innerHTML =
"<thead><tr>" +
("<th>" + exports.aliases.map + "</th>") +
"<th>Address</th>" +
"<th>Phone Number</th>" +
'<th class="has-text-centered">Coordinates</th>' +
'<th class="has-text-centered">Image</th>' +
('<th class="has-text-right">' + exports.aliases.lot + " Count</th>") +
"</tr></thead>";
searchResultsTableElement.innerHTML = `<thead><tr>
<th>${los.escapedAliases.Map}</th>
<th>Address</th>
<th>Phone Number</th>
<th class="has-text-centered">Coordinates</th>
<th class="has-text-centered">Image</th>
<th class="has-text-right">${los.escapedAliases.Lot} Count</th>
</tr></thead>`;
searchResultsTableElement.append(searchResultsTbodyElement);
searchResultsContainerElement.append(searchResultsTableElement);
}
};
}
searchFilterElement.addEventListener("keyup", renderResults);
(document.querySelector("#form--searchFilters") as HTMLFormElement).addEventListener(
"submit",
(formEvent) => {
formEvent.preventDefault();
renderResults();
}
);
document.querySelector("#form--searchFilters")!.addEventListener("submit", (formEvent) => {
formEvent.preventDefault();
renderResults();
});
renderResults();
})();

View File

@ -2,7 +2,7 @@
(() => {
const menuTabElements = document.querySelectorAll(".menu a");
const tabContainerElements = document.querySelectorAll(".tabs-container > div");
const selectTab = (clickEvent) => {
function selectTab(clickEvent) {
clickEvent.preventDefault();
// Remove .is-active from all tabs
for (const menuTabElement of menuTabElements) {
@ -21,7 +21,7 @@
tabContainerElement.classList.add("is-hidden");
}
}
};
}
for (const menuTabElement of menuTabElements) {
menuTabElement.addEventListener("click", selectTab);
}

View File

@ -6,22 +6,19 @@
".tabs-container > div"
) as NodeListOf<HTMLElement>;
const selectTab = (clickEvent: Event) => {
function selectTab(clickEvent: Event) {
clickEvent.preventDefault();
// Remove .is-active from all tabs
for (const menuTabElement of menuTabElements) {
menuTabElement.classList.remove("is-active");
}
// Set .is-active on clicked tab
const selectedTabElement = clickEvent.currentTarget as HTMLAnchorElement;
selectedTabElement.classList.add("is-active");
// Hide all but selected tab
const selectedTabContainerId = selectedTabElement.href.slice(
Math.max(0, selectedTabElement.href.indexOf("#") + 1)
);
@ -33,7 +30,7 @@
tabContainerElement.classList.add("is-hidden");
}
}
};
}
for (const menuTabElement of menuTabElements) {
menuTabElement.addEventListener("click", selectTab);

View File

@ -1069,13 +1069,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
"</div>") +
"</div>";
if (milestone.workOrderMilestoneCompletionDate) {
panelBlockElement.querySelector(".button--reopenMilestone").addEventListener("click", reopenMilestone);
panelBlockElement
.querySelector(".button--reopenMilestone")
.addEventListener("click", reopenMilestone);
}
else {
panelBlockElement.querySelector(".button--editMilestone").addEventListener("click", editMilestone);
panelBlockElement.querySelector(".button--completeMilestone").addEventListener("click", completeMilestone);
panelBlockElement
.querySelector(".button--editMilestone")
.addEventListener("click", editMilestone);
panelBlockElement
.querySelector(".button--completeMilestone")
.addEventListener("click", completeMilestone);
}
panelBlockElement.querySelector(".button--deleteMilestone").addEventListener("click", deleteMilestone);
panelBlockElement
.querySelector(".button--deleteMilestone")
.addEventListener("click", deleteMilestone);
milestonesPanelElement.append(panelBlockElement);
}
bulmaJS.init(milestonesPanelElement);

View File

@ -348,13 +348,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
"</div>") +
"</div>";
if (milestone.workOrderMilestoneCompletionDate) {
panelBlockElement.querySelector(".button--reopenMilestone").addEventListener("click", reopenMilestone);
panelBlockElement
.querySelector(".button--reopenMilestone")
.addEventListener("click", reopenMilestone);
}
else {
panelBlockElement.querySelector(".button--editMilestone").addEventListener("click", editMilestone);
panelBlockElement.querySelector(".button--completeMilestone").addEventListener("click", completeMilestone);
panelBlockElement
.querySelector(".button--editMilestone")
.addEventListener("click", editMilestone);
panelBlockElement
.querySelector(".button--completeMilestone")
.addEventListener("click", completeMilestone);
}
panelBlockElement.querySelector(".button--deleteMilestone").addEventListener("click", deleteMilestone);
panelBlockElement
.querySelector(".button--deleteMilestone")
.addEventListener("click", deleteMilestone);
milestonesPanelElement.append(panelBlockElement);
}
bulmaJS.init(milestonesPanelElement);

View File

@ -506,24 +506,22 @@ declare const bulmaJS: BulmaJS;
"</div>";
if (milestone.workOrderMilestoneCompletionDate) {
(
panelBlockElement.querySelector(".button--reopenMilestone") as HTMLButtonElement
).addEventListener("click", reopenMilestone);
panelBlockElement
.querySelector(".button--reopenMilestone")!
.addEventListener("click", reopenMilestone);
} else {
(
panelBlockElement.querySelector(".button--editMilestone") as HTMLButtonElement
).addEventListener("click", editMilestone);
panelBlockElement
.querySelector(".button--editMilestone")!
.addEventListener("click", editMilestone);
(
panelBlockElement.querySelector(
".button--completeMilestone"
) as HTMLButtonElement
).addEventListener("click", completeMilestone);
panelBlockElement
.querySelector(".button--completeMilestone")!
.addEventListener("click", completeMilestone);
}
(
panelBlockElement.querySelector(".button--deleteMilestone") as HTMLButtonElement
).addEventListener("click", deleteMilestone);
panelBlockElement
.querySelector(".button--deleteMilestone")!
.addEventListener("click", deleteMilestone);
milestonesPanelElement.append(panelBlockElement);
}

View File

@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
const workOrderMilestoneDateFilterElement = workOrderSearchFiltersFormElement.querySelector("#searchFilter--workOrderMilestoneDateFilter");
const workOrderMilestoneDateStringElement = workOrderSearchFiltersFormElement.querySelector("#searchFilter--workOrderMilestoneDateString");
const milestoneCalendarContainerElement = document.querySelector("#container--milestoneCalendar");
const renderMilestones = (workOrderMilestones) => {
function renderMilestones(workOrderMilestones) {
if (workOrderMilestones.length === 0) {
milestoneCalendarContainerElement.innerHTML =
'<div class="message is-info">' +
@ -105,8 +105,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
currentPanelElement.append(panelBlockElement);
}
milestoneCalendarContainerElement.append(currentPanelElement);
};
const getMilestones = (event) => {
}
function getMilestones(event) {
if (event) {
event.preventDefault();
}
@ -115,7 +115,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
cityssm.postJSON(los.urlPrefix + "/workOrders/doGetWorkOrderMilestones", workOrderSearchFiltersFormElement, (responseJSON) => {
renderMilestones(responseJSON.workOrderMilestones);
});
};
}
workOrderMilestoneDateFilterElement.addEventListener("change", () => {
workOrderMilestoneDateStringElement.closest("fieldset").disabled =
workOrderMilestoneDateFilterElement.value !== "date";

View File

@ -25,7 +25,7 @@ declare const cityssm: cityssmGlobal;
"#container--milestoneCalendar"
) as HTMLElement;
const renderMilestones = (workOrderMilestones: recordTypes.WorkOrderMilestone[]) => {
function renderMilestones(workOrderMilestones: recordTypes.WorkOrderMilestone[]) {
if (workOrderMilestones.length === 0) {
milestoneCalendarContainerElement.innerHTML =
'<div class="message is-info">' +
@ -141,9 +141,9 @@ declare const cityssm: cityssmGlobal;
}
milestoneCalendarContainerElement.append(currentPanelElement!);
};
}
const getMilestones = (event?: Event) => {
function getMilestones(event?: Event) {
if (event) {
event.preventDefault();
}
@ -158,7 +158,7 @@ declare const cityssm: cityssmGlobal;
renderMilestones(responseJSON.workOrderMilestones);
}
);
};
}
workOrderMilestoneDateFilterElement.addEventListener("change", () => {
workOrderMilestoneDateStringElement.closest("fieldset")!.disabled =

View File

@ -154,10 +154,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
"</div>";
searchResultsContainerElement.querySelector("table").append(resultsTbodyElement);
if (responseJSON.offset > 0) {
searchResultsContainerElement.querySelector("button[data-page='previous']").addEventListener("click", previousAndGetWorkOrders);
searchResultsContainerElement
.querySelector("button[data-page='previous']")
.addEventListener("click", previousAndGetWorkOrders);
}
if (limit + responseJSON.offset < responseJSON.count) {
searchResultsContainerElement.querySelector("button[data-page='next']").addEventListener("click", nextAndGetWorkOrders);
searchResultsContainerElement
.querySelector("button[data-page='next']")
.addEventListener("click", nextAndGetWorkOrders);
}
}
function getWorkOrders() {

View File

@ -189,19 +189,15 @@ declare const cityssm: cityssmGlobal;
searchResultsContainerElement.querySelector("table")!.append(resultsTbodyElement);
if (responseJSON.offset > 0) {
(
searchResultsContainerElement.querySelector(
"button[data-page='previous']"
) as HTMLButtonElement
).addEventListener("click", previousAndGetWorkOrders);
searchResultsContainerElement
.querySelector("button[data-page='previous']")!
.addEventListener("click", previousAndGetWorkOrders);
}
if (limit + responseJSON.offset < responseJSON.count) {
(
searchResultsContainerElement.querySelector(
"button[data-page='next']"
) as HTMLButtonElement
).addEventListener("click", nextAndGetWorkOrders);
searchResultsContainerElement
.querySelector("button[data-page='next']")!
.addEventListener("click", nextAndGetWorkOrders);
}
}

View File

@ -5,15 +5,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
const los = exports.los;
const reopenWorkOrderButtonElement = document.querySelector("#button--reopenWorkOrder");
if (reopenWorkOrderButtonElement) {
const workOrderId = reopenWorkOrderButtonElement.dataset.workOrderId;
reopenWorkOrderButtonElement.addEventListener("click", () => {
const workOrderId = reopenWorkOrderButtonElement.dataset.workOrderId;
const doReopen = () => {
function doReopen() {
cityssm.postJSON(los.urlPrefix + "/workOrders/doReopenWorkOrder", {
workOrderId
}, (responseJSON) => {
if (responseJSON.success) {
window.location.href =
los.urlPrefix + "/workOrders/" + workOrderId + "/edit/?t=" + Date.now();
los.urlPrefix +
"/workOrders/" +
workOrderId +
"/edit/?t=" +
Date.now();
}
else {
bulmaJS.alert({
@ -23,7 +27,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
});
}
});
};
}
bulmaJS.confirm({
title: "Reopen Work Order",
message: "Are you sure you want to remove the close date from this work order and reopen it?",

View File

@ -17,10 +17,10 @@ declare const bulmaJS: BulmaJS;
) as HTMLButtonElement;
if (reopenWorkOrderButtonElement) {
reopenWorkOrderButtonElement.addEventListener("click", () => {
const workOrderId = reopenWorkOrderButtonElement.dataset.workOrderId;
const workOrderId = reopenWorkOrderButtonElement.dataset.workOrderId;
const doReopen = () => {
reopenWorkOrderButtonElement.addEventListener("click", () => {
function doReopen() {
cityssm.postJSON(
los.urlPrefix + "/workOrders/doReopenWorkOrder",
{
@ -29,7 +29,11 @@ declare const bulmaJS: BulmaJS;
(responseJSON: { success: boolean; errorMessage?: string }) => {
if (responseJSON.success) {
window.location.href =
los.urlPrefix + "/workOrders/" + workOrderId + "/edit/?t=" + Date.now();
los.urlPrefix +
"/workOrders/" +
workOrderId +
"/edit/?t=" +
Date.now();
} else {
bulmaJS.alert({
title: "Error Reopening Work Order",
@ -39,7 +43,7 @@ declare const bulmaJS: BulmaJS;
}
}
);
};
}
bulmaJS.confirm({
title: "Reopen Work Order",

View File

@ -1 +1 @@
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=exports.los,t=document.querySelector("#map--mapId").value,a=""===t,s=document.querySelector("#form--map");s.addEventListener("submit",t=>{t.preventDefault(),cityssm.postJSON(e.urlPrefix+"/maps/"+(a?"doCreateMap":"doUpdateMap"),s,t=>{t.success?(cityssm.disableNavBlocker(),a?window.location.href=e.urlPrefix+"/maps/"+t.mapId+"/edit":bulmaJS.alert({message:exports.aliases.map+" Updated Successfully",contextualColorName:"success"})):bulmaJS.alert({title:"Error Updating "+exports.aliases.map,message:t.errorMessage||"",contextualColorName:"danger"})})});const o=s.querySelectorAll("input, select");for(const e of o)e.addEventListener("change",cityssm.enableNavBlocker);a||document.querySelector("#button--deleteMap").addEventListener("click",a=>{a.preventDefault();bulmaJS.confirm({title:"Delete "+exports.aliases.map,message:"Are you sure you want to delete this "+exports.aliases.map.toLowerCase()+" and all related "+exports.aliases.lots.toLowerCase()+"?",contextualColorName:"warning",okButton:{text:"Yes, Delete "+exports.aliases.map+"?",callbackFunction:()=>{cityssm.postJSON(e.urlPrefix+"/maps/doDeleteMap",{mapId:t},t=>{t.success?window.location.href=e.urlPrefix+"/maps?t="+Date.now():bulmaJS.alert({title:"Error Deleting "+exports.aliases.map,message:t.errorMessage||"",contextualColorName:"danger"})})}}})})})();
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=exports.los,t=document.querySelector("#map--mapId").value,a=""===t,s=document.querySelector("#form--map");s.addEventListener("submit",function(t){t.preventDefault(),cityssm.postJSON(e.urlPrefix+"/maps/"+(a?"doCreateMap":"doUpdateMap"),s,t=>{t.success?(cityssm.disableNavBlocker(),a?window.location.href=e.urlPrefix+"/maps/"+t.mapId+"/edit":bulmaJS.alert({message:exports.aliases.map+" Updated Successfully",contextualColorName:"success"})):bulmaJS.alert({title:"Error Updating "+exports.aliases.map,message:t.errorMessage||"",contextualColorName:"danger"})})});const o=s.querySelectorAll("input, select");for(const e of o)e.addEventListener("change",cityssm.enableNavBlocker);a||document.querySelector("#button--deleteMap").addEventListener("click",a=>{a.preventDefault(),bulmaJS.confirm({title:"Delete "+exports.aliases.map,message:`Are you sure you want to delete this ${exports.aliases.map.toLowerCase()} and all related ${exports.aliases.lots.toLowerCase()}?`,contextualColorName:"warning",okButton:{text:`Yes, Delete ${exports.aliases.map}`,callbackFunction:function(){cityssm.postJSON(e.urlPrefix+"/maps/doDeleteMap",{mapId:t},t=>{t.success?window.location.href=e.urlPrefix+"/maps?t="+Date.now():bulmaJS.alert({title:"Error Deleting "+exports.aliases.map,message:t.errorMessage||"",contextualColorName:"danger"})})}}})})})();

View File

@ -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"),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 e=document.createElement("table");e.className="table is-fullwidth is-striped is-hoverable has-sticky-header",e.innerHTML="<thead><tr><th>"+exports.aliases.map+'</th><th>Address</th><th>Phone Number</th><th class="has-text-centered">Coordinates</th><th class="has-text-centered">Image</th><th class="has-text-right">'+exports.aliases.lot+" Count</th></tr></thead>",e.append(i),t.append(e)}};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()})();

View File

@ -1 +1 @@
(()=>{const e=document.querySelectorAll(".menu a"),s=document.querySelectorAll(".tabs-container > div"),t=t=>{t.preventDefault();for(const s of e)s.classList.remove("is-active");const c=t.currentTarget;c.classList.add("is-active");const i=c.href.slice(Math.max(0,c.href.indexOf("#")+1));for(const e of s)e.id===i?e.classList.remove("is-hidden"):e.classList.add("is-hidden")};for(const s of e)s.addEventListener("click",t)})();
(()=>{const e=document.querySelectorAll(".menu a"),t=document.querySelectorAll(".tabs-container > div");function s(s){s.preventDefault();for(const t of e)t.classList.remove("is-active");const c=s.currentTarget;c.classList.add("is-active");const i=c.href.slice(Math.max(0,c.href.indexOf("#")+1));for(const e of t)e.id===i?e.classList.remove("is-hidden"):e.classList.add("is-hidden")}for(const t of e)t.addEventListener("click",s)})();

View File

@ -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"),i=r=>{r&&r.preventDefault(),t.innerHTML=e.getLoadingParagraphHTML("Loading Milestones..."),cityssm.postJSON(e.urlPrefix+"/workOrders/doGetWorkOrderMilestones",s,s=>{(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"><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()})();

View File

@ -1 +1 @@
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=exports.los,r=document.querySelector("#button--reopenWorkOrder");r&&r.addEventListener("click",()=>{const o=r.dataset.workOrderId;bulmaJS.confirm({title:"Reopen Work Order",message:"Are you sure you want to remove the close date from this work order and reopen it?",contextualColorName:"warning",okButton:{text:"Yes, Reopen Work Order",callbackFunction:()=>{cityssm.postJSON(e.urlPrefix+"/workOrders/doReopenWorkOrder",{workOrderId:o},r=>{r.success?window.location.href=e.urlPrefix+"/workOrders/"+o+"/edit/?t="+Date.now():bulmaJS.alert({title:"Error Reopening Work Order",message:r.errorMessage||"",contextualColorName:"danger"})})}}})})})();
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=exports.los,r=document.querySelector("#button--reopenWorkOrder");if(r){const o=r.dataset.workOrderId;r.addEventListener("click",()=>{bulmaJS.confirm({title:"Reopen Work Order",message:"Are you sure you want to remove the close date from this work order and reopen it?",contextualColorName:"warning",okButton:{text:"Yes, Reopen Work Order",callbackFunction:function(){cityssm.postJSON(e.urlPrefix+"/workOrders/doReopenWorkOrder",{workOrderId:o},r=>{r.success?window.location.href=e.urlPrefix+"/workOrders/"+o+"/edit/?t="+Date.now():bulmaJS.alert({title:"Error Reopening Work Order",message:r.errorMessage||"",contextualColorName:"danger"})})}}})})}})();