From 3fbc8a3d3224a4f5bb4a222aa820d885944a60fe Mon Sep 17 00:00:00 2001 From: Marwin Hochfelsner <50826859+hlfan@users.noreply.github.com> Date: Mon, 10 Feb 2025 17:15:45 +0100 Subject: [PATCH] Enable a few linting rules --- app/assets/javascripts/application.js | 4 ++-- app/assets/javascripts/index/contextmenu.js | 3 +-- app/assets/javascripts/index/layers/data.js | 2 +- app/assets/javascripts/index/query.js | 24 ++++++++++----------- app/assets/javascripts/leaflet.locate.js | 7 +++--- app/assets/javascripts/osm.js.erb | 3 ++- config/eslint.js | 5 +++++ 7 files changed, 27 insertions(+), 21 deletions(-) diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index 86a0a0789..2e13f6967 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -113,13 +113,13 @@ $(document).ready(function () { */ setTimeout(function () { $("header").children(":visible").each(function (i, e) { - headerWidth = headerWidth + $(e).outerWidth(); + headerWidth += $(e).outerWidth(); }); $("body").addClass("compact-nav"); $("header").children(":visible").each(function (i, e) { - compactWidth = compactWidth + $(e).outerWidth(); + compactWidth += $(e).outerWidth(); }); $("body").removeClass("compact-nav"); diff --git a/app/assets/javascripts/index/contextmenu.js b/app/assets/javascripts/index/contextmenu.js index fea7e7314..d7e6b427d 100644 --- a/app/assets/javascripts/index/contextmenu.js +++ b/app/assets/javascripts/index/contextmenu.js @@ -65,9 +65,8 @@ OSM.initializeContextMenu = function (map) { function getDirectionsEndpointCoordinatesFromInput(input) { if (input.attr("data-lat") && input.attr("data-lon")) { return input.attr("data-lat") + "," + input.attr("data-lon"); - } else { - return $(input).val(); } + return $(input).val(); } var updateMenu = function updateMenu() { diff --git a/app/assets/javascripts/index/layers/data.js b/app/assets/javascripts/index/layers/data.js index dc522af41..e6a7cc666 100644 --- a/app/assets/javascripts/index/layers/data.js +++ b/app/assets/javascripts/index/layers/data.js @@ -121,7 +121,7 @@ OSM.initializeDataLayer = function (map) { }, error: function (XMLHttpRequest, textStatus) { dataLoader = null; - if (textStatus === "abort") { return; } + if (textStatus === "abort") return; function closeError() { $("#browse_status").empty(); diff --git a/app/assets/javascripts/index/query.js b/app/assets/javascripts/index/query.js index 5c8ee8876..54d5e080f 100644 --- a/app/assets/javascripts/index/query.js +++ b/app/assets/javascripts/index/query.js @@ -115,17 +115,16 @@ OSM.Query = function (map) { } } - if (tags.name) { - return tags.name; - } else if (tags.ref) { - return tags.ref; - } else if (tags["addr:housename"]) { - return tags["addr:housename"]; - } else if (tags["addr:housenumber"] && tags["addr:street"]) { + for (const key of ["name", "ref", "addr:housename"]) { + if (tags[key]) { + return tags[key]; + } + } + + if (tags["addr:housenumber"] && tags["addr:street"]) { return tags["addr:housenumber"] + " " + tags["addr:street"]; - } else { - return "#" + feature.id; } + return "#" + feature.id; } function featureGeometry(feature) { @@ -285,10 +284,11 @@ OSM.Query = function (map) { .hide(); if (marker) map.removeLayer(marker); - marker = L.circle(latlng, Object.assign({ + marker = L.circle(latlng, { radius: radius, - className: "query-marker" - }, featureStyle)).addTo(map); + className: "query-marker", + ...featureStyle + }).addTo(map); runQuery(latlng, radius, nearby, $("#query-nearby"), false); runQuery(latlng, radius, isin, $("#query-isin"), true, compareSize); diff --git a/app/assets/javascripts/leaflet.locate.js b/app/assets/javascripts/leaflet.locate.js index d43a5e458..d19929208 100644 --- a/app/assets/javascripts/leaflet.locate.js +++ b/app/assets/javascripts/leaflet.locate.js @@ -1,5 +1,5 @@ L.OSM.locate = function (options) { - var control = L.control.locate(Object.assign({ + var control = L.control.locate({ icon: "icon geolocate", iconLoading: "icon geolocate", strings: { @@ -7,8 +7,9 @@ L.OSM.locate = function (options) { popup: function (options) { return I18n.t("javascripts.map.locate." + options.unit + "Popup", { count: options.distance }); } - } - }, options)); + }, + ...options + }); control.onAdd = function (map) { var container = Object.getPrototypeOf(this).onAdd.apply(this, [map]); diff --git a/app/assets/javascripts/osm.js.erb b/app/assets/javascripts/osm.js.erb index 030c51a08..062d537ff 100644 --- a/app/assets/javascripts/osm.js.erb +++ b/app/assets/javascripts/osm.js.erb @@ -62,7 +62,8 @@ OSM = { }, mapParams: function (search) { - var params = OSM.params(search), mapParams = {}; + var params = OSM.params(search), + mapParams = {}; if (params.mlon && params.mlat) { mapParams.marker = true; diff --git a/config/eslint.js b/config/eslint.js index f51a1dc47..f21c87938 100644 --- a/config/eslint.js +++ b/config/eslint.js @@ -56,6 +56,7 @@ module.exports = [ }], "@stylistic/key-spacing": "error", "@stylistic/keyword-spacing": "error", + "@stylistic/max-statements-per-line": "error", "@stylistic/no-floating-decimal": "error", "@stylistic/no-mixed-operators": "error", "@stylistic/no-multi-spaces": "error", @@ -65,6 +66,7 @@ module.exports = [ "@stylistic/object-curly-newline": ["error", { consistent: true }], "@stylistic/object-curly-spacing": ["error", "always"], "@stylistic/object-property-newline": ["error", { allowAllPropertiesOnSameLine: true }], + "@stylistic/one-var-declaration-per-line": "error", "@stylistic/operator-linebreak": ["error", "after"], "@stylistic/padded-blocks": ["error", "never"], "@stylistic/quote-props": ["error", "consistent-as-needed", { keywords: true, numbers: true }], @@ -92,6 +94,7 @@ module.exports = [ "no-caller": "error", "no-console": "warn", "no-div-regex": "error", + "no-else-return": ["error", { allowElseIf: false }], "no-eq-null": "error", "no-eval": "error", "no-extend-native": "error", @@ -133,6 +136,8 @@ module.exports = [ "no-useless-return": "error", "no-void": "error", "no-warning-comments": "warn", + "operator-assignment": "error", + "prefer-object-spread": "error", "radix": ["error", "always"], "yoda": "error" } -- 2.39.5