From e6d32bc4bfa7f0c3c2f82c2eb99a562c1cb93d83 Mon Sep 17 00:00:00 2001 From: Benjamin Vray Date: Fri, 25 Sep 2020 08:02:11 +0000 Subject: [FIX] web, web_editor: fix scroll to hidden dropped snippets Fix the scroll when the snippet is the dynamic one because it did not work as we tried to get the offset of an element with the d-none class. Remove the scrollValue variable because we don't need it anymore. It was used before the code was reviewed in a previous commit. task-2312878 closes odoo/odoo#58486 Signed-off-by: Quentin Smetz (qsm) --- addons/web/static/src/js/core/dom.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'addons/web/static/src/js') diff --git a/addons/web/static/src/js/core/dom.js b/addons/web/static/src/js/core/dom.js index e0b0f67ef6d..4af811d41bc 100644 --- a/addons/web/static/src/js/core/dom.js +++ b/addons/web/static/src/js/core/dom.js @@ -518,7 +518,13 @@ var dom = { const isTopScroll = $scrollable.is($topLevelScrollable); function _computeScrollTop() { - const elPosition = $scrollable[0].scrollTop + ($el.offset().top - $scrollable.offset().top); + let offsetTop = $el.offset().top; + if (el.classList.contains('d-none')) { + el.classList.remove('d-none'); + offsetTop = $el.offset().top; + el.classList.add('d-none'); + } + const elPosition = $scrollable[0].scrollTop + (offsetTop - $scrollable.offset().top); let offset = options.forcedOffset; if (offset === undefined) { offset = (isTopScroll ? dom.scrollFixedOffset() : 0) + (options.extraOffset || 0); -- cgit v1.2.3