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

Страница интерфейса MediaWiki
Нет описания правки
Нет описания правки
Строка 1: Строка 1:
// Ждём загрузки DOM
mw.loader.using('mediawiki.util', function () {
mw.hook('wikipage.content').add(function() {
  document.addEventListener('DOMContentLoaded', function () {
  var buttons = document.querySelectorAll('.collapsible-button');
    var toggles = document.getElementsByClassName('collapsible-toggle');
 
    for (var i = 0; i < toggles.length; i++) {
  buttons.forEach(function(button) {
      toggles[i].onclick = (function(toggle) {
    button.addEventListener('click', function() {
        return function () {
      var content = this.nextElementSibling;
          var content = toggle.nextElementSibling;
      var arrow = this.querySelector('.arrow');
          var isCollapsed = toggle.getAttribute('data-collapsed') === 'true';
     
          if (isCollapsed) {
      // Переключаем видимость
            content.style.display = 'block';
      if (content.style.display === 'none') {
            toggle.setAttribute('data-collapsed', 'false');
        content.style.display = 'block';
            toggle.innerHTML = '▼ Скрыть фракции';
        arrow.textContent = '▼';
          } else {
      } else {
            content.style.display = 'none';
        content.style.display = 'none';
            toggle.setAttribute('data-collapsed', 'true');
        arrow.textContent = '▶';
            toggle.innerHTML = '▶ Показать фракции';
       }
          }
     });
        };
       })(toggles[i]);
     }
   });
   });
});
});

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

mw.loader.using('mediawiki.util', function () {
  document.addEventListener('DOMContentLoaded', function () {
    var toggles = document.getElementsByClassName('collapsible-toggle');
    for (var i = 0; i < toggles.length; i++) {
      toggles[i].onclick = (function(toggle) {
        return function () {
          var content = toggle.nextElementSibling;
          var isCollapsed = toggle.getAttribute('data-collapsed') === 'true';
          if (isCollapsed) {
            content.style.display = 'block';
            toggle.setAttribute('data-collapsed', 'false');
            toggle.innerHTML = '▼ Скрыть фракции';
          } else {
            content.style.display = 'none';
            toggle.setAttribute('data-collapsed', 'true');
            toggle.innerHTML = '▶ Показать фракции';
          }
        };
      })(toggles[i]);
    }
  });
});