cpee 2.1.56 → 2.1.57
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.
- checksums.yaml +4 -4
- data/cockpit/css/resources-label.css +33 -32
- data/cockpit/css/resources-svg.css +2 -2
- data/cockpit/css/ui.css +2 -42
- data/cockpit/css/wfadaptor.css +9 -0
- data/cockpit/edit.html +15 -2
- data/cockpit/graph.html +12 -1
- data/cockpit/index.html +14 -1
- data/cockpit/js/details.js +1 -0
- data/cockpit/js/instance.js +29 -13
- data/cockpit/js/resources.js +59 -11
- data/cockpit/js/wfadaptor.js +10 -6
- data/cockpit/model.html +3 -2
- data/cockpit/themes/base.js +1506 -0
- data/cockpit/themes/compact/rngs/start.rng +10 -0
- data/cockpit/themes/compact/symbols/start_event.svg +1 -1
- data/cockpit/themes/compact/theme.js +8 -1487
- data/cockpit/themes/control/rngs/start.rng +10 -0
- data/cockpit/themes/control/symbols/start_event.svg +1 -1
- data/cockpit/themes/control/theme.js +277 -1334
- data/cockpit/themes/dataflow/rngs/start.rng +10 -0
- data/cockpit/themes/dataflow/symbols/start_event.svg +1 -1
- data/cockpit/themes/dataflow/theme.js +144 -1563
- data/cockpit/themes/default/rngs/start.rng +10 -0
- data/cockpit/themes/default/symbols/start_event.svg +1 -1
- data/cockpit/themes/default/theme.js +1 -1493
- data/cockpit/themes/extended/rngs/start.rng +10 -0
- data/cockpit/themes/extended/symbols/start_event.svg +1 -1
- data/cockpit/themes/extended/theme.js +81 -1529
- data/cockpit/themes/felix/symbols/start_event.svg +1 -1
- data/cockpit/themes/felix/theme.js +68 -1528
- data/cockpit/themes/model/symbols/start_event.svg +1 -1
- data/cockpit/themes/model/theme.js +735 -1383
- data/cockpit/themes/packed/rngs/start.rng +10 -0
- data/cockpit/themes/packed/symbols/start_event.svg +1 -1
- data/cockpit/themes/packed/theme.js +9 -1487
- data/cockpit/themes/preset/rngs/start.rng +10 -0
- data/cockpit/themes/preset/symbols/start_event.svg +1 -1
- data/cockpit/themes/preset/theme.js +1 -1493
- data/cockpit/track.html +11 -0
- data/cpee.gemspec +1 -1
- data/lib/properties/executionhandler.rng +1 -1
- data/lib/properties.xml +1 -1
- data/server/executionhandlers/ruby/connection.rb +8 -11
- data/server/executionhandlers/rust/backend/README.md +17 -0
- data/server/executionhandlers/rust/backend/compile.sh +5 -0
- data/server/executionhandlers/rust/backend/opts.yaml +6 -0
- data/server/executionhandlers/rust/execution.rb +84 -0
- data/server/routing/end.pid +1 -1
- data/server/routing/forward-events-00.pid +1 -1
- data/server/routing/forward-votes.pid +1 -1
- data/server/routing/persist.pid +1 -1
- metadata +8 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 880c2cfd824abd01dda1b53285ef3fd95527fff1fd85084534e1158f1f9ed68b
|
4
|
+
data.tar.gz: 18269ab06823c002e027af1c111cb61a9865f82263e0aba59254c219c6424d66
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6359ca4690a8dbfc2ebbf3f03bb812c1dd27282cc8e7549404ec24404fa99c7f863ccd8bd2c1fb4aab6beb19468aa480fea2a4e127872a62ec888aa162a5b3d3
|
7
|
+
data.tar.gz: 4af5818c1a0779992da01302a989919b218ef4fd09d2cca4bd5f9253c3455563ca12984f77d04def36ae90b26ef29e14bfab9e5a2c2a8e3b97dbb4219eaa4c87
|
@@ -1,35 +1,36 @@
|
|
1
|
-
.
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
border-radius: 1em;
|
1
|
+
svg.displaylabel .displaylabel {
|
2
|
+
fill: var(--wfadaptor-background);
|
3
|
+
fill-opacity:1;
|
4
|
+
stroke: var(--wfadaptor-border);
|
5
|
+
stroke-width:1.6;
|
6
|
+
stroke-linecap:round;
|
7
|
+
stroke-linejoin:round;
|
8
|
+
stroke-miterlimit:4;
|
9
|
+
stroke-opacity:1;
|
10
|
+
stroke-dasharray:none;
|
12
11
|
}
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
width:
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
12
|
+
svg.displaylabel .displaylabelinner {
|
13
|
+
fill: var(--wfadaptor-background);
|
14
|
+
fill-opacity:1;
|
15
|
+
stroke: var(--wfadaptor-background);
|
16
|
+
stroke-width:1.6;
|
17
|
+
stroke-linecap:round;
|
18
|
+
stroke-linejoin:round;
|
19
|
+
stroke-miterlimit:4;
|
20
|
+
stroke-opacity:1;
|
21
|
+
stroke-dasharray:none;
|
23
22
|
}
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
23
|
+
svg.displaylabel text.label {
|
24
|
+
font-size:12px;
|
25
|
+
font-style:normal;
|
26
|
+
font-variant:normal;
|
27
|
+
font-stretch:normal;
|
28
|
+
text-align:center;
|
29
|
+
line-height:125%;
|
30
|
+
writing-mode:horizontal-tb;
|
31
|
+
text-anchor:start;
|
32
|
+
fill: var(--wfadaptor-base);
|
33
|
+
fill-opacity:1;
|
34
|
+
stroke:none;
|
35
|
+
font-family:Arial;
|
34
36
|
}
|
35
|
-
|
@@ -10,11 +10,11 @@ svg .resource-point.write {
|
|
10
10
|
svg .resource-point.both {
|
11
11
|
fill: blue;
|
12
12
|
}
|
13
|
-
svg line.resource-
|
13
|
+
svg line.resource-column {
|
14
14
|
stroke: red;
|
15
15
|
stroke-opacity: 0.1;
|
16
16
|
}
|
17
|
-
svg line.resource-
|
17
|
+
svg line.resource-column:hover {
|
18
18
|
stroke: red;
|
19
19
|
stroke-opacity: 0.2;
|
20
20
|
}
|
data/cockpit/css/ui.css
CHANGED
@@ -22,54 +22,14 @@ body {
|
|
22
22
|
#graphcanvas {
|
23
23
|
grid-column: 1;
|
24
24
|
}
|
25
|
-
#graphgrid .graphlabel {
|
26
|
-
padding-left: 0.5em;
|
27
|
-
padding-right: 0.5em;
|
28
|
-
display: flex;
|
29
|
-
flex-direction: row;
|
30
|
-
}
|
31
|
-
#graphgrid .graphempty {
|
32
|
-
padding-left: 0.5em;
|
33
|
-
display: flex;
|
34
|
-
flex-direction: row;
|
35
|
-
}
|
36
25
|
#graphgrid .graphlast {
|
37
26
|
padding-left: 0.5em;
|
38
27
|
display: flex;
|
39
28
|
flex-direction: row;
|
40
29
|
}
|
41
|
-
#graphgrid.striped .graphlabel, #graphgrid.striped .graphempty {
|
42
|
-
border-left: 1pt solid var(--wfadaptor-border);
|
43
|
-
}
|
44
|
-
#graphgrid.striped .graphlabel.even, #graphgrid.striped .graphempty.even, #graphgrid.striped .graphlast.even {
|
45
|
-
background-color: #e9e9e9;
|
46
|
-
}
|
47
|
-
#graphgrid .graphlabel > span {
|
48
|
-
align-self: center;
|
49
|
-
white-space: nowrap;
|
50
|
-
}
|
51
|
-
#graphgrid .graphlabel.hover {
|
52
|
-
color: var(--wfadaptor-selected);
|
53
|
-
cursor: pointer;
|
54
|
-
}
|
55
|
-
#graphgrid .graphlabel.selected {
|
56
|
-
color: var(--wfadaptor-selected);
|
57
|
-
}
|
58
30
|
|
59
|
-
#graphgrid
|
60
|
-
color:
|
61
|
-
}
|
62
|
-
#graphgrid .graphlabel a {
|
63
|
-
color: var(--x-ui-light-text-color);
|
64
|
-
}
|
65
|
-
#graphgrid .graphlabel a::after {
|
66
|
-
font: normal normal normal 14px/1 FontAwesome;
|
67
|
-
font-size: 0.8em;
|
68
|
-
text-rendering: auto;
|
69
|
-
content: ' ';
|
70
|
-
}
|
71
|
-
#graphgrid .graphlabel.selected a::after, graphgrid .graphlabel.hover a::after {
|
72
|
-
color: var(--wfadaptor-selected);
|
31
|
+
#graphgrid.striped .graphlast.even {
|
32
|
+
background-color: #e9e9e9;
|
73
33
|
}
|
74
34
|
|
75
35
|
#instance ui-content { height: 7em; }
|
data/cockpit/css/wfadaptor.css
CHANGED
@@ -218,6 +218,15 @@ svg .marked .cline {
|
|
218
218
|
stroke-dasharray:none;
|
219
219
|
}
|
220
220
|
|
221
|
+
svg.labelsrow text.label {
|
222
|
+
cursor: pointer;
|
223
|
+
}
|
224
|
+
svg.labelsrow text.label:hover, svg.labelsrow text.label.hover {
|
225
|
+
fill: var(--wfadaptor-selected);
|
226
|
+
}
|
227
|
+
svg text.label.selected {
|
228
|
+
fill: var(--wfadaptor-selected);
|
229
|
+
}
|
221
230
|
svg .selected text.label {
|
222
231
|
color: var(--wfadaptor-selected);
|
223
232
|
fill: var(--wfadaptor-selected);
|
data/cockpit/edit.html
CHANGED
@@ -17,6 +17,7 @@
|
|
17
17
|
<!DOCTYPE html>
|
18
18
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
19
19
|
<head>
|
20
|
+
<meta charset="utf-8"/>
|
20
21
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
21
22
|
<title>CPEE Cockpit</title>
|
22
23
|
|
@@ -46,16 +47,17 @@
|
|
46
47
|
|
47
48
|
<!-- modelling ui -->
|
48
49
|
<script type="text/javascript" src="js/wfadaptor.js"></script>
|
49
|
-
<link rel="stylesheet" href="css/wfadaptor.css" type="text/css"/>
|
50
|
+
<link rel="stylesheet" href="css/wfadaptor.css" type="text/css" data-include-export="true"/>
|
50
51
|
|
51
52
|
<!-- custom stuff, play arround -->
|
52
53
|
<script type="text/javascript" src="js/ui.js"></script>
|
53
54
|
<script type="text/javascript" src="js/instance.js"></script>
|
54
55
|
<script type="text/javascript" src="js/details.js"></script>
|
55
56
|
<script type="text/javascript" src="js/parameters.js"></script>
|
57
|
+
<script type="text/javascript" src="js/resources.js"></script>
|
56
58
|
<script type="text/javascript" src="js/edit.js"></script>
|
57
59
|
<script type="text/javascript" src="js/modifiers.js"></script>
|
58
|
-
<script type="text/javascript" src="
|
60
|
+
<script type="text/javascript" src="themes/base.js"></script>
|
59
61
|
<link rel="stylesheet" href="css/ui.css" type="text/css"/>
|
60
62
|
<link rel="stylesheet" href="css/resources-label.css" type="text/css"/>
|
61
63
|
<link rel="stylesheet" href="css/resources-svg.css" type="text/css" data-include-export="true"/>
|
@@ -120,6 +122,17 @@
|
|
120
122
|
<div class='menu' id='templates'></div>
|
121
123
|
<div class='menu' id='modeltypes'></div>
|
122
124
|
|
125
|
+
<template id="label">
|
126
|
+
<svg width="20" height="20" xmlns="http://www.w3.org/2000/svg" style="position: absolute; top: 0; left: 0;" class="displaylabel">
|
127
|
+
<g transform="translate(1 %%1) rotate(-%%2)">
|
128
|
+
<rect class="displaylabel" width="200" height="14" x="8" y="0" rx="5" ry="5"/>
|
129
|
+
<path class="displaylabel" d="M10,13 0,13 8,8"/>
|
130
|
+
<path class="displaylabelinner" d="M10,11.5 8.5,11.5 8.5,9.5 10,9.5"/>
|
131
|
+
<text class="label" x="18" y="10">aaaa</text>
|
132
|
+
</g>
|
133
|
+
</svg>
|
134
|
+
</template>
|
135
|
+
|
123
136
|
<ui-tabbed id="instance">
|
124
137
|
<ui-tabbar>
|
125
138
|
<ui-tab class="switch" ></ui-tab>
|
data/cockpit/graph.html
CHANGED
@@ -47,7 +47,7 @@
|
|
47
47
|
|
48
48
|
<!-- modelling ui -->
|
49
49
|
<script type="text/javascript" src="js/wfadaptor.js"></script>
|
50
|
-
<link rel="stylesheet" href="css/wfadaptor.css" type="text/css"/>
|
50
|
+
<link rel="stylesheet" href="css/wfadaptor.css" type="text/css" data-include-export="true"/>
|
51
51
|
|
52
52
|
<!-- custom stuff, play arround -->
|
53
53
|
<script type="text/javascript" src="js/ui.js"></script>
|
@@ -56,6 +56,7 @@
|
|
56
56
|
<script type="text/javascript" src="js/parameters.js"></script>
|
57
57
|
<script type="text/javascript" src="js/modifiers.js"></script>
|
58
58
|
<script type="text/javascript" src="js/resources.js"></script>
|
59
|
+
<script type="text/javascript" src="themes/base.js"></script>
|
59
60
|
<link rel="stylesheet" href="css/ui.css" type="text/css"/>
|
60
61
|
<link rel="stylesheet" href="css/resources-label.css" type="text/css"/>
|
61
62
|
<link rel="stylesheet" href="css/resources-svg.css" type="text/css" data-include-export="true"/>
|
@@ -63,6 +64,16 @@
|
|
63
64
|
</head>
|
64
65
|
<body data-base-port="8298" data-res-port="9303" data-theme-base="themes" is="x-ui-">
|
65
66
|
<div class='hidden' id='relaxngworker'></div>
|
67
|
+
<template id="label">
|
68
|
+
<svg width="20" height="20" xmlns="http://www.w3.org/2000/svg" style="position: absolute; top: 0; left: 0;" class="displaylabel">
|
69
|
+
<g transform="translate(1 %%1) rotate(-%%2)">
|
70
|
+
<rect class="displaylabel" width="200" height="14" x="8" y="0" rx="5" ry="5"/>
|
71
|
+
<path class="displaylabel" d="M10,13 0,13 8,8"/>
|
72
|
+
<path class="displaylabelinner" d="M10,11.5 8.5,11.5 8.5,9.5 10,9.5"/>
|
73
|
+
<text class="label" x="18" y="10">aaaa</text>
|
74
|
+
</g>
|
75
|
+
</svg>
|
76
|
+
</template>
|
66
77
|
<div id="trackfull">
|
67
78
|
<div id='graphcolumn'>
|
68
79
|
<div id='graphgrid'>
|
data/cockpit/index.html
CHANGED
@@ -17,6 +17,7 @@
|
|
17
17
|
<!DOCTYPE html>
|
18
18
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
19
19
|
<head>
|
20
|
+
<meta charset="utf-8"/>
|
20
21
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
21
22
|
<title>CPEE Cockpit</title>
|
22
23
|
|
@@ -53,8 +54,9 @@
|
|
53
54
|
<script type="text/javascript" src="js/instance.js"></script>
|
54
55
|
<script type="text/javascript" src="js/details.js"></script>
|
55
56
|
<script type="text/javascript" src="js/parameters.js"></script>
|
56
|
-
<script type="text/javascript" src="js/modifiers.js"></script>
|
57
57
|
<script type="text/javascript" src="js/resources.js"></script>
|
58
|
+
<script type="text/javascript" src="js/modifiers.js"></script>
|
59
|
+
<script type="text/javascript" src="themes/base.js"></script>
|
58
60
|
<link rel="stylesheet" href="css/ui.css" type="text/css"/>
|
59
61
|
<link rel="stylesheet" href="css/resources-label.css" type="text/css"/>
|
60
62
|
<link rel="stylesheet" href="css/resources-svg.css" type="text/css" data-include-export="true"/>
|
@@ -119,6 +121,17 @@
|
|
119
121
|
<div class='menu' id='templates'></div>
|
120
122
|
<div class='menu' id='modeltypes'></div>
|
121
123
|
|
124
|
+
<template id="label">
|
125
|
+
<svg width="20" height="20" xmlns="http://www.w3.org/2000/svg" style="position: absolute; top: 0; left: 0;" class="displaylabel">
|
126
|
+
<g transform="translate(1 %%1) rotate(-%%2)">
|
127
|
+
<rect class="displaylabel" width="200" height="14" x="8" y="0" rx="5" ry="5"/>
|
128
|
+
<path class="displaylabel" d="M10,13 0,13 8,8"/>
|
129
|
+
<path class="displaylabelinner" d="M10,11.5 8.5,11.5 8.5,9.5 10,9.5"/>
|
130
|
+
<text class="label" x="18" y="10">aaaa</text>
|
131
|
+
</g>
|
132
|
+
</svg>
|
133
|
+
</template>
|
134
|
+
|
122
135
|
<ui-tabbed id="instance">
|
123
136
|
<ui-tabbar>
|
124
137
|
<ui-tab class="switch" ></ui-tab>
|
data/cockpit/js/details.js
CHANGED
@@ -68,6 +68,7 @@ function do_main_work() { //{{{
|
|
68
68
|
vtarget.parents('g.element[element-id]').addClass('selected');
|
69
69
|
}
|
70
70
|
manifestation.adaptor.illustrator.get_label_by_svg_id(svgid).addClass('selected');
|
71
|
+
$('#graphgrid [element-id=' + svgid + ']').addClass('selected');
|
71
72
|
|
72
73
|
|
73
74
|
var newnode = vtarget.parents('g.element[element-id]');
|
data/cockpit/js/instance.js
CHANGED
@@ -567,7 +567,7 @@ function adaptor_init(url,theme,dslx) { //{{{
|
|
567
567
|
$('#graphgrid').removeClass('striped');
|
568
568
|
}
|
569
569
|
|
570
|
-
$('
|
570
|
+
$('.labelsrow, #graphgrid .graphlast').remove();
|
571
571
|
let tcolumns = [];
|
572
572
|
let tcolumntype = {};
|
573
573
|
let tcolumncount = {}
|
@@ -605,9 +605,10 @@ function adaptor_init(url,theme,dslx) { //{{{
|
|
605
605
|
mapPoints.set(k, p);
|
606
606
|
}
|
607
607
|
|
608
|
-
let tsvg = $X('<g xmlns="http://www.w3.org/2000/svg"></g>');
|
608
|
+
let tsvg = $X('<g xmlns="http://www.w3.org/2000/svg" class="resource-row" element-row="' + (val.row-1) + '"></g>');
|
609
609
|
|
610
610
|
var cx = space;
|
611
|
+
var count = 0;
|
611
612
|
for (const [k, p] of mapPoints) {
|
612
613
|
let firstAssignFlag = false;
|
613
614
|
p.x = cx;
|
@@ -617,12 +618,15 @@ function adaptor_init(url,theme,dslx) { //{{{
|
|
617
618
|
let inner;
|
618
619
|
|
619
620
|
if (p.AR == "Read") {
|
620
|
-
inner = $X('<polygon xmlns="http://www.w3.org/2000/svg" points="' + (p.x) + ',' + pos + ' ' + (p.x + iconsize) + ',' + (pos + iconsize/2) + ' ' + (p.x + iconsize) + ',' + (pos - iconsize/2) + '" class="resource-point read"></polygon>');
|
621
|
+
inner = $X('<polygon xmlns="http://www.w3.org/2000/svg" resource-column="' + count + '" points="' + (p.x) + ',' + pos + ' ' + (p.x + iconsize) + ',' + (pos + iconsize/2) + ' ' + (p.x + iconsize) + ',' + (pos - iconsize/2) + '" class="resource-point read"></polygon>');
|
621
622
|
if (pos == p.y0) { firstAssignFlag = true; }
|
622
623
|
} else if (p.AR == "Assign") { // Define points for a triangle pointing to the left
|
623
|
-
inner = $X('<polygon xmlns="http://www.w3.org/2000/svg" points="' + (p.x + iconsize) + ',' + pos + ' ' + (p.x) + ',' + (pos + iconsize/2) + ' ' + (p.x) + ',' + (pos - iconsize/2) + '" class="resource-point write"></polygon>');
|
624
|
+
inner = $X('<polygon xmlns="http://www.w3.org/2000/svg" resource-column="' + count + '" points="' + (p.x + iconsize) + ',' + pos + ' ' + (p.x) + ',' + (pos + iconsize/2) + ' ' + (p.x) + ',' + (pos - iconsize/2) + '" class="resource-point write"></polygon>');
|
624
625
|
} else if (p.AR == "AssignRead") {
|
625
|
-
inner = $X('<circle xmlns="http://www.w3.org/2000/svg" cx="' + (p.x + iconsize/2) + '" cy="' + pos + '" r="' + (iconsize / 2) + '" class="resource-point both"></circle>');
|
626
|
+
inner = $X('<circle xmlns="http://www.w3.org/2000/svg" resource-column="' + count + '" cx="' + (p.x + iconsize/2) + '" cy="' + pos + '" r="' + (iconsize / 2) + '" class="resource-point both"></circle>');
|
627
|
+
} else if (p.AR == "ReadAssign") {
|
628
|
+
inner = $X('<circle xmlns="http://www.w3.org/2000/svg" resource-column="' + count + '" cx="' + (p.x + iconsize/2) + '" cy="' + pos + '" r="' + (iconsize / 2) + '" class="resource-point both"></circle>');
|
629
|
+
if (pos == p.y0) { firstAssignFlag = true; }
|
626
630
|
}
|
627
631
|
|
628
632
|
// extend the bars
|
@@ -635,16 +639,26 @@ function adaptor_init(url,theme,dslx) { //{{{
|
|
635
639
|
}
|
636
640
|
|
637
641
|
if (firstAssignFlag) {
|
638
|
-
// Additional logic and construction of another polygon for orange triangle pointing left
|
642
|
+
// Additional logic and construction of another polygon for orange triangle pointing left in row 0
|
639
643
|
p.y0 -= (val.row-1) * dimensions.height;
|
640
|
-
|
644
|
+
if (tcolumnsvgs[col.column][1] == undefined) {
|
645
|
+
tcolumnsvgs[col.column][1] = $X('<g xmlns="http://www.w3.org/2000/svg" class="resource-row" element-row="' + 0 + '"></g>');
|
646
|
+
}
|
647
|
+
tcolumnsvgs[col.column][1].append($X('<polygon xmlns="http://www.w3.org/2000/svg" resource-column="' + count + '" points="' + (p.x + iconsize) + ',' + firstpos + ' ' + (p.x) + ',' + (firstpos + iconsize/2) + ' ' + (p.x) + ',' + (firstpos - iconsize/2) + '" class="resource-point write"></polygon>').append($X('<text xmlns="http://www.w3.org/2000/svg"></text>').text(k)));
|
641
648
|
}
|
642
649
|
cx += iconsize + space;
|
650
|
+
count += 1;
|
643
651
|
}
|
644
652
|
|
645
|
-
|
653
|
+
if (tsvg.children().length > 0) {
|
654
|
+
tcolumnsvgs[col.column][val.row] = tsvg;
|
655
|
+
}
|
646
656
|
} else {
|
647
|
-
tsvg = $X('<text
|
657
|
+
tsvg = $X('<text class="label" element-id="' + val.element_id + '" x="' + space + '" y="' + (dimensions.height * val.row - dimensions.height_shift) + '" xmlns="http://www.w3.org/2000/svg"></text>')
|
658
|
+
tsvg.text(col.value);
|
659
|
+
tsvg.mouseover(function(ev){ manifestation.events.mouseover($(ev.currentTarget).attr('element-id')); });
|
660
|
+
tsvg.mouseout(function(ev){ manifestation.events.mouseout($(ev.currentTarget).attr('element-id')); });
|
661
|
+
tsvg.click(function(ev){ manifestation.events.click($(ev.currentTarget).attr('element-id')); });
|
648
662
|
tcolumnsvgs[col.column][val.row] = tsvg;
|
649
663
|
}
|
650
664
|
|
@@ -661,7 +675,7 @@ function adaptor_init(url,theme,dslx) { //{{{
|
|
661
675
|
|
662
676
|
tcolumns.forEach(h => {
|
663
677
|
if (Object.keys(tcolumnsvgs[h]).length > 0) {
|
664
|
-
const svgcolumn = $X('<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:x="http://www.w3.org/1999/xlink"
|
678
|
+
const svgcolumn = $X('<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:x="http://www.w3.org/1999/xlink" class="labelsrow"></svg>');
|
665
679
|
const svgback = $X('<g xmlns="http://www.w3.org/2000/svg"></g>');
|
666
680
|
const svgfront = $X('<g xmlns="http://www.w3.org/2000/svg"></g>');
|
667
681
|
let xwidth = 0;
|
@@ -684,8 +698,10 @@ function adaptor_init(url,theme,dslx) { //{{{
|
|
684
698
|
}
|
685
699
|
}
|
686
700
|
if (tcolumntype[h] == 'resource' || tcolumntype[h] == 'bodsod') {
|
701
|
+
let count = 0;
|
687
702
|
for (const [k, p] of mapPoints) {
|
688
|
-
svgback.append($X('<line xmlns="http://www.w3.org/2000/svg" x1="' + (p.x + iconsize/2) + '" y1="' + p.y0 + '" x2="' + (p.x + iconsize/2) + '" y2="' + p.ymax + '" class="' + tcolumntype[h] + '-
|
703
|
+
svgback.append($X('<line xmlns="http://www.w3.org/2000/svg" resource-column="' + count + '" x1="' + (p.x + iconsize/2) + '" y1="' + p.y0 + '" x2="' + (p.x + iconsize/2) + '" y2="' + (p.ymax + 0.01) + '" class="' + tcolumntype[h] + '-column" stroke-width="' + iconsize + '"><text>' + k + '</text></line>'));
|
704
|
+
count += 1;
|
689
705
|
}
|
690
706
|
}
|
691
707
|
|
@@ -1110,6 +1126,7 @@ function save_svgfile() {// {{{
|
|
1110
1126
|
});
|
1111
1127
|
gc.append(gr);
|
1112
1128
|
});
|
1129
|
+
gc.find('.selected').removeClass('selected');
|
1113
1130
|
var varreps = {};
|
1114
1131
|
$(window.document.styleSheets).each(function(i,x){
|
1115
1132
|
if (x && x.href && x.ownerNode.attributes.getNamedItem('data-include-export')) {
|
@@ -1127,7 +1144,6 @@ function save_svgfile() {// {{{
|
|
1127
1144
|
loc.each(function(k,loco) {
|
1128
1145
|
var sty = $(loco).attr('style') == undefined ? '' : $(loco).attr('style');
|
1129
1146
|
$(loco).attr('style',cst + sty);
|
1130
|
-
console.log(loco);
|
1131
1147
|
});
|
1132
1148
|
});
|
1133
1149
|
var loc = $(gc).find('text.super');
|
@@ -1152,7 +1168,7 @@ async function set_testset(testset,exec) {// {{{
|
|
1152
1168
|
var promises = [];
|
1153
1169
|
|
1154
1170
|
var tset = $X('<properties xmlns="http://cpee.org/ns/properties/2.0"/>');
|
1155
|
-
tset.append($("testset >
|
1171
|
+
tset.append($("testset > executionhandler",testset));
|
1156
1172
|
tset.append($("testset > positions",testset));
|
1157
1173
|
tset.append($("testset > dataelements",testset));
|
1158
1174
|
tset.append($("testset > endpoints",testset));
|
data/cockpit/js/resources.js
CHANGED
@@ -1,16 +1,64 @@
|
|
1
|
+
function show_label(x,y,deg,text) {
|
2
|
+
const degrees_to_radians = deg => (deg * Math.PI) / 180.0;
|
3
|
+
|
4
|
+
let clone = $('svg',document.querySelector('#label').content.cloneNode(true));
|
5
|
+
$('text',clone).text(text);
|
6
|
+
let n = $('body').append(clone);
|
7
|
+
let dim = $('text',clone)[0].getBBox();
|
8
|
+
let height = $('rect',clone).attr('height');
|
9
|
+
let width = dim.width + dim.x;
|
10
|
+
let shift = (width + 10) * Math.sin(degrees_to_radians(deg));
|
11
|
+
let shift_plus = height * Math.sin(degrees_to_radians(90-deg));
|
12
|
+
let neigh = (width + 10) * Math.cos(degrees_to_radians(deg)) + height * Math.cos(degrees_to_radians(90-deg));
|
13
|
+
|
14
|
+
let top_y = 23 * Math.cos(degrees_to_radians(deg));
|
15
|
+
let top_x = 23 * Math.sin(degrees_to_radians(deg));
|
16
|
+
|
17
|
+
$(clone).css('left',x-top_x);
|
18
|
+
$(clone).css('top',y-shift-top_y);
|
19
|
+
|
20
|
+
$(clone).attr('height',shift + shift_plus + 2);
|
21
|
+
$(clone).attr('width',neigh + 2);
|
22
|
+
$('g',clone).attr('transform',$('g',clone).attr('transform').replace(/%%1/, shift + 1).replace(/%%2/, deg));
|
23
|
+
$('rect',clone).attr('width',width);
|
24
|
+
}
|
25
|
+
|
26
|
+
function show_row_label(data) {
|
27
|
+
let pos = data.getBoundingClientRect();
|
28
|
+
let pos_top = $('#graphcolumn')[0].getBoundingClientRect();
|
29
|
+
let pos_y;
|
30
|
+
let text = $('text',data).text();
|
31
|
+
if (pos.y < (pos_top.y + 10)) {
|
32
|
+
pos_y = pos_top.y + 10;
|
33
|
+
} else {
|
34
|
+
pos_y = pos.y;
|
35
|
+
}
|
36
|
+
show_label(pos.x + 12, pos_y, 60, text);
|
37
|
+
}
|
38
|
+
|
1
39
|
$(document).ready(function() {
|
2
|
-
|
3
|
-
|
40
|
+
var current_label;
|
41
|
+
$('#graphgrid').on('mouseout','svg .resource-column, svg .resource-point',(data)=>{
|
42
|
+
$('.displaylabel').remove();
|
43
|
+
current_label = undefined;
|
4
44
|
});
|
5
|
-
$('#
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
let labeltext = $('text',data.currentTarget).text();
|
10
|
-
$('.resource-label').text(labeltext);
|
11
|
-
$('.resource-label').css('left', pos);
|
12
|
-
$('.resource-label').css('top', data.originalEvent.clientY - 50);
|
13
|
-
$('.resource-label').show();
|
45
|
+
$('#graphcolumn').scroll((data)=>{
|
46
|
+
if (current_label != undefined) {
|
47
|
+
$('.displaylabel').remove();
|
48
|
+
show_row_label(current_label);
|
14
49
|
}
|
15
50
|
});
|
51
|
+
$('#graphgrid').on('mouseover','svg .resource-column',(data)=>{
|
52
|
+
show_row_label(data.target);
|
53
|
+
current_label = data.target;
|
54
|
+
});
|
55
|
+
$('#graphgrid').on('mouseover','svg .resource-point',(ev)=>{
|
56
|
+
let rc = $(ev.target).attr('resource-column');
|
57
|
+
let data = $('.resource-column[resource-column=' + rc + ']')[0];
|
58
|
+
show_row_label(data);
|
59
|
+
current_label = data;
|
60
|
+
// let pos = data.target.getBoundingClientRect();
|
61
|
+
// let text = $('text',data.target).text();
|
62
|
+
// show_label(pos.x + 12, pos.y + 5, 60, text);
|
63
|
+
});
|
16
64
|
});
|
data/cockpit/js/wfadaptor.js
CHANGED
@@ -153,12 +153,14 @@ function WfAdaptor(theme_base,doit) { // Controller {{{
|
|
153
153
|
} // }}}
|
154
154
|
|
155
155
|
// WfIllustrator:
|
156
|
-
// Is in charge of displaying the Graph. It is further able insert and remove elements with given ID's from the
|
156
|
+
// Is in charge of displaying the Graph. It is further able insert and remove elements with given ID's from the illustration.
|
157
157
|
function WfIllustrator(wf_adaptor) { // View {{{
|
158
158
|
// Variable {{{
|
159
159
|
// public
|
160
160
|
this.height = 40;
|
161
161
|
this.width = 40;
|
162
|
+
this.default_width = 40;
|
163
|
+
this.default_height = 40;
|
162
164
|
this.height_shift = this.height * 0.26;
|
163
165
|
this.width_shift = this.width * 0.39;
|
164
166
|
this.elements = {}; // the svgs
|
@@ -230,14 +232,16 @@ function WfIllustrator(wf_adaptor) { // View {{{
|
|
230
232
|
|
231
233
|
var draw_symbol = this.draw.draw_symbol = function (sname, id, title, row, col, group, addition) { // {{{
|
232
234
|
if(self.elements[sname] == undefined || self.elements[sname].svg == undefined) sname = 'unknown';
|
235
|
+
let center_x = (self.width - self.default_width) / 2;
|
236
|
+
let center_y = (self.height - self.default_height) / 2;
|
233
237
|
if (addition) {
|
234
|
-
var g = $X('<g class="element" element-type="' + sname + '" element-id="' + id + '" xmlns="http://www.w3.org/2000/svg">' +
|
235
|
-
'<g transform="translate(' + String(col*self.width-self.width_shift) + ',' + String(row*self.height-(self.height-self.height_shift)) + ')"></g>' +
|
238
|
+
var g = $X('<g class="element" element-row="' + (row-1) + '" element-type="' + sname + '" element-id="' + id + '" xmlns="http://www.w3.org/2000/svg">' +
|
239
|
+
'<g transform="translate(' + String(col*self.width+center_x-self.width_shift) + ',' + String(row*self.height+center_y-(self.height-self.height_shift)) + ')"></g>' +
|
236
240
|
'</g>');
|
237
241
|
} else {
|
238
|
-
var g = $X('<g class="element" element-type="' + sname + '" element-id="' + id + '" xmlns="http://www.w3.org/2000/svg">' +
|
239
|
-
'<g transform="translate(' + String(col*self.width-self.width_shift) + ',' + String(row*self.height-(self.height-self.height_shift)) + ')">' +
|
240
|
-
'<text class="super" transform="translate(
|
242
|
+
var g = $X('<g class="element" element-row="' + (row-1) + '" element-type="' + sname + '" element-id="' + id + '" xmlns="http://www.w3.org/2000/svg">' +
|
243
|
+
'<g transform="translate(' + String(col*self.width+center_x-self.width_shift) + ',' + String(row*self.height+center_y-(self.height-self.height_shift)) + ')">' +
|
244
|
+
'<text class="super" transform="translate(' + (self.default_width-10) + ',8.4)">' +
|
241
245
|
'<tspan class="active">0</tspan>' +
|
242
246
|
'<tspan class="colon">,</tspan>' +
|
243
247
|
'<tspan class="vote">0</tspan>' +
|
data/cockpit/model.html
CHANGED
@@ -46,7 +46,7 @@
|
|
46
46
|
|
47
47
|
<!-- modelling ui -->
|
48
48
|
<script type="text/javascript" src="js/wfadaptor.js"></script>
|
49
|
-
<link rel="stylesheet" href="css/wfadaptor.css" type="text/css"/>
|
49
|
+
<link rel="stylesheet" href="css/wfadaptor.css" type="text/css" data-include-export="true"/>
|
50
50
|
|
51
51
|
<!-- custom stuff, play arround -->
|
52
52
|
<script type="text/javascript" src="js/ui.js"></script>
|
@@ -54,8 +54,9 @@
|
|
54
54
|
<script type="text/javascript" src="js/details.js"></script>
|
55
55
|
<script type="text/javascript" src="js/parameters.js"></script>
|
56
56
|
<script type="text/javascript" src="js/model.js"></script>
|
57
|
-
<script type="text/javascript" src="js/modifiers.js"></script>
|
58
57
|
<script type="text/javascript" src="js/edit.js"></script>
|
58
|
+
<script type="text/javascript" src="js/modifiers.js"></script>
|
59
|
+
<script type="text/javascript" src="themes/base.js"></script>
|
59
60
|
<link rel="stylesheet" href="css/ui.css" type="text/css"/>
|
60
61
|
<link rel="stylesheet" href="css/model.css" type="text/css"/>
|
61
62
|
<link rel="stylesheet" href="css/resources-label.css" type="text/css"/>
|