MediaWiki:Test.js: различия между версиями

Страница интерфейса MediaWiki
Нет описания правки
Нет описания правки
Строка 1: Строка 1:
mw.loader.using('mediawiki.util', function () {
// Инициализация сворачиваемых блоков
  document.addEventListener('DOMContentLoaded', function () {
mw.hook('wikipage.content').add(function($content) {
     var toggles = document.getElementsByClassName('collapsible-toggle');
     $content.find('.collapsible-header').each(function() {
    for (var i = 0; i < toggles.length; i++) {
         var header = this;
      toggles[i].onclick = (function(toggle) {
        var content = header.nextElementSibling;
         return function () {
       
          var content = toggle.nextElementSibling;
        header.addEventListener('click', function() {
          var isCollapsed = toggle.getAttribute('data-collapsed') === 'true';
             var isExpanded = content.style.display === 'block';
          if (isCollapsed) {
             content.style.display = isExpanded ? 'none' : 'block';
             content.style.display = 'block';
             header.classList.toggle('expanded', !isExpanded);
            toggle.setAttribute('data-collapsed', 'false');
         });
            toggle.innerHTML = '▼ Скрыть фракции';
     });
          } else {
             content.style.display = 'none';
             toggle.setAttribute('data-collapsed', 'true');
            toggle.innerHTML = '▶ Показать фракции';
          }
         };
      })(toggles[i]);
     }
  });
});
});

Версия от 16:51, 8 мая 2025

// Инициализация сворачиваемых блоков
mw.hook('wikipage.content').add(function($content) {
    $content.find('.collapsible-header').each(function() {
        var header = this;
        var content = header.nextElementSibling;
        
        header.addEventListener('click', function() {
            var isExpanded = content.style.display === 'block';
            content.style.display = isExpanded ? 'none' : 'block';
            header.classList.toggle('expanded', !isExpanded);
        });
    });
});