While working in the current state of the website configuration, the overlay computation was not working anymore in case the scrollbar is moved out of the wrapwrap. Indeed, in that case, the position was wrong by the amount of the page scrolling. While we could include that scrolling value in the equation, this commit chooses to restore the way it worked before the "website-in-backend" merge at [1]: making the overlay be naturally positioned according to the page scrolling wherever the scrollbar is. To do that, the overlay had to be moved inside the content (the website iframe) which has the disadvantage of risking the overlay design being broken by a theme. This solution was chosen as it simplifies the code, and potentially allows for performance improvements in the future: not forcing a position recompute after each scroll (the animation should already be smoother / more performant this way). This will actually be needed for another fix / improvement: the background image overlay has to be in the iframe too. Note: a further commit will move back the scrollbar behavior out of the `#wrapwrap`, this is thus especially needed. [1]: https://github.com/odoo/odoo/commit/31cc10b91dc7762e23b4bde9b945be0c4ce3fe3b closes odoo/odoo#102785 X-original-commit: 872bb20b3ac08cf82613e15e6634a2e7593ccf7a Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
26 lines
825 B
JavaScript
26 lines
825 B
JavaScript
/** @odoo-module */
|
|
|
|
import wTourUtils from 'website.tour_utils';
|
|
|
|
wTourUtils.registerWebsitePreviewTour("carousel_content_removal", {
|
|
test: true,
|
|
url: '/',
|
|
edition: true,
|
|
}, [{
|
|
trigger: "#snippet_structure .oe_snippet:has(span:contains('Carousel')) .oe_snippet_thumbnail",
|
|
content: "Drag the Carousel block and drop it in your page.",
|
|
run: "drag_and_drop iframe #wrap",
|
|
},
|
|
{
|
|
trigger: "iframe .carousel .carousel-item.active .carousel-content",
|
|
content: "Select the active carousel item.",
|
|
}, {
|
|
trigger: "iframe .oe_overlay.oe_active .oe_snippet_remove",
|
|
content: "Remove the active carousel item.",
|
|
},
|
|
{
|
|
trigger: "iframe .carousel .carousel-item.active .container:not(:has(*))",
|
|
content: "Check for a carousel slide with an empty container tag",
|
|
run: function () {},
|
|
}]);
|