diff --git a/addons/web_editor/static/src/js/editor/snippets.options.js b/addons/web_editor/static/src/js/editor/snippets.options.js index 50e6201634e..43568382bc8 100644 --- a/addons/web_editor/static/src/js/editor/snippets.options.js +++ b/addons/web_editor/static/src/js/editor/snippets.options.js @@ -290,6 +290,12 @@ const UserValueWidget = Widget.extend({ this.el.classList.remove('o_we_widget_opened'); this._userValueWidgets.forEach(widget => widget.close()); }, + /** + * Simulates the correct event on the element to make it active. + */ + enable() { + this.$el.click(); + }, /** * @param {string} name * @returns {UserValueWidget|null} @@ -728,6 +734,17 @@ const CheckboxUserValueWidget = ButtonUserValueWidget.extend({ return this._super(...arguments); }, + //-------------------------------------------------------------------------- + // Public + //-------------------------------------------------------------------------- + + /** + * @override + */ + enable() { + this.$('we-checkbox').click(); + }, + //-------------------------------------------------------------------------- // Handlers //-------------------------------------------------------------------------- @@ -3685,7 +3702,7 @@ registry.BackgroundToggler = SnippetOptionWidget.extend({ // image: remove the background filter option. // TODO there probably is a better system to implement to do that const widget = this._requestUserValueWidgets('bg_filter_toggle_opt')[0]; - widget.$el.click(); + widget.enable(); } }, }); diff --git a/addons/website/static/src/js/editor/snippets.options.js b/addons/website/static/src/js/editor/snippets.options.js index 45735d584b4..f566e4f6b9a 100644 --- a/addons/website/static/src/js/editor/snippets.options.js +++ b/addons/website/static/src/js/editor/snippets.options.js @@ -797,7 +797,7 @@ snippetOptions.registry.OptionsTab = snippetOptions.SnippetOptionWidget.extend({ // TODO improve: hack to click on external image picker this.bodyImageType = widgetValue; const widget = this._requestUserValueWidgets(params.imagepicker)[0]; - widget.$el.click(); + widget.enable(); }, /** * @override @@ -1696,7 +1696,7 @@ snippetOptions.registry.Parallax = snippetOptions.SnippetOptionWidget.extend({ // The parallax option was enabled but the background image was // removed: disable the parallax option. const widget = this._requestUserValueWidgets('parallax_none_opt')[0]; - widget.$el.click(); + widget.enable(); widget.getParent().close(); // FIXME remove this ugly hack asap } }, @@ -1842,7 +1842,7 @@ const VisibilityPageOptionUpdate = snippetOptions.SnippetOptionWidget.extend({ // toggled (otherwise it would be about editing an element which // is actually never displayed on the page). const widget = this._requestUserValueWidgets(this.showOptionWidgetName)[0]; - widget.$el.click(); + widget.enable(); }, //--------------------------------------------------------------------------