Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/pull/5394'
Browse files Browse the repository at this point in the history
  • Loading branch information
tomhughes committed Dec 12, 2024
2 parents 1bee96e + 1ba5b7f commit 326d4ec
Showing 1 changed file with 24 additions and 4 deletions.
28 changes: 24 additions & 4 deletions app/assets/javascripts/id.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,12 @@ document.addEventListener("DOMContentLoaded", function () {
.containerNode(container)
.init();

if (parent === window) {
// iD not opened in an iframe -> skip setting of parent handlers
return;
}

var hashChangedAutomatically = false;
id.map().on("move.embed", parent.$.throttle(250, function () {
if (id.inIntro()) return;
var zoom = ~~id.map().zoom(),
Expand All @@ -40,21 +46,35 @@ document.addEventListener("DOMContentLoaded", function () {
// https://gist.github.com/jfirebaugh/5439412
var hash = parent.OSM.formatHash(llz);
if (hash !== parent.location.hash) {
hashChangedAutomatically = true;
parent.location.replace(parent.location.href.replace(/(#.*|$)/, hash));
}
}));

parent.$("body").on("click", "a.set_position", function (e) {
e.preventDefault();
var data = parent.$(this).data();

function goToLocation(data) {
// 0ms timeout to avoid iframe JS context weirdness.
// https://gist.github.com/jfirebaugh/5439412
setTimeout(function () {
id.map().centerZoom(
[data.lon, data.lat],
Math.max(data.zoom || 15, 13));
}, 0);
}

parent.$("body").on("click", "a.set_position", function (e) {
e.preventDefault();
var data = parent.$(this).data();
goToLocation(data);
});

parent.addEventListener("hashchange", function (e) {
if (hashChangedAutomatically) {
hashChangedAutomatically = false;
return;
}
e.preventDefault();
var data = parent.OSM.mapParams();
goToLocation(data);
});
}
});

0 comments on commit 326d4ec

Please sign in to comment.