"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 workOrderSearchFiltersFormElement = document.querySelector('#form--searchFilters'); const workOrderMilestoneDateFilterElement = workOrderSearchFiltersFormElement.querySelector('#searchFilter--workOrderMilestoneDateFilter'); const workOrderMilestoneDateStringElement = workOrderSearchFiltersFormElement.querySelector('#searchFilter--workOrderMilestoneDateString'); const milestoneCalendarContainerElement = document.querySelector('#container--milestoneCalendar'); function 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 = 'x'; for (const milestone of workOrderMilestones) { if (currentPanelDateString !== milestone.workOrderMilestoneDateString) { if (currentPanelElement) { milestoneCalendarContainerElement.append(currentPanelElement); } currentPanelElement = document.createElement('div'); currentPanelElement.className = 'panel'; currentPanelElement.innerHTML = `

${cityssm.escapeHTML(milestone.workOrderMilestoneDate === 0 ? 'No Set Date' : milestone.workOrderMilestoneDateString ?? '')}

`; currentPanelDateString = milestone.workOrderMilestoneDateString ?? ''; } const panelBlockElement = document.createElement('div'); panelBlockElement.className = 'panel-block is-block'; if (!milestone.workOrderMilestoneCompletionDate && milestone.workOrderMilestoneDateString !== '' && 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 ?? '')} ${cityssm.escapeHTML(occupant.occupantFamilyName ?? '')}
  • `; } } // eslint-disable-next-line no-unsanitized/property panelBlockElement.innerHTML = `
    ${milestone.workOrderMilestoneCompletionDate ? '' : ''}
    ${milestone.workOrderMilestoneTime === 0 ? '' : `${milestone.workOrderMilestoneTimePeriodString}
    `} ${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); } function getMilestones(event) { if (event) { event.preventDefault(); } // eslint-disable-next-line no-unsanitized/property milestoneCalendarContainerElement.innerHTML = los.getLoadingParagraphHTML('Loading Milestones...'); cityssm.postJSON(`${los.urlPrefix}/workOrders/doGetWorkOrderMilestones`, workOrderSearchFiltersFormElement, (responseJSON) => { renderMilestones(responseJSON.workOrderMilestones); }); } workOrderMilestoneDateFilterElement.addEventListener('change', () => { ; workOrderMilestoneDateStringElement.closest('fieldset').disabled = workOrderMilestoneDateFilterElement.value !== 'date'; getMilestones(); }); los.initializeDatePickers(workOrderSearchFiltersFormElement); workOrderMilestoneDateStringElement.addEventListener('change', getMilestones); workOrderSearchFiltersFormElement.addEventListener('submit', getMilestones); getMilestones(); })();