Commit graph

17443 commits

Author SHA1 Message Date
Bruno Windels
f10e1d7654 fix jsdoc comments 2019-08-27 09:54:13 +02:00
Bruno Windels
56606a46f4 don't assume preceding space for emoticon at start of document
also add more inline comments to explain what is going on
2019-08-27 09:50:36 +02:00
Bruno Windels
5c28b57681 always recalculate position after doing transform step
as the amount of characters might not have changed,
parts may still have been merged, removed or added which
requires a new position.
2019-08-27 09:49:22 +02:00
Bruno Windels
0273795f5d add transform step to composer to auto-replace emoticons with emoji 2019-08-26 16:16:27 +02:00
Bruno Windels
4fd4ad41c1 improve editor model documentation 2019-08-26 16:16:27 +02:00
Bruno Windels
f8f0e77bde add transform step during editor model update 2019-08-26 16:16:27 +02:00
Bruno Windels
0e65f71a37 support incrementing/decrementing doc positions with predicate 2019-08-26 16:16:27 +02:00
Bruno Windels
10291bafe0 add support for selecting ranges in the editor model, and replacing them
this to support finding emoticons and replacing them with an emoji
2019-08-26 16:16:27 +02:00
Bruno Windels
4a27abb131 fix css lint 2019-08-22 15:11:31 +01:00
Bruno Windels
5cebce9bbf fix bug detected by tests 2019-08-22 14:41:40 +01:00
Bruno Windels
1dd052d9dd fix test after refactoring 2019-08-22 14:38:24 +01:00
Bruno Windels
9c6953f176 lint 2019-08-22 14:11:04 +01:00
Bruno Windels
8c9846efc1 update i18n 2019-08-22 14:10:08 +01:00
Bruno Windels
b395fad834 add feature flag, allowing to revert to old slate editor 2019-08-22 14:07:43 +01:00
Bruno Windels
6e54bb8e51 default is unused here 2019-08-22 14:07:31 +01:00
Bruno Windels
944c56d09b prevent cider history overlapping with slate composer history 2019-08-22 14:07:03 +01:00
Bruno Windels
6a3ecde4e6 duplicate slate code where we changed it drastically
to still make it work when the feature flag will be turned off
2019-08-22 14:05:54 +01:00
Bruno Windels
36390da634 some doc improvements 2019-08-22 13:33:20 +01:00
Bruno Windels
b366b0b3d8 store composer state when typing in new composer
this doesn't use the MessageComposerStore on purpose so that
both the new and old composer don't overwrite each others state,
as the format is different.
2019-08-22 13:33:20 +01:00
Bruno Windels
9f72268df7 avoid null-refs when receiving an action before initial rendering 2019-08-22 13:33:20 +01:00
Bruno Windels
6df46cc319 send typing notifs in new composer (both send and edit) 2019-08-22 13:33:20 +01:00
Bruno Windels
e2dfe888cc only capture Enter when autocompletion list has selection
this is the old behaviour and makes sense IMO
also close the auto complete when resetting the composer model,
in case it was still open
2019-08-22 13:33:20 +01:00
Bruno Windels
3c5cf3e778 rename ComposerHistoryManager to SendHistoryManager to avoid confusion
...with the undo history manager for the composer.
2019-08-22 13:33:20 +01:00
Bruno Windels
c5cd8b943a support auto complete for /commands 2019-08-22 13:33:20 +01:00
Bruno Windels
88cc1c428d add support for emotes and running /commands
this does not yet include autocomplete for commands
2019-08-22 13:33:20 +01:00
Bruno Windels
cc82353d8f bring back composer send history and arrow up to edit previous message 2019-08-22 13:33:20 +01:00
Bruno Windels
ca3539d53e remove dead code 2019-08-22 13:33:20 +01:00
Bruno Windels
9bc8ff7e1e clear composer undo history when sending a message 2019-08-22 13:33:20 +01:00
Bruno Windels
0adca10f9f make named options argument optional 2019-08-22 13:33:20 +01:00
Bruno Windels
ea1faacd8b support alt+enter on mac, like slate composer 2019-08-22 13:33:20 +01:00
Bruno Windels
9003a8836a put dispatches together 2019-08-22 13:33:20 +01:00
Bruno Windels
2e71dd3ea8 cleanup, move code out of big switch statement 2019-08-22 13:33:20 +01:00
Bruno Windels
60e10364b0 add quoting functionality to new composer 2019-08-22 13:33:20 +01:00
Bruno Windels
10c218825b allow inserting multiple parts at a position 2019-08-22 13:33:20 +01:00
Bruno Windels
ce44c651d0 keep deserialized parts compatible with part api,
to avoid breakage when passing real parts
2019-08-22 13:33:20 +01:00
Bruno Windels
d4fbe7ed69 make editor event parsing suitable for parsing messages to be quoted 2019-08-22 13:33:20 +01:00
Bruno Windels
a9d6d01f10 add reply fields to message content to be sent when replying 2019-08-22 13:33:20 +01:00
Bruno Windels
7b3282185a update proptypes 2019-08-22 13:33:20 +01:00
Bruno Windels
c135cd60d2 restore insert mention
for this, we need to store the last caret in the editor,
to know where to insert the user pill.

Because clicking on a member blurs the editor, and the
selection is moved away from the editor.

For this reason, we keep as cache of the last caretOffset object,
invalidated by a selection with different values.

The selection needs to be cloned because apparently the browser
mutates the object instead of returning a new one.
2019-08-22 13:33:20 +01:00
Bruno Windels
71286b5610 restore reply_to_event action 2019-08-22 13:33:20 +01:00
Bruno Windels
e39c405c55 restore focus_composer action 2019-08-22 13:33:20 +01:00
Bruno Windels
d4ca087abe fix styling issues
- grow/shrink between min and max height correctly
 - don't grow wider than available space
 - some space between editor and buttons
2019-08-22 13:33:20 +01:00
Bruno Windels
fdf5fca628 add all props to proptypes 2019-08-22 13:33:20 +01:00
Bruno Windels
33c6945fc4 align autocomplete at top of composer 2019-08-22 13:33:20 +01:00
Bruno Windels
2cff486ec0 set placeholder same as label 2019-08-22 13:33:20 +01:00
Bruno Windels
64e83a8111 font-size 2019-08-22 13:33:20 +01:00
Bruno Windels
f9992a1fc6 implement editor placeholder 2019-08-22 13:33:20 +01:00
Bruno Windels
e2e4ea493f set aria label on main composer too 2019-08-22 13:33:20 +01:00
Bruno Windels
cfbd2e9cc8 support basic sending with new main composer
this removes all formatting options, as the new editor doesn't
have any.
2019-08-22 13:33:20 +01:00
Bruno Windels
df8488e194 pass label through props 2019-08-22 13:33:20 +01:00