From f5e0b7ba14cb698ea5884cdfea5fb90fac1f6149 Mon Sep 17 00:00:00 2001 From: Marwin Hochfelsner <50826859+hlfan@users.noreply.github.com> Date: Mon, 13 Jul 2026 23:29:31 +0200 Subject: [PATCH] Make loadSidebarContent use promises --- app/assets/javascripts/index.js | 8 ++------ app/assets/javascripts/index_modules/changeset.js | 8 ++++---- app/assets/javascripts/index_modules/directions.js | 2 +- app/assets/javascripts/index_modules/element.js | 2 +- app/assets/javascripts/index_modules/export.js | 3 ++- app/assets/javascripts/index_modules/history.js | 3 ++- app/assets/javascripts/index_modules/new_note.js | 5 ++--- app/assets/javascripts/index_modules/note.js | 7 +++---- app/assets/javascripts/index_modules/query.js | 5 ++--- app/assets/javascripts/index_modules/search.js | 3 ++- 10 files changed, 21 insertions(+), 25 deletions(-) diff --git a/app/assets/javascripts/index.js b/app/assets/javascripts/index.js index 591e5fd1c..242ddd871 100644 --- a/app/assets/javascripts/index.js +++ b/app/assets/javascripts/index.js @@ -24,7 +24,7 @@ $(function () { worldCopyJump: true }); - OSM.loadSidebarContent = function (path, callback) { + OSM.loadSidebarContent = function (path) { const atomSelector = "link[type=\"application/atom+xml\"]"; map.setSidebarOverlaid(false); @@ -38,7 +38,7 @@ $(function () { $("#sidebar_content") .empty(); - fetch(xhrPath, { headers: { "accept": "text/html", "x-requested-with": "XMLHttpRequest" } }) + return fetch(xhrPath, { headers: { "accept": "text/html", "x-requested-with": "XMLHttpRequest" } }) .then(response => { $("#flash").empty(); $("#sidebar_loader").removeClass("delayed-fade-in").prop("hidden", true); @@ -56,10 +56,6 @@ $(function () { $("head").append(content.filter(atomSelector)); $("#sidebar_content").html(content.not(atomSelector)); - - if (callback) { - callback(); - } }); }; diff --git a/app/assets/javascripts/index_modules/changeset.js b/app/assets/javascripts/index_modules/changeset.js index 370c1f98b..caba9e82b 100644 --- a/app/assets/javascripts/index_modules/changeset.js +++ b/app/assets/javascripts/index_modules/changeset.js @@ -11,9 +11,8 @@ export default function (map) { }); page.pushstate = page.popstate = function (path) { - OSM.loadSidebarContent(path, function () { - page.load(); - }); + OSM.loadSidebarContent(path) + .then(() => page.load()); }; page.load = function () { @@ -54,7 +53,8 @@ export default function (map) { }); }) .then(() => { - OSM.loadSidebarContent(location.pathname, page.load); + OSM.loadSidebarContent(location.pathname) + .then(page.load); }) .catch(error => { content.find("button[data-method][data-url]").prop("disabled", false); diff --git a/app/assets/javascripts/index_modules/directions.js b/app/assets/javascripts/index_modules/directions.js index 046fe61ea..8642ad55b 100644 --- a/app/assets/javascripts/index_modules/directions.js +++ b/app/assets/javascripts/index_modules/directions.js @@ -252,7 +252,7 @@ export default function (map) { if (sidebarReadyPromise) return sidebarReadyPromise; - sidebarReadyPromise = new Promise(resolve => OSM.loadSidebarContent("/directions", resolve)); + sidebarReadyPromise = OSM.loadSidebarContent("/directions"); return sidebarReadyPromise; } diff --git a/app/assets/javascripts/index_modules/element.js b/app/assets/javascripts/index_modules/element.js index cb3f208c9..bbe5537f1 100644 --- a/app/assets/javascripts/index_modules/element.js +++ b/app/assets/javascripts/index_modules/element.js @@ -8,7 +8,7 @@ export function element(type) { const page = {}; page.pushstate = page.popstate = function (path, id, version) { - OSM.loadSidebarContent(path, function () { + OSM.loadSidebarContent(path).then(function () { page._addObject(type, id, version); $(".numbered_pagination").trigger("numbered_pagination:enable"); abortController = new AbortController(); diff --git a/app/assets/javascripts/index_modules/export.js b/app/assets/javascripts/index_modules/export.js index 02e7dfb32..dcf7887af 100644 --- a/app/assets/javascripts/index_modules/export.js +++ b/app/assets/javascripts/index_modules/export.js @@ -81,7 +81,8 @@ export default function (map) { } page.pushstate = page.popstate = function (path) { - OSM.loadSidebarContent(path, page.load); + OSM.loadSidebarContent(path) + .then(page.load); }; page.load = function () { diff --git a/app/assets/javascripts/index_modules/history.js b/app/assets/javascripts/index_modules/history.js index c527a6d58..4676ba3ab 100644 --- a/app/assets/javascripts/index_modules/history.js +++ b/app/assets/javascripts/index_modules/history.js @@ -288,7 +288,8 @@ export default function (map) { } page.pushstate = page.popstate = function (path) { - OSM.loadSidebarContent(path, page.load); + OSM.loadSidebarContent(path) + .then(page.load); }; page.load = function () { diff --git a/app/assets/javascripts/index_modules/new_note.js b/app/assets/javascripts/index_modules/new_note.js index cbd52030e..fb264e673 100644 --- a/app/assets/javascripts/index_modules/new_note.js +++ b/app/assets/javascripts/index_modules/new_note.js @@ -98,9 +98,8 @@ export default function (map) { } page.pushstate = page.popstate = function (path) { - OSM.loadSidebarContent(path, function () { - page.load(path); - }); + OSM.loadSidebarContent(path) + .then(() => page.load(path)); }; page.load = function (path) { diff --git a/app/assets/javascripts/index_modules/note.js b/app/assets/javascripts/index_modules/note.js index 122a74930..a35f67eb2 100644 --- a/app/assets/javascripts/index_modules/note.js +++ b/app/assets/javascripts/index_modules/note.js @@ -3,7 +3,7 @@ export default function (map) { page = {}; page.pushstate = page.popstate = function (path, id) { - OSM.loadSidebarContent(path, function () { + OSM.loadSidebarContent(path).then(function () { const data = $(".details").data(); if (!data) return; const [lat, lng] = data.coordinates.split(",").map(parseFloat); @@ -42,9 +42,8 @@ export default function (map) { }); }) .then(() => { - OSM.loadSidebarContent(path, () => { - initialize(path, id, false); - }); + OSM.loadSidebarContent(path) + .then(() => initialize(path, id, false)); }) .catch(error => { content.find("#comment-error") diff --git a/app/assets/javascripts/index_modules/query.js b/app/assets/javascripts/index_modules/query.js index 94e3f4e5e..25ee02387 100644 --- a/app/assets/javascripts/index_modules/query.js +++ b/app/assets/javascripts/index_modules/query.js @@ -199,9 +199,8 @@ export default function (map) { const page = {}; page.pushstate = page.popstate = function (path) { - OSM.loadSidebarContent(path, function () { - page.load(path, true); - }); + OSM.loadSidebarContent(path) + .then(() => page.load(path, true)); }; page.load = function (path, noCentre) { diff --git a/app/assets/javascripts/index_modules/search.js b/app/assets/javascripts/index_modules/search.js index eb141aee7..6bff0d89d 100644 --- a/app/assets/javascripts/index_modules/search.js +++ b/app/assets/javascripts/index_modules/search.js @@ -78,7 +78,8 @@ export default function (map) { } else if (params.has("lat") && params.has("lon")) { $(".search_form input[name=query]").val(params.get("lat") + ", " + params.get("lon")); } - OSM.loadSidebarContent(path, page.load); + OSM.loadSidebarContent(path) + .then(page.load); }; page.load = function () { -- 2.47.3