]> git.openstreetmap.org Git - rails.git/blobdiff - app/assets/javascripts/index.js
Merge branch 'contextmenu'
[rails.git] / app / assets / javascripts / index.js
index 0962908064ba7c1bae8797f3a8aa7f5306577e75..1ba2fbbdef5cc719b5799813aa03bce0cfd50870 100644 (file)
@@ -77,42 +77,11 @@ $(document).ready(function () {
 
   var params = OSM.mapParams();
 
-  // TODO internationalisation of the context menu strings
   var map = new L.OSM.Map("map", {
     zoomControl: false,
     layerControl: false,
     contextmenu: true,
-    contextmenuWidth: 140,
-    contextmenuItems: [{
-        text: 'Directions from here',
-        callback: function(e){ context_directionsfrom(e, map); }
-    }, {
-        text: 'Directions to here',
-        callback: function(e){ context_directionsto(e, map); }
-    }, '-', {
-        text: 'Add a note here',
-        callback: function(e){ context_addnote(e, map); }
-    }, {
-        text: 'Show address',
-        callback: function(e){ context_describe(e, map); }
-    }, {
-        text: 'Query features',
-        callback: function(e){ context_queryhere(e, map); }
-    }, {
-        text: 'Centre map here',
-        callback: function(e){ context_centrehere(e, map); }
-    }]
-  });
-
-  $(document).on('mousedown', function(e){
-    if(e.shiftKey){
-      map.contextmenu.disable(); // on firefox, shift disables our contextmenu. we explicitly do this for all browsers.
-    }else{
-      map.contextmenu.enable();
-      // we also decide whether to disable some options that only like high zoom
-      map.contextmenu.setDisabled(3, map.getZoom() < 12);
-      map.contextmenu.setDisabled(5, map.getZoom() < 14);
-    }
+    contextmenuWidth: 140
   });
 
   map.attributionControl.setPrefix('');
@@ -182,6 +151,8 @@ $(document).ready(function () {
   L.control.scale()
     .addTo(map);
 
+  OSM.initializeContextMenu(map);
+
   if (OSM.STATUS !== 'api_offline' && OSM.STATUS !== 'database_offline') {
     OSM.initializeNotes(map);
     if (params.layers.indexOf(map.noteLayer.options.code) >= 0) {