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

De Projeto ESG da DPS TECH SA
Ir para navegação Ir para pesquisar
Conteúdo deletado Conteúdo adicionado
Sem resumo de edição
Etiqueta: Reversão manual
Sem resumo de edição
Etiqueta: Revertido
Linha 1: Linha 1:
/* Códigos JavaScript aqui colocados serão carregados por todos aqueles que acessarem alguma página deste wiki */

/* Ocultar links para páginas especiais de usuários não registrados */
/* Ocultar links para páginas especiais de usuários não registrados */
if ( mw.config.get( 'wgUserName' ) === null ) {
if ( mw.config.get( 'wgUserName' ) === null ) {
$( function () {
$( function () {
// Função para ocultar elementos de busca
// Exemplo: Oculta o link "Páginas especiais" na navegação lateral (Vector skin)
$( '#n-specialpages' ).hide();
const hideSearchElements = function() {
// Esconder todas as variações possíveis de caixas de pesquisa

$('#p-search, #searchform, #searchInput, #simpleSearch, .mw-search').hide();
// Se você quiser ocultar um link específico, como "Mudanças recentes" (RecentChanges)
// $( '#n-recentchanges' ).hide();
$('.vector-search-box, .vector-search-box-input, .vector-search-box-form').hide();
$('.vector-search-box-vue, .cdx-search-input, .cdx-text-input__input').hide();

// Oculte itens adicionais do menu "Ferramentas" (toolbox) conforme necessário
// Para Vector 2022, também ocultar o container pai
// $( '#t-whatlinkshere' ).hide(); // Oculta "Páginas afluentes"
$('.vector-header .vector-header-start, .vector-header .vector-header-end').each(function() {

$(this).find('*').filter(':contains("Search"), [id*="search"], [class*="search"]').parent().hide();
/* --- NOVO: esconder a busca apenas para anônimos --- */
});

// Skins clássicas (Vector legado, MonoBook)
$( '#p-search, #searchform, #searchInput' ).hide();

// Vector 2022 (barra de busca no topo)
$( '.vector-search-box, .vector-search-box-input, .vector-search-box-form' ).hide();

// Fallback: se algum elemento for re-inserido dinamicamente, garante ocultação
// (ex.: carregamentos tardios ou gadgets que recriam a busca)
const hideSearch = function () {
$( '#p-search, #searchform, #searchInput' ).hide();
$( '.vector-search-box, .vector-search-box-input, .vector-search-box-form' ).hide();
};
};

// Executar imediatamente
// Observa mudanças no DOM por alguns segundos para pegar inserções tardias
hideSearchElements();
const observer = new MutationObserver( hideSearch );
observer.observe( document.body, { childList: true, subtree: true } );
// Executar novamente após um pequeno delay para garantir
setTimeout( () => observer.disconnect(), 5000 );
setTimeout(hideSearchElements, 100);
setTimeout(hideSearchElements, 500);
// Observar mudanças no DOM continuamente
const observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
if (mutation.addedNodes.length > 0) {
hideSearchElements();
}
});
});
observer.observe(document.body, {
childList: true,
subtree: true
});
// Manter o observer ativo por mais tempo (30 segundos)
setTimeout(() => observer.disconnect(), 30000);
} );
} );
}
}

Edição das 08h34min de 16 de janeiro de 2026

/* Ocultar links para páginas especiais de usuários não registrados */
if ( mw.config.get( 'wgUserName' ) === null ) {
    $( function () {
        // Função para ocultar elementos de busca
        const hideSearchElements = function() {
            // Esconder todas as variações possíveis de caixas de pesquisa
            $('#p-search, #searchform, #searchInput, #simpleSearch, .mw-search').hide();
            $('.vector-search-box, .vector-search-box-input, .vector-search-box-form').hide();
            $('.vector-search-box-vue, .cdx-search-input, .cdx-text-input__input').hide();
            
            // Para Vector 2022, também ocultar o container pai
            $('.vector-header .vector-header-start, .vector-header .vector-header-end').each(function() {
                $(this).find('*').filter(':contains("Search"), [id*="search"], [class*="search"]').parent().hide();
            });
        };
        
        // Executar imediatamente
        hideSearchElements();
        
        // Executar novamente após um pequeno delay para garantir
        setTimeout(hideSearchElements, 100);
        setTimeout(hideSearchElements, 500);
        
        // Observar mudanças no DOM continuamente
        const observer = new MutationObserver(function(mutations) {
            mutations.forEach(function(mutation) {
                if (mutation.addedNodes.length > 0) {
                    hideSearchElements();
                }
            });
        });
        
        observer.observe(document.body, { 
            childList: true, 
            subtree: true 
        });
        
        // Manter o observer ativo por mais tempo (30 segundos)
        setTimeout(() => observer.disconnect(), 30000);
    } );
}