diff --git a/src/commands/view/SelectComponent.js b/src/commands/view/SelectComponent.js index 2ad90aaab..8fd24a62f 100644 --- a/src/commands/view/SelectComponent.js +++ b/src/commands/view/SelectComponent.js @@ -65,7 +65,16 @@ module.exports = { onHover(e) { e.stopPropagation(); let trg = e.target; - let model = $(trg).data('model'); + let $el = $(trg); + let model = $el.data('model'); + + if (!model) { + let parent = $el.parent(); + while (!model && parent) { + model = parent.data('model'); + parent = parent.parent(); + } + } // Adjust tools scroll top if (!this.adjScroll) { diff --git a/src/dom_components/view/ComponentView.js b/src/dom_components/view/ComponentView.js index ffdb8ea3c..444383d08 100644 --- a/src/dom_components/view/ComponentView.js +++ b/src/dom_components/view/ComponentView.js @@ -314,23 +314,6 @@ module.exports = Backbone.View.extend({ for (var i = 0, len = childNodes.length; i < len; i++) { container.appendChild(childNodes.shift()); } - - // If the children container is not the same as the component - // (so likely fetched with getChildrenSelector()) is necessary - // to disable pointer-events for all nested components as they - // might prevent the component to be selected - if (container !== this.el) { - var disableNode = el => { - var children = Array.prototype.slice.call(el.children); - children.forEach(el => { - el.style['pointer-events'] = 'none'; - if (container !== el) { - disableNode(el); - } - }); - }; - disableNode(this.el); - } }, renderAttributes() {