From b2afa61ec75803b3c5e82fa43463f21b92206b97 Mon Sep 17 00:00:00 2001 From: qsm-odoo Date: Wed, 21 Oct 2020 10:02:17 +0000 Subject: [PATCH] [FIX] web_editor: restore overlay top options on top of the page When the overlay covers a snippet, if that snippet is at the top of the page, the options at the top of the overlay are hidden. A system was made to make them change position in that case but this was broken by [1], leaving the toggling of a class for that case but without its related scss. This commit restores that scss and also improves the detection of that problematic case. [1]: https://github.com/odoo/odoo/commit/4f27e52cabb77b8b1a9637a11185ddf882adc9af closes odoo/odoo#60467 X-original-commit: 97f11571f9e3deacc9b9e1dc0d2cc8fc6b93f15c Signed-off-by: Quentin Smetz (qsm) --- addons/web_editor/static/src/js/editor/snippets.editor.js | 6 ++++-- addons/web_editor/static/src/scss/wysiwyg_snippets.scss | 6 ++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/addons/web_editor/static/src/js/editor/snippets.editor.js b/addons/web_editor/static/src/js/editor/snippets.editor.js index 35e60a58998..e218b59b974 100644 --- a/addons/web_editor/static/src/js/editor/snippets.editor.js +++ b/addons/web_editor/static/src/js/editor/snippets.editor.js @@ -273,7 +273,9 @@ var SnippetEditor = Widget.extend({ top: offset.top, }); this.$('.o_handles').css('height', $target.outerHeight()); - this.$el.toggleClass('o_top_cover', offset.top < this.$editable.offset().top); + + const editableOffsetTop = this.$editable.offset().top - manipulatorOffset.top; + this.$el.toggleClass('o_top_cover', offset.top - editableOffsetTop < 25); }, /** * DOMElements have a default name which appears in the overlay when they @@ -899,7 +901,7 @@ 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 */ diff --git a/addons/web_editor/static/src/scss/wysiwyg_snippets.scss b/addons/web_editor/static/src/scss/wysiwyg_snippets.scss index ff339959c07..f0a12064d1d 100644 --- a/addons/web_editor/static/src/scss/wysiwyg_snippets.scss +++ b/addons/web_editor/static/src/scss/wysiwyg_snippets.scss @@ -1788,6 +1788,12 @@ body.editor_enable.editor_has_snippets { } } + &.o_top_cover > .o_handles > .o_overlay_options_wrap { + top: auto; + bottom: -$o-we-handles-offset-to-hide; + transform: translate(-50%, 110%); + } + &.o_we_overlay_preview { pointer-events: none;