diff --git a/addons/web_editor/static/src/js/wysiwyg/plugin/media.js b/addons/web_editor/static/src/js/wysiwyg/plugin/media.js index 2cdfbe70cfe..1509a6412df 100644 --- a/addons/web_editor/static/src/js/wysiwyg/plugin/media.js +++ b/addons/web_editor/static/src/js/wysiwyg/plugin/media.js @@ -54,7 +54,14 @@ var MediaPlugin = AbstractPlugin.extend({ this.context.invoke('editor.saveRange'); var media = this.context.invoke('editor.restoreTarget'); - var mediaDialog = new weWidgets.MediaDialog(this.options.parent, {}, + var $mediaParent = $(media).parent(); + if ($mediaParent.hasClass('media_iframe_video')) { + media = $mediaParent[0]; + $mediaParent = $mediaParent.parent(); + } + var mediaDialog = new weWidgets.MediaDialog(this.options.parent, { + onlyImages: $mediaParent.data('oeField') === 'image' || $mediaParent.data('oeType') === 'image', + }, $(media).clone()[0] ); diff --git a/addons/web_editor/static/src/js/wysiwyg/widgets/media_dialog.js b/addons/web_editor/static/src/js/wysiwyg/widgets/media_dialog.js index f214d210b52..08345895067 100644 --- a/addons/web_editor/static/src/js/wysiwyg/widgets/media_dialog.js +++ b/addons/web_editor/static/src/js/wysiwyg/widgets/media_dialog.js @@ -48,7 +48,7 @@ var MediaDialog = Dialog.extend({ this.$media = $(media); this.multiImages = options.multiImages; - var onlyImages = options.onlyImages || this.multiImages || (this.media && (this.$media.parent().data('oeField') === 'image' || this.$media.parent().data('oeType') === 'image')); + var onlyImages = options.onlyImages || this.multiImages; this.noImages = options.noImages; this.noDocuments = onlyImages || options.noDocuments; this.noIcons = onlyImages || options.noIcons; @@ -80,10 +80,6 @@ var MediaDialog = Dialog.extend({ this.active = this.documentDialog; } else if (this.videoDialog && this.$media.hasClass('media_iframe_video')) { this.active = this.videoDialog; - } else if (this.videoDialog && this.$media.parent().hasClass('media_iframe_video')) { - this.$media = this.$media.parent(); - this.media = this.$media[0]; - this.active = this.videoDialog; } else if (this.iconDialog && this.$media.is('span, i')) { this.active = this.iconDialog; }