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

1 line
5.5 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),n=document.querySelector("#searchFilter--offset");function c(t){var n,c,l,i,d,u,p,h,y,f,v,$,m,g,L,S,b,O;const T=t;if(0===T.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 A=document.createElement("tbody"),M=cityssm.dateToString(new Date);for(const t of T.lotOccupancies){let e="";e=t.occupancyStartDateString<=M&&(""===t.occupancyEndDateString||t.occupancyEndDateString>=M)?`<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>M?`<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 null!==(n=t.lotOccupancyOccupants)&&void 0!==n?n:[])s+=`<li class="has-tooltip-left" data-tooltip="${cityssm.escapeHTML(null!==(c=a.lotOccupantType)&&void 0!==c?c:"")}">\n <span class="fa-li">\n <i class="fas fa-fw fa-${cityssm.escapeHTML(""===(null!==(l=a.fontAwesomeIconClass)&&void 0!==l?l:"")?"user":null!==(i=a.fontAwesomeIconClass)&&void 0!==i?i:"")}" aria-hidden="true"></i>\n </span>\n ${cityssm.escapeHTML(null!==(d=a.occupantName)&&void 0!==d?d:"")}\n ${cityssm.escapeHTML(null!==(u=a.occupantFamilyName)&&void 0!==u?u:"")}\n </li>`;const o=(null!==(h=null===(p=t.lotOccupancyFees)||void 0===p?void 0:p.reduce((a,t)=>{var e,s,n;return a+((null!==(e=t.feeAmount)&&void 0!==e?e:0)+(null!==(s=t.taxAmount)&&void 0!==s?s:0))*(null!==(n=t.quantity)&&void 0!==n?n:0)},0))&&void 0!==h?h:0).toFixed(2),r=(null!==(f=null===(y=t.lotOccupancyTransactions)||void 0===y?void 0:y.reduce((a,t)=>a+t.transactionAmount,0))&&void 0!==f?f:0).toFixed(2);let S="";"0.00"===o&&"0.00"===r||(S=`<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>`),A.insertAdjacentHTML("beforeend",`<tr>\n <td class="has-width-1">\n ${e}\n </td><td>\n <a class="has-text-weight-bold"\n href="${a.getLotOccupancyURL(t.lotOccupancyId)}">\n ${cityssm.escapeHTML(null!==(v=t.occupancyType)&&void 0!==v?v:"")}\n </a><br />\n <span class="is-size-7">#${t.lotOccupancyId}</span>\n </td><td>\n ${-1===(null!==($=t.lotId)&&void 0!==$?$:-1)?`<span class="has-text-grey">(No ${a.escapedAliases.Lot})</span>`:`<a class="has-tooltip-right" data-tooltip="${cityssm.escapeHTML(null!==(m=t.lotType)&&void 0!==m?m:"")}" href="${a.getLotURL(t.lotId)}">${cityssm.escapeHTML(null!==(g=t.lotName)&&void 0!==g?g:"")}</a>`}<br />\n <span class="is-size-7">${cityssm.escapeHTML(null!==(L=t.mapName)&&void 0!==L?L:"")}</span>\n </td><td>\n ${t.occupancyStartDateString}\n </td><td>\n ${t.occupancyEndDate?t.occupancyEndDateString:'<span class="has-text-grey">(No End Date)</span>'}\n </td><td>\n ${""===s?"":`<ul class="fa-ul ml-5">${s}</ul>`}\n </td><td>\n ${S}\n </td><td>\n ${t.printEJS?`<a class="button is-small" data-tooltip="Print"\n href="${a.urlPrefix}/print/${t.printEJS}/?lotOccupancyId=${t.lotOccupancyId.toString()}" target="_blank">\n <i class="fas fa-print" aria-label="Print"></i>\n </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>`,null===(S=e.querySelector("table"))||void 0===S||S.append(A),e.insertAdjacentHTML("beforeend",a.getSearchResultsPagerHTML(s,T.offset,T.count)),null===(b=e.querySelector("button[data-page='previous']"))||void 0===b||b.addEventListener("click",o),null===(O=e.querySelector("button[data-page='next']"))||void 0===O||O.addEventListener("click",r)}function l(){e.innerHTML=a.getLoadingParagraphHTML(`Loading ${a.escapedAliases.Occupancies}...`),cityssm.postJSON(`${a.urlPrefix}/lotOccupancies/doSearchLotOccupancies`,t,c)}function i(){n.value="0",l()}function o(){n.value=Math.max(Number.parseInt(n.value,10)-s,0).toString(),l()}function r(){n.value=(Number.parseInt(n.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()})();