Skip to content

Commit

Permalink
Fix sidebar race conditions
Browse files Browse the repository at this point in the history
  • Loading branch information
quincylvania committed Dec 13, 2024
1 parent bb0e7d8 commit 04e5c6b
Showing 1 changed file with 17 additions and 5 deletions.
22 changes: 17 additions & 5 deletions js/sidebarController.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,11 @@ function closeSidebar() {

function updateSidebar(entity) {

let sidebarElement = document.getElementById('sidebar');
if (!sidebarElement) return;

if (!entity) {
document.getElementById('sidebar').innerHTML = "";
sidebarElement.innerHTML = "";
return;
}

Expand Down Expand Up @@ -79,7 +82,7 @@ function updateSidebar(entity) {
html += "</p>";
html += "</div>";

document.getElementById('sidebar').innerHTML = html;
sidebarElement.innerHTML = html;

fetchOsmEntity(type, entityId).then(function(entity) {
if (entity) {
Expand All @@ -97,6 +100,9 @@ function updateSidebar(entity) {
}

function updateMetaTable(entity, changeset) {
const element = document.getElementById('meta-table');
if (!element) return;

let formattedDate = getFormattedDate(new Date(entity.timestamp));
let comment = changeset && changeset.tags && changeset.tags.comment || '';
let sources = changeset && changeset.tags && changeset.tags.source || '';
Expand All @@ -109,7 +115,7 @@ function updateMetaTable(entity, changeset) {
html += `<tr><td>Changeset</td><td><a href="https://www.openstreetmap.org/changeset/${entity.changeset}" target="_blank">${entity.changeset}</a></td></tr>`;
html += `<tr><td>Comment</td><td>${comment}</td></tr>`;
html += `<tr><td>Source</td><td>${sources}</td></tr>`;
document.getElementById('meta-table').innerHTML = html;
element.innerHTML = html;
}

const urlRegex = /^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)$/i;
Expand All @@ -118,6 +124,9 @@ const wikipediaRegex = /^(.+):(.+)$/;
const nwisRegex = /^\d{8,15}$/;

function updateTagsTable(tags) {
const element = document.getElementById('tag-table');
if (!element) return;

let html = "";
html += `<tr><th>Key</th><th>Value</th></tr>`;
let keys = Object.keys(tags).sort();
Expand All @@ -137,10 +146,13 @@ function updateTagsTable(tags) {
}
html += `<tr><td><a target="_blank" rel="nofollow" href="https://wiki.openstreetmap.org/wiki/Key:${key}">${key}</a></td><td>${element}</td></tr>`;
}
document.getElementById('tag-table').innerHTML = html;
element.innerHTML = html;
}

function updateMembershipsTable(memberships) {
const element = document.getElementById('relations-table');
if (!element) return;

let html = "";

if (memberships.length) {
Expand All @@ -159,7 +171,7 @@ function updateMembershipsTable(memberships) {
html += `<tr><th>Relations</th></tr>`;
html += `<tr><td><i>none</i></td></tr>`;
}
document.getElementById('relations-table').innerHTML = html;
element.innerHTML = html;
}

function didClickEntityLink(e) {
Expand Down

0 comments on commit 04e5c6b

Please sign in to comment.