##// END OF EJS Templates
release: Merge default into stable for release preparation
release: Merge default into stable for release preparation

File last commit:

r4485:ac1b264f default
r4491:f919670e merge stable
Show More
keyboard-bindings.js
142 lines | 5.0 KiB | application/javascript | JavascriptLexer
// Global keyboard bindings
function setRCMouseBindings(repoName, repoLandingRev) {
/** custom callback for supressing mousetrap from firing */
Mousetrap.stopCallback = function(e, element) {
// if the element has the class "mousetrap" then no need to stop
if ((' ' + element.className + ' ').indexOf(' mousetrap ') > -1) {
return false;
}
// stop for input, select, and textarea
return element.tagName == 'INPUT' || element.tagName == 'SELECT' || element.tagName == 'TEXTAREA' || element.isContentEditable;
};
// general help "?"
Mousetrap.bind(['?'], function(e) {
$('#help_kb').modal({});
});
// / open the quick filter
Mousetrap.bind(['/'], function(e) {
$('#main_filter').get(0).focus();
// return false to prevent default browser behavior
// and stop event from bubbling
return false;
});
// ctrl/command+b, show the the main bar
Mousetrap.bind(['command+b', 'ctrl+b'], function(e) {
var $headerInner = $('#header-inner'),
$content = $('#content');
if ($headerInner.hasClass('hover') && $content.hasClass('hover')) {
$headerInner.removeClass('hover');
$content.removeClass('hover');
} else {
$headerInner.addClass('hover');
$content.addClass('hover');
}
return false;
});
// general nav g + action
Mousetrap.bind(['g h'], function(e) {
window.location = pyroutes.url('home');
});
Mousetrap.bind(['g g'], function(e) {
window.location = pyroutes.url('gists_show', {'private': 1});
});
Mousetrap.bind(['g G'], function(e) {
window.location = pyroutes.url('gists_show', {'public': 1});
});
Mousetrap.bind(['g 0'], function(e) {
window.location = pyroutes.url('my_account_goto_bookmark', {'bookmark_id': 0});
});
Mousetrap.bind(['g 1'], function(e) {
window.location = pyroutes.url('my_account_goto_bookmark', {'bookmark_id': 1});
});
Mousetrap.bind(['g 2'], function(e) {
window.location = pyroutes.url('my_account_goto_bookmark', {'bookmark_id': 2});
});
Mousetrap.bind(['g 3'], function(e) {
window.location = pyroutes.url('my_account_goto_bookmark', {'bookmark_id': 3});
});
Mousetrap.bind(['g 4'], function(e) {
window.location = pyroutes.url('my_account_goto_bookmark', {'bookmark_id': 4});
});
Mousetrap.bind(['g 5'], function(e) {
window.location = pyroutes.url('my_account_goto_bookmark', {'bookmark_id': 5});
});
Mousetrap.bind(['g 6'], function(e) {
window.location = pyroutes.url('my_account_goto_bookmark', {'bookmark_id': 6});
});
Mousetrap.bind(['g 7'], function(e) {
window.location = pyroutes.url('my_account_goto_bookmark', {'bookmark_id': 7});
});
Mousetrap.bind(['g 8'], function(e) {
window.location = pyroutes.url('my_account_goto_bookmark', {'bookmark_id': 8});
});
Mousetrap.bind(['g 9'], function(e) {
window.location = pyroutes.url('my_account_goto_bookmark', {'bookmark_id': 9});
});
Mousetrap.bind(['n g'], function(e) {
window.location = pyroutes.url('gists_new');
});
Mousetrap.bind(['n r'], function(e) {
window.location = pyroutes.url('repo_new');
});
if (repoName && repoName !== '') {
// nav in repo context
Mousetrap.bind(['g s'], function(e) {
window.location = pyroutes.url(
'repo_summary', {'repo_name': repoName});
});
Mousetrap.bind(['g c'], function(e) {
window.location = pyroutes.url(
'repo_commits', {'repo_name': repoName});
});
Mousetrap.bind(['g F'], function(e) {
window.location = pyroutes.url(
'repo_files',
{
'repo_name': repoName,
'commit_id': repoLandingRev,
'f_path': '',
'search': '1'
});
});
Mousetrap.bind(['g f'], function(e) {
window.location = pyroutes.url(
'repo_files',
{
'repo_name': repoName,
'commit_id': repoLandingRev,
'f_path': ''
});
});
Mousetrap.bind(['g p'], function(e) {
window.location = pyroutes.url(
'pullrequest_show_all', {'repo_name': repoName});
});
Mousetrap.bind(['g o'], function(e) {
window.location = pyroutes.url(
'edit_repo', {'repo_name': repoName});
});
Mousetrap.bind(['g O'], function(e) {
window.location = pyroutes.url(
'edit_repo_perms', {'repo_name': repoName});
});
Mousetrap.bind(['t s'], function(e) {
if (window.toggleSidebar !== undefined) {
window.toggleSidebar();
}
});
}
}
setRCMouseBindings(templateContext.repo_name, templateContext.repo_landing_commit);