summaryrefslogtreecommitdiff
path: root/js/codeq/python.js
diff options
context:
space:
mode:
authorTimotej Lazar <timotej.lazar@araneo.org>2015-09-18 16:24:32 +0200
committerTimotej Lazar <timotej.lazar@araneo.org>2015-09-18 16:24:32 +0200
commitffeb1a12491780d489d96dd7159a09b5fd16090c (patch)
treefc3e83f2c56799d6855d05b91c49574cdaf3c6ff /js/codeq/python.js
parentb9ff4650857cc34a795613281d576196345359ee (diff)
Add "Plan" button to display next "planning" hint
Diffstat (limited to 'js/codeq/python.js')
-rw-r--r--js/codeq/python.js13
1 files changed, 12 insertions, 1 deletions
diff --git a/js/codeq/python.js b/js/codeq/python.js
index e856c08..1d4ee17 100644
--- a/js/codeq/python.js
+++ b/js/codeq/python.js
@@ -97,9 +97,11 @@
* add the above function to the buttons
*/
addClickListenerTranstions = function(){
+ $('#btn_code_plan').on('click',clickListenerTransitionFun);
$('#btn_code_hint').on('click',clickListenerTransitionFun);
$('#btn_code_test').on('click',clickListenerTransitionFun);
+ $('#btn_code_plan').on(transitionEventName,mouseDownEventIgnoreFun);
$('#btn_code_hint').on(transitionEventName,mouseDownEventIgnoreFun);
$('#btn_code_test').on(transitionEventName,mouseDownEventIgnoreFun);
},
@@ -107,9 +109,11 @@
* and a function to remove it
*/
removeClickListenerTransition = function(){
+ $('#btn_code_plan').off('click',clickListenerTransitionFun);
$('#btn_code_hint').off('click',clickListenerTransitionFun);
$('#btn_code_test').off('click',clickListenerTransitionFun);
+ $('#btn_code_plan').off(transitionEventName,mouseDownEventIgnoreFun);
$('#btn_code_hint').off(transitionEventName,mouseDownEventIgnoreFun);
$('#btn_code_test').off(transitionEventName,mouseDownEventIgnoreFun);
},
@@ -312,11 +316,12 @@
editor = CodeMirror(jqEditor[0], { cursorHeight: 0.85, lineNumbers: true, matchBrackets: true, mode: 'python' }),
activityHandler = makeActivityHandler(editor, problem.id),
terminal = makePythonTerminalHandler(jqConsole, editor, problem.id, activityHandler),
- hinter = codeq.makeHinter(jqHints, jqEditor, editor, problem.hint);
+ hinter = codeq.makeHinter(jqHints, jqEditor, editor, problem.hint, problem.plan);
editor.setValue(info.solution);
$('#title').text(problem.slug);
jqDescription.html(problem.description);
+ $('#btn_code_plan').prop('disabled', problem.plan.length == 0);
editor.on('change', function (instance, changeObj) {
var doc = editor.getDoc(),
@@ -331,6 +336,12 @@
}
});
+ $('#btn_code_plan').on('click', function () {
+ if (!hinter.planNext()) {
+ $('#btn_code_plan').prop('disabled', true);
+ $('#btn_code_plan').blur();
+ }
+ });
$('#btn_code_hint').on('click', function () {
var doc = editor.getDoc();
codeq.comms.sendHint({