Defina dois prefixos ou mais

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

Defina dois prefixos ou mais Empty Defina dois prefixos ou mais

Mensagem por LucianoMicle em 10.10.19 7:16

Detalhes da questão


Endereço do fórum: https://lucianomicle.foroactivo.com/
Versão do fórum: phpBB3

Descrição


Olá a todos.
Quero tentar colocar dois prefixos neste exemplo: "Resolvido e Idéias", onde o de "Resolvido" o aceita, mas o de "Idéias" não.
Deixo as imagens para mostrar como elas ficariam, mas o JS para unir dois prefixos não a aceita ou não está configurado para colocar duas ou mais.
Espero que você possa me ajudar, atenciosamente.

Spoiler:
Defina dois prefixos ou mais Mira210

Defina dois prefixos ou mais Mira110

Deixo o código dos prefixos:
Código:
/**
 *! Criar tags no título dos tópicos com painel de seleção.
 *
 *  @author Luiz~
 *  @modified by RafaelS. (fa-icon)
 *  @see <a href="https://ajuda.forumeiros.com">Fórum dos Fóruns</a>
 *  @licence MIT
 */
(function ($) {
  'use strict';
 
  var tags = [
    {
      tag: 'IDEAS',
      background: 'orange',
      icon: 'fa-lightbulb-o'
    },
    {
      tag: 'REGLAS',
      background: 'red',
      icon: 'fa fa-book'
    },
    {
      tag: 'ACTUALIZACION',
      background: '#213123',
      icon: 'fa fa-refresh'
    },
    {
      tag: 'TUTORIAL',
      background: 'violet',
      icon: 'fa-magic'
    },
    {
      tag: 'PRESENTACION',
      background: '#669096',
      icon: 'fa fa-user'
    },
    {
      tag: 'SOPORTE',
      background: '#4f4b48',
      icon: 'fa fa-wrench'
    },
        {
      tag: 'PAPELERA',
      background: 'black',
          icon: 'fa fa-trash'
    },
        {
      tag: 'LIBRE',
      background: '#cf895b',
          icon: 'fa fa-comment'
    },
    {
      tag: 'TIENDA',
      background: '#4f5e92',
      icon: 'fa fa-shopping-cart'
    },
    {
      tag: 'RESUELTO',
      background: '#22bf36',
      icon: 'fa fa-check'
    },
    {
      tag: 'NOTICIAS',
      background: '#6967a6',
      icon: 'fa fa-bell'
      },
    {
      tag: 'BUG',
      background: '#961212',
      icon: 'fa fa-bug'
    },
  ];
 
  $(function () {
    var counter = 1;
 
    /**
    * Parte 1.
    * Aqui nós criamos o seletor de tags acima do editor:
    */
    if (location.pathname === '/post' && $('form input[name="subject"]').length > 0 && _userdata.user_level > 0) {
      // Criar a zona para colocar-se os inputs:
      var $textarea = $('#textarea_content');
      var $title = $('form [name="subject"]');
      var $zone = $([
        '<div class="fa-icon-selector">',
        '  <div class="fa-icon-selector-inner">',
        '  </div>',
        '</div>',
      ].join('\n'))
        .prependTo($textarea)
      ;
 
      // Criar-se os inputs dentro da zona criada anteriormente:
      var $appendZone = $zone.find('.fa-icon-selector-inner');
      $.each(tags, function (index, tag) {
        $([
          '<div class="fa-tag-form-group">',
          '  <input type="radio" class="select-tag-input" name="select-tag-radio" id="tag-input-' + counter + '" data-tag="' + tag.tag + '" />',
          '  <label for="tag-input-' + counter + '" class="fa-tag-label">' + tag.tag + '</label>',
          '</div>',
        ].join('\n'))
          .appendTo($appendZone)
        ;
 
        counter++;
      });
 
      // Função para dar focus num input X caso este seja a tag dum tópico X:
      if (/^\[.*\]/gi.test($title.val())) {
        $title.val().replace(/^\[(.*)\]/gi, function (find, match) {
          $('[data-tag="' + match + '"]').prop('checked', true);
        });
      }
 
      // Trigger para a adição/edição do prefixo no input de título:
      $zone
        .find('input.select-tag-input')
          .on('focus', function () {
            setPrefix($(this).attr('data-tag'));
          })
      ;
 
      // Função para setar/editar o prefixo:
      var setPrefix = function (prefix) {
 
        if (/^\[.*\]/gi.test($title.val())) {
          $title.val($title.val().replace(/^\[.*\]/gi, function () {
            return '[' + prefix + ']';
          }));
 
          return;
        }
 
        $title.val('[' + prefix + '] ' + $title.val().trim());
      };
    }
 
    /**
    * Parte 2.
    * Aqui nós iremos substituir a tag entre os colchetes por uma tag real:
    */
    var $link = $('a[href^="/t"]');
    $link.each(function () {
 
      var $this = $(this);
 
      $.each(tags, function (index, tag) {
        var regex = new RegExp ('\\[' + tag.tag + '\\]', 'gim');
        var text = $this.text();
 
        if (!regex.test(text)) {
          return;
        }
 
        $this.addClass('fa-tagged-link');
        $this.text(text.trim().replace(regex, ''));
        $this.prepend('<span class="fa-topic-tag" style="background-color: ' + tag.background + ';"><i class="fa ' + tag.icon + '"></i>  ' + tag.tag + '</span>');
      });
    });
 
    /**
    * Parte 3:
    * Estilos.
    */
    var styles = [
      '.fa-icon-selector-inner strong {',
      '  display: block;',
      '  margin-bottom: 4px;',
      '  font-weight: bold;',
      '}',
      '',
      '.fa-icon-selector .fa-tag-form-group {',
      '  display: inline-block;',
      '  margin-right: 15px;',
      '  margin-top: 4px;',
      '}',
      '',
      '.fa-tagged-link {',
      '  text-decoration: none !important;',
      '}',
      '',
      '.fa-tagged-link:hover {',
      '  color: #f73 !important;',
      '  text-decoration: none !important;',
      '}',
      '',
      'span.fa-topic-tag {',
      '  color: #fff;',
      '  background-color: #39c;',
      '  padding: 1px 5px;',
      '  border-radius: 4px;',
      '  margin-right: 4px;',
      '  display: inline;',
      '  text-decoration: none!important',
      '}'
    ].join('\n');
 
    $(['<style type="text/css">', styles, '</style>'].join('\n')).appendTo('head');
 
  });
}(jQuery));
LucianoMicle

LucianoMicle
Nível 3

Masculino
Inscrito dia : 07/09/2019
Mensagens : 17
Pontos Ativos : 27

http://lucianomicle.foroactivo.com/ https://www.facebook.com/facebook.com/lucianomicleok https://twitter.com/twitter.com/lucianomicleok

Defina dois prefixos ou mais Empty Re: Defina dois prefixos ou mais

Mensagem por LucianoMicle em 13.10.19 23:11

up
LucianoMicle

LucianoMicle
Nível 3

Masculino
Inscrito dia : 07/09/2019
Mensagens : 17
Pontos Ativos : 27

http://lucianomicle.foroactivo.com/ https://www.facebook.com/facebook.com/lucianomicleok https://twitter.com/twitter.com/lucianomicleok

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


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