// Stage 0: unauthenticated (password),
// 1: authenticated (password hash validated), start monitoring
stage: 0,
// Stage 0: unauthenticated (password),
// 1: authenticated (password hash validated), start monitoring
stage: 0,
- const paper = this.assessment.papers[paperIdx];
- if (paper.inputs.length < this.assessment.questions.length)
+ const paper = this.evaluation.papers[paperIdx];
+ if (paper.inputs.length < this.evaluation.questions.length)
getColor: function(number, qIdx) {
// For the moment, green if correct and red if wrong; grey if unanswered yet
// TODO: in-between color for partially right (especially for multi-questions)
getColor: function(number, qIdx) {
// For the moment, green if correct and red if wrong; grey if unanswered yet
// TODO: in-between color for partially right (especially for multi-questions)
let input = _(q.options.length).times( _.constant(false) );
q.answer.forEach( idx => { input[idx] = true; });
return input;
let input = _(q.options.length).times( _.constant(false) );
q.answer.forEach( idx => { input[idx] = true; });
return input;
this.students.forEach( s => { s.present = true; }); //a priori...
this.stage = 1;
socket = io.connect("/", {
this.students.forEach( s => { s.present = true; }); //a priori...
this.stage = 1;
socket = io.connect("/", {
});
socket.on(message.studentBlur, m => {
const sIdx = this.students.findIndex( item => { return item.number == m.number; });
});
socket.on(message.studentBlur, m => {
const sIdx = this.students.findIndex( item => { return item.number == m.number; });
this.students[sIdx].disco = false;
});
socket.on(message.newAnswer, m => {
this.students[sIdx].disco = false;
});
socket.on(message.newAnswer, m => {
number: m.number,
inputs: [ ], //other fields irrelevant here
});
}
// TODO: notations not coherent (input / answer... when, which ?)
number: m.number,
inputs: [ ], //other fields irrelevant here
});
}
// TODO: notations not coherent (input / answer... when, which ?)