Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The following code search for any shortname that matches the last typed word with preceding and following “:” character. Example :grinning_face: (big grin)

Code Block
languagejs
// Match <shortcut> + new line
jQuery("#myTextArea").on("change keyup", 
  function() {
    var text = jQuery("#myTextArea").val();
    text = text.replace(
      // Regular Expression: search for :shortname: or shortcut (':-)', ':)', ...)
      new RegExp("(\\:\\w+\\:)$|(.{2,3}\\ )$", "gi"),
      function(match) {
        console.log("[CTLIVE] Emoji match", match);
        if (typeof Emoji_by_ShortName[ match.replace(/\:/g, "") ] !== "undefined") {
          return Emoji_by_ShortName[ match.replace(/\:/g, "") ];
        } else if (typeof Emoji_by_ShortName[ match.trim() ] !== "undefined") {
          return " " + Emoji_by_ShortName[ match.trim() ] + " ";
        } else {
          return match;
        }
      }
    );
    jQuery("#myTextArea").val( text );
  }
);

// Match <shortcut> + new line
jQuery("#myTextArea").on("keydown", 
  function(e){
    if (e.which == 13) {
    }
  }
);