Add shortcuts to load tracks and no-go areas

Press 'O' or 'Shift+O' to open/load tracks or no-go areas respectively.
This commit is contained in:
Henrik Fehlauer 2020-06-11 18:00:00 +00:00
parent a420ad5c0b
commit d106552ad3
3 changed files with 19 additions and 1 deletions

View file

@ -78,6 +78,8 @@
id="navbarLoadDropdown"
aria-haspopup="true"
aria-expanded="false"
data-i18n="[title]navbar.load.tooltip"
title="Load route"
>
<span class="fa fa-lg fa-cloud-upload" aria-hidden="true"> </span>
<span data-i18n="navbar.load.title">Load</span>

View file

@ -22,7 +22,10 @@ BR.tracksLoader = function(map, layersControl, routing) {
},
addToMap: false,
// File size limit in kb (default: 1024) ?
fileSizeLimit: 1024
fileSizeLimit: 1024,
shortcut: {
open: 79 // char code for 'o'
}
},
_initContainer: function() {
@ -31,6 +34,8 @@ BR.tracksLoader = function(map, layersControl, routing) {
var fileInput;
var container = L.DomUtil.get('navbarLoadTracksContainer');
L.DomEvent.addListener(document, 'keydown', this._keydownListener, this);
// Create an invisible file input
fileInput = L.DomUtil.create('input', 'hidden', container);
fileInput.type = 'file';
@ -62,6 +67,16 @@ BR.tracksLoader = function(map, layersControl, routing) {
var dummy = L.DomUtil.create('div');
dummy.hidden = true;
return dummy;
},
_keydownListener: function(e) {
if (BR.Util.keyboardShortcutsAllowed(e) && e.keyCode === this.options.shortcut.open) {
if (e.shiftKey) {
$('#loadNogos').modal('show');
} else {
$('#navbarLoadTracks')[0].click();
}
}
}
});
var tracksLoaderControl = new TracksLoader();

View file

@ -149,6 +149,7 @@
"load": {
"nogos": "No-go areas",
"title": "Load",
"tooltip": "Load tracks (O key)\nLoad No-go areas (Shift+O)",
"tracks": "Tracks"
},
"profile": {