summaryrefslogtreecommitdiff
path: root/addons/website/static/src/js/website.editor.js
diff options
context:
space:
mode:
authorChristophe Matthieu <chm@odoo.com>2014-09-04 15:30:18 +0200
committerChristophe Matthieu <chm@odoo.com>2014-09-10 10:09:34 +0200
commit068e69c2ed335ee6b7a1a58dd3a95646c47987df (patch)
treec58e4e849f7735b8ef3f63c6b3614bb4744f67eb /addons/website/static/src/js/website.editor.js
parent742846400423484a1a752ea13f7fb8bf84ed4712 (diff)
[FIX] website.editor: need to set the range on start because the browser can be lost the caret and can't insert the media in the page.
Diffstat (limited to 'addons/website/static/src/js/website.editor.js')
-rw-r--r--addons/website/static/src/js/website.editor.js12
1 files changed, 8 insertions, 4 deletions
diff --git a/addons/website/static/src/js/website.editor.js b/addons/website/static/src/js/website.editor.js
index 0bf62a0df59..43411f404a9 100644
--- a/addons/website/static/src/js/website.editor.js
+++ b/addons/website/static/src/js/website.editor.js
@@ -1270,6 +1270,11 @@
start: function () {
var self = this;
+ if (this.editor.getSelection) {
+ var selection = this.editor.getSelection();
+ this.range = selection.getRanges(true)[0];
+ }
+
this.imageDialog = new website.editor.RTEImageDialog(this, this.editor, this.media);
this.imageDialog.appendTo(this.$("#editor-media-image"));
this.iconDialog = new website.editor.FontIconsDialog(this, this.editor, this.media);
@@ -1323,11 +1328,9 @@
this.videoDialog.clear();
}
} else {
- var selection = this.editor.getSelection();
- var range = selection.getRanges(true)[0];
this.media = new CKEDITOR.dom.element("img");
- range.insertNode(this.media);
- range.selectNodeContents(this.media);
+ self.range.insertNode(this.media);
+ self.range.selectNodeContents(this.media);
this.active.media = this.media;
}
@@ -1338,6 +1341,7 @@
this.media.$.className = this.media.$.className.replace(/\s+/g, ' ');
setTimeout(function () {
+ if(self.range) self.range.select();
$el.trigger("saved", self.active.media.$);
$(document.body).trigger("media-saved", [$el[0], self.active.media.$]);
},0);