Skip to content

Commit 302fac1

Browse files
committed
feat(RichTextEditor): add tab key event
1 parent 9bb6117 commit 302fac1

File tree

4 files changed

+81
-8
lines changed

4 files changed

+81
-8
lines changed

assets/js/tiptap/ListItem.ts

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import { Node } from 'tiptap'
2+
// @ts-ignore
3+
import {splitListItem, liftListItem, sinkListItem, insertText, chainCommands} from 'tiptap-commands'
4+
5+
export default class ListItem extends Node {
6+
7+
get name() {
8+
return 'list_item'
9+
}
10+
11+
get schema() {
12+
return {
13+
content: 'paragraph block*',
14+
defining: true,
15+
draggable: false,
16+
parseDOM: [
17+
{ tag: 'li' },
18+
],
19+
toDOM: () => ['li', 0],
20+
}
21+
}
22+
23+
// @ts-ignore
24+
keys({ type }) {
25+
return {
26+
Enter: splitListItem(type),
27+
Tab: chainCommands(sinkListItem(type), insertText(" ")),
28+
"Shift-Tab": liftListItem(type)
29+
};
30+
}
31+
32+
}

components/Editor/RichTextEditor.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,6 @@
192192
HorizontalRule,
193193
OrderedList,
194194
BulletList,
195-
ListItem,
196195
TodoItem,
197196
TodoList,
198197
Bold,
@@ -205,6 +204,7 @@
205204
CodeBlockHighlight,
206205
Placeholder
207206
} from 'tiptap-extensions'
207+
import ListItem from "~/assets/js/tiptap/ListItem"
208208
import {Component, Prop, Ref, Vue} from "vue-property-decorator";
209209
210210
@Component({

package-lock.json

Lines changed: 47 additions & 7 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
@@ -31,6 +31,7 @@
3131
"nuxt-typed-vuex": "^0.1.10",
3232
"qs": "^6.9.1",
3333
"tiptap": "^1.26.6",
34+
"tiptap-commands": "^1.13.1",
3435
"tiptap-extensions": "^1.28.6",
3536
"validator": "^12.2.0",
3637
"vee-validate": "^3.2.3",

0 commit comments

Comments
 (0)