]> git.openstreetmap.org Git - nominatim-ui.git/blobdiff - src/assets/js/base.js
split configuration into hardcoded default and optional config.js
[nominatim-ui.git] / src / assets / js / base.js
index 90a358857d8246458d7c29364a1ec11afac94444..c7ae6f922772a36237b00c53066405b539cee635 100644 (file)
@@ -3,13 +3,33 @@
 var map;
 var last_click_latlng;
 
 var map;
 var last_click_latlng;
 
+// *********************************************************
+// DEFAULTS
+// *********************************************************
+
+var Nominatim_Config_Defaults = {
+  Nominatim_API_Endpoint: 'http://localhost/nominatim/',
+  Images_Base_Url: '/mapicons/',
+  Search_AreaPolygons: 1,
+  Reverse_Default_Search_Zoom: 18,
+  Map_Default_Lat: 20.0,
+  Map_Default_Lon: 0.0,
+  Map_Default_Zoom: 2,
+  Map_Tile_URL: 'https://{s}.tile.osm.org/{z}/{x}/{y}.png',
+  Map_Tile_Attribution: '<a href="https://osm.org/copyright">OpenStreetMap contributors</a>'
+};
 
 // *********************************************************
 // HELPERS
 // *********************************************************
 
 
 // *********************************************************
 // HELPERS
 // *********************************************************
 
+
 function get_config_value(str, default_val) {
 function get_config_value(str, default_val) {
-  return (typeof Nominatim_Config[str] !== 'undefined' ? Nominatim_Config[str] : default_val);
+  var value = ((typeof Nominatim_Config !== 'undefined')
+               && (typeof Nominatim_Config[str] !== 'undefined'))
+    ? Nominatim_Config[str]
+    : Nominatim_Config_Defaults[str];
+  return (typeof value !== 'undefined' ? value : default_val);
 }
 
 function parse_and_normalize_geojson_string(part) {
 }
 
 function parse_and_normalize_geojson_string(part) {
@@ -61,10 +81,13 @@ function map_viewbox_as_string() {
 // *********************************************************
 
 function fetch_from_api(endpoint_name, params, callback) {
 // *********************************************************
 
 function fetch_from_api(endpoint_name, params, callback) {
-  // `&a=&b=&c=1` => '&c='
-  for (var k in params) {
-    if (typeof (params[k]) === 'undefined' || params[k] === '' || params[k] === null) {
-      delete params[k];
+  //
+  // `&a=&b=&c=1` => '&c=1'
+  var param_names = Object.keys(params);
+  for (var i = 0; i < param_names.length; i += 1) {
+    var val = params[param_names[i]];
+    if (typeof (val) === 'undefined' || val === '' || val === null) {
+      delete params[param_names[i]];
     }
   }
 
     }
   }