@aj-shadow/z-abs-complayer-markup-client 0.0.0-aj-beta.221

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.
Files changed (208) hide show
  1. package/.gitattributes +26 -0
  2. package/LICENSE.txt +96 -0
  3. package/README.md +5 -0
  4. package/npm-shrinkwrap.json +13 -0
  5. package/package.json +10 -0
  6. package/project/client/_build/Bundle-CompLayer-Markup-client.bld +40 -0
  7. package/project/client/_build/Client-CompLayer-Markup-client-jsx.bld +10 -0
  8. package/project/client/_build/Client-CompLayer-Markup-client.bld +10 -0
  9. package/project/client/_build/Client-css-CompLayer-Markup-bundle.bld +9 -0
  10. package/project/client/_build/z-abs-complayer-markup-client.prj +36 -0
  11. package/project/client/actions/action-style.js +17 -0
  12. package/project/client/actions/data-action-style.js +13 -0
  13. package/project/client/css/markup_addressing.css +30 -0
  14. package/project/client/css/markup_flowchart.css +53 -0
  15. package/project/client/css/markup_general.css +4 -0
  16. package/project/client/css/markup_image.css +10 -0
  17. package/project/client/css/markup_license.css +107 -0
  18. package/project/client/css/markup_login.css +201 -0
  19. package/project/client/css/markup_node_diagram.css +51 -0
  20. package/project/client/css/markup_sequence_diagram.css +6 -0
  21. package/project/client/css/markup_state.css +5 -0
  22. package/project/client/css/markup_table.css +57 -0
  23. package/project/client/css/markup_tc.css +32 -0
  24. package/project/client/css/markup_ts.css +36 -0
  25. package/project/client/data/addresses/data-addresses-client-address-global.js +20 -0
  26. package/project/client/data/addresses/data-addresses-client-address-local.js +20 -0
  27. package/project/client/data/addresses/data-addresses-client-interface-global.js +17 -0
  28. package/project/client/data/addresses/data-addresses-client-interface-local.js +17 -0
  29. package/project/client/data/addresses/data-addresses-dns-global.js +18 -0
  30. package/project/client/data/addresses/data-addresses-dns-local.js +19 -0
  31. package/project/client/data/addresses/data-addresses-dst-global.js +20 -0
  32. package/project/client/data/addresses/data-addresses-dst-local.js +20 -0
  33. package/project/client/data/addresses/data-addresses-network-interface-global.js +17 -0
  34. package/project/client/data/addresses/data-addresses-network-interface-local.js +17 -0
  35. package/project/client/data/addresses/data-addresses-ports-global.js +18 -0
  36. package/project/client/data/addresses/data-addresses-ports-local.js +18 -0
  37. package/project/client/data/addresses/data-addresses-server-address-global.js +20 -0
  38. package/project/client/data/addresses/data-addresses-server-address-local.js +20 -0
  39. package/project/client/data/addresses/data-addresses-server-interface-global.js +17 -0
  40. package/project/client/data/addresses/data-addresses-server-interface-local.js +17 -0
  41. package/project/client/data/addresses/data-addresses-src-global.js +21 -0
  42. package/project/client/data/addresses/data-addresses-src-local.js +21 -0
  43. package/project/client/data/addresses/data-addresses-srv-global.js +20 -0
  44. package/project/client/data/addresses/data-addresses-srv-local.js +20 -0
  45. package/project/client/data/addresses/data-addresses-sut-address-global.js +20 -0
  46. package/project/client/data/addresses/data-addresses-sut-address-local.js +20 -0
  47. package/project/client/data/addresses/data-addresses-sut-interface-global.js +19 -0
  48. package/project/client/data/addresses/data-addresses-sut-interface-local.js +19 -0
  49. package/project/client/data/data-chart/data-chart-axis.js +13 -0
  50. package/project/client/data/data-chart/data-chart-grid.js +14 -0
  51. package/project/client/data/data-chart/data-chart-line/data-chart-line-config.js +17 -0
  52. package/project/client/data/data-chart/data-chart-line/data-chart-line.js +41 -0
  53. package/project/client/data/data-config.js +14 -0
  54. package/project/client/data/data-constructor.js +18 -0
  55. package/project/client/data/data-content/data-content-audio-global.js +18 -0
  56. package/project/client/data/data-content/data-content-audio-local.js +18 -0
  57. package/project/client/data/data-content/data-content-documents-global.js +18 -0
  58. package/project/client/data/data-content/data-content-documents-local.js +18 -0
  59. package/project/client/data/data-content/data-content-image-global.js +21 -0
  60. package/project/client/data/data-content/data-content-image-local.js +21 -0
  61. package/project/client/data/data-content/data-content-other-global.js +20 -0
  62. package/project/client/data/data-content/data-content-other-local.js +20 -0
  63. package/project/client/data/data-content/data-content-text-global.js +20 -0
  64. package/project/client/data/data-content/data-content-text-local.js +20 -0
  65. package/project/client/data/data-content/data-content-video-global.js +20 -0
  66. package/project/client/data/data-content/data-content-video-local.js +20 -0
  67. package/project/client/data/data-data.js +28 -0
  68. package/project/client/data/data-dependencies/data-dependencies.js +17 -0
  69. package/project/client/data/data-documentation/data-documentation-navigation.js +15 -0
  70. package/project/client/data/data-documentation/data-documentation.js +20 -0
  71. package/project/client/data/data-flowchart/data-flowchart-block.js +33 -0
  72. package/project/client/data/data-flowchart/data-flowchart-connection.js +17 -0
  73. package/project/client/data/data-flowchart/data-flowchart.js +30 -0
  74. package/project/client/data/data-html/data-html-anchor.js +12 -0
  75. package/project/client/data/data-html/data-html-br.js +11 -0
  76. package/project/client/data/data-html/data-html-button.js +15 -0
  77. package/project/client/data/data-html/data-html-log-start.js +12 -0
  78. package/project/client/data/data-html/data-html-log-stop.js +13 -0
  79. package/project/client/data/data-html/data-html-log.js +16 -0
  80. package/project/client/data/data-html/data-html-toolbar.js +19 -0
  81. package/project/client/data/data-image/data-image.js +20 -0
  82. package/project/client/data/data-lab/data-lab-interface-client.js +19 -0
  83. package/project/client/data/data-lab/data-lab-interface-server.js +19 -0
  84. package/project/client/data/data-lab/data-lab-interface-sut.js +20 -0
  85. package/project/client/data/data-lab/data-lab-network.js +31 -0
  86. package/project/client/data/data-lab/data-lab.js +21 -0
  87. package/project/client/data/data-licenses/data-licenses.js +16 -0
  88. package/project/client/data/data-node-diagram/data-node-diagram-config.js +21 -0
  89. package/project/client/data/data-node-diagram/data-node-diagram-connection.js +18 -0
  90. package/project/client/data/data-node-diagram/data-node-diagram-group.js +16 -0
  91. package/project/client/data/data-node-diagram/data-node-diagram-node.js +22 -0
  92. package/project/client/data/data-node-diagram/data-node-diagram.js +47 -0
  93. package/project/client/data/data-repos/data-repos-content-local.js +15 -0
  94. package/project/client/data/data-repos/data-repos-data-local.js +15 -0
  95. package/project/client/data/data-sequence-diagram/data-sequence-diagram-config.js +22 -0
  96. package/project/client/data/data-sequence-diagram/data-sequence-diagram-message.js +17 -0
  97. package/project/client/data/data-sequence-diagram/data-sequence-diagram-node.js +11 -0
  98. package/project/client/data/data-sequence-diagram/data-sequence-diagram.js +32 -0
  99. package/project/client/data/data-state-machine/data-state-machine-config.js +17 -0
  100. package/project/client/data/data-state-machine/data-state-machine-state.js +29 -0
  101. package/project/client/data/data-state-machine/data-state-machine-transition.js +18 -0
  102. package/project/client/data/data-state-machine/data-state-machine.js +37 -0
  103. package/project/client/data/data-system-under-test/data-system-under-test-instances.js +15 -0
  104. package/project/client/data/data-system-under-test/data-system-under-test-nodes.js +18 -0
  105. package/project/client/data/data-table/data-table-config.js +21 -0
  106. package/project/client/data/data-table-key-value.js +56 -0
  107. package/project/client/data/data-test-case/data-actor.js +282 -0
  108. package/project/client/data/data-test-case/data-test-case-settings.js +49 -0
  109. package/project/client/data/data-test-case/data-test-case.js +19 -0
  110. package/project/client/data/data-test-case/data-test-data-iteration.js +54 -0
  111. package/project/client/data/data-test-case/data-test-data-test-case.js +16 -0
  112. package/project/client/data/data-test-case/data-verification-test-case.js +24 -0
  113. package/project/client/data/data-test-data/data-test-data-environment-global.js +18 -0
  114. package/project/client/data/data-test-data/data-test-data-environment-local.js +18 -0
  115. package/project/client/data/data-test-data/data-test-data-environment-static.js +16 -0
  116. package/project/client/data/data-test-data/data-test-data-general-global.js +18 -0
  117. package/project/client/data/data-test-data/data-test-data-general-local.js +18 -0
  118. package/project/client/data/data-test-data/data-test-data-output-global.js +18 -0
  119. package/project/client/data/data-test-data/data-test-data-output-local.js +18 -0
  120. package/project/client/data/data-test-data/data-test-data-system-global.js +18 -0
  121. package/project/client/data/data-test-data/data-test-data-system-local.js +18 -0
  122. package/project/client/data/data-test-suite/data-test-suite-abstraction.js +72 -0
  123. package/project/client/data/data-test-suite/data-test-suite.js +15 -0
  124. package/project/client/data/data-tree/data-tree-node.js +17 -0
  125. package/project/client/data/data-tree/data-tree.js +13 -0
  126. package/project/client/markup/markup-addresses/markup-addresses-client-address.js +31 -0
  127. package/project/client/markup/markup-addresses/markup-addresses-client-interface.js +31 -0
  128. package/project/client/markup/markup-addresses/markup-addresses-dns.js +32 -0
  129. package/project/client/markup/markup-addresses/markup-addresses-dst.js +31 -0
  130. package/project/client/markup/markup-addresses/markup-addresses-network-interface.js +31 -0
  131. package/project/client/markup/markup-addresses/markup-addresses-ports.js +31 -0
  132. package/project/client/markup/markup-addresses/markup-addresses-server-address.js +31 -0
  133. package/project/client/markup/markup-addresses/markup-addresses-server-interface.js +31 -0
  134. package/project/client/markup/markup-addresses/markup-addresses-src.js +31 -0
  135. package/project/client/markup/markup-addresses/markup-addresses-srv.js +31 -0
  136. package/project/client/markup/markup-addresses/markup-addresses-sut-address.js +31 -0
  137. package/project/client/markup/markup-addresses/markup-addresses-sut-interface.js +31 -0
  138. package/project/client/markup/markup-chart/markup-chart-line.js +92 -0
  139. package/project/client/markup/markup-content/markup-content-audio.js +31 -0
  140. package/project/client/markup/markup-content/markup-content-documents.js +31 -0
  141. package/project/client/markup/markup-content/markup-content-image.js +31 -0
  142. package/project/client/markup/markup-content/markup-content-other.js +31 -0
  143. package/project/client/markup/markup-content/markup-content-text.js +31 -0
  144. package/project/client/markup/markup-content/markup-content-video.js +31 -0
  145. package/project/client/markup/markup-dependencies/markup-dependencies.js +30 -0
  146. package/project/client/markup/markup-documentation/markup-documentation-anchor.js +37 -0
  147. package/project/client/markup/markup-documentation/markup-documentation-api-status.js +67 -0
  148. package/project/client/markup/markup-documentation/markup-documentation-code.js +20 -0
  149. package/project/client/markup/markup-documentation/markup-documentation-div.js +34 -0
  150. package/project/client/markup/markup-documentation/markup-documentation-documentation-status.js +67 -0
  151. package/project/client/markup/markup-documentation/markup-documentation-embed.js +23 -0
  152. package/project/client/markup/markup-documentation/markup-documentation-html.js +139 -0
  153. package/project/client/markup/markup-documentation/markup-documentation-ie.js +21 -0
  154. package/project/client/markup/markup-documentation/markup-documentation-image.js +46 -0
  155. package/project/client/markup/markup-documentation/markup-documentation-lab.js +19 -0
  156. package/project/client/markup/markup-documentation/markup-documentation-local-note.js +33 -0
  157. package/project/client/markup/markup-documentation/markup-documentation-navigation.js +109 -0
  158. package/project/client/markup/markup-documentation/markup-documentation-page.js +262 -0
  159. package/project/client/markup/markup-documentation/markup-documentation-ref.js +28 -0
  160. package/project/client/markup/markup-documentation/markup-documentation-result.js +21 -0
  161. package/project/client/markup/markup-documentation/markup-documentation-state-machine.js +194 -0
  162. package/project/client/markup/markup-documentation/markup-documentation.js +74 -0
  163. package/project/client/markup/markup-flowchart.js +264 -0
  164. package/project/client/markup/markup-lab.js +116 -0
  165. package/project/client/markup/markup-licenses/markup-licenses.js +29 -0
  166. package/project/client/markup/markup-node-diagram.js +435 -0
  167. package/project/client/markup/markup-parse-helper.js +26 -0
  168. package/project/client/markup/markup-pattern-config.js +53 -0
  169. package/project/client/markup/markup-pattern-data.js +50 -0
  170. package/project/client/markup/markup-pattern-function.js +47 -0
  171. package/project/client/markup/markup-repos/markup-repos.js +31 -0
  172. package/project/client/markup/markup-sequence-diagram.js +466 -0
  173. package/project/client/markup/markup-system-under-test/markup-system-under-test-instances.js +29 -0
  174. package/project/client/markup/markup-system-under-test/markup-system-under-test-nodes.js +30 -0
  175. package/project/client/markup/markup-table-key-value-parse.js +25 -0
  176. package/project/client/markup/markup-table-key-value-stringify.js +91 -0
  177. package/project/client/markup/markup-table-key-value.js +18 -0
  178. package/project/client/markup/markup-table-name-value.js +101 -0
  179. package/project/client/markup/markup-table.js +85 -0
  180. package/project/client/markup/markup-tables-parser.js +122 -0
  181. package/project/client/markup/markup-test-case/markup-test-case.js +67 -0
  182. package/project/client/markup/markup-test-data/markup-test-data-environment.js +31 -0
  183. package/project/client/markup/markup-test-data/markup-test-data-general.js +31 -0
  184. package/project/client/markup/markup-test-data/markup-test-data-output.js +31 -0
  185. package/project/client/markup/markup-test-data/markup-test-data-system.js +31 -0
  186. package/project/client/markup/markup-test-suite/markup-test-suite.js +40 -0
  187. package/project/client/react-components/helper/line-data.js +16 -0
  188. package/project/client/react-components/helper/line-object.js +22 -0
  189. package/project/client/react-components/helper/scroll-data.js +74 -0
  190. package/project/client/react-components/markup/component-chart/component-image-chart-line.jsx +203 -0
  191. package/project/client/react-components/markup/component-code.jsx +50 -0
  192. package/project/client/react-components/markup/component-document.jsx +105 -0
  193. package/project/client/react-components/markup/component-documentation-anchor.jsx +47 -0
  194. package/project/client/react-components/markup/component-embed.jsx +48 -0
  195. package/project/client/react-components/markup/component-image-flowchart.jsx +389 -0
  196. package/project/client/react-components/markup/component-image-image.jsx +32 -0
  197. package/project/client/react-components/markup/component-image-lab.jsx +696 -0
  198. package/project/client/react-components/markup/component-image-node-diagram.jsx +506 -0
  199. package/project/client/react-components/markup/component-image-result.jsx +22 -0
  200. package/project/client/react-components/markup/component-image-sequence-diagram.jsx +645 -0
  201. package/project/client/react-components/markup/component-image-state-machine.jsx +633 -0
  202. package/project/client/react-components/markup/component-image-table.jsx +96 -0
  203. package/project/client/react-components/markup/component-local-note.jsx +99 -0
  204. package/project/client/react-components/markup/component-markup-remarkable.jsx +79 -0
  205. package/project/client/react-components/markup/component-markup.jsx +1036 -0
  206. package/project/client/react-components/markup/component-table-data-table.jsx +146 -0
  207. package/project/client/stores/style-store.js +96 -0
  208. package/project/z-abs-complayer-markup-client.tree +239 -0
