Skip to content

Commit cb371e2

Browse files
authored
Merge pull request #5096 from nextcloud/backport/5095/stable28
[stable28] feat(editor): Enable gapcursor, allows to put cursor between images
2 parents 8bfd273 + 7e94b4e commit cb371e2

4 files changed

Lines changed: 26 additions & 9 deletions

File tree

package-lock.json

Lines changed: 20 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@
6262
"@tiptap/extension-collaboration-cursor": "^2.1.13",
6363
"@tiptap/extension-document": "^2.1.13",
6464
"@tiptap/extension-dropcursor": "^2.1.13",
65+
"@tiptap/extension-gapcursor": "^2.1.13",
6566
"@tiptap/extension-hard-break": "^2.1.13",
6667
"@tiptap/extension-heading": "^2.1.13",
6768
"@tiptap/extension-history": "^2.1.13",

src/components/Editor/MediaHandler.vue

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -203,14 +203,8 @@ export default {
203203
// subsequent editor inserts (see tiptap#3355). So unselect the image by placing
204204
// the cursor at the end of the selection.
205205
this.$editor.commands.focus(selection.to)
206-
} else {
207-
// Place the cursor after the inserted image node
208-
this.$editor.commands.focus(selection.to + 2)
209206
}
210207
211-
// Insert a newline to allow placing the cursor in between subsequent images
212-
this.$editor.chain().insertContent('<br />').focus().run()
213-
214208
// Scroll image into view
215209
this.$editor.commands.scrollIntoView()
216210

src/extensions/RichText.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,24 +32,25 @@ import Code from '@tiptap/extension-code'
3232
import CodeBlock from './../nodes/CodeBlock.js'
3333
import Document from '@tiptap/extension-document'
3434
import Dropcursor from '@tiptap/extension-dropcursor'
35+
import EditableTable from './../nodes/EditableTable.js'
3536
import Emoji from './Emoji.js'
3637
import EmojiSuggestion from './../components/Suggestion/Emoji/suggestions.js'
3738
import FrontMatter from './../nodes/FrontMatter.js'
38-
import Paragraph from './../nodes/Paragraph.js'
39+
import Gapcursor from '@tiptap/extension-gapcursor'
3940
import HardBreak from './../nodes/HardBreak.js'
4041
import Heading from '../nodes/Heading/index.js'
4142
import HorizontalRule from '@tiptap/extension-horizontal-rule'
4243
import Image from './../nodes/Image.js'
4344
import ImageInline from './../nodes/ImageInline.js'
4445
import KeepSyntax from './KeepSyntax.js'
46+
import LinkPicker from './../extensions/LinkPicker.js'
4547
import ListItem from '@tiptap/extension-list-item'
4648
import Markdown from './../extensions/Markdown.js'
4749
import Mention from './../extensions/Mention.js'
48-
import LinkPicker from './../extensions/LinkPicker.js'
4950
import OrderedList from '@tiptap/extension-ordered-list'
51+
import Paragraph from './../nodes/Paragraph.js'
5052
import Placeholder from '@tiptap/extension-placeholder'
5153
import Table from './../nodes/Table.js'
52-
import EditableTable from './../nodes/EditableTable.js'
5354
import TaskItem from './../nodes/TaskItem.js'
5455
import TaskList from './../nodes/TaskList.js'
5556
import Text from '@tiptap/extension-text'
@@ -104,6 +105,7 @@ export default Extension.create({
104105
Image,
105106
ImageInline,
106107
Dropcursor,
108+
Gapcursor,
107109
KeepSyntax,
108110
FrontMatter,
109111
Mention,

0 commit comments

Comments
 (0)