Bruno Windels
f0271b593d
remove special casing for moving caret after newline and pills
...
not needed anymore with new caret logic and having caret nodes
2019-06-19 17:42:18 +02:00
Bruno Windels
a229641985
use caret nodes in caret positioning code, to move caret out of pills
2019-06-19 17:42:18 +02:00
Bruno Windels
607fc328ed
also process first part when processing empty and mergeable parts
...
this was preventing clearing an emtpy plain part when inserting
a pill-candidate at the beginning of the model, which
prevented a caret node from being inserted before the pill.
2019-06-19 17:42:18 +02:00
Bruno Windels
75fc769742
insert "caret nodes" where pills don't have an adjacent text node
...
just empty spans, where the caret can be placed.
2019-06-19 17:42:18 +02:00
Bruno Windels
1db505c667
comment typo
2019-06-18 09:50:31 +02:00
Bruno Windels
3119feaa17
whitespace
2019-06-18 09:48:25 +02:00
Bruno Windels
47579f37e8
clarify why its always safe to not append @room at end while parsing
2019-06-18 08:40:58 +02:00
Bruno Windels
d9e62b54fc
also support deserializing at-room-pill when transferring editor state
2019-06-14 18:42:30 +02:00
Bruno Windels
78971f168f
create AtRoomPill when autocomplete returns @room
2019-06-14 18:28:44 +02:00
Bruno Windels
65d56d1490
transform @room to AtRoomPill while deserializing html to md
2019-06-14 18:28:44 +02:00
Bruno Windels
63b11f5001
(de)serialize at-room-pills just like pill-candidate (no html needed)
2019-06-14 18:28:44 +02:00
Bruno Windels
dfec5058c5
support creating @room pills in partcreator
2019-06-14 18:28:44 +02:00
Bruno Windels
eb4ff50c3c
do parts creation only in PartCreator to not scatter dependencies
2019-06-14 18:28:44 +02:00
Bruno Windels
3cfdd518ee
detect emote when sending (and trim "/me " for content)
2019-06-14 11:02:20 +02:00
Bruno Windels
aecfbce55c
prepend "/me " to emotes when parsing them to edit
2019-06-14 11:01:52 +02:00
Bruno Windels
48f5cf1523
Merge pull request #2966 from npny/npny/autocomplete-arrow-keys
...
Allow arrow keys navigation in autocomplete list
2019-06-13 15:38:36 +00:00
Bruno Windels
d40f49e2c2
fix lint
2019-06-12 19:09:27 +02:00
Bruno Windels
41e41269dc
use EditorStateTransfer to pass on state to newly mounted editor
2019-06-12 18:52:34 +02:00
Bruno Windels
e674f39e3b
support (de)serializing parts with other dependencies than text
2019-06-12 18:32:32 +02:00
Pierre Boyer
8158567640
Remove left/right autocomplete navigation for MessageEditor
2019-06-05 10:49:49 +02:00
Pierre Boyer
a4dec88c65
Add back on..Arrow functions. Add left/right key navigation in MessageEditor
2019-06-04 13:57:15 +02:00
Pierre Boyer
ed6427571e
Update src/editor/autocomplete to correctly call countCompletions and moveSelection
2019-06-04 13:24:24 +02:00
Bruno Windels
2d8c523642
Merge pull request #3040 from matrix-org/bwindels/editor-remaining-md
...
Fix: better HTML > MD conversion for editing, including lists and quotes
2019-05-31 09:21:43 +00:00
Bruno Windels
78fbea307c
less escaping for backticks
2019-05-31 11:06:15 +02:00
Bruno Windels
eb8dd52437
Merge pull request #3029 from matrix-org/bwindels/pill-n-newlines
...
Fix: maintain caret at current line when position is on newline part
2019-05-31 08:44:02 +00:00
Bruno Windels
686045b46a
rewrite HTML>MD conversion,handle (nested) block elements"es better
...
Re-use walkDOMDepthFirst we already had for turning the editor into
a string, which also allows us to detect when leaving a node better,
which is needed to decide how block elements create newline parts
is more centralized and robust manner, more in line with
how html works (consecutive block elements break the line)
instead of hacky special casing from before.
Also, to support every line of MD generated
within a BLOCKQUOTE, the parts an element creates are returned
and then centrally prepended with "> ", instead of passing in
the parts array and doing it in every parse... function.
2019-05-29 14:46:15 +02:00
Bruno Windels
b0d87e7e47
allow enterNodeCallback to decide whether to decend into a node
2019-05-29 14:27:36 +02:00
Bruno Windels
6b680ff681
fallback to setting caret on line node for empty lines
...
instead of setting at the end of the editor
2019-05-28 10:34:29 +02:00
Bruno Windels
4fc23022f4
remove all non-first-br nodes on new empty line, not just first one
...
nextSibling returned null after calling removeNode,
so get the nextSibling first
2019-05-28 10:01:16 +02:00
Bruno Windels
080a6301b1
Merge pull request #3032 from matrix-org/bwindels/filterreply
...
Message editing: fix reply text appearing in edit
2019-05-27 15:12:18 +00:00
Bruno Windels
f5da8162c1
filter out reply text when editing
2019-05-27 17:04:26 +02:00
Aaron Raimist
fec5abadd6
Message editing: preserve strikethrough as well
...
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2019-05-24 13:57:09 -05:00
Bruno Windels
b2592583c4
maintain caret at current line when position is on newline part
2019-05-24 18:54:29 +02:00
Bruno Windels
8c0b8ff618
take part length into account as well
2019-05-24 15:43:55 +02:00
Bruno Windels
9d6a818591
Merge pull request #3024 from matrix-org/bwindels/autocomplete-tab
...
Message editing: tab completion
2019-05-24 13:29:10 +00:00
Bruno Windels
cf5e4d3d94
make consecutive :/@/# separate pill candidates
...
e.g. accept the first character always to start the autocompletion
but after that refer to the plainpart logic to split up in
new pill candidates. Also, don't allow merging adjacent parts.
This makes sure that "@nonmatchingfoo @someuser"
only matches "someuser" in the autocomplete.
2019-05-24 12:38:19 +02:00
Bruno Windels
a024fd8991
port tab completion from MessageComposerInput
2019-05-24 12:38:01 +02:00
Bruno Windels
23465c696f
dont jump to next part when inserting at *start* of uneditable part
2019-05-24 10:08:47 +02:00
Bruno Windels
723086e4d7
Decend into P & DIV elements while parsing a message.
...
Also split on newline so all newlines are represented by a newlinepart
2019-05-22 16:19:07 +02:00
Bruno Windels
5f5a2f7140
put code block on new line
2019-05-22 16:19:07 +02:00
Bruno Windels
53b6586986
re-apply markdown when saving a message
2019-05-22 16:19:07 +02:00
Bruno Windels
5373007301
initial attempt at converting html back to markdown
2019-05-22 16:18:35 +02:00
Bruno Windels
ff61376c07
Merge pull request #3004 from matrix-org/bwindels/update-link-previews-after-edit
...
Message editing: update link previews after editing
2019-05-22 14:17:34 +00:00
Bruno Windels
6b1134bdf0
add matrix foundation copyright header
2019-05-22 16:16:32 +02:00
Bruno Windels
fb03b5b168
fix lint
2019-05-21 13:49:43 +02:00
Bruno Windels
a75c948e2e
don't cache DRP
2019-05-21 12:24:12 +02:00
Bruno Windels
5d184b3f77
reuse mx_Pill styles for editor pills to avoid style duplication
...
the avatar style code is still different though,
as it's implemented differently
This also prevents updating the css variables when not needed,
which caused the avatar to flicker when updating the editor.
2019-05-21 12:19:35 +02:00
Bruno Windels
df4f380082
find room by alias in room pill
2019-05-20 15:34:15 +02:00
Bruno Windels
0e98b124ac
undo thinko of passing current room as pill room
2019-05-20 15:33:54 +02:00
Bruno Windels
c1b2f3dce1
make user pill avatars work in editor
2019-05-20 14:21:25 +02:00