feat: add parentConfig to extension context for more extendable extensions, fix #259

This commit is contained in:
Philipp Kühn
2021-04-12 11:11:02 +02:00
parent 8090bc63c1
commit 5e1ec5d2a6
12 changed files with 218 additions and 42 deletions

View File

@@ -1,4 +1,9 @@
import { Extension, callOrReturn } from '@tiptap/core'
import {
Extension,
callOrReturn,
createExtensionContext,
ParentConfig,
} from '@tiptap/core'
import { gapCursor } from 'prosemirror-gapcursor'
declare module '@tiptap/core' {
@@ -9,7 +14,10 @@ declare module '@tiptap/core' {
allowGapCursor?:
| boolean
| null
| ((this: { options: Options }) => boolean | null),
| ((this: {
options: Options,
parentConfig: ParentConfig<NodeConfig<Options>>,
}) => boolean | null),
}
}
@@ -23,7 +31,9 @@ export const Gapcursor = Extension.create({
},
extendNodeSchema(extension) {
const context = { options: extension.options }
const context = createExtensionContext(extension, {
options: extension.options,
})
return {
allowGapCursor: callOrReturn(extension.config.allowGapCursor, context) ?? null,