Commit | Line | Data |
---|---|---|
e99c53fb BA |
1 | // TODO: onglets pour chaque groupe + section déroulante questionnaire (chargé avec réponses) |
2 | // NOM Prenom (par grp, puis alphabétique) | |
3 | // réponse : vert si OK (+ choix), rouge si faux, gris si texte (clic pour voir) | |
4 | // + temps total ? | |
5 | // click sur en-tête de colonne : tri alphabétique, tri décroissant... | |
6 | // Affiché si (hash du) mdp du cours est correctement entré | |
7 | // Doit reprendre les données en base si refresh (sinon : sockets) | |
8 | ||
e5ec7dea BA |
9 | let socket = null; //monitor answers in real time |
10 | ||
e5ec7dea BA |
11 | new Vue({ |
12 | el: "#monitor", | |
13 | data: { | |
14 | password: "", //from password field | |
15 | assessment: null, //obtained after authentication | |
16 | // Stage 0: unauthenticated (password), | |
17 | // 1: authenticated (password hash validated), start monitoring | |
18 | stage: 0, | |
f6648c37 BA |
19 | answers: { |
20 | displayAll: true, | |
21 | showSolution: true, //TODO: allow to hide, to let teachers search too | |
22 | inputs: [ ], | |
23 | index : -1, | |
24 | }, | |
e5ec7dea | 25 | }, |
e5ec7dea BA |
26 | methods: { |
27 | // stage 0 --> 1 | |
28 | startMonitoring: function() { | |
29 | $.ajax("/start/monitoring", { | |
30 | method: "GET", | |
31 | data: { | |
f6648c37 | 32 | password: this.password, |
e5ec7dea BA |
33 | aname: examName, |
34 | cname: courseName, | |
f6648c37 | 35 | initials: initials, |
e5ec7dea BA |
36 | }, |
37 | dataType: "json", | |
38 | success: s => { | |
39 | if (!!s.errmsg) | |
40 | return this.warning(s.errmsg); | |
f6648c37 | 41 | this.assessment = JSON.parse(s.assessment); |
e5ec7dea | 42 | this.stage = 1; |
f6648c37 BA |
43 | socket = io.connect("/", { |
44 | query: "aid=" + this.assessment._id + "&secret=" + s.secret | |
45 | }); | |
46 | socket.on(message.newAnswer, m => { | |
47 | let paperIdx = this.assessment.papers.findIndex( item => { | |
48 | return item.number == m.number; | |
49 | }); | |
50 | this.assessment.papers[paperIdx].inputs.push(m.input); //answer+index | |
e5ec7dea | 51 | }); |
e5ec7dea BA |
52 | }, |
53 | }); | |
54 | }, | |
55 | }, | |
56 | }); |