cpee 1.3.173 → 1.3.174
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/cockpit/css/ui.css +31 -17
- data/cockpit/index.html +27 -21
- data/cockpit/js/instance.js +74 -46
- data/cockpit/js/wfadaptor.cpee.js +1 -1
- data/cockpit/lib/{contextmenu.css → custommenu.css} +14 -8
- data/cockpit/lib/custommenu.js +101 -0
- data/cpee.gemspec +1 -1
- data/lib/cpee/controller.rb +1 -1
- data/lib/cpee/handler_properties.rb +2 -0
- data/lib/cpee/implementation.rb +5 -3
- data/server/handlerwrappers/default.rb +5 -0
- data/server/instances/12/notifications/7ace1a6f6974fe3574107a19b5e9d036/consumer-secret +1 -0
- data/server/instances/12/notifications/7ace1a6f6974fe3574107a19b5e9d036/producer-secret +1 -0
- data/server/instances/12/notifications/7ace1a6f6974fe3574107a19b5e9d036/subscription.xml +33 -0
- data/server/instances/15/properties.xml +44 -0
- data/server/instances/16/properties.xml +44 -0
- data/server/instances/17/properties.xml +44 -0
- data/server/instances/18/properties.xml +45 -0
- data/server/instances/19/properties.xml +45 -0
- data/server/instances/20/properties.xml +46 -0
- data/server/instances/21/properties.xml +46 -0
- data/server/instances/22/notifications/f9c504b8c715ec94a99fc3c6a660c53a/consumer-secret +1 -0
- data/server/instances/22/notifications/f9c504b8c715ec94a99fc3c6a660c53a/producer-secret +1 -0
- data/server/instances/22/notifications/f9c504b8c715ec94a99fc3c6a660c53a/subscription.xml +23 -0
- data/server/instances/22/properties.xml +112 -0
- data/server/instances/23/notifications/0a5a059f4ae897aee1446d560210dec0/consumer-secret +1 -0
- data/server/instances/23/notifications/0a5a059f4ae897aee1446d560210dec0/producer-secret +1 -0
- data/server/instances/23/notifications/0a5a059f4ae897aee1446d560210dec0/subscription.xml +23 -0
- data/server/instances/23/properties.xml +148 -0
- data/server/resources/properties.init +4 -2
- data/server/resources/properties.schema.active +2 -5
- data/server/resources/properties.schema.finished +2 -5
- data/server/resources/properties.schema.inactive +2 -5
- data/server/resources/topics.xml +3 -0
- data/server/server.pid +1 -0
- metadata +23 -4
- data/cockpit/lib/contextmenu.js +0 -63
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 57b2bcb0a54d9ba22dfe122a16356af176febe0d
|
4
|
+
data.tar.gz: b268f6cedef78bc4265d8564fdb72f7f940daaf6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 37cc26d6baf204364d8b6852e8948c1a49bf6c47729aa7a8d323d5fc9e552d5e099e451562cfa5f58d747e629659f22829e8329b7690a3f384c8ee022bbe5e8e
|
7
|
+
data.tar.gz: a018352784375f69df6129f536d6d10a35cfc355c64b07b922962250165f4efc1174351d27763214f4e10fafc44bfaf25ed85037572b0de1b20ba9b8eb809500
|
data/cockpit/css/ui.css
CHANGED
@@ -3,8 +3,23 @@ body {
|
|
3
3
|
-moz-user-select: -moz-none;
|
4
4
|
-ms-user-select: none;
|
5
5
|
user-select: none;
|
6
|
+
font-family: sans-serif;
|
7
|
+
font-size: 1em;
|
6
8
|
}
|
7
9
|
|
10
|
+
button {
|
11
|
+
padding: .5em 2em .55em;
|
12
|
+
border: 1px solid ButtonShadow;
|
13
|
+
border-radius: 0.2em;
|
14
|
+
padding: 0px;
|
15
|
+
margin: 0;
|
16
|
+
font-family: sans-serif;
|
17
|
+
font-size: 0.9em;
|
18
|
+
background: ButtonFace;
|
19
|
+
background: -webkit-gradient(linear, left top, left bottom, from(ButtonHighlight), to(ButtonFace));
|
20
|
+
background: -moz-linear-gradient(top, ButtonHighlight, ButtonFace);
|
21
|
+
}
|
22
|
+
input { font-family: sans-serif; font-size: 1em; }
|
8
23
|
|
9
24
|
#areanew { height: 7em; }
|
10
25
|
#areanew td:nth-child(1) { width: 7em; padding-right: 1em; }
|
@@ -20,7 +35,6 @@ div.tabbed table.tabbar td.tabbehind input {
|
|
20
35
|
}
|
21
36
|
|
22
37
|
div.tabbed table.tabbar td.tabbehind button {
|
23
|
-
border: 1pt solid buttonshadow;
|
24
38
|
margin-left: 0.5em;
|
25
39
|
}
|
26
40
|
|
@@ -31,22 +45,22 @@ button.highlight { background-color: #cc0000; }
|
|
31
45
|
#areadataelements { height: 100%; overflow-x: hidden; overflow-y: scroll; }
|
32
46
|
#areaendpoints { height: 100%; overflow: auto; }
|
33
47
|
|
34
|
-
#areainstance
|
35
|
-
#areainstance
|
36
|
-
#areainstance
|
37
|
-
#areainstance
|
38
|
-
#areainstance
|
39
|
-
|
40
|
-
|
41
|
-
#areainstance
|
42
|
-
#areainstance
|
43
|
-
#areainstance
|
44
|
-
#areainstance
|
45
|
-
#areainstance
|
46
|
-
|
47
|
-
#areainstance
|
48
|
-
#areainstance
|
49
|
-
#areainstance
|
48
|
+
#areainstance input[type=file] { display: none; }
|
49
|
+
#areainstance div.section { display: table-cell; vertical-align: middle; }
|
50
|
+
#areainstance div.section:nth-child(1) { padding: 0 0.5em 0 0; }
|
51
|
+
#areainstance div.section:nth-child(2) { border-left: 1px solid ButtonShadow; padding: 0 0.5em; }
|
52
|
+
#areainstance div.section:nth-child(3) { border-left: 1px solid ButtonShadow; padding: 0 0 0 0.5em; }
|
53
|
+
|
54
|
+
#areainstance div.section:nth-child(1) div { vertical-align: middle; margin: 0; padding: 0; }
|
55
|
+
#areainstance div.section:nth-child(1) button { vertical-align: middle; margin: 0; padding: 0; }
|
56
|
+
#areainstance div.section:nth-child(1) div:nth-child(2) { text-align: right; }
|
57
|
+
#areainstance div.section:nth-child(1) button[name=loadtestset] { width: 10em; height: 3.5em; }
|
58
|
+
#areainstance div.section:nth-child(1) button[name=loadtestsetfile] { width: 10em; height: 3.5em; margin-left: 0.2em; }
|
59
|
+
#areainstance div.section:nth-child(1) button[name=loadmodelfile] { width: 10em; height: 2em; margin-top: 0.2em; }
|
60
|
+
|
61
|
+
#areainstance div.section:nth-child(2) button { width: 6em; height: 4.5em; vertical-align: middle; margin: 0; padding: 0; }
|
62
|
+
#areainstance div.section:nth-child(3) div { vertical-align: middle; margin: 0; padding: 0; }
|
63
|
+
#areainstance div.section:nth-child(3) button[name=loadmodeltype] { width: 10em; height: 2em; }
|
50
64
|
|
51
65
|
#areaexecution { height: 7em; overflow: auto; }
|
52
66
|
#areaexecution input { padding: 0; margin:0; }
|
data/cockpit/index.html
CHANGED
@@ -36,12 +36,12 @@
|
|
36
36
|
<script type="text/javascript" src="lib/jquery.cookie.js"></script>
|
37
37
|
<script type="text/javascript" src="lib/jquery.redraw.js"></script>
|
38
38
|
|
39
|
-
<script type="text/javascript" src="lib/
|
39
|
+
<script type="text/javascript" src="lib/custommenu.js"></script>
|
40
40
|
<script type="text/javascript" src="lib/wfadaptor.js"></script>
|
41
41
|
<script type="text/javascript" src="lib/ui.js"></script>
|
42
42
|
|
43
43
|
<link rel="stylesheet" href="lib/wfadaptor.css" type="text/css"/>
|
44
|
-
<link rel="stylesheet" href="lib/
|
44
|
+
<link rel="stylesheet" href="lib/custommenu.css" type="text/css"/>
|
45
45
|
<link rel="stylesheet" href="lib/ui.css" type="text/css"/>
|
46
46
|
|
47
47
|
<!-- custom stuff, play arround -->
|
@@ -104,7 +104,6 @@
|
|
104
104
|
<button id='icontinue' disabled='disabled'>Continue</button>
|
105
105
|
</p>
|
106
106
|
</div>
|
107
|
-
|
108
107
|
|
109
108
|
<!-- The following six are templates that get used during ui generation, change them carefully -->
|
110
109
|
<table id="dat_template_pair" class='hidden'> <!--{{{-->
|
@@ -164,6 +163,9 @@
|
|
164
163
|
</tr>
|
165
164
|
</table> <!--}}}-->
|
166
165
|
|
166
|
+
<div class='menu' id='predefinedtestsets'></div>
|
167
|
+
<div class='menu' id='modeltypes'></div>
|
168
|
+
|
167
169
|
<div class="tabbed" id="instance">
|
168
170
|
<table class="tabbar">
|
169
171
|
<tr>
|
@@ -191,24 +193,28 @@
|
|
191
193
|
</table>
|
192
194
|
</div> <!--}}}-->
|
193
195
|
<div id="areainstance" class="inactive"> <!--{{{-->
|
194
|
-
<
|
195
|
-
<
|
196
|
-
<
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
</
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
196
|
+
<div class='section'>
|
197
|
+
<div>
|
198
|
+
<input type='file' name='testsetfile' id='testsetfile'/>
|
199
|
+
<button title='a testset includes various setting, subscriptions and a model' name="loadtestset">load predefined testset</button><button title='a testset includes various setting, subscriptions and a model' name="loadtestsetfile">load testset file</button>
|
200
|
+
</div>
|
201
|
+
<div>
|
202
|
+
<input type='file' name='modelfile' id='modelfile'/>
|
203
|
+
<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>
|
204
|
+
</div>
|
205
|
+
</div><div class='section'>
|
206
|
+
<a id="savetestset" href="" download=""></a>
|
207
|
+
<a id="savesvg" href="" download=""></a>
|
208
|
+
<button title='a testset includes various setting, subscriptions and a model' name="savetestset">save testset</button>
|
209
|
+
<button title='a testset includes various setting, subscriptions and a model' name="savesvg">save svg graph</button>
|
210
|
+
</div><div class='section'>
|
211
|
+
<div>
|
212
|
+
Current model: <span id='currentmodel'></span>
|
213
|
+
</div>
|
214
|
+
<div>
|
215
|
+
<button title='a testset includes various setting, subscriptions and a model' name="loadmodeltype">set model type</button>
|
216
|
+
</div>
|
217
|
+
</div>
|
212
218
|
</div> <!--}}}-->
|
213
219
|
<div id="areaexecution" class='inactive'> <!--{{{-->
|
214
220
|
<table class='compact'>
|
data/cockpit/js/instance.js
CHANGED
@@ -24,6 +24,8 @@ var sub_more = 'topic' + '=' + 'running' + '&' +// {{{
|
|
24
24
|
'events' + '=' + 'change' + '&' +
|
25
25
|
'topic' + '=' + 'properties/endpoints' + '&' +
|
26
26
|
'events' + '=' + 'change' + '&' +
|
27
|
+
'topic' + '=' + 'properties/transformation' + '&' +
|
28
|
+
'events' + '=' + 'change' + '&' +
|
27
29
|
'topic' + '=' + 'properties/handlerwrapper' + '&' +
|
28
30
|
'events' + '=' + 'result' + '&' +
|
29
31
|
'topic' + '=' + 'properties/handlers' + '&' +
|
@@ -40,6 +42,8 @@ var sub_less = 'topic' + '=' + 'running' + '&' +// {{{
|
|
40
42
|
'events' + '=' + 'change' + '&' +
|
41
43
|
'topic' + '=' + 'properties/endpoints' + '&' +
|
42
44
|
'events' + '=' + 'change' + '&' +
|
45
|
+
'topic' + '=' + 'properties/transformation' + '&' +
|
46
|
+
'events' + '=' + 'change' + '&' +
|
43
47
|
'topic' + '=' + 'properties/handlerwrapper' + '&' +
|
44
48
|
'events' + '=' + 'result' + '&' +
|
45
49
|
'topic' + '=' + 'properties/handlers' + '&' +
|
@@ -49,9 +53,10 @@ $(document).ready(function() {// {{{
|
|
49
53
|
$("input[name=base-url]").val(location.protocol + "//" + location.host + ":" + $('body').data('defaultport'));
|
50
54
|
$("button[name=base]").click(function(){ create_instance(null); });
|
51
55
|
$("button[name=instance]").click(function(){ ui_tab_click("#tabinstance"); monitor_instance(false); });
|
52
|
-
$("button[name=loadtestset]").click(load_testset);
|
53
|
-
$("button[name=
|
54
|
-
$("button[name=loadmodelfile]").click(
|
56
|
+
$("button[name=loadtestset]").click(function(e){new CustomMenu(e).menu($('#predefinedtestsets'),load_testset); });
|
57
|
+
$("button[name=loadtestsetfile]").click(load_testsetfile);
|
58
|
+
$("button[name=loadmodelfile]").click(load_modelfile);
|
59
|
+
$("button[name=loadmodeltype]").click(function(e){new CustomMenu(e).menu($('#modeltypes'),load_modeltype, $("button[name=loadmodeltype]")); });
|
55
60
|
$("button[name=savetestset]").click(function(){ save_testset(); });
|
56
61
|
$("button[name=savesvg]").click(function(){ save_svg(); });
|
57
62
|
$("input[name=votecontinue]").click(check_subscription);
|
@@ -64,11 +69,8 @@ $(document).ready(function() {// {{{
|
|
64
69
|
success: function(res){
|
65
70
|
$('testset',res).each(function(){
|
66
71
|
var ts = $(this).text();
|
67
|
-
$('
|
68
|
-
$("<option></option>").attr("value",ts).text(ts)
|
69
|
-
);
|
72
|
+
$('#predefinedtestsets').append($("<div class='menuitem'></div>").text(ts));
|
70
73
|
});
|
71
|
-
$('select[name=testset-names] optgroup:last-child option:first-child').attr('selected','selected');
|
72
74
|
var q = $.parseQuery();
|
73
75
|
if (q.monitor && q.load) {
|
74
76
|
$("input[name=instance-url]").val(q.monitor);
|
@@ -93,9 +95,7 @@ $(document).ready(function() {// {{{
|
|
93
95
|
success: function(res){
|
94
96
|
$('transformation',res).each(function(){
|
95
97
|
var ts = $(this).text();
|
96
|
-
$('
|
97
|
-
$("<option></option>").attr("value",ts).text(ts)
|
98
|
-
);
|
98
|
+
$('#modeltypes').append($("<div class='menuitem'></div>").text(ts));
|
99
99
|
});
|
100
100
|
}
|
101
101
|
});
|
@@ -216,6 +216,9 @@ function monitor_instance(load) {// {{{
|
|
216
216
|
case 'properties/position':
|
217
217
|
monitor_instance_pos_change($('event > notification',data).text());
|
218
218
|
break;
|
219
|
+
case 'properties/transformation':
|
220
|
+
monitor_instance_transformation();
|
221
|
+
break;
|
219
222
|
case 'running':
|
220
223
|
monitor_instance_running($('event > notification',data).text(),$('event > event',data).text());
|
221
224
|
break;
|
@@ -237,6 +240,7 @@ function monitor_instance(load) {// {{{
|
|
237
240
|
|
238
241
|
monitor_instance_dataelements();
|
239
242
|
monitor_instance_endpoints();
|
243
|
+
monitor_instance_transformation();
|
240
244
|
monitor_instance_dsl();
|
241
245
|
monitor_instance_state();
|
242
246
|
},
|
@@ -355,6 +359,19 @@ function monitor_instance_state() {// {{{
|
|
355
359
|
}
|
356
360
|
});
|
357
361
|
}// }}}
|
362
|
+
function monitor_instance_transformation() {// {{{
|
363
|
+
var url = $("input[name=current-instance]").val();
|
364
|
+
$.ajax({
|
365
|
+
type: "GET",
|
366
|
+
url: url + "/properties/values/attributes/modeltype",
|
367
|
+
success: function(res){
|
368
|
+
$("#currentmodel").text($(res.documentElement).text());
|
369
|
+
},
|
370
|
+
error: function() {
|
371
|
+
$("#currentmodel").text('???');
|
372
|
+
}
|
373
|
+
});
|
374
|
+
}// }}}
|
358
375
|
|
359
376
|
function monitor_instance_pos() {// {{{
|
360
377
|
var url = $("input[name=current-instance]").val();
|
@@ -520,9 +537,13 @@ function save_testset() {// {{{
|
|
520
537
|
testset.append(pars);
|
521
538
|
$.ajax({
|
522
539
|
type: "GET",
|
523
|
-
url: base + "/properties/values/
|
540
|
+
url: base + "/properties/values/attributes/",
|
524
541
|
success: function(res){
|
525
|
-
var
|
542
|
+
var pars = $X('<attributes/>');
|
543
|
+
pars.append($(res.documentElement));
|
544
|
+
testset.append(pars);
|
545
|
+
var name = $("values > info",res);
|
546
|
+
console.log(res);
|
526
547
|
$('#savetestset').attr('download',name + '.xml');
|
527
548
|
$('#savetestset').attr('href','data:application/xml;charset=utf-8;base64,' + window.btoa(testset.serializeXML()));
|
528
549
|
document.getElementById('savetestset').click();
|
@@ -557,7 +578,7 @@ function save_svg() {// {{{
|
|
557
578
|
gc.prepend($X('<style xmlns="http://www.w3.org/2000/svg" type="text/css"><![CDATA[' + res + ']]></style>'));
|
558
579
|
$.ajax({
|
559
580
|
type: "GET",
|
560
|
-
url: base + "/properties/values/info/",
|
581
|
+
url: base + "/properties/values/attributes/info/",
|
561
582
|
success: function(res){
|
562
583
|
var name = res;
|
563
584
|
|
@@ -626,7 +647,8 @@ function set_testset(testset) {// {{{
|
|
626
647
|
}
|
627
648
|
});
|
628
649
|
}// }}}
|
629
|
-
|
650
|
+
|
651
|
+
function load_testsetfile_after() { //{{{
|
630
652
|
if (running) return;
|
631
653
|
running = true;
|
632
654
|
if (typeof window.FileReader !== 'function') {
|
@@ -643,7 +665,12 @@ function load_testsetfile() { //{{{
|
|
643
665
|
reader.onabort = function(){ running = false; }
|
644
666
|
reader.readAsText(files[0]);
|
645
667
|
} //}}}
|
646
|
-
function
|
668
|
+
function load_testsetfile() {// {{{
|
669
|
+
if (running) return;
|
670
|
+
document.getElementById('testsetfile').click();
|
671
|
+
}// }}}
|
672
|
+
|
673
|
+
function load_modelfile_after() { //{{{
|
647
674
|
if (running) return;
|
648
675
|
running = true;
|
649
676
|
if (typeof window.FileReader !== 'function') {
|
@@ -661,52 +688,53 @@ function load_modelfile() { //{{{
|
|
661
688
|
reader.onabort = function(){ running = false; }
|
662
689
|
reader.readAsText(files[0]);
|
663
690
|
} //}}}
|
691
|
+
function load_modelfile() {// {{{
|
692
|
+
if (running) return;
|
693
|
+
document.getElementById('modelfile').click();
|
694
|
+
}// }}}
|
695
|
+
|
664
696
|
function load_testset() {// {{{
|
665
697
|
if (running) return;
|
666
698
|
running = true;
|
667
|
-
save['dsl'] = null; // reload dsl and position under all circumstances
|
668
|
-
|
669
|
-
$('#main .tabbehind button').hide();
|
670
|
-
$('#dat_details').empty();
|
671
699
|
|
672
|
-
var name = $("
|
673
|
-
|
674
|
-
|
675
|
-
|
676
|
-
|
677
|
-
|
678
|
-
|
679
|
-
|
680
|
-
|
681
|
-
url: "testsets/" + name + ".xml",
|
682
|
-
success: function(res){
|
683
|
-
document.title = name;
|
684
|
-
set_testset(res);
|
685
|
-
},
|
686
|
-
complete: function() {
|
687
|
-
running = false;
|
688
|
-
}
|
689
|
-
});
|
690
|
-
}
|
691
|
-
}// }}}
|
700
|
+
var name = $("#predefinedtestsets div.menuitem[data-selected=selected]").text();
|
701
|
+
$.ajax({
|
702
|
+
cache: false,
|
703
|
+
dataType: 'xml',
|
704
|
+
url: "testsets/" + name + ".xml",
|
705
|
+
success: function(res){
|
706
|
+
save['dsl'] = null; // reload dsl and position under all circumstances
|
707
|
+
$('#main .tabbehind button').hide();
|
708
|
+
$('#dat_details').empty();
|
692
709
|
|
693
|
-
|
694
|
-
|
695
|
-
|
710
|
+
document.title = name;
|
711
|
+
set_testset(res);
|
712
|
+
},
|
713
|
+
complete: function() {
|
714
|
+
running = false;
|
715
|
+
}
|
716
|
+
});
|
696
717
|
}// }}}
|
697
|
-
|
698
718
|
function load_modeltype() {// {{{
|
699
719
|
if (running) return;
|
720
|
+
var url = $("input[name=current-instance]").val();
|
700
721
|
running = true;
|
701
722
|
|
702
|
-
var name = $("
|
703
|
-
|
723
|
+
var name = $("#modeltypes div.menuitem[data-selected=selected]").text();
|
704
724
|
$.ajax({
|
705
725
|
cache: false,
|
706
726
|
dataType: 'xml',
|
707
727
|
url: "testsets/" + name + ".xml",
|
708
728
|
success: function(res){
|
709
|
-
|
729
|
+
$.ajax({
|
730
|
+
type: "PUT",
|
731
|
+
url: url + "/properties/values/attributes/modeltype",
|
732
|
+
data: ({value: name}),
|
733
|
+
success: function(){
|
734
|
+
set_testset(res);
|
735
|
+
},
|
736
|
+
error: report_failure
|
737
|
+
});
|
710
738
|
},
|
711
739
|
complete: function() {
|
712
740
|
running = false;
|
@@ -14,17 +14,18 @@
|
|
14
14
|
<http://www.gnu.org/licenses/>.
|
15
15
|
*/
|
16
16
|
|
17
|
-
div.contextmenu {
|
17
|
+
div.contextmenu, div.menu {
|
18
18
|
padding: 0;
|
19
19
|
margin: 0;
|
20
20
|
z-index: 100000;
|
21
21
|
position: absolute;
|
22
22
|
display:none;
|
23
23
|
background: Menu;
|
24
|
-
border: 1px solid
|
24
|
+
border: 1px solid ActiveBorder;
|
25
25
|
-moz-box-sizing: border-box;
|
26
26
|
-webkit-box-sizing: border-box;
|
27
27
|
box-sizing: border-box;
|
28
|
+
box-shadow: 0.1em 0.1em 0.1em ThreeDShadow;
|
28
29
|
}
|
29
30
|
|
30
31
|
table.contextmenu {
|
@@ -46,22 +47,28 @@ tr.contextmenuheader > td{
|
|
46
47
|
padding-right: 1em;
|
47
48
|
}
|
48
49
|
tr.contextmenuheader:not(:first-child) {
|
49
|
-
border-top: 1px solid
|
50
|
+
border-top: 1px solid ActiveBorder;
|
50
51
|
}
|
51
52
|
|
52
|
-
|
53
|
+
div.menu > div {
|
54
|
+
height: 1.5em;
|
55
|
+
}
|
56
|
+
|
57
|
+
tr.contextmenuitem, div.menu > div {
|
53
58
|
font-size: small;
|
54
59
|
color: MenuText;
|
55
60
|
}
|
56
|
-
tr.contextmenuitem:hover {
|
61
|
+
tr.contextmenuitem:hover, div.menu > div:hover {
|
57
62
|
background-color:Highlight;
|
58
63
|
color: HighlightText;
|
59
64
|
}
|
60
|
-
tr.contextmenuitem > td{
|
65
|
+
tr.contextmenuitem > td, div.menu > div {
|
66
|
+
padding: 0;
|
67
|
+
margin: 0;
|
61
68
|
padding-left: 0.5em;
|
62
69
|
padding-right: 1em;
|
63
70
|
}
|
64
|
-
tr.contextmenuitem > .contextmenuicon{
|
71
|
+
tr.contextmenuitem > .contextmenuicon {
|
65
72
|
margin-left: 0.7em;
|
66
73
|
padding-right: 0em;
|
67
74
|
}
|
@@ -75,4 +82,3 @@ tr.contextmenuitem > .contextmenuicon div svg {
|
|
75
82
|
width: 1.5em;
|
76
83
|
vertical-align:bottom;
|
77
84
|
}
|
78
|
-
|