]> git.openstreetmap.org Git - rails.git/blob - app/assets/javascripts/edit/id.js.erb
ea3426ca1a73ccbdd5dd025cc7942b1fad7dee51
[rails.git] / app / assets / javascripts / edit / id.js.erb
1 $(document).ready(function () {
2   var id = $("#id-embed");
3
4   if (id.data("configured") === true) {
5     var hash = location.hash.substring(1);
6     var hashParams = hash ? OSM.params(hash) : {};
7     var mapParams = OSM.mapParams();
8     var params = new URLSearchParams();
9
10     if (mapParams.object) {
11       params.set("id", mapParams.object.type + "/" + mapParams.object.id);
12       mapParams = OSM.parseHash(location.hash);
13       if (mapParams.center) {
14         params.set("map", mapParams.zoom + "/" + mapParams.center.lat + "/" + mapParams.center.lng);
15       }
16     } else if (id.data("lat") && id.data("lon")) {
17       params.set("map", "16/" + id.data("lat") + "/" + id.data("lon"));
18     } else {
19       params.set("map", (mapParams.zoom || 17) + "/" + mapParams.lat + "/" + mapParams.lon);
20     }
21
22     if (hashParams.background) params.set("background", hashParams.background);
23     if (hashParams.comment) params.set("comment", hashParams.comment);
24     if (hashParams.disable_features) params.set("disable_features", hashParams.disable_features);
25     if (hashParams.hashtags) params.set("hashtags", hashParams.hashtags);
26     if (hashParams.locale) params.set("locale", hashParams.locale);
27     if (hashParams.maprules) params.set("maprules", hashParams.maprules);
28     if (hashParams.notes) params.set("notes", hashParams.notes);
29     if (hashParams.offset) params.set("offset", hashParams.offset);
30     if (hashParams.photo) params.set("photo", hashParams.photo);
31     if (hashParams.photo_dates) params.set("photo_dates", hashParams.photo_dates);
32     if (hashParams.photo_overlay) params.set("photo_overlay", hashParams.photo_overlay);
33     if (hashParams.photo_username) params.set("photo_username", hashParams.photo_username);
34     if (hashParams.presets) params.set("presets", hashParams.presets);
35     if (hashParams.source) params.set("source", hashParams.source);
36     if (hashParams.validationDisable) params.set("validationDisable", hashParams.validationDisable);
37     if (hashParams.validationWarning) params.set("validationWarning", hashParams.validationWarning);
38     if (hashParams.validationError) params.set("validationError", hashParams.validationError);
39     if (hashParams.walkthrough) params.set("walkthrough", hashParams.walkthrough);
40
41     if (Cookies.get("_osm_location")?.split("|")[3].includes("N")) params.set("notes", "true");
42
43     if (id.data("gpx")) {
44       params.set("gpx", id.data("gpx"));
45     } else if (hashParams.gpx) {
46       params.set("gpx", hashParams.gpx);
47     }
48
49     id.attr("src", id.data("url") + "#" + params);
50   } else {
51     alert(I18n.t("site.edit.id_not_configured"));
52   }
53 });