Merge pull request #4122 from junhaoyap/feature/command-key

The cmd and ctrl button now both trigger events
This commit is contained in:
Logan Tegman
2015-11-03 21:26:09 -08:00
3 changed files with 28 additions and 19 deletions

View File

@ -426,6 +426,11 @@ var editor = (function(CodeMirror, emmetCodeMirror, common) {
isInitRun = false;
bonfireExecute(true);
return false;
},
'Cmd-Enter': function() {
isInitRun = false;
bonfireExecute(true);
return false;
}
});
@ -656,8 +661,9 @@ var testSuccess = function() {
};
function ctrlEnterClickHandler(e) {
// ctrl + enter
if (e.ctrlKey && e.keyCode === 13) {
// ctrl + enter or cmd + enter
if (e.metaKey && e.keyCode === 13 ||
e.ctrlKey && e.keyCode === 13) {
$('#complete-courseware-dialog').off('keydown', ctrlEnterClickHandler);
if ($('#submit-challenge').length > 0) {
$('#submit-challenge').click();

View File

@ -40,19 +40,21 @@ block content
script(type="text/javascript").
var controlEnterHandler = function(e) {
$('body').unbind('keypress');
if (e.ctrlKey && e.keyCode == 13) {
$('body').unbind('keydown');
if (e.metaKey && e.keyCode === 13 ||
e.ctrlKey && e.keyCode === 13) {
$('#complete-courseware-editorless-dialog').modal('show');
} else {
$('body').bind('keypress', controlEnterHandler);
$('body').bind('keydown', controlEnterHandler);
}
};
var modalControlEnterHandler = function(e) {
$('#complete-courseware-editorless-dialog').unbind('keypress');
if (e.ctrlKey && e.keyCode == 13) {
$('#complete-courseware-editorless-dialog').unbind('keydown');
if (e.metaKey && e.keyCode === 13 ||
e.ctrlKey && e.keyCode === 13) {
$('#next-courseware-button').click();
} else {
$('#complete-courseware-editorless-dialog').bind('keypress', modalControlEnterHandler);
$('#complete-courseware-editorless-dialog').bind('keydown', modalControlEnterHandler);
}
};
@ -68,11 +70,11 @@ block content
if (user)
a.btn.btn-lg.btn-primary.btn-block#next-courseware-button(name='_csrf', value=_csrf) I've completed this challenge (ctrl + enter)
script.
$('#complete-courseware-editorless-dialog').bind('keypress', modalControlEnterHandler);
$('#complete-courseware-editorless-dialog').bind('keydown', modalControlEnterHandler);
else
a.animated.fadeIn.btn.btn-lg.btn-primary.btn-block(href='/challenges/next-challenge?id=' + challengeId) I've completed this challenge (ctrl + enter)
script.
$('body').bind('keypress', controlEnterHandler);
$('body').bind('keydown', controlEnterHandler);
script.
var challenge_Id = !{JSON.stringify(challengeId)};
var challenge_Name = !{JSON.stringify(name)};
@ -84,4 +86,3 @@ block content
}
});
include ../partials/challenge-modals

View File

@ -43,19 +43,21 @@ block content
var dashedName = !{JSON.stringify(dashedName)};
var challengeType = !{JSON.stringify(challengeType)};
var controlEnterHandler = function (e) {
$('body').unbind('keypress');
if (e.ctrlKey && e.keyCode == 13) {
$('body').unbind('keydown');
if (e.metaKey && e.keyCode === 13 ||
e.ctrlKey && e.keyCode === 13) {
$('#complete-zipline-or-basejump-dialog').modal('show');
} else {
$('body').bind('keypress', controlEnterHandler);
$('body').bind('keydown', controlEnterHandler);
}
};
var modalControlEnterHandler = function (e) {
$('#complete-zipline-or-basejump-dialog').unbind('keypress');
if (e.ctrlKey && e.keyCode == 13) {
$('#complete-zipline-or-basejump-dialog').unbind('keydown');
if (e.metaKey && e.keyCode === 13 ||
e.ctrlKey && e.keyCode === 13) {
$('#next-courseware-button').click();
} else {
$('#complete-zipline-or-basejump-dialog').on('keypress', modalControlEnterHandler);
$('#complete-zipline-or-basejump-dialog').on('keydown', modalControlEnterHandler);
}
};
@ -90,11 +92,11 @@ block content
a.btn.btn-lg.btn-primary.btn-block#next-courseware-button(name='_csrf', value=_csrf, ng-disabled='completedWithForm.$invalid') Go to my next challenge
.button-spacer
script.
$('#complete-zipline-or-basejump-dialog').on('keypress', modalControlEnterHandler);
$('#complete-zipline-or-basejump-dialog').on('keydown', modalControlEnterHandler);
else
a.btn.btn-lg.btn-primary.btn-block(href='/challenges/next-challenge?id=' + challengeId) Go to my next challenge
script.
$('body').on('keypress', controlEnterHandler);
$('body').on('keydown', controlEnterHandler);
include ../partials/challenge-modals
script.
document.addEventListener('gitter-sidecar-ready', function(e) {