Emoji Support [WIP]
Review Request #7708 — Created Oct. 16, 2015 and discarded — Latest diff uploaded
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 EmojisTasks:
- 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.
Diff Revision 9 (Latest)
orig
1
2
3
4
5
6
7
8
9
reviewboard/staticbundles.py |
---|
reviewboard/static/lib/css/emoji_dropdown.css |
---|
reviewboard/static/lib/js/emoji_strategy.json |
---|
reviewboard/static/lib/js/emojione.min.js |
---|
reviewboard/static/lib/js/jquery.textcomplete.min.js |
---|
reviewboard/static/rb/js/ui/views/textEditorView.js |
---|
reviewboard/static/rb/js/utils/linkifyUtils.js |
---|
reviewboard/static/rb/js/utils/textUtils.js |
---|