Commit f749fa174c87e75e4f7a392786f9504e2d3d3144
1 parent
778c815e
Exists in
master
and in
1 other branch
- fixed browser unfocus detection.
Showing
4 changed files
with
45 additions
and
6 deletions
Show diff stats
BUGS.md
| ... | ... | @@ -2,12 +2,12 @@ |
| 2 | 2 | # BUGS |
| 3 | 3 | |
| 4 | 4 | - usar thread.Lock para aceder a variaveis de estado? |
| 5 | -- permitir adicionar imagens nas perguntas. | |
| 6 | -- detect_unfocus.js so funciona se estiver inline no html. porquê??? | |
| 7 | 5 | |
| 8 | 6 | # TODO |
| 9 | 7 | |
| 8 | +- lidar com focus. aviso em /admin | |
| 10 | 9 | - implementar practice mode. |
| 10 | +- permitir adicionar imagens nas perguntas. | |
| 11 | 11 | - abrir o teste numa janela maximizada e que nao permite que o aluno a redimensione/mova. |
| 12 | 12 | - detectar scroll e enviar posição para servidor (analise de scroll para detectar copianço? ou simplesmente para analisar como os alunos percorrem o teste) |
| 13 | 13 | - detectar se janela perde focus e alertar o prof (http://stackoverflow.com/questions/1060008/is-there-a-way-to-detect-if-a-browser-window-is-not-currently-active) |
| ... | ... | @@ -24,6 +24,7 @@ |
| 24 | 24 | |
| 25 | 25 | # FIXED |
| 26 | 26 | |
| 27 | +- detect_unfocus.js so funciona se estiver inline no html. porquê??? | |
| 27 | 28 | - inserir novo aluno /admin não fecha. |
| 28 | 29 | - se aluno desistir, ainda fica marcado como online |
| 29 | 30 | - give dá None em vez de 0.0 | ... | ... |
static/js/admin.js
| ... | ... | @@ -113,9 +113,9 @@ $(document).ready(function() { |
| 113 | 113 | rows += '\ |
| 114 | 114 | <td><input type="checkbox" name="' + uid + '" value="true"' + (d['allowed'] ? 'checked' : '') + '></td>\ |
| 115 | 115 | <td>' + uid + '</td>\ |
| 116 | - <td>' + d['name'] + '</td>\ | |
| 116 | + <td>' + d['name'] + (d['password_defined'] ? ' <span class="label label-default">pw</span>' : '') +'</td>\ | |
| 117 | 117 | <td>' + |
| 118 | - (d['password_defined'] ? '<span class="label label-default">pw</span>' : '') + | |
| 118 | + | |
| 119 | 119 | // (d['online'] ? '<span class="label label-warning">online</span>' : '') + |
| 120 | 120 | (d['start_time']==''?'':'<span class="label label-success">teste</span>') + |
| 121 | 121 | '</td>\ | ... | ... |
| ... | ... | @@ -0,0 +1,36 @@ |
| 1 | +$(document).ready(function() { | |
| 2 | + $(window).focus(function(){ | |
| 3 | + $.ajax({ | |
| 4 | + type: "POST", | |
| 5 | + url: "/adminwebservice", | |
| 6 | + data: { | |
| 7 | + "cmd": "focus", | |
| 8 | + "name": $("#number").text() | |
| 9 | + } | |
| 10 | + }); | |
| 11 | + }); | |
| 12 | + | |
| 13 | + $(window).blur(function(e){ | |
| 14 | + $.ajax({ | |
| 15 | + type: "POST", | |
| 16 | + url: "/adminwebservice", | |
| 17 | + data: { | |
| 18 | + "cmd": "blur", | |
| 19 | + "name": $("#number").text() | |
| 20 | + } | |
| 21 | + }); | |
| 22 | + }); | |
| 23 | + | |
| 24 | + $(window).resize(function(){ | |
| 25 | + var n = $(window).scrollTop(); | |
| 26 | + $.ajax({ | |
| 27 | + type: "POST", | |
| 28 | + url: "/adminwebservice", | |
| 29 | + data: { | |
| 30 | + "cmd": "resize", | |
| 31 | + "name": $("#number").text(), | |
| 32 | + "scroll": n | |
| 33 | + } | |
| 34 | + }); | |
| 35 | + }); | |
| 36 | +}); | |
| 0 | 37 | \ No newline at end of file | ... | ... |
templates/test.html
| ... | ... | @@ -74,8 +74,10 @@ |
| 74 | 74 | <ul class="nav navbar-nav navbar-right"> |
| 75 | 75 | <li class="dropdown"> |
| 76 | 76 | <a class="dropdown-toggle" data-toggle="dropdown" href="#"> |
| 77 | - <span class="glyphicon glyphicon-user" aria-hidden="true"></span> | |
| 78 | - ${t['student']['name']} (${t['student']['number']}) <span class="caret"></span> | |
| 77 | + <span class="glyphicon glyphicon-user" aria-hidden="true"></span> | |
| 78 | + <span id="name">${t['student']['name']}</span> | |
| 79 | + (<span id="number">${t['student']['number']}</span>) | |
| 80 | + <span class="caret"></span> | |
| 79 | 81 | </a> |
| 80 | 82 | <ul class="dropdown-menu"> |
| 81 | 83 | <li class="active"><a href="/test">Teste</a></li> | ... | ... |