cpee 2.1.51 → 2.1.53
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.css +42 -0
- data/cockpit/css/ui.css +4 -0
- data/cockpit/edit.html +4 -1
- data/cockpit/index.html +3 -0
- data/cockpit/js/details.js +9 -14
- data/cockpit/js/edit.js +3 -0
- data/cockpit/js/instance.js +264 -64
- data/cockpit/js/modifiers.js +12 -15
- data/cockpit/js/parameters.js +4 -10
- data/cockpit/js/resources.js +16 -0
- data/cockpit/js/wfadaptor.js +3 -3
- data/cockpit/templates/Coopis 2010.xml +15 -2
- data/cockpit/templates/Worklist.xml +6 -7
- data/cockpit/themes/compact/rngs/call.rng +6 -4
- data/cockpit/themes/compact/rngs/callmanipulate.rng +6 -4
- data/cockpit/themes/compact/rngs/parallel.rng +2 -2
- data/cockpit/themes/compact/rngs/start.rng +3 -3
- data/cockpit/themes/compact/theme.js +11 -1
- data/cockpit/themes/control/rngs/call.rng +6 -4
- data/cockpit/themes/control/rngs/callmanipulate.rng +6 -4
- data/cockpit/themes/control/rngs/parallel.rng +2 -2
- data/cockpit/themes/control/rngs/start.rng +3 -3
- data/cockpit/themes/control/theme.js +11 -1
- data/cockpit/themes/dataflow/rngs/alternative.rng +25 -0
- data/cockpit/themes/dataflow/rngs/call.rng +228 -0
- data/cockpit/themes/dataflow/rngs/callmanipulate.rng +257 -0
- data/cockpit/themes/dataflow/rngs/choose.rng +14 -0
- data/cockpit/themes/dataflow/rngs/closed_loop.rng +62 -0
- data/cockpit/themes/dataflow/rngs/closed_loop_cancel.rng +5 -0
- data/cockpit/themes/dataflow/rngs/closed_loop_control.rng +31 -0
- data/cockpit/themes/dataflow/rngs/closed_loop_measuring.rng +12 -0
- data/cockpit/themes/dataflow/rngs/critical.rng +5 -0
- data/cockpit/themes/dataflow/rngs/escape.rng +1 -0
- data/cockpit/themes/dataflow/rngs/group.rng +3 -0
- data/cockpit/themes/dataflow/rngs/loop.rng +22 -0
- data/cockpit/themes/dataflow/rngs/manipulate.rng +9 -0
- data/cockpit/themes/dataflow/rngs/otherwise.rng +22 -0
- data/cockpit/themes/dataflow/rngs/parallel.rng +27 -0
- data/cockpit/themes/dataflow/rngs/parallel_branch.rng +2 -0
- data/cockpit/themes/dataflow/rngs/scripts.rng +23 -0
- data/cockpit/themes/dataflow/rngs/start.rng +121 -0
- data/cockpit/themes/dataflow/rngs/stop.rng +5 -0
- data/cockpit/themes/dataflow/rngs/terminate.rng +1 -0
- data/cockpit/themes/dataflow/symbols/alternative.svg +5 -0
- data/cockpit/themes/dataflow/symbols/arrow.svg +3 -0
- data/cockpit/themes/dataflow/symbols/call.svg +6 -0
- data/cockpit/themes/dataflow/symbols/call_sensor.svg +9 -0
- data/cockpit/themes/dataflow/symbols/callmanipulate.svg +8 -0
- data/cockpit/themes/dataflow/symbols/callmanipulate_sensor.svg +11 -0
- data/cockpit/themes/dataflow/symbols/choose.svg +5 -0
- data/cockpit/themes/dataflow/symbols/choose_exclusive.svg +5 -0
- data/cockpit/themes/dataflow/symbols/choose_inclusive.svg +4 -0
- data/cockpit/themes/dataflow/symbols/closed_loop.svg +5 -0
- data/cockpit/themes/dataflow/symbols/closed_loop_cancel.svg +5 -0
- data/cockpit/themes/dataflow/symbols/closed_loop_control.svg +5 -0
- data/cockpit/themes/dataflow/symbols/closed_loop_measuring.svg +6 -0
- data/cockpit/themes/dataflow/symbols/complex.svg +8 -0
- data/cockpit/themes/dataflow/symbols/critical.svg +4 -0
- data/cockpit/themes/dataflow/symbols/delete.svg +4 -0
- data/cockpit/themes/dataflow/symbols/end.svg +3 -0
- data/cockpit/themes/dataflow/symbols/escape.svg +5 -0
- data/cockpit/themes/dataflow/symbols/event_end.svg +3 -0
- data/cockpit/themes/dataflow/symbols/loop.svg +5 -0
- data/cockpit/themes/dataflow/symbols/manipulate.svg +4 -0
- data/cockpit/themes/dataflow/symbols/otherwise.svg +5 -0
- data/cockpit/themes/dataflow/symbols/parallel.svg +5 -0
- data/cockpit/themes/dataflow/symbols/parallel_branch.svg +5 -0
- data/cockpit/themes/dataflow/symbols/parallel_branch_compact.svg +4 -0
- data/cockpit/themes/dataflow/symbols/parallel_branch_event.svg +14 -0
- data/cockpit/themes/dataflow/symbols/parallel_branch_normal.svg +5 -0
- data/cockpit/themes/dataflow/symbols/parallel_eventbased_exclusive.svg +9 -0
- data/cockpit/themes/dataflow/symbols/parallel_eventbased_parallel.svg +8 -0
- data/cockpit/themes/dataflow/symbols/scripts.svg +4 -0
- data/cockpit/themes/dataflow/symbols/start.svg +3 -0
- data/cockpit/themes/dataflow/symbols/start_event.svg +5 -0
- data/cockpit/themes/dataflow/symbols/stop.svg +5 -0
- data/cockpit/themes/dataflow/symbols/terminate.svg +4 -0
- data/cockpit/themes/dataflow/theme.js +1566 -0
- data/cockpit/themes/default/rngs/call.rng +6 -4
- data/cockpit/themes/default/rngs/callmanipulate.rng +6 -4
- data/cockpit/themes/default/rngs/parallel.rng +2 -2
- data/cockpit/themes/default/rngs/start.rng +3 -3
- data/cockpit/themes/default/theme.js +12 -1
- data/cockpit/themes/extended/rngs/call.rng +6 -4
- data/cockpit/themes/extended/rngs/callmanipulate.rng +6 -4
- data/cockpit/themes/extended/rngs/parallel.rng +2 -2
- data/cockpit/themes/extended/rngs/start.rng +3 -3
- data/cockpit/themes/extended/theme.js +12 -1
- data/cockpit/themes/felix/rngs/alternative.rng +25 -0
- data/cockpit/themes/felix/rngs/call.rng +229 -0
- data/cockpit/themes/felix/rngs/callmanipulate.rng +259 -0
- data/cockpit/themes/felix/rngs/choose.rng +14 -0
- data/cockpit/themes/felix/rngs/closed_loop.rng +62 -0
- data/cockpit/themes/felix/rngs/closed_loop_cancel.rng +5 -0
- data/cockpit/themes/felix/rngs/closed_loop_control.rng +31 -0
- data/cockpit/themes/felix/rngs/closed_loop_measuring.rng +12 -0
- data/cockpit/themes/felix/rngs/critical.rng +5 -0
- data/cockpit/themes/felix/rngs/escape.rng +1 -0
- data/cockpit/themes/felix/rngs/group.rng +3 -0
- data/cockpit/themes/felix/rngs/loop.rng +22 -0
- data/cockpit/themes/felix/rngs/manipulate.rng +20 -0
- data/cockpit/themes/felix/rngs/otherwise.rng +22 -0
- data/cockpit/themes/felix/rngs/parallel.rng +27 -0
- data/cockpit/themes/felix/rngs/parallel_branch.rng +2 -0
- data/cockpit/themes/felix/rngs/scripts.rng +23 -0
- data/cockpit/themes/felix/rngs/start.rng +121 -0
- data/cockpit/themes/felix/rngs/stop.rng +5 -0
- data/cockpit/themes/felix/rngs/terminate.rng +1 -0
- data/cockpit/themes/felix/symbols/alternative.svg +5 -0
- data/cockpit/themes/felix/symbols/arrow.svg +3 -0
- data/cockpit/themes/felix/symbols/call.svg +6 -0
- data/cockpit/themes/felix/symbols/call_sensor.svg +9 -0
- data/cockpit/themes/felix/symbols/callmanipulate.svg +8 -0
- data/cockpit/themes/felix/symbols/callmanipulate_sensor.svg +11 -0
- data/cockpit/themes/felix/symbols/choose.svg +5 -0
- data/cockpit/themes/felix/symbols/choose_exclusive.svg +5 -0
- data/cockpit/themes/felix/symbols/choose_inclusive.svg +4 -0
- data/cockpit/themes/felix/symbols/closed_loop.svg +5 -0
- data/cockpit/themes/felix/symbols/closed_loop_cancel.svg +5 -0
- data/cockpit/themes/felix/symbols/closed_loop_control.svg +5 -0
- data/cockpit/themes/felix/symbols/closed_loop_measuring.svg +6 -0
- data/cockpit/themes/felix/symbols/complex.svg +8 -0
- data/cockpit/themes/felix/symbols/critical.svg +4 -0
- data/cockpit/themes/felix/symbols/delete.svg +4 -0
- data/cockpit/themes/felix/symbols/end.svg +3 -0
- data/cockpit/themes/felix/symbols/escape.svg +5 -0
- data/cockpit/themes/felix/symbols/event_end.svg +3 -0
- data/cockpit/themes/felix/symbols/loop.svg +5 -0
- data/cockpit/themes/felix/symbols/manipulate.svg +4 -0
- data/cockpit/themes/felix/symbols/otherwise.svg +5 -0
- data/cockpit/themes/felix/symbols/parallel.svg +5 -0
- data/cockpit/themes/felix/symbols/parallel_branch.svg +5 -0
- data/cockpit/themes/felix/symbols/parallel_branch_compact.svg +4 -0
- data/cockpit/themes/felix/symbols/parallel_branch_event.svg +14 -0
- data/cockpit/themes/felix/symbols/parallel_branch_normal.svg +5 -0
- data/cockpit/themes/felix/symbols/parallel_eventbased_exclusive.svg +9 -0
- data/cockpit/themes/felix/symbols/parallel_eventbased_parallel.svg +8 -0
- data/cockpit/themes/felix/symbols/scripts.svg +4 -0
- data/cockpit/themes/felix/symbols/start.svg +3 -0
- data/cockpit/themes/felix/symbols/start_event.svg +5 -0
- data/cockpit/themes/felix/symbols/stop.svg +5 -0
- data/cockpit/themes/felix/symbols/terminate.svg +4 -0
- data/cockpit/themes/felix/theme.js +1526 -0
- data/cockpit/themes/model/rngs/call.rng +10 -10
- data/cockpit/themes/model/rngs/callmanipulate.rng +10 -10
- data/cockpit/themes/model/theme.js +11 -1
- data/cockpit/themes/packed/rngs/call.rng +6 -4
- data/cockpit/themes/packed/rngs/callmanipulate.rng +6 -4
- data/cockpit/themes/packed/rngs/parallel.rng +2 -2
- data/cockpit/themes/packed/rngs/start.rng +3 -3
- data/cockpit/themes/packed/theme.js +11 -1
- data/cockpit/themes/preset/rngs/call.rng +6 -4
- data/cockpit/themes/preset/rngs/callmanipulate.rng +6 -4
- data/cockpit/themes/preset/rngs/parallel.rng +2 -2
- data/cockpit/themes/preset/rngs/start.rng +3 -3
- data/cockpit/themes/preset/theme.js +12 -1
- data/cpee.gemspec +2 -2
- data/lib/cpee/implementation.rb +1 -1
- data/lib/cpee/implementation_properties.rb +23 -13
- data/lib/cpee/message.rb +20 -8
- data/lib/cpee/persistence.rb +12 -0
- data/lib/properties/state.rng +0 -2
- data/lib/properties.xml +1 -2
- data/server/executionhandlers/ruby/connection.rb +49 -13
- data/server/executionhandlers/ruby/controller.rb +1 -1
- data/server/executionhandlers/ruby/dsl_to_dslx.xsl +71 -61
- data/server/resources/states.dot +0 -4
- data/server/resources/states.xml +0 -6
- data/tools/cpee +32 -1
- metadata +116 -21
- data/cockpit/css/replay.css +0 -55
- data/cockpit/js/replay.js +0 -40
- data/cockpit/replay.html +0 -53
- data/cockpit/themes/compact/symbols/test.svg +0 -74
- data/cockpit/themes/control/symbols/test.svg +0 -74
- data/cockpit/themes/default/symbols/test.svg +0 -74
- data/cockpit/themes/extended/symbols/test.svg +0 -74
- data/cockpit/themes/model/symbols/test.svg +0 -74
- data/cockpit/themes/packed/symbols/test.svg +0 -74
- data/cockpit/themes/preset/symbols/test.svg +0 -74
- data/server/executionhandlers/ruby/desc.xml +0 -107
- data/server/resources/test.pdf +0 -0
- data/server/routing/end.pid +0 -1
- data/server/routing/forward-events-00.pid +0 -1
- data/server/routing/forward-votes.pid +0 -1
- data/server/routing/persist.pid +0 -1
- data/server/server.conf +0 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 895480af20ce6499a796ff2beb4985350038da28ed581a315ac9d04bc796e09b
|
|
4
|
+
data.tar.gz: e04fa030ef2aca658d5ca1a6880325429de767fac55d1f9f3831356b3fc30c0a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 77b2c6977626b081e38ba035b6129c710b89837bc102bc21e85aae4a894fb73eabd0e1dcd3a1a131e68603f4bdbfb634370790dc60b529770db26253666bac8a
|
|
7
|
+
data.tar.gz: bd4ca4ede0b5754385e8981e371dc0e10f0b3af2da5a4722566a50eeec75a8d80fa90bd474dc206c2dbaaa3b738db5ca749bc4568082a93ed73ae142fac798ca
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
resources {
|
|
2
|
+
border-left: 1pt solid var(--wfadaptor-border);
|
|
3
|
+
}
|
|
4
|
+
#resources line.resource-line:hover {
|
|
5
|
+
stroke: red;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.resource-label {
|
|
9
|
+
position: absolute;
|
|
10
|
+
padding-left: 0.5em;
|
|
11
|
+
padding-right: 0.5em;
|
|
12
|
+
min-width: 10ex;
|
|
13
|
+
height: 2em;
|
|
14
|
+
text-align: center;
|
|
15
|
+
line-height: 2em;
|
|
16
|
+
background-color: var(--wfadaptor-background);
|
|
17
|
+
border: 1pt solid var(--wfadaptor-border);
|
|
18
|
+
border-radius: 1em;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.resource-label:before {
|
|
22
|
+
content: ' ';
|
|
23
|
+
position: absolute;
|
|
24
|
+
width: 0;
|
|
25
|
+
height: 0;
|
|
26
|
+
left: 15px;
|
|
27
|
+
top: 2em;
|
|
28
|
+
border: 8.5px solid;
|
|
29
|
+
border-color: var(--wfadaptor-border) transparent transparent var(--wfadaptor-border);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.resource-label:after {
|
|
33
|
+
content: ' ';
|
|
34
|
+
position: absolute;
|
|
35
|
+
width: 0;
|
|
36
|
+
height: 0;
|
|
37
|
+
left: 16px;
|
|
38
|
+
top: 2em;
|
|
39
|
+
border: 7.5px solid;
|
|
40
|
+
border-color: var(--wfadaptor-background) transparent transparent var(--wfadaptor-background);
|
|
41
|
+
}
|
|
42
|
+
|
data/cockpit/css/ui.css
CHANGED
|
@@ -41,6 +41,10 @@ body {
|
|
|
41
41
|
#graphgrid.striped .graphlabel, #graphgrid.striped .graphempty {
|
|
42
42
|
border-left: 1pt solid var(--wfadaptor-border);
|
|
43
43
|
}
|
|
44
|
+
#graphgrid.striped #resources rect.border {
|
|
45
|
+
width: 0.8pt;
|
|
46
|
+
fill: var(--wfadaptor-border);
|
|
47
|
+
}
|
|
44
48
|
#graphgrid.striped .graphlabel.even, #graphgrid.striped .graphempty.even, #graphgrid.striped .graphlast.even {
|
|
45
49
|
background-color: #e9e9e9;
|
|
46
50
|
}
|
data/cockpit/edit.html
CHANGED
|
@@ -55,7 +55,9 @@
|
|
|
55
55
|
<script type="text/javascript" src="js/parameters.js"></script>
|
|
56
56
|
<script type="text/javascript" src="js/edit.js"></script>
|
|
57
57
|
<script type="text/javascript" src="js/modifiers.js"></script>
|
|
58
|
+
<script type="text/javascript" src="js/resources.js"></script>
|
|
58
59
|
<link rel="stylesheet" href="css/ui.css" type="text/css"/>
|
|
60
|
+
<link rel="stylesheet" href="css/resources.css" type="text/css"/>
|
|
59
61
|
<link rel="stylesheet" href="/global_ui/uicpee.css" type="text/css"/>
|
|
60
62
|
<style>
|
|
61
63
|
/* has to be fucking inline, because firefox and chrome disagree how to handle filter urls */
|
|
@@ -242,8 +244,9 @@
|
|
|
242
244
|
<ui-behind ><a style='display:none' target='_blank' id='current-track'>T</a><a style='display:none' target='_blank' id='current-graph'>G</a></ui-behind>
|
|
243
245
|
</ui-tabbar>
|
|
244
246
|
<ui-content>
|
|
245
|
-
<ui-area data-belongs-to-tab="details" id='graphcolumn'>
|
|
247
|
+
<ui-area data-belongs-to-tab="details" id='graphcolumn' oncontextmenu='return false'>
|
|
246
248
|
<div id='graphgrid'>
|
|
249
|
+
<div class="resource-label" style="display: none"></div>
|
|
247
250
|
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:x="http://www.w3.org/1999/xlink" id='graphcanvas' width='1' height='1'></svg>
|
|
248
251
|
</div>
|
|
249
252
|
</ui-area>
|
data/cockpit/index.html
CHANGED
|
@@ -54,7 +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/modifiers.js"></script>
|
|
57
|
+
<script type="text/javascript" src="js/resources.js"></script>
|
|
57
58
|
<link rel="stylesheet" href="css/ui.css" type="text/css"/>
|
|
59
|
+
<link rel="stylesheet" href="css/resources.css" type="text/css"/>
|
|
58
60
|
<link rel="stylesheet" href="/global_ui/uicpee.css" type="text/css"/>
|
|
59
61
|
<style>
|
|
60
62
|
/* has to be fucking inline, because firefox and chrome disagree how to handle filter urls */
|
|
@@ -245,6 +247,7 @@
|
|
|
245
247
|
<ui-content>
|
|
246
248
|
<ui-area data-belongs-to-tab="details" id='graphcolumn' oncontextmenu='return false'>
|
|
247
249
|
<div id='graphgrid'>
|
|
250
|
+
<div class="resource-label" style="display: none"></div>
|
|
248
251
|
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:x="http://www.w3.org/1999/xlink" id='graphcanvas' width='1' height='1'></svg>
|
|
249
252
|
</div>
|
|
250
253
|
</ui-area>
|
data/cockpit/js/details.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
var details_updated = new Event("details:updated", {"bubbles":true, "cancelable":false});
|
|
2
|
+
|
|
1
3
|
$(document).ready(function() {
|
|
2
4
|
var timer;
|
|
3
5
|
|
|
@@ -5,20 +7,6 @@ $(document).ready(function() {
|
|
|
5
7
|
clearTimeout(timer);
|
|
6
8
|
timer = setTimeout(do_main_save, 5000);
|
|
7
9
|
});
|
|
8
|
-
$(document).on('change','#dat_details select',function(e){
|
|
9
|
-
clearTimeout(timer);
|
|
10
|
-
do_main_save();
|
|
11
|
-
});
|
|
12
|
-
$(document).on('blur','#dat_details input, #dat_details textarea, #dat_details [contenteditable]',function(e){
|
|
13
|
-
clearTimeout(timer);
|
|
14
|
-
do_main_save();
|
|
15
|
-
});
|
|
16
|
-
$(document).on('keypress','#dat_details input',function(e){
|
|
17
|
-
if (e.keyCode == 13) {
|
|
18
|
-
clearTimeout(timer);
|
|
19
|
-
do_main_save();
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
10
|
$(document).on('keypress','#dat_details [contenteditable]',function(e){
|
|
23
11
|
if (e.keyCode == 13) {
|
|
24
12
|
document.execCommand('insertLineBreak')
|
|
@@ -33,6 +21,10 @@ $(document).ready(function() {
|
|
|
33
21
|
clearTimeout(timer);
|
|
34
22
|
do_main_save();
|
|
35
23
|
});
|
|
24
|
+
$(document).on('relaxngui_change', '#dat_details', function(e){
|
|
25
|
+
clearTimeout(timer);
|
|
26
|
+
do_main_save();
|
|
27
|
+
});
|
|
36
28
|
});
|
|
37
29
|
|
|
38
30
|
function do_main_save() { //{{{
|
|
@@ -61,6 +53,9 @@ function do_main_work() { //{{{
|
|
|
61
53
|
if (node[0].namespaceURI == nnew.attr('xmlns')) { // remove xmlns when it is the same as in the parent node
|
|
62
54
|
nnew[0].removeAttribute('xmlns');
|
|
63
55
|
}
|
|
56
|
+
|
|
57
|
+
parameters_changed
|
|
58
|
+
|
|
64
59
|
node.replaceWith(nnew);
|
|
65
60
|
|
|
66
61
|
var ttarget = manifestation.adaptor.illustrator.get_node_by_svg_id(svgid);
|
data/cockpit/js/edit.js
CHANGED
|
@@ -7,6 +7,9 @@ document.addEventListener('parameters:changed', function (e) {
|
|
|
7
7
|
document.addEventListener('modifiers:changed', function (e) {
|
|
8
8
|
$("button[name=save]").prop("disabled",false);
|
|
9
9
|
}, false);
|
|
10
|
+
document.addEventListener('model:loaded', function (e) {
|
|
11
|
+
$("button[name=save]").prop("disabled",false);
|
|
12
|
+
}, false);
|
|
10
13
|
|
|
11
14
|
function leading_zeros(dt) {
|
|
12
15
|
return (dt < 10 ? '0' : '') + dt;
|
data/cockpit/js/instance.js
CHANGED
|
@@ -6,6 +6,7 @@ var loading = false;
|
|
|
6
6
|
var subscription;
|
|
7
7
|
var subscription_state = 'less';
|
|
8
8
|
var graph_changed = new Event("graph:changed", {"bubbles":true, "cancelable":false});
|
|
9
|
+
var model_loaded = new Event("model:loaded", {"bubbles":true, "cancelable":false});
|
|
9
10
|
var save = {};
|
|
10
11
|
save['endpoints'] = undefined;
|
|
11
12
|
save['dataelements'] = undefined;
|
|
@@ -30,9 +31,11 @@ function global_init() {
|
|
|
30
31
|
save['details'] = undefined;
|
|
31
32
|
save['details_target'] = undefined;
|
|
32
33
|
save['instance_pos'] = [];
|
|
34
|
+
save['modeltype'] = 'CPEE';
|
|
33
35
|
save['modifiers'] = {};
|
|
34
36
|
save['modifiers_active'] = {};
|
|
35
37
|
save['modifiers_additional'] = {};
|
|
38
|
+
save['resources'] = undefined;
|
|
36
39
|
node_state = {};
|
|
37
40
|
}
|
|
38
41
|
|
|
@@ -260,14 +263,14 @@ function create_instance(base,name,load,exec) {// {{{
|
|
|
260
263
|
}
|
|
261
264
|
}// }}}
|
|
262
265
|
|
|
263
|
-
function sse() { //{{{
|
|
266
|
+
async function sse() { //{{{
|
|
264
267
|
var url = $('body').attr('current-instance');
|
|
265
268
|
if (subscription) {
|
|
266
269
|
es = new EventSource(url + "/notifications/subscriptions/" + subscription + "/sse/");
|
|
267
270
|
es.onopen = function() {
|
|
268
271
|
append_to_log("monitoring", "opened", "nice.");
|
|
269
272
|
};
|
|
270
|
-
es.onmessage = function(e) {
|
|
273
|
+
es.onmessage = async function(e) {
|
|
271
274
|
data = JSON.parse(e.data);
|
|
272
275
|
if (data['type'] == 'event') {
|
|
273
276
|
switch(data['topic']) {
|
|
@@ -281,7 +284,12 @@ function sse() { //{{{
|
|
|
281
284
|
monitor_instance_values("endpoints");
|
|
282
285
|
break;
|
|
283
286
|
case 'attributes':
|
|
284
|
-
|
|
287
|
+
if (save['resources'] != data.content.values.resource) {
|
|
288
|
+
await monitor_instance_values("attributes");
|
|
289
|
+
monitor_instance_values("endpoints");
|
|
290
|
+
} else {
|
|
291
|
+
monitor_instance_values("attributes");
|
|
292
|
+
}
|
|
285
293
|
if (save['graph_theme'] != data.content.values.theme) {
|
|
286
294
|
monitor_graph_change(true);
|
|
287
295
|
}
|
|
@@ -314,9 +322,9 @@ function sse() { //{{{
|
|
|
314
322
|
// setTimeout(sse,10000);
|
|
315
323
|
};
|
|
316
324
|
}
|
|
325
|
+
await monitor_instance_values("attributes"); // attributes first, to catch the <resources> attribute which overrides current-resources
|
|
317
326
|
monitor_instance_values("dataelements");
|
|
318
327
|
monitor_instance_values("endpoints");
|
|
319
|
-
monitor_instance_values("attributes");
|
|
320
328
|
monitor_instance_dsl();
|
|
321
329
|
monitor_instance_state();
|
|
322
330
|
} //}}}
|
|
@@ -393,11 +401,37 @@ function monitor_instance(cin,rep,load,exec) {// {{{
|
|
|
393
401
|
});
|
|
394
402
|
}// }}}
|
|
395
403
|
|
|
396
|
-
function
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
404
|
+
function get_resource(base, key, loc, cache) {
|
|
405
|
+
cache[key] = {};
|
|
406
|
+
let deferreds = [new $.Deferred(), new $.Deferred(), new $.Deferred()];
|
|
407
|
+
$.ajax({
|
|
408
|
+
url: base + 'endpoints/' + encodeURIComponent(loc) + "/symbol.svg",
|
|
409
|
+
success: function(res) {
|
|
410
|
+
cache[key]['symbol'] = res;
|
|
411
|
+
deferreds[0].resolve(true);
|
|
412
|
+
},
|
|
413
|
+
error: deferreds[0].resolve
|
|
414
|
+
})
|
|
415
|
+
$.ajax({
|
|
416
|
+
url: base + 'endpoints/' + encodeURIComponent(loc) + "/schema.rng",
|
|
417
|
+
success: function(res) {
|
|
418
|
+
cache[key]['schema'] = res;
|
|
419
|
+
deferreds[1].resolve(true);
|
|
420
|
+
},
|
|
421
|
+
error: deferreds[1].resolve
|
|
422
|
+
})
|
|
423
|
+
$.ajax({
|
|
424
|
+
url: base + 'endpoints/' + encodeURIComponent(loc) + "/properties.json",
|
|
425
|
+
success: function(res) {
|
|
426
|
+
cache[key]['properties'] = res;
|
|
427
|
+
deferreds[2].resolve(true);
|
|
428
|
+
},
|
|
429
|
+
error: deferreds[2].resolve
|
|
430
|
+
})
|
|
431
|
+
return deferreds;
|
|
432
|
+
}
|
|
400
433
|
|
|
434
|
+
function monitor_instance_values(type,vals) {// {{{
|
|
401
435
|
if (type == "dataelements" && save['state'] == "running") {
|
|
402
436
|
let de = save[type].save();
|
|
403
437
|
Object.entries(vals).forEach(([key,value]) => {
|
|
@@ -420,7 +454,8 @@ function monitor_instance_values(type,vals) {// {{{
|
|
|
420
454
|
});
|
|
421
455
|
save[type].content(de);
|
|
422
456
|
} else {
|
|
423
|
-
|
|
457
|
+
let url = $('body').attr('current-instance');
|
|
458
|
+
return $.ajax({
|
|
424
459
|
type: "GET",
|
|
425
460
|
url: url + "/properties/" + type + "/",
|
|
426
461
|
success: function(res){
|
|
@@ -430,36 +465,12 @@ function monitor_instance_values(type,vals) {// {{{
|
|
|
430
465
|
var tmp = {};
|
|
431
466
|
$(res).find(" > endpoints > *").each(function(k,v) {
|
|
432
467
|
save['endpoints_list'][v.localName] = v.lastChild.nodeValue;
|
|
468
|
+
let rep = $('body').attr('current-resources');
|
|
433
469
|
$.ajax({
|
|
434
470
|
url: rep + 'endpoints/' + encodeURIComponent($(v).text()),
|
|
435
471
|
success: function() {
|
|
436
472
|
tmp[v.tagName] = {};
|
|
437
|
-
|
|
438
|
-
$.ajax({
|
|
439
|
-
url: rep + 'endpoints/' + encodeURIComponent($(v).text()) + "/symbol.svg",
|
|
440
|
-
success: function(res) {
|
|
441
|
-
tmp[v.tagName]['symbol'] = res;
|
|
442
|
-
deferreds[0].resolve(true);
|
|
443
|
-
},
|
|
444
|
-
error: deferreds[0].resolve
|
|
445
|
-
})
|
|
446
|
-
$.ajax({
|
|
447
|
-
url: rep + 'endpoints/' + encodeURIComponent($(v).text()) + "/schema.rng",
|
|
448
|
-
success: function(res) {
|
|
449
|
-
tmp[v.tagName]['schema'] = res;
|
|
450
|
-
deferreds[1].resolve(true);
|
|
451
|
-
},
|
|
452
|
-
error: deferreds[1].resolve
|
|
453
|
-
})
|
|
454
|
-
$.ajax({
|
|
455
|
-
url: rep + 'endpoints/' + encodeURIComponent($(v).text()) + "/properties.json",
|
|
456
|
-
success: function(res) {
|
|
457
|
-
tmp[v.tagName]['properties'] = res;
|
|
458
|
-
deferreds[2].resolve(true);
|
|
459
|
-
},
|
|
460
|
-
error: deferreds[2].resolve
|
|
461
|
-
})
|
|
462
|
-
$.when.apply($, deferreds).then(function(x) {
|
|
473
|
+
$.when.apply($, get_resource(rep,v.tagName,$(v).text(),tmp)).then(function(x) {
|
|
463
474
|
save['endpoints_cache'] = tmp;
|
|
464
475
|
// when updating attributes clear the attributes, because they might change as well. New arguments are possible.
|
|
465
476
|
$('#dat_details').empty();
|
|
@@ -467,8 +478,33 @@ function monitor_instance_values(type,vals) {// {{{
|
|
|
467
478
|
});
|
|
468
479
|
}
|
|
469
480
|
});
|
|
481
|
+
if (save['resources']) {
|
|
482
|
+
let rep = save['resources'];
|
|
483
|
+
$.ajax({
|
|
484
|
+
url: rep + 'endpoints/' + encodeURIComponent(encodeURIComponent($(v).text())),
|
|
485
|
+
success: function() {
|
|
486
|
+
tmp[v.tagName] = {};
|
|
487
|
+
$.when.apply($, get_resource(rep,v.tagName,encodeURIComponent($(v).text()),tmp)).then(function(x) {
|
|
488
|
+
save['endpoints_cache'] = tmp;
|
|
489
|
+
// when updating attributes clear the attributes, because they might change as well. New arguments are possible.
|
|
490
|
+
$('#dat_details').empty();
|
|
491
|
+
adaptor_update();
|
|
492
|
+
});
|
|
493
|
+
}
|
|
494
|
+
});
|
|
495
|
+
}
|
|
470
496
|
});
|
|
471
497
|
} else if(type == "attributes") {
|
|
498
|
+
if ($(" > attributes > resources",res).length > 0) {
|
|
499
|
+
save['resources'] = $(" > attributes > resources",res).text();
|
|
500
|
+
} else {
|
|
501
|
+
save['resources'] = undefined;
|
|
502
|
+
}
|
|
503
|
+
if ($(" > attributes > modeltype",res).length > 0) {
|
|
504
|
+
save['modeltype'] = $(" > attributes > modeltype",res).text();
|
|
505
|
+
} else {
|
|
506
|
+
save['modeltype'] = undefined;
|
|
507
|
+
}
|
|
472
508
|
if ($('#modifiers > div').length == 0) {
|
|
473
509
|
modifiers_display().then(function(){ modifiers_select(); });
|
|
474
510
|
} else {
|
|
@@ -519,7 +555,7 @@ function adaptor_init(url,theme,dslx) { //{{{
|
|
|
519
555
|
save['graph_theme'] = theme;
|
|
520
556
|
save['graph_adaptor'] = new WfAdaptor($('body').data('theme-base') + '/' + theme + '/theme.js',function(graphrealization){
|
|
521
557
|
manifestation.endpoints = save.endpoints_list;
|
|
522
|
-
graphrealization.draw_labels = function(max,labels,
|
|
558
|
+
graphrealization.draw_labels = function(max,labels,dimensions,striped) {
|
|
523
559
|
$('#graphcanvas').css('grid-row', '1/span ' + (max.row + 2));
|
|
524
560
|
if (striped == true) {
|
|
525
561
|
if (!$('#graphgrid').hasClass('striped')) {
|
|
@@ -529,10 +565,17 @@ function adaptor_init(url,theme,dslx) { //{{{
|
|
|
529
565
|
$('#graphgrid').removeClass('striped');
|
|
530
566
|
}
|
|
531
567
|
|
|
532
|
-
$('#graphgrid .graphlabel, #graphgrid .graphempty, #graphgrid .graphlast').remove();
|
|
568
|
+
$('#graphgrid .graphlabel, #graphgrid .graphempty, #resources, #graphgrid .graphlast').remove();
|
|
533
569
|
var tlabels = {};
|
|
534
570
|
var tcolumns = [];
|
|
535
571
|
var tcolumncount = {}
|
|
572
|
+
var thidden = [];
|
|
573
|
+
|
|
574
|
+
var tsvgs = {};
|
|
575
|
+
const mapPoints = new Map();
|
|
576
|
+
let iconsize = 14;
|
|
577
|
+
let iconshift = 7;
|
|
578
|
+
|
|
536
579
|
_.each(labels,function(val){
|
|
537
580
|
if (val.label != "") {
|
|
538
581
|
tlabels[val.row] = [];
|
|
@@ -541,35 +584,144 @@ function adaptor_init(url,theme,dslx) { //{{{
|
|
|
541
584
|
tcolumns.push(col.column);
|
|
542
585
|
tcolumncount[col.column] = 0;
|
|
543
586
|
}
|
|
587
|
+
if (!thidden.includes(col.column) && col.type == 'resource') {
|
|
588
|
+
thidden.push(col.column);
|
|
589
|
+
}
|
|
544
590
|
if (col.value != undefined) {
|
|
591
|
+
|
|
592
|
+
// Start Peilei
|
|
593
|
+
if (col.type == "resource") {
|
|
594
|
+
let str = '';
|
|
595
|
+
for (const [k, v] of Object.entries(col.value)) {
|
|
596
|
+
var p = {};
|
|
597
|
+
p.row = val.row;
|
|
598
|
+
p.AR = v;
|
|
599
|
+
p.yc = dimensions.height_shift/2 + dimensions.height * val.row - 20;
|
|
600
|
+
if (!mapPoints.has(k)) {
|
|
601
|
+
p.y0 = p.y0 == undefined ? (dimensions.height_shift/2 + dimensions.height * val.row - 20) : p.y0;
|
|
602
|
+
p.ymax = (p.ymax == undefined) ? p.y0 : p.ymax;
|
|
603
|
+
} else {
|
|
604
|
+
p.y0 = mapPoints.get(k).y0;
|
|
605
|
+
p.ymax = mapPoints.get(k).ymax;
|
|
606
|
+
}
|
|
607
|
+
mapPoints.set(k, p);
|
|
608
|
+
}
|
|
609
|
+
var cx = iconshift*2;
|
|
610
|
+
str += '<g xmlns="http://www.w3.org/2000/svg">';
|
|
611
|
+
|
|
612
|
+
for (const [k, p] of mapPoints) {
|
|
613
|
+
let firstAssignFlag = 0;
|
|
614
|
+
p.x0 = p.xc = cx;
|
|
615
|
+
|
|
616
|
+
// Including Triangle
|
|
617
|
+
if (k in col.value) { // Define points for a triangle pointing to the right
|
|
618
|
+
if (p.AR == "Read") {
|
|
619
|
+
str += '<polygon xmlns="http://www.w3.org/2000/svg" points="' + (cx - 5) + ',' + (dimensions.height_shift/2 + dimensions.height * val.row - 20) + ' ' + (cx + 5) + ',' + (dimensions.height_shift/2 + dimensions.height * val.row - 15) + ' ' + (cx + 5) + ',' + (dimensions.height_shift/2 + dimensions.height * val.row - 25) + '" fill="green" class="resource-point">';
|
|
620
|
+
if (p.yc == p.y0) {
|
|
621
|
+
firstAssignFlag = 1;
|
|
622
|
+
}
|
|
623
|
+
} else if (p.AR == "Assign") { // Define points for a triangle pointing to the left
|
|
624
|
+
str += '<polygon xmlns="http://www.w3.org/2000/svg" points="' + (cx + 5) + ',' + (dimensions.height_shift/2 + dimensions.height * val.row - 20) + ' ' + (cx - 5) + ',' + (dimensions.height_shift/2 + dimensions.height * val.row - 15) + ' ' + (cx - 5) + ',' + (dimensions.height_shift/2 + dimensions.height * val.row - 25) + '" fill="orange" class="resource-point">';
|
|
625
|
+
} else if (p.AR == "AssignRead") {
|
|
626
|
+
p.yc = dimensions.height_shift/2 + dimensions.height * val.row - 20;
|
|
627
|
+
str += '<circle xmlns="http://www.w3.org/2000/svg" cx="' + cx + '" cy="' + p.yc + '" r="5" fill="blue" class="resource-point">';
|
|
628
|
+
}
|
|
629
|
+
|
|
630
|
+
if (dimensions.height_shift/2 + dimensions.height * val.row != p.y0) {
|
|
631
|
+
p.yc = dimensions.height_shift/2 + dimensions.height * val.row - 20;
|
|
632
|
+
if (dimensions.height_shift/2 + dimensions.height * val.row - 20 > p.ymax) {
|
|
633
|
+
p.ymax = dimensions.height_shift/2 + dimensions.height * val.row - 20;
|
|
634
|
+
}
|
|
635
|
+
}
|
|
636
|
+
|
|
637
|
+
// Converted from <title>
|
|
638
|
+
str += '<text xmlns="http://www.w3.org/2000/svg">' + k + '</text>';
|
|
639
|
+
|
|
640
|
+
if (p.AR == "Read" || p.AR == "Assign") {
|
|
641
|
+
str += '</polygon>';
|
|
642
|
+
} else if (p.AR == "AssignRead") {
|
|
643
|
+
str += '</circle>';
|
|
644
|
+
}
|
|
645
|
+
}
|
|
646
|
+
|
|
647
|
+
if (firstAssignFlag == 1) {
|
|
648
|
+
// Additional logic and construction of another polygon for orange triangle pointing left
|
|
649
|
+
p.y0 -= ((p.row-1) * dimensions.height);
|
|
650
|
+
str += '<polygon xmlns="http://www.w3.org/2000/svg" points="' + (cx + 5) + ',' + (dimensions.height_shift/2 + dimensions.height - 20) + ' ' + (cx - 5) + ',' + (dimensions.height_shift/2 + dimensions.height - 15) + ' ' + (cx - 5) + ',' + (dimensions.height_shift/2 + dimensions.height - 25) + '" fill="orange" class="resource-point">' + '<text xmlns="http://www.w3.org/2000/svg">' + k + '</text></polygon>';
|
|
651
|
+
}
|
|
652
|
+
cx += iconsize;
|
|
653
|
+
}
|
|
654
|
+
|
|
655
|
+
for (const [k, p] of mapPoints) {
|
|
656
|
+
if(k in col.value) {
|
|
657
|
+
if (dimensions.height_shift/2+dimensions.height*val.row != p.y0) {
|
|
658
|
+
p.yc = dimensions.height_shift/2 + dimensions.height * val.row - 20;
|
|
659
|
+
if(dimensions.height_shift/2 + dimensions.height * val.row - 20 > p.ymax) {
|
|
660
|
+
p.ymax = dimensions.height_shift/2 + dimensions.height * val.row - 20;
|
|
661
|
+
}
|
|
662
|
+
}
|
|
663
|
+
}
|
|
664
|
+
}
|
|
665
|
+
str += '</g>';
|
|
666
|
+
|
|
667
|
+
tsvgs[val.row] = $X(str);
|
|
668
|
+
}
|
|
669
|
+
|
|
545
670
|
tcolumncount[col.column] += 1;
|
|
546
671
|
}
|
|
547
672
|
tlabels[val.row][tcolumns.indexOf(col.column)] = { label: col.value, type: val.tname, id: val.element_id };
|
|
548
673
|
});
|
|
549
674
|
}
|
|
550
675
|
});
|
|
676
|
+
|
|
551
677
|
$('#graphgrid').css({
|
|
552
|
-
'grid-template-rows': (
|
|
678
|
+
'grid-template-rows': (dimensions.height_shift/2) + 'px repeat(' + max.row + ', 1fr) ' + (dimensions.height_shift/2) + 'px',
|
|
553
679
|
'grid-template-columns': 'max-content' + (tcolumns.length > 0 ? ' repeat(' + tcolumns.length.toString() + ',max-content)' : '') + ' auto'
|
|
554
680
|
});
|
|
681
|
+
|
|
555
682
|
for (var i = 0; i < max.row; i++) {
|
|
556
|
-
for (var j = 0; j < tcolumns.length; j++) {
|
|
557
|
-
if (
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
} else {
|
|
563
|
-
if (tcolumncount[tcolumns[j]] != 0) {
|
|
564
|
-
var ele = $('<div element-row="' + i + '" class="graphempty ' + (i % 2 == 0 ? 'odd' : 'even') + '" style="grid-column: ' + (j+2) + '; grid-row: ' + (i+2) + '; padding-bottom: ' + shift + 'px"> </div>');
|
|
683
|
+
for (var j = 0; j < tcolumns.length - 1; j++) {
|
|
684
|
+
if (thidden != tcolumns[j]) {
|
|
685
|
+
if (tlabels[i+1] != undefined && tlabels[i+1][j] != undefined && tlabels[i+1][j].label != undefined && tlabels[i+1][j].label != '') {
|
|
686
|
+
var col = tlabels[i+1][j];
|
|
687
|
+
var ele = $('<div element-row="' + i + '" class="graphlabel ' + (i % 2 == 0 ? 'odd' : 'even') + '" element-type="' + col.type + '" element-id="' + col.id + '" style="grid-column: ' + (j+2) + '; grid-row: ' + (i+2) + '"><span>' + col.label + '</span></div>');
|
|
688
|
+
graphrealization.illustrator.draw.bind_event(ele, col.type, false);
|
|
565
689
|
$('#graphgrid').append(ele);
|
|
690
|
+
} else {
|
|
691
|
+
if (tcolumncount[tcolumns[j]] != 0) {
|
|
692
|
+
var ele = $('<div element-row="' + i + '" class="graphempty ' + (i % 2 == 0 ? 'odd' : 'even') + '" style="grid-column: ' + (j+2) + '; grid-row: ' + (i+2) + '; padding-bottom: ' + dimensions.height_shift + 'px"> </div>');
|
|
693
|
+
$('#graphgrid').append(ele);
|
|
694
|
+
}
|
|
566
695
|
}
|
|
567
696
|
}
|
|
568
697
|
}
|
|
698
|
+
|
|
569
699
|
var j = tcolumns.length;
|
|
570
|
-
var ele = $('<div element-row="' + i + '" class="graphlast ' + (i % 2 == 0 ? 'odd' : 'even') + '" style="grid-column: ' + (j+2) + '; grid-row: ' + (i+2) + '; padding-bottom: ' +
|
|
700
|
+
var ele = $('<div element-row="' + i + '" class="graphlast ' + (i % 2 == 0 ? 'odd' : 'even') + '" style="grid-column: ' + (j+2) + '; grid-row: ' + (i+2) + '; padding-bottom: ' + dimensions.height_shift + 'px"> </div>');
|
|
571
701
|
$('#graphgrid').append(ele);
|
|
572
702
|
}
|
|
703
|
+
|
|
704
|
+
if (Object.keys(tsvgs).length > 0) {
|
|
705
|
+
let dataflow = $X('<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:x="http://www.w3.org/1999/xlink" id="resources"></svg>');
|
|
706
|
+
dataflow.css('grid-row', '1/span ' + (max.row + 2));
|
|
707
|
+
dataflow.css('grid-column', tcolumns.indexOf(thidden.first) + 2);
|
|
708
|
+
dataflow.attr('height', $('#graphcanvas').attr('height'));
|
|
709
|
+
dataflow.attr('width', mapPoints.size * iconsize + iconshift * 2);
|
|
710
|
+
|
|
711
|
+
for (var i = 0; i < max.row; i++) { // Needs parenthesises below
|
|
712
|
+
dataflow.append($X('<rect xmlns="http://www.w3.org/2000/svg" class="stripe ' + (i % 2 == 0 ? 'even' : 'odd') + '" x="0" y="' + (dimensions.height * i + 5.2) + '" width="' + (mapPoints.size * iconsize + iconshift * 2) + '" height="' + dimensions.height + '"></rect>'));
|
|
713
|
+
dataflow.append($X('<rect xmlns="http://www.w3.org/2000/svg" class="border" x="0" y="' + (dimensions.height * i + 5.2) + '" height="' + dimensions.height + '"></rect>'));
|
|
714
|
+
}
|
|
715
|
+
for (const [k, p] of mapPoints) {
|
|
716
|
+
dataflow.append($X('<line xmlns="http://www.w3.org/2000/svg" x1="' + p.x0 + '" y1="' + p.y0 + '" x2="' + p.xc + '" y2="' + p.ymax + '" class="resource-line" stroke-opacity="0.1" stroke="orange" stroke-width="10" marker-end="url(#arrowhead)"><text>' + k + '</text></line>'));
|
|
717
|
+
}
|
|
718
|
+
for (var i = 0; i < max.row; i++) {
|
|
719
|
+
dataflow.append($(tsvgs[i+1]));
|
|
720
|
+
}
|
|
721
|
+
$('#graphgrid').append(dataflow);
|
|
722
|
+
|
|
723
|
+
$('.resource-label').hide(); // Speech Bubble hide by default
|
|
724
|
+
}
|
|
573
725
|
};
|
|
574
726
|
graphrealization.set_svg_container($('#graphcanvas'));
|
|
575
727
|
graphrealization.set_label_container($('#graphgrid'));
|
|
@@ -582,17 +734,50 @@ function adaptor_init(url,theme,dslx) { //{{{
|
|
|
582
734
|
save['graph'].removeAttr('svg-subtype');
|
|
583
735
|
save['graph'].removeAttr('svg-label');
|
|
584
736
|
document.dispatchEvent(graph_changed);
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
737
|
+
if (save['modeltype'] != 'CPEE') {
|
|
738
|
+
$.ajax({
|
|
739
|
+
type: "PUT",
|
|
740
|
+
url: url + "/properties/attributes/modeltype/",
|
|
741
|
+
data: {'value': 'CPEE'},
|
|
742
|
+
error: report_failure
|
|
743
|
+
});
|
|
744
|
+
$.ajax({
|
|
745
|
+
type: "PUT",
|
|
746
|
+
url: url + "/properties/transformation/",
|
|
747
|
+
contentType: 'text/xml',
|
|
748
|
+
headers: {
|
|
749
|
+
'Content-ID': 'transformation',
|
|
750
|
+
'CPEE-Event-Source': myid
|
|
751
|
+
},
|
|
752
|
+
data: '<transformation xmlns="http://cpee.org/ns/properties/2.0"><description type="copy"/><dataelements type="none"/><endpoints type="none"/></transformation>',
|
|
753
|
+
success: function() {
|
|
754
|
+
$.ajax({
|
|
755
|
+
type: "PUT",
|
|
756
|
+
url: url + "/properties/description/",
|
|
757
|
+
contentType: 'text/xml',
|
|
758
|
+
headers: {
|
|
759
|
+
'Content-ID': 'description',
|
|
760
|
+
'CPEE-Event-Source': myid
|
|
761
|
+
},
|
|
762
|
+
data: g,
|
|
763
|
+
error: report_failure
|
|
764
|
+
});
|
|
765
|
+
},
|
|
766
|
+
error: report_failure
|
|
767
|
+
});
|
|
768
|
+
} else {
|
|
769
|
+
$.ajax({
|
|
770
|
+
type: "PUT",
|
|
771
|
+
url: url + "/properties/description/",
|
|
772
|
+
contentType: 'text/xml',
|
|
773
|
+
headers: {
|
|
774
|
+
'Content-ID': 'description',
|
|
775
|
+
'CPEE-Event-Source': myid
|
|
776
|
+
},
|
|
777
|
+
data: g,
|
|
778
|
+
error: report_failure
|
|
779
|
+
});
|
|
780
|
+
}
|
|
596
781
|
adaptor_update();
|
|
597
782
|
manifestation.events.click(svgid);
|
|
598
783
|
format_instance_pos();
|
|
@@ -762,9 +947,17 @@ function monitor_instance_state_change(notification) { //{{{
|
|
|
762
947
|
if (notification == "stopped") {
|
|
763
948
|
monitor_instance_pos();
|
|
764
949
|
}
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
950
|
+
if (notification == "running") {
|
|
951
|
+
// // we cant do that, because the events might not be ordered. so jus remove all the blue ones.
|
|
952
|
+
// format_visual_clear();
|
|
953
|
+
|
|
954
|
+
for (const [key, ele] of Object.entries(node_state)) {
|
|
955
|
+
for (i=0; i<ele.passive; i++) {
|
|
956
|
+
format_visual_remove(key,'passive');
|
|
957
|
+
}
|
|
958
|
+
}
|
|
959
|
+
// save_blue_states has to be left alone, because we dont know the uuid
|
|
960
|
+
}
|
|
768
961
|
|
|
769
962
|
var but = "";
|
|
770
963
|
if (notification == "ready" || notification == "stopped") {
|
|
@@ -1017,6 +1210,8 @@ async function set_testset(testset,exec) {// {{{
|
|
|
1017
1210
|
|
|
1018
1211
|
await Promise.all(promises);
|
|
1019
1212
|
|
|
1213
|
+
document.dispatchEvent(model_loaded);
|
|
1214
|
+
|
|
1020
1215
|
$.ajax({
|
|
1021
1216
|
type: "GET",
|
|
1022
1217
|
url: url + "/properties/state/",
|
|
@@ -1033,7 +1228,9 @@ async function set_testset(testset,exec) {// {{{
|
|
|
1033
1228
|
});
|
|
1034
1229
|
}
|
|
1035
1230
|
});
|
|
1036
|
-
|
|
1231
|
+
|
|
1232
|
+
|
|
1233
|
+
}// }}}
|
|
1037
1234
|
|
|
1038
1235
|
function load_testsetfile_after() { //{{{
|
|
1039
1236
|
if (loading) return;
|
|
@@ -1153,7 +1350,10 @@ async function load_des(url,model) { //{{{
|
|
|
1153
1350
|
'CPEE-Event-Source': myid
|
|
1154
1351
|
},
|
|
1155
1352
|
data: model,
|
|
1156
|
-
error: report_failure
|
|
1353
|
+
error: report_failure,
|
|
1354
|
+
success: () => {
|
|
1355
|
+
document.dispatchEvent(model_loaded);
|
|
1356
|
+
}
|
|
1157
1357
|
});
|
|
1158
1358
|
} //}}}
|
|
1159
1359
|
|