diff options
| author | Christophe Simonis <chs@odoo.com> | 2018-04-16 11:18:08 +0200 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2018-04-16 11:18:08 +0200 |
| commit | 412501a5dc8f8826f10eac0c19adfa82527ad4bb (patch) | |
| tree | 76b7408ff58ac78c16a585b8ed7c41d97770e999 /addons/web_editor/static/src | |
| parent | 4162360ae2114bc6eee25e2ffca0e0d48e1ef644 (diff) | |
| parent | 71476226653ba0326cfc0331e1463364cfb89f4e (diff) | |
[MERGE] forward port branch 10.0 up to 71476226653
Diffstat (limited to 'addons/web_editor/static/src')
| -rw-r--r-- | addons/web_editor/static/src/js/summernote.js | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/addons/web_editor/static/src/js/summernote.js b/addons/web_editor/static/src/js/summernote.js index 2678ba955af..435c5d7fa78 100644 --- a/addons/web_editor/static/src/js/summernote.js +++ b/addons/web_editor/static/src/js/summernote.js @@ -1856,12 +1856,17 @@ $.summernote.pluginEvents.indent = function (event, editor, layoutInfo, outdent) var $dom = $(ancestor); if (!dom.isList(ancestor)) { + // to indent a selection, we indent the child nodes of the common + // ancestor that contains this selection $dom = $(dom.node(ancestor)).children(); } - if (!$dom.length) { - $dom = $(dom.ancestor(r.sc, dom.isList) || dom.ancestor(r.sc, dom.isCell)); + if (!$dom.not('br').length) { + // if selection is inside a list, we indent its list items + $dom = $(dom.ancestor(r.sc, dom.isList)); if (!$dom.length) { - $dom = $(r.sc).closest(options.styleTags.join(',')); + // if the selection is contained in a single HTML node, we indent + // the first ancestor 'content block' (P, H1, PRE, ...) or TD + $dom = $(r.sc).closest(options.styleTags.join(',')+',td'); } } |
