diff --git a/editor/svg-editor.html b/editor/svg-editor.html
index 47f8886c..fac64959 100644
--- a/editor/svg-editor.html
+++ b/editor/svg-editor.html
@@ -686,6 +686,8 @@ script type="text/javascript" src="locale/locale.min.js">
Paste
Paste in Place
Delete
+ Group
+ Ungroup
Bring Forward
Send Backward
diff --git a/editor/svg-editor.js b/editor/svg-editor.js
index 3cf59417..08c5b1ab 100644
--- a/editor/svg-editor.js
+++ b/editor/svg-editor.js
@@ -1406,6 +1406,7 @@
return;
}
var is_node = currentMode == 'pathedit'; //elem ? (elem.id && elem.id.indexOf('pathpointgrip') == 0) : false;
+ var menu_items = $('#cmenu_canvas li');
$('#selected_panel, #multiselected_panel, #g_panel, #rect_panel, #circle_panel,\
#ellipse_panel, #line_panel, #text_panel, #image_panel, #container_panel, #use_panel').hide();
if (elem != null) {
@@ -1541,7 +1542,7 @@
else if(el_name == 'image') {
setImageURL(svgCanvas.getHref(elem));
} // image
- else if(el_name == 'g' || el_name == 'use') {
+ else if(el_name === 'g' || el_name === 'use') {
$('#container_panel').show();
var title = svgCanvas.getTitle();
var label = $('#g_title')[0];
@@ -1553,13 +1554,20 @@
} else {
label.removeAttribute(d);
}
+ if(el_name === 'g') {
+ menu_items.enableContextMenuItems('#ungroup');
+ }
}
}
+
} // if (elem != null)
else if (multiselected) {
$('#multiselected_panel').show();
+ menu_items
+ .enableContextMenuItems('#group')
+ .disableContextMenuItems('#ungroup');
} else {
- $('#cmenu_canvas li').disableContextMenuItems('#delete,#cut,#copy,#move_up,#move_down');
+ menu_items.disableContextMenuItems('#delete,#cut,#copy,#group,#ungroup,#move_up,#move_down');
}
// update history buttons
@@ -3886,6 +3894,12 @@
case 'paste_in_place':
svgCanvas.pasteElements('in_place');
break;
+ case 'group':
+ svgCanvas.groupSelectedElements();
+ break;
+ case 'ungroup':
+ svgCanvas.ungroupSelectedElement();
+ break;
case 'move_down':
moveUpDownSelected('Down');
break;