diff --git a/src/mixins/canvas_grouping.mixin.js b/src/mixins/canvas_grouping.mixin.js index 9115ef38..39ea584b 100644 --- a/src/mixins/canvas_grouping.mixin.js +++ b/src/mixins/canvas_grouping.mixin.js @@ -71,6 +71,7 @@ */ _createActiveSelection: function(target, e) { var group = this._createGroup(target); + this._hoveredTarget = group; this.setActiveObject(group, e); target.fire('selected', { e: e }); this.fire('selection:created', { target: group, e: e }); diff --git a/test/unit/canvas.js b/test/unit/canvas.js index 7826b3cd..f644e00d 100644 --- a/test/unit/canvas.js +++ b/test/unit/canvas.js @@ -321,6 +321,7 @@ canvas.on('selection:created', function( ) { isFired = true; }); canvas.setActiveObject(rect1); canvas._createActiveSelection(rect2, {}); + assert.equal(canvas._hoveredTarget, canvas.getActiveObject(), 'the created selection is also hovered'); assert.equal(isFired, true, 'selection:created fired'); canvas.off('selection:created'); }); @@ -344,6 +345,7 @@ canvas.setActiveObject(new fabric.ActiveSelection([rect1, rect2])); canvas._updateActiveSelection(rect3, {}); assert.equal(isFired, true, 'selection:updated fired'); + assert.equal(canvas._hoveredTarget, canvas.getActiveObject(), 'hovered target is updated'); canvas.off('selection:updated'); });