From 20e619ea213d6ccbb8adb6ba8c3f6bfd6b7c1d5b Mon Sep 17 00:00:00 2001 From: Rowan Hogan Date: Sat, 13 Jun 2015 15:00:54 +1000 Subject: [PATCH] Adds viewport dimension panning options (and related keyboard shortcuts). --- js/id/ui.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/js/id/ui.js b/js/id/ui.js index b568c9b8e..cb545665f 100644 --- a/js/id/ui.js +++ b/js/id/ui.js @@ -154,7 +154,10 @@ iD.ui = function(context) { context.history().unlock(); }; + var mapDimensions = map.dimensions(); + d3.select(window).on('resize.editor', function() { + mapDimensions = m.dimensions(); map.dimensions(m.dimensions()); }); @@ -165,14 +168,18 @@ iD.ui = function(context) { } // pan amount - var pa = 5; + var pa = 10; var keybinding = d3.keybinding('main') .on('⌫', function() { d3.event.preventDefault(); }) .on('←', pan([pa, 0])) .on('↑', pan([0, pa])) .on('→', pan([-pa, 0])) - .on('↓', pan([0, -pa])); + .on('↓', pan([0, -pa])) + .on('shift+←', pan([mapDimensions[0], 0])) + .on('shift+↑', pan([0, mapDimensions[1]])) + .on('shift+→', pan([-mapDimensions[0], 0])) + .on('shift+↓', pan([0, -mapDimensions[1]])); d3.select(document) .call(keybinding);