diff --git a/addons/web_editor/static/src/js/wysiwyg/widgets/link_popover_widget.js b/addons/web_editor/static/src/js/wysiwyg/widgets/link_popover_widget.js index 388b6b6a74f..0de5cfb9d4b 100644 --- a/addons/web_editor/static/src/js/wysiwyg/widgets/link_popover_widget.js +++ b/addons/web_editor/static/src/js/wysiwyg/widgets/link_popover_widget.js @@ -56,6 +56,7 @@ const LinkPopoverWidget = Widget.extend({ type: 'success', message: _t("Link copied to clipboard."), }); + this.popover.hide(); }); // init tooltips & popovers @@ -127,9 +128,11 @@ const LinkPopoverWidget = Widget.extend({ !( hierarchy.includes(this.$target[0]) || (hierarchy.includes(this.$el[0]) && - !hierarchy.some(x => x.tagName && x.tagName === 'A')) + !hierarchy.some(x => x.tagName && x.tagName === 'A' && (x === this.$urlLink[0] || x === this.$fullUrl[0]))) ) ) { + // Note: For buttons of the popover, their listeners should + // handle the hide themselves to avoid race conditions. this.popover.hide(); } } @@ -265,6 +268,7 @@ const LinkPopoverWidget = Widget.extend({ link: this.$target[0], }); ev.stopImmediatePropagation(); + this.popover.hide(); }, /** * Removes the link/anchor. @@ -276,6 +280,7 @@ const LinkPopoverWidget = Widget.extend({ ev.preventDefault(); this.options.wysiwyg.removeLink(); ev.stopImmediatePropagation(); + this.popover.hide(); }, }); diff --git a/addons/website/static/src/js/widgets/link_popover_widget.js b/addons/website/static/src/js/widgets/link_popover_widget.js index 1b357472e1c..e39e3857fbb 100644 --- a/addons/website/static/src/js/widgets/link_popover_widget.js +++ b/addons/website/static/src/js/widgets/link_popover_widget.js @@ -91,6 +91,7 @@ const NavbarLinkPopoverWidget = weWidgets.LinkPopoverWidget.extend({ }); }, }); + this.popover.hide(); }, /** * Opens the menu tree editor. On menu editor save, current page changes