diff options
Diffstat (limited to 'src/client/views/nodes/formattedText/nodes_rts.ts')
| -rw-r--r-- | src/client/views/nodes/formattedText/nodes_rts.ts | 21 | 
1 files changed, 17 insertions, 4 deletions
| diff --git a/src/client/views/nodes/formattedText/nodes_rts.ts b/src/client/views/nodes/formattedText/nodes_rts.ts index 1af821738..1616500f6 100644 --- a/src/client/views/nodes/formattedText/nodes_rts.ts +++ b/src/client/views/nodes/formattedText/nodes_rts.ts @@ -66,9 +66,11 @@ export const nodes: { [index: string]: NodeSpec } = {      // should hold the number 1 to 6. Parsed and serialized as `<h1>` to      // `<h6>` elements.      heading: { -        attrs: { level: { default: 1 } }, -        content: "inline*", -        group: "block", +        ...ParagraphNodeSpec, +        attrs: { +            ...ParagraphNodeSpec.attrs, +            level: { default: 1 }, +        },          defining: true,          parseDOM: [{ tag: "h1", attrs: { level: 1 } },          { tag: "h2", attrs: { level: 2 } }, @@ -76,7 +78,18 @@ export const nodes: { [index: string]: NodeSpec } = {          { tag: "h4", attrs: { level: 4 } },          { tag: "h5", attrs: { level: 5 } },          { tag: "h6", attrs: { level: 6 } }], -        toDOM(node: any) { return ["h" + node.attrs.level, 0]; } +        toDOM(node) { +            const dom = toParagraphDOM(node) as any; +            const level = node.attrs.level || 1; +            dom[0] = 'h' + level; +            return dom; +        }, +        getAttrs(dom: any) { +            const attrs = getParagraphNodeAttrs(dom) as any; +            const level = Number(dom.nodeName.substring(1)) || 1; +            attrs.level = level; +            return attrs; +        }      },      // :: NodeSpec A code listing. Disallows marks or non-text inline | 
