diff --git a/public-typescript/lotOccupancySearch.js b/public-typescript/lotOccupancySearch.js index bc216b59..2e9bb469 100644 --- a/public-typescript/lotOccupancySearch.js +++ b/public-typescript/lotOccupancySearch.js @@ -42,18 +42,18 @@ Object.defineProperty(exports, "__esModule", { value: true }); let occupantsHTML = ''; for (const occupant of lotOccupancy.lotOccupancyOccupants) { occupantsHTML += - '' + - (' ') + + '" aria-hidden="true"> ') + cityssm.escapeHTML((_c = occupant.occupantName) !== null && _c !== void 0 ? _c : '') + ' ' + cityssm.escapeHTML((_d = occupant.occupantFamilyName) !== null && _d !== void 0 ? _d : '') + - '
'; + ''; } const feeTotal = ((_f = (_e = lotOccupancy.lotOccupancyFees) === null || _e === void 0 ? void 0 : _e.reduce((soFar, currentFee) => { var _a, _b, _c; @@ -107,7 +107,11 @@ Object.defineProperty(exports, "__esModule", { value: true }); ? lotOccupancy.occupancyEndDateString : '(No End Date)') + '') + - ('' + occupantsHTML + '') + + ('' + + (occupantsHTML === '' + ? '' + : '') + + '') + ('' + feeIconHTML + '') + '' + (lotOccupancy.printEJS diff --git a/public-typescript/lotOccupancySearch.ts b/public-typescript/lotOccupancySearch.ts index ef5860c6..a4748978 100644 --- a/public-typescript/lotOccupancySearch.ts +++ b/public-typescript/lotOccupancySearch.ts @@ -72,20 +72,20 @@ declare const cityssm: cityssmGlobal for (const occupant of lotOccupancy.lotOccupancyOccupants!) { occupantsHTML += - '' + - (' ') + + '" aria-hidden="true"> ') + cityssm.escapeHTML(occupant.occupantName ?? '') + ' ' + cityssm.escapeHTML(occupant.occupantFamilyName ?? '') + - '
' + '' } const feeTotal = ( @@ -153,10 +153,14 @@ declare const cityssm: cityssmGlobal ('' + lotOccupancy.occupancyStartDateString! + '') + ('' + (lotOccupancy.occupancyEndDate - ? lotOccupancy.occupancyEndDateString + ? lotOccupancy.occupancyEndDateString! : '(No End Date)') + '') + - ('' + occupantsHTML + '') + + ('' + + (occupantsHTML === '' + ? '' + : '') + + '') + ('' + feeIconHTML + '') + '' + (lotOccupancy.printEJS diff --git a/public-typescript/lotSearch.js b/public-typescript/lotSearch.js index c801c7f9..3c7ef322 100644 --- a/public-typescript/lotSearch.js +++ b/public-typescript/lotSearch.js @@ -8,7 +8,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); const limit = Number.parseInt(document.querySelector('#searchFilter--limit').value, 10); const offsetElement = document.querySelector('#searchFilter--offset'); function renderLots(responseJSON) { - var _a, _b, _c, _d; + var _a, _b, _c, _d, _e; if (responseJSON.lots.length === 0) { searchResultsContainerElement.innerHTML = `

There are no ${los.escapedAliases.lots} that meet the search criteria.

@@ -40,7 +40,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); ? cityssm.escapeHTML(lot.lotStatus) : '(No Status)') + '
' + - (lot.lotOccupancyCount > 0 + (((_c = lot.lotOccupancyCount) !== null && _c !== void 0 ? _c : 0) > 0 ? 'Currently Occupied' : '') + '') + @@ -58,10 +58,10 @@ Object.defineProperty(exports, "__esModule", { value: true }); searchResultsContainerElement .querySelector('table') .append(resultsTbodyElement); - (_c = searchResultsContainerElement - .querySelector("button[data-page='previous']")) === null || _c === void 0 ? void 0 : _c.addEventListener('click', previousAndGetLots); (_d = searchResultsContainerElement - .querySelector("button[data-page='next']")) === null || _d === void 0 ? void 0 : _d.addEventListener('click', nextAndGetLots); + .querySelector("button[data-page='previous']")) === null || _d === void 0 ? void 0 : _d.addEventListener('click', previousAndGetLots); + (_e = searchResultsContainerElement + .querySelector("button[data-page='next']")) === null || _e === void 0 ? void 0 : _e.addEventListener('click', nextAndGetLots); } function getLots() { searchResultsContainerElement.innerHTML = los.getLoadingParagraphHTML(`Loading ${los.escapedAliases.Lots}...`); diff --git a/public-typescript/lotSearch.ts b/public-typescript/lotSearch.ts index 9aa83c7f..2363e5b0 100644 --- a/public-typescript/lotSearch.ts +++ b/public-typescript/lotSearch.ts @@ -66,7 +66,7 @@ declare const cityssm: cityssmGlobal ? cityssm.escapeHTML(lot.lotStatus!) : '(No Status)') + '
' + - (lot.lotOccupancyCount! > 0 + ((lot.lotOccupancyCount ?? 0) > 0 ? 'Currently Occupied' : '') + '') + diff --git a/public-typescript/main.ts b/public-typescript/main.ts index 8f085632..09d4fb89 100644 --- a/public-typescript/main.ts +++ b/public-typescript/main.ts @@ -158,7 +158,7 @@ declare const bulmaJS: BulmaJS }) // Get the datepicker container element - const datepickerElement = containerElement.querySelector('#' + cal._id)! + const datepickerElement = containerElement.querySelector('#' + (cal._id as string))! // Override the previous and next month button styles const datePickerNavButtonElements = datepickerElement.querySelectorAll( diff --git a/public-typescript/workOrderEdit.js b/public-typescript/workOrderEdit.js index 68edf257..ad739dc6 100644 --- a/public-typescript/workOrderEdit.js +++ b/public-typescript/workOrderEdit.js @@ -251,22 +251,22 @@ Object.defineProperty(exports, "__esModule", { value: true }); document.querySelector(".tabs a[href='#relatedTab--lotOccupancies'] .tag").textContent = workOrderLotOccupancies.length.toString(); if (workOrderLotOccupancies.length === 0) { occupanciesContainerElement.innerHTML = `
-

There are no ${los.escapedAliases.occupancies} associated with this work order.

