[FIX] web_editor: disable overlay pointer events on wheel event
This commit disable the pointer events on the overlay during the mouse wheel event. To prevent page scrolling from stopping when hovering over the overlay. task-2312878 closes odoo/odoo#60367 X-original-commit: 978cd02406495e7566cefb556276e2ac2292e3f8 Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
This commit is contained in:
@@ -46,6 +46,7 @@ var SnippetEditor = Widget.extend({
|
||||
xmlDependencies: ['/web_editor/static/src/xml/snippets.xml'],
|
||||
events: {
|
||||
'click .oe_snippet_remove': '_onRemoveClick',
|
||||
'wheel': '_onMouseWheel',
|
||||
},
|
||||
custom_events: {
|
||||
'option_update': '_onOptionUpdate',
|
||||
@@ -895,6 +896,21 @@ var SnippetEditor = Widget.extend({
|
||||
}
|
||||
}
|
||||
},
|
||||
/**
|
||||
* Called when the 'mouse wheel' is used when hovering over the overlay.
|
||||
* Disable the pointer events to prevent page scrolling from stopping.
|
||||
*
|
||||
* @private
|
||||
* @param {Event} ev
|
||||
*/
|
||||
_onMouseWheel: function (ev) {
|
||||
ev.stopPropagation();
|
||||
this.$el.css('pointer-events', 'none');
|
||||
clearTimeout(this.wheelTimeout);
|
||||
this.wheelTimeout = setTimeout(() => {
|
||||
this.$el.css('pointer-events', '');
|
||||
}, 250);
|
||||
},
|
||||
});
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user