3 block append stylesheets
4 link(rel="stylesheet" href="/stylesheets/statements.css")
5 link(rel="stylesheet" href="/stylesheets/grade.css")
8 a#rightButton.btn-floating.btn-large.grey(href="grade")
9 i.material-icons mode_edit
13 form(@submit.prevent="computeGrades")
15 input#points(type="number" v-model.number="settings.totalPoints" required)
16 label(for="points") Total points
18 input#partial(type="checkbox" v-model="settings.halfPoint")
19 label(for="partial") Half point for partial answers? (≥ 50%)
21 input#malus(type="checkbox" v-model="settings.zeroSum")
22 label(for="malus") Lose points on wrong answers? ("Zero-sum" game)
25 a.modal-action.modal-close.waves-effect.waves-light.btn(href="#!" @click="computeGrades()")
27 i.material-icons.right send
34 th(v-for="evaluation in evaluationArray") {{ evaluation.name }}
36 tr.grade(v-for="student in studentList(group)")
37 td {{ student.number }}
38 td(v-for="(evaluation,i) in evaluationArray" @click="togglePresence(student.number,i)")
39 | {{ grade(i,student.number) }}
42 a.modal-action.modal-close.waves-effect.waves-light.btn-flat(href="#!") Close
47 .col.s12.m10.offset-m1
48 h4 #{courseCode} grading
49 // TODO: Allow grading per student, per question or sub-question
51 ul.tabs.tabs-fixed-width
54 li.tab(v-for="group in groupList()")
55 a(:href="groupId(group,'#')") G.{{ group }}
56 table(:id="groupId(group)" v-for="group in [0].concat(groupList())")
60 th(v-for="(q,i) in evaluation.questions") Q.{{ (i+1) }}
62 tr.evaluation(v-for="s in studentList(group)")
64 td(v-for="(q,i) in evaluation.questions" :style="{background-color: getColor(number,i)}" @click="seeDetails(number,i)")
65 h4.title(@click="toggleDisplay('evaluation')") evaluation
66 div(v-show="display=='evaluation'")
68 .introduction(v-html="evaluation.introduction")
70 statements(:questions="evaluation.questions" :answers:"answers")
73 h4.title(@click="toggleDisplay('grades')") Grades
74 .card(v-show="display=='grades'")
76 button.on-left.waves-effect.waves-light.btn(@click="gradeSettings()") Settings
77 a#download.hide(href="#" ref="download")
78 button.waves-effect.waves-light.btn(@click="download") Download
79 ul.tabs.tabs-fixed-width
82 li.tab(v-for="group in groupList()")
83 a(:href="groupId(group,'#')") G.{{ group }}
84 table.result(:id="groupId(group)" v-for="group in [0].concat(groupList())" @click="showDetails(group)")
91 tr.grade(v-for="student in studentList(group)")
92 td {{ student.number }}
95 //td {{ grades[student.number].final }}
97 td(colspan="4") Stats: range= stdev= mean=
99 block append javascripts
101 const initials = "#{initials}";
102 const courseCode = "#{courseName}";
103 script(src="/javascripts/utils/sha1.js")
104 script(src="/javascripts/grade.js")