Commit Graph

2614 Commits

Author SHA1 Message Date
Bruno Windels f200327ef2 show/hide legend when focusing/blurring 2019-09-02 16:15:18 +02:00
Bruno Windels b7768f34f2 Add legend and style it 2019-09-02 16:15:18 +02:00
Bruno Windels 4779880a94 Merge pull request #3362 from matrix-org/bwindels/cider-no-enter-autocomplete
New composer: don't capture enter to close autocomplete
2019-08-30 08:17:47 +00:00
Bruno Windels c144edfcac dont capture enter to close autocomplete 2019-08-29 18:39:35 +02:00
Bruno Windels 5105140902 Merge pull request #3358 from matrix-org/bwindels/cider-paste-images
New composer: support pasting files
2019-08-29 16:31:28 +00:00
Bruno Windels fe7ac11abc New composer: support pasting files 2019-08-29 16:19:05 +02:00
Bruno Windels 891ccf0f4c don't update model while doing IME composition
this prevents the composition from being disrupted because
the DOM is modified, and also complete compositions are added
to the undo history like this.
2019-08-29 13:56:21 +02:00
Bruno Windels f119ac4b22 Merge pull request #3349 from matrix-org/bwindels/tab-complete-name
New composer: support forcing auto complete on name by hitting tab
2019-08-28 16:17:16 +00:00
Bruno Windels 29f96e659a remove leftover code 2019-08-28 17:53:03 +02:00
Bruno Windels 85efb71a23 add visual bell when no replacements are available
also add try/catch in _tabCompleteName so errors don't get swallowed
2019-08-28 15:53:16 +02:00
Travis Ralston 3eddded039 Merge branch 'develop' into travis/tabbed-managers 2019-08-27 09:07:52 -06:00
Bruno Windels d8bb9ecedf bring insert method inline with transform callback, add docs
before the insertPartsAt method would call the update callback
on its own, but now we have the concept of a transformation session,
so lets bring the API in line
2019-08-27 16:43:05 +02:00
Bruno Windels f5bb872efa some cleanup 2019-08-27 16:43:05 +02:00
Bruno Windels f02713d08e force completion when hitting tab
by replacing word before caret with pill-candidate and
forcing auto complete
2019-08-27 16:43:05 +02:00
Bruno Windels f76a23d5dd return promise from updating autocomplete
so one can await if needed
2019-08-27 16:43:05 +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 0273795f5d add transform step to composer to auto-replace emoticons with emoji 2019-08-26 16:16:27 +02:00
Travis Ralston b3cda4b19a Support multiple integration managers behind a labs flag
Fixes https://github.com/vector-im/riot-web/issues/10622
Implements [MSC1957](https://github.com/matrix-org/matrix-doc/pull/1957)

Design is not final.
2019-08-23 09:12:40 -06: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 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 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 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 fdf5fca628 add all props to proptypes 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 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
Bruno Windels 505846ce53 split up css, update class names 2019-08-22 13:33:20 +01:00
Bruno Windels 341fdcd761 cleanup lint errors 2019-08-22 13:33:20 +01:00
Travis Ralston ffa49df889 Refactor integration manager handling into a common place
It was already in a common place, but this is the boilerplate for supporting multiple integration managers, and multiple integration manager sources. 

For https://github.com/vector-im/riot-web/issues/4913 / https://github.com/vector-im/riot-web/issues/10161
2019-08-09 16:08:06 -06:00
Travis Ralston 3144b9f1a2 Disable 'Start New Chat' button in MemberInfo if we already have chats
Part of https://github.com/vector-im/riot-web/issues/10416
2019-08-07 12:06:27 -06:00