From d958cf541a770f527604e7b1ade158218eb5a606 Mon Sep 17 00:00:00 2001 From: Christophe Matthieu Date: Thu, 28 Jan 2016 12:11:18 +0100 Subject: [FIX] web_editor: enter keydown create new td only if the caret is on the last char of the last line of the td --- addons/web_editor/static/src/js/summernote.js | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'addons/web_editor/static/src/js/summernote.js') diff --git a/addons/web_editor/static/src/js/summernote.js b/addons/web_editor/static/src/js/summernote.js index e31faaab601..e4d1c5b27c4 100644 --- a/addons/web_editor/static/src/js/summernote.js +++ b/addons/web_editor/static/src/js/summernote.js @@ -1065,11 +1065,6 @@ $.summernote.pluginEvents.enter = function (event, editor, layoutInfo) { var exist = r.sc.childNodes[r.so] || r.sc; var node = dom.node(exist); exist = dom.isVisibleText(exist) || dom.isBR(exist) ? exist : dom.hasContentAfter(exist) || (dom.hasContentBefore(exist) || exist); - var last = node; - while (node && dom.isSplitable(node) && !dom.isList(node)) { - last = node; - node = node.parentNode; - } // table: add a tr var td = dom.ancestor(node, dom.isCell); @@ -1083,7 +1078,15 @@ $.summernote.pluginEvents.enter = function (event, editor, layoutInfo) { dom.scrollIntoViewIfNeeded(br); event.preventDefault(); return false; - } else if (last === node && !dom.isBR(node)) { + } + + var last = node; + while (node && dom.isSplitable(node) && !dom.isList(node)) { + last = node; + node = node.parentNode; + } + + if (last === node && !dom.isBR(node)) { node = r.insertNode(br, true); if (isFormatNode(last.firstChild) && $(last).closest(options.styleTags.join(',')).length) { dom.moveContent(last.firstChild, last); -- cgit v1.2.3