cpee 1.4.31 → 1.4.32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. checksums.yaml +4 -4
  2. data/cockpit/css/ui.css +25 -6
  3. data/cockpit/css/wfadaptor.css +20 -10
  4. data/cockpit/graph.html +7 -2
  5. data/cockpit/index.html +2 -3
  6. data/cockpit/js/details.js +3 -0
  7. data/cockpit/js/instance.js +70 -20
  8. data/cockpit/js/ui.js +32 -5
  9. data/cockpit/js/wfadaptor.js +70 -42
  10. data/cockpit/themes/compact/theme.js +55 -46
  11. data/cockpit/themes/default/symbols/otherwise.svg +2 -1
  12. data/cockpit/themes/{promise/symbols/choose.svg → default/symbols/parallel_branch_compact.svg} +2 -2
  13. data/cockpit/themes/default/theme.js +39 -44
  14. data/cockpit/themes/extended/theme.js +252 -60
  15. data/cockpit/themes/{lego → packed}/theme.js +492 -105
  16. data/cockpit/track.html +39 -32
  17. data/cpee.gemspec +1 -1
  18. data/lib/cpee/controller.rb +2 -0
  19. data/lib/cpee/instantiation.rb +22 -5
  20. data/lib/cpee/value_helper.rb +1 -1
  21. data/lib/instantiation.xml +3 -0
  22. data/log/elasticsearch_logging.rb +189 -50
  23. data/server/handlerwrappers/default.rb +3 -3
  24. data/server/server.pid +1 -0
  25. metadata +5 -53
  26. data/cockpit/themes/lego/rngs/alternative.rng +0 -5
  27. data/cockpit/themes/lego/rngs/call.rng +0 -41
  28. data/cockpit/themes/lego/rngs/choose.rng +0 -8
  29. data/cockpit/themes/lego/rngs/critical.rng +0 -5
  30. data/cockpit/themes/lego/rngs/loop.rng +0 -11
  31. data/cockpit/themes/lego/rngs/manipulate.rng +0 -6
  32. data/cockpit/themes/lego/rngs/parallel.rng +0 -5
  33. data/cockpit/themes/lego/rngs/parallel_branch.rng +0 -8
  34. data/cockpit/themes/lego/symbols/alternative.svg +0 -4
  35. data/cockpit/themes/lego/symbols/call.svg +0 -4
  36. data/cockpit/themes/lego/symbols/callmanipulate.svg +0 -6
  37. data/cockpit/themes/lego/symbols/callori.svg +0 -4
  38. data/cockpit/themes/lego/symbols/choose.svg +0 -4
  39. data/cockpit/themes/lego/symbols/choose_exclusive.svg +0 -5
  40. data/cockpit/themes/lego/symbols/choose_inclusive.svg +0 -4
  41. data/cockpit/themes/lego/symbols/critical.svg +0 -4
  42. data/cockpit/themes/lego/symbols/escape.svg +0 -5
  43. data/cockpit/themes/lego/symbols/lego.svg +0 -72
  44. data/cockpit/themes/lego/symbols/loop.svg +0 -5
  45. data/cockpit/themes/lego/symbols/manipulate.svg +0 -4
  46. data/cockpit/themes/lego/symbols/otherwise.svg +0 -4
  47. data/cockpit/themes/lego/symbols/parallel.svg +0 -6
  48. data/cockpit/themes/lego/symbols/parallel_branch.svg +0 -4
  49. data/cockpit/themes/lego/symbols/scripts.svg +0 -4
  50. data/cockpit/themes/lego/symbols/start.svg +0 -3
  51. data/cockpit/themes/promise/rngs/alternative.rng +0 -5
  52. data/cockpit/themes/promise/rngs/call.rng +0 -41
  53. data/cockpit/themes/promise/rngs/choose.rng +0 -8
  54. data/cockpit/themes/promise/rngs/critical.rng +0 -5
  55. data/cockpit/themes/promise/rngs/loop.rng +0 -11
  56. data/cockpit/themes/promise/rngs/manipulate.rng +0 -6
  57. data/cockpit/themes/promise/rngs/parallel.rng +0 -5
  58. data/cockpit/themes/promise/rngs/parallel_branch.rng +0 -8
  59. data/cockpit/themes/promise/symbols/alternative.svg +0 -4
  60. data/cockpit/themes/promise/symbols/call.svg +0 -4
  61. data/cockpit/themes/promise/symbols/callmanipulate.svg +0 -6
  62. data/cockpit/themes/promise/symbols/choose_exclusive.svg +0 -5
  63. data/cockpit/themes/promise/symbols/choose_inclusive.svg +0 -4
  64. data/cockpit/themes/promise/symbols/critical.svg +0 -4
  65. data/cockpit/themes/promise/symbols/escape.svg +0 -5
  66. data/cockpit/themes/promise/symbols/loop.svg +0 -5
  67. data/cockpit/themes/promise/symbols/manipulate.svg +0 -4
  68. data/cockpit/themes/promise/symbols/otherwise.svg +0 -4
  69. data/cockpit/themes/promise/symbols/parallel.svg +0 -6
  70. data/cockpit/themes/promise/symbols/parallel_branch.svg +0 -4
  71. data/cockpit/themes/promise/symbols/preminder.svg +0 -6
  72. data/cockpit/themes/promise/symbols/scripts.svg +0 -4
  73. data/cockpit/themes/promise/symbols/start.svg +0 -3
  74. data/cockpit/themes/promise/theme.js +0 -801
