diff options
Diffstat (limited to 'addons/web_editor/static/src')
| -rw-r--r-- | addons/web_editor/static/src/js/rte.summernote.js | 10 | ||||
| -rw-r--r-- | addons/web_editor/static/src/js/widgets.js | 12 |
2 files changed, 15 insertions, 7 deletions
diff --git a/addons/web_editor/static/src/js/rte.summernote.js b/addons/web_editor/static/src/js/rte.summernote.js index 9f908a245bc..60c096603d8 100644 --- a/addons/web_editor/static/src/js/rte.summernote.js +++ b/addons/web_editor/static/src/js/rte.summernote.js @@ -292,7 +292,15 @@ eventHandler.modules.popover.update = function ($popover, oStyle, isAirMode) { $imagePopover.find('.o_image_alt').text( (alt || "").replace(/"/g, '"') ).parent().toggle(oStyle.image.tagName === "IMG"); $imagePopover.show(); - range.createFromNode(dom.firstChild(oStyle.image)).select(); + // for video tag (non-void) we select the range over the tag, + // for other media types we get the first descendant leaf element + var target_node = oStyle.image; + if (!oStyle.image.className.match(/(^|\s)media_iframe_video(\s|$)/i)) { + target_node = dom.firstChild(target_node); + } + range.createFromNode(target_node).select(); + // save range on the editor so it is not lost if restored + eventHandler.modules.editor.saveRange(dom.makeLayoutInfo(target_node).editable()); } else { $(".note-control-selection").hide(); } diff --git a/addons/web_editor/static/src/js/widgets.js b/addons/web_editor/static/src/js/widgets.js index 44b6b9502d1..6e7a6784351 100644 --- a/addons/web_editor/static/src/js/widgets.js +++ b/addons/web_editor/static/src/js/widgets.js @@ -637,9 +637,12 @@ var fontIconsDialog = Widget.extend({ }, renderElement: function () { // extract list of font (like awesome) from the cheatsheet. this.iconsParser = fontIcons; - this.icons = _.flatten(_.map(fontIcons, function (data) { + this.icons = _.flatten(_.map(fontIcons, function (data) { // TODO maybe useless now return data.icons; })); + this.alias = _.flatten(_.map(fontIcons, function (data) { + return data.alias; + })); this._super.apply(this, arguments); }, search: function (needle) { @@ -741,11 +744,8 @@ var fontIconsDialog = Widget.extend({ case '': continue; default: $(".font-icons-icon").removeClass("o_selected").filter("[data-alias*=',"+cls+",']").addClass("o_selected"); - for (var k=0; k<this.icons.length; k++) { - if (this.icons.indexOf(cls) !== -1) { - this.$('#fa-icon').val(cls); - break; - } + if (this.alias.indexOf(cls) !== -1) { + this.$('#fa-icon').val(cls); } } } |
