cpee 2.1.126 → 2.1.127

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. checksums.yaml +4 -4
  2. data/cockpit/css/llm.css +12 -0
  3. data/cockpit/css/ui.css +11 -0
  4. data/cockpit/js/llm.js +11 -3
  5. data/cockpit/js/wfadaptor.js +1 -2
  6. data/cockpit/llm.html +2 -2
  7. data/cockpit/llmmodel.html +205 -0
  8. data/cockpit/themes/base.js +41 -18
  9. data/cockpit/themes/preset_model/rngs/alternative.rng +8 -0
  10. data/cockpit/themes/preset_model/rngs/call.rng +34 -0
  11. data/cockpit/themes/preset_model/rngs/callmanipulate.rng +39 -0
  12. data/cockpit/themes/preset_model/rngs/choose.rng +27 -0
  13. data/cockpit/themes/preset_model/rngs/critical.rng +8 -0
  14. data/cockpit/themes/preset_model/rngs/escape.rng +5 -0
  15. data/cockpit/themes/preset_model/rngs/group.rng +3 -0
  16. data/cockpit/themes/preset_model/rngs/loop.rng +14 -0
  17. data/cockpit/themes/preset_model/rngs/manipulate.rng +32 -0
  18. data/cockpit/themes/preset_model/rngs/otherwise.rng +5 -0
  19. data/cockpit/themes/preset_model/rngs/parallel.rng +24 -0
  20. data/cockpit/themes/preset_model/rngs/parallel_branch.rng +5 -0
  21. data/cockpit/themes/preset_model/rngs/scripts.rng +5 -0
  22. data/cockpit/themes/preset_model/rngs/start.rng +22 -0
  23. data/cockpit/themes/preset_model/rngs/stop.rng +5 -0
  24. data/cockpit/themes/preset_model/rngs/terminate.rng +8 -0
  25. data/cockpit/themes/preset_model/rngs/wait_for_signal.rng +8 -0
  26. data/cockpit/themes/preset_model/symbols/alternative.svg +15 -0
  27. data/cockpit/themes/preset_model/symbols/arrow.svg +3 -0
  28. data/cockpit/themes/preset_model/symbols/call.svg +19 -0
  29. data/cockpit/themes/preset_model/symbols/call_sensor.svg +23 -0
  30. data/cockpit/themes/preset_model/symbols/callmanipulate.svg +23 -0
  31. data/cockpit/themes/preset_model/symbols/callmanipulate_sensor.svg +26 -0
  32. data/cockpit/themes/preset_model/symbols/callmanipulate_sensor_signal.svg +32 -0
  33. data/cockpit/themes/preset_model/symbols/callmanipulate_signal.svg +29 -0
  34. data/cockpit/themes/preset_model/symbols/choose.svg +15 -0
  35. data/cockpit/themes/preset_model/symbols/choose_exclusive.svg +15 -0
  36. data/cockpit/themes/preset_model/symbols/choose_exclusive_finish.svg +5 -0
  37. data/cockpit/themes/preset_model/symbols/choose_inclusive.svg +13 -0
  38. data/cockpit/themes/preset_model/symbols/choose_inclusive_finish.svg +4 -0
  39. data/cockpit/themes/preset_model/symbols/closed_loop.svg +5 -0
  40. data/cockpit/themes/preset_model/symbols/closed_loop_cancel.svg +5 -0
  41. data/cockpit/themes/preset_model/symbols/closed_loop_control.svg +5 -0
  42. data/cockpit/themes/preset_model/symbols/closed_loop_measuring.svg +6 -0
  43. data/cockpit/themes/preset_model/symbols/complex.svg +8 -0
  44. data/cockpit/themes/preset_model/symbols/critical.svg +5 -0
  45. data/cockpit/themes/preset_model/symbols/delete.svg +4 -0
  46. data/cockpit/themes/preset_model/symbols/end.svg +3 -0
  47. data/cockpit/themes/preset_model/symbols/escape.svg +5 -0
  48. data/cockpit/themes/preset_model/symbols/event_end.svg +3 -0
  49. data/cockpit/themes/preset_model/symbols/loop.svg +15 -0
  50. data/cockpit/themes/preset_model/symbols/loop_end.svg +15 -0
  51. data/cockpit/themes/preset_model/symbols/manipulate.svg +19 -0
  52. data/cockpit/themes/preset_model/symbols/mark.svg +8 -0
  53. data/cockpit/themes/preset_model/symbols/otherwise.svg +5 -0
  54. data/cockpit/themes/preset_model/symbols/parallel.svg +6 -0
  55. data/cockpit/themes/preset_model/symbols/parallel_branch.svg +5 -0
  56. data/cockpit/themes/preset_model/symbols/parallel_branch_event.svg +14 -0
  57. data/cockpit/themes/preset_model/symbols/parallel_branch_normal.svg +5 -0
  58. data/cockpit/themes/preset_model/symbols/parallel_eventbased_exclusive.svg +9 -0
  59. data/cockpit/themes/preset_model/symbols/parallel_eventbased_parallel.svg +8 -0
  60. data/cockpit/themes/preset_model/symbols/scripts.svg +4 -0
  61. data/cockpit/themes/preset_model/symbols/start.svg +3 -0
  62. data/cockpit/themes/preset_model/symbols/start_event.svg +5 -0
  63. data/cockpit/themes/preset_model/symbols/stop.svg +5 -0
  64. data/cockpit/themes/preset_model/symbols/terminate.svg +4 -0
  65. data/cockpit/themes/preset_model/symbols/wait_for_signal.svg +21 -0
  66. data/cockpit/themes/preset_model/theme.js +50 -0
  67. data/cpee.gemspec +1 -1
  68. data/server/routing/end.pid +1 -1
  69. data/server/routing/forward-events-00.pid +1 -1
  70. data/server/routing/forward-votes.pid +1 -1
  71. data/server/routing/persist.pid +1 -1
  72. metadata +60 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ab0596aa5b8fd02e48ecb1f32f0487d0ba38cb50c266a1eea316bdd8b3e72299
