@fiduswriter/editor 0.1.38 → 0.1.39
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.
|
@@ -18,15 +18,15 @@ export function parseDiff(str) {
|
|
|
18
18
|
export const createDiffSchema = (docSchema) => {
|
|
19
19
|
let specNodes = docSchema.spec.nodes;
|
|
20
20
|
specNodes.forEach((nodeTypeName) => {
|
|
21
|
-
const
|
|
22
|
-
if (
|
|
21
|
+
const nodeSpec = specNodes.get(nodeTypeName);
|
|
22
|
+
if (!nodeSpec || nodeSpec.group !== "block") {
|
|
23
23
|
return;
|
|
24
24
|
}
|
|
25
|
-
const attrs =
|
|
26
|
-
specNodes = specNodes.update(nodeTypeName, Object.assign({},
|
|
25
|
+
const attrs = nodeSpec.attrs;
|
|
26
|
+
specNodes = specNodes.update(nodeTypeName, Object.assign({}, nodeSpec, {
|
|
27
27
|
attrs: Object.assign({ diffdata: { default: [] } }, attrs),
|
|
28
28
|
toDOM: (node) => {
|
|
29
|
-
let dom =
|
|
29
|
+
let dom = nodeSpec.toDOM?.(node);
|
|
30
30
|
if (node.attrs.diffdata && node.attrs.diffdata.length) {
|
|
31
31
|
if (dom[1].class) {
|
|
32
32
|
dom[1].class =
|
|
@@ -47,7 +47,7 @@ export const createDiffSchema = (docSchema) => {
|
|
|
47
47
|
}
|
|
48
48
|
return dom;
|
|
49
49
|
},
|
|
50
|
-
parseDOM:
|
|
50
|
+
parseDOM: nodeSpec.parseDOM?.map(tag => ({
|
|
51
51
|
tag: tag.tag,
|
|
52
52
|
getAttrs: (dom) => {
|
|
53
53
|
const attrs = tag.getAttrs
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/collab/merge/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAA;AAGxC,MAAM,UAAU,SAAS,CAAC,GAAuB;IAC7C,IAAI,CAAC,GAAG,EAAE,CAAC;QACP,OAAO,EAAE,CAAA;IACb,CAAC;IACD,IAAI,MAAM,CAAA;IACV,IAAI,CAAC;QACD,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC5B,CAAC;IAAC,OAAO,MAAM,EAAE,CAAC;QACd,OAAO,EAAE,CAAA;IACb,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,CAAA;IACb,CAAC;IACD,OAAO,MAAM,CAAA;AACjB,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,SAAiB,EAAU,EAAE;IAC1D,IAAI,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAA;IAEpC,SAAS,CAAC,OAAO,CAAC,CAAC,YAAoB,EAAE,EAAE;QACvC,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,YAAY,
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/collab/merge/schema.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import {Schema} from "prosemirror-model"
|
|
2
|
-
import type {Node, NodeSpec,
|
|
2
|
+
import type {Node, NodeSpec, MarkSpec, Mark} from "prosemirror-model"
|
|
3
3
|
|
|
4
4
|
export function parseDiff(str: string | undefined): unknown[] {
|
|
5
5
|
if (!str) {
|
|
@@ -21,17 +21,17 @@ export const createDiffSchema = (docSchema: Schema): Schema => {
|
|
|
21
21
|
let specNodes = docSchema.spec.nodes
|
|
22
22
|
|
|
23
23
|
specNodes.forEach((nodeTypeName: string) => {
|
|
24
|
-
const
|
|
25
|
-
if (
|
|
24
|
+
const nodeSpec = specNodes.get(nodeTypeName) as NodeSpec | undefined
|
|
25
|
+
if (!nodeSpec || nodeSpec.group !== "block") {
|
|
26
26
|
return
|
|
27
27
|
}
|
|
28
|
-
const attrs =
|
|
28
|
+
const attrs = nodeSpec.attrs
|
|
29
29
|
specNodes = specNodes.update(
|
|
30
30
|
nodeTypeName,
|
|
31
|
-
Object.assign({},
|
|
31
|
+
Object.assign({}, nodeSpec, {
|
|
32
32
|
attrs: Object.assign({diffdata: {default: []}}, attrs),
|
|
33
33
|
toDOM: (node: Node) => {
|
|
34
|
-
let dom =
|
|
34
|
+
let dom = nodeSpec.toDOM?.(node) as [
|
|
35
35
|
string,
|
|
36
36
|
Record<string, unknown>,
|
|
37
37
|
number
|
|
@@ -62,7 +62,7 @@ export const createDiffSchema = (docSchema: Schema): Schema => {
|
|
|
62
62
|
}
|
|
63
63
|
return dom
|
|
64
64
|
},
|
|
65
|
-
parseDOM:
|
|
65
|
+
parseDOM: nodeSpec.parseDOM?.map(tag => ({
|
|
66
66
|
tag: tag.tag,
|
|
67
67
|
getAttrs: (dom: HTMLElement) => {
|
|
68
68
|
const attrs = tag.getAttrs
|