Replace qs with URLSearchParams

This commit is contained in:
Tom Hughes 2025-02-02 11:55:43 +00:00
parent 8f7f02b025
commit 46cd3a1114
14 changed files with 87 additions and 252 deletions

View file

@ -1,12 +1,10 @@
//= require qs/dist/qs
OSM.initializeContextMenu = function (map) {
map.contextmenu.addItem({
text: I18n.t("javascripts.context.directions_from"),
callback: function directionsFromHere(e) {
const latlng = OSM.cropLocation(e.latlng, map.getZoom());
OSM.router.route("/directions?" + Qs.stringify({
OSM.router.route("/directions?" + new URLSearchParams({
from: latlng.join(","),
to: getDirectionsEndpointCoordinatesFromInput($("#route_to"))
}));
@ -18,7 +16,7 @@ OSM.initializeContextMenu = function (map) {
callback: function directionsToHere(e) {
const latlng = OSM.cropLocation(e.latlng, map.getZoom());
OSM.router.route("/directions?" + Qs.stringify({
OSM.router.route("/directions?" + new URLSearchParams({
from: getDirectionsEndpointCoordinatesFromInput($("#route_from")),
to: latlng.join(",")
}));
@ -30,7 +28,7 @@ OSM.initializeContextMenu = function (map) {
callback: function addNoteHere(e) {
const [lat, lon] = OSM.cropLocation(e.latlng, map.getZoom());
OSM.router.route("/note/new?" + Qs.stringify({ lat, lon }));
OSM.router.route("/note/new?" + new URLSearchParams({ lat, lon }));
}
});
@ -39,7 +37,7 @@ OSM.initializeContextMenu = function (map) {
callback: function describeLocation(e) {
const [lat, lon] = OSM.cropLocation(e.latlng, map.getZoom()).map(encodeURIComponent);
OSM.router.route("/search?" + Qs.stringify({ lat, lon }));
OSM.router.route("/search?" + new URLSearchParams({ lat, lon }));
}
});
@ -48,7 +46,7 @@ OSM.initializeContextMenu = function (map) {
callback: function queryFeatures(e) {
const [lat, lon] = OSM.cropLocation(e.latlng, map.getZoom());
OSM.router.route("/query?" + Qs.stringify({ lat, lon }));
OSM.router.route("/query?" + new URLSearchParams({ lat, lon }));
}
});

View file

@ -1,7 +1,6 @@
//= require ./directions-endpoint
//= require_self
//= require_tree ./directions
//= require qs/dist/qs
OSM.Directions = function (map) {
var routeRequest = null; // jqXHR object of an ongoing route request or null
@ -67,7 +66,7 @@ OSM.Directions = function (map) {
}
endpoints[0].swapCachedReverseGeocodes(endpoints[1]);
OSM.router.route("/directions?" + Qs.stringify({
OSM.router.route("/directions?" + new URLSearchParams({
route: routeTo + ";" + routeFrom
}));
});
@ -120,7 +119,7 @@ OSM.Directions = function (map) {
if (!points[0] || !points[1]) return;
$("header").addClass("closed");
OSM.router.replace("/directions?" + Qs.stringify({
OSM.router.replace("/directions?" + new URLSearchParams({
engine: chosenEngine.id,
route: points.map(p => OSM.cropLocation(p, map.getZoom()).join()).join(";")
}));
@ -287,19 +286,19 @@ OSM.Directions = function (map) {
endpoints[0].enable();
endpoints[1].enable();
var params = Qs.parse(location.search.substring(1)),
route = (params.route || "").split(";");
const params = new URLSearchParams(location.search),
route = (params.get("route") || "").split(";");
if (params.engine) {
var engineIndex = findEngine(params.engine);
if (params.has("engine")) {
var engineIndex = findEngine(params.get("engine"));
if (engineIndex >= 0) {
setEngine(engineIndex);
}
}
endpoints[0].setValue(params.from || route[0] || "");
endpoints[1].setValue(params.to || route[1] || "");
endpoints[0].setValue(params.get("from") || route[0] || "");
endpoints[1].setValue(params.get("to") || route[1] || "");
map.setSidebarOverlaid(!endpoints[0].latlng || !endpoints[1].latlng);
};

View file

@ -1,5 +1,3 @@
//= require qs/dist/qs
OSM.NewNote = function (map) {
var noteLayer = map.noteLayer,
content = $("#sidebar_content"),
@ -133,11 +131,11 @@ OSM.NewNote = function (map) {
map.addLayer(noteLayer);
var params = Qs.parse(path.substring(path.indexOf("?") + 1));
const params = new URLSearchParams(path.substring(path.indexOf("?")));
var markerLatlng;
if (params.lat && params.lon) {
markerLatlng = L.latLng(params.lat, params.lon);
if (params.has("lat") && params.has("lon")) {
markerLatlng = L.latLng(params.get("lat"), params.get("lon"));
} else {
markerLatlng = map.getCenter();
}

View file

@ -1,5 +1,3 @@
//= require qs/dist/qs
OSM.Query = function (map) {
var url = OSM.OVERPASS_URL,
credentials = OSM.OVERPASS_CREDENTIALS,
@ -301,7 +299,7 @@ OSM.Query = function (map) {
function clickHandler(e) {
const [lat, lon] = OSM.cropLocation(e.latlng, map.getZoom());
OSM.router.route("/query?" + Qs.stringify({ lat, lon }));
OSM.router.route("/query?" + new URLSearchParams({ lat, lon }));
}
function enableQueryMode() {
@ -326,8 +324,8 @@ OSM.Query = function (map) {
};
page.load = function (path, noCentre) {
var params = Qs.parse(path.substring(path.indexOf("?") + 1)),
latlng = L.latLng(params.lat, params.lon);
const params = new URLSearchParams(path.substring(path.indexOf("?"))),
latlng = L.latLng(params.get("lat"), params.get("lon"));
if (!window.location.hash && !noCentre && !map.getBounds().contains(latlng)) {
OSM.router.withoutMoveListener(function () {
@ -335,7 +333,7 @@ OSM.Query = function (map) {
});
}
queryOverpass(params.lat, params.lon);
queryOverpass(params.get("lat"), params.get("lon"));
};
page.unload = function (sameController) {

View file

@ -1,5 +1,3 @@
//= require qs/dist/qs
OSM.Search = function (map) {
$(".search_form input[name=query]").on("input", function (e) {
if ($(e.target).val() === "") {
@ -35,7 +33,7 @@ OSM.Search = function (map) {
$("header").addClass("closed");
const [lat, lon] = OSM.cropLocation(map.getCenter(), map.getZoom()).map(encodeURIComponent);
OSM.router.route("/search?" + Qs.stringify({ lat, lon }));
OSM.router.route("/search?" + new URLSearchParams({ lat, lon }));
});
$("#sidebar_content")
@ -115,12 +113,12 @@ OSM.Search = function (map) {
var page = {};
page.pushstate = page.popstate = function (path) {
var params = Qs.parse(path.substring(path.indexOf("?") + 1));
if (params.query) {
$(".search_form input[name=query]").val(params.query);
const params = new URLSearchParams(path.substring(path.indexOf("?")));
if (params.has("query")) {
$(".search_form input[name=query]").val(params.get("query"));
$(".describe_location").hide();
} else if (params.lat && params.lon) {
$(".search_form input[name=query]").val(params.lat + ", " + params.lon);
} else if (params.has("lat") && params.has("lon")) {
$(".search_form input[name=query]").val(params.get("lat") + ", " + params.get("lon"));
$(".describe_location").hide();
}
OSM.loadSidebarContent(path, page.load);