add mark
This commit is contained in:
@@ -3,4 +3,5 @@ import { Editor } from './src/Editor'
|
||||
export default Editor
|
||||
export { Editor }
|
||||
export { default as Extension } from './src/Extension'
|
||||
export { default as Node } from './src/Node'
|
||||
export { default as Node } from './src/Node'
|
||||
export { default as Mark } from './src/Mark'
|
||||
@@ -106,6 +106,7 @@ export class Editor extends EventEmitter {
|
||||
nodes: this.extensionManager.nodes,
|
||||
marks: this.extensionManager.marks,
|
||||
})
|
||||
this.emit('schemaCreated')
|
||||
}
|
||||
|
||||
private get plugins() {
|
||||
|
||||
@@ -12,7 +12,9 @@ export default class ExtensionManager {
|
||||
this.extensions = extensions
|
||||
this.extensions.forEach(extension => {
|
||||
extension.bindEditor(editor)
|
||||
extension.created()
|
||||
editor.on('schemaCreated', () => {
|
||||
extension.created()
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
19
packages/core/src/Mark.ts
Normal file
19
packages/core/src/Mark.ts
Normal file
@@ -0,0 +1,19 @@
|
||||
import Extension from './Extension'
|
||||
|
||||
export default abstract class Mark extends Extension {
|
||||
|
||||
constructor(options = {}) {
|
||||
super(options)
|
||||
}
|
||||
|
||||
public type = 'mark'
|
||||
|
||||
schema(): any {
|
||||
return null
|
||||
}
|
||||
|
||||
get schemaType() {
|
||||
return this.editor.schema.marks[this.name]
|
||||
}
|
||||
|
||||
}
|
||||
@@ -14,4 +14,8 @@ export default abstract class Node extends Extension {
|
||||
return null
|
||||
}
|
||||
|
||||
get schemaType() {
|
||||
return this.editor.schema.nodes[this.name]
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user