sunrise-cms/public/javascripts/workOrderSearch.min.js

1 line
4.6 KiB
JavaScript

"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,n,i,p,u,f,m,h,O,k;const b=s;if(0===b.workOrders.length)return void(a.innerHTML='<div class="message is-info">\n <p class="message-body">There are no work orders that meet the search criteria.</p>\n </div>');const v=document.createElement("tbody");for(const s of b.workOrders){let a="";for(const t of s.workOrderLots)a+=`<li class="has-tooltip-left"\n data-tooltip="${cityssm.escapeHTML(null!==(o=t.mapName)&&void 0!==o?o:"")}">\n <span class="fa-li">\n <i class="fas fa-fw fa-vector-square"\n aria-label="${e.escapedAliases.Lot}"></i>\n </span>\n ${cityssm.escapeHTML(""===(null!==(l=t.lotName)&&void 0!==l?l:"")?"(No "+e.escapedAliases.Lot+" Name)":t.lotName)}\n </li>`;for(const t of s.workOrderLotOccupancies)for(const s of t.lotOccupancyOccupants)a+=`<li class="has-tooltip-left"\n data-tooltip="${cityssm.escapeHTML(null!==(n=s.lotOccupantType)&&void 0!==n?n:"")}">\n <span class="fa-li">\n <i class="fas fa-fw fa-${cityssm.escapeHTML(""===(null!==(i=s.fontAwesomeIconClass)&&void 0!==i?i:"")?"user":s.fontAwesomeIconClass)}" aria-label="${e.escapedAliases.occupant}"></i></span>\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 </li>`;v.insertAdjacentHTML("beforeend",'<tr><td><a class="has-text-weight-bold" href="'+e.getWorkOrderURL(s.workOrderId)+'">'+(""===s.workOrderNumber.trim()?"(No Number)":cityssm.escapeHTML(null!==(f=s.workOrderNumber)&&void 0!==f?f:""))+"</a></td>"+`<td>\n ${cityssm.escapeHTML(null!==(m=s.workOrderType)&&void 0!==m?m:"")}<br />\n <span class="is-size-7">\n ${cityssm.escapeHTML(null!==(h=s.workOrderDescription)&&void 0!==h?h:"")}\n </span>\n </td>`+"<td>"+(""===a?"":'<ul class="fa-ul ml-5 is-size-7">'+a+"</ul>")+'</td><td><ul class="fa-ul ml-5 is-size-7">'+`<li class="has-tooltip-left"\n data-tooltip="${e.escapedAliases.WorkOrderOpenDate}">\n <span class="fa-li">\n <i class="fas fa-fw fa-play"\n aria-label="${e.escapedAliases.WorkOrderOpenDate}"></i>\n </span>\n ${s.workOrderOpenDateString}\n </li>`+'<li class="has-tooltip-left" data-tooltip="'+e.escapedAliases.WorkOrderCloseDate+'"><span class="fa-li"><i class="fas fa-fw fa-stop" aria-label="'+e.escapedAliases.WorkOrderCloseDate+'"></i></span> '+(s.workOrderCloseDate?s.workOrderCloseDateString:'<span class="has-text-grey">(No '+e.escapedAliases.WorkOrderCloseDate+")</span>")+"</li></ul></td><td>"+(0===s.workOrderMilestoneCount?"-":s.workOrderMilestoneCompletionCount.toString()+" / "+s.workOrderMilestoneCount.toString())+"</td>"+(t.length>0?'<td><a class="button is-small" data-tooltip="Print" href="'+e.urlPrefix+"/print/"+t[0]+"/?workOrderId="+s.workOrderId.toString()+'" target="_blank"><i class="fas fa-print" aria-label="Print"></i></a></td>':"")+"</tr>")}a.innerHTML=`<table class="table is-fullwidth is-striped is-hoverable has-sticky-header">\n <thead><tr>\n <th>Work Order Number</th>\n <th>Description</th>\n <th>Related</th>\n <th>Date</th>\n <th class="has-tooltip-bottom" data-tooltip="Completed / Total Milestones">Progress</th>\n ${t.length>0?'<th class="has-width-1"></th>':""}\n </tr></thead>\n <table>`,a.insertAdjacentHTML("beforeend",e.getSearchResultsPagerHTML(r,b.offset,b.count)),a.querySelector("table").append(v),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 n(){a.innerHTML=e.getLoadingParagraphHTML("Loading Work Orders..."),cityssm.postJSON(e.urlPrefix+"/workOrders/doSearchWorkOrders",s,l)}function i(){o.value="0",n()}function c(){o.value=Math.max(Number.parseInt(o.value,10)-r,0).toString(),n()}function d(){o.value=(Number.parseInt(o.value,10)+r).toString(),n()}const p=s.querySelectorAll("input, select");for(const e of p)e.addEventListener("change",i);s.addEventListener("submit",e=>{e.preventDefault()}),n()})();