Commit ffda71ff authored by Bruno Meyer's avatar Bruno Meyer 😢

Merge branch 'master' into '48-criterios-de-grupo-filtro'

# Conflicts:
#   js/professor.js
#   js/script.js
parents fa3379d5 c8e78172
@media screen and (-webkit-min-device-pixel-ratio:0) {
select:focus,
textarea:focus,
input:focus {
font-size: 16px;
}
}
/* regra para o box-sizing */
*, *:before, *:after {
-webkit-box-sizing: border-box;
......
......@@ -31,9 +31,13 @@
<div class="splash-container">
<label for="name">Nome</label>
<input id="nome" name="nome" type="text" placeholder="Nome" class="pure-input-rounded">
<br>
<br><br>
<label for="grupo">Grupo</label>
<input id="grupo" name="grupo" type="text" placeholder="grupo" class="pure-input-rounded">
<br><br>
<input id="grupo" name="grupo" type="checkbox" value=1 class="pure-input-rounded" checked> Normal
<br>
<input id="grupo" name="grupo" type="checkbox" value=2 class="pure-input-rounded"> Meditaçao
<br>
</div>
<br><br>
......
......@@ -30,14 +30,14 @@ var __configs = {
function __saveConfigs(){
for(var x in __configs){
localStorage[x] = JSON.stringify(__configs[x]);
localStorage[x] = JSON.stringify(__configs[x]);
}
}
function __init(){
for(var x in __configs){
if(localStorage[x] != undefined){
console.log(localStorage[x]);
//console.log(localStorage[x]);
__configs[x] = JSON.parse(localStorage[x]);
}
else{
......@@ -56,7 +56,7 @@ function getConfiguracoes(){
console.log(getConfiguracoes());
//console.log(getConfiguracoes());
......@@ -201,54 +201,202 @@ function downloadCsv(){
for (var teste in dataSet){
tempos.push(buscaTempoResposta(dataSet[teste].stringResposta[0]));
}
console.log(dataSet);
var data = tempos;
var csvContent = "data:text/csv;charset=utf-8,";
for(var i in dataSet){
csvContent += dataSet[i].nome+" - "+dataSet[i].grupo+","
}
csvContent+="\n";
if(dataSet.length < 1){
alert("Não há nenhum teste registrado!");
return;
}
ordemFiltrada = filtraOrdemBateria(dataSet[0].ordemBateria);
lines = [];
for(var i = 0; i < ordemFiltrada.length+ordemFiltrada.length; i++){
for(var j in dataSet[0].stringResposta[0]){
lines.push("");
function scpAspas(t){
return "\""+t+"\"";
}
var tabela = [];
tabela.push([]);
tabela[0][0] = "\"\"";
var congruenteIndex = [];
var incongruenteIndex = [];
for(i in ordemFiltrada){
if(ordemFiltrada[i] == "C"){
congruenteIndex.push(parseInt(i));
//tabela[0].push(","+scapeAspasSimples(ordemFiltrada[i]));
}
if(ordemFiltrada[i] == "I"){
incongruenteIndex.push(parseInt(i));
}
}
var numCongruentes = congruenteIndex.length;
var numIncongruentes = incongruenteIndex.length;
for(var i = 0; i < numCongruentes; i++){
tabela[0].push(",\"C "+(i+1)+"\"");
}
tabela[0].push(",\"Média C\",\"Dev Pad C\", \"Erro C\", \"Acertos C\"");
for(var i = 0; i < numCongruentes; i++){
tabela[0].push(",\"C M"+(i+1)+"\"");
}
tabela[0].push(",\"Média C M \",\"Dev Pad C M\", \"Erro C M\", \"Acertos C M\"");
for(var i = 0; i < numIncongruentes; i++){
tabela[0].push(",\"I "+(i+1)+"\"");
}
tabela[0].push(",\"Média I\",\"Dev Pad I\", \"Erro I\", \"Acertos I\"");
for(var i = 0; i < numIncongruentes; i++){
tabela[0].push(",\"I M"+(i+1)+"\"");
}
tabela[0].push(",\"Média I M \",\"Dev Pad I M\", \"Erro I M\", \"Acertos I M\"");
var dicionario = {}
for(var i in dataSet){
for(var j in dataSet[i].stringResposta){
j = parseInt(j);
if(ordemFiltrada[j]=="C"){
lineIndex = parseInt(j*dataSet[i].stringResposta[j].length)+j;
lines[lineIndex]+="Congruente,";
if(dataSet[i].nome in dicionario){
dicionario[dataSet[i].nome].push(dataSet[i]);
}
else{
dicionario[dataSet[i].nome] = [dataSet[i]];
}
}
function mediaTeste(teste){
var acertos = 0;
var soma = 0;
for(var i in teste){
if(teste[i].acertou){
soma+=parseFloat(teste[i].tempo);
acertos++;
}
if(ordemFiltrada[j]=="I"){
lineIndex = parseInt(j*dataSet[i].stringResposta[j].length)+j;
lines[lineIndex]+="Incongruente,";
//console.log(teste[i]);
}
var media = 0;
if(acertos > 0){
media = (soma/acertos);
}
return {media: media, acertos: acertos};
}
for(p in dicionario){
var line = [p];
var pessoa = dicionario[p];
var acertosTotais = 0;
for(b in pessoa){
var bateria = pessoa[b];
if(bateria.grupo == 1){
for(var j in congruenteIndex){
var index = congruenteIndex[j];
media = mediaTeste(bateria.stringResposta[index]);
acertosTotais+=media.acertos;
line.push(","+scpAspas(media.media))
}
}
for(var k in dataSet[i].stringResposta[j]){
lineIndex = parseInt(j*dataSet[i].stringResposta[j].length) + parseInt(k);
lineIndex=parseInt(lineIndex)+1+parseInt(j);
if(dataSet[i].stringResposta[j][k].acertou)
lines[lineIndex]+="Acerto - ";
else
lines[lineIndex]+="Erro - ";
lines[lineIndex] +=(dataSet[i].stringResposta[j][k].tempo+",");
}
line.push(",\"\""); //media
line.push(",\"\""); //desvio padrao
line.push(",\"\""); //erro
line.push(","+scpAspas(acertosTotais));
tabela.push(line);
}
var i = 1;
for(p in dicionario){
var pessoa = dicionario[p];
var acertosTotais = 0;
for(b in pessoa){
var bateria = pessoa[b];
if(bateria.grupo == 2){
for(var j in congruenteIndex){
var index = congruenteIndex[j];
media = mediaTeste(bateria.stringResposta[index]);
acertosTotais+=media.acertos;
tabela[i].push(","+scpAspas(media.media))
}
}
}
tabela[i].push(",\"\""); //media
tabela[i].push(",\"\""); //desvio padrao
tabela[i].push(",\"\""); //erro
tabela[i].push(","+scpAspas(acertosTotais));
i++;
}
csvContent += lines.join("\n");
var i = 1;
for(p in dicionario){
var pessoa = dicionario[p];
var acertosTotais = 0;
for(b in pessoa){
var bateria = pessoa[b];
if(bateria.grupo == 1){
for(var j in incongruenteIndex){
var index = incongruenteIndex[j];
media = mediaTeste(bateria.stringResposta[index]);
acertosTotais+=media.acertos;
tabela[i].push(","+scpAspas(media.media));
}
}
}
tabela[i].push(",\"\""); //media
tabela[i].push(",\"\""); //desvio padrao
tabela[i].push(",\"\""); //erro
tabela[i].push(","+scpAspas(acertosTotais));
i++;
}
var i = 1;
for(p in dicionario){
var pessoa = dicionario[p];
var acertosTotais = 0;
for(b in pessoa){
var bateria = pessoa[b];
if(bateria.grupo == 2){
for(var j in incongruenteIndex){
var index = incongruenteIndex[j];
media = mediaTeste(bateria.stringResposta[index]);
acertosTotais+=media.acertos;
tabela[i].push(","+scpAspas(media.media))
}
}
}
tabela[i].push(",\"\""); //media
tabela[i].push(",\"\""); //desvio padrao
tabela[i].push(",\"\""); //erro
tabela[i].push(","+scpAspas(acertosTotais));
i++;
}
for(var l in tabela){
csvContent+= tabela[l].join("")+"\n";
}
var encodedUri = encodeURI(csvContent);
var link = document.createElement("a");
......
......@@ -19,7 +19,7 @@ var senha = null;
//Contem a estrutura de todos as informacoes necessarias para o professor (array de baterias de testes)
var dados = dataSet;
//console.log(dados);
var objeto_ativo = null; //Objeto (HTML) ativo na gerencia de testes
......@@ -104,8 +104,7 @@ function filtraOrdemBateria(array){
//Imprime na tela o conteúdo referente a aba de gerencia de testes
function abre_informacao_teste(obj){
mediaC=0;
mediaI=0;
if(objeto_ativo == obj){
desativa_objeto_ativo();
return;
......@@ -117,7 +116,7 @@ function abre_informacao_teste(obj){
obj.innerHTML+= dados[1*obj.getAttribute("id_teste")].nome+"<br>";
obj.innerHTML+= "Grupo "+dados[1*obj.getAttribute("id_teste")].grupo+"<br>";
ordemFiltrada = filtraOrdemBateria(dados[1*obj.getAttribute("id_teste")].ordemBateria);
//Para cada resposta de cada teste
for(var i = 0; i < dados[1*obj.getAttribute("id_teste")].stringResposta.length; i++){
......@@ -128,7 +127,10 @@ function abre_informacao_teste(obj){
if(ordemFiltrada[i] == "I")
obj.innerHTML+="Incongruente";
obj.innerHTML+="<br>"
obj.innerHTML+="<br>";
var mediaC=0;
var mediaI=0;
var acertos = 0;
for(var j = 0; j < dados[1*obj.getAttribute("id_teste")].stringResposta[i].length; j++){
/*Escreve na tela ( em forma de botões ) se a pessoa acertou, e o seu tempo, alterando a classe de cada uma para :
- spanAcertou
......@@ -137,27 +139,28 @@ function abre_informacao_teste(obj){
if(dados[1*obj.getAttribute("id_teste")].stringResposta[i][j].acertou == "1"){
obj.innerHTML += "<span class=spanAcertou>" + dados[1*obj.getAttribute("id_teste")].stringResposta[i][j].tempo+"</span><br>";
if(ordemFiltrada[i] == "C"){
mediaC = parseFloat(mediaC) + parseFloat(dados[1*obj.getAttribute("id_teste")].stringResposta[i][j].tempo);
}
else{
mediaI = parseFloat(mediaI) + parseFloat(dados[1*obj.getAttribute("id_teste")].stringResposta[i][j].tempo);
}
acertos++;
}
else{
obj.innerHTML += "<span class=spanErrou>" + dados[1*obj.getAttribute("id_teste")].stringResposta[i][j].tempo+"</span><br>";
}
if(ordemFiltrada[i] == "C")
{
mediaC = parseFloat(mediaC) + parseFloat(dados[1*obj.getAttribute("id_teste")].stringResposta[i][j].tempo);
}
else {
mediaI = parseFloat(mediaI) + parseFloat(dados[1*obj.getAttribute("id_teste")].stringResposta[i][j].tempo);
}
}
if(mediaI == 0)
{
obj.innerHTML += "<br>Média Congruente<br>";
mediaC = parseFloat(mediaC) / parseFloat(dados[1*obj.getAttribute("id_teste")].stringResposta[i].length);
mediaC = parseFloat(mediaC) / acertos;
obj.innerHTML += "<span class=spanAcertou>" + parseFloat(mediaC.toFixed(2))+"</span><br>";
}
else {
obj.innerHTML += "<br>Média Incongruente<br>";
mediaI = parseFloat(mediaI) / parseFloat(dados[1*obj.getAttribute("id_teste")].stringResposta[i].length);
mediaI = parseFloat(mediaI) / acertos;
obj.innerHTML += "<span class=spanAcertou>" + parseFloat(mediaI.toFixed(2))+"</span><br>";
}
desvioPadrao = 0;
......@@ -176,8 +179,8 @@ function abre_informacao_teste(obj){
obj.innerHTML += "<br>Desvio Padrão<br>";
obj.innerHTML += "<span class=spanAcertou>" + parseFloat(desvioPadrao.toFixed(2))+"</span><br>";
if(j < dados[1*obj.getAttribute("id_teste")].stringResposta[i].length-1)
obj.innerHTML +="<br>";
if(j < dados[1*obj.getAttribute("id_teste")].stringResposta[i].length-1)
obj.innerHTML +="<br>";
}
......@@ -337,7 +340,7 @@ function geraGraficos(){
$("#logado_main center" ).remove();
if(!dados.length)
{
alert("Não há nenhum teste registrado!");
//alert("Não há nenhum teste registrado!");
return;
}
......
......@@ -25,8 +25,8 @@ var NUM_DE_PERGUNTAS_PRE = configs.perguntasPre;
var ordemBateria = configs.ordemBateria;
console.log(localStorage.ordemBateria);
console.log(localStorage.perguntas);
//console.log(localStorage.ordemBateria);
//console.log(localStorage.perguntas);
var contaPerguntas = 0;
var ultimoCerto = 0;
......@@ -312,11 +312,11 @@ function contagem() {
autostart : false,
label : ["", ""],
smooth: true,
onComplete : function () { console.log('done') }
onComplete : function () { /*console.log('done')*/; }
});
countdown.start();
console.log('countdown360 ',countdown);
//console.log('countdown360 ',countdown);
$("#countdown").css("left",window.innerWidth*0.5 - countdown.settings.radius - countdown.settings.strokeWidth);
if(window.innerHeight < 356) {
......
......@@ -46,9 +46,9 @@
<li><a onClick="inicioTestes();" class="pure-menu-link">Início</a></li>
<li><a onClick="gerenciarTestes();" class="pure-menu-link">Gerenciar Testes</a></li>
<li><a onClick="configuracoes();" class="pure-menu-link">Configurações</a></li>
<li><a value='enviado' onClick="downloadCsv();">Baixar os resultados</a></li>
<li><a onClick="save_data();">Salvar dados</a></li>
<li><a class="pure-menu-link" onclick="getFile()"> Upload</a></li>
<li><a value='enviado' onClick="downloadCsv();">Baixar os resultados (planilha)</a></li>
<li><a onClick="save_data();">Salvar dados (<i>.stroop</i>)</a></li>
<li><a class="pure-menu-link" onclick="getFile()"> Upload (<i>.stroop</i>)</a></li>
<div style='height: 0px;width: 0px; overflow:hidden;'>
<input id="upfile" type="file" value="upload" onchange="load_data(this.files)"/>
</div>
......@@ -84,11 +84,11 @@
<h3 class="link-titulo">Menu</h3>
<ul class="box">
<li><a onClick="inicioTestes();" class="pure-menu-link">Início</a></li>
<li><a onClick="gerenciarTestes();" class="pure-menu-link">Gerenciar Testes</a></li>
<li><a onClick="gerenciarTestes();" class="pure-menu-link">Gerenciar Testes</a></li>
<li><a onClick="configuracoes();" class="pure-menu-link">Configurações</a></li>
<li><a value='enviado' onClick="downloadCsv();">Baixar os resultados</a></li>
<li><a onClick="save_data();">Salvar dados</a></li>
<li><a class="pure-menu-link" onclick="getFile()"> Upload</a></li>
<li><a value='enviado' onClick="downloadCsv();">Baixar os resultados (planilha)</a></li>
<li><a onClick="save_data();">Salvar dados (<i>.stroop</i>)</a></li>
<li><a class="pure-menu-link" onclick="getFile()"> Upload (<i>.stroop</i>)</a></li>
<div style='height: 0px;width: 0px; overflow:hidden;'>
<input id="upfile" type="file" value="upload" onchange="load_data(this.files)"/>
</div>
......@@ -97,12 +97,13 @@
</div> <!-- /#menu -->
</div> <!-- /#lateral -->
</div>
<div id="externa">
<div id="corpoGerencia">
<center id="gerencia_testes">
<div id="externa">
<div id="corpoGerencia">
<center>Clique nos nomes para visualizar os detalhes</center><br>
<center id="gerencia_testes">
</center>
</div>
</center>
</div>
</div>
</div>
<!--*******************************************************************************************!-->
......@@ -118,16 +119,16 @@
<h2> > </h2>
<h3 class="link-titulo">Menu</h3>
<ul class="box">
<li ><a onClick="inicioTestes();" >Início</a></li>
<li ><a onClick="gerenciarTestes();" >Gerenciar Testes</a></li>
<li ><a onClick="configuracoes();">Configurações</a></li>
<li><a value='enviado' onClick="downloadCsv();">Baixar os resultados</a></li>
<li><a onClick="save_data();">Salvar dados</a></li>
<li><a class="pure-menu-link" onclick="getFile()"> Upload</a></li>
<div style='height: 0px;width: 0px; overflow:hidden;'>
<input id="upfile" type="file" value="upload" onchange="load_data(this.files)"/>
</div>
<li><a href="index.html">Fazer teste</a></li>
<li><a onClick="inicioTestes();" class="pure-menu-link">Início</a></li>
<li><a onClick="gerenciarTestes();" class="pure-menu-link">Gerenciar Testes</a></li>
<li><a onClick="configuracoes();" class="pure-menu-link">Configurações</a></li>
<li><a value='enviado' onClick="downloadCsv();">Baixar os resultados (planilha)</a></li>
<li><a onClick="save_data();">Salvar dados (<i>.stroop</i>)</a></li>
<li><a class="pure-menu-link" onclick="getFile()"> Upload (<i>.stroop</i>)</a></li>
<div style='height: 0px;width: 0px; overflow:hidden;'>
<input id="upfile" type="file" value="upload" onchange="load_data(this.files)"/>
</div>
<li><a href="index.html">Fazer teste</a></li>
</ul>
</div> <!-- /#menu -->
</div> <!-- /#lateral -->
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment