Ir para o conteúdo

MediaWiki:Common.js: mudanças entre as edições

De Normas Regulamentadoras
Criou página com 'Lógica dinâmica para o Infográfico de Vigência das NRs: $(document).ready(function() { var $container = $('#infografico-vigencia'); if ($container.length === 0) return; var blocoAtual = 1; // Varre cada item gerado pelo Cargo de cima para baixo (do mais recente ao mais antigo) $container.find('.timeline-item').each(function() { var $item = $(this); var verbo = $item.data('verbo'); // Adiciona a classe do bloco a...'
 
Sem resumo de edição
Linha 1: Linha 1:
/* Lógica dinâmica para o Infográfico de Vigência das NRs */
/* Lógica de Agrupamento em Blocos Sólidos para o Infográfico */
$(document).ready(function() {
$(document).ready(function() {
     var $container = $('#infografico-vigencia');
     var $container = $('#infografico-vigencia');
     if ($container.length === 0) return;
     if ($container.length === 0) return;


     var blocoAtual = 1;
     var $itens = $container.find('.timeline-item');
   
    var grupoAtual = [];
     // Varre cada item gerado pelo Cargo de cima para baixo (do mais recente ao mais antigo)
    var numeroBloco = 1;
     $container.find('.timeline-item').each(function() {
 
     // Varre os itens de baixo para cima (do mais antigo para o mais recente)
     // para agrupar corretamente o R com os A que estão ACIMA dele
    $($itens.get().reverse()).each(function() {
         var $item = $(this);
         var $item = $(this);
         var verbo = $item.data('verbo');
         var verbo = $item.data('verbo');


         // Adiciona a classe do bloco atual para o CSS colorir
         // Adiciona o item ao grupo atual
         $item.addClass('bloco-' + blocoAtual);
        grupoAtual.push($item);
 
        // Se o item atual for um "R", fecha o grupo e cria a caixa mãe
         if (verbo === 'R' || $item.is(':last-child')) {
            var $wrapper = $('<div class="bloco-grupo bloco-' + numeroBloco + '"></div>');
           
            // Coloca os itens na ordem correta dentro da nova caixa
            $.each(grupoAtual.reverse(), function(i, $el) {
                $wrapper.append($el);
            });
 
            // Insere a caixa mãe no topo do container
            $container.prepend($wrapper);


        // Se o item atual for um "R", o PRÓXIMO item pertencerá ao próximo bloco de cor
            // Reinicia para o próximo bloco de cima
        if (verbo === 'R') {
            grupoAtual = [];
             blocoAtual++;
             numeroBloco++;
         }
         }
     });
     });
});
});

Edição das 21h40min de 6 de julho de 2026

/* Lógica de Agrupamento em Blocos Sólidos para o Infográfico */
$(document).ready(function() {
    var $container = $('#infografico-vigencia');
    if ($container.length === 0) return;

    var $itens = $container.find('.timeline-item');
    var grupoAtual = [];
    var numeroBloco = 1;

    // Varre os itens de baixo para cima (do mais antigo para o mais recente)
    // para agrupar corretamente o R com os A que estão ACIMA dele
    $($itens.get().reverse()).each(function() {
        var $item = $(this);
        var verbo = $item.data('verbo');

        // Adiciona o item ao grupo atual
        grupoAtual.push($item);

        // Se o item atual for um "R", fecha o grupo e cria a caixa mãe
        if (verbo === 'R' || $item.is(':last-child')) {
            var $wrapper = $('<div class="bloco-grupo bloco-' + numeroBloco + '"></div>');
            
            // Coloca os itens na ordem correta dentro da nova caixa
            $.each(grupoAtual.reverse(), function(i, $el) {
                $wrapper.append($el);
            });

            // Insere a caixa mãe no topo do container
            $container.prepend($wrapper);

            // Reinicia para o próximo bloco de cima
            grupoAtual = [];
            numeroBloco++;
        }
    });
});