X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/357d32c57c921f1d7ee15491601e1639be17b04d..507c395f51c20c3c0d5375313ea1ca0ed4156c75:/app/assets/javascripts/index/query.js
diff --git a/app/assets/javascripts/index/query.js b/app/assets/javascripts/index/query.js
index c81d035fb..09e4de31e 100644
--- a/app/assets/javascripts/index/query.js
+++ b/app/assets/javascripts/index/query.js
@@ -1,4 +1,3 @@
-//= require jquery-simulate/jquery.simulate
//= require qs/dist/qs
OSM.Query = function (map) {
@@ -39,32 +38,21 @@ OSM.Query = function (map) {
}
});
+ function showResultGeometry() {
+ var geometry = $(this).data("geometry");
+ if (geometry) map.addLayer(geometry);
+ $(this).addClass("selected");
+ }
+
+ function hideResultGeometry() {
+ var geometry = $(this).data("geometry");
+ if (geometry) map.removeLayer(geometry);
+ $(this).removeClass("selected");
+ }
+
$("#sidebar_content")
- .on("mouseover", ".query-results li.query-result", function () {
- var geometry = $(this).data("geometry");
- if (geometry) map.addLayer(geometry);
- $(this).addClass("selected");
- })
- .on("mouseout", ".query-results li.query-result", function () {
- var geometry = $(this).data("geometry");
- if (geometry) map.removeLayer(geometry);
- $(this).removeClass("selected");
- })
- .on("mousedown", ".query-results li.query-result", function () {
- var moved = false;
- $(this).one("click", function (e) {
- if (!moved) {
- var geometry = $(this).data("geometry");
- if (geometry) map.removeLayer(geometry);
-
- if (!$(e.target).is("a")) {
- $(this).find("a").simulate("click", e);
- }
- }
- }).one("mousemove", function () {
- moved = true;
- });
- });
+ .on("mouseover", ".query-results a", showResultGeometry)
+ .on("mouseout", ".query-results a", hideResultGeometry);
function interestingFeature(feature) {
if (feature.tags) {
@@ -121,7 +109,7 @@ OSM.Query = function (map) {
function featureName(feature) {
var tags = feature.tags,
- locales = I18n.locales.get();
+ locales = OSM.preferred_languages;
for (var i = 0; i < locales.length; i++) {
if (tags["name:" + locales[i]]) {
@@ -212,13 +200,14 @@ OSM.Query = function (map) {
if (interestingFeature(element)) {
var $li = $("
")
- .addClass("query-result list-group-item")
- .data("geometry", featureGeometry(element))
+ .addClass("list-group-item list-group-item-action")
.text(featurePrefix(element) + " ")
.appendTo($ul);
$("")
+ .addClass("stretched-link")
.attr("href", "/" + element.type + "/" + element.id)
+ .data("geometry", featureGeometry(element))
.text(featureName(element))
.appendTo($li);
}
@@ -226,14 +215,14 @@ OSM.Query = function (map) {
if (results.remark) {
$("")
- .addClass("query-result list-group-item")
+ .addClass("list-group-item")
.text(I18n.t("javascripts.query.error", { server: url, error: results.remark }))
.appendTo($ul);
}
if ($ul.find("li").length === 0) {
$("")
- .addClass("query-result list-group-item")
+ .addClass("list-group-item")
.text(I18n.t("javascripts.query.nothing_found"))
.appendTo($ul);
}
@@ -242,7 +231,7 @@ OSM.Query = function (map) {
$section.find(".loader").hide();
$("")
- .addClass("query-result list-group-item")
+ .addClass("list-group-item")
.text(I18n.t("javascripts.query." + status, { server: url, error: error }))
.appendTo($ul);
}
@@ -264,9 +253,9 @@ OSM.Query = function (map) {
* To find nearby objects we ask overpass for the union of the
* following sets:
*
- * node(around:,,lng>)
- * way(around:,,lng>)
- * relation(around:,,lng>)
+ * node(around:,,)
+ * way(around:,,)
+ * relation(around:,,)
*
* to find enclosing objects we first find all the enclosing areas:
*
@@ -300,18 +289,10 @@ OSM.Query = function (map) {
.hide();
if (marker) map.removeLayer(marker);
- marker = L.circle(latlng, radius, featureStyle).addTo(map);
-
- $(document).everyTime(75, "fadeQueryMarker", function (i) {
- if (i === 10) {
- map.removeLayer(marker);
- } else {
- marker.setStyle({
- opacity: 1 - (i * 0.1),
- fillOpacity: 0.5 - (i * 0.05)
- });
- }
- }, 10);
+ marker = L.circle(latlng, Object.assign({
+ radius: radius,
+ className: "query-marker"
+ }, featureStyle)).addTo(map);
runQuery(latlng, radius, nearby, $("#query-nearby"), false);
runQuery(latlng, radius, isin, $("#query-isin"), true, compareSize);
@@ -363,6 +344,7 @@ OSM.Query = function (map) {
page.unload = function (sameController) {
if (!sameController) {
disableQueryMode();
+ $("#sidebar_content .query-results a.selected").each(hideResultGeometry);
}
};