|
|
@ -21,7 +21,6 @@ |
|
|
{% render_bundle 'painel' 'css' %} |
|
|
{% render_bundle 'painel' 'css' %} |
|
|
{% endblock webpack_loader_css %} |
|
|
{% endblock webpack_loader_css %} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<style type="text/css"> |
|
|
<style type="text/css"> |
|
|
html, body { |
|
|
html, body { |
|
|
max-width: 100%; |
|
|
max-width: 100%; |
|
|
@ -33,7 +32,6 @@ |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
</style> |
|
|
</style> |
|
|
|
|
|
|
|
|
</head> |
|
|
</head> |
|
|
<body class="painel-principal"> |
|
|
<body class="painel-principal"> |
|
|
<audio type="hidden" id="audio" src="{% webpack_static 'audio/ring.mp3' %}"></audio> |
|
|
<audio type="hidden" id="audio" src="{% webpack_static 'audio/ring.mp3' %}"></audio> |
|
|
@ -65,7 +63,6 @@ |
|
|
<div class="col text-center"><span class="text-value data-hora" id="relogio"></span></div> |
|
|
<div class="col text-center"><span class="text-value data-hora" id="relogio"></span></div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class=""> |
|
|
<div class=""> |
|
|
<div class="d-flex justify-content-start"> |
|
|
<div class="d-flex justify-content-start"> |
|
|
<div class="col-md-4"> |
|
|
<div class="col-md-4"> |
|
|
@ -77,16 +74,15 @@ |
|
|
<div class="d-flex col-md-8 painels"> |
|
|
<div class="d-flex col-md-8 painels"> |
|
|
<div class="col-md-6 text-center painel" id="aparecer_oradores"> |
|
|
<div class="col-md-6 text-center painel" id="aparecer_oradores"> |
|
|
<h2 class="text-subtitle">Oradores</h2> |
|
|
<h2 class="text-subtitle">Oradores</h2> |
|
|
<span id="orador"></span> |
|
|
<span id="orador" class="text-value" align="center"></span> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="col-md-6 text-center painel"> |
|
|
<div class="col-md-6 text-center painel"> |
|
|
<h2 class="text-subtitle">Cronômetros</h2> |
|
|
<h2 class="text-subtitle">Cronômetros</h2> |
|
|
<div class="text-value"> |
|
|
<div class="text-value"> |
|
|
Discurso: <span id="cronometro_discurso"></span><br> |
|
|
{% for cronometro in cronometros %} |
|
|
Aparte: <span id="cronometro_aparte"></span><br> |
|
|
{{cronometro}}: <span id="cronometro_{{cronometro.id}}"></span><br> |
|
|
Questão de Ordem: <span id="cronometro_ordem"></span><br> |
|
|
{% endfor %} |
|
|
Considerações Finais: <span id="cronometro_consideracoes"></span> |
|
|
|
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
@ -101,11 +97,10 @@ |
|
|
<span id="materia_legislativa_texto" class="text-value"></span> |
|
|
<span id="materia_legislativa_texto" class="text-value"></span> |
|
|
<span id="observacao_materia" class="text-value"></span> |
|
|
<span id="observacao_materia" class="text-value"></span> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
</body> |
|
|
</body> |
|
|
|
|
|
|
|
|
{% block webpack_loader_js %} |
|
|
{% block webpack_loader_js %} |
|
|
@ -122,12 +117,11 @@ |
|
|
var n = d.toLocaleDateString(); |
|
|
var n = d.toLocaleDateString(); |
|
|
document.getElementById("date").innerHTML = n; |
|
|
document.getElementById("date").innerHTML = n; |
|
|
|
|
|
|
|
|
$(document).ready(function() { |
|
|
|
|
|
//TODO: replace by a fancy jQuery clock |
|
|
|
|
|
function checkTime(i) { |
|
|
function checkTime(i) { |
|
|
if (i<10) {i = "0" + i}; // add zero in front of numbers < 10 |
|
|
if (i<10) {i = "0" + i}; // add zero in front of numbers < 10 |
|
|
return i; |
|
|
return i; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
function startTime() { |
|
|
function startTime() { |
|
|
var today=new Date(); |
|
|
var today=new Date(); |
|
|
var h=today.getHours(); |
|
|
var h=today.getHours(); |
|
|
@ -140,71 +134,30 @@ |
|
|
startTime() |
|
|
startTime() |
|
|
}, 500); |
|
|
}, 500); |
|
|
} |
|
|
} |
|
|
startTime(); |
|
|
|
|
|
|
|
|
|
|
|
var audioAlertFinish = document.getElementById("audio"); |
|
|
|
|
|
|
|
|
|
|
|
$('#cronometro_discurso').runner({ |
|
|
function show_voto(voto) { |
|
|
autostart: false, |
|
|
if (voto == "Sim"){ |
|
|
countdown: true, |
|
|
return '<font color="green"> Sim </font>' |
|
|
startAt: {{ 'discurso'|cronometro_to_seconds }} * 1000, |
|
|
|
|
|
stopAt: 0, |
|
|
|
|
|
milliseconds: false, |
|
|
|
|
|
format: function(value) { |
|
|
|
|
|
let h = Math.floor((value/1000) / 3600); |
|
|
|
|
|
h = checkTime(h); |
|
|
|
|
|
let m = Math.floor((value/1000) % 3600 / 60); |
|
|
|
|
|
m = checkTime(m); |
|
|
|
|
|
let s = Math.floor((value/1000) % 3600 % 60); |
|
|
|
|
|
s = checkTime(s); |
|
|
|
|
|
return h.toString() + ":" + m.toString() + ":" + s.toString(); |
|
|
|
|
|
} |
|
|
} |
|
|
}).on('runnerFinish', function(eventObject, info){ |
|
|
else if (voto == "Não"){ |
|
|
audioAlertFinish.play(); |
|
|
return '<font color="red"> Não </font>' |
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
$('#cronometro_aparte').runner({ |
|
|
|
|
|
autostart: false, |
|
|
|
|
|
countdown: true, |
|
|
|
|
|
startAt: {{ 'aparte'|cronometro_to_seconds }} * 1000, |
|
|
|
|
|
stopAt: 0, |
|
|
|
|
|
milliseconds: false, |
|
|
|
|
|
format: function(value) { |
|
|
|
|
|
let h = Math.floor((value/1000) / 3600); |
|
|
|
|
|
h = checkTime(h); |
|
|
|
|
|
let m = Math.floor((value/1000) % 3600 / 60); |
|
|
|
|
|
m = checkTime(m); |
|
|
|
|
|
let s = Math.floor((value/1000) % 3600 % 60); |
|
|
|
|
|
s = checkTime(s); |
|
|
|
|
|
return h.toString() + ":" + m.toString() + ":" + s.toString(); |
|
|
|
|
|
} |
|
|
} |
|
|
}).on('runnerFinish', function(eventObject, info){ |
|
|
return voto |
|
|
audioAlertFinish.play(); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
$('#cronometro_ordem').runner({ |
|
|
|
|
|
autostart: false, |
|
|
|
|
|
countdown: true, |
|
|
|
|
|
startAt: {{ 'ordem'|cronometro_to_seconds }} * 1000, |
|
|
|
|
|
stopAt: 0, |
|
|
|
|
|
milliseconds: false, |
|
|
|
|
|
format: function(value) { |
|
|
|
|
|
let h = Math.floor((value/1000) / 3600); |
|
|
|
|
|
h = checkTime(h); |
|
|
|
|
|
let m = Math.floor((value/1000) % 3600 / 60); |
|
|
|
|
|
m = checkTime(m); |
|
|
|
|
|
let s = Math.floor((value/1000) % 3600 % 60); |
|
|
|
|
|
s = checkTime(s); |
|
|
|
|
|
return h.toString() + ":" + m.toString() + ":" + s.toString(); |
|
|
|
|
|
} |
|
|
} |
|
|
}).on('runnerFinish', function(eventObject, info){ |
|
|
|
|
|
audioAlertFinish.play(); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
$('#cronometro_consideracoes').runner({ |
|
|
$(document).ready(function() { |
|
|
|
|
|
//TODO: replace by a fancy jQuery clock |
|
|
|
|
|
startTime(); |
|
|
|
|
|
|
|
|
|
|
|
var audioAlertFinish = document.getElementById("audio"); |
|
|
|
|
|
|
|
|
|
|
|
var cronometros_previous = []; |
|
|
|
|
|
{% for cron in cronometros %} |
|
|
|
|
|
cronometros_previous.push(0); |
|
|
|
|
|
$('#cronometro_' + "{{cron.id}}").runner({ |
|
|
autostart: false, |
|
|
autostart: false, |
|
|
countdown: true, |
|
|
countdown: true, |
|
|
startAt: {{ 'consideracoes'|cronometro_to_seconds }} * 1000, |
|
|
startAt: {{cron.duracao_cronometro|duration_to_seconds}} * 1000, |
|
|
stopAt: 0, |
|
|
stopAt: 0, |
|
|
milliseconds: false, |
|
|
milliseconds: false, |
|
|
format: function(value) { |
|
|
format: function(value) { |
|
|
@ -218,12 +171,8 @@ |
|
|
} |
|
|
} |
|
|
}).on('runnerFinish', function(eventObject, info){ |
|
|
}).on('runnerFinish', function(eventObject, info){ |
|
|
audioAlertFinish.play(); |
|
|
audioAlertFinish.play(); |
|
|
}); |
|
|
}) |
|
|
|
|
|
{% endfor %} |
|
|
var discurso_previous; |
|
|
|
|
|
var ordem_previous; |
|
|
|
|
|
var aparte_previous; |
|
|
|
|
|
var consideracoes_previous; |
|
|
|
|
|
|
|
|
|
|
|
var counter = 1; |
|
|
var counter = 1; |
|
|
(function poll() { |
|
|
(function poll() { |
|
|
@ -236,8 +185,7 @@ |
|
|
$("#sessao_plenaria_hora_inicio").text("Hora Início: " + data["sessao_plenaria_hora_inicio"]) |
|
|
$("#sessao_plenaria_hora_inicio").text("Hora Início: " + data["sessao_plenaria_hora_inicio"]) |
|
|
if (data["status_painel"] == false) { |
|
|
if (data["status_painel"] == false) { |
|
|
$("#message").text("PAINEL ENCONTRA-SE FECHADO"); |
|
|
$("#message").text("PAINEL ENCONTRA-SE FECHADO"); |
|
|
} |
|
|
} else { |
|
|
else { |
|
|
|
|
|
$("#message").text(""); |
|
|
$("#message").text(""); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@ -259,23 +207,21 @@ |
|
|
presentes.append('<table id="parlamentares_list">'); |
|
|
presentes.append('<table id="parlamentares_list">'); |
|
|
$.each(presentes_list, function (index, parlamentar) { |
|
|
$.each(presentes_list, function (index, parlamentar) { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (parlamentar.voto == 'Voto Informado'){ |
|
|
if (parlamentar.voto == 'Voto Informado'){ |
|
|
$('#parlamentares_list').append('<tr><td style="padding-right:20px; color:yellow" >' + |
|
|
$('#parlamentares_list').append('<tr><td style="padding-right:20px; color:yellow" >' + |
|
|
parlamentar.nome + |
|
|
parlamentar.nome + |
|
|
'</td> <td style="padding-right:20px; color:yellow">' + |
|
|
'</td> <td style="padding-right:20px; color:yellow">' + |
|
|
parlamentar.partido + '</td> <td style="padding-right:20px; color:yellow">' |
|
|
parlamentar.partido + '</td> <td style="padding-right:20px; color:yellow">' |
|
|
+ '</td></tr>') |
|
|
+ '</td></tr>') |
|
|
} |
|
|
} else{ |
|
|
else{ |
|
|
|
|
|
$('#parlamentares_list').append('<tr> <td style="padding-right:20px">' + |
|
|
$('#parlamentares_list').append('<tr> <td style="padding-right:20px">' + |
|
|
parlamentar.nome + |
|
|
parlamentar.nome + |
|
|
'</td> <td style="padding-right:20px">' + |
|
|
'</td> <td style="padding-right:20px">' + |
|
|
parlamentar.partido + '</td> <td style="padding-right:20px">' |
|
|
parlamentar.partido + '</td> <td style="padding-right:20px">' |
|
|
+ show_voto(parlamentar.voto) + '</td></tr>') |
|
|
+ show_voto(parlamentar.voto) + '</td></tr>') |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
presentes.append('</table>') |
|
|
presentes.append('</table>') |
|
|
|
|
|
|
|
|
if (data["oradores"].length > 0){ |
|
|
if (data["oradores"].length > 0){ |
|
|
@ -287,12 +233,10 @@ |
|
|
orador.nome +'</td></tr>') |
|
|
orador.nome +'</td></tr>') |
|
|
}); |
|
|
}); |
|
|
oradores.append('</table>'); |
|
|
oradores.append('</table>'); |
|
|
} |
|
|
} else { |
|
|
else { |
|
|
|
|
|
$('#aparecer_oradores').hide(); |
|
|
$('#aparecer_oradores').hide(); |
|
|
} |
|
|
} |
|
|
} |
|
|
} else{ |
|
|
else{ |
|
|
|
|
|
presentes.append('<span id="parlamentares_list">'); |
|
|
presentes.append('<span id="parlamentares_list">'); |
|
|
$('#parlamentares_list').append( |
|
|
$('#parlamentares_list').append( |
|
|
'<center>A listagem de parlamentares só aparecerá quando o painel estiver aberto.</center>') |
|
|
'<center>A listagem de parlamentares só aparecerá quando o painel estiver aberto.</center>') |
|
|
@ -319,77 +263,39 @@ |
|
|
votacao.append("<li>Abstenções: " + data["numero_abstencoes"] + "</li>") |
|
|
votacao.append("<li>Abstenções: " + data["numero_abstencoes"] + "</li>") |
|
|
votacao.append("<li>Presentes: " + num_presentes + "</li>") |
|
|
votacao.append("<li>Presentes: " + num_presentes + "</li>") |
|
|
votacao.append("<li>Total votos: " + data["total_votos"] + "</li>") |
|
|
votacao.append("<li>Total votos: " + data["total_votos"] + "</li>") |
|
|
} |
|
|
} else{ |
|
|
|
|
|
|
|
|
else{ |
|
|
|
|
|
$("#votacao").append('<center>Não há votação, pois não há nenhuma matéria aberta ou já votada.</center>'); |
|
|
$("#votacao").append('<center>Não há votação, pois não há nenhuma matéria aberta ou já votada.</center>'); |
|
|
} |
|
|
}; |
|
|
|
|
|
|
|
|
var discurso_current = data["cronometro_discurso"]; |
|
|
var ids = []; |
|
|
if (!discurso_previous){ |
|
|
var status_cronometros = [] |
|
|
discurso_previous = '' |
|
|
for (var key in data['cronometros']) { |
|
|
|
|
|
if (data['cronometros'].hasOwnProperty(key)) { |
|
|
|
|
|
ids.push(key); |
|
|
|
|
|
status_cronometros.push(data['cronometros'][key]) |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
if (discurso_current != discurso_previous) { |
|
|
|
|
|
$('#cronometro_discurso').runner(discurso_current); |
|
|
|
|
|
discurso_previous = discurso_current; |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
var aparte_current = data["cronometro_aparte"]; |
|
|
for(let i=0; i<status_cronometros.length; i++){ |
|
|
if (!aparte_previous){ |
|
|
if (!cronometros_previous[i]) |
|
|
aparte_previous = '' |
|
|
cronometros_previous[i] = '' |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (aparte_current != aparte_previous) { |
|
|
if (status_cronometros[i] != cronometros_previous[i]) { |
|
|
$('#cronometro_aparte').runner(aparte_current); |
|
|
$('#cronometro_' + ids[i]).runner(status_cronometros[i]); |
|
|
aparte_previous = aparte_current; |
|
|
cronometros_previous[i] = status_cronometros[i]; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
var ordem_current = data["cronometro_ordem"]; |
|
|
if($('#cronometro_' + ids[i]).runner('info').formattedTime == 30) |
|
|
if (!ordem_previous){ |
|
|
|
|
|
ordem_previous = '' |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (ordem_current != ordem_previous) { |
|
|
|
|
|
$('#cronometro_ordem').runner(ordem_current); |
|
|
|
|
|
ordem_previous = ordem_current; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
var consideracoes_current = data["cronometro_consideracoes"]; |
|
|
|
|
|
if (!consideracoes_previous){ |
|
|
|
|
|
consideracoes_previous = '' |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (consideracoes_current != consideracoes_previous) { |
|
|
|
|
|
$('#cronometro_consideracoes').runner(consideracoes_current); |
|
|
|
|
|
consideracoes_previous = consideracoes_current; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if($('#cronometro_discurso').runner('info').formattedTime == "00:00:30") { |
|
|
|
|
|
audioAlertFinish.play(); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if($('#cronometro_aparte').runner('info').formattedTime == "00:00:30") { |
|
|
|
|
|
audioAlertFinish.play(); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if($('#cronometro_ordem').runner('info').formattedTime == "00:00:30") { |
|
|
|
|
|
audioAlertFinish.play(); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if($('#cronometro_consideracoes').runner('info').formattedTime == "00:00:30") { |
|
|
|
|
|
audioAlertFinish.play(); |
|
|
audioAlertFinish.play(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
if (data['materia_legislativa_texto']){ |
|
|
if (data['materia_legislativa_texto']){ |
|
|
if (data["status_painel"] == true){ |
|
|
if (data["status_painel"] == true){ |
|
|
$("#materia_legislativa_texto").text(data["materia_legislativa_texto"]); |
|
|
$("#materia_legislativa_texto").text(data["materia_legislativa_texto"]); |
|
|
} |
|
|
} else{ |
|
|
else{ |
|
|
|
|
|
$("#materia_legislativa_texto").text('A Matéria em votação só aparecerá quando o painel estiver aberto'); |
|
|
$("#materia_legislativa_texto").text('A Matéria em votação só aparecerá quando o painel estiver aberto'); |
|
|
} |
|
|
} |
|
|
} |
|
|
} else{ |
|
|
else{ |
|
|
|
|
|
$("#materia_legislativa_texto").text('Não há nehuma matéria votada ou para votação'); |
|
|
$("#materia_legislativa_texto").text('Não há nehuma matéria votada ou para votação'); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@ -397,12 +303,10 @@ |
|
|
var texto = data['observacao_materia']; |
|
|
var texto = data['observacao_materia']; |
|
|
if(texto.length > 151) { |
|
|
if(texto.length > 151) { |
|
|
$("#observacao_materia").text(texto.substr(0, 145).concat('(...)')); |
|
|
$("#observacao_materia").text(texto.substr(0, 145).concat('(...)')); |
|
|
} |
|
|
} else{ |
|
|
else{ |
|
|
|
|
|
$("#observacao_materia").text(texto); |
|
|
$("#observacao_materia").text(texto); |
|
|
} |
|
|
} |
|
|
} |
|
|
} else{ |
|
|
else{ |
|
|
|
|
|
$("#observacao_materia").text(''); |
|
|
$("#observacao_materia").text(''); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@ -416,8 +320,7 @@ |
|
|
if (resultado_votacao_upper.search("REJEIT") != -1){ |
|
|
if (resultado_votacao_upper.search("REJEIT") != -1){ |
|
|
$("#resultado_votacao").css("color", "red"); |
|
|
$("#resultado_votacao").css("color", "red"); |
|
|
} |
|
|
} |
|
|
} |
|
|
} else{ |
|
|
else{ |
|
|
|
|
|
$("#resultado_votacao").text(''); |
|
|
$("#resultado_votacao").text(''); |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
@ -430,16 +333,6 @@ |
|
|
}) |
|
|
}) |
|
|
})(); |
|
|
})(); |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
function show_voto(voto) { |
|
|
|
|
|
if (voto == "Sim"){ |
|
|
|
|
|
return '<font color="green"> Sim </font>' |
|
|
|
|
|
} |
|
|
|
|
|
else if (voto == "Não"){ |
|
|
|
|
|
return '<font color="red"> Não </font>' |
|
|
|
|
|
} |
|
|
|
|
|
return voto |
|
|
|
|
|
} |
|
|
|
|
|
</script> |
|
|
</script> |
|
|
</html> |
|
|
</html> |
|
|
|
|
|
|
|
|
|