Sistema de Apoio ao Processo Legislativo
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

192 lines
7.3 KiB

{% load i18n %}
{% load staticfiles %}
<!DOCTYPE HTML>
<!--[if IE 8]> <html class="no-js lt-ie9" lang="en"> <![endif]-->
<!--[if gt IE 8]><!-->
<html lang="en">
<!--<![endif]-->
<head>
<meta charset="UTF-8">
<!-- TODO: does it need this head_title here? -->
<title>{% block head_title %}{% trans 'SAPL - Sistema de Apoio ao Processo Legislativo' %}{% endblock %}</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script type="text/javascript" src="{% static 'foundation/js/vendor/jquery.js' %}"></script>
<script type="text/javascript" src="{% static 'jQuery-runner/build/jquery.runner.js' %}"></script>
<STYLE type="text/css">
@media screen {
body {font-size: medium; color: white; line-height: 1em; background: black;}
}
</STYLE>
<script type="text/javascript">
$(document).ready(function() {
9 years ago
//TODO: replace by a fancy jQuery clock
function checkTime(i) {
if (i<10) {i = "0" + i}; // add zero in front of numbers < 10
return i;
}
9 years ago
function startTime() {
var today=new Date();
var h=today.getHours();
var m=today.getMinutes();
var s=today.getSeconds();
m = checkTime(m);
s = checkTime(s);
$("#relogio").text(h+":"+m+":"+s)
9 years ago
var t = setTimeout(function(){
startTime()
}, 500);
9 years ago
}
startTime();
$('#cronometro_discurso').runner({
autostart: false,
countdown: true,
startAt: 5 * 60 * 1000, // 5 minutes
stopAt: 0,
milliseconds: false
});
$('#cronometro_aparte').runner({
autostart: false,
countdown: true,
startAt: 3 * 60 * 1000, // 3 minutes
stopAt: 0,
milliseconds: false
});
$('#cronometro_ordem').runner({
autostart: false,
countdown: true,
startAt: 2 * 60 * 1000, // 2 minutes
stopAt: 0,
milliseconds: false
});
var discurso_previous = '';
var aparte_previous = '';
var ordem_previous = '';
var counter = 1;
(function poll() {
$.ajax({
url: $("#json_url").val(),
type: "GET",
success: function(data) {
//TODO: json spitted out is very complex, have to simplify/flat it
//TODO: probably building it by hand on REST side
console.debug(data)
var presentes = $("#parlamentares");
presentes.children().remove();
presentes_ordem_dia = data["presentes_ordem_dia"]
jQuery.each(presentes_ordem_dia, function(index, parlamentar) {
/* $('<li />', {text: parlamentar.nome + '/' + parlamentar.partido + ' ' + parlamentar.voto }).appendTo(presentes);*/
$('<li />', {text: parlamentar.nome + '/' + parlamentar.partido}).appendTo(presentes);
});
//console.debug(presentes_ordem_dia)
var votacao = $("#votacao")
votacao.children().remove()
votacao.append("<li>Sim: " + data["numero_votos_sim"] + "</li>")
votacao.append("<li>Não: " + data["numero_votos_nao"] + "</li>")
votacao.append("<li>Abstenções: " + data["numero_abstencoes"] + "</li>")
votacao.append("<li>Presentes: " + data["num_presentes_ordem_dia"] + "</li>")
votacao.append("<li>Total votos: " + data["total_votos"] + "</li>")
$("#sessao_plenaria").text(data["sessao_plenaria"])
$("#sessao_plenaria_data").text("Data Início: " + data["sessao_plenaria_data"])
$("#sessao_plenaria_hora_inicio").text("Hora Início: " + data["sessao_plenaria_hora_inicio"])
$("#materia_legislativa_texto").text(data["materia_legislativa_texto"])
$("#observacao_materia").text(data["observacao_materia"])
$("#resultado_votacao").text(data["tipo_resultado"])
var discurso_current = data["cronometro_discurso"];
if (discurso_current != discurso_previous) {
$('#cronometro_discurso').runner(discurso_current);
discurso_previous = discurso_current;
}
var aparte_current = data["cronometro_aparte"];
if (aparte_current != aparte_previous) {
$('#cronometro_aparte').runner(aparte_current);
aparte_previous = aparte_current;
}
var ordem_current = data["cronometro_ordem"];
if (ordem_current != ordem_previous) {
$('#cronometro_ordem').runner(ordem_current);
ordem_previous = ordem_current;
}
$("#counter").text(counter);
counter++;
},
error: function(err) {
console.error(err);
},
dataType: "json",
complete: setTimeout(function() {poll()}, 2000),
timeout: 20000 // TODO: decrease
})
})();
});
</script>
</head>
<body>
<h1 id="title"></h1>
{{ pk }}
<input id="json_url" type="hidden" value="{% url 'dados_painel' 2 %}">
<!-- <h2>Ajax refresh counter: <span id="counter"></span></h2> -->
<h3>
<span id="sessao_plenaria"></span><br/><br/>
<span id="sessao_plenaria_data"></span><br/><br/>
<span id="sessao_plenaria_hora_inicio"></span></br><br/>
<h2><span id="relogio"></span></h2>
<table>
<tr>
<td>TEMPO DECORRIDO:</td>
<td><span id="tempo-decorrido"></span></td>
</tr>
<tr>
<td>DISCURSO:</td>
<td><span id="cronometro_discurso"></span></td>
</tr>
<tr>
<td>APARTE:</td>
<td><span id="cronometro_aparte"></span></td>
</tr>
<tr>
<td>QUESTÃO DE ORDEM:</td>
<td><span id="cronometro_ordem"></span></td>
</tr>
</table>
<table>
<tr>
<td>
<ul id="parlamentares">
</ul>
</td>
<td>
<ul id="votacao">
</ul>
</td>
</tr>
</table>
<span id="materia_legislativa_texto"></span><br/>
<span id="resultado_votacao"></span><br/>
<span id="observacao_materia"></span>
</h3>
</body>
</html>