diff options
| author | Markus Mattes <mmattes87@gmail.com> | 2015-10-01 21:48:53 +0200 |
|---|---|---|
| committer | Nicolas Lempereur <nle@odoo.com> | 2015-10-09 08:43:37 +0200 |
| commit | e80e1e1c2893b73d71b096123ebfca6b5ed1933d (patch) | |
| tree | 737dc5ac764489a06ec8161a00dd57d6dd3ca211 /addons/web_editor/static/src/js/summernote.js | |
| parent | 0b18941e33a8bc63f3ca2418e452b2e11bb9be55 (diff) | |
[FIX] web_editor: range is null if focus outside of editor
The range can be null if the focus is not in the editor at serveral
places.
closes #8845
Diffstat (limited to 'addons/web_editor/static/src/js/summernote.js')
| -rw-r--r-- | addons/web_editor/static/src/js/summernote.js | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/addons/web_editor/static/src/js/summernote.js b/addons/web_editor/static/src/js/summernote.js index e2bf1acdf45..d8881ffd7d4 100644 --- a/addons/web_editor/static/src/js/summernote.js +++ b/addons/web_editor/static/src/js/summernote.js @@ -997,6 +997,7 @@ $.summernote.pluginEvents.insertTable = function (event, editor, layoutInfo, sDi var $editable = layoutInfo.editable(); var dimension = sDim.split('x'); var r = range.create(); + if (!r) return; r = r.deleteContents(); var isBodyContainer = dom.isBodyContainer; @@ -1530,6 +1531,7 @@ $.summernote.pluginEvents.insertUnorderedList = function (event, editor, layoutI var parent; var r = range.create(); + if (!r) return; var node = r.sc; while (node && node !== $editable[0]) { @@ -1630,6 +1632,7 @@ $.summernote.pluginEvents.indent = function (event, editor, layoutInfo, outdent) var $editable = layoutInfo.editable(); $editable.data('NoteHistory').recordUndo($editable); var r = range.create(); + if (!r) return; var flag = false; function indentUL (UL, start, end) { @@ -1842,6 +1845,7 @@ $.summernote.pluginEvents.removeFormat = function (event, editor, layoutInfo, va document.execCommand('removeFormat'); document.execCommand('removeFormat'); var r = range.create(); + if (!r) return; r = dom.merge(node, r.sc, r.so, r.ec, r.eo, null, true); range.create(r.sc, r.so, r.ec, r.eo).select(); event.preventDefault(); @@ -2132,6 +2136,7 @@ $.summernote.pluginEvents.foreColor = function (event, editor, layoutInfo, foreC $.summernote.pluginEvents.backColor = function (event, editor, layoutInfo, backColor) { var $editable = layoutInfo.editable(); var r = range.create(); + if (!r) return; if (r.isCollapsed() && r.isOnCell()) { var cell = dom.ancestor(r.sc, dom.isCell); cell.className = cell.className.replace(new RegExp('(^|\\s+)bg-[^\\s]+(\\s+|$)', 'gi'), ''); |
