From 87d1b2388df73f1f13c67e394ebe38385d44b46a Mon Sep 17 00:00:00 2001 From: Alexander Kastius Date: Fri, 9 Sep 2016 17:24:04 +0200 Subject: [PATCH] Moved codepilot into dedicated file. Renamed prompt.js Moved requestComments out of flowr.js --- .../javascripts/editor/codepilot.js.erb | 24 ++++++++ app/assets/javascripts/editor/editor.js.erb | 2 - app/assets/javascripts/editor/flowr.js.erb | 56 +------------------ .../editor/{prompt.js => prompt.js.erb} | 0 .../javascripts/editor/submissions.js.erb | 31 ++++++++++ 5 files changed, 57 insertions(+), 56 deletions(-) create mode 100644 app/assets/javascripts/editor/codepilot.js.erb rename app/assets/javascripts/editor/{prompt.js => prompt.js.erb} (100%) diff --git a/app/assets/javascripts/editor/codepilot.js.erb b/app/assets/javascripts/editor/codepilot.js.erb new file mode 100644 index 00000000..aa1513be --- /dev/null +++ b/app/assets/javascripts/editor/codepilot.js.erb @@ -0,0 +1,24 @@ +CodeOceanEditorCodePilot = { + qa_api: undefined, + QaApiOutputBuffer: {'stdout': '', 'stderr': ''}, + + initializeCodePilot: function () { + if ($('#questions-column').isPresent() && (typeof QaApi != 'undefined') && QaApi.isBrowserSupported()) { + $('#editor-column').addClass('col-md-10').removeClass('col-md-12'); + $('#questions-column').addClass('col-md-2'); + + var node = document.getElementById('questions-holder'); + var url = $('#questions-holder').data('url'); + + this.qa_api = new QaApi(node, url); + } + }, + + handleQaApiOutput: function () { + if (this.qa_api) { + this.qa_api.executeCommand('syncOutput', [[this.QaApiOutputBuffer]]); + // reset the object + } + this.QaApiOutputBuffer = {'stdout': '', 'stderr': ''}; + } +}; \ No newline at end of file diff --git a/app/assets/javascripts/editor/editor.js.erb b/app/assets/javascripts/editor/editor.js.erb index c6ed46c2..94ce0654 100644 --- a/app/assets/javascripts/editor/editor.js.erb +++ b/app/assets/javascripts/editor/editor.js.erb @@ -24,7 +24,6 @@ var CodeOceanEditor = { active_file: undefined, active_frame: undefined, running: false, - qa_api: undefined, output_mode_is_streaming: true, numMessages: 0, @@ -35,7 +34,6 @@ var CodeOceanEditor = { ENTER_KEY_CODE: 13, - QaApiOutputBuffer: {'stdout': '', 'stderr': ''}, flowrResultHtml: '
', diff --git a/app/assets/javascripts/editor/flowr.js.erb b/app/assets/javascripts/editor/flowr.js.erb index 931b4043..a4e699f9 100644 --- a/app/assets/javascripts/editor/flowr.js.erb +++ b/app/assets/javascripts/editor/flowr.js.erb @@ -8,7 +8,7 @@ CodeOceanEditorFlowr = { var flowrHintBody = $('#flowrHint .panel-body'); var queryParameters = { query: this.flowrOutputBuffer - } + }; flowrHintBody.empty(); @@ -30,57 +30,5 @@ CodeOceanEditorFlowr = { }); this.flowrOutputBuffer = ''; - }, - - requestComments: function () { - var user_id = $('#editor').data('user-id'); - var exercise_id = $('#editor').data('exercise-id'); - var file_id = $('.editor').data('id'); - var question = $('#question').val(); - - var createRequestForComments = function (submission) { - $.ajax({ - method: 'POST', - url: '/request_for_comments', - data: { - request_for_comment: { - exercise_id: exercise_id, - file_id: file_id, - submission_id: submission.id, - question: question - } - } - }).done(function () { - this.hideSpinner(); - $.flash.success({text: $('#askForCommentsButton').data('message-success')}); - }.bind(this)).error(this.ajaxError.bind(this)); - }; - - this.createSubmission($('.requestCommentsButton'), null, createRequestForComments.bind(this)); - - $('#comment-modal').modal('hide'); - var button = $('#requestComments'); - button.prop('disabled', true); - }, - - //tODO move codepilot out of here. - initializeCodePilot: function () { - if ($('#questions-column').isPresent() && (typeof QaApi != 'undefined') && QaApi.isBrowserSupported()) { - $('#editor-column').addClass('col-md-10').removeClass('col-md-12'); - $('#questions-column').addClass('col-md-2'); - - var node = document.getElementById('questions-holder'); - var url = $('#questions-holder').data('url'); - - this.qa_api = new QaApi(node, url); - } - }, - - handleQaApiOutput: function () { - if (this.qa_api) { - this.qa_api.executeCommand('syncOutput', [[this.QaApiOutputBuffer]]); - // reset the object - } - this.QaApiOutputBuffer = {'stdout': '', 'stderr': ''}; - }, + } }; \ No newline at end of file diff --git a/app/assets/javascripts/editor/prompt.js b/app/assets/javascripts/editor/prompt.js.erb similarity index 100% rename from app/assets/javascripts/editor/prompt.js rename to app/assets/javascripts/editor/prompt.js.erb diff --git a/app/assets/javascripts/editor/submissions.js.erb b/app/assets/javascripts/editor/submissions.js.erb index fec496bd..510b813a 100644 --- a/app/assets/javascripts/editor/submissions.js.erb +++ b/app/assets/javascripts/editor/submissions.js.erb @@ -170,5 +170,36 @@ CodeOceanEditorSubmissions = { window.location = response.redirect; } }) + }, + + requestComments: function () { + var user_id = $('#editor').data('user-id'); + var exercise_id = $('#editor').data('exercise-id'); + var file_id = $('.editor').data('id'); + var question = $('#question').val(); + + var createRequestForComments = function (submission) { + $.ajax({ + method: 'POST', + url: '/request_for_comments', + data: { + request_for_comment: { + exercise_id: exercise_id, + file_id: file_id, + submission_id: submission.id, + question: question + } + } + }).done(function () { + this.hideSpinner(); + $.flash.success({text: $('#askForCommentsButton').data('message-success')}); + }.bind(this)).error(this.ajaxError.bind(this)); + }; + + this.createSubmission($('.requestCommentsButton'), null, createRequestForComments.bind(this)); + + $('#comment-modal').modal('hide'); + var button = $('#requestComments'); + button.prop('disabled', true); } };