diff --git a/sapl/templates/sessao/painel.html b/sapl/templates/sessao/painel.html
index 8c3fd9b7d..d6d19e76f 100644
--- a/sapl/templates/sessao/painel.html
+++ b/sapl/templates/sessao/painel.html
@@ -214,9 +214,15 @@ $(document).ready(function(){
$('#cronometro_' + "{{cron.id}}" + '_Start').text('Iniciar');
})
- {% if painel_config.cronometro_ordem and cron.tipo == "Cronômetro da Questão de Ordem" %}
- $('#cronometro_' + "{{cron.id}}" + '_Start').click(function() {
- if ($('#cronometro_' + "{{cron.id}}" + '_Start').text() == 'Iniciar'){
+ $('#cronometro_' + "{{cron.id}}" + '_Start').click(function() {
+ // Como o botão de start e stop está sendo reaproveitado (é o mesmo botão, que fica mudando de texto),
+ // deve-se checar se é um start ou um stop
+ // Ação de start
+ if ($('#cronometro_' + "{{cron.id}}" + '_Start').text() == 'Iniciar'){
+ // Cronômetro da questão de ordem é tratado separadamente
+ // porque pode parar os demais quando inicia
+ {% if painel_config.cronometro_ordem and cron.tipo == "Cronômetro da Questão de Ordem" %}
+ // cronometro da questão de ordem
{% for c in cronometros %}
{% if c.tipo == "Cronômetro da Questão de Ordem" %}
$.get('/painel/cronometro', { tipo: 'cronometro_' + "{{c.id}}", action: 'start', last_time: '0' } );
@@ -230,33 +236,29 @@ $(document).ready(function(){
$('#cronometro_' + "{{c.id}}" + '_Start').text('Iniciar');
{% endif %}
{% endfor %}
- } else{
- $.get('/painel/cronometro', { tipo: 'cronometro_' + "{{cron.id}}", action: 'stop', last_time: $('#cronometro_' + "{{cron.id}}").val() } );
- $('#cronometro_' + "{{cron.id}}" + '_Reset').show();
- $('#cronometro_' + "{{cron.id}}").runner('stop');
- $('#cronometro_' + "{{cron.id}}" + '_Start').text('Iniciar');
- }
- });
- {% else %}
- $('#cronometro_' + "{{cron.id}}" + '_Start').click(function() {
- if ($('#cronometro_' + "{{cron.id}}" + '_Start').text() == 'Iniciar'){
+ // Demais cronômetros
+ {% else %}
$.get('/painel/cronometro', { tipo: 'cronometro_' + "{{cron.id}}", action: 'start', last_time: '0' } );
$('#cronometro_' + "{{cron.id}}" + '_Reset').hide();
$('#cronometro_' + "{{cron.id}}").runner('start');
$('#cronometro_' + "{{cron.id}}" + '_Start').text('Parar');
- } else{
- $.get('/painel/cronometro', { tipo: 'cronometro_' + "{{cron.id}}", action: 'stop', last_time: $('#cronometro_' + "{{cron.id}}").val() } );
- $('#cronometro_' + "{{cron.id}}" + '_Reset').show();
- $('#cronometro_' + "{{cron.id}}").runner('stop');
- $('#cronometro_' + "{{cron.id}}" + '_Start').text('Iniciar');
- }
- });
- {% endif %}
+ {% endif %}
+ // Ação de stop é igual para todos os cronômetros
+ } else{
+ $.get('/painel/cronometro', { tipo: 'cronometro_' + "{{cron.id}}", action: 'stop', last_time: $('#cronometro_' + "{{cron.id}}").val() } );
+ $('#cronometro_' + "{{cron.id}}" + '_Reset').show();
+ $('#cronometro_' + "{{cron.id}}").runner('stop');
+ $('#cronometro_' + "{{cron.id}}" + '_Start').text('Iniciar');
+ }
+ });
+ // Ação de reset é igual para todos os cronômetros
$('#cronometro_' + "{{cron.id}}" + '_Reset').click(function() {
$.get('/painel/cronometro', { tipo: 'cronometro_' + "{{cron.id}}", action: 'reset', last_time: '0' } );
//$('#cronometro_' + "{{cron.id}}").runner('stop');
- $('#cronometro_' + "{{cron.id}}").runner('reset');
+ //$('#cronometro_' + "{{cron.id}}").runner('reset');
+ // faz o reset manualmente para que o cronometro retorne para o valor correto
+ $('#cronometro_' + "{{cron.id}}").val(convertValueToDuration(parseInt("{{cron.duracao_cronometro|duration_to_seconds}}") * 1000));
});
{% endfor %}