Files
tiptap/packages/tiptap-extensions/src/nodes/TodoList.js
2018-08-23 22:08:19 +02:00

33 lines
538 B
JavaScript

import { Node } from 'tiptap'
import { wrapInList, wrappingInputRule } from 'tiptap-commands'
export default class BulletNode extends Node {
get name() {
return 'todo_list'
}
get schema() {
return {
group: 'block',
content: 'todo_item+',
toDOM: () => ['ul', { 'data-type': 'todo_list' }, 0],
parseDOM: [{
priority: 51,
tag: '[data-type="todo_list"]',
}],
}
}
command({ type }) {
return wrapInList(type)
}
inputRules({ type }) {
return [
wrappingInputRule(/^\s*(\[ \])\s$/, type),
]
}
}