-
`; +

There are no ${los.escapedAliases.occupancies} associated with this work order.

+
`; return; } occupanciesContainerElement.innerHTML = ` - - - - - - - - - - -
${los.escapedAliases.Occupancy} Type${los.escapedAliases.Lot}${los.escapedAliases.OccupancyStartDate}End Date${los.escapedAliases.Occupants}
`; + + + ${los.escapedAliases.Occupancy} Type + ${los.escapedAliases.Lot} + ${los.escapedAliases.OccupancyStartDate} + End Date + ${los.escapedAliases.Occupants} + + + + `; const currentDateString = cityssm.dateToString(new Date()); for (const lotOccupancy of workOrderLotOccupancies) { const rowElement = document.createElement('tr'); @@ -318,6 +318,19 @@ Object.defineProperty(exports, "__esModule", { value: true }); else { rowElement.insertAdjacentHTML('beforeend', `(No ${los.escapedAliases.Lot})`); } + let occupantsHTML = ''; + for (const occupant of lotOccupancy.lotOccupancyOccupants) { + occupantsHTML += `
  • + + + + ${cityssm.escapeHTML(occupant.occupantName)} + ${cityssm.escapeHTML(occupant.occupantFamilyName)} +
  • `; + } rowElement.insertAdjacentHTML('beforeend', '' + lotOccupancy.occupancyStartDateString + '' + @@ -328,27 +341,8 @@ Object.defineProperty(exports, "__esModule", { value: true }); '') + ('' + (lotOccupancy.lotOccupancyOccupants.length === 0 - ? '(No ' + - los.escapedAliases.Occupants + - ')' - : (_c = lotOccupancy.lotOccupancyOccupants) === null || _c === void 0 ? void 0 : _c.reduce((soFar, occupant) => { - var _a; - return (soFar + - '' + - ' ' + - cityssm.escapeHTML(occupant.occupantName) + - ' ' + - cityssm.escapeHTML(occupant.occupantFamilyName) + - '
    '); - }, '')) + + ? `(No ${los.escapedAliases.Occupants})` + : ``) + '') + ('' + '\n \n ',e.querySelector(".button--editLotStatus").addEventListener("click",O),e.querySelector(".button--deleteLot").addEventListener("click",h),a.querySelector("tbody").append(e)}}else a.innerHTML=`
    \n

    There are no ${t.escapedAliases.lots} associated with this work order.

    \n
    `}()}function w(e){const s=e.currentTarget.closest("tr");!function(e,s){cityssm.postJSON(t.urlPrefix+"/workOrders/doAddWorkOrderLotOccupancy",{workOrderId:o,lotOccupancyId:e},e=>{var o;const n=e;n.success?(r=n.workOrderLotOccupancies,g()):bulmaJS.alert({title:"Error Adding "+t.escapedAliases.Occupancy,message:null!==(o=n.errorMessage)&&void 0!==o?o:"",contextualColorName:"danger"}),void 0!==s&&s(n.success)})}(s.dataset.lotOccupancyId,e=>{e&&s.remove()})}function S(e){const t=e.currentTarget.closest("tr");p(t.dataset.lotId,e=>{e&&t.remove()})}delete exports.workOrderLotOccupancies,g(),null===(k=document.querySelector("#button--addLotOccupancy"))||void 0===k||k.addEventListener("click",()=>{let e,r;function s(o){o&&o.preventDefault(),r.innerHTML=t.getLoadingParagraphHTML("Searching..."),cityssm.postJSON(t.urlPrefix+"/lotOccupancies/doSearchLotOccupancies",e,e=>{var o,s;const n=e;if(0!==n.lotOccupancies.length){r.innerHTML=`\n \n \n \n \n \n \n \n \n \n
    ${t.escapedAliases.Occupancy} Type${t.escapedAliases.Lot}${t.escapedAliases.OccupancyStartDate}End Date${t.escapedAliases.Occupants}
    `;for(const e of n.lotOccupancies){const n=document.createElement("tr");n.className="container--lotOccupancy",n.dataset.lotOccupancyId=e.lotOccupancyId.toString(),n.innerHTML=`\n \n \n \n ${cityssm.escapeHTML(null!==(o=e.occupancyType)&&void 0!==o?o:"")}\n `,e.lotId?n.insertAdjacentHTML("beforeend",""+cityssm.escapeHTML(null!==(s=e.lotName)&&void 0!==s?s:"")+""):n.insertAdjacentHTML("beforeend",`(No ${t.escapedAliases.Lot})`),n.insertAdjacentHTML("beforeend",`${e.occupancyStartDateString}`+""+(e.occupancyEndDate?e.occupancyEndDateString:'(No End Date)')+""+(0===e.lotOccupancyOccupants.length?`(No ${cityssm.escapeHTML(t.escapedAliases.Occupants)})`:cityssm.escapeHTML(e.lotOccupancyOccupants[0].occupantName+" "+e.lotOccupancyOccupants[0].occupantFamilyName)+(e.lotOccupancyOccupants.length>1?" plus "+(e.lotOccupancyOccupants.length-1):""))+""),n.querySelector(".button--addLotOccupancy").addEventListener("click",w),r.querySelector("tbody").append(n)}}else r.innerHTML='
    \n

    There are no records that meet the search criteria.

    \n
    '})}cityssm.openHtmlModal("workOrder-addLotOccupancy",{onshow(n){t.populateAliases(n),e=n.querySelector("form"),r=n.querySelector("#resultsContainer--lotOccupancyAdd"),n.querySelector("#lotOccupancySearch--notWorkOrderId").value=o,n.querySelector("#lotOccupancySearch--occupancyEffectiveDateString").value=document.querySelector("#workOrderEdit--workOrderOpenDateString").value,s()},onshown(t){bulmaJS.toggleHtmlClipped();const o=t.querySelector("#lotOccupancySearch--occupantName");o.addEventListener("change",s),o.focus(),t.querySelector("#lotOccupancySearch--lotName").addEventListener("change",s),e.addEventListener("submit",s)},onremoved(){bulmaJS.toggleHtmlClipped(),document.querySelector("#button--addLotOccupancy").focus()}})}),null===(u=document.querySelector("#button--addLot"))||void 0===u||u.addEventListener("click",()=>{let e,r;function s(o){o&&o.preventDefault(),r.innerHTML=t.getLoadingParagraphHTML("Searching..."),cityssm.postJSON(t.urlPrefix+"/lots/doSearchLots",e,e=>{var o,s,n,a;const l=e;if(0!==l.lots.length){r.innerHTML=`\n \n \n \n \n \n \n \n \n
    ${t.escapedAliases.Lot}${t.escapedAliases.Map}${t.escapedAliases.Lot} TypeStatus
    `;for(const e of l.lots){const t=document.createElement("tr");t.className="container--lot",t.dataset.lotId=e.lotId.toString(),t.innerHTML=''+cityssm.escapeHTML(null!==(o=e.lotName)&&void 0!==o?o:"")+""+cityssm.escapeHTML(null!==(s=e.mapName)&&void 0!==s?s:"")+""+cityssm.escapeHTML(null!==(n=e.lotType)&&void 0!==n?n:"")+""+cityssm.escapeHTML(null!==(a=e.lotStatus)&&void 0!==a?a:"")+"",t.querySelector(".button--addLot").addEventListener("click",S),r.querySelector("tbody").append(t)}}else r.innerHTML='

    There are no records that meet the search criteria.

    '})}cityssm.openHtmlModal("workOrder-addLot",{onshow(n){t.populateAliases(n),e=n.querySelector("form"),r=n.querySelector("#resultsContainer--lotAdd"),n.querySelector("#lotSearch--notWorkOrderId").value=o;const a=n.querySelector("#lotSearch--lotStatusId");for(const e of exports.lotStatuses){const t=document.createElement("option");t.value=e.lotStatusId.toString(),t.textContent=e.lotStatus,a.append(t)}s()},onshown(t){bulmaJS.toggleHtmlClipped();const o=t.querySelector("#lotSearch--lotName");o.addEventListener("change",s),o.focus(),t.querySelector("#lotSearch--lotStatusId").addEventListener("change",s),e.addEventListener("submit",s)},onremoved(){bulmaJS.toggleHtmlClipped(),document.querySelector("#button--addLot").focus()}})})}var k;Object.defineProperty(exports,"__esModule",{value:!0});let f=exports.workOrderComments;function b(e){const r=Number.parseInt(e.currentTarget.closest("tr").dataset.workOrderCommentId,10),s=f.find(e=>e.workOrderCommentId===r);let n,a;function l(e){e.preventDefault(),cityssm.postJSON(t.urlPrefix+"/workOrders/doUpdateWorkOrderComment",n,e=>{var t;e.success?(f=e.workOrderComments,a(),M()):bulmaJS.alert({title:"Error Updating Comment",message:null!==(t=e.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}cityssm.openHtmlModal("workOrder-editComment",{onshow(e){e.querySelector("#workOrderCommentEdit--workOrderId").value=o,e.querySelector("#workOrderCommentEdit--workOrderCommentId").value=r.toString(),e.querySelector("#workOrderCommentEdit--workOrderComment").value=s.workOrderComment;const t=e.querySelector("#workOrderCommentEdit--workOrderCommentDateString");t.value=s.workOrderCommentDateString;const n=cityssm.dateToString(new Date);t.max=s.workOrderCommentDateString<=n?n:s.workOrderCommentDateString,e.querySelector("#workOrderCommentEdit--workOrderCommentTimeString").value=s.workOrderCommentTimeString},onshown(e,o){bulmaJS.toggleHtmlClipped(),t.initializeDatePickers(e),e.querySelector("#workOrderCommentEdit--workOrderComment").focus(),(n=e.querySelector("form")).addEventListener("submit",l),a=o},onremoved(){bulmaJS.toggleHtmlClipped()}})}function v(e){const r=Number.parseInt(e.currentTarget.closest("tr").dataset.workOrderCommentId,10);bulmaJS.confirm({title:"Remove Comment?",message:"Are you sure you want to remove this comment?",okButton:{text:"Yes, Remove Comment",callbackFunction:function(){cityssm.postJSON(t.urlPrefix+"/workOrders/doDeleteWorkOrderComment",{workOrderId:o,workOrderCommentId:r},e=>{var t;e.success?(f=e.workOrderComments,M()):bulmaJS.alert({title:"Error Removing Comment",message:null!==(t=e.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}},contextualColorName:"warning"})}function M(){var e,t;const o=document.querySelector("#container--workOrderComments");if(0===f.length)return void(o.innerHTML='
    \n

    There are no comments to display.

    \n
    ');const r=document.createElement("table");r.className="table is-fullwidth is-striped is-hoverable",r.innerHTML='\n Commentor\n Comment Date\n Comment\n Options';for(const o of f){const s=document.createElement("tr");s.dataset.workOrderCommentId=o.workOrderCommentId.toString(),s.innerHTML=""+cityssm.escapeHTML(null!==(e=o.recordCreate_userName)&&void 0!==e?e:"")+""+o.workOrderCommentDateString+(0===o.workOrderCommentTime?"":" "+o.workOrderCommentTimePeriodString)+""+cityssm.escapeHTML(null!==(t=o.workOrderComment)&&void 0!==t?t:"")+'
    ',s.querySelector(".button--edit").addEventListener("click",b),s.querySelector(".button--delete").addEventListener("click",v),r.querySelector("tbody").append(s)}o.innerHTML="",o.append(r)}function L(e){var t;const o=e;o.success?(d=o.workOrderMilestones,E()):bulmaJS.alert({title:"Error Reopening Milestone",message:null!==(t=o.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})}function C(e){e.preventDefault();const r=cityssm.dateToString(new Date),s=Number.parseInt(e.currentTarget.closest(".container--milestone").dataset.workOrderMilestoneId,10),n=d.find(e=>e.workOrderMilestoneId===s);bulmaJS.confirm({title:"Complete Milestone",message:"Are you sure you want to complete this milestone?"+(""!==n.workOrderMilestoneDateString&&n.workOrderMilestoneDateString>r?"
    Note that this milestone is expected to be completed in the future.":""),messageIsHtml:!0,contextualColorName:"warning",okButton:{text:"Yes, Complete Milestone",callbackFunction:function(){cityssm.postJSON(t.urlPrefix+"/workOrders/doCompleteWorkOrderMilestone",{workOrderId:o,workOrderMilestoneId:s},L)}}})}function T(e){e.preventDefault();const r=e.currentTarget.closest(".container--milestone").dataset.workOrderMilestoneId;bulmaJS.confirm({title:"Reopen Milestone",message:"Are you sure you want to remove the completion status from this milestone, and reopen it?",contextualColorName:"warning",okButton:{text:"Yes, Reopen Milestone",callbackFunction:function(){cityssm.postJSON(t.urlPrefix+"/workOrders/doReopenWorkOrderMilestone",{workOrderId:o,workOrderMilestoneId:r},L)}}})}function I(e){e.preventDefault();const r=e.currentTarget.closest(".container--milestone").dataset.workOrderMilestoneId;bulmaJS.confirm({title:"Delete Milestone",message:"Are you sure you want to delete this milestone?",contextualColorName:"warning",okButton:{text:"Yes, Delete Milestone",callbackFunction:function(){cityssm.postJSON(t.urlPrefix+"/workOrders/doDeleteWorkOrderMilestone",{workOrderMilestoneId:r,workOrderId:o},L)}}})}function x(e){e.preventDefault();const r=Number.parseInt(e.currentTarget.closest(".container--milestone").dataset.workOrderMilestoneId,10),s=d.find(e=>e.workOrderMilestoneId===r);let n;function a(e){e.preventDefault(),cityssm.postJSON(t.urlPrefix+"/workOrders/doUpdateWorkOrderMilestone",e.currentTarget,e=>{const t=e;L(t),t.success&&n()})}cityssm.openHtmlModal("workOrder-editMilestone",{onshow(e){e.querySelector("#milestoneEdit--workOrderId").value=o,e.querySelector("#milestoneEdit--workOrderMilestoneId").value=s.workOrderMilestoneId.toString();const t=e.querySelector("#milestoneEdit--workOrderMilestoneTypeId");let r=!1;for(const e of exports.workOrderMilestoneTypes){const o=document.createElement("option");o.value=e.workOrderMilestoneTypeId.toString(),o.textContent=e.workOrderMilestoneType,e.workOrderMilestoneTypeId===s.workOrderMilestoneTypeId&&(o.selected=!0,r=!0),t.append(o)}if(!r&&s.workOrderMilestoneTypeId){const e=document.createElement("option");e.value=s.workOrderMilestoneTypeId.toString(),e.textContent=s.workOrderMilestoneType,e.selected=!0,t.append(e)}e.querySelector("#milestoneEdit--workOrderMilestoneDateString").value=s.workOrderMilestoneDateString,s.workOrderMilestoneTime&&(e.querySelector("#milestoneEdit--workOrderMilestoneTimeString").value=s.workOrderMilestoneTimeString),e.querySelector("#milestoneEdit--workOrderMilestoneDescription").value=s.workOrderMilestoneDescription},onshown(e,o){n=o,bulmaJS.toggleHtmlClipped(),t.initializeDatePickers(e),e.querySelector("form").addEventListener("submit",a)},onremoved(){bulmaJS.toggleHtmlClipped()}})}function E(){var e,t,o,r,s;const n=document.querySelector("#panel--milestones"),a=n.querySelectorAll(".panel-block");for(const e of a)e.remove();for(const a of d){const l=document.createElement("div");l.className="panel-block is-block container--milestone",l.dataset.workOrderMilestoneId=a.workOrderMilestoneId.toString(),l.innerHTML='
    '+(a.workOrderMilestoneCompletionDate?'':'')+'
    '+(a.workOrderMilestoneTypeId?""+cityssm.escapeHTML(null!==(e=a.workOrderMilestoneType)&&void 0!==e?e:"")+"
    ":"")+(0===a.workOrderMilestoneDate?'(No Set Date)':a.workOrderMilestoneDateString)+(a.workOrderMilestoneTime?" "+a.workOrderMilestoneTimePeriodString:"")+'
    '+cityssm.escapeHTML(null!==(t=a.workOrderMilestoneDescription)&&void 0!==t?t:"")+'
    ',null===(o=l.querySelector(".button--reopenMilestone"))||void 0===o||o.addEventListener("click",T),null===(r=l.querySelector(".button--editMilestone"))||void 0===r||r.addEventListener("click",x),null===(s=l.querySelector(".button--completeMilestone"))||void 0===s||s.addEventListener("click",C),l.querySelector(".button--deleteMilestone").addEventListener("click",I),n.append(l)}bulmaJS.init(n)}delete exports.workOrderComments,null===(k=document.querySelector("#workOrderComments--add"))||void 0===k||k.addEventListener("click",function(){let e;function r(o){o.preventDefault(),cityssm.postJSON(t.urlPrefix+"/workOrders/doAddWorkOrderComment",o.currentTarget,t=>{t.success&&(f=t.workOrderComments,M(),e())})}cityssm.openHtmlModal("workOrder-addComment",{onshow(e){t.populateAliases(e),e.querySelector("#workOrderCommentAdd--workOrderId").value=o,e.querySelector("form").addEventListener("submit",r)},onshown(t,o){bulmaJS.toggleHtmlClipped(),e=o,t.querySelector("#workOrderCommentAdd--workOrderComment").focus()},onremoved(){bulmaJS.toggleHtmlClipped(),document.querySelector("#workOrderComments--add").focus()}})}),r||M(),r||(d=exports.workOrderMilestones,delete exports.workOrderMilestones,E(),null===(e=document.querySelector("#button--addMilestone"))||void 0===e||e.addEventListener("click",()=>{let e,r,s;function n(o){o&&o.preventDefault();const n=cityssm.dateToString(new Date);function a(){cityssm.postJSON(t.urlPrefix+"/workOrders/doAddWorkOrderMilestone",r,e=>{const t=e;L(t),t.success&&s()})}const l=e.querySelector("#milestoneAdd--workOrderMilestoneDateString").value;""!==l&&l{var e;const t=exports.los,o=document.querySelector("#workOrderEdit--workOrderId").value,r=""===o,s=document.querySelector("#form--workOrderEdit");function n(){var e;t.setUnsavedChanges(),null===(e=document.querySelector("button[type='submit'][form='form--workOrderEdit']"))||void 0===e||e.classList.remove("is-light")}function a(){var e;t.clearUnsavedChanges(),null===(e=document.querySelector("button[type='submit'][form='form--workOrderEdit']"))||void 0===e||e.classList.add("is-light")}t.initializeDatePickers(s.querySelector("#workOrderEdit--workOrderOpenDateString").closest(".field")),t.initializeUnlockFieldButtons(s),s.addEventListener("submit",e=>{e.preventDefault(),cityssm.postJSON(t.urlPrefix+"/workOrders/"+(r?"doCreateWorkOrder":"doUpdateWorkOrder"),e.currentTarget,e=>{var o;const s=e;s.success?(a(),r?window.location.href=t.getWorkOrderURL(s.workOrderId,!0):bulmaJS.alert({message:"Work Order Updated Successfully",contextualColorName:"success"})):bulmaJS.alert({title:"Error Updating Work Order",message:null!==(o=s.errorMessage)&&void 0!==o?o:"",contextualColorName:"danger"})})});const l=s.querySelectorAll("input, select, textarea");for(const e of l)e.addEventListener("change",n);function c(){cityssm.postJSON(t.urlPrefix+"/workOrders/doCloseWorkOrder",{workOrderId:o},e=>{var r;const s=e;s.success?(a(),window.location.href=t.getWorkOrderURL(o)):bulmaJS.alert({title:"Error Closing Work Order",message:null!==(r=s.errorMessage)&&void 0!==r?r:"",contextualColorName:"danger"})})}function i(){cityssm.postJSON(t.urlPrefix+"/workOrders/doDeleteWorkOrder",{workOrderId:o},e=>{var o;const r=e;r.success?(a(),window.location.href=t.urlPrefix+"/workOrders"):bulmaJS.alert({title:"Error Deleting Work Order",message:null!==(o=r.errorMessage)&&void 0!==o?o:"",contextualColorName:"danger"})})}let d;if(null===(k=document.querySelector("#button--closeWorkOrder"))||void 0===k||k.addEventListener("click",()=>{d.some(e=>!e.workOrderMilestoneCompletionDate)?bulmaJS.alert({title:"Outstanding Milestones",message:"You cannot close a work order with outstanding milestones.\n Either complete the outstanding milestones, or remove them from the work order.",contextualColorName:"warning"}):bulmaJS.confirm({title:"Close Work Order",message:t.hasUnsavedChanges()?"Are you sure you want to close this work order with unsaved changes?":"Are you sure you want to close this work order?",contextualColorName:t.hasUnsavedChanges()?"warning":"info",okButton:{text:"Yes, Close Work Order",callbackFunction:c}})}),null===(u=document.querySelector("#button--deleteWorkOrder"))||void 0===u||u.addEventListener("click",e=>{e.preventDefault(),bulmaJS.confirm({title:"Delete Work Order",message:"Are you sure you want to delete this work order?",contextualColorName:"warning",okButton:{text:"Yes, Delete Work Order",callbackFunction:i}})}),!r){var u;Object.defineProperty(exports,"__esModule",{value:!0});let e=exports.workOrderLots;delete exports.workOrderLots;let r=exports.workOrderLotOccupancies;function m(e){const s=e.currentTarget.closest(".container--lotOccupancy").dataset.lotOccupancyId;bulmaJS.confirm({title:`Delete ${t.escapedAliases.Occupancy} Relationship`,message:`Are you sure you want to remove the relationship to this ${t.escapedAliases.occupancy} record from this work order? Note that the record will remain.`,contextualColorName:"warning",okButton:{text:"Yes, Delete Relationship",callbackFunction:function(){cityssm.postJSON(t.urlPrefix+"/workOrders/doDeleteWorkOrderLotOccupancy",{workOrderId:o,lotOccupancyId:s},e=>{var t;const o=e;o.success?(r=o.workOrderLotOccupancies,g()):bulmaJS.alert({title:"Error Deleting Relationship",message:null!==(t=o.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}}})}function p(r,s){cityssm.postJSON(t.urlPrefix+"/workOrders/doAddWorkOrderLot",{workOrderId:o,lotId:r},o=>{var r;const n=o;n.success?(e=n.workOrderLots,g()):bulmaJS.alert({title:`Error Adding ${t.escapedAliases.Lot}`,message:null!==(r=n.errorMessage)&&void 0!==r?r:"",contextualColorName:"danger"}),void 0!==s&&s(n.success)})}function y(e){p(e.currentTarget.dataset.lotId)}function O(r){const s=Number.parseInt(r.currentTarget.closest(".container--lot").dataset.lotId,10),n=e.find(e=>e.lotId===s);let a;function l(o){o.preventDefault(),cityssm.postJSON(t.urlPrefix+"/workOrders/doUpdateLotStatus",o.currentTarget,t=>{var o;const r=t;r.success?(e=r.workOrderLots,g(),a()):bulmaJS.alert({title:"Error Deleting Relationship",message:null!==(o=r.errorMessage)&&void 0!==o?o:"",contextualColorName:"danger"})})}cityssm.openHtmlModal("lot-editLotStatus",{onshow(e){t.populateAliases(e),e.querySelector("#lotStatusEdit--lotId").value=s.toString(),e.querySelector("#lotStatusEdit--lotName").value=n.lotName;const r=e.querySelector("#lotStatusEdit--lotStatusId");let a=!1;for(const e of exports.lotStatuses){const t=document.createElement("option");t.value=e.lotStatusId.toString(),t.textContent=e.lotStatus,e.lotStatusId===n.lotStatusId&&(a=!0),r.append(t)}if(!a&&n.lotStatusId){const e=document.createElement("option");e.value=n.lotStatusId.toString(),e.textContent=n.lotStatus,r.append(e)}n.lotStatusId&&(r.value=n.lotStatusId.toString()),e.querySelector("form").insertAdjacentHTML("beforeend",``)},onshown(e,t){a=t,bulmaJS.toggleHtmlClipped(),e.querySelector("form").addEventListener("submit",l)},onremoved(){bulmaJS.toggleHtmlClipped()}})}function h(r){const s=r.currentTarget.closest(".container--lot").dataset.lotId;bulmaJS.confirm({title:`Delete ${t.escapedAliases.Occupancy} Relationship`,message:`Are you sure you want to remove the relationship to this ${t.escapedAliases.occupancy} record from this work order? Note that the record will remain.`,contextualColorName:"warning",okButton:{text:"Yes, Delete Relationship",callbackFunction:function(){cityssm.postJSON(t.urlPrefix+"/workOrders/doDeleteWorkOrderLot",{workOrderId:o,lotId:s},t=>{var o;const r=t;r.success?(e=r.workOrderLots,g()):bulmaJS.alert({title:"Error Deleting Relationship",message:null!==(o=r.errorMessage)&&void 0!==o?o:"",contextualColorName:"danger"})})}}})}function g(){!function(){var o,s,n,a;const l=document.querySelector("#container--lotOccupancies");if(document.querySelector(".tabs a[href='#relatedTab--lotOccupancies'] .tag").textContent=r.length.toString(),0===r.length)return void(l.innerHTML=`
    \n

    There are no ${t.escapedAliases.occupancies} associated with this work order.

    \n
    `);l.innerHTML=`\n \n \n \n \n \n \n \n \n \n \n
    ${t.escapedAliases.Occupancy} Type${t.escapedAliases.Lot}${t.escapedAliases.OccupancyStartDate}End Date${t.escapedAliases.Occupants}
    `;const c=cityssm.dateToString(new Date);for(const i of r){const r=document.createElement("tr");r.className="container--lotOccupancy",r.dataset.lotOccupancyId=i.lotOccupancyId.toString();const d=!(i.occupancyEndDate&&i.occupancyEndDateStringi.lotId===e.lotId);r.innerHTML=''+(d?'':'')+''+cityssm.escapeHTML(null!==(o=i.occupancyType)&&void 0!==o?o:"")+"
    "+`#${i.lotOccupancyId}`+"",i.lotId?r.insertAdjacentHTML("beforeend",""+cityssm.escapeHTML(null!==(s=i.lotName)&&void 0!==s?s:"")+(u?"":' ')+""):r.insertAdjacentHTML("beforeend",`(No ${t.escapedAliases.Lot})`);let p="";for(const e of i.lotOccupancyOccupants)p+=`
  • \n \n \n \n ${cityssm.escapeHTML(e.occupantName)}\n ${cityssm.escapeHTML(e.occupantFamilyName)}\n
  • `;r.insertAdjacentHTML("beforeend",""+i.occupancyStartDateString+""+(i.occupancyEndDate?i.occupancyEndDateString:'(No End Date)')+""+(0===i.lotOccupancyOccupants.length?`(No ${t.escapedAliases.Occupants})`:``)+''),null===(a=r.querySelector(".button--addLot"))||void 0===a||a.addEventListener("click",y),r.querySelector(".button--deleteLotOccupancy").addEventListener("click",m),l.querySelector("tbody").append(r)}}(),function(){var o,r,s,n;const a=document.querySelector("#container--lots");if(document.querySelector(".tabs a[href='#relatedTab--lots'] .tag").textContent=e.length.toString(),0!==e.length){a.innerHTML=`\n \n \n \n \n \n \n \n \n
    ${t.escapedAliases.Lot}${t.escapedAliases.Map}${t.escapedAliases.Lot} TypeStatus
    `;for(const l of e){const e=document.createElement("tr");e.className="container--lot",e.dataset.lotId=l.lotId.toString(),e.innerHTML=''+cityssm.escapeHTML(null!==(o=l.lotName)&&void 0!==o?o:"")+""+`${cityssm.escapeHTML(null!==(r=l.mapName)&&void 0!==r?r:"")}`+`${cityssm.escapeHTML(null!==(s=l.lotType)&&void 0!==s?s:"")}`+""+(l.lotStatusId?cityssm.escapeHTML(null!==(n=l.lotStatus)&&void 0!==n?n:""):'(No Status)')+'\n \n \n ',e.querySelector(".button--editLotStatus").addEventListener("click",O),e.querySelector(".button--deleteLot").addEventListener("click",h),a.querySelector("tbody").append(e)}}else a.innerHTML=`
    \n

    There are no ${t.escapedAliases.lots} associated with this work order.

    \n
    `}()}function w(e){const s=e.currentTarget.closest("tr");!function(e,s){cityssm.postJSON(t.urlPrefix+"/workOrders/doAddWorkOrderLotOccupancy",{workOrderId:o,lotOccupancyId:e},e=>{var o;const n=e;n.success?(r=n.workOrderLotOccupancies,g()):bulmaJS.alert({title:"Error Adding "+t.escapedAliases.Occupancy,message:null!==(o=n.errorMessage)&&void 0!==o?o:"",contextualColorName:"danger"}),void 0!==s&&s(n.success)})}(s.dataset.lotOccupancyId,e=>{e&&s.remove()})}function S(e){const t=e.currentTarget.closest("tr");p(t.dataset.lotId,e=>{e&&t.remove()})}delete exports.workOrderLotOccupancies,g(),null===(k=document.querySelector("#button--addLotOccupancy"))||void 0===k||k.addEventListener("click",()=>{let e,r;function s(o){o&&o.preventDefault(),r.innerHTML=t.getLoadingParagraphHTML("Searching..."),cityssm.postJSON(t.urlPrefix+"/lotOccupancies/doSearchLotOccupancies",e,e=>{var o,s;const n=e;if(0!==n.lotOccupancies.length){r.innerHTML=`\n \n \n \n \n \n \n \n \n \n
    ${t.escapedAliases.Occupancy} Type${t.escapedAliases.Lot}${t.escapedAliases.OccupancyStartDate}End Date${t.escapedAliases.Occupants}
    `;for(const e of n.lotOccupancies){const n=document.createElement("tr");n.className="container--lotOccupancy",n.dataset.lotOccupancyId=e.lotOccupancyId.toString(),n.innerHTML=`\n \n \n \n ${cityssm.escapeHTML(null!==(o=e.occupancyType)&&void 0!==o?o:"")}\n `,e.lotId?n.insertAdjacentHTML("beforeend",""+cityssm.escapeHTML(null!==(s=e.lotName)&&void 0!==s?s:"")+""):n.insertAdjacentHTML("beforeend",`(No ${t.escapedAliases.Lot})`),n.insertAdjacentHTML("beforeend",`${e.occupancyStartDateString}`+""+(e.occupancyEndDate?e.occupancyEndDateString:'(No End Date)')+""+(0===e.lotOccupancyOccupants.length?`(No ${cityssm.escapeHTML(t.escapedAliases.Occupants)})`:cityssm.escapeHTML(e.lotOccupancyOccupants[0].occupantName+" "+e.lotOccupancyOccupants[0].occupantFamilyName)+(e.lotOccupancyOccupants.length>1?" plus "+(e.lotOccupancyOccupants.length-1).toString():""))+""),n.querySelector(".button--addLotOccupancy").addEventListener("click",w),r.querySelector("tbody").append(n)}}else r.innerHTML='
    \n

    There are no records that meet the search criteria.

    \n
    '})}cityssm.openHtmlModal("workOrder-addLotOccupancy",{onshow(n){t.populateAliases(n),e=n.querySelector("form"),r=n.querySelector("#resultsContainer--lotOccupancyAdd"),n.querySelector("#lotOccupancySearch--notWorkOrderId").value=o,n.querySelector("#lotOccupancySearch--occupancyEffectiveDateString").value=document.querySelector("#workOrderEdit--workOrderOpenDateString").value,s()},onshown(t){bulmaJS.toggleHtmlClipped();const o=t.querySelector("#lotOccupancySearch--occupantName");o.addEventListener("change",s),o.focus(),t.querySelector("#lotOccupancySearch--lotName").addEventListener("change",s),e.addEventListener("submit",s)},onremoved(){bulmaJS.toggleHtmlClipped(),document.querySelector("#button--addLotOccupancy").focus()}})}),null===(u=document.querySelector("#button--addLot"))||void 0===u||u.addEventListener("click",()=>{let e,r;function s(o){o&&o.preventDefault(),r.innerHTML=t.getLoadingParagraphHTML("Searching..."),cityssm.postJSON(t.urlPrefix+"/lots/doSearchLots",e,e=>{var o,s,n,a;const l=e;if(0!==l.lots.length){r.innerHTML=`\n \n \n \n \n \n \n \n \n
    ${t.escapedAliases.Lot}${t.escapedAliases.Map}${t.escapedAliases.Lot} TypeStatus
    `;for(const e of l.lots){const t=document.createElement("tr");t.className="container--lot",t.dataset.lotId=e.lotId.toString(),t.innerHTML=''+cityssm.escapeHTML(null!==(o=e.lotName)&&void 0!==o?o:"")+""+cityssm.escapeHTML(null!==(s=e.mapName)&&void 0!==s?s:"")+""+cityssm.escapeHTML(null!==(n=e.lotType)&&void 0!==n?n:"")+""+cityssm.escapeHTML(null!==(a=e.lotStatus)&&void 0!==a?a:"")+"",t.querySelector(".button--addLot").addEventListener("click",S),r.querySelector("tbody").append(t)}}else r.innerHTML='

    There are no records that meet the search criteria.

    '})}cityssm.openHtmlModal("workOrder-addLot",{onshow(n){t.populateAliases(n),e=n.querySelector("form"),r=n.querySelector("#resultsContainer--lotAdd"),n.querySelector("#lotSearch--notWorkOrderId").value=o;const a=n.querySelector("#lotSearch--lotStatusId");for(const e of exports.lotStatuses){const t=document.createElement("option");t.value=e.lotStatusId.toString(),t.textContent=e.lotStatus,a.append(t)}s()},onshown(t){bulmaJS.toggleHtmlClipped();const o=t.querySelector("#lotSearch--lotName");o.addEventListener("change",s),o.focus(),t.querySelector("#lotSearch--lotStatusId").addEventListener("change",s),e.addEventListener("submit",s)},onremoved(){bulmaJS.toggleHtmlClipped(),document.querySelector("#button--addLot").focus()}})})}var k;Object.defineProperty(exports,"__esModule",{value:!0});let f=exports.workOrderComments;function b(e){const r=Number.parseInt(e.currentTarget.closest("tr").dataset.workOrderCommentId,10),s=f.find(e=>e.workOrderCommentId===r);let n,a;function l(e){e.preventDefault(),cityssm.postJSON(t.urlPrefix+"/workOrders/doUpdateWorkOrderComment",n,e=>{var t;e.success?(f=e.workOrderComments,a(),M()):bulmaJS.alert({title:"Error Updating Comment",message:null!==(t=e.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}cityssm.openHtmlModal("workOrder-editComment",{onshow(e){e.querySelector("#workOrderCommentEdit--workOrderId").value=o,e.querySelector("#workOrderCommentEdit--workOrderCommentId").value=r.toString(),e.querySelector("#workOrderCommentEdit--workOrderComment").value=s.workOrderComment;const t=e.querySelector("#workOrderCommentEdit--workOrderCommentDateString");t.value=s.workOrderCommentDateString;const n=cityssm.dateToString(new Date);t.max=s.workOrderCommentDateString<=n?n:s.workOrderCommentDateString,e.querySelector("#workOrderCommentEdit--workOrderCommentTimeString").value=s.workOrderCommentTimeString},onshown(e,o){bulmaJS.toggleHtmlClipped(),t.initializeDatePickers(e),e.querySelector("#workOrderCommentEdit--workOrderComment").focus(),(n=e.querySelector("form")).addEventListener("submit",l),a=o},onremoved(){bulmaJS.toggleHtmlClipped()}})}function v(e){const r=Number.parseInt(e.currentTarget.closest("tr").dataset.workOrderCommentId,10);bulmaJS.confirm({title:"Remove Comment?",message:"Are you sure you want to remove this comment?",okButton:{text:"Yes, Remove Comment",callbackFunction:function(){cityssm.postJSON(t.urlPrefix+"/workOrders/doDeleteWorkOrderComment",{workOrderId:o,workOrderCommentId:r},e=>{var t;e.success?(f=e.workOrderComments,M()):bulmaJS.alert({title:"Error Removing Comment",message:null!==(t=e.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})})}},contextualColorName:"warning"})}function M(){var e,t;const o=document.querySelector("#container--workOrderComments");if(0===f.length)return void(o.innerHTML='
    \n

    There are no comments to display.

    \n
    ');const r=document.createElement("table");r.className="table is-fullwidth is-striped is-hoverable",r.innerHTML='\n Commentor\n Comment Date\n Comment\n Options';for(const o of f){const s=document.createElement("tr");s.dataset.workOrderCommentId=o.workOrderCommentId.toString(),s.innerHTML=""+cityssm.escapeHTML(null!==(e=o.recordCreate_userName)&&void 0!==e?e:"")+""+o.workOrderCommentDateString+(0===o.workOrderCommentTime?"":" "+o.workOrderCommentTimePeriodString)+""+cityssm.escapeHTML(null!==(t=o.workOrderComment)&&void 0!==t?t:"")+'
    ',s.querySelector(".button--edit").addEventListener("click",b),s.querySelector(".button--delete").addEventListener("click",v),r.querySelector("tbody").append(s)}o.innerHTML="",o.append(r)}function L(e){var t;const o=e;o.success?(d=o.workOrderMilestones,E()):bulmaJS.alert({title:"Error Reopening Milestone",message:null!==(t=o.errorMessage)&&void 0!==t?t:"",contextualColorName:"danger"})}function C(e){e.preventDefault();const r=cityssm.dateToString(new Date),s=Number.parseInt(e.currentTarget.closest(".container--milestone").dataset.workOrderMilestoneId,10),n=d.find(e=>e.workOrderMilestoneId===s);bulmaJS.confirm({title:"Complete Milestone",message:"Are you sure you want to complete this milestone?"+(""!==n.workOrderMilestoneDateString&&n.workOrderMilestoneDateString>r?"
    Note that this milestone is expected to be completed in the future.":""),messageIsHtml:!0,contextualColorName:"warning",okButton:{text:"Yes, Complete Milestone",callbackFunction:function(){cityssm.postJSON(t.urlPrefix+"/workOrders/doCompleteWorkOrderMilestone",{workOrderId:o,workOrderMilestoneId:s},L)}}})}function T(e){e.preventDefault();const r=e.currentTarget.closest(".container--milestone").dataset.workOrderMilestoneId;bulmaJS.confirm({title:"Reopen Milestone",message:"Are you sure you want to remove the completion status from this milestone, and reopen it?",contextualColorName:"warning",okButton:{text:"Yes, Reopen Milestone",callbackFunction:function(){cityssm.postJSON(t.urlPrefix+"/workOrders/doReopenWorkOrderMilestone",{workOrderId:o,workOrderMilestoneId:r},L)}}})}function I(e){e.preventDefault();const r=e.currentTarget.closest(".container--milestone").dataset.workOrderMilestoneId;bulmaJS.confirm({title:"Delete Milestone",message:"Are you sure you want to delete this milestone?",contextualColorName:"warning",okButton:{text:"Yes, Delete Milestone",callbackFunction:function(){cityssm.postJSON(t.urlPrefix+"/workOrders/doDeleteWorkOrderMilestone",{workOrderMilestoneId:r,workOrderId:o},L)}}})}function x(e){e.preventDefault();const r=Number.parseInt(e.currentTarget.closest(".container--milestone").dataset.workOrderMilestoneId,10),s=d.find(e=>e.workOrderMilestoneId===r);let n;function a(e){e.preventDefault(),cityssm.postJSON(t.urlPrefix+"/workOrders/doUpdateWorkOrderMilestone",e.currentTarget,e=>{const t=e;L(t),t.success&&n()})}cityssm.openHtmlModal("workOrder-editMilestone",{onshow(e){e.querySelector("#milestoneEdit--workOrderId").value=o,e.querySelector("#milestoneEdit--workOrderMilestoneId").value=s.workOrderMilestoneId.toString();const t=e.querySelector("#milestoneEdit--workOrderMilestoneTypeId");let r=!1;for(const e of exports.workOrderMilestoneTypes){const o=document.createElement("option");o.value=e.workOrderMilestoneTypeId.toString(),o.textContent=e.workOrderMilestoneType,e.workOrderMilestoneTypeId===s.workOrderMilestoneTypeId&&(o.selected=!0,r=!0),t.append(o)}if(!r&&s.workOrderMilestoneTypeId){const e=document.createElement("option");e.value=s.workOrderMilestoneTypeId.toString(),e.textContent=s.workOrderMilestoneType,e.selected=!0,t.append(e)}e.querySelector("#milestoneEdit--workOrderMilestoneDateString").value=s.workOrderMilestoneDateString,s.workOrderMilestoneTime&&(e.querySelector("#milestoneEdit--workOrderMilestoneTimeString").value=s.workOrderMilestoneTimeString),e.querySelector("#milestoneEdit--workOrderMilestoneDescription").value=s.workOrderMilestoneDescription},onshown(e,o){n=o,bulmaJS.toggleHtmlClipped(),t.initializeDatePickers(e),e.querySelector("form").addEventListener("submit",a)},onremoved(){bulmaJS.toggleHtmlClipped()}})}function E(){var e,t,o,r,s;const n=document.querySelector("#panel--milestones"),a=n.querySelectorAll(".panel-block");for(const e of a)e.remove();for(const a of d){const l=document.createElement("div");l.className="panel-block is-block container--milestone",l.dataset.workOrderMilestoneId=a.workOrderMilestoneId.toString(),l.innerHTML='
    '+(a.workOrderMilestoneCompletionDate?'':'')+'
    '+(a.workOrderMilestoneTypeId?""+cityssm.escapeHTML(null!==(e=a.workOrderMilestoneType)&&void 0!==e?e:"")+"
    ":"")+(0===a.workOrderMilestoneDate?'(No Set Date)':a.workOrderMilestoneDateString)+(a.workOrderMilestoneTime?" "+a.workOrderMilestoneTimePeriodString:"")+'
    '+cityssm.escapeHTML(null!==(t=a.workOrderMilestoneDescription)&&void 0!==t?t:"")+'
    ',null===(o=l.querySelector(".button--reopenMilestone"))||void 0===o||o.addEventListener("click",T),null===(r=l.querySelector(".button--editMilestone"))||void 0===r||r.addEventListener("click",x),null===(s=l.querySelector(".button--completeMilestone"))||void 0===s||s.addEventListener("click",C),l.querySelector(".button--deleteMilestone").addEventListener("click",I),n.append(l)}bulmaJS.init(n)}delete exports.workOrderComments,null===(k=document.querySelector("#workOrderComments--add"))||void 0===k||k.addEventListener("click",function(){let e;function r(o){o.preventDefault(),cityssm.postJSON(t.urlPrefix+"/workOrders/doAddWorkOrderComment",o.currentTarget,t=>{t.success&&(f=t.workOrderComments,M(),e())})}cityssm.openHtmlModal("workOrder-addComment",{onshow(e){t.populateAliases(e),e.querySelector("#workOrderCommentAdd--workOrderId").value=o,e.querySelector("form").addEventListener("submit",r)},onshown(t,o){bulmaJS.toggleHtmlClipped(),e=o,t.querySelector("#workOrderCommentAdd--workOrderComment").focus()},onremoved(){bulmaJS.toggleHtmlClipped(),document.querySelector("#workOrderComments--add").focus()}})}),r||M(),r||(d=exports.workOrderMilestones,delete exports.workOrderMilestones,E(),null===(e=document.querySelector("#button--addMilestone"))||void 0===e||e.addEventListener("click",()=>{let e,r,s;function n(o){o&&o.preventDefault();const n=cityssm.dateToString(new Date);function a(){cityssm.postJSON(t.urlPrefix+"/workOrders/doAddWorkOrderMilestone",r,e=>{const t=e;L(t),t.success&&s()})}const l=e.querySelector("#milestoneAdd--workOrderMilestoneDateString").value;""!==l&&l{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){var r,a,i,o,n,l,c,d;if(0===s.length)return void(t.innerHTML='
    \n

    There are no milestones that meet the search criteria.

    \n
    ');t.innerHTML="";const p=cityssm.dateToString(new Date);let m,u="x";for(const M of s){u!==M.workOrderMilestoneDateString&&(m&&t.append(m),(m=document.createElement("div")).className="panel",m.innerHTML=`

    \n ${0===M.workOrderMilestoneDate?"No Set Date":M.workOrderMilestoneDateString}\n

    `,u=M.workOrderMilestoneDateString);const s=document.createElement("div");s.className="panel-block is-block",!M.workOrderMilestoneCompletionDate&&""!==M.workOrderMilestoneDateString&&M.workOrderMilestoneDateString '+cityssm.escapeHTML(null!==(a=s.lotName)&&void 0!==a?a:"")+"
    ";for(const s of M.workOrderLotOccupancies)for(const r of s.lotOccupancyOccupants)O+=' '+cityssm.escapeHTML(null!==(o=r.occupantName)&&void 0!==o?o:"")+" "+cityssm.escapeHTML(null!==(n=r.occupantFamilyName)&&void 0!==n?n:"")+"
    ";s.innerHTML='
    '+(M.workOrderMilestoneCompletionDate?'':'')+'
    '+(0===M.workOrderMilestoneTime?"":M.workOrderMilestoneTimePeriodString+"
    ")+(M.workOrderMilestoneTypeId?""+cityssm.escapeHTML(M.workOrderMilestoneType)+"
    ":"")+''+cityssm.escapeHTML(M.workOrderMilestoneDescription)+'
    '+cityssm.escapeHTML(null!==(c=M.workOrderNumber)&&void 0!==c?c:"")+'
    '+cityssm.escapeHTML(null!==(d=M.workOrderDescription)&&void 0!==d?d:"")+'
    '+O+"
    ",m.append(s)}t.append(m)}(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()})(); \ No newline at end of file +"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){var r,a,i,n,o,l,c,d;if(0===s.length)return void(t.innerHTML='
    \n

    There are no milestones that meet the search criteria.

    \n
    ');t.innerHTML="";const p=cityssm.dateToString(new Date);let m,u="x";for(const M of s){u!==M.workOrderMilestoneDateString&&(m&&t.append(m),(m=document.createElement("div")).className="panel",m.innerHTML=`

    \n ${0===M.workOrderMilestoneDate?"No Set Date":M.workOrderMilestoneDateString}\n

    `,u=M.workOrderMilestoneDateString);const s=document.createElement("div");s.className="panel-block is-block",!M.workOrderMilestoneCompletionDate&&""!==M.workOrderMilestoneDateString&&M.workOrderMilestoneDateString\n \n \n \n ${cityssm.escapeHTML(null!==(a=s.lotName)&&void 0!==a?a:"")}\n `;for(const s of M.workOrderLotOccupancies)for(const r of s.lotOccupancyOccupants)f+=`
  • \n \n \n \n ${cityssm.escapeHTML(null!==(n=r.occupantName)&&void 0!==n?n:"")}\n ${cityssm.escapeHTML(null!==(o=r.occupantFamilyName)&&void 0!==o?o:"")}\n
  • `;s.innerHTML='
    '+(M.workOrderMilestoneCompletionDate?'':'')+'
    '+(0===M.workOrderMilestoneTime?"":M.workOrderMilestoneTimePeriodString+"
    ")+(M.workOrderMilestoneTypeId?""+cityssm.escapeHTML(M.workOrderMilestoneType)+"
    ":"")+''+cityssm.escapeHTML(M.workOrderMilestoneDescription)+'
    '+cityssm.escapeHTML(null!==(c=M.workOrderNumber)&&void 0!==c?c:"")+'
    '+cityssm.escapeHTML(null!==(d=M.workOrderDescription)&&void 0!==d?d:"")+'
    '+(""===f?"":'
      '+f+"
    ")+"
    ",m.append(s)}t.append(m)}(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()})(); \ No newline at end of file diff --git a/public/javascripts/workOrderSearch.min.js b/public/javascripts/workOrderSearch.min.js index b4588b5b..52b17716 100644 --- a/public/javascripts/workOrderSearch.min.js +++ b/public/javascripts/workOrderSearch.min.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=exports.los,t=exports.workOrderPrints,s=document.querySelector("#form--searchFilters");e.initializeDatePickers(s);const a=document.querySelector("#container--searchResults"),r=Number.parseInt(document.querySelector("#searchFilter--limit").value,10),o=document.querySelector("#searchFilter--offset");function l(s){var o,l,i,n,p,u,f,m,h,O,k;if(0===s.workOrders.length)return void(a.innerHTML='

    There are no work orders that meet the search criteria.

    ');const b=document.createElement("tbody");for(const a of s.workOrders){let s="";for(const t of a.workOrderLots)s+=' '+cityssm.escapeHTML(""===(null!==(l=t.lotName)&&void 0!==l?l:"")?"(No "+e.escapedAliases.Lot+" Name)":t.lotName)+"
    ";for(const t of a.workOrderLotOccupancies)for(const a of t.lotOccupancyOccupants)s+=' '+cityssm.escapeHTML(""===(null!==(p=a.occupantName)&&void 0!==p?p:"")&&""===(null!==(u=a.occupantFamilyName)&&void 0!==u?u:"")?"(No Name)":a.occupantName+" "+a.occupantFamilyName)+"
    ";b.insertAdjacentHTML("beforeend",''+(a.workOrderNumber.trim()?cityssm.escapeHTML(null!==(f=a.workOrderNumber)&&void 0!==f?f:""):"(No Number)")+""+cityssm.escapeHTML(null!==(m=a.workOrderType)&&void 0!==m?m:"")+'
    '+cityssm.escapeHTML(null!==(h=a.workOrderDescription)&&void 0!==h?h:"")+''+s+' '+a.workOrderOpenDateString+'
    '+(a.workOrderCloseDate?a.workOrderCloseDateString:'(No '+e.escapedAliases.WorkOrderCloseDate+")")+""+(0===a.workOrderMilestoneCount?"-":a.workOrderMilestoneCompletionCount+" / "+a.workOrderMilestoneCount)+""+(t.length>0?'':"")+"")}a.innerHTML=''+(t.length>0?'':"")+"
    Work Order NumberDescriptionRelatedDateProgress
    ",a.insertAdjacentHTML("beforeend",e.getSearchResultsPagerHTML(r,s.offset,s.count)),a.querySelector("table").append(b),null===(O=a.querySelector("button[data-page='previous']"))||void 0===O||O.addEventListener("click",c),null===(k=a.querySelector("button[data-page='next']"))||void 0===k||k.addEventListener("click",d)}function i(){a.innerHTML=e.getLoadingParagraphHTML("Loading Work Orders..."),cityssm.postJSON(e.urlPrefix+"/workOrders/doSearchWorkOrders",s,l)}function n(){o.value="0",i()}function c(){o.value=Math.max(Number.parseInt(o.value,10)-r,0).toString(),i()}function d(){o.value=(Number.parseInt(o.value,10)+r).toString(),i()}const p=s.querySelectorAll("input, select");for(const e of p)e.addEventListener("change",n);s.addEventListener("submit",e=>{e.preventDefault()}),i()})(); \ No newline at end of file +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const e=exports.los,t=exports.workOrderPrints,a=document.querySelector("#form--searchFilters");e.initializeDatePickers(a);const s=document.querySelector("#container--searchResults"),r=Number.parseInt(document.querySelector("#searchFilter--limit").value,10),o=document.querySelector("#searchFilter--offset");function l(a){var o,l,i,n,p,u,f,h,m,O,k;if(0===a.workOrders.length)return void(s.innerHTML='
    \n

    There are no work orders that meet the search criteria.

    \n
    ');const b=document.createElement("tbody");for(const s of a.workOrders){let a="";for(const t of s.workOrderLots)a+=`
  • \n \n \n \n ${cityssm.escapeHTML(""===(null!==(l=t.lotName)&&void 0!==l?l:"")?"(No "+e.escapedAliases.Lot+" Name)":t.lotName)}\n
  • `;for(const t of s.workOrderLotOccupancies)for(const s of t.lotOccupancyOccupants)a+=`
  • \n \n \n ${cityssm.escapeHTML(""===(null!==(p=s.occupantName)&&void 0!==p?p:"")&&""===(null!==(u=s.occupantFamilyName)&&void 0!==u?u:"")?"(No Name)":s.occupantName+" "+s.occupantFamilyName)}\n
  • `;b.insertAdjacentHTML("beforeend",'"+(t.length>0?'':"")+"")}s.innerHTML=`
    '+(""===s.workOrderNumber.trim()?"(No Number)":cityssm.escapeHTML(null!==(f=s.workOrderNumber)&&void 0!==f?f:""))+""+cityssm.escapeHTML(null!==(h=s.workOrderType)&&void 0!==h?h:"")+'
    '+cityssm.escapeHTML(null!==(m=s.workOrderDescription)&&void 0!==m?m:"")+"
    "+(""===a?"":'
      '+a+"
    ")+'
    • '+s.workOrderOpenDateString+'
    • '+(s.workOrderCloseDate?s.workOrderCloseDateString:'(No '+e.escapedAliases.WorkOrderCloseDate+")")+"
    "+(0===s.workOrderMilestoneCount?"-":s.workOrderMilestoneCompletionCount.toString()+" / "+s.workOrderMilestoneCount.toString())+"
    \n \n \n \n \n \n \n ${t.length>0?'':""}\n \n
    Work Order NumberDescriptionRelatedDateProgress
    `,s.insertAdjacentHTML("beforeend",e.getSearchResultsPagerHTML(r,a.offset,a.count)),s.querySelector("table").append(b),null===(O=s.querySelector("button[data-page='previous']"))||void 0===O||O.addEventListener("click",c),null===(k=s.querySelector("button[data-page='next']"))||void 0===k||k.addEventListener("click",d)}function i(){s.innerHTML=e.getLoadingParagraphHTML("Loading Work Orders..."),cityssm.postJSON(e.urlPrefix+"/workOrders/doSearchWorkOrders",a,l)}function n(){o.value="0",i()}function c(){o.value=Math.max(Number.parseInt(o.value,10)-r,0).toString(),i()}function d(){o.value=(Number.parseInt(o.value,10)+r).toString(),i()}const p=a.querySelectorAll("input, select");for(const e of p)e.addEventListener("change",n);a.addEventListener("submit",e=>{e.preventDefault()}),i()})(); \ No newline at end of file diff --git a/views/_menu-admin.ejs b/views/_menu-admin.ejs index 47b17142..0b6408e4 100644 --- a/views/_menu-admin.ejs +++ b/views/_menu-admin.ejs @@ -1,43 +1,43 @@ <% } %>
    - <% if (lotOccupancy.lotOccupancyOccupants.length === 0) { %> - (No <%= configFunctions.getProperty("aliases.occupants") %>) - <% } else { %> - <% for (const occupant of lotOccupancy.lotOccupancyOccupants) { %> - - - <%= occupant.occupantName %> - <%= occupant.occupantFamilyName %> -
    - <% } %> - <% } %> + <% if (lotOccupancy.lotOccupancyOccupants.length === 0) { %> + ( + No <%= configFunctions.getProperty("aliases.occupants") %>) + + <% } else { %> +
      + <% for (const occupant of lotOccupancy.lotOccupancyOccupants) { %> +
    • + + + + <%= occupant.occupantName %> + <%= occupant.occupantFamilyName %> +
    • + <% } %> +
    + <% } %>