Add new style for linter and allow 0 points
This commit is contained in:
@ -90,7 +90,9 @@ var CodeOceanEditor = {
|
||||
},
|
||||
|
||||
getCardClass: function (result) {
|
||||
if (result.stderr && !result.score) {
|
||||
if (result.file_role === 'teacher_defined_linter') {
|
||||
return 'card bg-info text-white'
|
||||
} else if (result.stderr && !result.score) {
|
||||
return 'card bg-danger text-white';
|
||||
} else if (result.score < 1) {
|
||||
return 'card bg-warning text-white';
|
||||
@ -428,8 +430,13 @@ var CodeOceanEditor = {
|
||||
card.find('.card-title .number').text(index + 1);
|
||||
card.find('.row .col-sm-9').eq(0).find('.number').eq(0).text(result.passed);
|
||||
card.find('.row .col-sm-9').eq(0).find('.number').eq(1).text(result.count);
|
||||
card.find('.row .col-sm-9').eq(1).find('.number').eq(0).text(parseFloat((result.score * result.weight).toFixed(2)));
|
||||
card.find('.row .col-sm-9').eq(1).find('.number').eq(1).text(result.weight);
|
||||
if (result.weight !== 0) {
|
||||
card.find('.row .col-sm-9').eq(1).find('.number').eq(0).text(parseFloat((result.score * result.weight).toFixed(2)));
|
||||
card.find('.row .col-sm-9').eq(1).find('.number').eq(1).text(result.weight);
|
||||
} else {
|
||||
// Hide score row if no score could be achieved
|
||||
card.find('.attribute-row.row').eq(1).addClass('d-none');
|
||||
}
|
||||
card.find('.row .col-sm-9').eq(2).html(result.message);
|
||||
|
||||
// Add error message from code to card
|
||||
|
@ -48,7 +48,12 @@ CodeOceanEditorEvaluation = {
|
||||
|
||||
printScoringResult: function (result, index) {
|
||||
$('#results').show();
|
||||
var card = $('#dummies').children().first().clone();
|
||||
let card;
|
||||
if (result.file_role === 'teacher_defined_linter') {
|
||||
card = $('#linter-dummies').children().first().clone();
|
||||
} else {
|
||||
card = $('#test-dummies').children().first().clone();
|
||||
}
|
||||
if (card.isPresent()) {
|
||||
// the card won't be present if @embed_options[:hide_test_results] == true
|
||||
this.populateCard(card, result, index);
|
||||
@ -58,7 +63,7 @@ CodeOceanEditorEvaluation = {
|
||||
|
||||
printScoringResults: function (response) {
|
||||
$('#results ul').first().html('');
|
||||
$('.test-count .number').html(response.length);
|
||||
$('.test-count .number').html(response.filter(function(x) { return x.file_role === 'teacher_defined_test'; }).length);
|
||||
this.clearOutput();
|
||||
|
||||
_.each(response, function (result, index) {
|
||||
|
@ -12,16 +12,25 @@ div.h-100 id='output_sidebar_uncollapsed' class='d-none col-sm-12 enforce-bottom
|
||||
p.test-count == t('exercises.implement.test_count', count: 0)
|
||||
- unless @embed_options[:hide_test_results]
|
||||
ul.list-unstyled
|
||||
ul#dummies.d-none.list-unstyled
|
||||
ul#test-dummies.d-none.list-unstyled
|
||||
li.card.mt-2
|
||||
.card-header.py-2
|
||||
h5.card-title.m-0 == t('exercises.implement.file', filename: '', number: 0)
|
||||
h5.card-title.m-0 == t('exercises.implement.test_file', filename: '', number: 0)
|
||||
.card-body.bg-white.text-dark
|
||||
= row(label: 'exercises.implement.passed_tests', value: t('shared.out_of', maximum_value: 0, value: 0).html_safe)
|
||||
= row(label: 'activerecord.attributes.submission.score', value: t('shared.out_of', maximum_value: 0, value: 0).html_safe)
|
||||
= row(label: 'exercises.implement.feedback')
|
||||
= row(label: 'exercises.implement.error_messages')
|
||||
/= row(label: 'exercises.implement.output', value: link_to(t('shared.show'), '#'))
|
||||
ul#linter-dummies.d-none.list-unstyled
|
||||
li.card.mt-2
|
||||
.card-header.py-2
|
||||
h5.card-title.m-0 == t('exercises.implement.linter_file', filename: '', number: 0)
|
||||
.card-body.bg-white.text-dark
|
||||
= row(label: 'exercises.implement.code_rating', value: t('shared.out_of', maximum_value: 0, value: 0).html_safe)
|
||||
= row(label: 'activerecord.attributes.submission.score', value: t('shared.out_of', maximum_value: 0, value: 0).html_safe)
|
||||
= row(label: 'exercises.implement.feedback')
|
||||
= row(label: 'exercises.implement.messages')
|
||||
#score data-maximum-score=@exercise.maximum_score data-score=@exercise.final_submission(@current_user).try(:score)
|
||||
h4
|
||||
span == "#{t('activerecord.attributes.submission.score')}: "
|
||||
|
@ -44,5 +44,5 @@ li.card.mt-2
|
||||
.help-block.form-text = t('.hints.feedback_message')
|
||||
.form-group
|
||||
= f.label(:role, t('activerecord.attributes.file.weight'))
|
||||
= f.number_field(:weight, class: 'form-control', min: 1, step: 'any')
|
||||
= f.number_field(:weight, class: 'form-control', min: 0, step: 'any')
|
||||
= render('code_field', attribute: :content, form: f, label: t('activerecord.attributes.file.content'))
|
||||
|
@ -368,14 +368,17 @@ de:
|
||||
title: Ihr Browser wird nicht unterstützt!
|
||||
default_feedback: Sehr gut. Alle Tests waren erfolgreich.
|
||||
error_messages: Fehlermeldungen
|
||||
messages: Meldungen
|
||||
feedback: Feedback
|
||||
file: 'Test-Datei <span class="number">%{number}</span> (<span class="filename">%{filename}</span>)'
|
||||
test_file: 'Test-Datei <span class="number">%{number}</span> (<span class="filename">%{filename}</span>)'
|
||||
linter_file: 'Linter-Feedback (ohne Punkte)<span class="number d-none">%{number}</span><span class="filename d-none">%{filename}</span>'
|
||||
hint: Tipp
|
||||
no_files: Die Aufgabe umfasst noch keine sichtbaren Dateien.
|
||||
no_output: Die letzte Code-Ausführung terminierte am %{timestamp} ohne Ausgabe.
|
||||
no_output_yet: Bisher existiert noch keine Ausgabe.
|
||||
output: Programm-Ausgabe
|
||||
passed_tests: Erfolgreiche Tests
|
||||
code_rating: Code-Stil
|
||||
progress: Fortschritt
|
||||
results: Ergebnisse
|
||||
start: Mit dem Programmieren beginnen
|
||||
|
@ -368,14 +368,17 @@ en:
|
||||
title: Your browser is not supported!
|
||||
default_feedback: Well done. All tests have been passed.
|
||||
error_messages: Error Messages
|
||||
messages: Messages
|
||||
feedback: Feedback
|
||||
file: 'Test File <span class="number">%{number}</span> (<span class="filename">%{filename}</span>)'
|
||||
test_file: 'Test File <span class="number">%{number}</span> (<span class="filename">%{filename}</span>)'
|
||||
linter_file: 'Linter Feedback (not graded)<span class="number d-none">%{number}</span><span class="filename d-none">%{filename}</span>'
|
||||
hint: Hint
|
||||
no_files: The exercise does not comprise visible files yet.
|
||||
no_output: The last code run finished on %{timestamp} without any output.
|
||||
no_output_yet: There is no output yet.
|
||||
output: Program Output
|
||||
passed_tests: Passed Tests
|
||||
code_rating: Code Rating
|
||||
progress: Progress
|
||||
results: Results
|
||||
start: Start Coding
|
||||
|
Reference in New Issue
Block a user