summaryrefslogtreecommitdiff
path: root/addons/website/static/lib/summernote/src/js/EventHandler.js
diff options
context:
space:
mode:
Diffstat (limited to 'addons/website/static/lib/summernote/src/js/EventHandler.js')
-rw-r--r--addons/website/static/lib/summernote/src/js/EventHandler.js15
1 files changed, 10 insertions, 5 deletions
diff --git a/addons/website/static/lib/summernote/src/js/EventHandler.js b/addons/website/static/lib/summernote/src/js/EventHandler.js
index 2cb04fbe819..481581ad5ac 100644
--- a/addons/website/static/lib/summernote/src/js/EventHandler.js
+++ b/addons/website/static/lib/summernote/src/js/EventHandler.js
@@ -268,9 +268,7 @@ define([
setTimeout(function () {
var layoutInfo = makeLayoutInfo(event.target);
var $editable = layoutInfo.editable();
- if (!event.isDefaultPrevented()) {
- editor.saveRange($editable);
- }
+ editor.saveRange($editable);
var styleInfo = editor.currentStyle();
if (!styleInfo) { return; }
@@ -364,7 +362,6 @@ define([
}
};
-
var hToolbarAndPopoverClick = function (event) {
var $btn = $(event.target).closest('[data-event]');
@@ -375,6 +372,9 @@ define([
var layoutInfo = makeLayoutInfo(event.target);
+ var $editable = layoutInfo.editable();
+ editor.restoreRange($editable);
+
// before command: detect control selection element($target)
var $target;
if ($.inArray(eventName, ['resize', 'floatMe', 'removeMedia', 'imageShape']) !== -1) {
@@ -391,7 +391,6 @@ define([
if ($.isFunction($.summernote.pluginEvents[eventName])) {
$.summernote.pluginEvents[eventName](event, editor, layoutInfo, value);
} else if (editor[eventName]) { // on command
- var $editable = layoutInfo.editable();
$editable.trigger('focus');
editor[eventName]($editable, value, $target);
event.preventDefault();
@@ -588,7 +587,10 @@ define([
(keycode > 185 && keycode < 193) || // ;=,-./` (in order)
(keycode > 218 && keycode < 223))) { // [\]' (in order))
eventName = 'visible';
+ } else if (!keycode) {
+ editor.restoreRange($editable);
}
+
if (eventName) {
if ($.summernote.pluginEvents[eventName]) {
var plugin = $.summernote.pluginEvents[eventName];
@@ -602,6 +604,9 @@ define([
commands[eventName].call(this, layoutInfo);
event.preventDefault();
}
+ if (keycode) {
+ editor.saveRange($editable);
+ }
} else if (key.isEdit(event.keyCode)) {
editor.afterCommand($editable);
}