"use strict"; // eslint-disable-next-line @eslint-community/eslint-comments/disable-enable-pair /* eslint-disable 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(rawResponseJSON) { const responseJSON = rawResponseJSON; 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 ${los.escapedAliases.Lot} Name)` : lot.lotName ?? '')}
  • `; } for (const occupancy of workOrder.workOrderLotOccupancies ?? []) { for (const occupant of occupancy.lotOccupancyOccupants ?? []) { relatedHTML += `
  • ${cityssm.escapeHTML((occupant.occupantName ?? '') === '' && (occupant.occupantFamilyName ?? '') === '' ? '(No Name)' : `${occupant.occupantName} ${occupant.occupantFamilyName}`)}
  • `; } } // eslint-disable-next-line no-unsanitized/method resultsTbodyElement.insertAdjacentHTML('beforeend', ` ${workOrder.workOrderNumber?.trim() === '' ? '(No Number)' : cityssm.escapeHTML(workOrder.workOrderNumber ?? '')} ${cityssm.escapeHTML(workOrder.workOrderType ?? '')}
    ${cityssm.escapeHTML(workOrder.workOrderDescription ?? '')} ${relatedHTML === '' ? '' : ``} ${workOrder.workOrderMilestoneCount === 0 ? '-' : `${(workOrder.workOrderMilestoneCompletionCount ?? '').toString()} / ${(workOrder.workOrderMilestoneCount ?? '').toString()}`} ${workOrderPrints.length > 0 ? ` ` : ''}`); } // eslint-disable-next-line no-unsanitized/property searchResultsContainerElement.innerHTML = ` ${workOrderPrints.length > 0 ? '' : ''}
    Work Order Number Description Related Date Progress
    `; // eslint-disable-next-line no-unsanitized/method searchResultsContainerElement.insertAdjacentHTML('beforeend', los.getSearchResultsPagerHTML(limit, responseJSON.offset, responseJSON.count)); searchResultsContainerElement .querySelector('table') ?.append(resultsTbodyElement); searchResultsContainerElement .querySelector("button[data-page='previous']") ?.addEventListener('click', previousAndGetWorkOrders); searchResultsContainerElement .querySelector("button[data-page='next']") ?.addEventListener('click', nextAndGetWorkOrders); } function getWorkOrders() { // eslint-disable-next-line no-unsanitized/property searchResultsContainerElement.innerHTML = los.getLoadingParagraphHTML('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(); }); // eslint-disable-next-line no-secrets/no-secrets /* 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(); })();