MediaWiki:Common.js: mudanças entre as edições

sem sumário de edição
Sem resumo de edição
Sem resumo de edição
 
(19 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 3: Linha 3:


function toggleContent(clickedButton, contentToToggle) {
function toggleContent(clickedButton, contentToToggle) {
  // Fechar todos os conteúdos
   var allContents = document.getElementsByClassName("content");
   var allContents = document.getElementsByClassName("content");
   for (var j = 0; j < allContents.length; j++) {
   for (var j = 0; j < allContents.length; j++) {
     allContents[j].style.maxHeight = null; // Fecha todas as divs
     allContents[j].style.maxHeight = null;  
   }
   }


  // Fechar todos os botões (remover a classe "active")
   var allButtons = document.getElementsByClassName("collapsible-battle-pass");
   var allButtons = document.getElementsByClassName("collapsible-battle-pass");
   for (var k = 0; k < allButtons.length; k++) {
   for (var k = 0; k < allButtons.length; k++) {
Linha 19: Linha 17:
   }
   }


  // Agora, abrir o conteúdo da div clicada
   if (contentToToggle.style.maxHeight) {
   if (contentToToggle.style.maxHeight) {
     contentToToggle.style.maxHeight = null; // Fecha se estiver aberto
     contentToToggle.style.maxHeight = null;  
   } else {
   } else {
     contentToToggle.style.maxHeight = contentToToggle.scrollHeight + "px"; // Abre
     contentToToggle.style.maxHeight = contentToToggle.scrollHeight + "px";
   }
   }


  // Adicionar a classe active ao botão clicado
   clickedButton.classList.add("active");
   clickedButton.classList.add("active");
}
}


// Adiciona eventos de clique aos botões
for (var i = 0; i < coll1.length; i++) {
for (var i = 0; i < coll1.length; i++) {
   coll1[i].addEventListener("click", function() {
   coll1[i].addEventListener("click", function() {
     var content = this.nextElementSibling; // Conteúdo relacionado à div de botão
     var content = this.nextElementSibling;  
     toggleContent(this, content);  // Chama a função para alternar
     toggleContent(this, content);   
   });
   });
}
}
Linha 40: Linha 35:
for (var i = 0; i < coll2.length; i++) {
for (var i = 0; i < coll2.length; i++) {
   coll2[i].addEventListener("click", function() {
   coll2[i].addEventListener("click", function() {
     var content = this.nextElementSibling; // Conteúdo relacionado à div de botão
     var content = this.nextElementSibling;  
     toggleContent(this, content); // Chama a função para alternar
     toggleContent(this, content);  
   });
   });
}
}
/* Pokedex */
var coll3 = document.getElementsByClassName("collapsible-pokedex");
function toggleContent(clickedButton, contentToToggle) {
  var allContents = document.getElementsByClassName("content");
  for (var j = 0; j < allContents.length; j++) {
    allContents[j].style.maxHeight = null;
  }
  var allButtons2 = document.getElementsByClassName("collapsible-pokedex");
  for (var k = 0; k < allButtons2.length; k++) {
    allButtons2[k].classList.remove("active");
  }
  if (contentToToggle.style.maxHeight) {
    contentToToggle.style.maxHeight = null;
  } else {
    contentToToggle.style.maxHeight = contentToToggle.scrollHeight + "px";
  }
  clickedButton.classList.add("active");
}
for (var i = 0; i < coll3.length; i++) {
  coll3[i].addEventListener("click", function() {
    var content = this.nextElementSibling;
    toggleContent(this, content); 
  });
}
/* Pokedex */


function toggleShinyList() {
function toggleShinyList() {
Linha 55: Linha 81:




mw.loader.using('jquery', function () {
    $(document).ready(function () {
        var isAscending = true;
        var $sortButton = $('<div class="sort-button" style="width: 60px; height: 50px; background-image: url(https://wiki.otpokemon.com/images/9/92/O-c.png); background-position: center; background-repeat: no-repeat; background-size: cover; border-radius: 3px; cursor: pointer; float: right; margin-right: 0.5%;margin-top: -50px;"></div>');
        $('.square-div-shiny').before($sortButton);
   


        $sortButton.on('click', function () {
            var $container = $('.square-div-shiny');
            var $boxes = $container.children('.square-box-shiny');


            $boxes.sort(function (a, b) {
                var numA = parseInt($(a).find('.square-name-shiny').text().match(/\d+/)[0], 10);
                var numB = parseInt($(b).find('.square-name-shiny').text().match(/\d+/)[0], 10);


document.getElementById("sortButton").addEventListener("click", function() {
                return isAscending ? numA - numB : numB - numA;
        const container = document.getElementById("gymContainer");
            });
        const boxes = Array.from(container.getElementsByClassName("square-box-gym"));


        boxes.sort((a, b) => {
            $container.append($boxes);
             const textA = a.querySelector(".square-name-gym").textContent;
            isAscending = !isAscending;
            const textB = b.querySelector(".square-name-gym").textContent;
 
             var newImage = isAscending
                ? 'https://wiki.otpokemon.com/images/e/e2/O-d.png'
                : 'https://wiki.otpokemon.com/images/9/92/O-c.png';
              
              
             const numA = parseInt(textA.match(/\d+/)[0]);
             $sortButton.css('background-image', 'url(' + newImage + ')');
            const numB = parseInt(textB.match(/\d+/)[0]);
 
            return numA - numB;
         });
         });
        boxes.forEach(box => container.appendChild(box));
     });
     });
});