improve handling options
This commit is contained in:
@@ -808,7 +808,7 @@ class ExtensionTest<Options, Extends extends ExtensionExtends> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private useOptions(options: Partial<Options>) {
|
public options(options: Partial<Options>) {
|
||||||
this.usedOptions = { ...this.usedOptions, ...options }
|
this.usedOptions = { ...this.usedOptions, ...options }
|
||||||
return this
|
return this
|
||||||
}
|
}
|
||||||
@@ -818,8 +818,8 @@ class ExtensionTest<Options, Extends extends ExtensionExtends> {
|
|||||||
return this
|
return this
|
||||||
}
|
}
|
||||||
|
|
||||||
public options(value: Options) {
|
public defaultOptions(value: Options) {
|
||||||
this.storeConfig('options', value, 'overwrite')
|
this.storeConfig('defaultOptions', value, 'overwrite')
|
||||||
return this
|
return this
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -833,12 +833,12 @@ class ExtensionTest<Options, Extends extends ExtensionExtends> {
|
|||||||
return this
|
return this
|
||||||
}
|
}
|
||||||
|
|
||||||
public create(options?: Partial<Options>) {
|
public create() {
|
||||||
const self = this
|
const self = this
|
||||||
|
|
||||||
return function<Options2 = Options>(options2?: Partial<Options>): ExtensionTest<Options2, Extends> {
|
return function<Options2 = Options>(options?: Partial<Options2>): ExtensionTest<Options2, Extends> {
|
||||||
return cloneDeep(self as unknown as ExtensionTest<Options2, Extends>, true)
|
return cloneDeep(self as unknown as ExtensionTest<Options2, Extends>, true)
|
||||||
.useOptions({...options, ...options2} as Options2)
|
.options(options as Options2)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -862,7 +862,7 @@ interface TestOptions {
|
|||||||
|
|
||||||
const Suggestion = new NodeTest<TestOptions>()
|
const Suggestion = new NodeTest<TestOptions>()
|
||||||
.name('suggestion')
|
.name('suggestion')
|
||||||
.options({
|
.defaultOptions({
|
||||||
trigger: '@'
|
trigger: '@'
|
||||||
})
|
})
|
||||||
.schema(() => ({
|
.schema(() => ({
|
||||||
@@ -879,28 +879,8 @@ const Suggestion = new NodeTest<TestOptions>()
|
|||||||
}))
|
}))
|
||||||
.create()
|
.create()
|
||||||
|
|
||||||
// const Suggestion2 = new NodeTesttt({
|
// console.log(Suggestion(), Suggestion().name('bla'))
|
||||||
// name: 'suggestion',
|
console.log(Suggestion().options({ trigger: 'jo' }))
|
||||||
// options: {
|
|
||||||
// trigger: '@',
|
|
||||||
// },
|
|
||||||
// schema: () => ({
|
|
||||||
// toDOM: () => ['div', 0]
|
|
||||||
// }),
|
|
||||||
// commands: (({ editor, name }) => ({
|
|
||||||
// [name]: next => () => {
|
|
||||||
// editor.toggleMark(name)
|
|
||||||
// next()
|
|
||||||
// },
|
|
||||||
// }))
|
|
||||||
// })
|
|
||||||
// .extend({
|
|
||||||
// schema: () => ({
|
|
||||||
// toDOM: () => ['span', 0],
|
|
||||||
// }),
|
|
||||||
// })
|
|
||||||
|
|
||||||
console.log(Suggestion(), Suggestion().name('bla').create()())
|
|
||||||
|
|
||||||
// interface MentionOptions {
|
// interface MentionOptions {
|
||||||
// trigger: string
|
// trigger: string
|
||||||
|
|||||||
Reference in New Issue
Block a user