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 1cb6689d02e..f214d210b52 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 @@ -141,22 +141,20 @@ var MediaDialog = Dialog.extend({ */ save: function () { var self = this; - var args = arguments; var _super = this._super; - if (this.multiImages) { + var args = arguments; + return $.when(this.active.save()).then(function (data) { + self.final_data = data; // In the case of multi images selection we suppose this was not to // replace an old media, so we only retrieve the images and save. - return $.when(this.active.save()).then(function (data) { - self.final_data = data; - return _super.apply(self, args); - }); - } - - return $.when(this.active.save()).then(function (media) { - self.trigger('saved', { - attachments: self.active.images, - media: media, - }); + if (!self.multiImages) { + // TODO this dialog triggers 'save' and 'saved' with different + // data on close... should refactor to avoid confusion... + self.trigger('saved', { + attachments: self.active.images, + media: data, + }); + } return _super.apply(self, args); }); }, diff --git a/addons/website/static/src/js/editor/snippets.options.js b/addons/website/static/src/js/editor/snippets.options.js index b516de3c939..9f25a4d15b9 100644 --- a/addons/website/static/src/js/editor/snippets.options.js +++ b/addons/website/static/src/js/editor/snippets.options.js @@ -1004,7 +1004,7 @@ options.registry.gallery = options.Class.extend({ addImages: function (previewMode) { var self = this; var $container = this.$('.container:first'); - var dialog = new weWidgets.MediaDialog(this, {multiImages: true}, this.$target.closest('.o_editable'), null); + var dialog = new weWidgets.MediaDialog(this, {multiImages: true}, null); var lastImage = _.last(this._getImages()); var index = lastImage ? this._getIndex(lastImage) : -1; dialog.on('save', this, function (attachments) { diff --git a/addons/website/static/src/js/menu/seo.js b/addons/website/static/src/js/menu/seo.js index 706f219761b..a136d59b628 100644 --- a/addons/website/static/src/js/menu/seo.js +++ b/addons/website/static/src/js/menu/seo.js @@ -589,12 +589,11 @@ var MetaImageSelector = Widget.extend({ var mediaDialog = new weWidgets.MediaDialog(this, { onlyImages: true, res_model: 'ir.ui.view', - }, null, $image); + }, $image[0]); mediaDialog.open(); mediaDialog.on('save', this, function (image) { - var src = image.attr('src'); - self.activeMetaImg = src; - self.customImgUrl = src; + self.activeMetaImg = image.src; + self.customImgUrl = image.src; self._updateTemplateBody(); }); }, diff --git a/addons/website/static/src/js/widgets/theme.js b/addons/website/static/src/js/widgets/theme.js index 7ab043bce4f..7a3ef777232 100644 --- a/addons/website/static/src/js/widgets/theme.js +++ b/addons/website/static/src/js/widgets/theme.js @@ -5,7 +5,7 @@ var config = require('web.config'); var core = require('web.core'); var ColorpickerDialog = require('wysiwyg.widgets.ColorpickerDialog'); var Dialog = require('web.Dialog'); -var widgets = require('wysiwyg.widgets'); +var weWidgets = require('wysiwyg.widgets'); var websiteNavbarData = require('website.navbar'); var _t = core._t; @@ -269,7 +269,10 @@ var ThemeCustomizeDialog = Dialog.extend({ var def = $.Deferred(); var $image = $(''); - var editor = new widgets.MediaDialog(this, {onlyImages: true, firstFilters: ['background']}, null, $image[0]); + var editor = new weWidgets.MediaDialog(this, { + onlyImages: true, + firstFilters: ['background'], + }, $image[0]); editor.on('save', this, function (media) { // TODO use scss customization instead (like for user colors) var src = $(media).attr('src'); diff --git a/addons/website_blog/static/src/js/website_blog.editor.js b/addons/website_blog/static/src/js/website_blog.editor.js index 0112faf636e..d367a1a5a2d 100644 --- a/addons/website_blog/static/src/js/website_blog.editor.js +++ b/addons/website_blog/static/src/js/website_blog.editor.js @@ -180,7 +180,7 @@ options.registry.blog_cover = options.Class.extend({ var editor = new weWidgets.MediaDialog(this, { onlyImages: true, firstFilters: ['background'] - }, $image, $image[0]).open(); + }, $image[0]).open(); editor.on('save', this, function (event, img) { var src = $image.attr('src'); this.$image.css('background-image', src ? ('url(' + src + ')') : '');