[FIX] web_editor: fix anchor click on submit button
Context:
1) Edit mode
2) Click on anchor edition button of website form submit button
3) Traceback occurs
The "focus" triggered on $editable element in editor's 'getLinkInfo()'
discards user's text selection on submit button, as a result,
'range.create()' method returns null since no selection is found.
Note: the bug only occurred in Chrome.
Note 2: [1] apparently tried to solve the same issue but the fix was not
solving it correctly, at least not in all cases.
[1]: https://github.com/odoo/odoo/commit/da14e4449e5e318eb72e1b9f268fb797adb0c6a6
opw-2443441
closes odoo/odoo#66574
X-original-commit: adf3d039acbac60b7ea7e6ab0ea8fdd9f940c3b2
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
This commit is contained in:
@@ -680,8 +680,27 @@ define([
|
||||
* @return {String} [return.url=""]
|
||||
*/
|
||||
this.getLinkInfo = function ($editable) {
|
||||
// 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);
|
||||
|
||||
// Get the first anchor on range(for edit).
|
||||
|
||||
Reference in New Issue
Block a user