"use strict"; /* eslint-disable @typescript-eslint/no-non-null-assertion, unicorn/prefer-module */ Object.defineProperty(exports, "__esModule", { value: true }); (() => { const los = exports.los; const workOrderPrints = exports.workOrderPrints; const searchFilterFormElement = document.querySelector("#form--searchFilters"); los.initializeDatePickers(searchFilterFormElement); const searchResultsContainerElement = document.querySelector("#container--searchResults"); const limit = Number.parseInt(document.querySelector("#searchFilter--limit").value, 10); const offsetElement = document.querySelector("#searchFilter--offset"); function renderWorkOrders(responseJSON) { if (responseJSON.workOrders.length === 0) { searchResultsContainerElement.innerHTML = '
' + '

There are no work orders that meet the search criteria.

' + "
"; return; } const resultsTbodyElement = document.createElement("tbody"); for (const workOrder of responseJSON.workOrders) { let relatedHTML = ""; for (const lot of workOrder.workOrderLots) { relatedHTML += '' + ' ' + cityssm.escapeHTML(lot.lotName || "(No Lot Name)") + "
"; } for (const occupancy of workOrder.workOrderLotOccupancies) { for (const occupant of occupancy.lotOccupancyOccupants) { relatedHTML += '' + ' ' + cityssm.escapeHTML(occupant.occupantName || "(No Name)") + "
"; } } resultsTbodyElement.insertAdjacentHTML("beforeend", "" + ("" + '' + (workOrder.workOrderNumber.trim() ? cityssm.escapeHTML(workOrder.workOrderNumber || "") : "(No Number)") + "" + "") + ("" + cityssm.escapeHTML(workOrder.workOrderType || "") + "
" + '' + cityssm.escapeHTML(workOrder.workOrderDescription || "") + "" + "") + ('' + relatedHTML + "") + ('' + ('' + ' ' + workOrder.workOrderOpenDateString + "
") + ('' + ' ' + (workOrder.workOrderCloseDate ? workOrder.workOrderCloseDateString : '(No ' + cityssm.escapeHTML(exports.aliases.workOrderCloseDate) + ")") + "") + "") + ("" + (workOrder.workOrderMilestoneCount === 0 ? "-" : workOrder.workOrderMilestoneCompletionCount + " / " + workOrder.workOrderMilestoneCount) + "") + (workOrderPrints.length > 0 ? "" + '' + '' + "" + "" : "") + ""); } searchResultsContainerElement.innerHTML = '' + "" + "" + "" + "" + "" + '' + (workOrderPrints.length > 0 ? '' : "") + "" + "
Work Order NumberDescriptionRelatedDateProgress
" + '
' + ('
' + '
' + "Displaying " + (responseJSON.offset + 1).toString() + " to " + Math.min(responseJSON.count, limit + responseJSON.offset) + " of " + responseJSON.count + "
" + "
") + ('
' + (responseJSON.offset > 0 ? '
' + '" + "
" : "") + (limit + responseJSON.offset < responseJSON.count ? '
' + '" + "
" : "") + "
") + "
"; searchResultsContainerElement.querySelector("table").append(resultsTbodyElement); if (responseJSON.offset > 0) { searchResultsContainerElement.querySelector("button[data-page='previous']").addEventListener("click", previousAndGetWorkOrders); } if (limit + responseJSON.offset < responseJSON.count) { searchResultsContainerElement.querySelector("button[data-page='next']").addEventListener("click", nextAndGetWorkOrders); } } function getWorkOrders() { searchResultsContainerElement.innerHTML = '
' + '
' + "Loading Work Orders..." + "
"; cityssm.postJSON(los.urlPrefix + "/workOrders/doSearchWorkOrders", searchFilterFormElement, renderWorkOrders); } function resetOffsetAndGetWorkOrders() { offsetElement.value = "0"; getWorkOrders(); } function previousAndGetWorkOrders() { offsetElement.value = Math.max(Number.parseInt(offsetElement.value, 10) - limit, 0).toString(); getWorkOrders(); } function nextAndGetWorkOrders() { offsetElement.value = (Number.parseInt(offsetElement.value, 10) + limit).toString(); getWorkOrders(); } const filterElements = searchFilterFormElement.querySelectorAll("input, select"); for (const filterElement of filterElements) { filterElement.addEventListener("change", resetOffsetAndGetWorkOrders); } searchFilterFormElement.addEventListener("submit", (formEvent) => { formEvent.preventDefault(); resetOffsetAndGetWorkOrders(); }); /* const workOrderOpenDateStringElement = document.querySelector("#searchFilter--workOrderOpenDateString") as HTMLInputElement; document.querySelector("#button--workOrderOpenDateString-previous").addEventListener("click", () => { if (workOrderOpenDateStringElement.value === "") { workOrderOpenDateStringElement.valueAsDate = new Date(); } else { const openDate = workOrderOpenDateStringElement.valueAsDate; openDate.setDate(openDate.getDate() - 1); workOrderOpenDateStringElement.valueAsDate = openDate; } resetOffsetAndGetWorkOrders(); }); document.querySelector("#button--workOrderOpenDateString-next").addEventListener("click", () => { if (workOrderOpenDateStringElement.value === "") { workOrderOpenDateStringElement.valueAsDate = new Date(); } else { const openDate = workOrderOpenDateStringElement.valueAsDate; openDate.setDate(openDate.getDate() + 1); workOrderOpenDateStringElement.valueAsDate = openDate; } resetOffsetAndGetWorkOrders(); }); */ getWorkOrders(); })();