MediaWiki:Common.js: mudanças entre as edições
Aparência
Sem resumo de edição |
Sem resumo de edição |
||
| Linha 119: | Linha 119: | ||
}); | }); | ||
}); | }); | ||
/* Máscara e Conversão da Máquina do Tempo | |||
/* Máscara e Conversão da Máquina do Tempo para InputBox */ | |||
$(document).ready(function() { | $(document).ready(function() { | ||
// 1. | // 1. Localiza o campo gerado pelo inputbox e aplica a máscara brasileira | ||
$(document).on('input', ' | var $campoData = $('.input-maquina-tempo-wrapper').find('input[type="text"], input[type="search"]'); | ||
var v = $(this).val().replace(/\D/g, ''); // Remove | |||
$campoData.attr('maxlength', '10'); | |||
$campoData.css({'text-align': 'center', 'font-size': '13px'}); | |||
$(document).on('input', '.input-maquina-tempo-wrapper input', function() { | |||
var v = $(this).val().replace(/\D/g, ''); // Remove letras | |||
if (v.length > 8) v = v.substring(0, 8); | if (v.length > 8) v = v.substring(0, 8); | ||
| Linha 134: | Linha 141: | ||
}); | }); | ||
// 2. | // 2. Intercepta o clique de envio para converter o formato de data | ||
$(document).on('click', ' | $(document).on('click', '.input-maquina-tempo-wrapper button, .input-maquina-tempo-wrapper input[type="submit"]', function(e) { | ||
var dataBr = $(' | e.preventDefault(); // Impede o envio incorreto do formulário padrão | ||
var dataBr = $('.input-maquina-tempo-wrapper input').val().trim(); | |||
if (dataBr.length < 10) { | if (dataBr.length < 10) { | ||
alert('Por favor, digite a data completa no formato dd/mm/aaaa.'); | alert('Por favor, digite a data completa no formato dd/mm/aaaa.'); | ||
| Linha 144: | Linha 152: | ||
} | } | ||
// | // Converte dd/mm/aaaa para AAAA-MM-DD | ||
var partes = dataBr.split('/'); | var partes = dataBr.split('/'); | ||
var | var dataIso = partes[2] + '-' + partes[1] + '-' + partes[0]; | ||
// | // Recarrega a página aplicando o filtro temporal | ||
var urlAtual = window.location.protocol + "//" + window.location.host + window.location.pathname; | var urlAtual = window.location.protocol + "//" + window.location.host + window.location.pathname; | ||
window.location.href = urlAtual + '?data_pesquisa=' + dataIso; | window.location.href = urlAtual + '?data_pesquisa=' + dataIso; | ||
}); | }); | ||
}); | }); | ||
Edição das 15h04min de 10 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');
if ($itens.length === 0) return;
var numeroBloco = 1;
var grupoValido = [];
var itensArray = $itens.toArray();
$container.empty();
for (var i = 0; i < itensArray.length; i++) {
var $item = $(searchResults = itensArray[i]);
var verbo = $item.data('verbo');
grupoValido.push($item);
if (verbo === 'R' || i === itensArray.length - 1) {
var $wrapper = $('<div class="bloco-grupo bloco-' + numeroBloco + '"></div>');
for (var j = 0; j < grupoValido.length; j++) {
$wrapper.append(grupoValido[j]);
}
// SE FOR O BLOCO 1 (VERDE VIGENTE), INJETA O TÍTULO DE VIGÊNCIAS ANTES DELE
if (numeroBloco === 1) {
var $tituloVigencias = $('<div class="titulo-bloco-vigencias">Vigências</div>');
$container.append($tituloVigencias);
}
$container.append($wrapper);
grupoValido = [];
numeroBloco++;
}
}
});
/* Lógica do Sistema Orbital de Anexos com Tradução de Nomes, Auto-Ocultação e Tooltips Puros */
$(document).ready(function() {
var $containerOrbital = $('#sistema-orbital');
if ($containerOrbital.length === 0) return;
var $listaPlanetas = $containerOrbital.find('.planeta-satelite');
var totalPlanetas = $listaPlanetas.length;
// SE NÃO HOUVER ANEXOS, FAZ A CAIXA INTEIRA SUMIR DO LAYOUT
if (totalPlanetas === 0) {
$containerOrbital.closest('.caixa-orbital-container').hide();
return;
}
// 1. EXTRAI E LIMPA O TOOLTIP DO SOL (NORMA CENTRO) - CORRIGIDO
var $sol = $containerOrbital.find('.bolha-centro');
// Busca a gaveta que agora está ao lado (fora) da bolha do sol
var apelidoSol = $containerOrbital.find('.shadow-apelido-sol').text().trim();
if (apelidoSol) {
$sol.attr('title', apelidoSol);
}
// Mapeamento de exceções para nomes visuais nas bolhas
var mapeamentoNomes = {
"30": "13-A",
"50": "Glossário",
"60": "(*)"
};
var raio = 96;
var centroX = 120;
var centroY = 120;
// 2. CONFIGURA CADA PLANETA (POSIÇÃO, NOME E TOOLTIP SEGURO)
$listaPlanetas.each(function(index) {
var $item = $(this);
var idOrigem = $item.data('anexo').toString().trim();
// Extrai o texto puro removendo os links automáticos do Cargo
var apelidoPlaneta = $item.find('.shadow-apelido-anexo').text().trim();
if (apelidoPlaneta) {
$item.attr('title', apelidoPlaneta);
}
// Define o texto visual interno da bolha
if (mapeamentoNomes[idOrigem]) {
if (mapeamentoNomes[idOrigem] === "Glossário" || mapeamentoNomes[idOrigem] === "(*)") {
$item.find('span').html(mapeamentoNomes[idOrigem]);
} else {
$item.find('span').html("Anexo<br>" + mapeamentoNomes[idOrigem]);
}
} else {
$item.find('span').html("Anexo<br>" + idOrigem);
}
// Distribuição matemática na órbita circular
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'
});
});
});
/* Lógica para Ativação de Notas Explicativas na Lauda */
$(document).ready(function() {
$('.item-linha[data-nota]:not([data-nota=""])').each(function() {
var textoNota = $(this).attr('data-nota');
$(this).find('.item-nota-explicativa').attr('title', textoNota);
});
});
/* Máscara e Conversão da Máquina do Tempo para InputBox */
$(document).ready(function() {
// 1. Localiza o campo gerado pelo inputbox e aplica a máscara brasileira
var $campoData = $('.input-maquina-tempo-wrapper').find('input[type="text"], input[type="search"]');
$campoData.attr('maxlength', '10');
$campoData.css({'text-align': 'center', 'font-size': '13px'});
$(document).on('input', '.input-maquina-tempo-wrapper input', function() {
var v = $(this).val().replace(/\D/g, ''); // Remove letras
if (v.length > 8) v = v.substring(0, 8);
if (v.length > 4) {
v = v.replace(/^(\d{2})(\d{2})(\d{4})$/, "$1/$2/$3");
} else if (v.length > 2) {
v = v.replace(/^(\d{2})(\d{1,2})$/, "$1/$2");
}
$(this).val(v);
});
// 2. Intercepta o clique de envio para converter o formato de data
$(document).on('click', '.input-maquina-tempo-wrapper button, .input-maquina-tempo-wrapper input[type="submit"]', function(e) {
e.preventDefault(); // Impede o envio incorreto do formulário padrão
var dataBr = $('.input-maquina-tempo-wrapper input').val().trim();
if (dataBr.length < 10) {
alert('Por favor, digite a data completa no formato dd/mm/aaaa.');
return;
}
// Converte dd/mm/aaaa para AAAA-MM-DD
var partes = dataBr.split('/');
var dataIso = partes[2] + '-' + partes[1] + '-' + partes[0];
// Recarrega a página aplicando o filtro temporal
var urlAtual = window.location.protocol + "//" + window.location.host + window.location.pathname;
window.location.href = urlAtual + '?data_pesquisa=' + dataIso;
});
});