rendered.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. Template.editor.rendered = function() {
  2. this.$('textarea').textcomplete([
  3. // Emojies
  4. {
  5. match: /\B:([\-+\w]*)$/,
  6. search: function(term, callback) {
  7. callback($.map(Emoji.values, function(emoji) {
  8. return emoji.indexOf(term) === 0 ? emoji : null;
  9. }));
  10. },
  11. template: function(value) {
  12. var image = '<img src="' + Emoji.baseImagePath + value + '.png"></img>';
  13. return image + value;
  14. },
  15. replace: function(value) {
  16. return ':' + value + ':';
  17. },
  18. index: 1
  19. },
  20. // User mentions
  21. {
  22. match: /\B@(\w*)$/,
  23. search: function(term, callback) {
  24. var currentBoard = Boards.findOne(Session.get('currentBoard'));
  25. callback($.map(currentBoard.members, function(member) {
  26. var username = Users.findOne(member.userId).username;
  27. return username.indexOf(term) === 0 ? username : null;
  28. }));
  29. },
  30. template: function(value) {
  31. return value;
  32. },
  33. replace: function(username) {
  34. return '@' + username + ' ';
  35. },
  36. index: 1
  37. }
  38. ]);
  39. };