Ir para o conteúdo

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

De Normas Regulamentadoras
Sem resumo de edição
Sem resumo de edição
Linha 53: Linha 53:
         "30": "13-A",
         "30": "13-A",
         "50": "Glossário",
         "50": "Glossário",
         "60": "Anexo<br>*",     // Exemplo extra
         "60": "(*)",
         "70": "Anexo<br>II"    // Exemplo extra
         "70": "Anexo<br>II"    // Exemplo extra
     };
     };

Edição das 15h43min de 8 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;

    // Seleciona apenas os elementos válidos gerados pelo Cargo
    var $itens = $container.find('.timeline-item');
    if ($itens.length === 0) return;

    var numeroBloco = 1;
    var grupoValido = [];

    // Limpa o container para reconstruirmos na ordem exata e sem sujeira do MediaWiki
    var itensArray = $itens.toArray();
    $container.empty();

    // Varre de cima para baixo (do mais recente ao mais antigo)
    for (var i = 0; i < itensArray.length; i++) {
        var $item = $(itensArray[i]);
        var verbo = $item.data('verbo');

        grupoValido.push($item);

        // Se o item atual for um "R" OU se for o ÚLTIMO item da lista completa
        if (verbo === 'R' || i === itensArray.length - 1) {
            // Cria a caixa mãe física com a classe de cor correspondente
            var $wrapper = $('<div class="bloco-grupo bloco-' + numeroBloco + '"></div>');
            
            // Joga todos os anos acumulados para dentro desta caixa mãe
            for (var j = 0; j < grupoValido.length; j++) {
                $wrapper.append(grupoValido[j]);
            }

            // Adiciona a caixa mãe pronta ao final do container
            $container.append($wrapper);

            // Reseta o acumulador e avança para o próximo tom de cor
            grupoValido = [];
            numeroBloco++;
        }
    }
});

/* Lógica do Sistema Orbital de Anexos com Tradução de Nomes */
$(document).ready(function() {
    var $listaPlanetas = $('#sistema-orbital .planeta-satelite');
    var totalPlanetas = $listaPlanetas.length;
    if (totalPlanetas === 0) return;

    // Dicionário de Traduções Customizadas por Número de Origem
    // Você pode adicionar qualquer mapeamento novo aqui facilmente seguindo o padrão abaixo:
    var mapeamentoNomes = {
        "30": "13-A",
        "50": "Glossário",
        "60": "(*)",
        "70": "Anexo<br>II"     // Exemplo extra
    };

    var raio = 96;     
    var centroX = 120; 
    var centroY = 120; 

    $listaPlanetas.each(function(index) {
        var $item = $(this);
        var idOrigem = $item.data('anexo').toString().trim();
        
        // Verifica se a origem atual possui um nome especial mapeado
        if (mapeamentoNomes[idOrigem]) {
            // Se for "Glossário", exibe apenas a palavra. Se for "13-A", mantém o prefixo "Anexo"
            if (mapeamentoNomes[idOrigem] === "Glossário") {
                $item.find('span').html(mapeamentoNomes[idOrigem]);
            } else {
                $item.find('span').html("Anexo<br>" + mapeamentoNomes[idOrigem]);
            }
        } else {
            // Padrão normal para os outros números (ex: Anexo 1, Anexo 2)
            $item.find('span').html("Anexo<br>" + idOrigem);
        }

        var angulo = (index * (2 * Math.PI) / totalPlanetas) - (Math.PI / 2); 
        var x = centroX + raio * Math.cos(angulo) - 22; 
        var y = centroY + raio * Math.sin(angulo) - 22; 

        $item.css({
            'left': x + 'px',
            'top': y + 'px',
            'width': '44px',  
            'height': '44px'
        });
    });
});