"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); (() => { const los = exports.los; const urlPrefix = document.querySelector("main").dataset.urlPrefix; const workOrderSearchFiltersFormElement = document.querySelector("#form--searchFilters"); const workOrderMilestoneDateFilterElement = workOrderSearchFiltersFormElement.querySelector("#searchFilter--workOrderMilestoneDateFilter"); const workOrderMilestoneDateStringElement = workOrderSearchFiltersFormElement.querySelector("#searchFilter--workOrderMilestoneDateString"); const milestoneCalendarContainerElement = document.querySelector("#container--milestoneCalendar"); const renderMilestones = (workOrderMilestones) => { if (workOrderMilestones.length === 0) { milestoneCalendarContainerElement.innerHTML = '
' + '

There are no milestones that meet the search criteria.

' + "
"; return; } milestoneCalendarContainerElement.innerHTML = ""; const currentDate = cityssm.dateToString(new Date()); let currentPanelElement; let currentPanelDateString = ""; for (const milestone of workOrderMilestones) { if (currentPanelDateString !== milestone.workOrderMilestoneDateString) { if (currentPanelElement) { milestoneCalendarContainerElement.append(currentPanelElement); } currentPanelElement = document.createElement("div"); currentPanelElement.className = "panel"; currentPanelElement.innerHTML = '

' + milestone.workOrderMilestoneDateString + "

"; currentPanelDateString = milestone.workOrderMilestoneDateString; } const panelBlockElement = document.createElement("div"); panelBlockElement.className = "panel-block is-block"; if (!milestone.workOrderMilestoneCompletionDate && milestone.workOrderMilestoneDateString < currentDate) { panelBlockElement.classList.add("has-background-warning-light"); } let lotOccupancyHTML = ""; for (const lot of milestone.workOrderLots) { lotOccupancyHTML += ' ' + cityssm.escapeHTML(lot.lotName) + "
"; } for (const lotOccupancy of milestone.workOrderLotOccupancies) { for (const occupant of lotOccupancy.lotOccupancyOccupants) { lotOccupancyHTML += '' + ' ' + cityssm.escapeHTML(occupant.occupantName) + "" + "
"; } } panelBlockElement.innerHTML = '
' + ('
' + '' + (milestone.workOrderMilestoneCompletionDate ? '' : '') + "" + "
") + ('
' + (milestone.workOrderMilestoneTime === 0 ? "" : milestone.workOrderMilestoneTimeString + "
") + (milestone.workOrderMilestoneTypeId ? "" + cityssm.escapeHTML(milestone.workOrderMilestoneType) + "
" : "") + '' + cityssm.escapeHTML(milestone.workOrderMilestoneDescription) + "" + "
") + ('
' + '' + ' ' + cityssm.escapeHTML(milestone.workOrderNumber) + "
" + '' + cityssm.escapeHTML(milestone.workOrderDescription) + "" + "
") + ('
' + lotOccupancyHTML + "
") + "
"; currentPanelElement.append(panelBlockElement); } milestoneCalendarContainerElement.append(currentPanelElement); }; const getMilestones = (event) => { if (event) { event.preventDefault(); } milestoneCalendarContainerElement.innerHTML = '
' + '
' + "Loading Milestones..." + "
"; cityssm.postJSON(urlPrefix + "/workOrders/doGetWorkOrderMilestones", workOrderSearchFiltersFormElement, (responseJSON) => { renderMilestones(responseJSON.workOrderMilestones); }); }; workOrderMilestoneDateFilterElement.addEventListener("change", () => { workOrderMilestoneDateStringElement.disabled = workOrderMilestoneDateFilterElement.value !== "date"; getMilestones(); }); workOrderMilestoneDateStringElement.addEventListener("change", getMilestones); workOrderSearchFiltersFormElement.addEventListener("submit", getMilestones); getMilestones(); })();