From 728489c2fbf45d331e52ddf27601914bef9283da Mon Sep 17 00:00:00 2001 From: Ralf Teusner Date: Fri, 12 Aug 2016 14:41:20 +0200 Subject: [PATCH] refactor initTurtle, hiding and showing of canvas. --- app/assets/javascripts/editor.js.erb | 15 ++++++++++++--- app/views/exercises/implement.html.slim | 2 +- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/app/assets/javascripts/editor.js.erb b/app/assets/javascripts/editor.js.erb index 2d73bbf0..4ce95e1d 100644 --- a/app/assets/javascripts/editor.js.erb +++ b/app/assets/javascripts/editor.js.erb @@ -22,6 +22,7 @@ $(function() { var editor_for_file = new Map(); var regex_for_language = new Map(); var tracepositions_regex; + var resetTurtle = true; var active_file = undefined; var active_frame = undefined; @@ -949,6 +950,11 @@ $(function() { websocket.send(JSON.stringify({cmd: 'exit'})); websocket.flush(); websocket.close(); + + if(turtlescreen != null){ + resetTurtle = true; + } + hideSpinner(); running = false; toggleButtonStates(); @@ -1027,10 +1033,11 @@ $(function() { // clear canvas // turtlecanvas.getContext("2d").clearRect(0, 0, turtlecanvas.width, turtlecanvas.height); + if(resetTurtle) { turtlescreen = new Turtle(websocket, turtlecanvas); - if ($('#run').isPresent()) { - $('#run').bind('click', hideCanvas); - } + showCanvas(); + resetTurtle = false; + } }; var initPrompt = function() { @@ -1058,10 +1065,12 @@ $(function() { printWebsocketOutput(msg); break; case 'turtle': + initTurtle(); showCanvas(); handleTurtleCommand(msg); break; case 'turtlebatch': + initTurtle(); showCanvas(); handleTurtlebatchCommand(msg); break; diff --git a/app/views/exercises/implement.html.slim b/app/views/exercises/implement.html.slim index 0c5e109b..1feab189 100644 --- a/app/views/exercises/implement.html.slim +++ b/app/views/exercises/implement.html.slim @@ -38,7 +38,7 @@ / #output-col1.col-sm-12 #output-col1 // todo set to full width if turtle isnt used - #prompt.input-group.hidden + #prompt.input-group.hidden.col-lg-7.col-md-7.two-column span.input-group-addon data-prompt=t('exercises.editor.input') = t('exercises.editor.input') input#prompt-input.form-control type='text' span.input-group-btn