From 7f1e3fa62f66b8af79edc35dcbb05e4d114ac410 Mon Sep 17 00:00:00 2001 From: Georgi Dobrilov Date: Tue, 16 Apr 2024 17:32:59 +0300 Subject: [PATCH] Fix validate endpoint --- dist/js/address-metadata-display.js | 2 +- src/js/address-metadata-display.js | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/dist/js/address-metadata-display.js b/dist/js/address-metadata-display.js index b4ee2e2..05b97ec 100644 --- a/dist/js/address-metadata-display.js +++ b/dist/js/address-metadata-display.js @@ -1 +1 @@ -function populateMetadata(e){address.getEnrichmentData(e.enrichment);const t=e.result.confidence;if(t&&(document.querySelector(".metadata #confidence-key").innerText="Verified match"===t?"✔":"❌",document.querySelector(".metadata #confidence-value").innerText=t),e.metadata&&e.metadata.address_classification){const t=e.metadata.address_classification.delivery_type;t&&(document.querySelector(".metadata #delivery-type-key").innerText="residential"===t?"🏡":"🏢",document.querySelector(".metadata #delivery-type-value").innerText=t.substring(0,1).toUpperCase()+t.substring(1))}document.querySelector(".metadata #delivery-address-key").innerHTML=e.result.address?'':"",document.querySelector(".metadata #delivery-address-value").innerHTML=e.result.address?Object.values(e.result.address).filter((e=>""!==e)).join("
"):"",document.querySelector(".metadata").classList.remove("invisible"),populateAddressAdditionalInfo(address.componentsCollectionMap,document.querySelector("#components-collection")),populateAddressAdditionalInfo(address.metadataCollectionMap,document.querySelector("#metadata-collection"))}function populateAddressAdditionalInfo(e,t,a,d){if(e.size>0){let n=t.getElementsByClassName("content")[0];t.classList.remove("hidden");let s=n;if(a){let e=document.createElement("div");const t=document.createElement("h3");if(t.innerText=a,e.append(t),d){let t=document.createElement("span");t.classList.add("collapsible"),createCollapsibleELement(t,d);let a=document.createElement("div");a.classList.add("content"),a.setAttribute("style","display: none;"),s=a,e.append(t,a)}n.append(e)}populateContent(e,s)}}function createCollapsibleELement(e,t){let a=document.createElement("span");a.innerText="[Hide]",a.classList.add(`hide${t}`),a.classList.add("hidden");let d=document.createElement("span");d.innerText="[Show]",d.classList.add(`show${t}`),e.append(a,d),addCollapsibleEventListener(e,`.hide${t}`,`.show${t}`)}function populateContent(e,t){e.forEach(((e,a)=>{const d=document.createElement("span");let n=document.createElement("br");if("object"==typeof e)d.innerText=`${a}: `,t.append(d,n),addChildElement(Object.entries(e),t,1,!0);else{if(address.tooltipDescriptionMap.has(a)){let t=document.createElement("div");t.classList.add("tooltip"),t.innerText=`${e}`;let n=document.createElement("span");n.classList.add("tooltiptext"),n.innerText=`${address.tooltipDescriptionMap.get(a)}`,t.append(n),d.innerText=`${a}: `,d.append(t)}else d.innerText=`${a}: ${e}`;t.append(d,n)}})),t.append(document.createElement("br"))}function addChildElement(e,t,a,d){for(const[n,s]of e){const e=document.createElement("span");let o=document.createElement("br");if(e.classList.add("tab"),e.setAttribute("style","--spaces: "+2*a+"em;"),"object"==typeof s){let r=a;d&&(e.innerText=`${n}: `,r=a+1,t.append(e,o)),addChildElement(Object.entries(s),t,r,!(Array.isArray(s)&&1===s.length))}else e.innerText=`${n}: ${s}`,t.append(e,o)}}function resetMetadata(){document.querySelector(".metadata #confidence-key").innerText="",document.querySelector(".metadata #confidence-value").innerText="",document.querySelector(".metadata #delivery-type-key").innerText="",document.querySelector(".metadata #delivery-type-value").innerText="",document.querySelector(".metadata #what3words-key").classList.add("hidden"),document.querySelector(".metadata #what3words-value").classList.add("hidden"),document.querySelector(".metadata").classList.add("invisible"),resetMetadataElements(document.getElementById("validated-address-info")),resetMetadataElements(document.getElementById("components-collection"),!0),document.querySelector("#components-collection").classList.add("hidden"),resetMetadataElements(document.getElementById("metadata-collection"),!0),document.querySelector("#metadata-collection").classList.add("hidden"),resetMetadataElements(document.getElementById("enrichment"),!0),document.querySelector("#enrichment").classList.add("hidden"),document.querySelector("#map").classList.add("hidden")}function resetMetadataElements(e,t){t&&(e.querySelector(".hide").classList.add("hidden"),e.querySelector(".show").classList.remove("hidden")),e.querySelectorAll(".content").forEach((e=>{e.style.display=t?"none":"block",t&&(removeElements(e.getElementsByTagName("div")),removeElements(e.getElementsByTagName("span")),removeElements(e.getElementsByTagName("br")),removeElements(e.getElementsByTagName("h3")))}))}function removeElements(e){Array.from(e).forEach((e=>e.remove()))}function onContentLoaded(){document.querySelectorAll(".collapsible").forEach((e=>addCollapsibleEventListener(e,".hide",".show")))}function addCollapsibleEventListener(e,t,a){e.addEventListener("click",(function(){let e=this.nextElementSibling,d=e.parentElement,n=d.querySelector(t),s=d.querySelector(a);"block"===e.style.display?(e.style.display="none",n.classList.add("hidden"),s.classList.remove("hidden")):(e.style.display="block",n.classList.remove("hidden"),s.classList.add("hidden"))}))}address.events.on("post-enrichment",(function(e){let t=document.querySelector("#enrichment");if(address.geocodes.detailsMap.size>0||e.result.what3words&&e.result.what3words.latitude||address.cvHousehold.detailsMap.size>0){let s,o,r,i,l,c;document.querySelector(".metadata #what3words-key").classList.add("hidden"),document.querySelector(".metadata #what3words-value").classList.add("hidden"),t.classList.remove("hidden"),populateAddressAdditionalInfo(address.cvHousehold.detailsMap,t,address.cvHousehold.title,1),populateAddressAdditionalInfo(address.geocodes.detailsMap,t,address.geocodes.title,2),e.result.what3words&&e.result.what3words.latitude&&(document.querySelector(".metadata #what3words-key").classList.remove("hidden"),document.querySelector(".metadata #what3words-value").classList.remove("hidden"),document.querySelector(".metadata #what3words-value").innerHTML="///"+e.result.what3words.name,s=e.result.what3words.latitude,o=e.result.what3words.longitude,r=[s,o]),e.result.nzl_regional_geocodes?(i=address.geocodes.detailsMap.get("Centroid of Property Latitude"),l=address.geocodes.detailsMap.get("Centroid of Property Longitude")):(i=address.geocodes.detailsMap.get("Latitude"),l=address.geocodes.detailsMap.get("Longitude")),i&&l&&(c=[i,l]);var a=L.icon({iconUrl:"./dist/images/w3w.loc.png",iconSize:[30,37],iconAnchor:[15,36],popupAnchor:[0,-20]});if(r||c){document.querySelector("#map").classList.remove("hidden"),addressValidationMap?(addressValidationW3wMarker&&addressValidationW3wMarker.remove(),addressValidationGeoMarker&&addressValidationGeoMarker.remove()):(addressValidationMap=L.map("map").setView([51.500264,.633506],16),L.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'© OpenStreetMap contributors'}).addTo(addressValidationMap));var d=[];r&&(addressValidationMap.panTo(r,{duration:1}),addressValidationW3wMarker=L.marker(r,{icon:a}).addTo(addressValidationMap),d.push(addressValidationW3wMarker)),c&&(addressValidationMap.panTo(c,{duration:1}),addressValidationGeoMarker=L.marker(c).addTo(addressValidationMap),d.push(addressValidationGeoMarker));var n=L.featureGroup(d);addressValidationMap.fitBounds(n.getBounds().pad(.25))}}address.premiumLocationInsightMap.size>0&&(t.classList.remove("hidden"),populateAddressAdditionalInfo(address.premiumLocationInsightMap,t,"Premium Location Insight",3))})),document.addEventListener("DOMContentLoaded",onContentLoaded); \ No newline at end of file +function populateMetadata(e){null!=e.enrichment&&address.getEnrichmentData(e.enrichment);const t=e.result.confidence;if(t&&(document.querySelector(".metadata #confidence-key").innerText="Verified match"===t?"✔":"❌",document.querySelector(".metadata #confidence-value").innerText=t),e.metadata&&e.metadata.address_classification){const t=e.metadata.address_classification.delivery_type;t&&(document.querySelector(".metadata #delivery-type-key").innerText="residential"===t?"🏡":"🏢",document.querySelector(".metadata #delivery-type-value").innerText=t.substring(0,1).toUpperCase()+t.substring(1))}document.querySelector(".metadata #delivery-address-key").innerHTML=e.result.address?'':"",document.querySelector(".metadata #delivery-address-value").innerHTML=e.result.address?Object.values(e.result.address).filter((e=>""!==e)).join("
"):"",document.querySelector(".metadata").classList.remove("invisible"),populateAddressAdditionalInfo(address.componentsCollectionMap,document.querySelector("#components-collection")),populateAddressAdditionalInfo(address.metadataCollectionMap,document.querySelector("#metadata-collection"))}function populateAddressAdditionalInfo(e,t,a,d){if(e.size>0){let n=t.getElementsByClassName("content")[0];t.classList.remove("hidden");let s=n;if(a){let e=document.createElement("div");const t=document.createElement("h3");if(t.innerText=a,e.append(t),d){let t=document.createElement("span");t.classList.add("collapsible"),createCollapsibleELement(t,d);let a=document.createElement("div");a.classList.add("content"),a.setAttribute("style","display: none;"),s=a,e.append(t,a)}n.append(e)}populateContent(e,s)}}function createCollapsibleELement(e,t){let a=document.createElement("span");a.innerText="[Hide]",a.classList.add(`hide${t}`),a.classList.add("hidden");let d=document.createElement("span");d.innerText="[Show]",d.classList.add(`show${t}`),e.append(a,d),addCollapsibleEventListener(e,`.hide${t}`,`.show${t}`)}function populateContent(e,t){e.forEach(((e,a)=>{const d=document.createElement("span");let n=document.createElement("br");if("object"==typeof e)d.innerText=`${a}: `,t.append(d,n),addChildElement(Object.entries(e),t,1,!0);else{if(address.tooltipDescriptionMap.has(a)){let t=document.createElement("div");t.classList.add("tooltip"),t.innerText=`${e}`;let n=document.createElement("span");n.classList.add("tooltiptext"),n.innerText=`${address.tooltipDescriptionMap.get(a)}`,t.append(n),d.innerText=`${a}: `,d.append(t)}else d.innerText=`${a}: ${e}`;t.append(d,n)}})),t.append(document.createElement("br"))}function addChildElement(e,t,a,d){for(const[n,s]of e){const e=document.createElement("span");let o=document.createElement("br");if(e.classList.add("tab"),e.setAttribute("style","--spaces: "+2*a+"em;"),"object"==typeof s){let r=a;d&&(e.innerText=`${n}: `,r=a+1,t.append(e,o)),addChildElement(Object.entries(s),t,r,!(Array.isArray(s)&&1===s.length))}else e.innerText=`${n}: ${s}`,t.append(e,o)}}function resetMetadata(){document.querySelector(".metadata #confidence-key").innerText="",document.querySelector(".metadata #confidence-value").innerText="",document.querySelector(".metadata #delivery-type-key").innerText="",document.querySelector(".metadata #delivery-type-value").innerText="",document.querySelector(".metadata #what3words-key").classList.add("hidden"),document.querySelector(".metadata #what3words-value").classList.add("hidden"),document.querySelector(".metadata").classList.add("invisible"),resetMetadataElements(document.getElementById("validated-address-info")),resetMetadataElements(document.getElementById("components-collection"),!0),document.querySelector("#components-collection").classList.add("hidden"),resetMetadataElements(document.getElementById("metadata-collection"),!0),document.querySelector("#metadata-collection").classList.add("hidden"),resetMetadataElements(document.getElementById("enrichment"),!0),document.querySelector("#enrichment").classList.add("hidden"),document.querySelector("#map").classList.add("hidden")}function resetMetadataElements(e,t){t&&(e.querySelector(".hide").classList.add("hidden"),e.querySelector(".show").classList.remove("hidden")),e.querySelectorAll(".content").forEach((e=>{e.style.display=t?"none":"block",t&&(removeElements(e.getElementsByTagName("div")),removeElements(e.getElementsByTagName("span")),removeElements(e.getElementsByTagName("br")),removeElements(e.getElementsByTagName("h3")))}))}function removeElements(e){Array.from(e).forEach((e=>e.remove()))}function onContentLoaded(){document.querySelectorAll(".collapsible").forEach((e=>addCollapsibleEventListener(e,".hide",".show")))}function addCollapsibleEventListener(e,t,a){e.addEventListener("click",(function(){let e=this.nextElementSibling,d=e.parentElement,n=d.querySelector(t),s=d.querySelector(a);"block"===e.style.display?(e.style.display="none",n.classList.add("hidden"),s.classList.remove("hidden")):(e.style.display="block",n.classList.remove("hidden"),s.classList.add("hidden"))}))}address.events.on("post-enrichment",(function(e){let t=document.querySelector("#enrichment");if(address.geocodes.detailsMap.size>0||e.result.what3words&&e.result.what3words.latitude||address.cvHousehold.detailsMap.size>0){let s,o,r,i,l,c;document.querySelector(".metadata #what3words-key").classList.add("hidden"),document.querySelector(".metadata #what3words-value").classList.add("hidden"),t.classList.remove("hidden"),populateAddressAdditionalInfo(address.cvHousehold.detailsMap,t,address.cvHousehold.title,1),populateAddressAdditionalInfo(address.geocodes.detailsMap,t,address.geocodes.title,2),e.result.what3words&&e.result.what3words.latitude&&(document.querySelector(".metadata #what3words-key").classList.remove("hidden"),document.querySelector(".metadata #what3words-value").classList.remove("hidden"),document.querySelector(".metadata #what3words-value").innerHTML="///"+e.result.what3words.name,s=e.result.what3words.latitude,o=e.result.what3words.longitude,r=[s,o]),e.result.nzl_regional_geocodes?(i=address.geocodes.detailsMap.get("Centroid of Property Latitude"),l=address.geocodes.detailsMap.get("Centroid of Property Longitude")):(i=address.geocodes.detailsMap.get("Latitude"),l=address.geocodes.detailsMap.get("Longitude")),i&&l&&(c=[i,l]);var a=L.icon({iconUrl:"./dist/images/w3w.loc.png",iconSize:[30,37],iconAnchor:[15,36],popupAnchor:[0,-20]});if(r||c){document.querySelector("#map").classList.remove("hidden"),addressValidationMap?(addressValidationW3wMarker&&addressValidationW3wMarker.remove(),addressValidationGeoMarker&&addressValidationGeoMarker.remove()):(addressValidationMap=L.map("map").setView([51.500264,.633506],16),L.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'© OpenStreetMap contributors'}).addTo(addressValidationMap));var d=[];r&&(addressValidationMap.panTo(r,{duration:1}),addressValidationW3wMarker=L.marker(r,{icon:a}).addTo(addressValidationMap),d.push(addressValidationW3wMarker)),c&&(addressValidationMap.panTo(c,{duration:1}),addressValidationGeoMarker=L.marker(c).addTo(addressValidationMap),d.push(addressValidationGeoMarker));var n=L.featureGroup(d);addressValidationMap.fitBounds(n.getBounds().pad(.25))}}address.premiumLocationInsightMap.size>0&&(t.classList.remove("hidden"),populateAddressAdditionalInfo(address.premiumLocationInsightMap,t,"Premium Location Insight",3))})),document.addEventListener("DOMContentLoaded",onContentLoaded); \ No newline at end of file diff --git a/src/js/address-metadata-display.js b/src/js/address-metadata-display.js index fc76e15..3325822 100644 --- a/src/js/address-metadata-display.js +++ b/src/js/address-metadata-display.js @@ -93,7 +93,9 @@ address.events.on("post-enrichment", function (data) { // Display and populate the "metadata" container function populateMetadata(data) { // Try and get some geocoded enrichment data - address.getEnrichmentData(data.enrichment); + if (data.enrichment != null) { + address.getEnrichmentData(data.enrichment); + } const confidence = data.result.confidence; if (confidence) {