@@ -1085,93 +1085,6 @@ module.exports = AutoComplete;
10851085 'use strict';
10861086
10871087 searx.ready(function () {
1088− searx.on('.searx_overpass_request', 'click', function(event) {
1089− // no more request
1090− this.classList.remove("searx_overpass_request");
1091−
1092− //
1093− var overpass_url = "https://overpass-api.de/api/interpreter?data=";
1094− var query_start = overpass_url + "[out:json][timeout:25];(";
1095− var query_end = ");out meta;";
1096−
1097− var osm_id = this.dataset.osmId;
1098− var osm_type = this.dataset.osmType;
1099− var result_table = d.querySelector("#" + this.dataset.resultTable);
1100− var result_table_loadicon = d.querySelector("#" + this.dataset.resultTableLoadicon);
1101−
1102− // tags which can be ignored
1103− var osm_ignore_tags = [ "addr:city", "addr:country", "addr:housenumber", "addr:postcode", "addr:street" ];
1104−
1105− if(osm_id && osm_type && result_table) {
1106− var query = null;
1107− switch(osm_type) {
1108− case 'node':
1109− query = query_start + "node(" + osm_id + ");" + query_end;
1110− break;
1111− case 'way':
1112− query = query_start + "way(" + osm_id + ");" + query_end;
1113− break;
1114− case 'relation':
1115− query = query_start + "relation(" + osm_id + ");" + query_end;
1116− break;
1117− default:
1118− break;
1119− }
1120− if(query) {
1121− // console.log(query);
1122− searx.http( 'GET', query ).then(function(html, contentType) {
1123− html = JSON.parse(html);
1124− if(html && html.elements && html.elements[0]) {
1125− var element = html.elements[0];
1126− var newHtml = "";
1127− for (var row in element.tags) {
1128− if(element.tags.name === null || osm_ignore_tags.indexOf(row) == -1) {
1129− newHtml += "<tr><td>" + row + "</td><td>";
1130− switch(row) {
1131− case "phone":
1132− case "fax":
1133− newHtml += "<a href=\"tel:" + element.tags[row].replace(/ /g,'') + "\">" + element.tags[row] + "</a>";
1134− break;
1135− case "email":
1136− newHtml += "<a href=\"mailto:" + element.tags[row] + "\">" + element.tags[row] + "</a>";
1137− break;
1138− case "website":
1139− case "url":
1140− newHtml += "<a href=\"" + element.tags[row] + "\">" + element.tags[row] + "</a>";
1141− break;
1142− case "wikidata":
1143− newHtml += "<a href=\"https://www.wikidata.org/wiki/" + element.tags[row] + "\">" + element.tags[row] + "</a>";
1144− break;
1145− case "wikipedia":
1146− if(element.tags[row].indexOf(":") != -1) {
1147− newHtml += "<a href=\"https://" + element.tags[row].substring(0,element.tags[row].indexOf(":")) + ".wikipedia.org/wiki/" + element.tags[row].substring(element.tags[row].indexOf(":")+1) + "\">" + element.tags[row] + "</a>";
1148− break;
1149− }
1150− /* jshint ignore:start */
1151− default:
1152− /* jshint ignore:end */
1153− newHtml += element.tags[row];
1154− break;
1155− }
1156− newHtml += "</td></tr>";
1157− }
1158− }
1159− result_table_loadicon.parentNode.removeChild(result_table_loadicon);
1160− result_table.classList.remove('invisible');
1161− result_table.querySelector("tbody").innerHTML = newHtml;
1162− }
1163− })
1164− .catch(function() {
1165− result_table_loadicon.classList.remove('invisible');
1166− result_table_loadicon.innerHTML = could_not_load;
1167− });
1168− }
1169− }
1170−
1171− // this event occour only once per element
1172− event.preventDefault();
1173− });
1174−
11751088 searx.on('.searx_init_map', 'click', function(event) {
11761089 // no more request
11771090 this.classList.remove("searx_init_map");