diff --git a/x-pack/plugins/canvas/public/lib/aeroelastic/layout.js b/x-pack/plugins/canvas/public/lib/aeroelastic/layout.js index 98234d72d99d8..a8f894c837ded 100644 --- a/x-pack/plugins/canvas/public/lib/aeroelastic/layout.js +++ b/x-pack/plugins/canvas/public/lib/aeroelastic/layout.js @@ -182,7 +182,7 @@ const rotationTooltipAnnotation = select(getRotationTooltipAnnotation)( cursorPosition ); -const groupAction = select(getGroupAction)(actionEvent); +const groupAction = select(getGroupAction)(actionEvent, mouseIsDown); const groupingTuple = select(getGroupingTuple)( configuration, diff --git a/x-pack/plugins/canvas/public/lib/aeroelastic/layout_functions.js b/x-pack/plugins/canvas/public/lib/aeroelastic/layout_functions.js index d62fbe21fa0f0..a65488fc15775 100644 --- a/x-pack/plugins/canvas/public/lib/aeroelastic/layout_functions.js +++ b/x-pack/plugins/canvas/public/lib/aeroelastic/layout_functions.js @@ -1376,9 +1376,9 @@ export const getSnappedShapes = ( export const getConstrainedShapesWithPreexistingAnnotations = (snapped, transformed) => snapped.concat(transformed.filter(s => s.type === 'annotation')); -export const getGroupAction = action => { +export const getGroupAction = (action, mouseIsDown) => { const event = action && action.event; - return event === 'group' || event === 'ungroup' ? event : null; + return !mouseIsDown && (event === 'group' || event === 'ungroup') ? event : null; }; export const getGroupedSelectedShapes = ({ selectedShapes }) => selectedShapes;