From c5af0d1243baf2bd995919afd862e0b48c3228c4 Mon Sep 17 00:00:00 2001 From: Artur Arseniev Date: Fri, 11 Feb 2022 09:40:35 +0100 Subject: [PATCH] Added `component:select:before`, `component:hover:before` events --- src/commands/view/SelectComponent.js | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/commands/view/SelectComponent.js b/src/commands/view/SelectComponent.js index 3fbb94d76..78f884057 100644 --- a/src/commands/view/SelectComponent.js +++ b/src/commands/view/SelectComponent.js @@ -100,6 +100,7 @@ export default { */ onHover(e) { e.stopPropagation(); + const { em } = this; const trg = e.target; const view = getViewEl(trg); const frameView = view && view._getFrame(); @@ -122,9 +123,11 @@ export default { model = parent; } + const opts = {}; this.currentDoc = trg.ownerDocument; - this.em.setHovered(model); - frameView && this.em.set('currentFrame', frameView); + em.trigger('component:hover:before', model, opts); + !opts.abort && em.setHovered(model); + frameView && em.set('currentFrame', frameView); }, onFrameUpdated() { @@ -308,8 +311,9 @@ export default { if (em.isEditing() && !model.get('textable') && model.isChildOf('text')) { return; } - - this.select(toSelect, ev); + const opts = {}; + em.trigger('component:select:before', toSelect, opts); + !opts.abort && this.select(toSelect, ev); } } },