@@ -1,8 +0,0 @@
1
- <element rngui:version="1.2" name="choose" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org">
2
- <attribute name="mode" rngui:label="Mode" rngui:default="exclusive">
3
- <choice>
4
- <value>exclusive</value>
5
- <value>inclusive</value>
6
- </choice>
7
- </attribute>
8
- </element>
@@ -1,5 +0,0 @@
1
- <element rngui:version="1.2" name="critical" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org">
2
- <attribute name="sid" rngui:label="SID" rngui:default="section" rngui:hint="Identical SID's shared by between differnt 'critical' elements define mutual exclusive areas.">
3
- <data type="string"/>
4
- </attribute>
5
- </element>
@@ -1,11 +0,0 @@
1
- <element rngui:version="1.2" name="loop" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org">
2
- <attribute name="mode" rngui:label="Mode" rngui:default="pre_test">
3
- <choice>
4
- <value>pre_test</value>
5
- <value>post_test</value>
6
- </choice>
7
- </attribute>
8
- <attribute name="condition" rngui:label="Condition">
9
- <data type="string" rngui:label="Condition"/>
10
- </attribute>
11
- </element>
@@ -1,6 +0,0 @@
1
- <element rngui:version="1.2" name="manipulate" rngui:label="Script" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org">
2
- <attribute name="id" rngui:label="ID" rngui:default="javascript:get_free_id()">
3
- <data type="string" rngui:readonly="true"/>
4
- </attribute>
5
- <text rngui:label='Script that is executed'/>
6
- </element>
@@ -1,5 +0,0 @@
1
- <element rngui:version="1.2" name="parallel" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org">
2
- <attribute name="wait" rngui:label="Wait" rngui:default="-1" rngui:hint="-1 to wait for all branches.">
3
- <data type="integer"/>
4
- </attribute>
5
- </element>
@@ -1,8 +0,0 @@
1
- <element rngui:version="1.2" name="parallel_branch" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org">
2
- <attribute name="pass" rngui:label="Pass to branch">
3
- <data type="string" rngui:label="Data element passed to the local scope, thus not affected by global changes ..."/>
4
- </attribute>
5
- <attribute name="local" rngui:label="Local scope">
6
- <data type="string" rngui:label="Name of the passed data element in the local scope ..."/>
7
- </attribute>
8
- </element>
@@ -1,4 +0,0 @@
1
- <svg class="clickable" xmlns="http://www.w3.org/2000/svg">
2
- <circle cx="15" cy="15" r="14" class="standwithout"/>
3
- <text transform="translate(15,20)" class="normal">{..}</text>
4
- </svg>
@@ -1,4 +0,0 @@
1
- <svg class="clickable" xmlns="http://www.w3.org/2000/svg">
2
- <rect x="1" y="1" width="28" height="28" rx="4" class="rfill stand"/>
3
- <path transform="scale(0.8) translate(10, 6) rotate(15,16,11)" class="stand" style="fill:#000000;" d="M 1,28 4,8 10,14 16,1 12,20 6,15.35 Z"/>
4
- </svg>
@@ -1,6 +0,0 @@
1
- <svg class="clickable" xmlns="http://www.w3.org/2000/svg">
2
- <rect x="1" y="1" width="28" height="28" rx="4" class="rfill stand"/>
3
- <path transform="scale(0.8) translate(10, 6) rotate(15,16,11)" class="stand" style="fill:#000000;" d="M 1,28 4,8 10,14 16,1 12,20 6,15.35 Z"/>
4
- <circle cx="28" cy="27" r="9" class="rfill stand"/>
5
- <text transform="translate(28,31)" class="small">s</text>
6
- </svg>
@@ -1,5 +0,0 @@
1
- <svg class="clickable" xmlns="http://www.w3.org/2000/svg">
2
- <rect transform="rotate(45,14,12)" x="7" y="3" width="21" height="21" class="stand"/>
3
- <line x1="10.5" y1="20.5" x2="20.5" y2="10.5" class="stand"/>
4
- <line x1="10.5" y1="10.5" x2="20.5" y2="20.5" class="stand"/>
5
- </svg>
@@ -1,4 +0,0 @@
1
- <svg class="clickable" xmlns="http://www.w3.org/2000/svg">
2
- <rect transform="rotate(45,14,12)" x="7" y="3" width="21" height="21" class="stand"/>
3
- <circle cx="15.5" cy="15.5" r="7" class="stand"/>
4
- </svg>
@@ -1,4 +0,0 @@
1
- <svg class="clickable" xmlns="http://www.w3.org/2000/svg">
2
- <circle cx="15" cy="15" r="14" class="stand"/>
3
- <text transform="translate(15,21)" class="normal">⚠</text>
4
- </svg>
@@ -1,5 +0,0 @@
1
- <svg class="clickable" xmlns="http://www.w3.org/2000/svg">
2
- <circle cx="15" cy="15" r="14" class="stand"/>
3
- <circle cx="15" cy="15" r="11" class="stand"/>
4
- <polygon points="10.5,20.5 15,8.5 20.5,20.5 15,15.5 10.5,20.5" class="black"/>
5
- </svg>
@@ -1,5 +0,0 @@
1
- <svg class="clickable" xmlns="http://www.w3.org/2000/svg">
2
- <rect transform="rotate(45,14,12)" x="7" y="3" width="21" height="21" class="stand"/>
3
- <line x1="10.5" y1="20.5" x2="20.5" y2="10.5" class="stand"/>
4
- <line x1="10.5" y1="10.5" x2="20.5" y2="20.5" class="stand"/>
5
- </svg>
@@ -1,4 +0,0 @@
1
- <svg class="clickable" xmlns="http://www.w3.org/2000/svg">
2
- <rect x="1" y="1" width="28" height="28" rx="4" class="rfill stand"/>
3
- <text transform="translate(15,21)" class="normal">s</text>
4
- </svg>
@@ -1,4 +0,0 @@
1
- <svg class="clickable" xmlns="http://www.w3.org/2000/svg">
2
- <circle cx="15" cy="15" r="9" class="standtrans"/>
3
- <line x1="9" y1="21" x2="21" y2="9" class="stand"/>
4
- </svg>
@@ -1,6 +0,0 @@
1
- <svg class="clickable" xmlns="http://www.w3.org/2000/svg">
2
- <rect transform="rotate(45,14,12)" x="7" y="3" width="21" height="21" class="stand"/>
3
- <text transform="translate(12,25)" class="normallarge">+</text>
4
- <text transform="translate(18,16)" class="small">=</text>
5
- </svg>
6
-
@@ -1,4 +0,0 @@
1
- <svg class="clickable" xmlns="http://www.w3.org/2000/svg">
2
- <rect transform="rotate(45,14,12)" x="7" y="3" width="21" height="21" class="stand"/>
3
- <text transform="translate(15,20)" class="small">+|</text>
4
- </svg>
@@ -1,6 +0,0 @@
1
- <svg class="clickable" xmlns="http://www.w3.org/2000/svg">
2
- <rect x="1" y="1" width="28" height="28" rx="4" class="rfill stand"/>
3
- <path transform="scale(0.8) translate(-51,-9)" class="normal" d="m 69.378704,39.269882 -0.976562,0 -0.0098,-2.939453 q -1.025391,-0.01953 -2.050781,-0.234375 -1.025391,-0.224609 -2.060547,-0.664062 l 0,-1.757813 q 0.996094,0.625 2.011719,0.947266 1.02539,0.3125 2.109375,0.322265 l 0,-4.453125 q -2.158204,-0.351562 -3.144532,-1.191406 -0.976562,-0.839844 -0.976562,-2.304687 0,-1.591797 1.064453,-2.509766 1.064453,-0.917969 3.056641,-1.054688 l 0,-2.294921 0.976562,0 0,2.265625 q 0.908203,0.03906 1.757813,0.195312 0.849609,0.146484 1.660156,0.410156 l 0,1.708985 Q 71.986126,25.305038 71.126751,25.080429 70.277142,24.85582 69.378704,24.816757 l 0,4.169922 q 2.216797,0.341797 3.261719,1.220703 1.044922,0.878906 1.044922,2.402344 0,1.650391 -1.113282,2.607422 -1.103515,0.947265 -3.193359,1.09375 l 0,2.958984 z m -0.976562,-10.458984 0,-4.003906 q -1.132813,0.126953 -1.728516,0.644531 -0.595703,0.517578 -0.595703,1.376953 0,0.839844 0.546875,1.308594 0.55664,0.46875 1.777344,0.673828 z m 0.976562,1.875 0,4.228515 q 1.240234,-0.166015 1.865234,-0.703125 0.634766,-0.537109 0.634766,-1.416015 0,-0.859375 -0.605469,-1.367188 -0.595703,-0.507812 -1.894531,-0.742187 z m -8.15465,-2.502013 -0.734542,0 -0.0074,-2.210971 q -0.771269,-0.01469 -1.542538,-0.17629 -0.771269,-0.168945 -1.549883,-0.499488 l 0,-1.322176 q 0.749233,0.470107 1.513156,0.712506 0.771269,0.235053 1.586611,0.242398 l 0,-3.349511 q -1.623338,-0.264435 -2.365226,-0.896141 -0.734541,-0.631706 -0.734541,-1.733518 0,-1.197304 0.80065,-1.887773 0.800651,-0.69047 2.299117,-0.793306 l 0,-1.726172 0.734541,0 0,1.704137 q 0.683124,0.02938 1.322176,0.146908 0.639051,0.110181 1.248721,0.308507 l 0,1.285449 q -0.609644,-0.308508 -1.256041,-0.477453 -0.639051,-0.168944 -1.31483,-0.198326 l 0,3.136494 q 1.66741,0.25709 2.45337,0.918177 0.78596,0.661088 0.78596,1.806973 0,1.241376 -0.837379,1.961227 -0.830031,0.712505 -2.401951,0.822687 l 0,2.225662 z m -0.734542,-7.866943 0,-3.011622 q -0.852069,0.09549 -1.300139,0.484797 -0.448071,0.389308 -0.448071,1.035704 0,0.631707 0.411344,0.984287 0.418688,0.35258 1.336866,0.506834 z m 0.734542,1.41032 0,3.180566 q 0.932868,-0.124872 1.402975,-0.52887 0.477452,-0.403998 0.477452,-1.065086 0,-0.646396 -0.455416,-1.028359 -0.448071,-0.381961 -1.425011,-0.558251 z m 17.183516,8.718098 -0.847484,0 -0.0085,-2.55093 q -0.889859,-0.01695 -1.779718,-0.203396 -0.889859,-0.194921 -1.788193,-0.576289 l 0,-1.525473 q 0.864435,0.54239 1.745819,0.82206 0.889858,0.271195 1.830567,0.27967 l 0,-3.864531 q -1.872942,-0.305094 -2.728902,-1.033932 -0.847484,-0.728837 -0.847484,-2.000063 0,-1.381401 0.923758,-2.178037 0.923759,-0.796636 2.652628,-0.915284 l 0,-1.991588 0.847485,0 0,1.966165 q 0.78816,0.0339 1.525473,0.169496 0.737311,0.127122 1.440724,0.355943 l 0,1.483099 q -0.703383,-0.355944 -1.44917,-0.550865 -0.737311,-0.194921 -1.516998,-0.228821 l 0,3.61876 q 1.923791,0.29662 2.8306,1.059356 0.906808,0.762736 0.906808,2.084813 0,1.43225 -0.966133,2.262785 -0.957657,0.82206 -2.771275,0.949183 l 0,2.567879 z m -0.847484,-9.076563 0,-3.474687 q -0.983083,0.110173 -1.500049,0.559339 -0.516965,0.449167 -0.516965,1.194954 0,0.728837 0.474591,1.13563 0.483066,0.406793 1.542423,0.584764 z m 0.847484,1.627171 0,3.669609 q 1.076305,-0.144072 1.618696,-0.610189 0.550865,-0.466116 0.550865,-1.228853 0,-0.745786 -0.525441,-1.186479 -0.516965,-0.440691 -1.64412,-0.644088 z"/>
4
- <circle cx="28" cy="27" r="9" class="rfill stand"/>
5
- <text transform="translate(28,31)" class="small">s</text>
6
- </svg>
@@ -1,4 +0,0 @@
1
- <svg class="clickable" xmlns="http://www.w3.org/2000/svg">
2
- <rect x="1" y="1" width="28" height="28" rx="4" class="rfill stand"/>
3
- <text transform="translate(15,21)" class="normal">s</text>
4
- </svg>
@@ -1,3 +0,0 @@
1
- <svg class="clickable" xmlns="http://www.w3.org/2000/svg">
2
- <circle cx="15" cy="15" r="14" class="stand"/>
3
- </svg>
@@ -1,801 +0,0 @@
1
- function WFAdaptorManifestation(adaptor) {
2
- var self = this;
3
-
4
- this.adaptor = adaptor;
5
- this.elements = {};
6
- this.events = {};
7
- this.compact = false;
8
-
9
- this.noarrow = ['alternative', 'otherwise'];
10
- this.source = function(rng) {
11
- $('#relaxngworker').empty();
12
- var rngw = new RelaxNGui(rng,$('#relaxngworker'),self.adaptor.description.context_eval);
13
- var nnew = $(rngw.save().documentElement);
14
- nnew.attr('trans-xmlns','http://cpee.org/ns/description/1.0');
15
- var ntxt = nnew.serializeXML();
16
- ntxt = ntxt.replace(/trans-xmlns/,'xmlns');
17
-
18
- return($X(ntxt));
19
- };
20
- this.clicked = function(){
21
- var svgid = 'unknown';
22
- _.each(self.adaptor.illustrator.get_elements(),function(value,key) {
23
- if ($(value).hasClass('clicked')) {
24
- svgid = $(value).attr('element-id');
25
- }
26
- });
27
- return svgid;
28
- };
29
-
30
- // Events
31
- this.events.mousedown = function(svgid, e, child, sibling) { // {{{
32
- if(e.button == 0) { // left-click
33
- } else if(e.button == 1) { // middle-click
34
- } else if(e.button == 2) { // right-click
35
- var xml_node = self.adaptor.description.get_node_by_svg_id(svgid);
36
- var group = null;
37
- var menu = {};
38
-
39
- if (child) {
40
- group = self.elements[xml_node.get(0).tagName].permissible_children(xml_node,'into');
41
- if(group.length > 0) menu['Insert into'] = group;
42
- }
43
- if (sibling) {
44
- group = self.elements[xml_node.parent().get(0).tagName].permissible_children(xml_node,'after');
45
- if(group.length > 0) menu['Insert after'] = group;
46
- }
47
-
48
- if(xml_node.get(0).tagName != 'description' && !self.elements[xml_node.get(0).tagName].neverdelete) {
49
- var icon = self.elements[xml_node.get(0).tagName].illustrator.svg.clone();
50
- icon.children('.rfill').css({'fill':'#ff7f7f','fill-opacity':'1'});
51
- menu['Delete'] = [{
52
- 'label': 'Remove Element',
53
- 'function_call': self.adaptor.description.remove,
54
- 'menu_icon': icon,
55
- 'params': [null, xml_node]
56
- }];
57
- }
58
- if($('> finalize, > update', xml_node).length > 0 && xml_node.get(0).tagName == 'call') {
59
- var icon = self.elements.callmanipulate.illustrator.svg.clone();
60
- icon.children('.rfill:last').css({'fill':'#ff7f7f','fill-opacity':'1'});
61
- menu['Delete'].push({
62
- 'label': 'Remove Scripts',
63
- 'function_call': self.adaptor.description.remove,
64
- 'menu_icon': icon,
65
- 'params': ['> finalize, > update', xml_node]
66
- });
67
- }
68
- new CustomMenu(e).contextmenu(menu);
69
- }
70
- return false;
71
- } // }}}
72
- this.events.click = function(svgid, e) { // {{{
73
- if (self.adaptor.description.get_node_by_svg_id(svgid).length == 0) {
74
- return;
75
- }
76
-
77
- var visid = 'details';
78
- var tab = $('#dat_' + visid);
79
- tab.empty();
80
-
81
- self.adaptor.illustrator.get_elements().removeClass('clicked');
82
-
83
- if (e && e.ctrlKey) {
84
- var vtarget = self.adaptor.illustrator.get_node_by_svg_id(svgid);
85
- if (vtarget.length > 0) {
86
- vtarget.parents('g.element[element-id]').toggleClass('marked');
87
- }
88
- } else {
89
- self.adaptor.illustrator.get_elements().removeClass('marked');
90
-
91
- var vtarget = self.adaptor.illustrator.get_node_by_svg_id(svgid);
92
- if (vtarget.length > 0) {
93
- vtarget.parents('g.element[element-id]').addClass('clicked');
94
- }
95
-
96
- var node = self.adaptor.description.get_node_by_svg_id(svgid).get(0);
97
-
98
- if (self.adaptor.description.elements[$(node).attr('svg-type')]) {
99
- save[visid + '_target'] = { 'svgid': svgid, 'model': self.adaptor.description };
100
- save[visid] = new RelaxNGui(self.adaptor.description.elements[$(node).attr('svg-type')],tab,self.adaptor.description.context_eval);
101
- save[visid].content(node);
102
- }
103
- }
104
- } // }}}
105
- this.events.dblclick = function(svgid, e) { // {{{
106
- } // }}}
107
- this.events.mouseover = function(svgid, e) { // {{{
108
- $('.tile[element-id = "' + svgid + '"]').css('display','block');
109
- return false;
110
- } // }}}
111
- this.events.mouseout = function(svgid, e) { // {{{
112
- $('.tile[element-id = "' + svgid + '"]').css('display','none');
113
- return false;
114
- } // }}}
115
- this.events.dragstart = function (svgid, e) { //{{{
116
- } //}}}
117
-
118
- // Primitive Elements
119
- this.elements.call = { /*{{{*/
120
- 'type': 'primitive',
121
- 'illustrator': {//{{{
122
- 'endnodes': 'this',
123
- 'label': function(node){return $('label',$(node).children('parameters')).text().replace(/^['"]/,'').replace(/['"]$/,'')},
124
- 'resolve_symbol': function(node) {
125
- if($(node).attr('endpoint').match(/^instantiation/)) {
126
- return 'callinstantiation';
127
- } else if($(node).attr('endpoint').match(/^correlation_send/)) {
128
- return 'callcorrelationsend';
129
- } else if($(node).attr('endpoint').match(/^correlation_receive/)) {
130
- return 'callcorrelationreceive';
131
- } else if($(node).attr('endpoint').match(/^worklist/) && $('finalize,update', node).length > 0) {
132
- return 'callmanipulateworklist';
133
- } else if($(node).attr('endpoint').match(/^worklist/)) {
134
- return 'callworklist';
135
- } else if($('parameters > service', node).length > 0) {
136
- return 'callinjection';
137
- } else if($('finalize,update', node).length > 0) {
138
- return 'callmanipulate';
139
- } else {
140
- return'call';
141
- }
142
- },
143
- 'svg': self.adaptor.theme_dir + 'symbols/call.svg'
144
- },//}}}
145
- 'description': self.adaptor.theme_dir + 'rngs/call.rng',
146
- 'permissible_children': function(node,mode) { //{{{
147
- if(node.children('finalize,update').length < 1)
148
- return [
149
- {'label': 'Scripts',
150
- 'function_call': self.adaptor.description.insert_last_into,
151
- 'menu_icon': self.elements.callmanipulate.illustrator.svg.clone(),
152
- 'params': [self.adaptor.description.elements.scripts, node]}
153
- ];
154
- return [];
155
- }, //}}}
156
- 'adaptor': {//{{{
157
- 'mousedown': function (node,e) { self.events.mousedown(node,e,true,true); },
158
- 'click': self.events.click,
159
- 'dragstart': self.events.dragstart,
160
- }//}}}
161
- }; /*}}}*/
162
- this.elements.manipulate = { /*{{{*/
163
- 'type': 'primitive',
164
- 'illustrator': {//{{{
165
- 'endnodes': 'this',
166
- 'label': function(node){return $(node).attr('label').replace(/^['"]/,'').replace(/['"]$/,'')},
167
- 'svg': self.adaptor.theme_dir + 'symbols/manipulate.svg'
168
- },//}}}
169
- 'description': self.adaptor.theme_dir + 'rngs/manipulate.rng',
170
- 'permissible_children': function(node,mode) { //{{{
171
- return [];
172
- }, //}}}
173
- 'adaptor': {//{{{
174
- 'mousedown': function (node,e) { self.events.mousedown(node,e,false,true); },
175
- 'click': self.events.click,
176
- }//}}}
177
- }; /*}}}*/
178
- this.elements.escape = { /*{{{*/
179
- 'type': 'primitive',
180
- 'illustrator': {//{{{
181
- 'endnodes': 'this',
182
- 'svg': self.adaptor.theme_dir + 'symbols/escape.svg'
183
- },//}}}
184
- 'description': self.adaptor.theme_dir + 'rngs/escape.rng',
185
- 'permissible_children': function(node,mode) { //{{{
186
- return [];
187
- }, //}}}
188
- 'adaptor': {//{{{
189
- 'mousedown': function (node,e) { self.events.mousedown(node,e,false,true); },
190
- 'click': self.events.click,
191
- }//}}}
192
- }; /*}}}*/
193
-
194
- // Complex Elements
195
- this.elements.choose = { /*{{{*/
196
- 'type': 'complex',
197
- 'illustrator': {//{{{
198
- 'label': function(node){return $(node).attr('mode') == 'exclusive' ? 'exclusive' : 'inclusive' },
199
- 'endnodes': 'aggregate',
200
- 'closeblock': false,
201
- 'expansion': function(node) {
202
- return 'horizontal';
203
- },
204
- 'resolve_symbol': function(node) {
205
- if($(node).attr('mode') == 'exclusive') {
206
- return 'choose_exclusive';
207
- } else {
208
- return 'choose_inclusive';
209
- }
210
- },
211
- 'col_shift': function(node) {
212
- return false;
213
- },
214
- 'svg': self.adaptor.theme_dir + 'symbols/choose.svg'
215
- },//}}}
216
- 'description': self.adaptor.theme_dir + 'rngs/choose.rng',
217
- 'permissible_children': function(node,mode) { //{{{
218
- var func = null;
219
- if (mode == 'into') { func = self.adaptor.description.insert_first_into }
220
- else { func = self.adaptor.description.insert_after }
221
- if(node.children('parallel_branch').length > 0) {
222
- return [{'label': 'Parallel Branch',
223
- 'function_call': func,
224
- 'menu_icon': self.elements.parallel_branch.illustrator.svg.clone(),
225
- 'params': [self.adaptor.description.elements.parallel_branch, node]}];
226
- }
227
- var childs = [{'label': 'Alternative',
228
- 'function_call': func,
229
- 'menu_icon': self.elements.alternative.illustrator.svg.clone(),
230
- 'params': [self.adaptor.description.elements.alternative, node]}];
231
- if((node.children('otherwise').length == 0) && node.parents('parallel').length == node.parents('parallel_branch').length)
232
- childs.push({'label': 'Otherwise',
233
- 'function_call': self.adaptor.description.insert_last_into,
234
- 'menu_icon': self.elements.otherwise.illustrator.svg.clone(),
235
- 'params': [self.adaptor.description.elements.otherwise, node]});
236
- if(node.parents('parallel').length > node.parents('parallel_branch').length)
237
- childs.push({'label': 'Parallel Branch',
238
- 'function_call': func,
239
- 'menu_icon': self.elements.parallel_branch.illustrator.svg.clone(),
240
- 'params': [self.adaptor.description.elements.parallel_branch, node]});
241
- return childs;
242
- }, //}}}
243
- 'adaptor': {//{{{
244
- 'mousedown': function (node,e) {
245
- self.events.mousedown(node,e,true,true);
246
- },
247
- 'click': self.events.click,
248
- 'dblclick': self.events.dblclick,
249
- 'mouseover': self.events.mouseover,
250
- 'mouseout': self.events.mouseout,
251
- }//}}}
252
- }; /*}}}*/
253
- this.elements.otherwise = { /*{{{*/
254
- 'type': 'complex',
255
- 'illustrator': {//{{{
256
- 'endnodes': 'passthrough',
257
- 'closeblock': false,
258
- 'expansion': function(node) {
259
- return 'vertical';
260
- },
261
- 'col_shift': function(node) {
262
- return false;
263
- },
264
- 'svg': self.adaptor.theme_dir + 'symbols/otherwise.svg'
265
- },//}}}
266
- 'description': self.adaptor.theme_dir + 'rngs/otherwise.rng',
267
- 'neverdelete': true,
268
- 'permissible_children': function(node,mode) { //{{{
269
- var func = null;
270
- var childs = null;
271
- if (mode == 'into') { func = self.adaptor.description.insert_first_into }
272
- else { func = self.adaptor.description.insert_after }
273
- return [
274
- {'label': 'Service Call with Scripts',
275
- 'function_call': func,
276
- 'menu_icon': self.elements.callmanipulate.illustrator.svg.clone(),
277
- 'params': [self.adaptor.description.elements.callmanipulate, node]},
278
- {'label': 'Service Call',
279
- 'function_call': func,
280
- 'menu_icon': self.elements.call.illustrator.svg.clone(),
281
- 'params': [self.adaptor.description.elements.call, node]},
282
- {'label': 'Script',
283
- 'function_call': func,
284
- 'menu_icon': self.elements.manipulate.illustrator.svg.clone(),
285
- 'params': [self.adaptor.description.elements.manipulate, node]},
286
- {'label': 'Parallel',
287
- 'function_call': func,
288
- 'menu_icon': self.elements.parallel.illustrator.svg.clone(),
289
- 'params': [self.adaptor.description.elements.parallel, node]},
290
- {'label': 'Decision',
291
- 'function_call': func,
292
- 'menu_icon': self.elements.choose.illustrator.svg.clone(),
293
- 'params': [self.adaptor.description.elements.choose, node]},
294
- {'label': 'Loop',
295
- 'function_call': func,
296
- 'menu_icon': self.elements.loop.illustrator.svg.clone(),
297
- 'params': [self.adaptor.description.elements.loop, node]},
298
- {'label': 'Critical',
299
- 'function_call': func,
300
- 'menu_icon': self.elements.critical.illustrator.svg.clone(),
301
- 'params': [self.adaptor.description.elements.critical, node]}
302
- ];
303
- }, //}}}
304
- 'adaptor': {//{{{
305
- 'mousedown': function (node,e) {
306
- self.events.mousedown(node,e,true,false);
307
- },
308
- 'click': self.events.click,
309
- 'dblclick': self.events.dblclick,
310
- 'mouseover': self.events.mouseover,
311
- 'mouseout': self.events.mouseout,
312
- }//}}}
313
- }; /*}}}*/
314
- this.elements.alternative = { /*{{{*/
315
- 'type': 'complex',
316
- 'illustrator': {//{{{
317
- 'label': function(node){return $(node).attr('condition')},
318
- 'endnodes': 'passthrough',
319
- 'closeblock':false,
320
- 'expansion': function(node) {
321
- return 'vertical';
322
- },
323
- 'col_shift': function(node) {
324
- return false;
325
- },
326
- 'svg': self.adaptor.theme_dir + 'symbols/alternative.svg'
327
- },//}}}
328
- 'description': self.adaptor.theme_dir + 'rngs/alternative.rng',
329
- 'permissible_children': function(node,mode) { //{{{
330
- if (mode == 'into') { func = self.adaptor.description.insert_first_into }
331
- else { func = self.adaptor.description.insert_after }
332
- if(node.parents('parallel').length > node.parents('parallel_branch').length && node.get(0).tagName == 'alternative') {
333
- return [{'label': 'Parallel Branch',
334
- 'function_call': func,
335
- 'menu_icon': self.elements.parallel_branch.illustrator.svg.clone(),
336
- 'params': [self.adaptor.description.elements.parallel_branch, node]}];
337
- }
338
- return [
339
- {'label': 'Service Call with Scripts',
340
- 'function_call': func,
341
- 'menu_icon': self.elements.callmanipulate.illustrator.svg.clone(),
342
- 'params': [self.adaptor.description.elements.callmanipulate, node]},
343
- {'label': 'Service Call',
344
- 'function_call': func,
345
- 'menu_icon': self.elements.call.illustrator.svg.clone(),
346
- 'params': [self.adaptor.description.elements.call, node]},
347
- {'label': 'Script',
348
- 'function_call': func,
349
- 'menu_icon': self.elements.manipulate.illustrator.svg.clone(),
350
- 'params': [self.adaptor.description.elements.manipulate, node]},
351
- {'label': 'Parallel',
352
- 'function_call': func,
353
- 'menu_icon': self.elements.parallel.illustrator.svg.clone(),
354
- 'params': [self.adaptor.description.elements.parallel, node]},
355
- {'label': 'Decision',
356
- 'function_call': func,
357
- 'menu_icon': self.elements.choose.illustrator.svg.clone(),
358
- 'params': [self.adaptor.description.elements.choose, node]},
359
- {'label': 'Loop',
360
- 'function_call': func,
361
- 'menu_icon': self.elements.loop.illustrator.svg.clone(),
362
- 'params': [self.adaptor.description.elements.loop, node]},
363
- {'label': 'Critical',
364
- 'function_call': func,
365
- 'menu_icon': self.elements.critical.illustrator.svg.clone(),
366
- 'params': [self.adaptor.description.elements.critical, node]}
367
- ];
368
- }, //}}}
369
- 'adaptor': {//{{{
370
- 'mousedown': function (node,e) {
371
- self.events.mousedown(node,e,true,false);
372
- },
373
- 'click': self.events.click,
374
- 'dblclick': self.events.dblclick,
375
- 'mouseover': self.events.mouseover,
376
- 'mouseout': self.events.mouseout,
377
- }//}}}
378
- }; /*}}}*/
379
- this.elements.loop = { /*{{{*/
380
- 'type': 'complex',
381
- 'illustrator': {//{{{
382
- 'label': function(node){return $(node).attr('condition') + ($(node).attr('mode') == 'pre_test' ? ' (⭱)' : ' (⭳)') },
383
- 'endnodes': 'this',
384
- 'closeblock': true,
385
- 'expansion': function(node) {
386
- return 'vertical';
387
- },
388
- 'col_shift': function(node) {
389
- return true;
390
- },
391
- 'svg': self.adaptor.theme_dir + 'symbols/loop.svg'
392
- },// }}}
393
- 'description': self.adaptor.theme_dir + 'rngs/loop.rng',
394
- 'permissible_children': function(node,mode) { //{{{
395
- var func = null;
396
- if (mode == 'into') { func = self.adaptor.description.insert_first_into }
397
- else { func = self.adaptor.description.insert_after }
398
- var childs = [
399
- {'label': 'Service Call with Scripts',
400
- 'function_call': func,
401
- 'menu_icon': self.elements.callmanipulate.illustrator.svg.clone(),
402
- 'params': [self.adaptor.description.elements.callmanipulate, node]},
403
- {'label': 'Service Call',
404
- 'function_call': func,
405
- 'menu_icon': self.elements.call.illustrator.svg.clone(),
406
- 'params': [self.adaptor.description.elements.call, node]},
407
- {'label': 'Manipulate',
408
- 'function_call': func,
409
- 'menu_icon': self.elements.manipulate.illustrator.svg.clone(),
410
- 'params': [self.adaptor.description.elements.manipulate, node]},
411
- {'label': 'Decision',
412
- 'function_call': func,
413
- 'menu_icon': self.elements.choose.illustrator.svg.clone(),
414
- 'params': [self.adaptor.description.elements.choose, node]},
415
- {'label': 'Loop',
416
- 'function_call': func,
417
- 'menu_icon': self.elements.loop.illustrator.svg.clone(),
418
- 'params': [self.adaptor.description.elements.loop, node]},
419
- {'label': 'Critical',
420
- 'function_call': func,
421
- 'menu_icon': self.elements.critical.illustrator.svg.clone(),
422
- 'params': [self.adaptor.description.elements.critical, node]}
423
- ];
424
- if(node.parent('parallel').length > node.parent('parallel_branch').length) {
425
- childs.push({'label': 'Parallel Branch',
426
- 'function_call': func,
427
- 'menu_icon': self.elements.parallel_branch.illustrator.svg.clone(),
428
- 'params': [self.adaptor.description.elements.parallel_branch, node]}
429
- );
430
- } else {
431
- childs.push({'label': 'Parallel',
432
- 'function_call': func,
433
- 'menu_icon': self.elements.parallel.illustrator.svg.clone(),
434
- 'params': [self.adaptor.description.elements.parallel, node]}
435
- );
436
- }
437
- return childs;
438
- }, //}}}
439
- 'adaptor': {//{{{
440
- 'mousedown': function (node,e) {
441
- self.events.mousedown(node,e,true,true);
442
- },
443
- 'click': self.events.click,
444
- 'dblclick': self.events.dblclick,
445
- 'mouseover': self.events.mouseover,
446
- 'mouseout': self.events.mouseout,
447
- }//}}}
448
- }; /*}}}*/
449
- this.elements.parallel = { /*{{{*/
450
- 'type': 'complex',
451
- 'illustrator': {//{{{
452
- 'endnodes': 'this',
453
- 'closeblock': false,
454
- 'border': true,
455
- 'expansion': function(node) {
456
- // check if any sibling other than 'parallel_branch' is present
457
- if($(node).children(':not(parallel_branch)').length > 0) return 'vertical';
458
- return 'horizontal';
459
- },
460
- 'col_shift': function(node) {
461
- return true;
462
- },
463
- 'svg': self.adaptor.theme_dir + 'symbols/parallel.svg'
464
- },//}}}
465
- 'description': self.adaptor.theme_dir + 'rngs/parallel.rng',
466
- 'permissible_children': function(node,mode) { //{{{
467
- var childs = [
468
- {'label': 'Service Call with Scripts',
469
- 'function_call': self.adaptor.description.insert_last_into,
470
- 'menu_icon': self.elements.callmanipulate.illustrator.svg.clone(),
471
- 'params': [self.adaptor.description.elements.callmanipulate, node]},
472
- {'label': 'Service Call',
473
- 'function_call': self.adaptor.description.insert_last_into,
474
- 'menu_icon': self.elements.call.illustrator.svg.clone(),
475
- 'params': [self.adaptor.description.elements.call, node]},
476
- {'label': 'Manipulate',
477
- 'function_call': self.adaptor.description.insert_last_into,
478
- 'menu_icon': self.elements.manipulate.illustrator.svg.clone(),
479
- 'params': [self.adaptor.description.elements.manipulate, node]},
480
- {'label': 'Decision',
481
- 'function_call': self.adaptor.description.insert_last_into,
482
- 'menu_icon': self.elements.choose.illustrator.svg.clone(),
483
- 'params': [self.adaptor.description.elements.choose, node]},
484
- {'label': 'Loop',
485
- 'function_call': self.adaptor.description.insert_last_into,
486
- 'menu_icon': self.elements.loop.illustrator.svg.clone(),
487
- 'params': [self.adaptor.description.elements.loop, node]},
488
- {'label': 'Critical',
489
- 'function_call': self.adaptor.description.insert_last_into,
490
- 'menu_icon': self.elements.critical.illustrator.svg.clone(),
491
- 'params': [self.adaptor.description.elements.critical, node]},
492
- {'label': 'Parallel Branch',
493
- 'function_call': self.adaptor.description.insert_last_into,
494
- 'menu_icon': self.elements.parallel_branch.illustrator.svg.clone(),
495
- 'params': [self.adaptor.description.elements.parallel_branch, node]}
496
- ];
497
- if(node.get(0).tagName != 'parallel')
498
- childs.push({'label': 'Parallel',
499
- 'function_call': self.adaptor.description.insert_last_into,
500
- 'menu_icon': self.elements.parallel.illustrator.svg.clone(),
501
- 'params': [self.adaptor.description.elements.parallel, node]});
502
- return childs;
503
- }, //}}}
504
- 'adaptor': {//{{{
505
- 'mousedown': function (node,e) {
506
- self.events.mousedown(node,e,true,true);
507
- },
508
- 'click': self.events.click,
509
- 'dblclick': self.events.dblclick,
510
- 'mouseover': self.events.mouseover,
511
- 'mouseout': self.events.mouseout,
512
- }//}}}
513
- }; /*}}}*/
514
- this.elements.parallel_branch = { /*{{{*/
515
- 'type': 'complex',
516
- 'illustrator': {//{{{
517
- 'endnodes': 'this',
518
- 'closeblock': false,
519
- 'expansion': function(node) {
520
- return 'vertical';
521
- },
522
- 'col_shift': function(node) {
523
- if(node.parentNode.tagName == 'choose') return false;
524
- if($(node).parents('parallel').first().children(':not(parallel_branch)').length > 0) return true;
525
- return false;
526
- },
527
- 'svg': self.adaptor.theme_dir + 'symbols/parallel_branch.svg'
528
- },//}}}
529
- 'description': self.adaptor.theme_dir + 'rngs/parallel_branch.rng',
530
- 'permissible_children': function(node,mode) { //{{{
531
- var func = null;
532
- var childs = null;
533
- if (mode == 'into') { func = self.adaptor.description.insert_first_into }
534
- else { func = self.adaptor.description.insert_after }
535
- childs = [
536
- {'label': 'Service Call with Scripts',
537
- 'function_call': func,
538
- 'menu_icon': self.elements.callmanipulate.illustrator.svg.clone(),
539
- 'params': [self.adaptor.description.elements.callmanipulate, node]},
540
- {'label': 'Service Call',
541
- 'function_call': func,
542
- 'menu_icon': self.elements.call.illustrator.svg.clone(),
543
- 'params': [self.adaptor.description.elements.call, node]},
544
- {'label': 'Script',
545
- 'function_call': func,
546
- 'menu_icon': self.elements.manipulate.illustrator.svg.clone(),
547
- 'params': [self.adaptor.description.elements.manipulate, node]},
548
- {'label': 'Parallel',
549
- 'function_call': func,
550
- 'menu_icon': self.elements.parallel.illustrator.svg.clone(),
551
- 'params': [self.adaptor.description.elements.parallel, node]},
552
- {'label': 'Decision',
553
- 'function_call': func,
554
- 'menu_icon': self.elements.choose.illustrator.svg.clone(),
555
- 'params': [self.adaptor.description.elements.choose, node]},
556
- {'label': 'Loop',
557
- 'function_call': func,
558
- 'menu_icon': self.elements.loop.illustrator.svg.clone(),
559
- 'params': [self.adaptor.description.elements.loop, node]},
560
- {'label': 'Critical',
561
- 'function_call': func,
562
- 'menu_icon': self.elements.critical.illustrator.svg.clone(),
563
- 'params': [self.adaptor.description.elements.critical, node]},
564
- ];
565
- if(node.parents('choose').length > node.parents('alternative, otherwise').length && node.get(0).tagName == 'parallel_branch') {
566
- return [{'label': 'Alternative',
567
- 'function_call': func,
568
- 'menu_icon': self.elements.alternative.illustrator.svg.clone(),
569
- 'params': [self.adaptor.description.elements.alternative, node]}];
570
- }
571
- return childs;
572
- }, //}}}
573
- 'adaptor': {//{{{
574
- 'mousedown': function (node,e) {
575
- self.events.mousedown(node,e,true,false);
576
- },
577
- 'click': self.events.click,
578
- 'dblclick': self.events.dblclick,
579
- 'mouseover': self.events.mouseover,
580
- 'mouseout': self.events.mouseout,
581
- }//}}}
582
- }; /*}}}*/
583
- this.elements.critical = { /*{{{*/
584
- 'type': 'complex',
585
- 'illustrator': {//{{{
586
- 'endnodes': 'aggregate',
587
- 'closeblock': false,
588
- 'border': true,
589
- 'expansion': function(node) {
590
- return 'vertical';
591
- },
592
- 'col_shift': function(node) {
593
- return true;
594
- },
595
- 'svg': self.adaptor.theme_dir + 'symbols/critical.svg'
596
- },//}}}
597
- 'description': self.adaptor.theme_dir + 'rngs/critical.rng',
598
- 'permissible_children': function(node,mode) { //{{{
599
- var func = null;
600
- if (mode == 'into') { func = self.adaptor.description.insert_first_into }
601
- else { func = self.adaptor.description.insert_after }
602
- return [
603
- {'label': 'Service Call with Scripts',
604
- 'function_call': func,
605
- 'menu_icon': self.elements.callmanipulate.illustrator.svg.clone(),
606
- 'params': [self.adaptor.description.elements.callmanipulate, node]},
607
- {'label': 'Service Call',
608
- 'function_call': func,
609
- 'menu_icon': self.elements.call.illustrator.svg.clone(),
610
- 'params': [self.adaptor.description.elements.call, node]},
611
- {'label': 'Script',
612
- 'function_call': func,
613
- 'menu_icon': self.elements.manipulate.illustrator.svg.clone(),
614
- 'params': [self.adaptor.description.elements.manipulate, node]},
615
- {'label': 'Parallel',
616
- 'function_call': func,
617
- 'menu_icon': self.elements.parallel.illustrator.svg.clone(),
618
- 'params': [self.adaptor.description.elements.parallel, node]},
619
- {'label': 'Decision',
620
- 'function_call': func,
621
- 'menu_icon': self.elements.choose.illustrator.svg.clone(),
622
- 'params': [self.adaptor.description.elements.choose, node]},
623
- {'label': 'Loop',
624
- 'function_call': func,
625
- 'menu_icon': self.elements.loop.illustrator.svg.clone(),
626
- 'params': [self.adaptor.description.elements.loop, node]},
627
- {'label': 'Critical',
628
- 'function_call': func,
629
- 'menu_icon': self.elements.critical.illustrator.svg.clone(),
630
- 'params': [self.adaptor.description.elements.critical, node]},
631
- ];
632
- }, //}}}
633
- 'adaptor': {//{{{
634
- 'mousedown': function (node,e) {
635
- self.events.mousedown(node,e,true,true);
636
- },
637
- 'click': self.events.click,
638
- 'dblclick': self.events.dblclick,
639
- 'mouseover': self.events.mouseover,
640
- 'mouseout': self.events.mouseout,
641
- }//}}}
642
- }; /*}}}*/
643
- this.elements.group = { /*{{{*/
644
- 'type': 'complex',
645
- 'illustrator': {//{{{
646
- 'endnodes': 'aggregate',
647
- 'closeblock': false,
648
- 'border': 'injectiongroup', // other value than true,false inidcates the used class for the svg-object
649
- 'expansion': function(node) {
650
- return 'vertical';
651
- },
652
- 'col_shift': function(node) {
653
- return true;
654
- },
655
- 'svg': null
656
- },//}}}
657
- 'description': self.adaptor.theme_dir + 'rngs/group.rng',
658
- 'permissible_children': function(node,mode) { //{{{
659
- var func = null;
660
- if (mode == 'into') { func = self.adaptor.description.insert_first_into }
661
- else { func = self.adaptor.description.insert_after }
662
- return [
663
- ];
664
- }, //}}}
665
- 'adaptor': {//{{{
666
- 'mousedown': function (node,e) {
667
- self.events.mousedown(node,e,true,true);
668
- },
669
- 'click': self.events.click,
670
- 'dblclick': self.events.dblclick,
671
- 'mouseover': self.events.mouseover,
672
- 'mouseout': self.events.mouseout,
673
- }//}}}
674
- }; /*}}}*/
675
- this.elements.start = this.elements.description = { /*{{{*/
676
- 'type': 'description',
677
- 'illustrator': {//{{{
678
- 'endnodes': 'passthrough',
679
- 'closeblock': false,
680
- 'expansion': function(node) {
681
- return 'vertical';
682
- },
683
- 'col_shift': function(node) {
684
- return true;
685
- },
686
- 'svg': self.adaptor.theme_dir + 'symbols/start.svg'
687
- },//}}}
688
- 'description': null,
689
- 'permissible_children': function(node,mode) { //{{{
690
- var func = null;
691
- if (mode == 'into') { func = self.adaptor.description.insert_first_into }
692
- else { func = self.adaptor.description.insert_after }
693
- return [
694
- {'label': 'Service Call with Scripts',
695
- 'function_call': func,
696
- 'menu_icon': self.elements.callmanipulate.illustrator.svg.clone(),
697
- 'params': [self.adaptor.description.elements.callmanipulate, node]},
698
- {'label': 'Service Call',
699
- 'function_call': func,
700
- 'menu_icon': self.elements.call.illustrator.svg.clone(),
701
- 'params': [self.adaptor.description.elements.call, node]},
702
- {'label': 'Script Task',
703
- 'function_call': func,
704
- 'menu_icon': self.elements.manipulate.illustrator.svg.clone(),
705
- 'params': [self.adaptor.description.elements.manipulate, node]},
706
- {'label': 'Parallel',
707
- 'function_call': func,
708
- 'menu_icon': self.elements.parallel.illustrator.svg.clone(),
709
- 'params': [self.adaptor.description.elements.parallel, node]},
710
- {'label': 'Decision',
711
- 'function_call': func,
712
- 'menu_icon': self.elements.choose.illustrator.svg.clone(),
713
- 'params': [self.adaptor.description.elements.choose, node]},
714
- {'label': 'Loop',
715
- 'function_call': func,
716
- 'menu_icon': self.elements.loop.illustrator.svg.clone(),
717
- 'params': [self.adaptor.description.elements.loop, node]},
718
- {'label': 'Critical',
719
- 'function_call': func,
720
- 'menu_icon': self.elements.critical.illustrator.svg.clone(),
721
- 'params': [self.adaptor.description.elements.critical, node]}
722
- ];
723
- }, //}}}
724
- 'adaptor': {//{{{
725
- 'mousedown': function (node,e) {
726
- self.events.mousedown(node,e,true,false);
727
- },
728
- 'click': self.events.click,
729
- 'dblclick': self.events.dblclick,
730
- 'mouseover': self.events.mouseover,
731
- 'mouseout': self.events.mouseout,
732
- }//}}}
733
- }; /*}}}*/
734
-
735
- // Abstract Elements
736
- // * they may only have an illustrator (or other parts)
737
- // * they HAVE TO have a parent
738
- this.elements.callmanipulate = { /*{{{*/
739
- 'type': 'abstract',
740
- 'parent': 'call',
741
- 'description': self.adaptor.theme_dir + 'rngs/callmanipulate.rng',
742
- 'illustrator': {//{{{
743
- 'label': function(node){return $('label',$(node).children('parameters')).text().replace(/^['"]/,'').replace(/['"]$/,'')},
744
- 'svg': self.adaptor.theme_dir + 'symbols/callmanipulate.svg'
745
- },//}}}
746
- }; /*}}}*/
747
- this.elements.choose_inclusive = { /*{{{*/
748
- 'type': 'abstract',
749
- 'parent': 'choose',
750
- 'illustrator': {//{{{
751
- 'svg': self.adaptor.theme_dir + 'symbols/choose_inclusive.svg'
752
- },//}}}
753
- }; /*}}}*/
754
- this.elements.choose_exclusive = { /*{{{*/
755
- 'type': 'abstract',
756
- 'parent': 'choose',
757
- 'illustrator': {//{{{
758
- 'svg': self.adaptor.theme_dir + 'symbols/choose_exclusive.svg'
759
- },//}}}
760
- }; /*}}}*/
761
- this.elements.scripts = { /*{{{*/
762
- 'type': 'abstract',
763
- 'description': [self.adaptor.theme_dir + 'rngs/update.rng',self.adaptor.theme_dir + 'rngs/finalize.rng']
764
- }; /*}}}*/
765
- this.elements.callinstantiation = { /*{{{*/
766
- 'type': 'abstract',
767
- 'parent': 'call',
768
- 'illustrator': {//{{{
769
- 'svg': self.adaptor.theme_dir + 'symbols/callinstantiation.svg'
770
- },//}}}
771
- }; /*}}}*/
772
- this.elements.callcorrelationsend = { /*{{{*/
773
- 'type': 'abstract',
774
- 'parent': 'call',
775
- 'illustrator': {//{{{
776
- 'svg': self.adaptor.theme_dir + 'symbols/callcorrelationsend.svg'
777
- },//}}}
778
- }; /*}}}*/
779
- this.elements.callcorrelationreceive = { /*{{{*/
780
- 'type': 'abstract',
781
- 'parent': 'call',
782
- 'illustrator': {//{{{
783
- 'svg': self.adaptor.theme_dir + 'symbols/callcorrelationreceive.svg'
784
- },//}}}
785
- }; /*}}}*/
786
- this.elements.callworklist = { /*{{{*/
787
- 'type': 'abstract',
788
- 'parent': 'call',
789
- 'illustrator': {//{{{
790
- 'svg': self.adaptor.theme_dir + 'symbols/callworklist.svg'
791
- },//}}}
792
- }; /*}}}*/
793
- this.elements.callmanipulateworklist = { /*{{{*/
794
- 'type': 'abstract',
795
- 'parent': 'call',
796
- 'description': self.adaptor.theme_dir + 'rngs/callmanipulate.rng',
797
- 'illustrator': {//{{{
798
- 'svg': self.adaptor.theme_dir + 'symbols/callmanipulateworklist.svg'
799
- },//}}}
800
- }; /*}}}*/
801
- }