diff options
| author | Christophe Matthieu <chm@odoo.com> | 2014-12-11 13:54:58 +0100 |
|---|---|---|
| committer | Christophe Matthieu <chm@odoo.com> | 2015-01-05 10:59:43 +0100 |
| commit | 064275d7fbdb49611938828662bd2ae683c3adaf (patch) | |
| tree | 9f66200d50db14fd39391362f52ab0e948f7cb50 /addons/website/static/lib/summernote/src/js/EventHandler.js | |
| parent | 5b07a0dc617c02141da800ee0225ef672c9433ff (diff) | |
[FIX] summernote lib: the prevent default for mousedown image to prevent ie and ff default 'features' must set the range because the cursor is used for edition.
Modify the code to use the dom range. Warning for picture because the browser can't target the image but the container.
https://github.com/summernote/summernote/pull/803
Diffstat (limited to 'addons/website/static/lib/summernote/src/js/EventHandler.js')
| -rw-r--r-- | addons/website/static/lib/summernote/src/js/EventHandler.js | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/addons/website/static/lib/summernote/src/js/EventHandler.js b/addons/website/static/lib/summernote/src/js/EventHandler.js index 97409ac385f..2cb04fbe819 100644 --- a/addons/website/static/lib/summernote/src/js/EventHandler.js +++ b/addons/website/static/lib/summernote/src/js/EventHandler.js @@ -1,8 +1,8 @@ define([ - 'summernote/core/agent', 'summernote/core/dom', 'summernote/core/async', 'summernote/core/key', 'summernote/core/list', + 'summernote/core/agent', 'summernote/core/dom', 'summernote/core/async', 'summernote/core/key', 'summernote/core/list', 'summernote/core/range', 'summernote/editing/Style', 'summernote/editing/Editor', 'summernote/editing/History', 'summernote/module/Toolbar', 'summernote/module/Popover', 'summernote/module/Handle', 'summernote/module/Dialog' -], function (agent, dom, async, key, list, +], function (agent, dom, async, key, list, range, Style, Editor, History, Toolbar, Popover, Handle, Dialog) { @@ -259,14 +259,19 @@ define([ //preventDefault Selection for FF, IE8+ if (dom.isImg(event.target)) { event.preventDefault(); + range.createFromNode(event.target).select(); } }; var hToolbarAndPopoverUpdate = function (event) { // delay for range after mouseup setTimeout(function () { - var layoutInfo = makeLayoutInfo(event.currentTarget || event.target); - var styleInfo = editor.currentStyle(event.target); + var layoutInfo = makeLayoutInfo(event.target); + var $editable = layoutInfo.editable(); + if (!event.isDefaultPrevented()) { + editor.saveRange($editable); + } + var styleInfo = editor.currentStyle(); if (!styleInfo) { return; } var isAirMode = layoutInfo.editor().data('options').airMode; @@ -359,6 +364,7 @@ define([ } }; + var hToolbarAndPopoverClick = function (event) { var $btn = $(event.target).closest('[data-event]'); @@ -415,10 +421,9 @@ define([ event.preventDefault(); event.stopPropagation(); - var $editable = makeLayoutInfo(event.target).editable(); + var layoutInfo = makeLayoutInfo(event.target); + var $editable = layoutInfo.editable(); var nEditableTop = $editable.offset().top - $document.scrollTop(); - - var layoutInfo = makeLayoutInfo(event.currentTarget || event.target); var options = layoutInfo.editor().data('options'); $document.on('mousemove', function (event) { |
