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 () {