Jump to content

MediaWiki:Common.js: Difference between revisions

No edit summary
No edit summary
Line 1: Line 1:
/* Any JavaScript here will be loaded for all users on every page load. */
/* Any JavaScript here will be loaded for all users on every page load. */
// ==========================================================================
    // CONTROLADOR DE DROPDOWN MANUAL NO ÍNDICE LATERAL (TOC)
    // ==========================================================================
   
    // Injeta a seta (▶) apenas nos itens do índice que possuem subcapítulos
    $('.vector-toc-list-item').each(function() {
        var $listItem = $(this);
       
        // Se este item tem uma lista filha (subcapítulos), adiciona a seta
        if ($listItem.children('.vector-toc-list').length > 0) {
            var $link = $listItem.children('.vector-toc-link');
           
            // Cria o elemento da seta se ainda não existir
            if ($link.find('.toc-toggle-arrow').length === 0) {
                var $arrow = $('<span class="toc-toggle-arrow">▶</span>');
               
                // Evento de clique exclusivo na seta
                $arrow.click(function(e) {
                    e.preventDefault();  // Impede que a página navegue para o link
                    e.stopPropagation();  // Impede que o clique ative o link principal
                   
                    // Alterna a expansão da árvore de subcapítulos
                    $listItem.toggleClass('toc-expanded');
                });
               
                // Junta a seta ao link do índice
                $link.append($arrow);
            }
        }
    });