From: Marwin Hochfelsner <50826859+hlfan@users.noreply.github.com>
Date: Sat, 8 Feb 2025 10:43:54 +0000 (+0100)
Subject: Reduce condition complexity
X-Git-Tag: live~24^2~2
X-Git-Url: https://git.openstreetmap.org./rails.git/commitdiff_plain/a3c45f6ed66862ee394e2a207dedf400acef9b07?hp=e206dd527ef7c6d1829f131533d722e536e4bfb5
Reduce condition complexity
---
diff --git a/app/assets/javascripts/index/changeset.js b/app/assets/javascripts/index/changeset.js
index caf40f6b6..39b4abde1 100644
--- a/app/assets/javascripts/index/changeset.js
+++ b/app/assets/javascripts/index/changeset.js
@@ -61,13 +61,9 @@ OSM.Changeset = function (map) {
});
content.find("textarea").on("input", function (e) {
- var form = e.target.form;
-
- if ($(e.target).val() === "") {
- $(form.comment).prop("disabled", true);
- } else {
- $(form.comment).prop("disabled", false);
- }
+ const form = e.target.form,
+ disabled = $(e.target).val() === "";
+ form.comment.disabled = disabled;
});
content.find("textarea").val("").trigger("input");
diff --git a/app/assets/javascripts/index/directions.js b/app/assets/javascripts/index/directions.js
index 681479e52..356dc6271 100644
--- a/app/assets/javascripts/index/directions.js
+++ b/app/assets/javascripts/index/directions.js
@@ -79,13 +79,10 @@ OSM.Directions = function (map) {
});
function formatDistance(m) {
- if (m < 1000) {
- return I18n.t("javascripts.directions.distance_m", { distance: Math.round(m) });
- } else if (m < 10000) {
- return I18n.t("javascripts.directions.distance_km", { distance: (m / 1000.0).toFixed(1) });
- } else {
- return I18n.t("javascripts.directions.distance_km", { distance: Math.round(m / 1000) });
- }
+ const unitTemplate = "javascripts.directions.distance_";
+ if (m < 1000) return I18n.t(unitTemplate + "m", { distance: Math.round(m) });
+ if (m < 10000) return I18n.t(unitTemplate + "km", { distance: (m / 1000.0).toFixed(1) });
+ return I18n.t(unitTemplate + "km", { distance: Math.round(m / 1000) });
}
function formatHeight(m) {
@@ -179,28 +176,12 @@ OSM.Directions = function (map) {
// Add each row
route.steps.forEach(function (step) {
- var ll = step[0],
- direction = step[1],
- instruction = step[2],
- dist = step[3],
- lineseg = step[4];
-
- if (dist < 5) {
- dist = "";
- } else if (dist < 200) {
- dist = String(Math.round(dist / 10) * 10) + "m";
- } else if (dist < 1500) {
- dist = String(Math.round(dist / 100) * 100) + "m";
- } else if (dist < 5000) {
- dist = String(Math.round(dist / 100) / 10) + "km";
- } else {
- dist = String(Math.round(dist / 1000)) + "km";
- }
+ const [ll, direction, instruction, dist, lineseg] = step;
var row = $("
");
row.append(" | ");
row.append("" + instruction);
- row.append(" | " + dist);
+ row.append(" | " + getDistText(dist));
row.on("click", function () {
popup
@@ -232,6 +213,14 @@ OSM.Directions = function (map) {
// TODO: collapse width of sidebar back to previous
});
});
+
+ function getDistText(dist) {
+ if (dist < 5) return "";
+ if (dist < 200) return String(Math.round(dist / 10) * 10) + "m";
+ if (dist < 1500) return String(Math.round(dist / 100) * 100) + "m";
+ if (dist < 5000) return String(Math.round(dist / 100) / 10) + "km";
+ return String(Math.round(dist / 1000)) + "km";
+ }
}
var chosenEngineIndex = findEngine("fossgis_osrm_car");
diff --git a/app/assets/javascripts/leaflet.map.js b/app/assets/javascripts/leaflet.map.js
index 6e42d4ac1..1324532d3 100644
--- a/app/assets/javascripts/leaflet.map.js
+++ b/app/assets/javascripts/leaflet.map.js
@@ -106,9 +106,8 @@ L.OSM.Map = L.Map.extend({
link.attr("target", "_blank");
}
return link.prop("outerHTML");
- } else {
- return text;
}
+ return text;
}
},
@@ -169,16 +168,15 @@ L.OSM.Map = L.Map.extend({
getShortUrl: function (marker) {
var zoom = this.getZoom(),
latLng = marker && this.hasLayer(marker) ? marker.getLatLng().wrap() : this.getCenter().wrap(),
- str = window.location.hostname.match(/^www\.openstreetmap\.org/i) ?
- window.location.protocol + "//osm.org/go/" :
- window.location.protocol + "//" + window.location.hostname + "/go/",
+ str = window.location.protocol + "//" + window.location.hostname.replace(/^www\.openstreetmap\.org/i, "osm.org") + "/go/",
char_array = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_~",
x = Math.round((latLng.lng + 180.0) * ((1 << 30) / 90.0)),
y = Math.round((latLng.lat + 90.0) * ((1 << 30) / 45.0)),
// JavaScript only has to keep 32 bits of bitwise operators, so this has to be
// done in two parts. each of the parts c1/c2 has 30 bits of the total in it
// and drops the last 4 bits of the full 64 bit Morton code.
- c1 = interlace(x >>> 17, y >>> 17), c2 = interlace((x >>> 2) & 0x7fff, (y >>> 2) & 0x7fff),
+ c1 = interlace(x >>> 17, y >>> 17),
+ c2 = interlace((x >>> 2) & 0x7fff, (y >>> 2) & 0x7fff),
digit,
i;
@@ -313,13 +311,8 @@ L.OSM.Map = L.Map.extend({
});
map._objectLayer.interestingNode = function (node, wayNodes, relationNodes) {
- if (object.type === "node") {
- return true;
- } else if (object.type === "relation") {
- return Boolean(relationNodes[node.id]);
- } else {
- return false;
- }
+ return object.type === "node" ||
+ (object.type === "relation" && Boolean(relationNodes[node.id]));
};
map._objectLayer.addData(data);
diff --git a/app/assets/javascripts/leaflet.note.js b/app/assets/javascripts/leaflet.note.js
index 19fc9392c..801c6e6db 100644
--- a/app/assets/javascripts/leaflet.note.js
+++ b/app/assets/javascripts/leaflet.note.js
@@ -21,12 +21,8 @@ L.OSM.note = function (options) {
.attr("data-bs-original-title", I18n.t(isDisabled ?
"javascripts.site.createnote_disabled_tooltip" :
"javascripts.site.createnote_tooltip"));
-
- if (isDisabled && !wasDisabled) {
- link.trigger("disabled");
- } else if (wasDisabled && !isDisabled) {
- link.trigger("enabled");
- }
+ if (isDisabled === wasDisabled) return;
+ link.trigger(isDisabled ? "disabled" : "enabled");
}
update();
diff --git a/app/assets/javascripts/leaflet.query.js b/app/assets/javascripts/leaflet.query.js
index 00292b74d..87f45ce99 100644
--- a/app/assets/javascripts/leaflet.query.js
+++ b/app/assets/javascripts/leaflet.query.js
@@ -13,8 +13,6 @@ L.OSM.query = function (options) {
map.on("zoomend", update);
- update();
-
function update() {
var wasDisabled = link.hasClass("disabled"),
isDisabled = map.getZoom() < 14;
@@ -23,14 +21,12 @@ L.OSM.query = function (options) {
.attr("data-bs-original-title", I18n.t(isDisabled ?
"javascripts.site.queryfeature_disabled_tooltip" :
"javascripts.site.queryfeature_tooltip"));
-
- if (isDisabled && !wasDisabled) {
- link.trigger("disabled");
- } else if (wasDisabled && !isDisabled) {
- link.trigger("enabled");
- }
+ if (isDisabled === wasDisabled) return;
+ link.trigger(isDisabled ? "disabled" : "enabled");
}
+ update();
+
return $container[0];
};
diff --git a/app/assets/javascripts/router.js b/app/assets/javascripts/router.js
index 30a71e0f1..63a320c6a 100644
--- a/app/assets/javascripts/router.js
+++ b/app/assets/javascripts/router.js
@@ -142,11 +142,8 @@ OSM.Router = function (map, rts) {
};
router.stateChange = function (state) {
- if (state.center) {
- window.history.replaceState(state, document.title, OSM.formatHash(state));
- } else {
- window.history.replaceState(state, document.title, window.location);
- }
+ const url = state.center ? OSM.formatHash(state) : window.location;
+ window.history.replaceState(state, document.title, url);
};
router.updateHash = function () {
|