From 6f5cf83a56c47b63a90465bc8c7b4f230c5deb1b Mon Sep 17 00:00:00 2001 From: Will Bradley Date: Tue, 2 Dec 2025 15:38:55 -0800 Subject: [PATCH] show removed and properties properly --- web/app.js | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/web/app.js b/web/app.js index 941c812..199571d 100644 --- a/web/app.js +++ b/web/app.js @@ -93,7 +93,7 @@ function diffStyle(feature) { }; } - const isRemoved = feature.properties && feature.properties.removed === true; + const isRemoved = feature.properties && (feature.properties.removed === true || feature.properties.removed === 'True'); return { color: isRemoved ? '#dc3545' : '#28a745', weight: 3, @@ -191,21 +191,24 @@ function selectFeature(feature, layer, e) { // Create popup near the clicked location const props = feature.properties || {}; - const isRemoved = props.removed === true; + const isRemoved = props.removed === true || props.removed === 'True'; const isAccepted = acceptedFeatures.has(feature); const isRejected = rejectedFeatures.has(feature); - let html = '
'; - html += `
Status: ${isRemoved ? 'Removed' : 'Added/Modified'}
`; + let html = '
'; + html += `
Status: ${isRemoved ? 'Removed' : 'Added/Modified'}
`; - if (props.name) { - html += `
Name: ${props.name}
`; - } - if (props.highway) { - html += `
Highway: ${props.highway}
`; - } - if (props.service) { - html += `
Service: ${props.service}
`; + // Display all non-null properties + const displayProps = Object.entries(props) + .filter(([key, value]) => value !== null && value !== undefined && key !== 'removed') + .sort(([a], [b]) => a.localeCompare(b)); + + if (displayProps.length > 0) { + html += '
'; + for (const [key, value] of displayProps) { + html += `
${key}: ${value}
`; + } + html += '
'; } if (isAccepted) {