Emoji Support [WIP]

Review Request #7708 — Created Oct. 16, 2015 and discarded — Latest diff uploaded

Information

Review Board
new-branch

Reviewers

This project would add this support to any text field in Review Board, by listening for when the user types ":" (followed by two letters) at the beginning of a line or after a space, and presenting a list of possible Emoji.

The plan:

1) Find a library like Twemoji that will render unicode emoji characters & emoji shortnames (e.x. 😄) to an image.
2) Get emoji shortnames to render.
3) Work on shortname autocomplete.
4) Work on emoji picker UI.
4) Handle MySQL errors with Native Unicode Emojis

Tasks:

  • DONE -- Get emoji shortnames to render
  • DONE -- Have markdown ON/OFF decided whether the emojis should be rendered or not
  • DONE -- Create autocomplete
  • IN PROGRESS -- Create Emoji Picker UI

Changes/Commits:

  • 10/16/15 -- Added Emojione.min.js lib. Working on getting emoji shortname (e.x. 😄) to render after typing into text editor and pressing "OK". Running into issues where after making a comment with emoji shortname, emojis do not render when first loading a page. Also, another issue -- emojis will render when "Enable Markdown" is selected or deselected (options.richText is true).
  • 10/23/15 -- No changes to code. Added more detail to description. Spent time researching autocomplete and codemirror.
  • 11/1/15 -- Emojis will render correctly. Initially had unicode emojis saving into database as shortnames working, however, I realized that the code for this was written into jquery.gravy.inlineEditor.js which is in djiblets.
  • 11/8/15 -- Completed emoji support with markdown ON/OFF. Now, Emojis will render only if markdown is enabled (checked). Emoji shortnames & Unicode emojis will revert from rendered emoji images if markdown is disabled.
  • 11/15/15 -- Fixed style issues. Working on emoji autocomplete and UI.
  • 11/19/15 -- Implemented Emoji Autocomplete & UI. Added library jquery.textcomplete.min.js. Several known bugs exist.
  • 11/29/15 -- Refactored setEmojiAutoComplete and fixed issues. Still working on solving bugs.
  • 12/1/15 -- Fixed Emoji Autocomplete bugs. Also changed stylesheet to appropriately size emojis.
  • 12/5/15 -- Added Emoji Button to Markdown Enabled field.