1
0

emojione.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. /* jshint sub: true */
  2. window['makeEmoji'] = function(name) {
  3. var emoji;
  4. if (typeof(name) === "string") {
  5. for (var i =0, nbEmojis = emojis.length; i < nbEmojis && !emoji; i++) {
  6. var emojiNames = emojis[i]["names"];
  7. for (var j=0, nbEmojiName = emojiNames.length ;j < nbEmojiName && !emoji; j++)
  8. if (emojiNames[j] === name)
  9. emoji = emojis[i];
  10. }
  11. } else {
  12. emoji = name;
  13. }
  14. if(emoji) {
  15. var dom = document.createElement("span");
  16. dom.className="emoji emojione emojione-" +emoji["unicode"];
  17. return dom;
  18. }
  19. return null;
  20. };
  21. window['emojiProviderHeader']="emojione.logo.svg";
  22. window['searchEmojis'] = function(queryString) {
  23. var result = {},
  24. queryLength = queryString.length;
  25. lp: for (var emojiIndex =0, nbEmojis = emojis.length; emojiIndex < nbEmojis; emojiIndex++) {
  26. var currentEmoji = emojis[emojiIndex];
  27. for (var nameIndex =0, nbNames = currentEmoji["names"].length; nameIndex < nbNames; nameIndex++) {
  28. if(currentEmoji["names"][nameIndex].substr(0, queryLength) === queryString) {
  29. result[currentEmoji["names"][0]] = currentEmoji;
  30. continue lp;
  31. }
  32. }
  33. for (var keywordIndex =0, nbKeywords = currentEmoji["keywords"].length; keywordIndex < nbKeywords; keywordIndex++) {
  34. if(currentEmoji["keywords"][keywordIndex].substr(0, queryLength) === queryString) {
  35. result[currentEmoji["names"][0]] = currentEmoji;
  36. break;
  37. }
  38. }
  39. }
  40. return result;
  41. };