diff --git a/addons/web_editor/static/lib/summernote/src/js/module/Editor.js b/addons/web_editor/static/lib/summernote/src/js/module/Editor.js index df80f6c9e38ba2a4ba44c75f22d2005271f2e72d..40b7c95e98d2da886289c8e61c774b06e9a89993 100644 --- a/addons/web_editor/static/lib/summernote/src/js/module/Editor.js +++ b/addons/web_editor/static/lib/summernote/src/js/module/Editor.js @@ -680,9 +680,26 @@ define([ * @return {String} [return.url=""] */ this.getLinkInfo = function ($editable) { - // ODOO: modification - // this.focus($editable); - this.focus($editable.closest(':not(form)')); + // ODOO MODIFICATION START + var selection; + var currentSelection = null; + if (document.getSelection) { + selection = document.getSelection(); + if (selection.getRangeAt && selection.rangeCount) { + currentSelection = selection.getRangeAt(0); + } + } + // ODOO MODIFICATION END + + this.focus($editable); + + // ODOO MODIFICATION START + if (currentSelection && document.getSelection) { + selection = document.getSelection(); + selection.removeAllRanges(); + selection.addRange(currentSelection); + } + // ODOO MODIFICATION END var rng = range.create().expand(dom.isAnchor);