@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.
- package/.gitattributes +26 -0
- package/LICENSE.txt +96 -0
- package/README.md +5 -0
- package/npm-shrinkwrap.json +13 -0
- package/package.json +10 -0
- package/project/client/_build/Bundle-CompLayer-Markup-client.bld +40 -0
- package/project/client/_build/Client-CompLayer-Markup-client-jsx.bld +10 -0
- package/project/client/_build/Client-CompLayer-Markup-client.bld +10 -0
- package/project/client/_build/Client-css-CompLayer-Markup-bundle.bld +9 -0
- package/project/client/_build/z-abs-complayer-markup-client.prj +36 -0
- package/project/client/actions/action-style.js +17 -0
- package/project/client/actions/data-action-style.js +13 -0
- package/project/client/css/markup_addressing.css +30 -0
- package/project/client/css/markup_flowchart.css +53 -0
- package/project/client/css/markup_general.css +4 -0
- package/project/client/css/markup_image.css +10 -0
- package/project/client/css/markup_license.css +107 -0
- package/project/client/css/markup_login.css +201 -0
- package/project/client/css/markup_node_diagram.css +51 -0
- package/project/client/css/markup_sequence_diagram.css +6 -0
- package/project/client/css/markup_state.css +5 -0
- package/project/client/css/markup_table.css +57 -0
- package/project/client/css/markup_tc.css +32 -0
- package/project/client/css/markup_ts.css +36 -0
- package/project/client/data/addresses/data-addresses-client-address-global.js +20 -0
- package/project/client/data/addresses/data-addresses-client-address-local.js +20 -0
- package/project/client/data/addresses/data-addresses-client-interface-global.js +17 -0
- package/project/client/data/addresses/data-addresses-client-interface-local.js +17 -0
- package/project/client/data/addresses/data-addresses-dns-global.js +18 -0
- package/project/client/data/addresses/data-addresses-dns-local.js +19 -0
- package/project/client/data/addresses/data-addresses-dst-global.js +20 -0
- package/project/client/data/addresses/data-addresses-dst-local.js +20 -0
- package/project/client/data/addresses/data-addresses-network-interface-global.js +17 -0
- package/project/client/data/addresses/data-addresses-network-interface-local.js +17 -0
- package/project/client/data/addresses/data-addresses-ports-global.js +18 -0
- package/project/client/data/addresses/data-addresses-ports-local.js +18 -0
- package/project/client/data/addresses/data-addresses-server-address-global.js +20 -0
- package/project/client/data/addresses/data-addresses-server-address-local.js +20 -0
- package/project/client/data/addresses/data-addresses-server-interface-global.js +17 -0
- package/project/client/data/addresses/data-addresses-server-interface-local.js +17 -0
- package/project/client/data/addresses/data-addresses-src-global.js +21 -0
- package/project/client/data/addresses/data-addresses-src-local.js +21 -0
- package/project/client/data/addresses/data-addresses-srv-global.js +20 -0
- package/project/client/data/addresses/data-addresses-srv-local.js +20 -0
- package/project/client/data/addresses/data-addresses-sut-address-global.js +20 -0
- package/project/client/data/addresses/data-addresses-sut-address-local.js +20 -0
- package/project/client/data/addresses/data-addresses-sut-interface-global.js +19 -0
- package/project/client/data/addresses/data-addresses-sut-interface-local.js +19 -0
- package/project/client/data/data-chart/data-chart-axis.js +13 -0
- package/project/client/data/data-chart/data-chart-grid.js +14 -0
- package/project/client/data/data-chart/data-chart-line/data-chart-line-config.js +17 -0
- package/project/client/data/data-chart/data-chart-line/data-chart-line.js +41 -0
- package/project/client/data/data-config.js +14 -0
- package/project/client/data/data-constructor.js +18 -0
- package/project/client/data/data-content/data-content-audio-global.js +18 -0
- package/project/client/data/data-content/data-content-audio-local.js +18 -0
- package/project/client/data/data-content/data-content-documents-global.js +18 -0
- package/project/client/data/data-content/data-content-documents-local.js +18 -0
- package/project/client/data/data-content/data-content-image-global.js +21 -0
- package/project/client/data/data-content/data-content-image-local.js +21 -0
- package/project/client/data/data-content/data-content-other-global.js +20 -0
- package/project/client/data/data-content/data-content-other-local.js +20 -0
- package/project/client/data/data-content/data-content-text-global.js +20 -0
- package/project/client/data/data-content/data-content-text-local.js +20 -0
- package/project/client/data/data-content/data-content-video-global.js +20 -0
- package/project/client/data/data-content/data-content-video-local.js +20 -0
- package/project/client/data/data-data.js +28 -0
- package/project/client/data/data-dependencies/data-dependencies.js +17 -0
- package/project/client/data/data-documentation/data-documentation-navigation.js +15 -0
- package/project/client/data/data-documentation/data-documentation.js +20 -0
- package/project/client/data/data-flowchart/data-flowchart-block.js +33 -0
- package/project/client/data/data-flowchart/data-flowchart-connection.js +17 -0
- package/project/client/data/data-flowchart/data-flowchart.js +30 -0
- package/project/client/data/data-html/data-html-anchor.js +12 -0
- package/project/client/data/data-html/data-html-br.js +11 -0
- package/project/client/data/data-html/data-html-button.js +15 -0
- package/project/client/data/data-html/data-html-log-start.js +12 -0
- package/project/client/data/data-html/data-html-log-stop.js +13 -0
- package/project/client/data/data-html/data-html-log.js +16 -0
- package/project/client/data/data-html/data-html-toolbar.js +19 -0
- package/project/client/data/data-image/data-image.js +20 -0
- package/project/client/data/data-lab/data-lab-interface-client.js +19 -0
- package/project/client/data/data-lab/data-lab-interface-server.js +19 -0
- package/project/client/data/data-lab/data-lab-interface-sut.js +20 -0
- package/project/client/data/data-lab/data-lab-network.js +31 -0
- package/project/client/data/data-lab/data-lab.js +21 -0
- package/project/client/data/data-licenses/data-licenses.js +16 -0
- package/project/client/data/data-node-diagram/data-node-diagram-config.js +21 -0
- package/project/client/data/data-node-diagram/data-node-diagram-connection.js +18 -0
- package/project/client/data/data-node-diagram/data-node-diagram-group.js +16 -0
- package/project/client/data/data-node-diagram/data-node-diagram-node.js +22 -0
- package/project/client/data/data-node-diagram/data-node-diagram.js +47 -0
- package/project/client/data/data-repos/data-repos-content-local.js +15 -0
- package/project/client/data/data-repos/data-repos-data-local.js +15 -0
- package/project/client/data/data-sequence-diagram/data-sequence-diagram-config.js +22 -0
- package/project/client/data/data-sequence-diagram/data-sequence-diagram-message.js +17 -0
- package/project/client/data/data-sequence-diagram/data-sequence-diagram-node.js +11 -0
- package/project/client/data/data-sequence-diagram/data-sequence-diagram.js +32 -0
- package/project/client/data/data-state-machine/data-state-machine-config.js +17 -0
- package/project/client/data/data-state-machine/data-state-machine-state.js +29 -0
- package/project/client/data/data-state-machine/data-state-machine-transition.js +18 -0
- package/project/client/data/data-state-machine/data-state-machine.js +37 -0
- package/project/client/data/data-system-under-test/data-system-under-test-instances.js +15 -0
- package/project/client/data/data-system-under-test/data-system-under-test-nodes.js +18 -0
- package/project/client/data/data-table/data-table-config.js +21 -0
- package/project/client/data/data-table-key-value.js +56 -0
- package/project/client/data/data-test-case/data-actor.js +282 -0
- package/project/client/data/data-test-case/data-test-case-settings.js +49 -0
- package/project/client/data/data-test-case/data-test-case.js +19 -0
- package/project/client/data/data-test-case/data-test-data-iteration.js +54 -0
- package/project/client/data/data-test-case/data-test-data-test-case.js +16 -0
- package/project/client/data/data-test-case/data-verification-test-case.js +24 -0
- package/project/client/data/data-test-data/data-test-data-environment-global.js +18 -0
- package/project/client/data/data-test-data/data-test-data-environment-local.js +18 -0
- package/project/client/data/data-test-data/data-test-data-environment-static.js +16 -0
- package/project/client/data/data-test-data/data-test-data-general-global.js +18 -0
- package/project/client/data/data-test-data/data-test-data-general-local.js +18 -0
- package/project/client/data/data-test-data/data-test-data-output-global.js +18 -0
- package/project/client/data/data-test-data/data-test-data-output-local.js +18 -0
- package/project/client/data/data-test-data/data-test-data-system-global.js +18 -0
- package/project/client/data/data-test-data/data-test-data-system-local.js +18 -0
- package/project/client/data/data-test-suite/data-test-suite-abstraction.js +72 -0
- package/project/client/data/data-test-suite/data-test-suite.js +15 -0
- package/project/client/data/data-tree/data-tree-node.js +17 -0
- package/project/client/data/data-tree/data-tree.js +13 -0
- package/project/client/markup/markup-addresses/markup-addresses-client-address.js +31 -0
- package/project/client/markup/markup-addresses/markup-addresses-client-interface.js +31 -0
- package/project/client/markup/markup-addresses/markup-addresses-dns.js +32 -0
- package/project/client/markup/markup-addresses/markup-addresses-dst.js +31 -0
- package/project/client/markup/markup-addresses/markup-addresses-network-interface.js +31 -0
- package/project/client/markup/markup-addresses/markup-addresses-ports.js +31 -0
- package/project/client/markup/markup-addresses/markup-addresses-server-address.js +31 -0
- package/project/client/markup/markup-addresses/markup-addresses-server-interface.js +31 -0
- package/project/client/markup/markup-addresses/markup-addresses-src.js +31 -0
- package/project/client/markup/markup-addresses/markup-addresses-srv.js +31 -0
- package/project/client/markup/markup-addresses/markup-addresses-sut-address.js +31 -0
- package/project/client/markup/markup-addresses/markup-addresses-sut-interface.js +31 -0
- package/project/client/markup/markup-chart/markup-chart-line.js +92 -0
- package/project/client/markup/markup-content/markup-content-audio.js +31 -0
- package/project/client/markup/markup-content/markup-content-documents.js +31 -0
- package/project/client/markup/markup-content/markup-content-image.js +31 -0
- package/project/client/markup/markup-content/markup-content-other.js +31 -0
- package/project/client/markup/markup-content/markup-content-text.js +31 -0
- package/project/client/markup/markup-content/markup-content-video.js +31 -0
- package/project/client/markup/markup-dependencies/markup-dependencies.js +30 -0
- package/project/client/markup/markup-documentation/markup-documentation-anchor.js +37 -0
- package/project/client/markup/markup-documentation/markup-documentation-api-status.js +67 -0
- package/project/client/markup/markup-documentation/markup-documentation-code.js +20 -0
- package/project/client/markup/markup-documentation/markup-documentation-div.js +34 -0
- package/project/client/markup/markup-documentation/markup-documentation-documentation-status.js +67 -0
- package/project/client/markup/markup-documentation/markup-documentation-embed.js +23 -0
- package/project/client/markup/markup-documentation/markup-documentation-html.js +139 -0
- package/project/client/markup/markup-documentation/markup-documentation-ie.js +21 -0
- package/project/client/markup/markup-documentation/markup-documentation-image.js +46 -0
- package/project/client/markup/markup-documentation/markup-documentation-lab.js +19 -0
- package/project/client/markup/markup-documentation/markup-documentation-local-note.js +33 -0
- package/project/client/markup/markup-documentation/markup-documentation-navigation.js +109 -0
- package/project/client/markup/markup-documentation/markup-documentation-page.js +262 -0
- package/project/client/markup/markup-documentation/markup-documentation-ref.js +28 -0
- package/project/client/markup/markup-documentation/markup-documentation-result.js +21 -0
- package/project/client/markup/markup-documentation/markup-documentation-state-machine.js +194 -0
- package/project/client/markup/markup-documentation/markup-documentation.js +74 -0
- package/project/client/markup/markup-flowchart.js +264 -0
- package/project/client/markup/markup-lab.js +116 -0
- package/project/client/markup/markup-licenses/markup-licenses.js +29 -0
- package/project/client/markup/markup-node-diagram.js +435 -0
- package/project/client/markup/markup-parse-helper.js +26 -0
- package/project/client/markup/markup-pattern-config.js +53 -0
- package/project/client/markup/markup-pattern-data.js +50 -0
- package/project/client/markup/markup-pattern-function.js +47 -0
- package/project/client/markup/markup-repos/markup-repos.js +31 -0
- package/project/client/markup/markup-sequence-diagram.js +466 -0
- package/project/client/markup/markup-system-under-test/markup-system-under-test-instances.js +29 -0
- package/project/client/markup/markup-system-under-test/markup-system-under-test-nodes.js +30 -0
- package/project/client/markup/markup-table-key-value-parse.js +25 -0
- package/project/client/markup/markup-table-key-value-stringify.js +91 -0
- package/project/client/markup/markup-table-key-value.js +18 -0
- package/project/client/markup/markup-table-name-value.js +101 -0
- package/project/client/markup/markup-table.js +85 -0
- package/project/client/markup/markup-tables-parser.js +122 -0
- package/project/client/markup/markup-test-case/markup-test-case.js +67 -0
- package/project/client/markup/markup-test-data/markup-test-data-environment.js +31 -0
- package/project/client/markup/markup-test-data/markup-test-data-general.js +31 -0
- package/project/client/markup/markup-test-data/markup-test-data-output.js +31 -0
- package/project/client/markup/markup-test-data/markup-test-data-system.js +31 -0
- package/project/client/markup/markup-test-suite/markup-test-suite.js +40 -0
- package/project/client/react-components/helper/line-data.js +16 -0
- package/project/client/react-components/helper/line-object.js +22 -0
- package/project/client/react-components/helper/scroll-data.js +74 -0
- package/project/client/react-components/markup/component-chart/component-image-chart-line.jsx +203 -0
- package/project/client/react-components/markup/component-code.jsx +50 -0
- package/project/client/react-components/markup/component-document.jsx +105 -0
- package/project/client/react-components/markup/component-documentation-anchor.jsx +47 -0
- package/project/client/react-components/markup/component-embed.jsx +48 -0
- package/project/client/react-components/markup/component-image-flowchart.jsx +389 -0
- package/project/client/react-components/markup/component-image-image.jsx +32 -0
- package/project/client/react-components/markup/component-image-lab.jsx +696 -0
- package/project/client/react-components/markup/component-image-node-diagram.jsx +506 -0
- package/project/client/react-components/markup/component-image-result.jsx +22 -0
- package/project/client/react-components/markup/component-image-sequence-diagram.jsx +645 -0
- package/project/client/react-components/markup/component-image-state-machine.jsx +633 -0
- package/project/client/react-components/markup/component-image-table.jsx +96 -0
- package/project/client/react-components/markup/component-local-note.jsx +99 -0
- package/project/client/react-components/markup/component-markup-remarkable.jsx +79 -0
- package/project/client/react-components/markup/component-markup.jsx +1036 -0
- package/project/client/react-components/markup/component-table-data-table.jsx +146 -0
- package/project/client/stores/style-store.js +96 -0
- package/project/z-abs-complayer-markup-client.tree +239 -0
|
@@ -0,0 +1,1036 @@
|
|
|
1
|
+
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
import ComponentImageChartLine from './component-chart/component-image-chart-line';
|
|
5
|
+
import ComponentImageImage from './component-image-image';
|
|
6
|
+
import ComponentImageLab from './component-image-lab';
|
|
7
|
+
import ComponentImageSequenceDiagram from './component-image-sequence-diagram';
|
|
8
|
+
import ComponentImageFlowchart from './component-image-flowchart';
|
|
9
|
+
import ComponentImageNodeDiagram from './component-image-node-diagram';
|
|
10
|
+
import ComponentImageStateMachine from './component-image-state-machine';
|
|
11
|
+
import ComponentImageTable from './component-image-table';
|
|
12
|
+
import ComponetMarkupRemarkable from './component-markup-remarkable';
|
|
13
|
+
import ComponentDocumentationAnchor from './component-documentation-anchor';
|
|
14
|
+
import ComponentCode from './component-code';
|
|
15
|
+
import ComponentTableDataTable from './component-table-data-table';
|
|
16
|
+
import LineData from '../helper/line-data';
|
|
17
|
+
import LineObject from '../helper/line-object';
|
|
18
|
+
import ScrollData from '../helper/scroll-data';
|
|
19
|
+
import DataTestCaseSettings from '../../data/data-test-case/data-test-case-settings';
|
|
20
|
+
import DataTestDataTestCase from '../../data/data-test-case/data-test-data-test-case';
|
|
21
|
+
import DataTestDataIteration from '../../data/data-test-case/data-test-data-iteration';
|
|
22
|
+
import DataVerificationTestCase from '../../data/data-test-case/data-verification-test-case';
|
|
23
|
+
import DataTestSuiteAbstraction from '../../data/data-test-suite/data-test-suite-abstraction';
|
|
24
|
+
import DataActor from '../../data/data-test-case/data-actor';
|
|
25
|
+
import Icon from 'z-abs-complayer-bootstrap-client/client/icons-inline/icon';
|
|
26
|
+
import ActorResultConst from 'z-abs-funclayer-engine-cs/clientServer/execution/actor-result-const';
|
|
27
|
+
import ReactComponentBase from 'z-abs-corelayer-client/client/react-component/react-component-base';
|
|
28
|
+
import React from 'react';
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
class ComponentMarkup extends ReactComponentBase {
|
|
32
|
+
constructor(props) {
|
|
33
|
+
super(props);
|
|
34
|
+
this.lineData = null;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
didMount() {
|
|
38
|
+
this._handleLines();
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
shouldUpdate(nextProps, nextState) {
|
|
42
|
+
return !this.shallowCompare(this.props, nextProps);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
didUpdate(prevProps, prevState) {
|
|
46
|
+
this._handleLines();
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
calculateTop(scrollData) { // TODO: This must be optimized !!!
|
|
50
|
+
let previousobject = null;
|
|
51
|
+
const lineLength = this.lineData.lines.length;
|
|
52
|
+
for(let i = 0; i < lineLength; ++i) {
|
|
53
|
+
const line = this.lineData.lines[i];
|
|
54
|
+
for(let j = 0; j < line.objects.length; ++j) {
|
|
55
|
+
const object = line.objects[j];
|
|
56
|
+
if(object.top > scrollData.top) {
|
|
57
|
+
i = lineLength;
|
|
58
|
+
break;
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
previousobject = object;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
const diff = scrollData.top - previousobject.top;
|
|
66
|
+
const delta = diff / previousobject.delta;
|
|
67
|
+
scrollData.setLine(previousobject.line, delta);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
calculateObject(scrollData, whichObject) {
|
|
71
|
+
const dataLine = this.lineData.lines[scrollData.line];
|
|
72
|
+
const objectsLength = dataLine.objects.length;
|
|
73
|
+
const val = scrollData.delta * objectsLength;
|
|
74
|
+
const posIndex = Math.floor(val);
|
|
75
|
+
const posDelta = val - posIndex;
|
|
76
|
+
const object = dataLine.objects[posIndex];
|
|
77
|
+
if('next_block' === whichObject) {
|
|
78
|
+
const line = object.nextRealObject ? object.nextRealObject.line : scrollData.line;
|
|
79
|
+
scrollData.setLine(line, 0.0);
|
|
80
|
+
}
|
|
81
|
+
else if('previous_block' === whichObject) {
|
|
82
|
+
const line = object.previousRealObject ? object.previousRealObject.line : scrollData.line;
|
|
83
|
+
scrollData.setLine(line, 0.0);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
scroll(scrollData) {
|
|
88
|
+
if(0 === this.lineData.lines.length) {
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
const dataLine = this.lineData.lines[scrollData.line];
|
|
92
|
+
const objectsLength = dataLine.objects.length;
|
|
93
|
+
const val = scrollData.delta * objectsLength;
|
|
94
|
+
const posIndex = Math.floor(val);
|
|
95
|
+
const posDelta = val - posIndex;
|
|
96
|
+
const object = dataLine.objects[posIndex];
|
|
97
|
+
const calculatedTop = object.top + posDelta * object.delta;
|
|
98
|
+
this.props.onEditorScroll && this.props.onEditorScroll(calculatedTop);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
_newDataLineObject(currenLineData, value) {
|
|
102
|
+
const previousStart = currenLineData.start;
|
|
103
|
+
currenLineData.start = currenLineData.stop;
|
|
104
|
+
currenLineData.stop = currenLineData.start + value.lines - 1;
|
|
105
|
+
currenLineData.lines += value.lines;
|
|
106
|
+
if(previousStart === currenLineData.start) {
|
|
107
|
+
++currenLineData.objectIndex;
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
currenLineData.objectIndex = 0;
|
|
111
|
+
}
|
|
112
|
+
for(let currentLine = currenLineData.start; currentLine <= currenLineData.stop; ++currentLine) {
|
|
113
|
+
if(this.lineData.lines.length <= currentLine) {
|
|
114
|
+
this.lineData.lines.push(new LineData(currentLine));
|
|
115
|
+
}
|
|
116
|
+
this.lineData.lines[this.lineData.lines.length - 1].addObject(new LineObject(++this.lineData.objectId, value.type, currenLineData.start, currenLineData.stop, null, 0, currentLine, 0.0, -1.0, 0.0, null, null));
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
_findExistingLines() {
|
|
121
|
+
const elements = document.getElementsByClassName('data-line');
|
|
122
|
+
const existingLines = [];
|
|
123
|
+
let currentLine = 0;
|
|
124
|
+
for(let i = 0; i < elements.length; ++i) {
|
|
125
|
+
const line = Number.parseInt(elements[i].getAttribute('data-line-start'));
|
|
126
|
+
const objectIndex = Number.parseInt(elements[i].getAttribute('data-line-object-index'));
|
|
127
|
+
if(line !== currentLine) {
|
|
128
|
+
currentLine = line;
|
|
129
|
+
}
|
|
130
|
+
existingLines.push({
|
|
131
|
+
line: line,
|
|
132
|
+
objectIndex: objectIndex,
|
|
133
|
+
top: elements[i].offsetTop - elements[0].offsetTop,
|
|
134
|
+
element: elements[i]
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
return existingLines;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
_addExistingLines(existingLines) {
|
|
141
|
+
let previousDataLineObject = {};
|
|
142
|
+
for(let i = 0; i < existingLines.length; ++i) {
|
|
143
|
+
const existingLine = existingLines[i];
|
|
144
|
+
const dataLine = this.lineData.lines[existingLine.line];
|
|
145
|
+
const dataLineObject = dataLine.objects[existingLine.objectIndex];
|
|
146
|
+
dataLineObject.element = existingLine.element;
|
|
147
|
+
dataLineObject.top = existingLine.top;
|
|
148
|
+
dataLineObject.previousRealObject = previousDataLineObject;
|
|
149
|
+
previousDataLineObject.nextRealObject = dataLineObject;
|
|
150
|
+
previousDataLineObject = dataLineObject;
|
|
151
|
+
}
|
|
152
|
+
if(0 !== existingLines.length) {
|
|
153
|
+
const existingLine = existingLines[0];
|
|
154
|
+
const dataLine = this.lineData.lines[existingLine.line];
|
|
155
|
+
const dataLineObject = dataLine.objects[existingLine.objectIndex];
|
|
156
|
+
dataLineObject.previousRealObject = null;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
_calculateLinePosition() {
|
|
161
|
+
if(0 !== this.lineData.lines.length) {
|
|
162
|
+
let currentObject = this.lineData.lines[0].objects[0];
|
|
163
|
+
this.lineData.lines.forEach((dataLine) => {
|
|
164
|
+
dataLine.objects.forEach((object, index) => {
|
|
165
|
+
if(null !== object.element && currentObject.element !== object.element) {
|
|
166
|
+
currentObject = object;
|
|
167
|
+
}
|
|
168
|
+
object.linePosition = dataLine.line + index / dataLine.objects.length;
|
|
169
|
+
});
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
_calculateValues() {
|
|
175
|
+
if(0 !== this.lineData.lines.length) {
|
|
176
|
+
let currentObject = this.lineData.lines[0].objects[0];
|
|
177
|
+
let nextRealObject = currentObject.nextRealObject;
|
|
178
|
+
let delta = (nextRealObject.top - currentObject.top) / (nextRealObject.linePosition - currentObject.linePosition);
|
|
179
|
+
let previousObject = {linePosition: 0, linePosition: 0}; // FAKE OBJECT FOR THE FIRST STEP IN THE ITERATION
|
|
180
|
+
this.lineData.lines.forEach((dataLine) => {
|
|
181
|
+
dataLine.objects.forEach((object, index) => {
|
|
182
|
+
if(null !== object.element && currentObject.element !== object.element) {
|
|
183
|
+
currentObject = object;
|
|
184
|
+
nextRealObject = currentObject.nextRealObject;
|
|
185
|
+
if(null !== nextRealObject) {
|
|
186
|
+
delta = (nextRealObject.top - currentObject.top) / (nextRealObject.linePosition - currentObject.linePosition);
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
delta = 0;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
object.delta = delta;
|
|
193
|
+
object.previousRealObject = currentObject.previousRealObject;
|
|
194
|
+
object.nextRealObject = nextRealObject;
|
|
195
|
+
previousObject.delta = previousObject.delta * (object.linePosition - previousObject.linePosition);
|
|
196
|
+
object.top = currentObject.top + delta * (object.linePosition - currentObject.linePosition);
|
|
197
|
+
previousObject = object;
|
|
198
|
+
});
|
|
199
|
+
});
|
|
200
|
+
const dataLine = this.lineData.lines[this.lineData.lines.length - 1];
|
|
201
|
+
dataLine.objects[dataLine.objects.length - 1].nextRealObject = null;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
_handleLines() {
|
|
206
|
+
if(this.props.inner) {
|
|
207
|
+
return;
|
|
208
|
+
}
|
|
209
|
+
const existingLines = this._findExistingLines();
|
|
210
|
+
this._addExistingLines(existingLines);
|
|
211
|
+
this._calculateLinePosition();
|
|
212
|
+
this._calculateValues();
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
render() {
|
|
216
|
+
let jsxObjects = [];
|
|
217
|
+
const jsxDivs = [{divStyle: {}, jsxObjects: jsxObjects}];
|
|
218
|
+
|
|
219
|
+
const mergedDocuments = [];
|
|
220
|
+
const document = this.props.document;
|
|
221
|
+
const documentLength = document.length;
|
|
222
|
+
let previousDoc = null;
|
|
223
|
+
for(let i = 0; i < documentLength; ++i) {
|
|
224
|
+
const doc = document[i];
|
|
225
|
+
if('markup_ref' === doc.type) {
|
|
226
|
+
const link = this.props.linkReferences.get(doc.value.refName);
|
|
227
|
+
if(undefined !== link) {
|
|
228
|
+
const linkValue = `[${'' !== doc.value.text ? doc.value.text : link.text}](${link.path}:::${link.type})`;
|
|
229
|
+
if(null === previousDoc) {
|
|
230
|
+
previousDoc = {
|
|
231
|
+
type: 'markup',
|
|
232
|
+
value: linkValue,
|
|
233
|
+
lines: 0
|
|
234
|
+
};
|
|
235
|
+
mergedDocuments.push(previousDoc);
|
|
236
|
+
}
|
|
237
|
+
else {
|
|
238
|
+
previousDoc.value += linkValue;
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
else if('markup_documentation_status' === doc.type) {
|
|
243
|
+
const ieValue = `<div style="${ComponentMarkup.documentationStatusCsses[doc.value.status]}padding:4px 10px;font-size:18px;">Doc Status: ${ComponentMarkup.documentationStatusTexts[doc.value.status]}.${doc.value.comment ? ' - ' : ''}${doc.value.comment}</div>`;
|
|
244
|
+
if(null === previousDoc) {
|
|
245
|
+
previousDoc = {
|
|
246
|
+
type: 'markup',
|
|
247
|
+
value: ieValue,
|
|
248
|
+
lines: 0
|
|
249
|
+
};
|
|
250
|
+
mergedDocuments.push(previousDoc);
|
|
251
|
+
}
|
|
252
|
+
else {
|
|
253
|
+
previousDoc.value += ieValue;
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
else if('markup_api_status' === doc.type) {
|
|
257
|
+
const ieValue = `<div style="${ComponentMarkup.apiStatusCsses[doc.value.status]}padding:4px 10px;font-size:18px;">Api Status: ${ComponentMarkup.apiStatusTexts[doc.value.status]}.${doc.value.comment ? ' - ' : ''}${doc.value.comment}</div>`;
|
|
258
|
+
if(null === previousDoc) {
|
|
259
|
+
previousDoc = {
|
|
260
|
+
type: 'markup',
|
|
261
|
+
value: ieValue,
|
|
262
|
+
lines: 0
|
|
263
|
+
};
|
|
264
|
+
mergedDocuments.push(previousDoc);
|
|
265
|
+
}
|
|
266
|
+
else {
|
|
267
|
+
previousDoc.value += ieValue;
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
else if('markup_ie' === doc.type) {
|
|
271
|
+
const ieValue = `<code style="color:Green;background-color:Honeydew;border:1px solid Green">${doc.value}</code>`;
|
|
272
|
+
if(null === previousDoc) {
|
|
273
|
+
previousDoc = {
|
|
274
|
+
type: 'markup',
|
|
275
|
+
value: ieValue,
|
|
276
|
+
lines: 0
|
|
277
|
+
};
|
|
278
|
+
mergedDocuments.push(previousDoc);
|
|
279
|
+
}
|
|
280
|
+
else {
|
|
281
|
+
previousDoc.value += ieValue;
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
else if('markup_result' === doc.type) {
|
|
285
|
+
const resultValue = `<span class="${ActorResultConst.getClassFromResult(doc.value)} log_result">${doc.value}</span>`;
|
|
286
|
+
if(null === previousDoc) {
|
|
287
|
+
previousDoc = {
|
|
288
|
+
type: 'markup',
|
|
289
|
+
value: resultValue,
|
|
290
|
+
lines: 0
|
|
291
|
+
};
|
|
292
|
+
mergedDocuments.push(previousDoc);
|
|
293
|
+
}
|
|
294
|
+
else {
|
|
295
|
+
previousDoc.value += resultValue;
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
else {
|
|
299
|
+
if(null === previousDoc) {
|
|
300
|
+
if('markup' === doc.type) {
|
|
301
|
+
previousDoc = {
|
|
302
|
+
type: 'markup',
|
|
303
|
+
value: doc.value,
|
|
304
|
+
lines: doc.lines
|
|
305
|
+
};
|
|
306
|
+
mergedDocuments.push(previousDoc);
|
|
307
|
+
}
|
|
308
|
+
else {
|
|
309
|
+
mergedDocuments.push(doc);
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
else if('markup' === doc.type && 'markup' === previousDoc.type) {
|
|
313
|
+
previousDoc.value += doc.value;
|
|
314
|
+
previousDoc.lines += doc.lines - 1;
|
|
315
|
+
}
|
|
316
|
+
else {
|
|
317
|
+
mergedDocuments.push(doc);
|
|
318
|
+
previousDoc = null;
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
this.lineData = this.props.inner ? null : {
|
|
323
|
+
lines: [],
|
|
324
|
+
objectId: 0,
|
|
325
|
+
current: {
|
|
326
|
+
start: 0,
|
|
327
|
+
stop: 1,
|
|
328
|
+
objectIndex: 0,
|
|
329
|
+
lines: 0
|
|
330
|
+
}
|
|
331
|
+
};
|
|
332
|
+
if(!this.props.inner) {
|
|
333
|
+
this.lineData.lines.push(new LineData(0, new LineObject(0, 'top', 0, 1, null, 0, 0, 0.0, -1.0, 0.0, null, null)));
|
|
334
|
+
}
|
|
335
|
+
const currenLineData = this.lineData ? this.lineData.current : null;
|
|
336
|
+
mergedDocuments.forEach((value, index) => {
|
|
337
|
+
let dataLineStart;
|
|
338
|
+
let dataLineStop;
|
|
339
|
+
let dataLineObjectIndex;
|
|
340
|
+
if(!this.props.inner) {
|
|
341
|
+
this._newDataLineObject(currenLineData, value);
|
|
342
|
+
dataLineStart = currenLineData.start;
|
|
343
|
+
dataLineStop = currenLineData.stop;
|
|
344
|
+
dataLineObjectIndex = currenLineData.objectIndex;
|
|
345
|
+
}
|
|
346
|
+
if('markup' === value.type) {
|
|
347
|
+
jsxObjects.push (
|
|
348
|
+
<div key={index} className={`markup_markup${this.props.addClass ? ' ' + this.props.addClass : ''}`}>
|
|
349
|
+
<ComponetMarkupRemarkable preview={this.props.preview} value={value.value} dataLineStart={dataLineStart} />
|
|
350
|
+
</div>
|
|
351
|
+
);
|
|
352
|
+
}
|
|
353
|
+
else if('markup_div' === value.type) {
|
|
354
|
+
jsxObjects = [];
|
|
355
|
+
jsxDivs.push({divStyle: {}, jsxObjects: jsxObjects});
|
|
356
|
+
}
|
|
357
|
+
else if('markup_anchor' === value.type) {
|
|
358
|
+
jsxObjects.push (
|
|
359
|
+
<ComponentDocumentationAnchor key={index} anchor={value.value.id} visible={value.value.visible} dataLineStart={dataLineStart} dataLineStop={dataLineStop} dataLineObjectIndex={dataLineObjectIndex} />
|
|
360
|
+
);
|
|
361
|
+
}
|
|
362
|
+
else if('raw' === value.type) {
|
|
363
|
+
const className = `markup_raw${!this.props.inner ? ' data-line' : ''}`;
|
|
364
|
+
jsxObjects.push (
|
|
365
|
+
<div key={index} className={className} data-line-start={dataLineStart} data-line-stop={dataLineStop} data-line-object-index={dataLineObjectIndex} dangerouslySetInnerHTML={{__html: value.value}} />
|
|
366
|
+
);
|
|
367
|
+
}
|
|
368
|
+
else if('lab' === value.type) {
|
|
369
|
+
const className = `markup_lab${!this.props.inner ? ' data-line' : ''}`;
|
|
370
|
+
jsxObjects.push (
|
|
371
|
+
<div key={index} className={className} data-line-start={dataLineStart} data-line-stop={dataLineStop} data-line-object-index={dataLineObjectIndex}>
|
|
372
|
+
{<ComponentImageLab virtualNetworks={value.value}/>}
|
|
373
|
+
</div>
|
|
374
|
+
);
|
|
375
|
+
}
|
|
376
|
+
else if('object' === value.type) {
|
|
377
|
+
value.value.forEach((htmlValue, innerIndex) => {
|
|
378
|
+
if('button' === htmlValue.type) {
|
|
379
|
+
const className = `markup_button${!this.props.inner ? ' data-line' : ''}`;
|
|
380
|
+
console.log(htmlValue);
|
|
381
|
+
jsxObjects.push (
|
|
382
|
+
<div key={`${index}_${innerIndex}`} className={className} data-line-start={dataLineStart} data-line-stop={dataLineStop} data-line-object-index={dataLineObjectIndex}>
|
|
383
|
+
<button className="markup_button" type="button">
|
|
384
|
+
<Icon name={htmlValue.icon} colorMark={htmlValue.colorMark} />
|
|
385
|
+
</button>
|
|
386
|
+
<div className="markup_button">
|
|
387
|
+
<ComponetMarkupRemarkable inner preview={this.props.preview} value={htmlValue.text} />
|
|
388
|
+
</div>
|
|
389
|
+
</div>
|
|
390
|
+
);
|
|
391
|
+
}
|
|
392
|
+
else if('toolbar' === htmlValue.type) {
|
|
393
|
+
const className = `markup_button${!this.props.inner ? ' data-line' : ''}`;
|
|
394
|
+
jsxObjects.push (
|
|
395
|
+
<div key={`${index}_${innerIndex}`} className={className} data-line-start={dataLineStart} data-line-stop={dataLineStop} data-line-object-index={dataLineObjectIndex}>
|
|
396
|
+
<div className="middle_toolbar" style={{position:'relative'}}>
|
|
397
|
+
<div className="toolbar" role="toolbar" aria-label="...">
|
|
398
|
+
{this._renderToolbarButtons(htmlValue)}
|
|
399
|
+
</div>
|
|
400
|
+
</div>
|
|
401
|
+
</div>
|
|
402
|
+
);
|
|
403
|
+
}
|
|
404
|
+
else if('anchor' === htmlValue.type) {
|
|
405
|
+
const className = `markup_anchor${!this.props.inner ? ' data-line' : ''}`;
|
|
406
|
+
jsxObjects.push (
|
|
407
|
+
<a key={`${index}_${innerIndex}`} className={className} data-line-start={dataLineStart} data-line-stop={dataLineStop} data-line-object-index={dataLineObjectIndex} name={htmlValue.link}></a>
|
|
408
|
+
);
|
|
409
|
+
}
|
|
410
|
+
else if('br' === htmlValue.type) {
|
|
411
|
+
const className = `markup_br${!this.props.inner ? ' data-line' : ''}`;
|
|
412
|
+
jsxObjects.push (
|
|
413
|
+
<br key={`${index}_${innerIndex}`} className={className} data-line-start={dataLineStart} data-line-stop={dataLineStop} data-line-object-index={dataLineObjectIndex} />
|
|
414
|
+
);
|
|
415
|
+
}
|
|
416
|
+
else if('log' === htmlValue.type) {
|
|
417
|
+
const className = `markup_html_log${!this.props.inner ? ' data-line' : ''}`;
|
|
418
|
+
const classNameRow = `${ComponentMarkup._getClassFromName(htmlValue.logType)} log_row_nowrap`;
|
|
419
|
+
jsxObjects.push (
|
|
420
|
+
<div key={`${index}_${innerIndex}`} className={className} data-line-start={dataLineStart} data-line-stop={dataLineStop} data-line-object-index={dataLineObjectIndex}>
|
|
421
|
+
<table className="test_case_log_head_table test_case_log_body_table">
|
|
422
|
+
<thead>
|
|
423
|
+
<tr>
|
|
424
|
+
<th className="log_column_nbr">#</th>
|
|
425
|
+
<th className="log_column_type">type</th>
|
|
426
|
+
<th className="log_column_date">date</th>
|
|
427
|
+
<th>actor</th>
|
|
428
|
+
<th>log</th>
|
|
429
|
+
<th>file name</th>
|
|
430
|
+
</tr>
|
|
431
|
+
</thead>
|
|
432
|
+
<tbody>
|
|
433
|
+
<tr className={classNameRow}>
|
|
434
|
+
<td className="log_column_nbr">1</td>
|
|
435
|
+
<td>{htmlValue.logType}</td>
|
|
436
|
+
<td className="log_column_date">{htmlValue.date}</td>
|
|
437
|
+
<td>{htmlValue.actor}</td>
|
|
438
|
+
<td>{htmlValue.log}</td>
|
|
439
|
+
<td>{htmlValue.fileName}</td>
|
|
440
|
+
</tr>
|
|
441
|
+
</tbody>
|
|
442
|
+
</table>
|
|
443
|
+
</div>
|
|
444
|
+
);
|
|
445
|
+
}
|
|
446
|
+
else if('log_start' === htmlValue.type) {
|
|
447
|
+
const className = `markup_html_log${!this.props.inner ? ' data-line' : ''}`;
|
|
448
|
+
jsxObjects.push (
|
|
449
|
+
<div key={`${index}_${innerIndex}`} className={className} data-line-start={dataLineStart} data-line-stop={dataLineStop} data-line-object-index={dataLineObjectIndex}>
|
|
450
|
+
<table className="test_case_log_head_table test_case_log_body_table">
|
|
451
|
+
<thead>
|
|
452
|
+
<tr>
|
|
453
|
+
<th>type</th>
|
|
454
|
+
<th>date</th>
|
|
455
|
+
<th>actor</th>
|
|
456
|
+
<th>log</th>
|
|
457
|
+
<th>file name</th>
|
|
458
|
+
</tr>
|
|
459
|
+
</thead>
|
|
460
|
+
<tbody>
|
|
461
|
+
<tr className="log">
|
|
462
|
+
<td colSpan="5">
|
|
463
|
+
<strong>TEST CASE START: </strong>
|
|
464
|
+
{htmlValue.date}
|
|
465
|
+
</td>
|
|
466
|
+
</tr>
|
|
467
|
+
</tbody>
|
|
468
|
+
</table>
|
|
469
|
+
</div>
|
|
470
|
+
);
|
|
471
|
+
}
|
|
472
|
+
else if('log_end' === htmlValue.type) {
|
|
473
|
+
const className = `markup_html_log${!this.props.inner ? ' data-line' : ''}`;
|
|
474
|
+
const classNameSpan = `test_${htmlValue.result.toLowerCase()} log_result`;
|
|
475
|
+
jsxObjects.push (
|
|
476
|
+
<div key={`${index}_${innerIndex}`} className={className} data-line-start={dataLineStart} data-line-stop={dataLineStop} data-line-object-index={dataLineObjectIndex}>
|
|
477
|
+
<table className="test_case_log_head_table test_case_log_body_table">
|
|
478
|
+
<thead>
|
|
479
|
+
<tr>
|
|
480
|
+
<th>type</th>
|
|
481
|
+
<th>date</th>
|
|
482
|
+
<th>actor</th>
|
|
483
|
+
<th>log</th>
|
|
484
|
+
<th>file name</th>
|
|
485
|
+
</tr>
|
|
486
|
+
</thead>
|
|
487
|
+
<tbody>
|
|
488
|
+
<tr className="log">
|
|
489
|
+
<td colSpan="5">
|
|
490
|
+
<strong>TEST CASE END: </strong>
|
|
491
|
+
<span className={classNameSpan}>
|
|
492
|
+
{htmlValue.result}
|
|
493
|
+
</span>
|
|
494
|
+
{htmlValue.duration}
|
|
495
|
+
</td>
|
|
496
|
+
</tr>
|
|
497
|
+
</tbody>
|
|
498
|
+
</table>
|
|
499
|
+
</div>
|
|
500
|
+
);
|
|
501
|
+
}
|
|
502
|
+
});
|
|
503
|
+
}
|
|
504
|
+
else if('markup_image' === value.type) {
|
|
505
|
+
const className = `markup_img${!this.props.inner ? ' data-line' : ''}`;
|
|
506
|
+
jsxObjects.push (
|
|
507
|
+
<div key={index} className={className} data-line-start={dataLineStart} data-line-stop={dataLineStop} data-line-object-index={dataLineObjectIndex}>
|
|
508
|
+
<ComponentImageImage width="100%" height="100%" data={value.value} />
|
|
509
|
+
</div>
|
|
510
|
+
);
|
|
511
|
+
}
|
|
512
|
+
else if('escape' === value.type) {
|
|
513
|
+
const className = `markup_escape${!this.props.inner ? ' data-line' : ''}`;
|
|
514
|
+
jsxObjects.push (
|
|
515
|
+
<div key={index} className={className} data-line-start={dataLineStart} data-line-stop={dataLineStop} data-line-object-index={dataLineObjectIndex}>
|
|
516
|
+
<p className="markup_escape">Markup</p>
|
|
517
|
+
<pre className="markup_escape">
|
|
518
|
+
<code className="markup_escape">
|
|
519
|
+
{value.value}
|
|
520
|
+
</code>
|
|
521
|
+
</pre>
|
|
522
|
+
</div>
|
|
523
|
+
);
|
|
524
|
+
}
|
|
525
|
+
else if('chart-line' === value.type) {
|
|
526
|
+
const className = `markup_chart_line${!this.props.inner ? ' data-line' : ''}`;
|
|
527
|
+
jsxObjects.push (
|
|
528
|
+
<div key={index} className={className} data-line-start={dataLineStart} data-line-stop={dataLineStop} data-line-object-index={dataLineObjectIndex}>
|
|
529
|
+
<ComponentImageChartLine width="100%" height="100%" chartLine={value.value} />
|
|
530
|
+
</div>
|
|
531
|
+
);
|
|
532
|
+
}
|
|
533
|
+
else if('seq' === value.type) {
|
|
534
|
+
const className = `markup_seq${!this.props.inner ? ' data-line' : ''}`;
|
|
535
|
+
jsxObjects.push (
|
|
536
|
+
<div key={index} className={className} data-line-start={dataLineStart} data-line-stop={dataLineStop} data-line-object-index={dataLineObjectIndex}>
|
|
537
|
+
<ComponentImageSequenceDiagram width="100%" height="100%" sequenceDiagram={value.value} />
|
|
538
|
+
</div>
|
|
539
|
+
);
|
|
540
|
+
}
|
|
541
|
+
else if('state' === value.type) {
|
|
542
|
+
const className = `markup_state${!this.props.inner ? ' data-line' : ''}`;
|
|
543
|
+
jsxObjects.push (
|
|
544
|
+
<div key={index} className={className} data-line-start={dataLineStart} data-line-stop={dataLineStop} data-line-object-index={dataLineObjectIndex}>
|
|
545
|
+
<ComponentImageStateMachine width="100%" height="100%" stateMachine={value.value} />
|
|
546
|
+
</div>
|
|
547
|
+
);
|
|
548
|
+
}
|
|
549
|
+
else if('flow' === value.type) {
|
|
550
|
+
const className = `markup_flow${!this.props.inner ? ' data-line' : ''}`;
|
|
551
|
+
jsxObjects.push (
|
|
552
|
+
<div key={index} className={className} data-line-start={dataLineStart} data-line-stop={dataLineStop} data-line-object-index={dataLineObjectIndex}>
|
|
553
|
+
<ComponentImageFlowchart width="100%" height="100%" flowchart={value.value} />
|
|
554
|
+
</div>
|
|
555
|
+
);
|
|
556
|
+
}
|
|
557
|
+
else if('node' === value.type) {
|
|
558
|
+
const className = `markup_node${!this.props.inner ? ' data-line' : ''}`;
|
|
559
|
+
jsxObjects.push (
|
|
560
|
+
<div key={index} className={className} data-line-start={dataLineStart} data-line-stop={dataLineStop} data-line-object-index={dataLineObjectIndex}>
|
|
561
|
+
<ComponentImageNodeDiagram width="100%" height="100%" nodeDiagram={value.value} />
|
|
562
|
+
</div>
|
|
563
|
+
);
|
|
564
|
+
}
|
|
565
|
+
else if('table' === value.type) {
|
|
566
|
+
const className = `markup_table${!this.props.inner ? ' data-line' : ''}`;
|
|
567
|
+
jsxObjects.push (
|
|
568
|
+
<div key={index} className={className} data-line-start={dataLineStart} data-line-stop={dataLineStop} data-line-object-index={dataLineObjectIndex}>
|
|
569
|
+
<ComponentImageTable preview={this.props.preview} classTable="markup_table_fit_content" classHeading="markup_table_heading" classRow="markup_test_case_table" values={value.value} linkReferences={this.props.linkReferences} />
|
|
570
|
+
</div>
|
|
571
|
+
);
|
|
572
|
+
}
|
|
573
|
+
else if('javascript' === value.type) {
|
|
574
|
+
const className = `markup_javascript${!this.props.inner ? ' data-line' : ''}`;
|
|
575
|
+
jsxObjects.push (
|
|
576
|
+
<div key={index} className={className} data-line-start={dataLineStart} data-line-stop={dataLineStop} data-line-object-index={dataLineObjectIndex}>
|
|
577
|
+
<ComponentCode id={`component_markup_${index}`} code={value.value} name="javascript" type="js" />
|
|
578
|
+
</div>
|
|
579
|
+
);
|
|
580
|
+
}
|
|
581
|
+
else if('tc' === value.type) {
|
|
582
|
+
let key = 0;
|
|
583
|
+
const dataTestCaseSettings = new DataTestCaseSettings();
|
|
584
|
+
const dataActor = new DataActor();
|
|
585
|
+
const dataTestDataTestCase = new DataTestDataTestCase();
|
|
586
|
+
const dataTestDataIteration = new DataTestDataIteration();
|
|
587
|
+
const dataVerificationTestCase = new DataVerificationTestCase();
|
|
588
|
+
if(value.value.success) {
|
|
589
|
+
const className = !this.props.inner ? 'data-line' : undefined;
|
|
590
|
+
jsxObjects.push (
|
|
591
|
+
<div key={index} className={className} data-line-start={dataLineStart} data-line-stop={dataLineStop} data-line-object-index={dataLineObjectIndex}>
|
|
592
|
+
<p className="markup_tc">Test Case</p>
|
|
593
|
+
<div className="markup_tc">
|
|
594
|
+
<ComponentTableDataTable preview={this.props.preview} classTable="markup_test_case_table_fit_content" classHeading="markup_test_case_table_heading" classRow="markup_test_case_table" key={++key} dataTable={dataTestCaseSettings} values={value.value.tc.settings}/>
|
|
595
|
+
<ComponentTableDataTable preview={this.props.preview} classTable="markup_test_case_table_fit_content" classHeading="markup_test_case_table_heading" classRow="markup_test_case_table" key={++key} dataTable={dataActor} values={value.value.tc.actors}/>
|
|
596
|
+
<ComponentTableDataTable preview={this.props.preview} classTable="markup_test_case_table_fit_content" classHeading="markup_test_case_table_heading" classRow="markup_test_case_table" key={++key} dataTable={dataTestDataTestCase} values={value.value.tc.testDataTestCases}/>
|
|
597
|
+
<ComponentTableDataTable preview={this.props.preview} classTable="markup_test_case_table_fit_content" classHeading="markup_test_case_table_heading" classRow="markup_test_case_table" key={++key} dataTable={dataTestDataIteration} values={value.value.tc.testDataIteration}/>
|
|
598
|
+
<ComponentTableDataTable preview={this.props.preview} classTable="markup_test_case_table_fit_content" classHeading="markup_test_case_table_heading" classRow="markup_test_case_table" key={++key} dataTable={dataVerificationTestCase} values={value.value.tc.verificationTestCases}/>
|
|
599
|
+
</div>
|
|
600
|
+
</div>
|
|
601
|
+
);
|
|
602
|
+
}
|
|
603
|
+
}
|
|
604
|
+
else if('ts' === value.type) {
|
|
605
|
+
let key = 0;
|
|
606
|
+
const dataTestSuiteAbstraction = new DataTestSuiteAbstraction();
|
|
607
|
+
const className = !this.props.inner ? 'data-line' : undefined;
|
|
608
|
+
jsxObjects.push (
|
|
609
|
+
<div key={index} className={className} data-line-start={dataLineStart} data-line-stop={dataLineStop} data-line-object-index={dataLineObjectIndex}>
|
|
610
|
+
<p className="markup_ts">Test Suite</p>
|
|
611
|
+
<div className="markup_ts">
|
|
612
|
+
<ComponentTableDataTable preview={this.props.preview} classTable="markup_test_suite_table_fit_content" classHeading="markup_test_suite_table_heading" classRow="markup_test_suite_table" key={++key} dataTable={dataTestSuiteAbstraction} values={value.value.ts.abstractions}/>
|
|
613
|
+
</div>
|
|
614
|
+
</div>
|
|
615
|
+
);
|
|
616
|
+
}
|
|
617
|
+
else {
|
|
618
|
+
if(this.props.onUnkownMarkup) {
|
|
619
|
+
jsxObjects.push(this.props.onUnkownMarkup(value, index, dataLineStart, dataLineStop, dataLineObjectIndex));
|
|
620
|
+
}
|
|
621
|
+
else {
|
|
622
|
+
const className = !this.props.inner ? 'data-line' : undefined;
|
|
623
|
+
jsxObjects.push (
|
|
624
|
+
<div key={index} className={className} data-line-start={dataLineStart} data-line-stop={dataLineStop} data-line-object-index={dataLineObjectIndex}>
|
|
625
|
+
<p> UNKNOWN MARKUP TYPE {value.type, value.value} </p>
|
|
626
|
+
</div>
|
|
627
|
+
);
|
|
628
|
+
}
|
|
629
|
+
}
|
|
630
|
+
});
|
|
631
|
+
const doc = jsxDivs.map((jsxDiv, index) => {
|
|
632
|
+
const jsxObjects = jsxDiv.jsxObjects.map((jsxObject) => {
|
|
633
|
+
return jsxObject;
|
|
634
|
+
});
|
|
635
|
+
return (
|
|
636
|
+
<div key={`markup_div_${index}`} className="markup_div" style={jsxDiv.divStyle}>
|
|
637
|
+
{jsxObjects}
|
|
638
|
+
</div>
|
|
639
|
+
);
|
|
640
|
+
});
|
|
641
|
+
if(!this.props.inner) {
|
|
642
|
+
this._newDataLineObject(currenLineData, {type: 'bottom', lines: 1});
|
|
643
|
+
return (
|
|
644
|
+
<>
|
|
645
|
+
<div key="markup_top" className="data-line" data-line-start="0" data-line-stop="0" data-line-object-index="0"></div>
|
|
646
|
+
{doc}
|
|
647
|
+
<div key="markup_bottom" className="data-line" data-line-start={currenLineData.start} data-line-stop={currenLineData.stop} data-line-object-index="0"></div>
|
|
648
|
+
</>
|
|
649
|
+
);
|
|
650
|
+
}
|
|
651
|
+
else {
|
|
652
|
+
return (
|
|
653
|
+
<>
|
|
654
|
+
{doc}
|
|
655
|
+
</>
|
|
656
|
+
);
|
|
657
|
+
}
|
|
658
|
+
}
|
|
659
|
+
|
|
660
|
+
_addToolbarButtonGroup() {
|
|
661
|
+
|
|
662
|
+
}
|
|
663
|
+
|
|
664
|
+
_renderToolbarButtons(htmlValue) {
|
|
665
|
+
const buttonGroups = [];
|
|
666
|
+
/*<div className="btn-group btn-group-sm" role="group" aria-label="...">
|
|
667
|
+
|
|
668
|
+
</div>*/
|
|
669
|
+
}
|
|
670
|
+
|
|
671
|
+
_renderHardcodedLab() {
|
|
672
|
+
return [
|
|
673
|
+
{
|
|
674
|
+
"name": "N1",
|
|
675
|
+
"sut": "Actor",
|
|
676
|
+
"family": "IPv4",
|
|
677
|
+
"subnet": "192.168.0.0",
|
|
678
|
+
"description": "Actor IPv4 network 1",
|
|
679
|
+
"valid": true,
|
|
680
|
+
"reduced": false,
|
|
681
|
+
"suts": [
|
|
682
|
+
{
|
|
683
|
+
"name": "actorSut1",
|
|
684
|
+
"sut": "Actor",
|
|
685
|
+
"network": "N1",
|
|
686
|
+
"direction": "server/client",
|
|
687
|
+
"description": "",
|
|
688
|
+
"address": "192.168.0.100",
|
|
689
|
+
"netmask": "255.255.255.0",
|
|
690
|
+
"static": true,
|
|
691
|
+
"external": true,
|
|
692
|
+
"valid": true,
|
|
693
|
+
"reduced": false
|
|
694
|
+
},
|
|
695
|
+
{
|
|
696
|
+
"name": "actorSut2",
|
|
697
|
+
"sut": "Actor",
|
|
698
|
+
"network": "N1",
|
|
699
|
+
"direction": "server",
|
|
700
|
+
"description": "",
|
|
701
|
+
"address": "192.168.0.110",
|
|
702
|
+
"netmask": "255.255.255.0",
|
|
703
|
+
"static": true,
|
|
704
|
+
"external": true,
|
|
705
|
+
"valid": true,
|
|
706
|
+
"reduced": false
|
|
707
|
+
}
|
|
708
|
+
],
|
|
709
|
+
"servers": [
|
|
710
|
+
{
|
|
711
|
+
"name": "actor1",
|
|
712
|
+
"sut": "Actor",
|
|
713
|
+
"network": "N1",
|
|
714
|
+
"address": "192.168.0.99",
|
|
715
|
+
"netmask": "255.255.255.0",
|
|
716
|
+
"static": false,
|
|
717
|
+
"external": false,
|
|
718
|
+
"valid": true,
|
|
719
|
+
"reduced": false
|
|
720
|
+
},
|
|
721
|
+
{
|
|
722
|
+
"name": "actor2",
|
|
723
|
+
"sut": "Actor",
|
|
724
|
+
"network": "N1",
|
|
725
|
+
"address": "192.168.0.99",
|
|
726
|
+
"netmask": "255.255.255.0",
|
|
727
|
+
"static": false,
|
|
728
|
+
"external": false,
|
|
729
|
+
"valid": true,
|
|
730
|
+
"reduced": true
|
|
731
|
+
},
|
|
732
|
+
{
|
|
733
|
+
"name": "actor3",
|
|
734
|
+
"sut": "Actor",
|
|
735
|
+
"network": "N1",
|
|
736
|
+
"address": "192.168.0.99",
|
|
737
|
+
"netmask": "255.255.255.0",
|
|
738
|
+
"static": false,
|
|
739
|
+
"external": false,
|
|
740
|
+
"valid": true,
|
|
741
|
+
"reduced": true
|
|
742
|
+
},
|
|
743
|
+
{
|
|
744
|
+
"name": "actor4",
|
|
745
|
+
"sut": "Actor",
|
|
746
|
+
"network": "N1",
|
|
747
|
+
"address": "192.168.0.99",
|
|
748
|
+
"netmask": "255.255.255.0",
|
|
749
|
+
"static": false,
|
|
750
|
+
"external": false,
|
|
751
|
+
"valid": true,
|
|
752
|
+
"reduced": true
|
|
753
|
+
},
|
|
754
|
+
{
|
|
755
|
+
"name": "actor5",
|
|
756
|
+
"sut": "Actor",
|
|
757
|
+
"network": "N1",
|
|
758
|
+
"address": "192.168.0.99",
|
|
759
|
+
"netmask": "255.255.255.0",
|
|
760
|
+
"static": false,
|
|
761
|
+
"external": false,
|
|
762
|
+
"valid": true,
|
|
763
|
+
"reduced": true
|
|
764
|
+
}
|
|
765
|
+
],
|
|
766
|
+
"clients": [
|
|
767
|
+
{
|
|
768
|
+
"name": "actor1",
|
|
769
|
+
"sut": "Actor",
|
|
770
|
+
"network": "N1",
|
|
771
|
+
"address": "192.168.0.99",
|
|
772
|
+
"netmask": "255.255.255.0",
|
|
773
|
+
"static": false,
|
|
774
|
+
"external": false,
|
|
775
|
+
"valid": true,
|
|
776
|
+
"reduced": true
|
|
777
|
+
},
|
|
778
|
+
{
|
|
779
|
+
"name": "actor2",
|
|
780
|
+
"sut": "Actor",
|
|
781
|
+
"network": "N1",
|
|
782
|
+
"address": "192.168.0.99",
|
|
783
|
+
"netmask": "255.255.255.0",
|
|
784
|
+
"static": false,
|
|
785
|
+
"external": false,
|
|
786
|
+
"valid": true,
|
|
787
|
+
"reduced": true
|
|
788
|
+
},
|
|
789
|
+
{
|
|
790
|
+
"name": "actor3",
|
|
791
|
+
"sut": "Actor",
|
|
792
|
+
"network": "N1",
|
|
793
|
+
"address": "192.168.0.99",
|
|
794
|
+
"netmask": "255.255.255.0",
|
|
795
|
+
"static": false,
|
|
796
|
+
"external": false,
|
|
797
|
+
"valid": true,
|
|
798
|
+
"reduced": true
|
|
799
|
+
}
|
|
800
|
+
]
|
|
801
|
+
},
|
|
802
|
+
{
|
|
803
|
+
"name": "N2",
|
|
804
|
+
"sut": "Actor",
|
|
805
|
+
"family": "IPv4",
|
|
806
|
+
"subnet": "192.168.0.0",
|
|
807
|
+
"description": "Actor IPv4 network 2",
|
|
808
|
+
"valid": true,
|
|
809
|
+
"reduced": true,
|
|
810
|
+
"suts": [
|
|
811
|
+
{
|
|
812
|
+
"name": "actorSutN21",
|
|
813
|
+
"sut": "Actor",
|
|
814
|
+
"network": "N2",
|
|
815
|
+
"direction": "server/client",
|
|
816
|
+
"description": "",
|
|
817
|
+
"address": "192.168.0.99",
|
|
818
|
+
"netmask": "255.255.255.0",
|
|
819
|
+
"static": false,
|
|
820
|
+
"external": false,
|
|
821
|
+
"valid": true,
|
|
822
|
+
"reduced": true
|
|
823
|
+
},
|
|
824
|
+
{
|
|
825
|
+
"name": "actorSutN22",
|
|
826
|
+
"sut": "Actor",
|
|
827
|
+
"network": "N2",
|
|
828
|
+
"direction": "server",
|
|
829
|
+
"description": "",
|
|
830
|
+
"address": "192.168.0.99",
|
|
831
|
+
"netmask": "255.255.255.0",
|
|
832
|
+
"static": false,
|
|
833
|
+
"external": false,
|
|
834
|
+
"valid": true,
|
|
835
|
+
"reduced": true
|
|
836
|
+
},
|
|
837
|
+
{
|
|
838
|
+
"name": "actorSutN23",
|
|
839
|
+
"sut": "Actor",
|
|
840
|
+
"network": "N2",
|
|
841
|
+
"direction": "client",
|
|
842
|
+
"description": "",
|
|
843
|
+
"address": "192.168.0.99",
|
|
844
|
+
"netmask": "255.255.255.0",
|
|
845
|
+
"static": false,
|
|
846
|
+
"external": false,
|
|
847
|
+
"valid": true,
|
|
848
|
+
"reduced": true
|
|
849
|
+
}
|
|
850
|
+
],
|
|
851
|
+
"servers": [
|
|
852
|
+
{
|
|
853
|
+
"name": "actor21",
|
|
854
|
+
"sut": "Actor",
|
|
855
|
+
"network": "N2",
|
|
856
|
+
"address": "192.168.0.99",
|
|
857
|
+
"netmask": "255.255.255.0",
|
|
858
|
+
"static": false,
|
|
859
|
+
"external": false,
|
|
860
|
+
"valid": true,
|
|
861
|
+
"reduced": true
|
|
862
|
+
},
|
|
863
|
+
{
|
|
864
|
+
"name": "actor22",
|
|
865
|
+
"sut": "Actor",
|
|
866
|
+
"network": "N2",
|
|
867
|
+
"address": "192.168.0.99",
|
|
868
|
+
"netmask": "255.255.255.0",
|
|
869
|
+
"static": false,
|
|
870
|
+
"external": false,
|
|
871
|
+
"valid": true,
|
|
872
|
+
"reduced": true
|
|
873
|
+
}
|
|
874
|
+
],
|
|
875
|
+
"clients": [
|
|
876
|
+
{
|
|
877
|
+
"name": "actor21",
|
|
878
|
+
"sut": "Actor",
|
|
879
|
+
"network": "N2",
|
|
880
|
+
"address": "192.168.0.99",
|
|
881
|
+
"netmask": "255.255.255.0",
|
|
882
|
+
"static": false,
|
|
883
|
+
"external": false,
|
|
884
|
+
"valid": true,
|
|
885
|
+
"reduced": true
|
|
886
|
+
},
|
|
887
|
+
{
|
|
888
|
+
"name": "actor22",
|
|
889
|
+
"sut": "Actor",
|
|
890
|
+
"network": "N2",
|
|
891
|
+
"address": "192.168.0.99",
|
|
892
|
+
"netmask": "255.255.255.0",
|
|
893
|
+
"static": false,
|
|
894
|
+
"external": false,
|
|
895
|
+
"valid": true,
|
|
896
|
+
"reduced": true
|
|
897
|
+
}
|
|
898
|
+
]
|
|
899
|
+
},
|
|
900
|
+
{
|
|
901
|
+
"name": "N3",
|
|
902
|
+
"sut": "Actor",
|
|
903
|
+
"family": "IPv4",
|
|
904
|
+
"subnet": "192.168.0.0",
|
|
905
|
+
"description": "Actor IPv4 network 3",
|
|
906
|
+
"valid": true,
|
|
907
|
+
"reduced": true,
|
|
908
|
+
"suts": [
|
|
909
|
+
{
|
|
910
|
+
"name": "actorSutN31",
|
|
911
|
+
"sut": "Actor",
|
|
912
|
+
"network": "N3",
|
|
913
|
+
"direction": "server/client",
|
|
914
|
+
"description": "",
|
|
915
|
+
"address": "192.168.0.99",
|
|
916
|
+
"netmask": "255.255.255.0",
|
|
917
|
+
"static": false,
|
|
918
|
+
"external": false,
|
|
919
|
+
"valid": true,
|
|
920
|
+
"reduced": true
|
|
921
|
+
}
|
|
922
|
+
],
|
|
923
|
+
"servers": [
|
|
924
|
+
{
|
|
925
|
+
"name": "actor31",
|
|
926
|
+
"sut": "Actor",
|
|
927
|
+
"network": "N3",
|
|
928
|
+
"address": "192.168.0.99",
|
|
929
|
+
"netmask": "255.255.255.0",
|
|
930
|
+
"static": false,
|
|
931
|
+
"external": false,
|
|
932
|
+
"valid": true,
|
|
933
|
+
"reduced": true
|
|
934
|
+
}
|
|
935
|
+
],
|
|
936
|
+
"clients": [
|
|
937
|
+
{
|
|
938
|
+
"name": "actor31",
|
|
939
|
+
"sut": "Actor",
|
|
940
|
+
"network": "N3",
|
|
941
|
+
"address": "192.168.0.99",
|
|
942
|
+
"netmask": "255.255.255.0",
|
|
943
|
+
"static": false,
|
|
944
|
+
"external": false,
|
|
945
|
+
"valid": true,
|
|
946
|
+
"reduced": true
|
|
947
|
+
}
|
|
948
|
+
]
|
|
949
|
+
},
|
|
950
|
+
{
|
|
951
|
+
"name": "Nv6",
|
|
952
|
+
"sut": "Actor",
|
|
953
|
+
"family": "IPv6",
|
|
954
|
+
"subnet": "",
|
|
955
|
+
"description": "Actor IPv6 network 1",
|
|
956
|
+
"valid": false,
|
|
957
|
+
"reduced": false,
|
|
958
|
+
"suts": [],
|
|
959
|
+
"servers": [],
|
|
960
|
+
"clients": []
|
|
961
|
+
}
|
|
962
|
+
];
|
|
963
|
+
}
|
|
964
|
+
|
|
965
|
+
// DOUBLE CODE
|
|
966
|
+
static _getClassFromName(resultName) {
|
|
967
|
+
const foundIndex = ComponentMarkup.logTypePureNames.indexOf(resultName);
|
|
968
|
+
if(-1 !== foundIndex) {
|
|
969
|
+
return ComponentMarkup.logTypeCsses[foundIndex];
|
|
970
|
+
}
|
|
971
|
+
else {
|
|
972
|
+
return '';
|
|
973
|
+
}
|
|
974
|
+
}
|
|
975
|
+
}
|
|
976
|
+
|
|
977
|
+
// DOUBLE CODE
|
|
978
|
+
ComponentMarkup.logTypePureNames = [
|
|
979
|
+
'Engine',
|
|
980
|
+
'Debug',
|
|
981
|
+
'Error',
|
|
982
|
+
'Warning',
|
|
983
|
+
'IP',
|
|
984
|
+
'GUI',
|
|
985
|
+
'Success',
|
|
986
|
+
'Failure',
|
|
987
|
+
'TestData',
|
|
988
|
+
'BrowserLog',
|
|
989
|
+
'BrowserError'
|
|
990
|
+
];
|
|
991
|
+
|
|
992
|
+
// DOUBLE CODE
|
|
993
|
+
ComponentMarkup.logTypeCsses = [
|
|
994
|
+
'log_engine',
|
|
995
|
+
'log_debug',
|
|
996
|
+
'log_error',
|
|
997
|
+
'log_warning',
|
|
998
|
+
'log_ip',
|
|
999
|
+
'log_gui',
|
|
1000
|
+
'log_verify_success',
|
|
1001
|
+
'log_verify_failure',
|
|
1002
|
+
'log_test_data',
|
|
1003
|
+
'log_browser_log',
|
|
1004
|
+
'log_browser_err'
|
|
1005
|
+
];
|
|
1006
|
+
|
|
1007
|
+
ComponentMarkup.documentationStatusTexts = [
|
|
1008
|
+
'Not documented yet',
|
|
1009
|
+
'Partially documented',
|
|
1010
|
+
'Majority documented',
|
|
1011
|
+
'Fully documented'
|
|
1012
|
+
];
|
|
1013
|
+
|
|
1014
|
+
ComponentMarkup.documentationStatusCsses = [
|
|
1015
|
+
'color:White;background-color:Red;',
|
|
1016
|
+
'color:White;background-color:Orange;',
|
|
1017
|
+
'color:Grey;background-color:Yellow;',
|
|
1018
|
+
'color:White;background-color:Green;'
|
|
1019
|
+
];
|
|
1020
|
+
|
|
1021
|
+
ComponentMarkup.apiStatusTexts = [
|
|
1022
|
+
'Deprecated',
|
|
1023
|
+
'Experimental',
|
|
1024
|
+
'Stable',
|
|
1025
|
+
'Legacy'
|
|
1026
|
+
];
|
|
1027
|
+
|
|
1028
|
+
ComponentMarkup.apiStatusCsses = [
|
|
1029
|
+
'color:White;background-color:Red;',
|
|
1030
|
+
'color:White;background-color:Orange;',
|
|
1031
|
+
'color:White;background-color:Green;',
|
|
1032
|
+
'color:White;background-color:Blue;'
|
|
1033
|
+
];
|
|
1034
|
+
|
|
1035
|
+
|
|
1036
|
+
module.exports = ComponentMarkup;
|