4
- data.tar.gz: 06eb40788ffede2e143987ff2a15ee6cb15ba8bd455a3a7e5455d1f0c5e4dc17
3
+ metadata.gz: 7f811c1ddb36752bb15ad3c84113dc30991abbc06f9c368e969fc667d0d41c7c
4
+ data.tar.gz: 8ef05255738eb5dbe3d9391978c31aeedb6d8721dfa625b93b70d86335aae22d
5
5
  SHA512:
6
- metadata.gz: e494deb1d688f09d89bb1e29c2c973d2388ad86ad1625b3ec88cbce0f6da0f0b700338d23d6d4ae41bf55f53665d4c46986cccb19eb8a0d7a522b235cd9bd733
7
- data.tar.gz: 140db69200f00160050fc0119be5b7e9a023bb9219f6c7ec02e88c51670e4f758dc21bf5017998173847e07b1174784a001f5fc1243380b1a4c47ffe8b47ed16
6
+ metadata.gz: 991563bdbfdf073f3b902a600ee56a673965fd50b7688787cec034b127d53f036f30f56eb737af24cd9e623f242b16493e5321486c080b8ac998334bcc5f7226
7
+ data.tar.gz: 57298f096ed1bdbf98556278efbb8af4dc5d12ca90db6c7f96121e3ca54a12c563ef54019e32283b6d94eb5d1e51fe63caa247902dc9997c42e5b504c19b7264
data/cockpit/css/llm.css CHANGED
@@ -2,6 +2,10 @@
2
2
  display: none;
3
3
  }
4
4
 
5
+ #graphcolumn {
6
+ min-width: 30em !important;
7
+ }
8
+
5
9
  #status {
6
10
  padding: 0.2em 0.5em;
7
11
  border-top: 0.1em solid var(--x-ui-border-color);
@@ -111,3 +115,11 @@
111
115
  .llm_button:hover {
112
116
  background-color: var(--wfadaptor-selected);
113
117
  }
118
+
119
+ #detailcolumn {
120
+ padding-left: 0em !important;
121
+ }
122
+ #details {
123
+ padding-left: 1.5em;
124
+ min-height: 7em;
125
+ }
data/cockpit/css/ui.css CHANGED
@@ -185,6 +185,11 @@ span.vote {
185
185
  color: #73d216;
186
186
  }
187
187
 
188
+ #details {
189
+ flex: 0 1 auto;
190
+ height: 100%;
191
+ overflow: scroll;
192
+ }
188
193
  #modelling {
189
194
  flex: 0 1 auto;
190
195
  height: 100%;
@@ -198,6 +203,10 @@ span.vote {
198
203
  margin-right: 0.2em;
199
204
  margin-bottom: 0.2em;
200
205
  }
206
+ #detailcolumn ui-resizehandle {
207
+ margin-right: 0.5em;
208
+ margin-bottom: 0.2em;
209
+ }
201
210
 
202
211
  #graphcolumn {
203
212
  margin: 0;
@@ -210,6 +219,8 @@ span.vote {
210
219
  }
211
220
  #detailcolumn {
212
221
  padding-left: 1.5em;
222
+ display: flex;
223
+ flex-direction: column;
213
224
  }
214
225
 
215
226
  #dat_log tr:nth-child(odd) { background-color: #e8e8e8; color: #333; }
