From 530e26b943bd05821145e6e04717a7573627eb00 Mon Sep 17 00:00:00 2001 From: Marwin Hochfelsner <50826859+hlfan@users.noreply.github.com> Date: Tue, 5 Aug 2025 15:31:21 +0200 Subject: [PATCH] Instantiate js controllers only in router --- app/assets/javascripts/index.js | 40 +++++++++++++++----------------- app/assets/javascripts/router.js | 2 +- 2 files changed, 20 insertions(+), 22 deletions(-) diff --git a/app/assets/javascripts/index.js b/app/assets/javascripts/index.js index 024b590e4..a4c100bea 100644 --- a/app/assets/javascripts/index.js +++ b/app/assets/javascripts/index.js @@ -287,28 +287,26 @@ $(function () { return page; }; - const history = OSM.History(map); - OSM.router = OSM.Router(map, { - "/": OSM.Index(map), - "/search": OSM.Search(map), - "/directions": OSM.Directions(map), - "/export": OSM.Export(map), - "/note/new": OSM.NewNote(map), - "/history/friends": history, - "/history/nearby": history, - "/history": history, - "/user/:display_name/history": history, - "/note/:id": OSM.Note(map), - "/node/:id(/history)": OSM.MappedElement("node")(map), - "/node/:id/history/:version": OSM.MappedElement("node")(map), - "/way/:id(/history)": OSM.MappedElement("way")(map), - "/way/:id/history/:version": OSM.Element("way")(map), - "/relation/:id(/history)": OSM.MappedElement("relation")(map), - "/relation/:id/history/:version": OSM.Element("relation")(map), - "/changeset/:id": OSM.Changeset(map), - "/query": OSM.Query(map), - "/account/home": OSM.Home(map) + "/": OSM.Index, + "/search": OSM.Search, + "/directions": OSM.Directions, + "/export": OSM.Export, + "/note/new": OSM.NewNote, + "/history/friends": OSM.History, + "/history/nearby": OSM.History, + "/history": OSM.History, + "/user/:display_name/history": OSM.History, + "/note/:id": OSM.Note, + "/node/:id(/history)": OSM.MappedElement("node"), + "/node/:id/history/:version": OSM.MappedElement("node"), + "/way/:id(/history)": OSM.MappedElement("way"), + "/way/:id/history/:version": OSM.Element("way"), + "/relation/:id(/history)": OSM.MappedElement("relation"), + "/relation/:id/history/:version": OSM.Element("relation"), + "/changeset/:id": OSM.Changeset, + "/query": OSM.Query, + "/account/home": OSM.Home }); if (OSM.preferred_editor === "remote" && location.pathname === "/edit") { diff --git a/app/assets/javascripts/router.js b/app/assets/javascripts/router.js index 77def5f4b..ffc4f2fea 100644 --- a/app/assets/javascripts/router.js +++ b/app/assets/javascripts/router.js @@ -83,7 +83,7 @@ OSM.Router = function (map, rts) { } const routes = Object.entries(rts) - .map(([r, t]) => new Route(r, t)); + .map(([path, controller]) => new Route(path, controller(map))); routes.recognize = function (path) { for (const route of this) { -- 2.39.5