cockpit/themes/extended/theme.js in cpee-1.5.19 vs cockpit/themes/extended/theme.js in cpee-1.5.20
- old
+ new
@@ -130,28 +130,42 @@
group = self.elements[xml_node.get(0).tagName].permissible_children(xml_node,'into');
if(group.length > 0) {
menu['Insert into'] = group;
copyOrMove(menu['Insert into'],group,xml_node,self.adaptor.description.insert_first_into);
}
+ if (self.elements[xml_node.get(0).tagName].permissible_children_expert) {
+ group = self.elements[xml_node.get(0).tagName].permissible_children_expert(xml_node,'into');
+ if(group.length > 0) {
+ menu['Insert into (Experts Only!)'] = group;
+ copyOrMove(menu['Insert into (Experts Only!)'],group,xml_node,self.adaptor.description.insert_first_into);
+ }
+ }
}
if (sibling) {
group = self.elements[xml_node.parent().get(0).tagName].permissible_children(xml_node,'after');
if(group.length > 0) {
menu['Insert after'] = group;
copyOrMove(menu['Insert after'],group,xml_node,self.adaptor.description.insert_after);
}
+ if (self.elements[xml_node.parent().get(0).tagName].permissible_children_expert) {
+ group = self.elements[xml_node.parent().get(0).tagName].permissible_children_expert(xml_node,'after');
+ if(group.length > 0) {
+ menu['Insert after (Experts Only!)'] = group;
+ copyOrMove(menu['Insert after (Experts Only!)'],group,xml_node,self.adaptor.description.insert_after);
+ }
+ }
}
if(xml_node.get(0).tagName != 'description' && !self.elements[xml_node.get(0).tagName].neverdelete) {
var icon = self.elements[xml_node.get(0).tagName].illustrator.svg.clone();
icon.children('.rfill').addClass('menu');
menu['Delete'] = [{
'label': 'Remove Element',
- 'function_call': self.adaptor.description.remove,
+ 'function_call': function(selector,target,selected){ self.adaptor.description.remove(selector,target); self.adaptor.illustrator.get_label_by_svg_id(selected).addClass('selected'); },
'menu_icon': icon,
'type': undefined,
- 'params': [null, xml_node]
+ 'params': [null, xml_node, self.selected()]
}];
}
if($('> code', xml_node).length > 0 && xml_node.get(0).tagName == 'call') {
var icon = self.elements.callmanipulate.illustrator.svg.clone();
icon.children('.rfill:last').addClass('menu');
@@ -853,10 +867,23 @@
'permissible_children': function(node,mode) { //{{{
var func = null;
if (mode == 'into') { func = self.adaptor.description.insert_first_into }
else { func = self.adaptor.description.insert_after }
var childs = [
+ {'label': 'Parallel Branch',
+ 'function_call': func,
+ 'menu_icon': self.elements.parallel_branch.illustrator.svg.clone(),
+ 'type': 'parallel_branch',
+ 'params': [self.adaptor.description.elements.parallel_branch, node]},
+ ];
+ return childs;
+ }, //}}}
+ 'permissible_children_expert': function(node,mode) { //{{{
+ var func = null;
+ if (mode.match(/into/)) { func = self.adaptor.description.insert_first_into }
+ else { func = self.adaptor.description.insert_after }
+ var childs = [
{'label': 'Service Call with Scripts',
'function_call': func,
'menu_icon': self.elements.callmanipulate.illustrator.svg.clone(),
'type': 'callmanipulate',
'params': [self.adaptor.description.elements.callmanipulate, node]},
@@ -878,15 +905,10 @@
{'label': 'Loop',
'function_call': func,
'menu_icon': self.elements.loop.illustrator.svg.clone(),
'type': 'loop',
'params': [self.adaptor.description.elements.loop, node]},
- {'label': 'Parallel Branch',
- 'function_call': func,
- 'menu_icon': self.elements.parallel_branch.illustrator.svg.clone(),
- 'type': 'parallel_branch',
- 'params': [self.adaptor.description.elements.parallel_branch, node]},
{'label': 'Stop',
'function_call': func,
'menu_icon': self.elements.stop.illustrator.svg.clone(),
'type': 'stop',
'params': [self.adaptor.description.elements.stop, node]}
@@ -993,16 +1015,11 @@
}
return childs;
}, //}}}
'adaptor': {//{{{
'mousedown': function (node,e) {
- var xml_node = self.adaptor.description.get_node_by_svg_id(node);
- if(xml_node.get(0).parentNode.tagName == 'parallel') {
- self.events.mousedown(node,e,true,false);
- } else {
- self.events.mousedown(node,e,true,true);
- }
+ self.events.mousedown(node,e,true,true);
},
'click': self.events.click,
'dblclick': self.events.dblclick,
'mouseover': self.events.mouseover,
'mouseout': self.events.mouseout,
@@ -1172,14 +1189,9 @@
{'label': 'Loop',
'function_call': func,
'menu_icon': self.elements.loop.illustrator.svg.clone(),
'type': 'loop',
'params': [self.adaptor.description.elements.loop, node]},
- {'label': 'Terminate',
- 'function_call': func,
- 'menu_icon': self.elements.terminate.illustrator.svg.clone(),
- 'type': 'terminate',
- 'params': [self.adaptor.description.elements.terminate, node]},
{'label': 'Stop',
'function_call': func,
'menu_icon': self.elements.stop.illustrator.svg.clone(),
'type': 'stop',
'params': [self.adaptor.description.elements.stop, node]}