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

Ir para navegação Ir para pesquisar
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));
     });
     });
});

Menu de navegação