MediaWiki:Common.js: Difference between revisions
Appearance
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); | |||
} | |||
} | |||
}); | |||