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

1 line
5.0 KiB
JavaScript

"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{const a=exports.los,t=document.querySelector("#form--searchFilters"),e=document.querySelector("#container--searchResults"),s=Number.parseInt(document.querySelector("#searchFilter--limit").value,10),c=document.querySelector("#searchFilter--offset");function n(t){var c,n,l,i,d,p,u,h,y,f,m,v,g;const L=t;if(0===L.lotOccupancies.length)return void(e.innerHTML=`<div class="message is-info">\n <p class="message-body">\n There are no ${a.escapedAliases.occupancy} records that meet the search criteria.\n </p>\n </div>`);const S=document.createElement("tbody"),b=cityssm.dateToString(new Date);for(const t of L.lotOccupancies){let e="";e=t.occupancyStartDateString<=b&&(""===t.occupancyEndDateString||t.occupancyEndDateString>=b)?`<span class="has-tooltip-right" data-tooltip="Current ${a.escapedAliases.Occupancy}">\n <i class="fas fa-play" aria-label="Current ${a.escapedAliases.Occupancy}"></i>\n </span>`:t.occupancyStartDateString>b?`<span class="has-tooltip-right" data-tooltip="Future ${a.escapedAliases.Occupancy}">\n <i class="fas fa-fast-forward" aria-label="Future ${a.escapedAliases.Occupancy}"></i>\n </span>`:`<span class="has-tooltip-right" data-tooltip="Past ${a.escapedAliases.Occupancy}">\n <i class="fas fa-stop" aria-label="Past ${a.escapedAliases.Occupancy}"></i>\n </span>`;let s="";for(const a of t.lotOccupancyOccupants)s+='<li class="has-tooltip-left" data-tooltip="'+cityssm.escapeHTML(null!==(c=a.lotOccupantType)&&void 0!==c?c:"")+'"><span class="fa-li"><i class="fas fa-fw fa-'+cityssm.escapeHTML(""===(null!==(n=a.fontAwesomeIconClass)&&void 0!==n?n:"")?"user":a.fontAwesomeIconClass)+'" aria-hidden="true"></i></span> '+cityssm.escapeHTML(null!==(l=a.occupantName)&&void 0!==l?l:"")+" "+cityssm.escapeHTML(null!==(i=a.occupantFamilyName)&&void 0!==i?i:"")+"</li>";const o=(null!==(p=null===(d=t.lotOccupancyFees)||void 0===d?void 0:d.reduce((a,t)=>{var e,s,c;return a+((null!==(e=t.feeAmount)&&void 0!==e?e:0)+(null!==(s=t.taxAmount)&&void 0!==s?s:0))*(null!==(c=t.quantity)&&void 0!==c?c:0)},0))&&void 0!==p?p:0).toFixed(2),r=(null!==(h=null===(u=t.lotOccupancyTransactions)||void 0===u?void 0:u.reduce((a,t)=>a+t.transactionAmount,0))&&void 0!==h?h:0).toFixed(2);let v="";"0.00"===o&&"0.00"===r||(v=`<span class="icon"\n data-tooltip="Total Fees: $${o}"\n aria-label="Total Fees: $${o}">\n <i class="fas fa-dollar-sign ${o===r?"has-text-success":"has-text-danger"}" aria-hidden="true"></i>\n </span>`),S.insertAdjacentHTML("beforeend",'<tr><td class="has-width-1">'+e+'</td><td><a class="has-text-weight-bold" href="'+a.getLotOccupancyURL(t.lotOccupancyId)+'">'+cityssm.escapeHTML(t.occupancyType)+"</a><br />"+`<span class="is-size-7">#${t.lotOccupancyId}</span>`+"</td><td>"+(-1===(null!==(y=t.lotId)&&void 0!==y?y:-1)?'<span class="has-text-grey">(No '+a.escapedAliases.Lot+")</span>":'<a class="has-tooltip-right" data-tooltip="'+cityssm.escapeHTML(null!==(f=t.lotType)&&void 0!==f?f:"")+'" href="'+a.getLotURL(t.lotId)+'">'+cityssm.escapeHTML(t.lotName)+"</a>")+'<br /><span class="is-size-7">'+cityssm.escapeHTML(null!==(m=t.mapName)&&void 0!==m?m:"")+"</span></td><td>"+t.occupancyStartDateString+"</td><td>"+(t.occupancyEndDate?t.occupancyEndDateString:'<span class="has-text-grey">(No End Date)</span>')+"</td><td>"+(""===s?"":'<ul class="fa-ul ml-5">'+s+"</ul>")+"</td><td>"+v+"</td><td>"+(t.printEJS?'<a class="button is-small" data-tooltip="Print" href="'+a.urlPrefix+"/print/"+t.printEJS+"/?lotOccupancyId="+t.lotOccupancyId.toString()+'" target="_blank"><i class="fas fa-print" aria-label="Print"></i></a>':"")+"</td></tr>")}e.innerHTML=`<table class="table is-fullwidth is-striped is-hoverable has-sticky-header">\n <thead><tr>\n <th class="has-width-1"></th>\n <th>${a.escapedAliases.Occupancy} Type</th>\n <th>${a.escapedAliases.Lot}</th>\n <th>${a.escapedAliases.OccupancyStartDate}</th>\n <th>End Date</th>\n <th>${a.escapedAliases.Occupants}</th>\n <th class="has-width-1"><span class="is-sr-only">Fees and Transactions</span></th>\n <th class="has-width-1"><span class="is-sr-only">Print</span></th>\n </tr></thead>\n <table>`,e.querySelector("table").append(S),e.insertAdjacentHTML("beforeend",a.getSearchResultsPagerHTML(s,L.offset,L.count)),null===(v=e.querySelector("button[data-page='previous']"))||void 0===v||v.addEventListener("click",o),null===(g=e.querySelector("button[data-page='next']"))||void 0===g||g.addEventListener("click",r)}function l(){e.innerHTML=a.getLoadingParagraphHTML(`Loading ${a.escapedAliases.Occupancies}...`),cityssm.postJSON(a.urlPrefix+"/lotOccupancies/doSearchLotOccupancies",t,n)}function i(){c.value="0",l()}function o(){c.value=Math.max(Number.parseInt(c.value,10)-s,0).toString(),l()}function r(){c.value=(Number.parseInt(c.value,10)+s).toString(),l()}const d=t.querySelectorAll("input, select");for(const a of d)a.addEventListener("change",i);t.addEventListener("submit",a=>{a.preventDefault()}),l()})();