@kerebron/editor 0.0.5 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/CoreEditor.d.ts +1 -2
- package/esm/CoreEditor.d.ts.map +1 -1
- package/esm/CoreEditor.js +39 -31
- package/esm/ExtensionManager.js +2 -2
- package/package.json +2 -1
package/esm/CoreEditor.d.ts
CHANGED
|
@@ -9,10 +9,9 @@ export declare class CoreEditor extends EventTarget {
|
|
|
9
9
|
private extensionManager;
|
|
10
10
|
private commandManager;
|
|
11
11
|
view: EditorView;
|
|
12
|
+
state: EditorState;
|
|
12
13
|
constructor(options?: Partial<EditorOptions>);
|
|
13
|
-
private createExtensionManager;
|
|
14
14
|
get schema(): Schema<any, any>;
|
|
15
|
-
get state(): EditorState;
|
|
16
15
|
chain(): ChainedCommands;
|
|
17
16
|
can(): ChainedCommands;
|
|
18
17
|
private createView;
|
package/esm/CoreEditor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoreEditor.d.ts","sourceRoot":"","sources":["../src/CoreEditor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAEL,QAAQ,EACR,IAAI,IAAI,eAAe,EAEvB,KAAK,MAAM,EACZ,MAAM,mBAAmB,CAAC;AAG3B,OAAO,KAAK,EAAW,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,EAAE,WAAW,EAAe,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAAE,eAAe,EAAkB,MAAM,8BAA8B,CAAC;AAE/E,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,GACb,MAAM,CAWR;AAeD,qBAAa,UAAW,SAAQ,WAAW;IACzC,SAAgB,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAG7C;IACF,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,cAAc,CAAiB;IAChC,IAAI,EAAG,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"CoreEditor.d.ts","sourceRoot":"","sources":["../src/CoreEditor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAEL,QAAQ,EACR,IAAI,IAAI,eAAe,EAEvB,KAAK,MAAM,EACZ,MAAM,mBAAmB,CAAC;AAG3B,OAAO,KAAK,EAAW,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,EAAE,WAAW,EAAe,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAAE,eAAe,EAAkB,MAAM,8BAA8B,CAAC;AAE/E,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,GACb,MAAM,CAWR;AAeD,qBAAa,UAAW,SAAQ,WAAW;IACzC,SAAgB,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAG7C;IACF,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,cAAc,CAAiB;IAChC,IAAI,EAAG,UAAU,CAAC;IAClB,KAAK,EAAG,WAAW,CAAA;gBAEd,OAAO,GAAE,OAAO,CAAC,aAAa,CAAM;IA0BhD,IAAW,MAAM,qBAEhB;IAEM,KAAK,IAAI,eAAe;IAIxB,GAAG,IAAI,eAAe;IAI7B,OAAO,CAAC,UAAU;IAkBlB,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,YAAY;IAcb,OAAO,IAAI,WAAW;IAI7B;;OAEG;IACI,OAAO,IAAI,MAAM;IAIjB,WAAW,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,MAAM;IA4C7C,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM;CAUtC"}
|
package/esm/CoreEditor.js
CHANGED
|
@@ -26,7 +26,7 @@ export class CoreEditor extends EventTarget {
|
|
|
26
26
|
configurable: true,
|
|
27
27
|
writable: true,
|
|
28
28
|
value: {
|
|
29
|
-
element: document.createElement('div'),
|
|
29
|
+
element: null, // document.createElement('div'),
|
|
30
30
|
extensions: [],
|
|
31
31
|
}
|
|
32
32
|
});
|
|
@@ -48,11 +48,17 @@ export class CoreEditor extends EventTarget {
|
|
|
48
48
|
writable: true,
|
|
49
49
|
value: void 0
|
|
50
50
|
});
|
|
51
|
+
Object.defineProperty(this, "state", {
|
|
52
|
+
enumerable: true,
|
|
53
|
+
configurable: true,
|
|
54
|
+
writable: true,
|
|
55
|
+
value: void 0
|
|
56
|
+
});
|
|
51
57
|
this.options = {
|
|
52
58
|
...this.options,
|
|
53
59
|
...options,
|
|
54
60
|
};
|
|
55
|
-
this.extensionManager = this.
|
|
61
|
+
this.extensionManager = new ExtensionManager(this.options.extensions, this);
|
|
56
62
|
// const content = this.options.content ? this.options.content : {
|
|
57
63
|
// type: this.extensionManager.schema.topNodeType.name,
|
|
58
64
|
// content: this.extensionManager.schema.topNodeType.spec.EMPTY_DOC,
|
|
@@ -65,15 +71,9 @@ export class CoreEditor extends EventTarget {
|
|
|
65
71
|
this.commandManager = new CommandManager(this, this.extensionManager.commandConstructors);
|
|
66
72
|
this.setupPlugins();
|
|
67
73
|
}
|
|
68
|
-
createExtensionManager() {
|
|
69
|
-
return new ExtensionManager(this.options.extensions, this);
|
|
70
|
-
}
|
|
71
74
|
get schema() {
|
|
72
75
|
return this.extensionManager.schema;
|
|
73
76
|
}
|
|
74
|
-
get state() {
|
|
75
|
-
return this.view.state;
|
|
76
|
-
}
|
|
77
77
|
chain() {
|
|
78
78
|
return this.commandManager.chain();
|
|
79
79
|
}
|
|
@@ -82,31 +82,37 @@ export class CoreEditor extends EventTarget {
|
|
|
82
82
|
}
|
|
83
83
|
createView(content) {
|
|
84
84
|
let doc = createDocument(content, this.schema, this.options.parseOptions, { errorOnInvalidContent: false });
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
85
|
+
this.state = EditorState.create({ doc });
|
|
86
|
+
if (this.options.element) {
|
|
87
|
+
this.view = new EditorView(this.options.element, {
|
|
88
|
+
state: this.state,
|
|
89
|
+
dispatchTransaction: (tx) => this.dispatchTransaction(tx),
|
|
90
|
+
});
|
|
91
|
+
}
|
|
90
92
|
}
|
|
91
93
|
dispatchTransaction(transaction) {
|
|
92
|
-
|
|
93
|
-
this.view
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
94
|
+
this.state = this.state.apply(transaction);
|
|
95
|
+
if (this.view) {
|
|
96
|
+
this.view.updateState(this.state);
|
|
97
|
+
const event = new CustomEvent('transaction', {
|
|
98
|
+
detail: {
|
|
99
|
+
editor: this,
|
|
100
|
+
transaction,
|
|
101
|
+
},
|
|
102
|
+
});
|
|
103
|
+
this.dispatchEvent(event);
|
|
104
|
+
}
|
|
101
105
|
}
|
|
102
106
|
setupPlugins() {
|
|
103
|
-
|
|
107
|
+
this.state = this.state.reconfigure({
|
|
104
108
|
plugins: this.extensionManager.plugins,
|
|
105
109
|
});
|
|
106
|
-
this.view
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
+
if (this.view) {
|
|
111
|
+
this.view.updateState(this.state);
|
|
112
|
+
this.view.setProps({
|
|
113
|
+
nodeViews: this.extensionManager.nodeViews,
|
|
114
|
+
});
|
|
115
|
+
}
|
|
110
116
|
}
|
|
111
117
|
getJSON() {
|
|
112
118
|
return this.state.doc.toJSON();
|
|
@@ -136,12 +142,14 @@ export class CoreEditor extends EventTarget {
|
|
|
136
142
|
else {
|
|
137
143
|
doc = createDocument(content, this.schema, this.options.parseOptions, { errorOnInvalidContent: false });
|
|
138
144
|
}
|
|
139
|
-
|
|
145
|
+
this.state = EditorState.create({
|
|
140
146
|
doc,
|
|
141
|
-
plugins: this.
|
|
142
|
-
storedMarks: this.
|
|
147
|
+
plugins: this.state.plugins,
|
|
148
|
+
storedMarks: this.state.storedMarks,
|
|
143
149
|
});
|
|
144
|
-
this.view
|
|
150
|
+
if (this.view) {
|
|
151
|
+
this.view.updateState(this.state);
|
|
152
|
+
}
|
|
145
153
|
const event = new CustomEvent('doc:loaded', {
|
|
146
154
|
detail: {
|
|
147
155
|
editor: this,
|
package/esm/ExtensionManager.js
CHANGED
|
@@ -133,7 +133,7 @@ export class ExtensionManager {
|
|
|
133
133
|
mergeShortcuts(extension.getKeyboardShortcuts(this.editor), extension.name);
|
|
134
134
|
converters = {
|
|
135
135
|
...converters,
|
|
136
|
-
...extension.getConverters(this.
|
|
136
|
+
...extension.getConverters(this.schema),
|
|
137
137
|
};
|
|
138
138
|
const nodeView = extension.getNodeView();
|
|
139
139
|
if (nodeView) {
|
|
@@ -152,7 +152,7 @@ export class ExtensionManager {
|
|
|
152
152
|
mergeShortcuts(extension.getKeyboardShortcuts(this.editor), extension.name);
|
|
153
153
|
converters = {
|
|
154
154
|
...converters,
|
|
155
|
-
...extension.getConverters(this.
|
|
155
|
+
...extension.getConverters(this.schema),
|
|
156
156
|
};
|
|
157
157
|
}
|
|
158
158
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kerebron/editor",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.7",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"module": "./esm/mod.js",
|
|
6
6
|
"exports": {
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
"import": "./esm/utilities/mod.js"
|
|
18
18
|
}
|
|
19
19
|
},
|
|
20
|
+
"scripts": {},
|
|
20
21
|
"dependencies": {
|
|
21
22
|
"prosemirror-keymap": "1.2.2",
|
|
22
23
|
"prosemirror-model": "1.24.1",
|