Update editor content on submission selection
This commit is contained in:
32
app/assets/javascripts/submission_statistics.js
Normal file
32
app/assets/javascripts/submission_statistics.js
Normal file
@ -0,0 +1,32 @@
|
||||
$(function() {
|
||||
|
||||
if ($.isController('exercises') && $('#timeline').isPresent()) {
|
||||
|
||||
var editors = $('.editor');
|
||||
var slider = $('#slider>input');
|
||||
var submissions = $('#data').data('submissions');
|
||||
var files = $('#data').data('files');
|
||||
|
||||
editors.each(function(index, editor) {
|
||||
currentEditor = ace.edit(editor);
|
||||
currentEditor.$blockScrolling = Infinity;
|
||||
currentEditor.setReadOnly(true);
|
||||
});
|
||||
|
||||
slider.on('change', function(event) {
|
||||
var currentSubmission = slider.val();
|
||||
var currentFiles = JSON.parse(files[currentSubmission]);
|
||||
|
||||
editors.each(function(index, editor) {
|
||||
currentEditor = ace.edit(editor);
|
||||
fileContent = "";
|
||||
if (currentFiles[index]) {
|
||||
fileContent = currentFiles[index].content
|
||||
}
|
||||
currentEditor.getSession().setValue(fileContent);
|
||||
});
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
});
|
@ -4,7 +4,11 @@ h1 = "#{@exercise} (external user #{@external_user})"
|
||||
- if current_submission
|
||||
- files = current_submission.files.to_a
|
||||
|
||||
.hidden data-submissions=ActiveSupport::JSON.encode(submissions)
|
||||
- all_files = []
|
||||
- submissions.each do |submission|
|
||||
- all_files.push(ActiveSupport::JSON.encode(submission.files))
|
||||
|
||||
.hidden#data data-submissions=ActiveSupport::JSON.encode(submissions) data-files=all_files
|
||||
|
||||
#editor.row data-exercise-id=@exercise.id data-message-depleted=t('exercises.editor.depleted') data-user-id=@external_user.id
|
||||
div class=(@exercise.hide_file_tree ? 'hidden col-sm-3' : 'col-sm-3') id='files' data-entries=FileTree.new(files).to_js_tree
|
||||
|
Reference in New Issue
Block a user