Update editor content on submission selection

This commit is contained in:
Maximilian Grundke
2015-11-26 16:25:59 +01:00
parent bd9118328f
commit baf33419cf
2 changed files with 37 additions and 1 deletions

View 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);
});
});
}
});

View File

@ -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