Jump to content

MediaWiki:Common.js: Difference between revisions

No edit summary
No edit summary
Line 2: Line 2:




$(document).ready(function() {
mw.hook('wikipage.content').add(function() {
     // 1. Procura todas as subpáginas do Atlas no menu lateral e esconde-as
     // Garante que o menu lateral do Vector já existe no HTML
     $('.mw-table-of-contents-container, .vector-main-menu')
     var $menu = $('.mw-table-of-contents-container, .vector-main-menu, #mw-panel');
         .find('a[href*="SENSBLUE_ATLAS/"]')
   
        .closest('li')
    if ($menu.length) {
        .addClass('atlas-submenu');
         // 1. Procura as subpáginas e adiciona a classe para esconder
        $menu.find('a[href*="SENSBLUE_ATLAS/"]').closest('li').addClass('atlas-submenu');


    // 2. Encontra o item de lista (li) que contém o link principal do Atlas
        // 2. Encontra o link principal do Atlas (garantindo que não adiciona duplicados)
    var $mainAtlasLi = $('.mw-table-of-contents-container, .vector-main-menu')
        var $mainAtlasLi = $menu.find('a[href$="SENSBLUE_ATLAS"]').closest('li');
        .find('a[href$="SENSBLUE_ATLAS"]')
        .closest('li');


    if ($mainAtlasLi.length) {
        if ($mainAtlasLi.length && !$mainAtlasLi.find('.atlas-toggle-btn').length) {
        // Alinha o conteúdo original para podermos meter a seta ao lado
            // Ajusta o alinhamento para a seta ficar ao lado
        $mainAtlasLi.css('display', 'flex').css('align-items', 'center');
            $mainAtlasLi.css({
                'display': 'flex',
                'align-items': 'center',
                'justify-content': '间的'
            });


        // 3. Injeta a seta ao lado do link principal
            // 3. Cria e injeta a seta
        var $toggleBtn = $('<span class="atlas-toggle-btn">▶</span>');
            var $toggleBtn = $('<span class="atlas-toggle-btn" style="cursor:pointer; margin-left:8px; user-select:none;">▶</span>');
        $mainAtlasLi.append($toggleBtn);
            $mainAtlasLi.append($toggleBtn);


        // 4. Lógica de clique para abrir/fechar
            // 4. Lógica do clique
        $toggleBtn.on('click', function(e) {
            $toggleBtn.on('click', function(e) {
            e.preventDefault();
                e.preventDefault();
            e.stopPropagation();
                e.stopPropagation();
           
               
            // Abre ou fecha o submenu
                $('.atlas-submenu').toggleClass('is-open');
            $('.atlas-submenu').toggleClass('is-open');
               
           
                if ($(this).text() === '▶') {
            // Alterna o símbolo da seta
                    $(this).text('▼');
            if ($(this).text() === '▶') {
                } else {
                $(this).text('▼');
                    $(this).text('▶');
            } else {
                }
                $(this).text('▶');
             });
             }
         }
         });
     }
     }
});
});