cpee 1.4.28 → 1.4.29
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/cockpit/css/track.css +41 -0
- data/cockpit/css/ui.css +6 -6
- data/cockpit/js/instance.js +28 -8
- data/cockpit/js/track.js +8 -0
- data/cockpit/track.html +22 -67
- data/cpee.gemspec +1 -1
- metadata +3 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 69167cf7972c5d782e186b52c9bc447b01ca491c3c711a483d6abf50249d9f46
|
4
|
+
data.tar.gz: e8354ec5bdd70105d979acf467de51d3368b050add7e86e3e6bf848c789bb89e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 046a33c964cccb7ea6ec83b52abcc2ac9ae44b648c9a45ebf0b8922666493b001df6a6191b0c4cee00720e837cf14d6b171104362aa517223bac393dff4a6079
|
7
|
+
data.tar.gz: d4ff60f1b32c7df91303848dac2dc410f02f672dd3c4ee4c7459d82a40cb6b74c7b6a8e5fdfa0b00f0670ec545c8682fdfe62000f49e5b87ee9dd7dd6658f6ea
|
@@ -0,0 +1,41 @@
|
|
1
|
+
#trackfull {
|
2
|
+
display: flex;
|
3
|
+
flex-direction:row;
|
4
|
+
align-items: stretch;
|
5
|
+
height: 100vh;
|
6
|
+
}
|
7
|
+
#graphcolumn {
|
8
|
+
flex: 0 0 auto;
|
9
|
+
overflow: auto;
|
10
|
+
min-width: 35em;
|
11
|
+
border-right: 0 none;
|
12
|
+
}
|
13
|
+
#trackcolumn {
|
14
|
+
flex: 1 1 auto;
|
15
|
+
display: flex;
|
16
|
+
flex-direction:column;
|
17
|
+
align-items: stretch;
|
18
|
+
}
|
19
|
+
|
20
|
+
#trackcolumn iframe {
|
21
|
+
flex: 1 1 auto;
|
22
|
+
border: 0 none;
|
23
|
+
padding: 0;
|
24
|
+
margin: 0;
|
25
|
+
border-left: 0.1em solid var(--x-ui-border-color);
|
26
|
+
border-bottom: 0.1em solid var(--x-ui-border-color);
|
27
|
+
}
|
28
|
+
|
29
|
+
#usage {
|
30
|
+
line-height: 2em;
|
31
|
+
margin-left: 2em;
|
32
|
+
margin-right: 1em;
|
33
|
+
}
|
34
|
+
#usage button{
|
35
|
+
width: 2em;
|
36
|
+
height: 2em;
|
37
|
+
vertical-align: center;
|
38
|
+
}
|
39
|
+
#current-instance[href]:after {
|
40
|
+
content: "";
|
41
|
+
}
|
data/cockpit/css/ui.css
CHANGED
@@ -14,7 +14,7 @@ body {
|
|
14
14
|
#areanew input {
|
15
15
|
width: 100%;
|
16
16
|
padding: 0.1em 0.5em;
|
17
|
-
border: 0.1em solid
|
17
|
+
border: 0.1em solid var(--x-ui-border-color);
|
18
18
|
border-radius: 0;
|
19
19
|
box-sizing: border-box;
|
20
20
|
-moz-box-sizing: border-box;
|
@@ -49,9 +49,9 @@ ui-tabbed ui-tabbar ui-behind button {
|
|
49
49
|
|
50
50
|
#areainstance input[type=file] { display: none; }
|
51
51
|
#areainstance div.section { display: table-cell; vertical-align: middle; }
|
52
|
-
#areainstance div.section:nth-child(1) {
|
53
|
-
#areainstance div.section:nth-child(2) { border-left: 1px solid
|
54
|
-
#areainstance div.section:nth-child(3) { border-left: 1px solid
|
52
|
+
#areainstance div.section:nth-child(1) { padding: 0 0.5em 0 0; white-space: nowrap; }
|
53
|
+
#areainstance div.section:nth-child(2) { border-left: 1px solid var(--x-ui-border-color); padding: 0 0.5em; white-space: nowrap; }
|
54
|
+
#areainstance div.section:nth-child(3) { border-left: 1px solid var(--x-ui-border-color); padding: 0 0 0 0.5em; white-space: nowrap; }
|
55
55
|
|
56
56
|
#areainstance div.section:nth-child(1) div { white-space: normal; vertical-align: middle; margin: 0; padding: 0; }
|
57
57
|
#areainstance div.section:nth-child(1) button { white-space: normal; vertical-align: middle; margin: 0; padding: 0; }
|
@@ -71,7 +71,7 @@ ui-tabbed ui-tabbar ui-behind button {
|
|
71
71
|
#areaexecution table.x-ui-compact tbody.debug tr:last-child td { padding-bottom: 0.5em; }
|
72
72
|
#areaexecution table.x-ui-compact tbody.debug tr:last-child td input { vertical-align: middle; }
|
73
73
|
#areaexecution table.x-ui-compact tbody.exe tr:first-child td { padding-top: 0.5em; }
|
74
|
-
#areaexecution table.x-ui-compact tbody.exe { border-top: 1px solid
|
74
|
+
#areaexecution table.x-ui-compact tbody.exe { border-top: 1px solid var(--x-ui-border-color); }
|
75
75
|
|
76
76
|
#areaexecution table.x-ui-compact tbody.exe td { height: 2.2em; }
|
77
77
|
|
@@ -125,7 +125,7 @@ span.vote {
|
|
125
125
|
#graphcolumn {
|
126
126
|
margin: 0;
|
127
127
|
padding: 0;
|
128
|
-
border-right: 1px solid
|
128
|
+
border-right: 1px solid var(--x-ui-border-color);
|
129
129
|
min-width: 9em;
|
130
130
|
}
|
131
131
|
#detailcolumn {
|
data/cockpit/js/instance.js
CHANGED
@@ -35,6 +35,8 @@ var sub_more = 'topic' + '=' + 'activity' + '&' +// {{{
|
|
35
35
|
'events' + '=' + 'change' + '&' +
|
36
36
|
'topic' + '=' + 'attributes' + '&' +
|
37
37
|
'events' + '=' + 'change' + '&' +
|
38
|
+
'topic' + '=' + 'task' + '&' +
|
39
|
+
'events' + '=' + 'instantiation' + '&' +
|
38
40
|
'topic' + '=' + 'transformation' + '&' +
|
39
41
|
'events' + '=' + 'change' + '&' +
|
40
42
|
'topic' + '=' + 'handlerwrapper' + '&' +
|
@@ -55,6 +57,8 @@ var sub_less = 'topic' + '=' + 'activity' + '&' +// {{{
|
|
55
57
|
'events' + '=' + 'change' + '&' +
|
56
58
|
'topic' + '=' + 'attributes' + '&' +
|
57
59
|
'events' + '=' + 'change' + '&' +
|
60
|
+
'topic' + '=' + 'task' + '&' +
|
61
|
+
'events' + '=' + 'instantiation' + '&' +
|
58
62
|
'topic' + '=' + 'transformation' + '&' +
|
59
63
|
'events' + '=' + 'change' + '&' +
|
60
64
|
'topic' + '=' + 'handlerwrapper' + '&' +
|
@@ -90,7 +94,7 @@ function cockpit() { //{{{
|
|
90
94
|
}
|
91
95
|
if (q.monitor && q.load) {
|
92
96
|
if (q.load.match(/https?:\/\//)) {
|
93
|
-
$(
|
97
|
+
$('body').attr('load-testset',q.load);
|
94
98
|
} else {
|
95
99
|
$("#predefinedtestsets div.menuitem").each(function(k,v){
|
96
100
|
if ($(v).text() == q.load) { $(v).attr('data-selected','selected'); }
|
@@ -100,7 +104,7 @@ function cockpit() { //{{{
|
|
100
104
|
monitor_instance(q.monitor,$("body").attr('current-repo'),true,false);
|
101
105
|
} else if (q.load) {
|
102
106
|
if (q.load.match(/https?:\/\//)) {
|
103
|
-
$(
|
107
|
+
$('body').attr('load-testset',q.load);
|
104
108
|
} else {
|
105
109
|
$("#predefinedtestsets div.menuitem").each(function(k,v){
|
106
110
|
if ($(v).text() == q.load) { $(v).attr('data-selected','selected'); }
|
@@ -116,7 +120,7 @@ function cockpit() { //{{{
|
|
116
120
|
monitor_instance(q.monitor,$("body").attr('current-repo'),false,false);
|
117
121
|
} else if (q.exec) {
|
118
122
|
if (q.exec.match(/https?:\/\//)) {
|
119
|
-
$(
|
123
|
+
$('body').attr('load-testset',q.load);
|
120
124
|
} else {
|
121
125
|
$("#predefinedtestsets div.menuitem").each(function(k,v){
|
122
126
|
if ($(v).text() == q.exec) { $(v).attr('data-selected','selected'); }
|
@@ -234,6 +238,12 @@ function websocket() { //{{{
|
|
234
238
|
monitor_graph_change(true);
|
235
239
|
}
|
236
240
|
break;
|
241
|
+
case 'task':
|
242
|
+
if ($('#trackcolumn').length > 0) {
|
243
|
+
var details = JSON.parse($('event > notification',data).text());
|
244
|
+
$('#trackcolumn').append($('<iframe src="track.html?monitor=' + details.received['CPEE-INSTANCE-URL'].replace(/\/*$/,'/') + '"></iframe>'));
|
245
|
+
}
|
246
|
+
break;
|
237
247
|
case 'state':
|
238
248
|
monitor_instance_state_change(JSON.parse($('event > notification',data).text()).state);
|
239
249
|
break;
|
@@ -372,7 +382,9 @@ function monitor_instance_values(val) {// {{{
|
|
372
382
|
});
|
373
383
|
});
|
374
384
|
} else if(val == "attributes") {
|
375
|
-
|
385
|
+
var text = $(" > value > info",res).text() + " (" + url.replace(/\/$/,'').split(/[\\/]/).pop() + ")";
|
386
|
+
$('#title').text(text);
|
387
|
+
document.title = text;
|
376
388
|
}
|
377
389
|
}
|
378
390
|
});
|
@@ -515,9 +527,15 @@ function monitor_instance_running(notification,event) {// {{{
|
|
515
527
|
format_visual_remove(parts.activity,"active")
|
516
528
|
} // }}}
|
517
529
|
function monitor_instance_state_change(notification) { //{{{
|
530
|
+
if ($('#trackcolumn').length > 0) {
|
531
|
+
if (notification == "finished") {
|
532
|
+
parent.closeIFrame(window.location.search);
|
533
|
+
}
|
534
|
+
}
|
518
535
|
if (notification == "ready" || notification == "stopped" || notification == "running") {
|
519
536
|
$("#state button").removeAttr('disabled');
|
520
537
|
}
|
538
|
+
|
521
539
|
// sometimes, out of sheer network routingness, stopping comes after stopped, which fucks the UI hard
|
522
540
|
// thus, we are having none of it
|
523
541
|
if (notification == 'stopping' && save['state'] == 'stopped')
|
@@ -537,9 +555,9 @@ function monitor_instance_state_change(notification) { //{{{
|
|
537
555
|
|
538
556
|
var but = "";
|
539
557
|
if (notification == "ready" || notification == "stopped") {
|
540
|
-
but = " ⇒ <button onclick='$(this).attr(\"disabled\",\"disabled\");start_instance();'
|
558
|
+
but = " ⇒ <button onclick='$(this).attr(\"disabled\",\"disabled\");start_instance();' title='start'>⏵</button> / <button onclick='$(this).attr(\"disabled\",\"disabled\");sim_instance();' title='simulate'>🎜</button> / <button onclick='aba_instance();' title='abandon'>⛌</button>";
|
541
559
|
} else if (notification == "running") {
|
542
|
-
but = " ⇒ <button onclick='$(this).attr(\"disabled\",\"disabled\");stop_instance();'
|
560
|
+
but = " ⇒ <button onclick='$(this).attr(\"disabled\",\"disabled\");stop_instance();' title='stop'>⏸</button>";
|
543
561
|
}
|
544
562
|
|
545
563
|
// disable all input, also check themes
|
@@ -710,7 +728,7 @@ function save_svg() {// {{{
|
|
710
728
|
if (x && x.href && x.href.match(/wfadaptor\.css$/)) {
|
711
729
|
$(x.cssRules).each(function(j,y){
|
712
730
|
var loc = $(gc).find(y.selectorText.replace(/^svg /,''));
|
713
|
-
loc.attr('style',y.style.cssText);
|
731
|
+
loc.attr('style',y.style.cssText + loc.attr('style') + ';');
|
714
732
|
});
|
715
733
|
var loc = $(gc).find('text.super');
|
716
734
|
loc.attr('style',loc.attr('style') + ' display: none');
|
@@ -854,7 +872,9 @@ function load_testset(exec) {// {{{
|
|
854
872
|
if (name) {
|
855
873
|
url = $('body').attr('current-testsets') + name + ".xml";
|
856
874
|
} else {
|
857
|
-
|
875
|
+
if ($('body').attr('load-testset').length > 0) {
|
876
|
+
url = $('body').attr('load-testset');
|
877
|
+
}
|
858
878
|
}
|
859
879
|
if (url) {
|
860
880
|
$.ajax({
|
data/cockpit/js/track.js
ADDED
data/cockpit/track.html
CHANGED
@@ -44,75 +44,30 @@
|
|
44
44
|
<link rel="stylesheet" href="/js_libs/ui.css" type="text/css"/>
|
45
45
|
|
46
46
|
<link rel="stylesheet" href="/js_libs/relaxngui.css" type="text/css"/>
|
47
|
-
<script>
|
48
|
-
var lines;
|
49
|
-
var ws;
|
50
|
-
var acts = {};
|
51
|
-
var transitions = [];
|
52
|
-
var lastpos;
|
53
47
|
|
54
|
-
|
55
|
-
|
48
|
+
<!-- modelling ui -->
|
49
|
+
<script type="text/javascript" src="js/wfadaptor.js"></script>
|
50
|
+
<link rel="stylesheet" href="css/wfadaptor.css" type="text/css"/>
|
56
51
|
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
ws.onmessage = function(e) {
|
66
|
-
data = $.parseXML(e.data);
|
67
|
-
if ($('event > topic',data).length > 0) {
|
68
|
-
switch($('event > topic',data).text()) {
|
69
|
-
case 'activity':
|
70
|
-
var data = JSON.parse($('event > notification',data).text());
|
71
|
-
if (data.endpoint == "https://centurio.work/flow/start/url/") {
|
72
|
-
var num = parseInt(data.received[0].data.match(/\d+$/)[0]);
|
73
|
-
console.log(num);
|
74
|
-
$('#bla1').attr('src','https://centurio.work/flow/graph.html?monitor=' + data.received[0].data);
|
75
|
-
setTimeout(function(){ $('#bla2').attr('src','https://centurio.work/flow/graph.html?monitor=' + data.received[0].data.replace(/\d+$/,num+1)); }, 2000);
|
76
|
-
setTimeout(function(){ $('#bla3').attr('src','https://centurio.work/flow/graph.html?monitor=' + data.received[0].data.replace(/\d+$/,num+2)); }, 4000);
|
77
|
-
}
|
78
|
-
break;
|
79
|
-
}
|
80
|
-
}
|
81
|
-
if ($('vote > topic',data).length > 0) {
|
82
|
-
}
|
83
|
-
};
|
84
|
-
ws.onclose = function() {
|
85
|
-
console.log("monitoring", "closed", "server down i assume.");
|
86
|
-
};
|
87
|
-
} //}}}
|
88
|
-
|
89
|
-
$(document).ready(function(){
|
90
|
-
var url = "https://centurio.work/flow/engine/11/";
|
91
|
-
$('body').attr('current-instance',url);
|
92
|
-
$.ajax({
|
93
|
-
type: "POST",
|
94
|
-
url: url + "/notifications/subscriptions/",
|
95
|
-
data: sub,
|
96
|
-
success: function(res){
|
97
|
-
res = res.unserialize();
|
98
|
-
$.each(res,function(a,b){
|
99
|
-
if (b[0] == 'key') {
|
100
|
-
websocket(b[1]);
|
101
|
-
}
|
102
|
-
});
|
103
|
-
}
|
104
|
-
});
|
105
|
-
});
|
106
|
-
</script>
|
52
|
+
<!-- custom stuff, play arround -->
|
53
|
+
<script type="text/javascript" src="js/ui.js"></script>
|
54
|
+
<script type="text/javascript" src="js/instance.js"></script>
|
55
|
+
<script type="text/javascript" src="js/details.js"></script>
|
56
|
+
<script type="text/javascript" src="js/parameters.js"></script>
|
57
|
+
<script type="text/javascript" src="js/track.js"></script>
|
58
|
+
<link rel="stylesheet" href="css/ui.css" type="text/css"/>
|
59
|
+
<link rel="stylesheet" href="css/track.css" type="text/css"/>
|
107
60
|
</head>
|
108
|
-
<body data-base-port="8298" data-res-port="9303" data-theme-base="themes" is="x-ui"
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
61
|
+
<body data-base-port="8298" data-res-port="9303" data-theme-base="themes" is="x-ui">
|
62
|
+
<div id="trackfull">
|
63
|
+
<div id='graphcolumn'>
|
64
|
+
<div id="usage">
|
65
|
+
<span id="title"></span> | <span id='state'></span>
|
66
|
+
</div>
|
67
|
+
<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>
|
68
|
+
</div>
|
69
|
+
<div id='trackcolumn'>
|
70
|
+
</div>
|
71
|
+
</div>
|
117
72
|
</body>
|
118
73
|
</html>
|
data/cpee.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = "cpee"
|
3
|
-
s.version = "1.4.
|
3
|
+
s.version = "1.4.29"
|
4
4
|
s.platform = Gem::Platform::RUBY
|
5
5
|
s.license = "LGPL-3.0"
|
6
6
|
s.summary = "Preliminary release of cloud process execution engine (cpee). If you just need workflow execution, without a rest/xmpp service exposing it, then use WEEL"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cpee
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.4.
|
4
|
+
version: 1.4.29
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Juergen eTM Mangler
|
@@ -118,6 +118,7 @@ files:
|
|
118
118
|
- cockpit/contrib/transformation1.xsl
|
119
119
|
- cockpit/contrib/transformation2.xsl
|
120
120
|
- cockpit/contrib/tree_example.svg
|
121
|
+
- cockpit/css/track.css
|
121
122
|
- cockpit/css/ui.css
|
122
123
|
- cockpit/css/wfadaptor.css
|
123
124
|
- cockpit/graph.html
|
@@ -125,6 +126,7 @@ files:
|
|
125
126
|
- cockpit/js/details.js
|
126
127
|
- cockpit/js/instance.js
|
127
128
|
- cockpit/js/parameters.js
|
129
|
+
- cockpit/js/track.js
|
128
130
|
- cockpit/js/ui.js
|
129
131
|
- cockpit/js/wfadaptor.js
|
130
132
|
- cockpit/js_libs.zip
|