diff options
| author | Christophe Matthieu <chm@odoo.com> | 2015-01-21 11:18:39 +0100 |
|---|---|---|
| committer | Christophe Matthieu <chm@odoo.com> | 2015-01-23 12:14:15 +0100 |
| commit | 60efc27f159b8a415d2245b1fe94adc4655cf3aa (patch) | |
| tree | 280492c1c8f07ffc8c25c4150b3996fb4a6459c2 /addons | |
| parent | 493abe1cab6def2f392b8b2356f64af1b8febc08 (diff) | |
[FIX] website editor: can't select a picture followed by a br tag
Diffstat (limited to 'addons')
| -rw-r--r-- | addons/website/static/lib/summernote/src/js/core/range.js | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/addons/website/static/lib/summernote/src/js/core/range.js b/addons/website/static/lib/summernote/src/js/core/range.js index 0ed938149a5..00c2affd765 100644 --- a/addons/website/static/lib/summernote/src/js/core/range.js +++ b/addons/website/static/lib/summernote/src/js/core/range.js @@ -417,12 +417,18 @@ define([ var endPoint = {node: ec.childNodes.length && ec.childNodes[eo] || ec}; endPoint.offset = endPoint.node === ec ? eo : 0; + if (dom.isImg(startPoint.node)) { + nb ++; + image = startPoint.node; + } dom.walkPoint(startPoint, endPoint, function (point) { + if (!dom.isText(endPoint.node) && point.node === endPoint.node && point.offset === endPoint.offset) { + return; + } var node = point.node.childNodes.length && point.node.childNodes[point.offset] || point.node; var offset = node === point.node ? point.offset : 0; var isImg = dom.ancestor(node, dom.isImg); - - if (!isImg && (node.nodeType !== 3 || (offset && node.textContent.length !== offset && node.textContent.match(/\S|\u00A0/)))) { + if (!isImg && ((!dom.isBR(node) && !dom.isText(node)) || (offset && node.textContent.length !== offset && node.textContent.match(/\S|\u00A0/)))) { nb++; } if (isImg && image !== isImg) { |
