add basic bullet list

This commit is contained in:
Philipp Kühn
2020-09-10 22:29:15 +02:00
parent af66dc6c81
commit 31c11601bf
12 changed files with 175 additions and 0 deletions

View File

@@ -15,6 +15,7 @@
"@types/clone-deep": "^4.0.1",
"@types/prosemirror-dropcursor": "^1.0.0",
"@types/prosemirror-gapcursor": "^1.0.1",
"@types/prosemirror-schema-list": "^1.0.1",
"clone-deep": "^4.0.1",
"collect.js": "^4.28.2",
"deepmerge": "^4.2.2",
@@ -24,6 +25,7 @@
"prosemirror-inputrules": "^1.1.2",
"prosemirror-keymap": "^1.1.3",
"prosemirror-model": "^1.9.1",
"prosemirror-schema-list": "^1.1.4",
"prosemirror-state": "^1.3.3",
"prosemirror-tables": "^1.1.1",
"prosemirror-utils": "^0.9.6",

View File

@@ -4,12 +4,15 @@ export { default as deleteSelection } from './deleteSelection'
export { default as focus } from './focus'
export { default as insertHTML } from './insertHTML'
export { default as insertText } from './insertText'
export { default as liftListItem } from './liftListItem'
export { default as removeMark } from './removeMark'
export { default as removeMarks } from './removeMarks'
export { default as replaceWithNode } from './replaceWithNode'
export { default as selectAll } from './selectAll'
export { default as selectParentNode } from './selectParentNode'
export { default as setContent } from './setContent'
export { default as sinkListItem } from './sinkListItem'
export { default as splitListItem } from './splitListItem'
export { default as toggleMark } from './toggleMark'
export { default as toggleNode } from './toggleNode'
export { default as updateMark } from './updateMark'

View File

@@ -0,0 +1,20 @@
import { Editor } from '../Editor'
import { liftListItem } from 'prosemirror-schema-list'
import { NodeType } from 'prosemirror-model'
import getNodeType from '../utils/getNodeType'
type LiftListItem = (typeOrName: string | NodeType) => Editor
declare module '../Editor' {
interface Editor {
liftListItem: LiftListItem,
}
}
export default (next: Function, editor: Editor) => (typeOrName: string | NodeType) => {
const { view, state, schema } = editor
const type = getNodeType(typeOrName, schema)
liftListItem(type)(state, view.dispatch)
next()
}

View File

@@ -0,0 +1,20 @@
import { Editor } from '../Editor'
import { sinkListItem } from 'prosemirror-schema-list'
import { NodeType } from 'prosemirror-model'
import getNodeType from '../utils/getNodeType'
type SinkListItem = (typeOrName: string | NodeType) => Editor
declare module '../Editor' {
interface Editor {
sinkListItem: SinkListItem,
}
}
export default (next: Function, editor: Editor) => (typeOrName: string | NodeType) => {
const { view, state, schema } = editor
const type = getNodeType(typeOrName, schema)
sinkListItem(type)(state, view.dispatch)
next()
}

View File

@@ -0,0 +1,20 @@
import { Editor } from '../Editor'
import { splitListItem } from 'prosemirror-schema-list'
import { NodeType } from 'prosemirror-model'
import getNodeType from '../utils/getNodeType'
type SplitListItem = (typeOrName: string | NodeType) => Editor
declare module '../Editor' {
interface Editor {
splitListItem: SplitListItem,
}
}
export default (next: Function, editor: Editor) => (typeOrName: string | NodeType) => {
const { view, state, schema } = editor
const type = getNodeType(typeOrName, schema)
splitListItem(type)(state, view.dispatch)
next()
}