Make use of file types for highlighting and tabs
This commit is contained in:
@ -7,11 +7,13 @@ $(function() {
|
|||||||
var active_file = undefined;
|
var active_file = undefined;
|
||||||
var fileTrees = []
|
var fileTrees = []
|
||||||
var editor = undefined;
|
var editor = undefined;
|
||||||
|
var fileTypeById = {}
|
||||||
|
|
||||||
var showActiveFile = function() {
|
var showActiveFile = function() {
|
||||||
var session = editor.getSession();
|
var session = editor.getSession();
|
||||||
//session.setMode(active_file.file_type.editor_mode);
|
var fileType = fileTypeById[active_file.file_type_id]
|
||||||
//session.setTabSize(active_file.file_type.indent_size);
|
session.setMode(fileType.editor_mode);
|
||||||
|
session.setTabSize(fileType.indent_size);
|
||||||
session.setValue(active_file.content);
|
session.setValue(active_file.content);
|
||||||
session.setUseSoftTabs(true);
|
session.setUseSoftTabs(true);
|
||||||
session.setUseWrapMode(true);
|
session.setUseWrapMode(true);
|
||||||
@ -50,6 +52,7 @@ $(function() {
|
|||||||
var slider = $('#submissions-slider>input');
|
var slider = $('#submissions-slider>input');
|
||||||
var submissions = $('#data').data('submissions');
|
var submissions = $('#data').data('submissions');
|
||||||
var files = $('#data').data('files');
|
var files = $('#data').data('files');
|
||||||
|
var filetypes = $('#data').data('file-types');
|
||||||
|
|
||||||
editor = ace.edit('current-file');
|
editor = ace.edit('current-file');
|
||||||
editor.setShowPrintMargin(false);
|
editor.setShowPrintMargin(false);
|
||||||
@ -57,6 +60,11 @@ $(function() {
|
|||||||
editor.$blockScrolling = Infinity;
|
editor.$blockScrolling = Infinity;
|
||||||
editor.setReadOnly(true);
|
editor.setReadOnly(true);
|
||||||
|
|
||||||
|
_.each(filetypes, function (filetype) {
|
||||||
|
filetype = JSON.parse(filetype);
|
||||||
|
fileTypeById[filetype.id] = filetype;
|
||||||
|
});
|
||||||
|
|
||||||
slider.on('change', function(event) {
|
slider.on('change', function(event) {
|
||||||
currentSubmission = slider.val();
|
currentSubmission = slider.val();
|
||||||
var currentFiles = files[currentSubmission];
|
var currentFiles = files[currentSubmission];
|
||||||
|
@ -5,10 +5,13 @@ h1 = "#{@exercise} (external user #{@external_user})"
|
|||||||
- initial_files = current_submission.files.to_a
|
- initial_files = current_submission.files.to_a
|
||||||
|
|
||||||
- all_files = []
|
- all_files = []
|
||||||
|
- file_types = Set.new()
|
||||||
- submissions.each do |submission|
|
- submissions.each do |submission|
|
||||||
|
- submission.files.each do |file|
|
||||||
|
- file_types.add(ActiveSupport::JSON.encode(file.file_type))
|
||||||
- all_files.push(submission.files)
|
- all_files.push(submission.files)
|
||||||
|
|
||||||
.hidden#data data-submissions=ActiveSupport::JSON.encode(submissions) data-files=ActiveSupport::JSON.encode(all_files)
|
.hidden#data data-submissions=ActiveSupport::JSON.encode(submissions) data-files=ActiveSupport::JSON.encode(all_files) data-file-types=ActiveSupport::JSON.encode(file_types)
|
||||||
|
|
||||||
#stats-editor.row
|
#stats-editor.row
|
||||||
- index = 0
|
- index = 0
|
||||||
|
Reference in New Issue
Block a user