var rzTaxAPI="stevenscoks-tax.revize.com"; function processSearchResp(resp) { if (!Array.isArray(resp)) { console.error("Unexpected response", resp); return; } var respWrap = document.querySelector("#results-wrap table tbody"); respWrap.innerHTML = ""; resp.forEach(function(data) { var row = document.createElement("tr"); row.innerHTML = ` ${data['Name'].toLowerCase()} ${data['Address'].toLowerCase()} ${data['Desc'].toLowerCase()} ${data['TaxID']} ` const taxID = data['CompanyID']; row.querySelector(".view-tax-details").addEventListener('click', function() { doTaxDetails(taxID); }); respWrap.append(row); }); if (resp.length) { document.querySelector("#results-wrap #no-results").style.display = "none"; } else { document.querySelector("#results-wrap #no-results").style.display = ""; } } function processTaxDetailsResp(resp) { console.log(resp); if (!Array.isArray(resp)) { console.error("Unexpected response", resp); return; } var respWrap = document.querySelector("#statements-table-body"); respWrap.innerHTML = ""; resp.sort(function(a, b) { return a.TaxYear.localeCompare(b.TaxYear); }); resp.forEach(function(data) { var row = document.createElement("tr"); row.innerHTML = ` ${data['TaxYear']} ${data['TaxType']} ${data['Amount']} ${data['NextDue']} ${data['FinalDue']} ${data['InterestAmount']} ${data['DlqFees']}`; respWrap.append(row); }); document.querySelector("#statements-dialog").showModal(); } async function doTaxDetails(taxID) { if (taxID == null || taxID == "") { return; } var formData = new FormData(); formData.append("tax_id", taxID) await fetch("//" + rzTaxAPI + "/api/get", { method: "POST", body: formData, }).then(async (res) => { await res.json().then((data) => { processTaxDetailsResp(data); }); }) } async function doSearch(ev) { if (!(ev.target instanceof HTMLFormElement)) { return; } var formData = new FormData(ev.target); var hasData = false; for (var [key, val] of Array.from(formData.entries())) { if (val.trim() == "") { formData.delete(key); } else { hasData = true; } } if (hasData) { await fetch("//" + rzTaxAPI + "/api/search", { method: "POST", body: formData, }).then(async (res) => { await res.json().then((data) => { processSearchResp(data); }); }) } } async function init(){ var app = null; var appWrap = document.querySelector(".rz-app.rz-app-tax-search"); if (appWrap) { app = document;//appWrap.attachShadow({ mode: "open" }) } if (!app) { return; } await fetch("//" + rzTaxAPI + "/resources/search.html").then(async (res) => { await res.text().then((html) => { appWrap.innerHTML = html; }) }); app.querySelector("#search-wrap form").addEventListener('submit', function(ev) { doSearch(ev); ev.preventDefault(); }); app.querySelector("#statements-dialog header button").addEventListener('click', function() { app.querySelector("#statements-dialog").close(); }); } init();