MediaWiki:Common.js: Difference between revisions
Appearance
No edit summary |
No edit summary |
||
| Line 2: | Line 2: | ||
$(document).ready(function() { | $(document).ready(function() { | ||
// Procura o link de PROBES na | // 1. Procura o link de PROBES na barra lateral através do texto exato do link | ||
$('. | $('.vector-main-menu-sidebar a, .mw-sidebar-navigation a').each(function() { | ||
var $ | var $link = $(this); | ||
if ($ | if ($link.text().trim() === 'PROBES') { | ||
var $ | var $liPrincipal = $link.closest('li'); | ||
// | // 2. Encontra a lista de sublinks (as sondas com 3 asteriscos) que o MediaWiki colocou logo a seguir | ||
$ | var $subLista = $liPrincipal.find('ul'); | ||
if ($subLista.length === 0) { | |||
$subLista = $liPrincipal.next('ul'); | |||
} | |||
// Adiciona | if ($subLista.length > 0) { | ||
// Esconde as sondas inicialmente | |||
$subLista.hide(); | |||
// 3. Adiciona a seta de dropdown antes do texto PROBES | |||
var $seta = $('<span class="seta-dropdown" style="cursor:pointer; margin-right:6px; display:inline-block; font-size:10px; transition: transform 0.2s;">▶</span>'); | |||
$link.before($seta); | |||
// 4. Cria a ação de clicar para abrir e fechar | |||
$link.parent().css('cursor', 'pointer').on('click', function(e) { | |||
// Impede o navegador de tentar saltar para outra página se o link for apenas uma âncora (#Probes) | |||
if ($link.attr('href').indexOf('#') !== -1) { | |||
e.preventDefault(); | |||
} | |||
// Roda a seta para baixo | $subLista.slideToggle('fast', function() { | ||
// Roda a seta: se estiver visível fica para baixo (90deg), se não, volta ao normal | |||
if ($subLista.is(':visible')) { | |||
} | $seta.css('transform', 'rotate(90deg)'); | ||
} | } else { | ||
$seta.css('transform', 'rotate(0deg)'); | |||
} | |||
}); | |||
}); | |||
} | |||
} | } | ||
}); | }); | ||