diff --git a/addons/web_editor/static/src/js/wysiwyg/widgets/link.js b/addons/web_editor/static/src/js/wysiwyg/widgets/link.js index 8e99f888bbe..8d291dedff5 100644 --- a/addons/web_editor/static/src/js/wysiwyg/widgets/link.js +++ b/addons/web_editor/static/src/js/wysiwyg/widgets/link.js @@ -334,6 +334,15 @@ const Link = Widget.extend({ } return nodes; }, + /** + * Abstract method: return a JQuery object containing the UI elements + * holding the "Open in new window" option's row of the link. + * + * @abstract + * @private + * @returns {JQuery} + */ + _getIsNewWindowFormRow() {}, /** * Abstract method: return a JQuery object containing the UI elements * holding the styling options of the link (eg: color, size, shape). @@ -510,7 +519,7 @@ const Link = Widget.extend({ var $linkUrlInput = this.$('#o_link_dialog_url_input'); let value = $linkUrlInput.val(); let isLink = value.indexOf('@') < 0; - this.$('input[name="is_new_window"]').closest('.row').toggleClass('d-none', !isLink); + this._getIsNewWindowFormRow().toggleClass('d-none', !isLink); this.$('.o_strip_domain').toggleClass('d-none', value.indexOf(window.location.origin) !== 0); }, /** diff --git a/addons/web_editor/static/src/js/wysiwyg/widgets/link_dialog.js b/addons/web_editor/static/src/js/wysiwyg/widgets/link_dialog.js index e09e4fa3c42..b8ae37ae380 100644 --- a/addons/web_editor/static/src/js/wysiwyg/widgets/link_dialog.js +++ b/addons/web_editor/static/src/js/wysiwyg/widgets/link_dialog.js @@ -85,6 +85,12 @@ const _DialogLinkWidget = Link.extend({ _doStripDomain: function () { return this.$('#o_link_dialog_url_strip_domain').prop('checked'); }, + /** + * @override + */ + _getIsNewWindowFormRow() { + return this.$('input[name="is_new_window"]').closest('.row'); + }, /** * @override */ diff --git a/addons/web_editor/static/src/js/wysiwyg/widgets/link_tools.js b/addons/web_editor/static/src/js/wysiwyg/widgets/link_tools.js index f126d3a6b10..b6cee090e9a 100644 --- a/addons/web_editor/static/src/js/wysiwyg/widgets/link_tools.js +++ b/addons/web_editor/static/src/js/wysiwyg/widgets/link_tools.js @@ -104,6 +104,12 @@ const LinkTools = Link.extend({ _doStripDomain: function () { return this.$('we-checkbox[name="do_strip_domain"]').closest('we-button.o_we_checkbox_wrapper').hasClass('active'); }, + /** + * @override + */ + _getIsNewWindowFormRow() { + return this.$('we-checkbox[name="is_new_window"]').closest('we-row'); + }, /** * @override */