|
Tags: Replaced Manual revert |
| (2 intermediate revisions by the same user not shown) |
| 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. */ |
| $(document).ready(function() {
| |
| console.log('Collapsible script loaded'); // Confirm the script is running
| |
|
| |
| // Function to collapse all sections
| |
| function collapseAll() {
| |
| console.log('Collapsing all sections'); // Debug message
| |
| $('#mw-navigation .mw-portlet .mw-portlet-body').hide();
| |
| $('#mw-navigation .mw-portlet .collapsible-arrow').text('▶');
| |
| }
| |
|
| |
| // Function to expand all sections
| |
| function expandAll() {
| |
| console.log('Expanding all sections'); // Debug message
| |
| $('#mw-navigation .mw-portlet .mw-portlet-body').show();
| |
| $('#mw-navigation .mw-portlet .collapsible-arrow').text('▼');
| |
| }
| |
|
| |
| // Add a "Close All" button
| |
| var $closeAllButton = $('<button>', {
| |
| text: 'Close All',
| |
| id: 'close-all-button',
| |
| click: function() {
| |
| console.log('Close All button clicked'); // Debug message
| |
| collapseAll();
| |
| $(this).text('Open All').off('click').on('click', function() {
| |
| console.log('Open All button clicked'); // Debug message
| |
| expandAll();
| |
| $(this).text('Close All').off('click').on('click', function() {
| |
| collapseAll();
| |
| $(this).text('Open All');
| |
| });
| |
| });
| |
| }
| |
| });
| |
|
| |
| // Insert the button below the logo
| |
| $('#mw-navigation .mw-wiki-navigation-logo').after($closeAllButton);
| |
|
| |
| // Add collapsible arrows to section labels
| |
| $('#mw-navigation .mw-portlet a.nav-link.disabled').each(function() {
| |
| var $label = $(this);
| |
| var $body = $label.next('.mw-portlet-body');
| |
|
| |
| // Add a collapsible arrow if it doesn't already exist
| |
| if (!$label.find('.collapsible-arrow').length) {
| |
| $label.append('<span class="collapsible-arrow">▼</span>');
| |
| }
| |
|
| |
| // Collapse/expand on click
| |
| $label.on('click', function(e) {
| |
| console.log('Section label clicked:', $label.text()); // Debug message
| |
| e.preventDefault();
| |
| $body.toggle();
| |
| $label.find('.collapsible-arrow').text(function(_, text) {
| |
| return text === '▼' ? '▶' : '▼';
| |
| });
| |
| });
| |
| });
| |
| });
| |