extended execution environments by a default file type that is used as the default for associated exercises' files

This commit is contained in:
Hauke Klement
2015-03-10 18:14:26 +01:00
parent 039c891364
commit 3ae749bfc5
12 changed files with 37 additions and 5 deletions

View File

@ -1,5 +1,6 @@
$(function() {
var ACE_FILES_PATH = '/assets/ace/';
var EXECUTION_ENVIRONMENTS = <%= ExecutionEnvironment.where('file_type_id IS NOT NULL').select(:file_type_id, :id).to_json %>;
var FILE_TYPES = <%= FileType.where('file_extension IS NOT NULL').map { |file_type| [file_type.file_extension, file_type.id] }.to_h.to_json %>;
var TAB_KEY_CODE = 9;
@ -12,6 +13,7 @@ $(function() {
disable_search_threshold: 5,
search_contains: true
});
$('#files li:last select[name*="file_type_id"]').val(getSelectedExecutionEnvironment().file_type_id);
$('body, html').scrollTo('#add-file');
};
@ -28,6 +30,12 @@ $(function() {
});
};
var getSelectedExecutionEnvironment = function() {
return _.find(EXECUTION_ENVIRONMENTS, function(execution_environment) {
return execution_environment.id === parseInt($('#exercise_execution_environment_id').val());
}, this);
};
var highlightCode = function() {
$('pre code').each(function(index, element) {
hljs.highlightBlock(element);
@ -40,8 +48,7 @@ $(function() {
var file_type_id = FILE_TYPES['.' + filename.split('.')[1]];
var parent = $(this).parents('li');
parent.find('input[name*="name"]').val(filename.split('.')[0]);
parent.find('select[name*="file_type_id"]').val(file_type_id);
parent.find('select[name*="file_type_id"]').trigger('chosen:updated');
parent.find('select[name*="file_type_id"]').val(file_type_id).trigger('chosen:updated');
});
};