highmark-markdown 1.0.23 → 1.0.25

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.
@@ -6,6 +6,16 @@ import { contentFromNode } from "../../utilities/content";
6
6
  import { plainTextFromChildNodes } from "../../utilities/childNodes";
7
7
 
8
8
  export default class BlockLineMarkdownNode extends MarkdownNode {
9
+ lines(context) {
10
+ const { charactersPerLine } = context,
11
+ plainText = this.asPlainText(context),
12
+ plainTextLength = plainText.length,
13
+ characters = plainTextLength, ///
14
+ lines = (characters / charactersPerLine) + 1;
15
+
16
+ return lines;
17
+ }
18
+
9
19
  content(context) {
10
20
  let content;
11
21
 
@@ -37,6 +47,14 @@ export default class BlockLineMarkdownNode extends MarkdownNode {
37
47
  parentDOMElement.insertBefore(this.domElement, siblingDOMElement);
38
48
  }
39
49
 
50
+ unmount(parentDOMElement, context) {
51
+ if (this.domElement !== null) {
52
+ parentDOMElement.removeChild(this.domElement);
53
+
54
+ this.domElement = null;
55
+ }
56
+ }
57
+
40
58
  createDOMElement(context) {
41
59
  let domElement;
42
60
 
@@ -69,6 +69,14 @@ class EmailLinkMarkdownNode extends MarkdownNode {
69
69
  parentDOMElement.insertBefore(this.domElement, siblingDOMElement);
70
70
  }
71
71
 
72
+ unmount(parentDOMElement, context) {
73
+ if (this.domElement !== null) {
74
+ parentDOMElement.removeChild(this.domElement);
75
+
76
+ this.domElement = null;
77
+ }
78
+ }
79
+
72
80
  createDOMElement(context) {
73
81
  let content;
74
82
 
@@ -11,6 +11,14 @@ export default class EndOfLineMarkdownNode extends MarkdownNode {
11
11
  return content;
12
12
  }
13
13
 
14
+ createDOMElement(context) {
15
+ const content = this.content(context),
16
+ textNode = document.createTextNode(content),
17
+ domElement = textNode; ///
18
+
19
+ return domElement;
20
+ }
21
+
14
22
  asHTML(indent, context) {
15
23
  const content = this.content(context),
16
24
  html = content; ///
@@ -18,12 +26,11 @@ export default class EndOfLineMarkdownNode extends MarkdownNode {
18
26
  return html;
19
27
  }
20
28
 
21
- createDOMElement(context) {
29
+ asPlainText(context) {
22
30
  const content = this.content(context),
23
- textNode = document.createTextNode(content),
24
- domElement = textNode; ///
31
+ plainText = content; ///
25
32
 
26
- return domElement;
33
+ return plainText;
27
34
  }
28
35
 
29
36
  static lines = 0;
@@ -56,14 +56,6 @@ export default class FootnoteLinkMarkdownNode extends MarkdownNode {
56
56
  return attributeValue;
57
57
  }
58
58
 
59
- mount(parentDOMElement, siblingDOMElement, context) {
60
- super.mount(parentDOMElement, siblingDOMElement, context);
61
- }
62
-
63
- unmount(parentDOMElement, context) {
64
- super.unmount(parentDOMElement, context);
65
- }
66
-
67
59
  clear() {
68
60
  const { lastChild = null } = this.domElement;
69
61
 
@@ -69,6 +69,14 @@ class HyperlinkLinkMarkdownNode extends MarkdownNode {
69
69
  parentDOMElement.insertBefore(this.domElement, siblingDOMElement);
70
70
  }
71
71
 
72
+ unmount(parentDOMElement, context) {
73
+ if (this.domElement !== null) {
74
+ parentDOMElement.removeChild(this.domElement);
75
+
76
+ this.domElement = null;
77
+ }
78
+ }
79
+
72
80
  createDOMElement(context) {
73
81
  let content;
74
82
 
@@ -34,6 +34,14 @@ export default class LineMarkdownNode extends MarkdownNode {
34
34
  parentDOMElement.insertBefore(this.domElement, siblingDOMElement);
35
35
  }
36
36
 
37
+ unmount(parentDOMElement, context) {
38
+ if (this.domElement !== null) {
39
+ parentDOMElement.removeChild(this.domElement);
40
+
41
+ this.domElement = null;
42
+ }
43
+ }
44
+
37
45
  createDOMElement(context) {
38
46
  const domElement = super.createDOMElement(context),
39
47
  childNodes = this.getChildNodes(),
@@ -5,8 +5,14 @@ import MarkdownNode from "../../node/markdown";
5
5
  import { CARRIAGE_RETURN } from "../../constants";
6
6
 
7
7
  export default class VerticalSpaceMarkdownNode extends MarkdownNode {
8
+ content(context) {
9
+ const content = CARRIAGE_RETURN;
10
+
11
+ return content;
12
+ }
13
+
8
14
  createDOMElement(context) {
9
- const content = CARRIAGE_RETURN, ///
15
+ const content = this.content(context),
10
16
  textNode = document.createTextNode(content),
11
17
  domElement = textNode; ///
12
18
 
@@ -14,10 +20,20 @@ export default class VerticalSpaceMarkdownNode extends MarkdownNode {
14
20
  }
15
21
 
16
22
  asHTML(indent, context) {
17
- const html = CARRIAGE_RETURN; ///
23
+ const content = this.content(context),
24
+ html = content; ///
18
25
 
19
26
  return html;
20
27
  }
21
28
 
29
+ asPlainText(context) {
30
+ const content = this.content(context),
31
+ plainText = content; ///
32
+
33
+ return plainText;
34
+ }
35
+
36
+ static lines = 0;
37
+
22
38
  static fromRuleNameChildNodesAndOpacity(ruleName, childNodes, opacity) { return MarkdownNode.fromRuleNameChildNodesAndOpacity(VerticalSpaceMarkdownNode, ruleName, childNodes, opacity); }
23
39
  }
@@ -133,6 +133,8 @@ export function domElementsFromChildNodes(childNodes, context) {
133
133
 
134
134
  const domElement = markdownNode.createDOMElement(context);
135
135
 
136
+ markdownNode.setDOMElement(domElement);
137
+
136
138
  domElements.push(domElement);
137
139
  }
138
140
  }