[AddOn] Ocultar/Mostrar categorias no estilo Invision!

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

  • 0

[AddOn] Ocultar/Mostrar categorias no estilo Invision!

Mensagem por JScript em 10/05/15, 02:36 pm


   Ocultar e mostrar categorias como Invision
Que tal ter o mesmo sistema de mostrar e ocultar as categorias igual ao da versão Invision? Eu sei que existem vários códigos com o mesmo propósito deste, mas nunca vi um que funcionasse em todas as versões, menos a Invision pois esse sistema já existe!
   Abaixo o código para ser adicionado somente no "Índice".
Características e aplicação
Criador: @JScript
Versão: 1.0
Versão: Todas as versões
Dificuldade de instalação: Fácil
Resultado da aplicação
O resultado da aplicação será:
Local de instalação
Para fazer a instalação, acesse Painel de Controle ->> Módulos >> HTML e Javascript >> Gestão das páginas Javascript >> Criar um novo Javascript >> Investimento >> No índice >>
   
Código:

        /***
        * Application: toggle Category
        * Description: Show/hide categories!
        * Version: 0.02632015-jq1.9.1
        *        RC1 (Release candidate 1!) - Invision
        * Author: JScript - 2015/03/26 - based on Invision.js
        * This work is free. You can redistribute it and/or modify it
        * under the terms of the WTFPL, Version 2
        */
        $(function() {
          var Autor = "JScript <jscriptbrasil at live dot com>, based on Invision.js";
          style = document.createElement("style"),
              //Versions: |phpBB2----------------------------------------|  |phpBB3-------------|    |PunBB-----------------|  |Invision already have it!|
              oCat = $('#content-container .three-col td:eq(1) .forumline, #main-content .forabg, #main-content .main-head, '),
              oThis = null,
              oTemp = null,
              sEval = '';

          style.type = "text/css";
          style.innerHTML =
              '.contract, .expand {' +
              '  background: url("http://illiweb.com/fa/invision/exp_minus.gif") no-repeat scroll 50% 50% rgba(0, 0, 0, 0);' +
              '  cursor: pointer;' +
              '  float: right;' +
              '  margin-top: 3px;' +
              '}' +
              '.expand {' +
              '  background: url("http://illiweb.com/fa/invision/exp_plus.gif") no-repeat scroll 50% 50% rgba(0, 0, 0, 0);' +
              '}';
          document.getElementsByTagName("head")[0].appendChild(style);

          switch (oCat[0].className) {
              case 'forumline': //phpBB2
                sEval = "oTemp = oThis.find('tr').first();oTemp.addClass('title-bar');" +
                    "oTemp.find('th:last').append('<div onclick=\"toggleCategory(\\'c' + i + '\\');\" id=\"bc' + i + '\" class=\"contract\" style=\"margin-top: -15px;\">&nbsp;&nbsp;&nbsp;</div>');" +
                    "oThis.find('tr').not('.title-bar').addClass('c' + i);";
                break;
              case 'forabg': //phpBB3
                sEval = "oThis.find('ul.topiclist:first dl.icon').append('<div onclick=\"toggleCategory(\\'c' + i + '\\');\" id=\"bc' + i + '\" class=\"contract\">&nbsp;&nbsp;&nbsp;</div>');" +
                    "oThis.find('ul.topiclist.forums').attr('id', 'c' + i);";
                break;
              case 'main-head': //PunBB
                sEval = "oThis.find('h2').append('<div onclick=\"toggleCategory(\\'c' + i + '\\');\" id=\"bc' + i + '\" class=\"contract\">&nbsp;&nbsp;&nbsp;</div>');" +
                    "oThis.next().attr('id', 'c' + i);";
                break;
          }
          for (var i = 0, len = oCat.length; i < len; i++) {
              oThis = $(oCat[i]);
              eval(sEval);
          }

          initCategories();
        });
        // by invision.js
        function initCategories() {
          var id;
          cookies = document.cookie.split('; ');
          for (var i = 0; i < cookies.length; i++) {
              if (cookies[i].charAt(0) == '_') {
                cookie = cookies[i].split('=');
                if (cookie[1] == '1') {
                    id = cookie[0].substring(1);
                    if (document.getElementById(id)) {
                      toggleCategory(id)
                    }
                }
              }
          }
        }
        // by invision.js, modified by JScript
        function toggleCategory(id) {
          var obj = document.getElementById(id);
          var button = document.getElementById('b' + id);
          if (obj) {
              var toggle = obj.style.display == 'none';
              obj.style.display = toggle ? '' : 'none';
          } else {
              var elems = document.getElementsByClassName(id);
              for (var i = 0, len = elems.length; i < len; i++) {
                var toggle = elems[i].style.display == 'none';
                elems[i].style.display = toggle ? '' : 'none';
              }
          }
          button.className = toggle ? 'contract' : 'expand';
          my_setcookie('_' + id, toggle ? '' : '1', true);
          return false
        }
    
   
avatar

JScript
Membro do Fórum

Masculino
Inscrito dia : 14/03/2013
Mensagens : 1449
Pontos Ativos : 1900

Ver perfil do usuário http://jscript.forumeiros.com/

Re: [AddOn] Ocultar/Mostrar categorias no estilo Invision!

Mensagem por Lineshooter em 23/12/15, 01:11 am

Perfeito! Só a visibilidade não ficou muito boa por causa do meu theme, fora isso, muito útil. Usando no Marvel-RPG.


Última edição por Lineshooter em 26/12/16, 11:07 pm, editado 1 vez(es)
avatar

Lineshooter
Nível 6

Masculino
Inscrito dia : 08/03/2014
Mensagens : 69
Pontos Ativos : 106

Ver perfil do usuário http://marvelrpg.forumeiro.com https://www.facebook.com/rohhvm https://twitter.com/@outfoxedfox

Re: [AddOn] Ocultar/Mostrar categorias no estilo Invision!

Mensagem por Grizzly em 12/12/16, 06:45 pm

Havia instalado este JavaScript em meu fórum e ele funcionou muito bem. O problema é que, como consequência para seu funcionamento, o JavaScript basicamente ocultava alguns botões normalmente visíveis em caixas de texto para novos tópicos e respostas rápidas (como aqueles de smileys, mudar de fonte, negrito, itálico, justificado, coloração e etc), como nos prints à seguir:

Novo Tópico: http://i.imgur.com/QnkBvl0.png
Resposta Rápida: http://i.imgur.com/L08S1x7.png

Não sei se é porque meu fórum é phpBB3, se é algo particular do meu fórum em si ou não, mas encontrei este erro e resolvi vir aqui avisar Muito feliz
avatar

Grizzly
Nível 2

Masculino
Inscrito dia : 20/06/2015
Mensagens : 14
Pontos Ativos : 22

Ver perfil do usuário http://ezrpg.forumeiros.com/forum

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum