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: Revertido
Sem resumo de edição
Etiqueta: Reversão manual
 
(12 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
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 ) {
$( function () {
$( function () {
// Função para verificar e atualizar visibilidade
// Exemplo: Oculta o link "Páginas especiais" na navegação lateral (Vector skin)
const updateVisibility = function() {
const isLoggedIn = mw.config.get( 'wgUserName' ) !== null;
$( '#n-specialpages' ).hide();

// Se você quiser ocultar um link específico, como "Mudanças recentes" (RecentChanges)
if (!isLoggedIn) {
// Esconder elementos de busca
// $( '#n-recentchanges' ).hide();

$('.vector-search-box, #p-search, #searchform').each(function() {
// Oculte itens adicionais do menu "Ferramentas" (toolbox) conforme necessário
$(this).hide();
// $( '#t-whatlinkshere' ).hide(); // Oculta "Páginas afluentes"
$(this).css('visibility', 'hidden');

});
/* --- NOVO: esconder a busca apenas para anônimos --- */

// Adicionar classe para facilitar seleção CSS
// Skins clássicas (Vector legado, MonoBook)
$('body').addClass('user-not-logged-in');
$( '#p-search, #searchform, #searchInput' ).hide();
} else {

// Mostrar elementos se estiver logado
// Vector 2022 (barra de busca no topo)
$('.vector-search-box, #p-search, #searchform').show();
$( '.vector-search-box, .vector-search-box-input, .vector-search-box-form' ).hide();
$('body').removeClass('user-not-logged-in');

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

if (mw.config.values) {
// Observa mudanças no DOM por alguns segundos para pegar inserções tardias
Object.defineProperty(mw.config.values, 'wgUserName', {
set: function(value) {
const observer = new MutationObserver( hideSearch );
observer.observe( document.body, { childList: true, subtree: true } );
this._wgUserName = value;
setTimeout(updateVisibility, 50);
setTimeout( () => observer.disconnect(), 5000 );
},
} );
}
get: function() {
return this._wgUserName;
}
});
}
// Executar periodicamente por segurança
setInterval(updateVisibility, 1000);
// Executar em eventos específicos
$(document).on('click', '#pt-login, #pt-logout', function() {
setTimeout(updateVisibility, 500);
});
} );

Edição atual tal como às 09h37min de 16 de janeiro de 2026

/* 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 */
if ( mw.config.get( 'wgUserName' ) === null ) {
    $( function () {
        // Exemplo: Oculta o link "Páginas especiais" na navegação lateral (Vector skin)
        $( '#n-specialpages' ).hide();

        // Se você quiser ocultar um link específico, como "Mudanças recentes" (RecentChanges)
        // $( '#n-recentchanges' ).hide();

        // Oculte itens adicionais do menu "Ferramentas" (toolbox) conforme necessário
        // $( '#t-whatlinkshere' ).hide(); // Oculta "Páginas afluentes"

        /* --- 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();
        };

        // Observa mudanças no DOM por alguns segundos para pegar inserções tardias
        const observer = new MutationObserver( hideSearch );
        observer.observe( document.body, { childList: true, subtree: true } );
        setTimeout( () => observer.disconnect(), 5000 );
    } );
}