Initial
This commit is contained in:
30
resources/app/common/prosemirror/plugin.mjs
Normal file
30
resources/app/common/prosemirror/plugin.mjs
Normal file
@@ -0,0 +1,30 @@
|
||||
/**
|
||||
* @abstract
|
||||
*/
|
||||
export default class ProseMirrorPlugin {
|
||||
/**
|
||||
* An abstract class for building a ProseMirror Plugin.
|
||||
* @see {Plugin}
|
||||
* @param {Schema} schema The schema to build the plugin against.
|
||||
*/
|
||||
constructor(schema) {
|
||||
/**
|
||||
* The ProseMirror schema to build the plugin against.
|
||||
* @type {Schema}
|
||||
*/
|
||||
Object.defineProperty(this, "schema", {value: schema});
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
||||
/**
|
||||
* Build the plugin.
|
||||
* @param {Schema} schema The ProseMirror schema to build the plugin against.
|
||||
* @param {object} [options] Additional options to pass to the plugin.
|
||||
* @returns {Plugin}
|
||||
* @abstract
|
||||
*/
|
||||
static build(schema, options={}) {
|
||||
throw new Error("Subclasses of ProseMirrorPlugin must implement a static build method.");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user