summaryrefslogtreecommitdiff
path: root/addons/web_editor
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2019-09-17 17:49:09 +0200
committerChristophe Simonis <chs@odoo.com>2019-09-17 17:49:09 +0200
commit080f8b1f96dec30fd9568a81342b5d20cc9d521a (patch)
tree14cecabb2c6502e73d93178bd322722e2e62f07d /addons/web_editor
parentc12bd7125a1c64339e02ae0563f667b8de931b3b (diff)
parentd8ce75466e4a6728cccfc7696a65a399e9cf23f1 (diff)
[MERGE] forward port branch saas-12.3 up to d8ce75466e4
Diffstat (limited to 'addons/web_editor')
-rw-r--r--addons/web_editor/static/src/js/wysiwyg/plugin/media.js6
-rw-r--r--addons/web_editor/static/src/js/wysiwyg/widgets/media.js2
-rw-r--r--addons/web_editor/static/src/js/wysiwyg_snippets/snippets.editor.js11
-rw-r--r--addons/web_editor/static/src/js/wysiwyg_snippets/snippets.options.js11
4 files changed, 25 insertions, 5 deletions
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 b8b4a7582fe..ba7793d1d95 100644
--- a/addons/web_editor/static/src/js/wysiwyg/plugin/media.js
+++ b/addons/web_editor/static/src/js/wysiwyg/plugin/media.js
@@ -76,7 +76,7 @@ var MediaPlugin = AbstractPlugin.extend({
mediaWidth: mediaWidth,
onlyImages: $mediaParent.data('oeField') === 'image' || $mediaParent.data('oeType') === 'image',
},
- $(media).clone()[0]
+ $(media).clone(true, true)[0]
);
mediaDialog.on('save', this, function (element) {
@@ -708,7 +708,7 @@ var ImagePlugin = AbstractMediaPlugin.extend({
var media = this.context.invoke('editor.restoreTarget');
var cropImageDialog = new weWidgets.CropImageDialog(this.options.parent, {},
- $(media).clone()[0]
+ $(media).clone(true, true)[0]
);
cropImageDialog.on('save', this, function (img) {
this.context.invoke('MediaPlugin.insertMedia', media, img);
@@ -727,7 +727,7 @@ var ImagePlugin = AbstractMediaPlugin.extend({
var media = this.context.invoke('editor.restoreTarget');
var altDialog = new weWidgets.AltDialog(this.options.parent, {},
- $(media).clone()[0]
+ $(media).clone(true, true)[0]
);
altDialog.on('save', this, this._wrapCommand(function (img) {
$(media).attr('alt', img.alt)
diff --git a/addons/web_editor/static/src/js/wysiwyg/widgets/media.js b/addons/web_editor/static/src/js/wysiwyg/widgets/media.js
index b196552709d..95b55b7e877 100644
--- a/addons/web_editor/static/src/js/wysiwyg/widgets/media.js
+++ b/addons/web_editor/static/src/js/wysiwyg/widgets/media.js
@@ -1119,7 +1119,7 @@ var VideoWidget = MediaWidget.extend({
$video.attr('src', vinMatch[0] + '/embed/simple');
videoType = 'vin';
} else if (vimMatch && vimMatch[3].length) {
- $video.attr('src', '//player.vimeo.com/video/' + vimMatch[3] + autoplay);
+ $video.attr('src', '//player.vimeo.com/video/' + vimMatch[3] + autoplay.replace('mute', 'muted'));
videoType = 'vim';
} else if (dmMatch && dmMatch[2].length) {
var justId = dmMatch[2].replace('video/', '');
diff --git a/addons/web_editor/static/src/js/wysiwyg_snippets/snippets.editor.js b/addons/web_editor/static/src/js/wysiwyg_snippets/snippets.editor.js
index 4193aef5332..6077dcfafae 100644
--- a/addons/web_editor/static/src/js/wysiwyg_snippets/snippets.editor.js
+++ b/addons/web_editor/static/src/js/wysiwyg_snippets/snippets.editor.js
@@ -88,7 +88,16 @@ var SnippetEditor = Widget.extend({
return $clone;
},
start: _.bind(self._onDragAndDropStart, self),
- stop: _.bind(self._onDragAndDropStop, self)
+ stop: function () {
+ // Delay our stop handler so that some summernote handlers
+ // which occur on mouseup (and are themself delayed) are
+ // executed first (this prevents the library to crash
+ // because our stop handler may change the DOM).
+ var args = arguments;
+ setTimeout(function () {
+ self._onDragAndDropStop.apply(self, args);
+ }, 0);
+ },
});
}
diff --git a/addons/web_editor/static/src/js/wysiwyg_snippets/snippets.options.js b/addons/web_editor/static/src/js/wysiwyg_snippets/snippets.options.js
index 9515bf19ab6..f4b921bbeef 100644
--- a/addons/web_editor/static/src/js/wysiwyg_snippets/snippets.options.js
+++ b/addons/web_editor/static/src/js/wysiwyg_snippets/snippets.options.js
@@ -703,6 +703,17 @@ registry.colorpicker = SnippetOption.extend({
}
var bgColor = ColorpickerDialog.formatColor(self.$target.css('background-color'));
+
+ // TODO refactor in master
+ // The primary and secondary are hardcoded here (but marked as hidden)
+ // so they can be removed from snippets when selecting another color.
+ // Normally, the chosable colors do not contain them, which prevents
+ // them to be removed. Indeed, normally, the 'alpha' and 'beta' colors
+ // (which are the same) are displayed instead... but not for all themes.
+ var $colorpicker = this.$el.find('.colorpicker');
+ $colorpicker.append($('<button/>', {'class': 'd-none', 'data-color': 'primary'}));
+ $colorpicker.append($('<button/>', {'class': 'd-none', 'data-color': 'secondary'}));
+
var classes = [];
this.$el.find('.colorpicker button').each(function () {
var $color = $(this);