From 91cb7b6b0eef002f94aac09b3deb0e6d680a4d0e Mon Sep 17 00:00:00 2001 From: Artur Arseniev Date: Thu, 17 May 2018 21:46:40 +0200 Subject: [PATCH] Add `highlightHover` option in Layers --- src/dom_components/view/ComponentView.js | 9 +++------ src/navigator/config/config.js | 5 ++++- src/navigator/view/ItemView.js | 6 +++++- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/dom_components/view/ComponentView.js b/src/dom_components/view/ComponentView.js index 6672b3495..987e90804 100644 --- a/src/dom_components/view/ComponentView.js +++ b/src/dom_components/view/ComponentView.js @@ -98,7 +98,7 @@ module.exports = Backbone.View.extend({ * @param {Event} e * @private * */ - updateStatus(e) { + updateStatus(opts = {}) { const em = this.em; const el = this.el; const status = this.model.get('status'); @@ -127,15 +127,12 @@ module.exports = Backbone.View.extend({ cls = `${actualCls} ${freezedCls} ${selectedCls}`; break; case 'hovered': - cls = `${actualCls} ${hoveredCls}`; + cls = !opts.avoidHover ? `${actualCls} ${hoveredCls}` : ''; break; } cls = cls.trim(); - - if (cls) { - el.setAttribute('class', cls); - } + cls && el.setAttribute('class', cls); }, /** diff --git a/src/navigator/config/config.js b/src/navigator/config/config.js index 03090c7b6..74a46e95c 100644 --- a/src/navigator/config/config.js +++ b/src/navigator/config/config.js @@ -26,5 +26,8 @@ module.exports = { // Scroll to selected component in Layers when it's selected in Canvas // true, false or `scrollIntoView`-like options - scrollLayers: 1 + scrollLayers: 1, + + // Highlight when a layer component is hovered + highlightHover: 1 }; diff --git a/src/navigator/view/ItemView.js b/src/navigator/view/ItemView.js index ca96a42ac..254f5b51f 100644 --- a/src/navigator/view/ItemView.js +++ b/src/navigator/view/ItemView.js @@ -250,7 +250,11 @@ module.exports = require('backbone').View.extend({ * @param Event * */ updateStatus(e) { - ComponentView.prototype.updateStatus.apply(this, arguments); + ComponentView.prototype.updateStatus.apply(this, [ + { + avoidHover: !this.config.highlightHover + } + ]); }, /**