@@ -0,0 +1,96 @@
1
+
2
+ 'use strict';
3
+
4
+ import ComponetMarkupRemarkable from './component-markup-remarkable';
5
+ import MarkupDocumentationPage from '../../markup/markup-documentation/markup-documentation-page';
6
+ import ReactComponentBase from 'z-abs-corelayer-client/client/react-component/react-component-base';
7
+ import React from 'react';
8
+
9
+
10
+ class ComponentImageTable extends ReactComponentBase {
11
+ constructor(props) {
12
+ super(props);
13
+ }
14
+
15
+ shouldUpdate(nextProps, nextState) {
16
+ return !this.shallowCompare(this.props, nextProps);
17
+ }
18
+
19
+ renderTableRow(row, index) {
20
+ const values = row.columns.map((column, cIndex) => {
21
+ const document = MarkupDocumentationPage.parse(column);
22
+ let formattedColumn = '';
23
+ document.forEach((doc) => {
24
+ if('markup_ref' === doc.type) {
25
+ const link = this.props.linkReferences.get(doc.value.refName);
26
+ if(undefined !== link) {
27
+ formattedColumn += `[${'' !== doc.value.text ? doc.value.text : link.text}](${link.path}:::${link.type})`;
28
+ }
29
+ }
30
+ else {
31
+ formattedColumn += doc.value;
32
+ }
33
+ });
34
+ return (
35
+ <td key={cIndex}>
36
+ <ComponetMarkupRemarkable inner preview={this.props.preview} value={formattedColumn} />
37
+ </td>
38
+ );
39
+ });
40
+ return (
41
+ <tr key={index}>
42
+ {values}
43
+ </tr>
44
+ );
45
+ }
46
+
47
+ renderTableRows(rows) {
48
+ const values = [];
49
+ for(let i = 2; i < rows.length; ++i) {
50
+ values.push(this.renderTableRow(rows[i], i));
51
+ }
52
+ return (
53
+ <tbody>
54
+ {values}
55
+ </tbody>
56
+ );
57
+ }
58
+
59
+ renderTableHeading(rows) {
60
+ if(2 <= rows.length) {
61
+ const headings = rows[1].columns.map((heading, index) => {
62
+ return (<th key={index}>{heading}</th>);
63
+ });
64
+ return (
65
+ <thead>
66
+ <tr>
67
+ {headings}
68
+ </tr>
69
+ </thead>
70
+ );
71
+ }
72
+ }
73
+
74
+ renderTable() {
75
+ return this.props.values.objects.map((rows, index) => {
76
+ const row0 = rows[0];
77
+ const name = 1 <= row0.columns.length ? row0.columns[0] : '';
78
+ const classHeading = this.props.values.config.classHeading ? ` ${this.props.values.config.classHeading}` : '';
79
+ return (
80
+ <div key={index} className={this.props.classTable}>
81
+ <div className={`panel-heading ${this.props.classHeading}${classHeading}`}>{name}</div>
82
+ <table className={`${this.props.classRow} table table-bordered table-striped table-condensed table-hover`}>
83
+ {this.renderTableHeading(rows)}
84
+ {this.renderTableRows(rows)}
85
+ </table>
86
+ </div>
87
+ );
88
+ });
89
+ }
90
+
91
+ render() {
92
+ return this.renderTable();
93
+ }
94
+ }
95
+
96
+ module.exports = ComponentImageTable;
@@ -0,0 +1,99 @@
1
+
2
+ 'use strict';
3
+
4
+ import ComponentMarkup from './component-markup';
5
+ import Link from 'z-abs-complayer-router-client/client/react-component/link';
6
+ import ReactComponentBase from 'z-abs-corelayer-client/client/react-component/react-component-base';
7
+ import React from 'react';
8
+
9
+
10
+ class ComponentLocalNote extends ReactComponentBase {
11
+ constructor(props) {
12
+ super(props);
13
+ }
14
+
15
+ shouldUpdate(nextProps, nextState) {
16
+ return !this.shallowCompare(this.props, nextProps);
17
+ }
18
+
19
+ renderNote() {
20
+ if(!this.props.note || !this.props.note.created) {
21
+ return null;
22
+ }
23
+ return (
24
+ <div className="local_note_outer">
25
+ <div className="local_note_inner" data-line-start={this.props.dataLineStart} data-line-stop={this.props.dataLineStart} data-line-object-index="0">
26
+ <ComponentMarkup inner={this.props.inner} document={this.props.note.document} addClass="markup_local_note"/>
27
+ </div>
28
+ </div>
29
+ );
30
+ }
31
+
32
+ renderAddNote() {
33
+ if(this.props.note && this.props.note.created) {
34
+ return null;
35
+ }
36
+ return (
37
+ <li className="local_document_choice">
38
+ <Link onClick={(e) => {
39
+ this.props.onAddNote && this.props.onAddNote();
40
+ }}>Add Note
41
+ </Link>
42
+ </li>
43
+ );
44
+ }
45
+
46
+ renderEditNote() {
47
+ if(!this.props.note || !this.props.note.created) {
48
+ return null;
49
+ }
50
+ return (
51
+ <li className="local_document_choice">
52
+ <Link onClick={(e) => {
53
+ this.props.onEditNote && this.props.onEditNote();
54
+ }}>Edit Note
55
+ </Link>
56
+ </li>
57
+ );
58
+ }
59
+
60
+ renderDeleteNote() {
61
+ if(!this.props.note || !this.props.note.created) {
62
+ return null;
63
+ }
64
+ return (
65
+ <li className="local_document_choice">
66
+ <Link onClick={(e) => {
67
+ this.props.onDeleteNote && this.props.onDeleteNote();
68
+ }}>Delete Note
69
+ </Link>
70
+ </li>
71
+ );
72
+ }
73
+
74
+ renderLocalItem() {
75
+ return (
76
+ <div className="dropdown local_document_choice">
77
+ <button className="btn btn-xs dropdown-toggle local_document_choice" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
78
+ <span className="caret"></span>
79
+ </button>
80
+ <ul className="dropdown-menu dropdown-menu-right local_document_choice" aria-labelledby="dropdownMenu1">
81
+ {this.renderAddNote()}
82
+ {this.renderEditNote()}
83
+ {this.renderDeleteNote()}
84
+ </ul>
85
+ </div>
86
+ );
87
+ }
88
+
89
+ render() {
90
+ return (
91
+ <>
92
+ {this.renderLocalItem()}
93
+ {this.renderNote()}
94
+ </>
95
+ );
96
+ }
97
+ }
98
+
99
+ module.exports = ComponentLocalNote;
@@ -0,0 +1,79 @@
1
+
2
+ 'use strict';
3
+
4
+ import ReactComponentBase from 'z-abs-corelayer-client/client/react-component/react-component-base';
5
+ import { Remarkable, utils } from 'remarkable';
6
+ import React from 'react';
7
+
8
+
9
+ class ComponetMarkupRemarkable extends ReactComponentBase {
10
+ constructor(props) {
11
+ super(props);
12
+ this.md = new Remarkable('full', {
13
+ breaks: true,
14
+ html: true
15
+ });
16
+ this.md.renderer.rules.paragraph_open = this._paragraph_open.bind(this);
17
+ this.md.renderer.rules.heading_open = this._heading_open.bind(this);
18
+ }
19
+
20
+ _paragraph_open(tokens, idx) {
21
+ if(tokens[idx].lines && tokens[idx].level === 0 && this.props.dataLineStart) {
22
+ const start = this.props.dataLineStart + tokens[idx].lines[0];
23
+ return `<p class="data-line" class="data-line" data-line-start="${start}" data-line-stop="${start}" data-line-object-index="0">`;
24
+ }
25
+ return tokens[idx].tight ? '' : '<p>';
26
+ }
27
+
28
+ _heading_open(tokens, idx) {
29
+ if(tokens[idx].lines && tokens[idx].level === 0 && this.props.dataLineStart) {
30
+ const start = this.props.dataLineStart + tokens[idx].lines[0];
31
+ return `<h${tokens[idx].hLevel} class="data-line" data-line-start="${start}" data-line-stop="${start}" data-line-object-index="0">`;
32
+ }
33
+ return `<h${tokens[idx].hLevel}>`;
34
+ }
35
+
36
+ _link_open(tokens, idx, options) {
37
+ const href = tokens[idx].href;
38
+ const index = href.indexOf(':::');
39
+ const text = -1 !== index ? href.substring(0, index) : href;
40
+ const type = -1 !== index ? href.substring(index + 3) : 'link';
41
+ if(this.props.preview) {
42
+ const classJsType = 'link' === type ? '' : ` doc_nav_${type}`;
43
+ return `<a class="doc_nav_preview${classJsType}">`;
44
+ }
45
+ else {
46
+ const classAndClassJsType = 'link' === type ? '' : `class="doc_nav_${type}"`;
47
+ const title = tokens[idx].title ? (' title="' + utils.escapeHtml(utils.replaceEntities(tokens[idx].title)) + '"') : '';
48
+ const target = options.linkTarget ? (' target="' + options.linkTarget + '"') : '';
49
+ return `<a ${classAndClassJsType} href="` + utils.escapeHtml(text) + '"' + title + target + '>';
50
+ }
51
+ }
52
+
53
+ shouldUpdate(nextProps, nextState) {
54
+ return !this.shallowCompare(this.props, nextProps);
55
+ }
56
+
57
+ render() {
58
+ if(undefined === this.props.value) {
59
+ return null;
60
+ }
61
+ const value = this.props.value;
62
+ if(0 === value.length) {
63
+ return null;
64
+ }
65
+ const link_openOriginal = this.md.renderer.rules.link_open;
66
+ this.md.renderer.rules.link_open = this._link_open.bind(this);
67
+ let rawMarkup = this.md.render(value);
68
+ this.md.renderer.rules.link_open = link_openOriginal;
69
+ if(this.props.inner) {
70
+ rawMarkup = rawMarkup.substring(3, rawMarkup.length - 5);
71
+ }
72
+ return (
73
+ <span dangerouslySetInnerHTML={{__html: rawMarkup}} />
74
+ );
75
+ }
76
+ }
77
+
78
+
79
+ module.exports = ComponetMarkupRemarkable;