MediaWiki:Common.js
Ir para navegação
Ir para pesquisar
Nota: Após publicar, você pode ter que limpar o "cache" do seu navegador para ver as alterações.
- Firefox / Safari: Pressione Shift enquanto clica Recarregar, ou pressione Ctrl-F5 ou Ctrl-R (⌘-R no Mac)
- Google Chrome: Pressione Ctrl-Shift-R (⌘-Shift-R no Mac)
- Internet Explorer/Edge: PressioneCtrl enquanto clica Recarregar, ou Pressione Ctrl-F5
- Opera: Pressione Ctrl-F5.
jQuery(function ($) {
function abrirOculto(elemento) {
var ocultoConteudo = elemento.parents('.oculto-conteudo');
if (ocultoConteudo.length) {
ocultoConteudo.removeClass('mw-collapsed');
ocultoConteudo.css('display', 'block'); // É necessário manter o 'display: block;' por compatibilidade
};
};
function abrirAba() {
var aba_escolhida = location.hash.slice(1).trim().split('/');
abas_id = '';
abas_num = '';
aba_nome = '';
$.each(aba_escolhida, function () {
if (this.indexOf('abas_id=') === 0) {
abas_id = this.split('=')[1];
} else if (this.indexOf('abas_num=') === 0) {
abas_num = this.split('=')[1];
} else if (this.indexOf('aba_nome=') === 0) {
aba_nome = decodeURIComponent(this.split('=')[1]).replace(/_/g, ' ');
}
});
if (abas_id === '') {
var aba = $('.tabs-tabbox:has(input[name=tabs-' + abas_num + ']) .tabs-label:contains(' + aba_nome + ')')
} else {
var aba = $('.tabs-tabbox[id=' + abas_id + '] .tabs-label:contains(' + aba_nome + ')')
};
aba.each(function () {
abrirOculto($(this));
this.click();
window.scrollTo({top: $(this).offset().top, behavior: 'smooth'});
});
$(':target').each(function () {
if ($(this).parents('.oculto-conteudo')) {
abrirOculto($(this));
window.scrollTo({top: $(this).offset().top, behavior: 'smooth'});
};
if ($(this).parents('.tabs-content')) {
var aba = $(this).parents('.tabs-content').attr('class').split('-')[3];
$(this).parents('.tabs-container').siblings('[data-tabpos=' + aba + ']').click();
window.scrollTo({top: $(this).offset().top, behavior: 'smooth'});
};
});
};
// Chama a função abrirAba quando o documento estiver pronto
$(document).ready(abrirAba);
// Chama a função abrirAba quando o hash da URL mudar
$(window).on('hashchange', abrirAba);
});
$(document).ready(function() {
$('.tabs-tabbox .tabs-label').on('click', function () {
var abas_id = $(this).closest("div").prop("id");
var abas_num = $(this).attr("for").split('-')[2];
var aba_nome = $(this).text();
if (abas_id === '') {
var hash = 'abas_num=' + abas_num + '/aba_nome=' + aba_nome;
} else {
var hash = 'abas_id=' + abas_id + '/abas_num=' + abas_num + '/aba_nome=' + aba_nome;
}
history.replaceState(null, null, document.location.pathname + '#' + hash)
});
/* Fecha o box "Relacionados" */
$('#botao-fechar').on('click', function() {
$('.relacionados').hide();
checarTOCeRelacionados();
});
/* Oculta o Índice totalmente */
$('input#toctogglecheckbox.toctogglecheckbox').on('click', function() {
if ($('.toc ul').is(":hidden")) {
$('.toc').hide();
};
checarTOCeRelacionados();
} );
/* Obtém os dados da referência no fim da página e exibe como pop-up ao passar o mouse sobre o seu número*/
$('.reference').on('mouseover', function(e) {
var referencia_id = $(this).children().eq(0).attr('href').substring(1);
var referencia_nome = $('#' + referencia_id);
var referencia_conteudo = referencia_nome.find('.reference-text').html();
var topo = ($(this).offset().top - 140) + "px";
var esquerda = ($(this).offset().left - 115) + "px";
$('#referencia_tip').html(referencia_conteudo);
$('#referencia_tip').css({
top: topo,
left: esquerda
});
$('#referencia_tip').hide().dequeue();
$('#referencia_tip').show();
});
/* Oculta o pop-up da referência ao tirar o mouse do número*/
$('.reference').on('mouseout', function(e) {
$('#referencia_tip').delay(1000).hide(1);
});
/* Mantém o pop-up aberto enquanto estiver com o mouse*/
$('#referencia_tip').on('mouseover', function(e) {
$('#referencia_tip').hide().dequeue();
$('#referencia_tip').show();
});
/* Oculta o pop-up da referência ao tirar o mouse do pop-up*/
$('#referencia_tip').on('mouseout', function(e) {
$('#referencia_tip').hide();
});
/* Confere se o ìndice e o box Relacionados estão ocultos e muda a margem direita*/
function checarTOCeRelacionados() {
var tocOculto = !$('#toc').is(':visible') || $('.toc').length === 0;
var relacionadosOculto = !$('.relacionados').is(':visible') || $('.relacionados').length === 0;
if (tocOculto && relacionadosOculto) {
$('.mw-body, #p-personal, #right-navigation').css('margin-right', '1em');
}
};
/* Exibe texto do logo DCOM e altera posição índice ao rolar tela*/
$.fn.isInViewport = function() {
var elementTop = $(this).offset().top;
var elementBottom = elementTop + $(this).outerHeight();
var viewportTop = $(window).scrollTop();
var viewportBottom = viewportTop + $(window).height();
return elementBottom > viewportTop && elementTop < viewportBottom;
};
$(window).on('ready resize load scroll', function() {
if ($('#mw-head').isInViewport()) {
var topo = '55px';
var opacidade = '0';
} else {
var topo = '10px';
var opacidade = '1';
};
$('.toc').css({'top': topo});
$('.mw-wiki-logo').css({'opacity': opacidade});
});
checarTOCeRelacionados();
});