groupId: function(group, prefix) {
return (prefix || "") + "group" + group;
},
- togglePresence: function(s) {
- s.present = !s.present;
+ togglePresence: function(student) {
+ const sIdx = this.students.findIndex( s => { return s.number == student.number; });
+ Vue.set( this.students, sIdx, Object.assign({},student,{present:!student.present}) );
+ //s.present = !s.present;
},
allFinished: function() {
for (s of this.students)
{
if (!s.present)
continue;
- const paperIdx = this.assessment.papers.findIndex( item => { return item.number == number; });
+ const paperIdx = this.assessment.papers.findIndex( item => { return item.number == s.number; });
if (paperIdx === -1)
return false;
const paper = this.assessment.papers[paperIdx];
/*table { border: none; border-collapse: collapse; }*/
table.in-question td { border-left: 1px solid grey; }
table.in-question td:first-child { border-left: none; }
+
+.absent {
+ opacity: 0.5;
+ background-color: lightgrey;
+}
th Name
th(v-for="(q,i) in assessment.questions") Q.{{ (i+1) }}
tbody
- tr.assessment(v-for="s in studentList(group)")
+ tr.assessment(v-for="s in studentList(group)" :class="{absent:!s.present}")
td(:class="{blur:!!s.blur,resize:!!s.resize,disconnect:!!s.disco}" @click="togglePresence(s)") {{ s.name }}
td(v-for="(q,i) in assessment.questions" :style="{backgroundColor: getColor(s.number,i)}" @click="seeDetails(s.number,i)")
h4.title(@click="toggleDisplay('assessment')") Assessment