data/cockpit/js/llm.js CHANGED
@@ -343,7 +343,7 @@ $(document).ready(async function() { //{{{
343
343
  var menu = new CustomMenu(e);
344
344
 
345
345
  var mode_entries = [];
346
- $('#mode option').each(function(){
346
+ $('#mode.active option').each(function(){
347
347
  mode_entries.push({
348
348
  label: $(this).text(),
349
349
  menu_icon: $(this).is(':selected') ? mode_active : mode_inactive,
@@ -357,7 +357,7 @@ $(document).ready(async function() { //{{{
357
357
  });
358
358
 
359
359
  var llm_entries = [];
360
- $('#llms option').each(function(){
360
+ $('#llms.active option').each(function(){
361
361
  llm_entries.push({
362
362
  label: $(this).text(),
363
363
  menu_icon: $(this).is(':selected') ? llm_active : llm_inactive,
@@ -370,7 +370,15 @@ $(document).ready(async function() { //{{{
370
370
  });
371
371
  });
372
372
 
373
- menu.contextmenu({ 'Models': mode_entries, 'LLMs': llm_entries });
373
+ let res = {};
374
+ if (mode_entries.length > 0) {
375
+ res['Models'] = mode_entries;
376
+ }
377
+ if (llm_entries.length > 0) {
378
+ res['LLMs'] = llm_entries;
379
+ }
380
+
381
+ menu.contextmenu(res);
374
382
  });
375
383
  $("#loadtxt").change(function(e){
376
384
  let files = document.getElementById('loadtxt').files;
@@ -923,7 +923,6 @@ function WfDescription(wf_adaptor, wf_illustrator) { // Model {{{
923
923
  } // }}}
924
924
 
925
925
  var reset_used_id_list = this.reset_used_id_list = function() { // {{{
926
- console.log('bbbbb');
927
926
  used_id_list = [];
928
927
  } // }}}
929
928
  var get_free_id = this.get_free_id = function(prefix,aname,other) { // {{{
@@ -990,7 +989,7 @@ function WfDescription(wf_adaptor, wf_illustrator) { // Model {{{
990
989
  adaptor.notify(newn.attr('svg-id'));
991
990
  else if (svgid != undefined)
992
991
  adaptor.notify(svgid);
993
- else if (newn.parent('[svg-id]').length > 0)
992
+ else if (newn.parents('[svg-id]').length > 0)
994
993
  adaptor.notify(newn.parent('[svg-id]').attr('svg-id'));
995
994
  else
996
995
  console.info('Something went horribly wrong');
data/cockpit/llm.html CHANGED
@@ -277,14 +277,14 @@
277
277
  <option value="model">Only Model</option>
278
278
  <option value="dataflow" selected="selected">Model and Dataflow</option>
279
279
  </select>
280
- <select name="mode" id="mode" class='hidden'>
280
+ <select name="mode" id="mode" class='active hidden'>
281
281
  <option value="noendpoints" selected="selected">Generate/Adapt from Scratch</option>
282
282
  <option value="endpoints">Generate/Adapt with Endpoint Knowledge</option>
283
283
  </select>
284
284
  <button id='prompt_submit_button' title="CTRL-ENTER to Submit" class="llm_button small">➤</button>
285
285
  <button id='prompt_reset_button' title="Reset Context" class="llm_button small">🗲</button>
286
286
  <button id='prompt_prop_button' title="Properties" class="llm_button small">⚙</button>
287
- <select name="llms" id="llms" class='hidden'>
287
+ <select name="llms" id="llms" class='active hidden'>
288
288
  <option value="gemini-3.1-flash-lite" selected="selected">gemini 3.1 Flash Lite</option>
289
289
  <option value="gemini-3.1-flash">gemini 3.1 Flash</option>
290
290
  <option value="gemini-3.1-pro">gemini 3.1 Pro</option>
@@ -0,0 +1,205 @@
1
+ <!--
2
+ This file is part of CPEE.
3
+
4
+ CPEE is free software: you can redistribute it and/or modify it under the terms
5
+ of the GNU General Public License as published by the Free Software Foundation,
6
+ either version 3 of the License, or (at your option) any later version.
7
+
8
+ CPEE is distributed in the hope that it will be useful, but WITHOUT ANY
9
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
10
+ PARTICULAR PURPOSE. See the GNU General Public License for more details.
11
+
12
+ You should have received a copy of the GNU General Public License along with
13
+ CPEE (file COPYING in the main directory). If not, see
14
+ <http://www.gnu.org/licenses/>.
15
+ -->
16
+
17
+ <!DOCTYPE html>
18
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
19
+ <head>
20
+ <meta charset="utf-8"/>
21
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
22
+ <title>CPEE Cockpit</title>
23
+
24
+ <!-- libs, do not modify. When local than load local libs. -->
25
+ <script type="text/javascript" src="/js_libs/jquery.min.js"></script>
26
+ <script type="text/javascript" src="/js_libs/jquery.browser.js"></script>
27
+ <script type="text/javascript" src="/js_libs/jquery.svg.min.js"></script>
28
+ <script type="text/javascript" src="/js_libs/jquery.svgdom.min.js"></script>
29
+ <script type="text/javascript" src="/js_libs/vkbeautify.js"></script>
30
+ <script type="text/javascript" src="/js_libs/util.js"></script>
31
+ <script type="text/javascript" src="/js_libs/printf.js"></script>
32
+ <script type="text/javascript" src="/js_libs/strftime.min.js"></script>
33
+ <script type="text/javascript" src="/js_libs/parsequery.js"></script>
34
+ <script type="text/javascript" src="/js_libs/underscore.min.js"></script>
35
+ <script type="text/javascript" src="/js_libs/jquery.caret.min.js"></script>
36
+ <script type="text/javascript" src="/js_libs/jquery.cookie.js"></script>
37
+
38
+ <script type="text/javascript" src="/js_libs/relaxngui.js"></script>
39
+
40
+ <script type="text/javascript" src="/js_libs/uidash.js"></script>
41
+ <script type="text/javascript" src="/js_libs/custommenu.js"></script>
42
+
43
+ <link rel="stylesheet" href="/js_libs/custommenu.css" type="text/css"/>
44
+ <link rel="stylesheet" href="/js_libs/uidash.css" type="text/css"/>
45
+
46
+ <link rel="stylesheet" href="/js_libs/relaxngui.css" type="text/css"/>
47
+
48
+ <!-- modelling ui -->
49
+ <script type="text/javascript" src="js/wfadaptor.js"></script>
50
+ <link rel="stylesheet" href="css/wfadaptor.css" type="text/css" data-include-export="true"/>
51
+
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/extended_columns.js"></script>
58
+ <script type="text/javascript" src="js/modifiers.js"></script>
59
+ <script type="text/javascript" src="themes/base.js"></script>
60
+
61
+ <script type="text/javascript" src="js/llm.js"></script>
62
+ <link rel="stylesheet" href="css/llm.css" type="text/css"/>
63
+ <link rel="stylesheet" href="css/llmmodel.css" type="text/css"/>
64
+
65
+ <link rel="stylesheet" href="css/ui.css" type="text/css"/>
66
+ <link rel="stylesheet" href="css/extended_columns-label.css" type="text/css"/>
67
+ <link rel="stylesheet" href="css/extended_columns-svg.css" type="text/css" data-include-export="true"/>
68
+ <link rel="stylesheet" href="/global_ui/uicpee.css" type="text/css"/>
69
+ <style></style>
70
+ </head>
71
+ <body data-base-port="8298" data-res-port="9303" data-theme-base="themes" is="x-ui-">
72
+ <div class='hidden' id='relaxngworker'></div>
73
+
74
+ <div class='menu' id='templates'></div>
75
+ <div class='menu' id='modeltypes'></div>
76
+
77
+ <template id="label">
78
+ <svg width="20" height="20" xmlns="http://www.w3.org/2000/svg" style="position: absolute; top: 0; left: 0;" class="displaylabel">
79
+ <g transform="translate(1 %%1) rotate(-%%2)">
80
+ <rect class="displaylabel" width="200" height="14" x="8" y="0" rx="5" ry="5"/>
81
+ <path class="displaylabel" d="M10,13 0,13 8,8"/>
82
+ <path class="displaylabelinner" d="M10,11.5 8.5,11.5 8.5,9.5 10,9.5"/>
83
+ <text class="label" x="18" y="10">aaaa</text>
84
+ </g>
85
+ </svg>
86
+ </template>
87
+
88
+ <ui-tabbed id="instance">
89
+ <ui-tabbar>
90
+ <ui-tab class="switch" ></ui-tab>
91
+ <ui-tab class="" data-tab="new" id="tabnew" >New</ui-tab>
92
+ <ui-tab class="inactive hidden" data-tab="instance" id="tabinstance" >Instance</ui-tab>
93
+ <ui-behind ><a style='display:none' target='_blank' id='current-instance'></a><a style='display:none' target='_blank' id='current-instance-properties'>P</a><a style='display:none' target='_blank' id='current-instance-subscriptions'>S</a><a style='display:none' target='_blank' id='current-instance-callbacks'>C</a></ui-behind>
94
+ <ui-last ><a class="logo" href=".."></a></ui-last>
95
+ </ui-tabbar>
96
+ <ui-content>
97
+ <ui-area data-belongs-to-tab="new" id="areanew"> <!--{{{-->
98
+ <table class='x-ui-layout'>
99
+ <tr>
100
+ <td>Resources:</td>
101
+ <td><input name="res-url" type="text" value=""/></td>
102
+ <td></td>
103
+ </tr>
104
+ <tr>
105
+ <td>Engine:</td>
106
+ <td><input name="base-url" type="text" value=""/></td>
107
+ <td><button name="base">create new instance</button></td>
108
+ </tr>
109
+ <tr>
110
+ <td>Instance:</td>
111
+ <td><input name="instance-url" type="text" value=""/></td>
112
+ <td><button name="instance">monitor instance</button></td>
113
+ </tr>
114
+ </table>
115
+ </ui-area> <!--}}}-->
116
+ <ui-area data-belongs-to-tab="instance" id="areainstance" class="inactive"> <!--{{{-->
117
+ <div>
118
+ <div class='section'>
119
+ <div>
120
+ <form id='fuckchrome'>
121
+ <input type='file' name='testsetfile' id='testsetfile'/>
122
+ </form>
123
+ <button title='a template includes various settings, subscriptions or a (partial) model' name="loadtestset">load template</button><button title='a testset includes various settings, subscriptions or a model' name="loadtestsetfile">load testset</button>
124
+ </div>
125
+ <div>
126
+ <input type='file' name='modelfile' id='modelfile'/>
127
+ <button title='a standalone process model is only loadable if the currently loaded testset sucessfully prepared the current instance for the type of model' name="loadmodelfile">load model</button>
128
+ </div>
129
+ </div><div class='section'>
130
+ <a id="savetestsetfile" href="" download=""></a>
131
+ <a id="savesvgfile" href="" download=""></a>
132
+ <button title='a testset includes various settings, subscriptions and a model' name="savetestsetfile">save<br>testset</button>
133
+ <button title='a testset includes various settings, subscriptions and a model' name="savesvgfile">save svg<br>graph</button>
134
+ </div><div class='section' id='modifiers'>
135
+ <template id="item">
136
+ <div>
137
+ <div class='title'><strong></strong></div>
138
+ <div class='select'><select></select></div>
139
+ <div class='additional'></div>
140
+ </div>
141
+ </template>
142
+ </div>
143
+ </div>
144
+ </ui-area> <!--}}}-->
145
+ </ui-content>
146
+ </ui-tabbed>
147
+
148
+ <ui-rest id="main" class="hidden">
149
+ <ui-tabbar>
150
+ <ui-before ></ui-before>
151
+ <ui-tab class="" data-tab="details" id="tabdetails">Graph</ui-tab>
152
+ <ui-tab class="inactive" data-tab="dsl" id="tabdsl" >Description</ui-tab>
153
+ <ui-tab class="inactive" data-tab="log" id="tablog" >Log</ui-tab>
154
+ <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>
155
+ </ui-tabbar>
156
+ <ui-content>
157
+ <ui-area data-belongs-to-tab="details" id='graphcolumn' oncontextmenu='return false'>
158
+ <ui-part id='modelling'>
159
+ <div id='graphgrid'>
160
+ <div class="resource-label" style="display: none"></div>
161
+ <svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:x="http://www.w3.org/1999/xlink" id='graphcanvas' class='graphcolumn' width='1' height='1'></svg>
162
+ </div>
163
+ </ui-part>
164
+ </ui-area>
165
+ <ui-resizehandle data-belongs-to-tab="details" data-label="drag to resize"></ui-resizehandle>
166
+ <ui-area data-belongs-to-tab="details" id="detailcolumn">
167
+ <ui-part id='details'>
168
+ <div id="dat_details" class='x-ui-layout'></div>
169
+ </ui-part>
170
+ <ui-resizehandle class='hidden'>drag to resize</ui-resizehandle>
171
+ <ui-part id='input'>
172
+ <div id='status'></div>
173
+ <div id='prompt_container' class="max">
174
+ <div id='prompt' contenteditable="true" title="Please enter your modelling instructions here..." placeholder="Please enter your modelling instructions here..."></div>
175
+ <div id='prompt_submit_container' class="single">
176
+ <select name="generation" id="generation" class='hidden'>
177
+ <option value="model" selected="selected">Only Model</option>
178
+ <option value="dataflow">Model and Dataflow</option>
179
+ </select>
180
+ <select name="mode" id="mode" class='hidden'>
181
+ <option value="noendpoints" selected="selected">Generate/Adapt from Scratch</option>
182
+ <option value="endpoints">Generate/Adapt with Endpoint Knowledge</option>
183
+ </select>
184
+ <button id='prompt_submit_button' title="CTRL-ENTER to Submit" class="llm_button small">➤</button>
185
+ <button id='prompt_reset_button' title="Reset Context" class="llm_button small">🗲</button>
186
+ <button id='prompt_prop_button' title="Properties" class="llm_button small">⚙</button>
187
+ <select name="llms" id="llms" class='active hidden'>
188
+ <option value="gemini-3.1-flash-lite" selected="selected">gemini 3.1 Flash Lite</option>
189
+ <option value="gemini-3.1-flash">gemini 3.1 Flash</option>
190
+ <option value="gemini-3.1-pro">gemini 3.1 Pro</option>
191
+ </select>
192
+ </div>
193
+ </div>
194
+ </ui-part>
195
+ </ui-area>
196
+ <ui-area data-belongs-to-tab="dsl" id="areadsl" class="inactive"></ui-area>
197
+ <ui-area data-belongs-to-tab="log" id="arealog" class="inactive"> <!--{{{-->
198
+ <div>Persistent Log: <a style='display:none' target='_blank' id='current-log'></a> [<a style='display:none' target='_blank' id='xml-log'>X</a>,<a style='display:none' target='_blank' id='shifted-log'>S</a>]</div>
199
+ <table id="dat_log" class="x-ui-layout"></table>
200
+ </ui-area> <!--}}}-->
201
+ </ui-content>
202
+ </ui-rest>
203
+
204
+ </body>
205
+ </html>
@@ -4,6 +4,7 @@ function WFAdaptorManifestationBase(adaptor) {
4
4
  this.adaptor = adaptor;
5
5
  this.resources = {};
6
6
  this.elements = {};
7
+ this.strings = {};
7
8
  this.events = {};
8
9
  this.compact = false;
9
10
  this.striped = false;
@@ -261,17 +262,19 @@ function WFAdaptorManifestationBase(adaptor) {
261
262
  })
262
263
  }
263
264
  }
264
- if($('> code', xml_node).length > 0 && xml_node.get(0).tagName == 'call') {
265
- var icon = contextMenuHandling_clean_icon(self.elements.callmanipulate.illustrator.svg);
266
- icon.find('.part-extra .colorstyle').css('fill','var(--wfadaptor-important');
267
- menu['Delete'].push({
268
- 'label': 'Remove Scripts',
269
- 'function_call': self.adaptor.description.remove,
270
- 'menu_icon': icon,
271
- 'type': undefined,
272
- 'params': ['> code', xml_node]
273
- });
265
+
266
+ if (self.elements[xml_node.get(0).tagName].removable_children) {
267
+ let group = self.elements[xml_node.get(0).tagName].removable_children(xml_node);
268
+ if (group.length > 0) {
269
+ if (!('Delete' in menu)) {
270
+ menu['Delete'] = [];
271
+ }
272
+ $(group).each((_,e)=>{
273
+ menu['Delete'].push(e);
274
+ });
275
+ }
274
276
  }
277
+
275
278
  if (xml_node.get(0).tagName == "call" || xml_node.get(0).tagName == "manipulate" || xml_node.get(0).tagName == "stop") {
276
279
  let exec_icon = contextMenuHandling_clean_icon(self.elements.call.illustrator.svg);
277
280
  let mark_icon = self.resources.mark;
@@ -386,6 +389,9 @@ function WFAdaptorManifestationBase(adaptor) {
386
389
  this.events.dragstart = function (svgid, e) { //{{{
387
390
  } //}}}
388
391
 
392
+ // Other Strings
393
+ this.strings.scripts = 'Scripts';
394
+
389
395
  // Other resources
390
396
  this.resources.arrow = self.adaptor.theme_dir + 'symbols/arrow.svg';
391
397
  this.resources.delete = self.adaptor.theme_dir + 'symbols/delete.svg';
@@ -442,7 +448,7 @@ function WFAdaptorManifestationBase(adaptor) {
442
448
  'permissible_children': function(node,mode) { //{{{
443
449
  if(node.children('code').length < 1)
444
450
  return [
445
- {'label': 'Scripts',
451
+ {'label': self.strings.scripts,
446
452
  'function_call': self.adaptor.description.insert_last_into,
447
453
  'menu_icon': contextMenuHandling_clean_icon(self.elements.callmanipulate.illustrator.svg),
448
454
  'type': undefined,
@@ -450,6 +456,23 @@ function WFAdaptorManifestationBase(adaptor) {
450
456
  ];
451
457
  return [];
452
458
  }, //}}}
459
+ 'removable_children': function(node) { //{{{
460
+ if(node.children('code').length > 0) {
461
+ var icon = contextMenuHandling_clean_icon(self.elements.callmanipulate.illustrator.svg);
462
+ icon.find('.part-extra .colorstyle').css('fill','var(--wfadaptor-important');
463
+ return [
464
+ {
465
+ 'label': 'Remove ' + self.strings.scripts,
466
+ 'function_call': self.adaptor.description.remove,
467
+ 'menu_icon': icon,
468
+ 'type': undefined,
469
+ 'params': ['> code', node]
470
+ }
471
+ ];
472
+ } else {
473
+ return [];
474
+ }
475
+ }, //}}}
453
476
  'adaptor': {//{{{
454
477
  'mousedown': function (node,e) { self.events.mousedown(node,e,true,true); },
455
478
  'touchstart': function (node,e) { self.events.touchstart(node,e,true,true); },
@@ -760,7 +783,7 @@ function WFAdaptorManifestationBase(adaptor) {
760
783
  if (mode == 'into') { func = self.adaptor.description.insert_first_into }
761
784
  else { func = self.adaptor.description.insert_after }
762
785
  var childs = [
763
- {'label': 'Service Call with Scripts',
786
+ {'label': 'Service Call with ' + self.strings.scripts,
764
787
  'function_call': func,
765
788
  'menu_icon': contextMenuHandling_clean_icon(self.elements.callmanipulate.illustrator.svg),
766
789
  'type': 'callmanipulate',
@@ -857,7 +880,7 @@ function WFAdaptorManifestationBase(adaptor) {
857
880
  'params': [self.adaptor.description.elements.parallel_branch, node]}];
858
881
  }
859
882
  var childs = [
860
- {'label': 'Service Call with Scripts',
883
+ {'label': 'Service Call with ' + self.strings.scripts,
861
884
  'function_call': func,
862
885
  'menu_icon': contextMenuHandling_clean_icon(self.elements.callmanipulate.illustrator.svg),
863
886
  'type': 'callmanipulate',
@@ -948,7 +971,7 @@ function WFAdaptorManifestationBase(adaptor) {
948
971
  if (mode == 'into') { func = self.adaptor.description.insert_first_into }
949
972
  else { func = self.adaptor.description.insert_after }
950
973
  var childs = [
951
- {'label': 'Service Call with Scripts',
974
+ {'label': 'Service Call with ' + self.strings.scripts,
952
975
  'function_call': func,
953
976
  'menu_icon': contextMenuHandling_clean_icon(self.elements.callmanipulate.illustrator.svg),
954
977
  'type': 'callmanipulate',
@@ -1069,7 +1092,7 @@ function WFAdaptorManifestationBase(adaptor) {
1069
1092
  if (mode.match(/into/)) { func = self.adaptor.description.insert_first_into }
1070
1093
  else { func = self.adaptor.description.insert_after }
1071
1094
  var childs = [
1072
- {'label': 'Service Call with Scripts',
1095
+ {'label': 'Service Call with ' + self.strings.scripts,
1073
1096
  'function_call': func,
1074
1097
  'menu_icon': contextMenuHandling_clean_icon(self.elements.callmanipulate.illustrator.svg),
1075
1098
  'type': 'callmanipulate',
@@ -1147,7 +1170,7 @@ function WFAdaptorManifestationBase(adaptor) {
1147
1170
  if (mode == 'into') { func = self.adaptor.description.insert_first_into }
1148
1171
  else { func = self.adaptor.description.insert_after }
1149
1172
  var childs = [
1150
- {'label': 'Service Call with Scripts',
1173
+ {'label': 'Service Call with ' + self.strings.scripts,
1151
1174
  'function_call': func,
1152
1175
  'menu_icon': contextMenuHandling_clean_icon(self.elements.callmanipulate.illustrator.svg),
1153
1176
  'type': 'callmanipulate',
@@ -1237,7 +1260,7 @@ function WFAdaptorManifestationBase(adaptor) {
1237
1260
  if (mode == 'into') { func = self.adaptor.description.insert_first_into }
1238
1261
  else { func = self.adaptor.description.insert_after }
1239
1262
  var childs = [
1240
- {'label': 'Service Call with Scripts',
1263
+ {'label': 'Service Call with ' + self.strings.scripts,
1241
1264
  'function_call': func,
1242
1265
  'menu_icon': contextMenuHandling_clean_icon(self.elements.callmanipulate.illustrator.svg),
1243
1266
  'type': 'callmanipulate',
@@ -1412,7 +1435,7 @@ function WFAdaptorManifestationBase(adaptor) {
1412
1435
  if (mode == 'into') { func = self.adaptor.description.insert_first_into }
1413
1436
  else { func = self.adaptor.description.insert_after }
1414
1437
  var childs = [
1415
- {'label': 'Service Call with Scripts',
1438
+ {'label': 'Service Call with ' + self.strings.scripts,
1416
1439
  'function_call': func,
1417
1440
  'menu_icon': contextMenuHandling_clean_icon(self.elements.callmanipulate.illustrator.svg),
1418
1441
  'type': 'callmanipulate',
@@ -0,0 +1,8 @@
1
+ <element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org" rngui:version="1.2" name="alternative" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://cpee.org/ns/description/1.0">
2
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
3
+ <data type="string" rngui:readonly="true"/>
4
+ </attribute>
5
+ <attribute name="condition" rngui:label="Condition">
6
+ <data type="string" rngui:label="Condition"/>
7
+ </attribute>
8
+ </element>
@@ -0,0 +1,34 @@
1
+ <element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org" rngui:version="1.2" ns="http://cpee.org/ns/description/1.0" name="call" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2
+ <attribute name="id" rngui:label="ID" rngui:default="javascript:get_free_id('a','id')">
3
+ <data type="string" rngui:readonly="true"/>
4
+ </attribute>
5
+ <element name="parameters" rngui:header="Properties">
6
+ <element name="label" rngui:label="Label">
7
+ <data type="string" rngui:label="Short description of the task"/>
8
+ </element>
9
+ <element name="color" rngui:label="Task Color">
10
+ <choice rngui:type='color'>
11
+ <value>#ffffff</value>
12
+ <value>#d4e1f1</value>
13
+ <value>#d8f0dd</value>
14
+ <value>#ffffcc</value>
15
+ <value>#e4c3e4</value>
16
+ <value>#f8a8c6</value>
17
+ <value>#ded0c5</value>
18
+ <value>#deddda</value>
19
+ </choice>
20
+ </element>
21
+ </element>
22
+ <element name="documentation" rngui:header="Documentation">
23
+ <element name="implementation" rngui:header="Implementation" rngui:fold="closed">
24
+ <element name="description" rngui:label="Description">
25
+ <text rngui:wrap="true" rngui:label="What is supposed to happen?"/>
26
+ </element>
27
+ </element>
28
+ <element name="in" rngui:header="Input" rngui:fold="closed">
29
+ <element name="description" rngui:label="Description">
30
+ <text rngui:wrap="true" rngui:label="Which data is required by this task?"/>
31
+ </element>
32
+ </element>
33
+ </element>
34
+ </element>
@@ -0,0 +1,39 @@
1
+ <element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org" rngui:version="1.2" ns="http://cpee.org/ns/description/1.0" name="call" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2
+ <attribute name="id" rngui:label="ID" rngui:default="javascript:get_free_id('a','id')">
3
+ <data type="string" rngui:readonly="true"/>
4
+ </attribute>
5
+ <element name="parameters" rngui:header="Properties">
6
+ <element name="label" rngui:label="Label">
7
+ <data type="string" rngui:label="Short description of the task"/>
8
+ </element>
9
+ <element name="color" rngui:label="Task Color">
10
+ <choice rngui:type='color'>
11
+ <value>#ffffff</value>
12
+ <value>#d4e1f1</value>
13
+ <value>#d8f0dd</value>
14
+ <value>#ffffcc</value>
15
+ <value>#e4c3e4</value>
16
+ <value>#f8a8c6</value>
17
+ <value>#ded0c5</value>
18
+ <value>#deddda</value>
19
+ </choice>
20
+ </element>
21
+ </element>
22
+ <element name="documentation" rngui:header="Documentation">
23
+ <element name="implementation" rngui:header="Implementation" rngui:fold="closed">
24
+ <element name="description" rngui:label="Description">
25
+ <text rngui:wrap="true" rngui:label="What is supposed to happen?"/>
26
+ </element>
27
+ </element>
28
+ <element name="in" rngui:header="Input" rngui:fold="closed">
29
+ <element name="description" rngui:label="Description">
30
+ <text rngui:wrap="true" rngui:label="Which data is required by this task?"/>
31
+ </element>
32
+ </element>
33
+ <element name="out" rngui:header="Output" rngui:fold="closed">
34
+ <element name="description" rngui:label="Description">
35
+ <text rngui:wrap="true" rngui:label="Which data is produced by this task?"/>
36
+ </element>
37
+ </element>
38
+ </element>
39
+ </element>
@@ -0,0 +1,27 @@
1
+ <element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org" rngui:version="1.2" name="choose" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://cpee.org/ns/description/1.0">
2
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
3
+ <data type="string" rngui:readonly="true"/>
4
+ </attribute>
5
+ <attribute name="mode" rngui:label="Mode" rngui:default="exclusive">
6
+ <choice>
7
+ <value>exclusive</value>
8
+ <value>inclusive</value>
9
+ </choice>
10
+ </attribute>
11
+ <attribute name="label" rngui:label="Label">
12
+ <data type="string" rngui:label="Label"/>
13
+ </attribute>
14
+ <element rngui:ignore="true" name="alternative">
15
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
16
+ <data type="string" rngui:readonly="true"/>
17
+ </attribute>
18
+ <attribute name="condition">
19
+ <data type="string"/>
20
+ </attribute>
21
+ </element>
22
+ <element rngui:ignore="true" name="otherwise">
23
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
24
+ <data type="string" rngui:readonly="true"/>
25
+ </attribute>
26
+ </element>
27
+ </element>
@@ -0,0 +1,8 @@
1
+ <element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org" rngui:version="1.2" name="critical" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://cpee.org/ns/description/1.0">
2
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
3
+ <data type="string" rngui:readonly="true"/>
4
+ </attribute>
5
+ <attribute name="sid" rngui:label="SID" rngui:default="section" rngui:hint="Identical SID's shared by between differnt 'critical' elements define mutual exclusive areas.">
6
+ <data type="string"/>
7
+ </attribute>
8
+ </element>
@@ -0,0 +1,5 @@
1
+ <element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org" rngui:version="1.2" name="escape" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://cpee.org/ns/description/1.0">
2
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
3
+ <data type="string" rngui:readonly="true"/>
4
+ </attribute>
5
+ </element>
@@ -0,0 +1,3 @@
1
+ <element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org" name="group" rngui:version="1.2" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://cpee.org/ns/description/1.0">
2
+ <text rngui:label="A group of tasks, that belongs together"/>
3
+ </element>
@@ -0,0 +1,14 @@
1
+ <element xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org" rngui:version="1.2" name="loop" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://cpee.org/ns/description/1.0">
2
+ <attribute name="eid" rngui:label="ID" rngui:default="javascript:get_free_id('e','eid')">
3
+ <data type="string" rngui:readonly="true"/>
4
+ </attribute>
5
+ <attribute name="mode" rngui:label="Mode" rngui:default="pre_test">
6
+ <choice>
7
+ <value>pre_test</value>
8
+ <value>post_test</value>
9
+ </choice>
10
+ </attribute>
11
+ <attribute name="condition" rngui:label="Condition">
12
+ <data type="string" rngui:label="Condition"/>
13
+ </attribute>
14
+ </element>