diff --git a/client/commonFramework/bindings.js b/client/commonFramework/bindings.js index 37009a8a2a..158314255d 100644 --- a/client/commonFramework/bindings.js +++ b/client/commonFramework/bindings.js @@ -9,8 +9,7 @@ window.common = (function(global) { // ctrl + enter or cmd + enter if ( e.keyCode === 13 && - e.metaKey || - e.ctrlKey + (e.metaKey || e.ctrlKey) ) { $('#complete-courseware-dialog').off('keydown', ctrlEnterClickHandler); if ($('#submit-challenge').length > 0) { diff --git a/client/commonFramework/end.js b/client/commonFramework/end.js index 139f6aad00..323b0d41f9 100644 --- a/client/commonFramework/end.js +++ b/client/commonFramework/end.js @@ -57,6 +57,11 @@ $(document).ready(function() { ({ err, solved, output, tests }) => { if (err) { console.error(err); + if (common.challengeType === common.challengeTypes.HTML) { + return common.updatePreview$(` +

${err}

+ `).subscribe(() => {}); + } return common.updateOutputDisplay('' + err); } common.updateOutputDisplay(output); @@ -65,7 +70,7 @@ $(document).ready(function() { common.showCompletion(); } }, - (err) => { + ({ err }) => { console.error(err); common.updateOutputDisplay('' + err); } @@ -76,8 +81,18 @@ $(document).ready(function() { return Observable.fromCallback($preview.ready, $preview)() .delay(500) .flatMap(() => common.executeChallenge$()) + .catch(err => Observable.just(err)) .subscribe( - ({ tests }) => { + ({ err, tests }) => { + if (err) { + console.error(err); + if (common.challengeType === common.challengeTypes.HTML) { + return common.updatePreview$(` +

${err}

+ `).subscribe(() => {}); + } + return common.updateOutputDisplay('' + err); + } common.displayTestResults(tests); }, ({ err }) => { diff --git a/server/views/coursewares/showVideo.jade b/server/views/coursewares/showVideo.jade index ed06486f89..2368076288 100644 --- a/server/views/coursewares/showVideo.jade +++ b/server/views/coursewares/showVideo.jade @@ -65,8 +65,7 @@ block content function controlEnterHandler(e) { if ( e.keyCode === 13 && - e.ctrlKey || - e.metaKey + (e.ctrlKey || e.metaKey) ) { $('body').unbind('keydown'); $('#complete-courseware-editorless-dialog').modal('show'); @@ -76,8 +75,7 @@ block content function modalControlEnterHandler(e) { if ( e.keyCode === 13 && - e.ctrlKey || - e.metaKey + (e.ctrlKey || e.metaKey) ) { $('#complete-courseware-editorless-dialog').unbind('keydown'); $('#next-courseware-button').click(); diff --git a/server/views/coursewares/showZiplineOrBasejump.jade b/server/views/coursewares/showZiplineOrBasejump.jade index 54d67cb844..f4936aed74 100644 --- a/server/views/coursewares/showZiplineOrBasejump.jade +++ b/server/views/coursewares/showZiplineOrBasejump.jade @@ -81,8 +81,10 @@ block content common.controlEnterHandler = function (e) { $('body').unbind('keydown'); - if (e.metaKey && e.keyCode === 13 || - e.ctrlKey && e.keyCode === 13) { + if ( + e.keyCode === 13 && + (e.metaKey || e.ctrlKey) + ) { $('#complete-zipline-or-basejump-dialog').modal('show'); } else { $('body').bind('keydown', common.controlEnterHandler); @@ -91,8 +93,10 @@ block content common.modalControlEnterHandler = function (e) { $('#complete-zipline-or-basejump-dialog').unbind('keydown'); - if (e.metaKey && e.keyCode === 13 || - e.ctrlKey && e.keyCode === 13) { + if ( + e.keyCode === 13 && + (e.metaKey || e.ctrlKey) + ) { $('#next-courseware-button').click(); } else { $('#complete-zipline-or-basejump-dialog').on('keydown', common.modalControlEnterHandler);