summaryrefslogtreecommitdiff
path: root/addons/web_editor/static/src/js/summernote.js
diff options
context:
space:
mode:
authorMarkus Mattes <mmattes87@gmail.com>2015-10-01 21:48:53 +0200
committerNicolas Lempereur <nle@odoo.com>2015-10-09 08:43:37 +0200
commite80e1e1c2893b73d71b096123ebfca6b5ed1933d (patch)
tree737dc5ac764489a06ec8161a00dd57d6dd3ca211 /addons/web_editor/static/src/js/summernote.js
parent0b18941e33a8bc63f3ca2418e452b2e11bb9be55 (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.js5
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'), '');