Merge pull request #6419 from sahat/keyboard-shortcuts

Keyboard shortcuts to open/close map and chat
This commit is contained in:
Quincy Larson
2016-01-25 11:37:27 +08:00
3 changed files with 40 additions and 7 deletions

View File

@ -23,6 +23,7 @@
"rxjs": "~4.0.6",
"CodeMirror": "~5.8.0",
"chai": "~3.4.1",
"clipboard": "~1.5.5"
"clipboard": "~1.5.5",
"mousetrap": "~1.5.3"
}
}

View File

@ -95,11 +95,27 @@ main = (function(main) {
});
$('#nav-chat-btn').on('click', function() {
if (!main.chat.isOpen) {
$('#nav-chat-btn').on('click', showMainChat);
function showMainChat() {
if (!main.chat.isOpen) {
main.chat.mainChat.toggleChat(true);
}
}
function collapseMainChat() {
$('#chat-embed-main').addClass('is-collapsed');
}
// keyboard shortcuts: open main chat
Mousetrap.bind('g c', function() {
var isCollapsed = $('#chat-embed-main').hasClass('is-collapsed');
if (isCollapsed) {
showMainChat();
} else {
collapseMainChat();
}
});
});
@ -287,7 +303,11 @@ $(document).ready(function() {
}
// map
$('#nav-map-btn').on('click', () => {
$('#nav-map-btn').on('click', showMap);
$('.map-aside-action-collapse').on('click', collapseMap);
function showMap() {
if (!main.isMapAsideLoad) {
var mapAside = $('<iframe>');
mapAside.attr('src', '/map-aside');
@ -295,11 +315,11 @@ $(document).ready(function() {
main.isMapAsideLoad = true;
}
$('.map-aside').removeClass('is-collapsed');
});
}
$('.map-aside-action-collapse').on('click', () => {
function collapseMap() {
$('.map-aside').addClass('is-collapsed');
});
}
$('#accordion').on('show.bs.collapse', function(e) {
$(e.target)
@ -364,4 +384,15 @@ $(document).ready(function() {
return $('#showAll').removeClass('active');
}
});
// keyboard shortcuts: open map
Mousetrap.bind('g m', function() {
var isCollapsed = $('.map-aside').hasClass('is-collapsed');
if (isCollapsed) {
showMap();
} else {
collapseMap();
}
});
});

View File

@ -99,6 +99,7 @@ var paths = {
'public/bower_components/bootstrap/dist/js/bootstrap.min.js',
'public/bower_components/d3/d3.min.js',
'public/bower_components/moment/min/moment.min.js',
'public/bower_components/mousetrap/mousetrap.min.js',
'public/bower_components/lightbox2/dist/js/lightbox.min.js',
'public/bower_components/rxjs/dist/rx.all.min.js'
],