summaryrefslogtreecommitdiff
path: root/addons/web_editor/static/src
diff options
context:
space:
mode:
authorqsm-odoo <qsm@odoo.com>2018-04-24 17:15:00 +0200
committerqsm-odoo <qsm@odoo.com>2018-07-27 12:36:54 +0200
commit7f10b55a5035bd3cab48ba58a519510a25b94f60 (patch)
treef7ef8d3ddec1c419d82dfe2eef3c00fff9b15cdd /addons/web_editor/static/src
parentea7c3f4a698bd027c307aef89fa2974916c4b9f5 (diff)
[REF] *: BS4, adapt display classes
The system completely changed. I also had to adapt classes to new screen breakpoints. hidden/hide -> d-none show -> d-block hidden-xs -> d-none d-md-(block/inline/...) hidden-sm -> d-md-none d-lg-(block/inline/...) hidden-md -> d-lg-none d-xl-(block/inline/...) hidden-lg -> d-xl-none visible-xs-* -> d-* d-md-none visible-sm-* -> d-none d-md-* d-lg-none visible-md-* -> d-none d-lg-* d-xl-none visible-lg-* -> d-none d-xl-* hidden-print -> d-print-none visible-print-* -> d-none d-print-* ... and all possible combination of those had to be handled too.
Diffstat (limited to 'addons/web_editor/static/src')
-rw-r--r--addons/web_editor/static/src/js/editor/rte.summernote.js20
-rw-r--r--addons/web_editor/static/src/js/editor/snippets.editor.js18
-rw-r--r--addons/web_editor/static/src/js/editor/snippets.options.js10
-rw-r--r--addons/web_editor/static/src/js/editor/translator.js2
-rw-r--r--addons/web_editor/static/src/js/inline.js2
-rw-r--r--addons/web_editor/static/src/js/widgets/ace.js12
-rw-r--r--addons/web_editor/static/src/js/widgets/widgets.js16
-rw-r--r--addons/web_editor/static/src/xml/ace.xml4
-rw-r--r--addons/web_editor/static/src/xml/editor.xml22
-rw-r--r--addons/web_editor/static/src/xml/snippets.xml2
10 files changed, 54 insertions, 54 deletions
diff --git a/addons/web_editor/static/src/js/editor/rte.summernote.js b/addons/web_editor/static/src/js/editor/rte.summernote.js
index 6f45452f466..0661d62dc30 100644
--- a/addons/web_editor/static/src/js/editor/rte.summernote.js
+++ b/addons/web_editor/static/src/js/editor/rte.summernote.js
@@ -86,7 +86,7 @@ renderer.tplPopovers = function (lang, options) {
var $airPopover = $popover.find('.note-air-popover');
if (window === window.top) {
- $popover.children().addClass("hidden-xs");
+ $popover.children().addClass("d-none d-md-block");
}
//////////////// image popover
@@ -124,7 +124,7 @@ renderer.tplPopovers = function (lang, options) {
})).insertAfter($imagePopover.find('[data-event="imageShape"][data-value="img-circle"]'));
// add spin for fa
- var $spin = $('<div class="btn-group hidden only_fa"/>').insertAfter($button.parent());
+ var $spin = $('<div class="btn-group d-none only_fa"/>').insertAfter($button.parent());
$(tplIconButton('fa fa-refresh', {
title: _t('Spin'),
event: 'imageShape',
@@ -132,7 +132,7 @@ renderer.tplPopovers = function (lang, options) {
})).appendTo($spin);
// resize for fa
- var $resizefa = $('<div class="btn-group hidden only_fa"/>')
+ var $resizefa = $('<div class="btn-group d-none only_fa"/>')
.insertAfter($imagePopover.find('.btn-group:has([data-event="resize"])'));
for (var size=1; size<=5; size++) {
$(tplButton('<span class="note-fontsize-10">'+size+'x</span>', {
@@ -220,7 +220,7 @@ eventHandler.modules.popover.button.update = function ($container, oStyle) {
fn_boutton_update.call(this, $container, oStyle);
- $container.find('.note-color').removeClass("hidden");
+ $container.find('.note-color').removeClass('d-none');
if (oStyle.image) {
$container.find('[data-event]').parent().removeClass("active");
@@ -234,8 +234,8 @@ eventHandler.modules.popover.button.update = function ($container, oStyle) {
$(oStyle.image).addClass('o_we_selected_image');
if (dom.isImgFont(oStyle.image)) {
- $container.find('.btn-group:not(.only_fa):has(button[data-event="resize"],button[data-value="img-thumbnail"])').addClass("hidden");
- $container.find('.only_fa').removeClass("hidden");
+ $container.find('.btn-group:not(.only_fa):has(button[data-event="resize"],button[data-value="img-thumbnail"])').addClass('d-none');
+ $container.find('.only_fa').removeClass('d-none');
$container.find('button[data-event="resizefa"][data-value="2"]').toggleClass("active", $(oStyle.image).hasClass("fa-2x"));
$container.find('button[data-event="resizefa"][data-value="3"]').toggleClass("active", $(oStyle.image).hasClass("fa-3x"));
$container.find('button[data-event="resizefa"][data-value="4"]').toggleClass("active", $(oStyle.image).hasClass("fa-4x"));
@@ -246,8 +246,8 @@ eventHandler.modules.popover.button.update = function ($container, oStyle) {
$container.find('button[data-event="imageShape"][data-value="shadow"]').toggleClass("active", $(oStyle.image).hasClass("shadow"));
} else {
- $container.find('.hidden:not(.only_fa)').removeClass("hidden");
- $container.find('.only_fa').addClass("hidden");
+ $container.find('.d-none:not(.only_fa)').removeClass('d-none');
+ $container.find('.only_fa').addClass('d-none');
var width = ($(oStyle.image).attr('style') || '').match(/(^|;|\s)width:\s*([0-9]+%)/);
if (width) {
width = width[2];
@@ -260,10 +260,10 @@ eventHandler.modules.popover.button.update = function ($container, oStyle) {
$container.find('button[data-event="imageShape"][data-value="shadow"]').toggleClass("active", $(oStyle.image).hasClass("shadow"));
if (!$(oStyle.image).is("img")) {
- $container.find('.btn-group:has(button[data-event="imageShape"])').addClass("hidden");
+ $container.find('.btn-group:has(button[data-event="imageShape"])').addClass('d-none');
}
- $container.find('.note-color').addClass("hidden");
+ $container.find('.note-color').addClass('d-none');
}
$container.find('button[data-event="floatMe"][data-value="left"]').toggleClass("active", $(oStyle.image).hasClass("pull-left"));
diff --git a/addons/web_editor/static/src/js/editor/snippets.editor.js b/addons/web_editor/static/src/js/editor/snippets.editor.js
index 6ed77009150..d03e7a4a03d 100644
--- a/addons/web_editor/static/src/js/editor/snippets.editor.js
+++ b/addons/web_editor/static/src/js/editor/snippets.editor.js
@@ -76,7 +76,7 @@ var SnippetEditor = Widget.extend({
var $clone = $(this).clone().css({width: '24px', height: '24px', border: 0});
$clone.find('.oe_overlay_options >:not(:contains(.oe_snippet_move)), .o_handle').remove();
$clone.find(':not(.glyphicon)').css({position: 'absolute', top: 0, left: 0});
- $clone.appendTo('body').removeClass('hidden');
+ $clone.appendTo('body').removeClass('d-none');
return $clone;
},
start: _.bind(self._onDragAndDropStart, self),
@@ -214,11 +214,11 @@ var SnippetEditor = Widget.extend({
count++;
}
});
- $el.toggleClass('hidden', count === 0);
+ $el.toggleClass('d-none', count === 0);
}).bind(this));
// Activate the overlay
- $style_button.toggleClass('hidden', $ul.children(':not(.o_main_header):not(.divider):not(.hidden)').length === 0);
+ $style_button.toggleClass('d-none', $ul.children(':not(.o_main_header):not(.divider):not(.d-none)').length === 0);
this.cover();
this.$el.toggleClass('oe_active', !!focus);
@@ -304,7 +304,7 @@ var SnippetEditor = Widget.extend({
});
if (!this.selectorSiblings.length && !this.selectorChildren.length) {
- this.$el.find('.oe_snippet_move, .oe_snippet_clone').addClass('hidden');
+ this.$el.find('.oe_snippet_move, .oe_snippet_clone').addClass('d-none');
}
this.$el.find('[data-toggle="dropdown"]').dropdown();
@@ -362,7 +362,7 @@ var SnippetEditor = Widget.extend({
};
self.$target.after('<div class="oe_drop_clone" style="display: none;"/>');
self.$target.detach();
- self.$el.addClass('hidden');
+ self.$el.addClass('d-none');
var $selectorSiblings;
for (var i = 0 ; i < self.selectorSiblings.length ; i++) {
@@ -419,7 +419,7 @@ var SnippetEditor = Widget.extend({
}
$clone.after(this.$target);
- this.$el.removeClass('hidden');
+ this.$el.removeClass('d-none');
$('body').removeClass('move-important');
$clone.remove();
@@ -987,7 +987,7 @@ var SnippetsMenu = Widget.extend({
self.templateOptions.push(option);
selectors.push(option.selector);
});
- $styles.addClass('hidden');
+ $styles.addClass('d-none');
globalSelector.closest = function ($from) {
var $temp;
@@ -1218,14 +1218,14 @@ var SnippetsMenu = Widget.extend({
$('.oe_drop_zone').droppable({
over: function () {
dropped = true;
- $(this).first().after($toInsert).addClass('hidden');
+ $(this).first().after($toInsert).addClass('d-none');
},
out: function () {
var prev = $toInsert.prev();
if (this === prev[0]) {
dropped = false;
$toInsert.detach();
- $(this).removeClass('hidden');
+ $(this).removeClass('d-none');
}
},
});
diff --git a/addons/web_editor/static/src/js/editor/snippets.options.js b/addons/web_editor/static/src/js/editor/snippets.options.js
index 097f3d3b12f..54e92b60028 100644
--- a/addons/web_editor/static/src/js/editor/snippets.options.js
+++ b/addons/web_editor/static/src/js/editor/snippets.options.js
@@ -811,14 +811,14 @@ registry.background = SnippetOption.extend({
*/
chooseImage: function (previewMode, value, $li) {
// Put fake image in the DOM, edit it and use it as background-image
- var $image = $('<img/>', {class: 'hidden', src: value}).appendTo(this.$target);
+ var $image = $('<img/>', {class: 'd-none', src: value}).appendTo(this.$target);
var $editable = this.$target.closest('.o_editable');
var _editor = new weWidgets.MediaDialog(this, {
onlyImages: true,
firstFilters: ['background'],
res_model: $editable.data('oe-model'),
- res_id: $editable.data('oe-id'),
+ res_id: $editable.data('oe-id'),
}, null, $image[0]).open();
_editor.on('save', this, function () {
@@ -926,7 +926,7 @@ registry.background_position = SnippetOption.extend({
* @override
*/
onFocus: function () {
- this.$el.toggleClass('hidden', this.$target.css('background-image') === 'none');
+ this.$el.toggleClass('d-none', this.$target.css('background-image') === 'none');
},
//--------------------------------------------------------------------------
@@ -1153,8 +1153,8 @@ registry.many2one = SnippetOption.extend({
// move menu item
setTimeout(function () {
- if (self.$overlay.find('.oe_options').hasClass('hidden')) {
- self.$btn.css('height', '0').find('> a').addClass('hidden');
+ if (self.$overlay.find('.oe_options').hasClass('d-none')) {
+ self.$btn.css('height', '0').find('> a').addClass('d-none');
self.$ul.show().css({
'top': '-24px', 'margin': '0', 'padding': '2px 0', 'position': 'relative'
});
diff --git a/addons/web_editor/static/src/js/editor/translator.js b/addons/web_editor/static/src/js/editor/translator.js
index e3ba65a54d7..0ec7d267f66 100644
--- a/addons/web_editor/static/src/js/editor/translator.js
+++ b/addons/web_editor/static/src/js/editor/translator.js
@@ -138,7 +138,7 @@ var TranslatorMenuBar = Widget.extend({
var translation = $node.data('translation') || {};
var trans = $node.attr(attr);
var match = trans.match(/<span [^>]*data-oe-translation-id="([0-9]+)"[^>]*>(.*)<\/span>/);
- var $trans = $(trans).addClass('hidden o_editable o_editable_translatable_attribute').appendTo('body');
+ var $trans = $(trans).addClass('d-none o_editable o_editable_translatable_attribute').appendTo('body');
$trans.data('$node', $node).data('attribute', attr);
translation[attr] = $trans[0];
$node.attr(attr, match[2]);
diff --git a/addons/web_editor/static/src/js/inline.js b/addons/web_editor/static/src/js/inline.js
index 7409f9190f3..fb2247313bd 100644
--- a/addons/web_editor/static/src/js/inline.js
+++ b/addons/web_editor/static/src/js/inline.js
@@ -10,7 +10,7 @@ var snippet_editor = require('web_editor.snippet.editor');
weWidgets.MediaDialog.include({
start: function () {
- this.$('[href="#editor-media-video"]').addClass('hidden');
+ this.$('[href="#editor-media-video"]').addClass('d-none');
return this._super.apply(this, arguments);
},
});
diff --git a/addons/web_editor/static/src/js/widgets/ace.js b/addons/web_editor/static/src/js/widgets/ace.js
index a92c56cae05..c6cbb43295f 100644
--- a/addons/web_editor/static/src/js/widgets/ace.js
+++ b/addons/web_editor/static/src/js/widgets/ace.js
@@ -252,7 +252,7 @@ var ViewEditor = Widget.extend({
if (!this.sortedViews.length || !this.sortedSCSS.length) {
_.defer((function () {
this._switchType(this.sortedViews.length ? 'xml' : 'scss');
- this.$typeSwitcherBtn.parent('.btn-group').addClass('hidden');
+ this.$typeSwitcherBtn.parent('.btn-group').addClass('d-none');
}).bind(this));
}
@@ -365,7 +365,7 @@ var ViewEditor = Widget.extend({
}
this.$lists[this.currentType].select2('val', resID);
- this.$resetButton.toggleClass('hidden', this.currentType === 'xml' || !this.scss[resID].customized);
+ this.$resetButton.toggleClass('d-none', this.currentType === 'xml' || !this.scss[resID].customized);
},
/**
* Formats the current resource being vizualized.
@@ -662,12 +662,12 @@ var ViewEditor = Widget.extend({
_switchType: function (type) {
this.currentType = type;
this.$typeSwitcherBtn.html(this.$typeSwitcherChoices.filter('[data-type=' + type + ']').html());
- _.each(this.$lists, function ($list, _type) { $list.toggleClass('hidden', type !== _type); });
+ _.each(this.$lists, function ($list, _type) { $list.toggleClass('d-none', type !== _type); });
this.$lists[type].change();
- this.$includeBundlesArea.toggleClass('hidden', this.currentType === 'scss' || !session.debug);
- this.$includeAllSCSSArea.toggleClass('hidden', this.currentType === 'xml' || !session.debug || this.options.defaultBundlesRestriction.length === 0);
- this.$formatButton.toggleClass('hidden', this.currentType === 'scss');
+ this.$includeBundlesArea.toggleClass('d-none', this.currentType === 'scss' || !session.debug);
+ this.$includeAllSCSSArea.toggleClass('d-none', this.currentType === 'xml' || !session.debug || this.options.defaultBundlesRestriction.length === 0);
+ this.$formatButton.toggleClass('d-none', this.currentType === 'scss');
},
/**
* Updates the select option DOM element associated with a particular resID
diff --git a/addons/web_editor/static/src/js/widgets/widgets.js b/addons/web_editor/static/src/js/widgets/widgets.js
index 5f00723865d..8148f61a4f8 100644
--- a/addons/web_editor/static/src/js/widgets/widgets.js
+++ b/addons/web_editor/static/src/js/widgets/widgets.js
@@ -988,7 +988,7 @@ var VideoWidget = MediaWidget.extend({
// Reset the feedback
this.$content.empty();
this.$('#o_video_form_group').removeClass('has-error has-success');
- this.$('.o_video_dialog_options li').addClass('hidden');
+ this.$('.o_video_dialog_options li').addClass('d-none');
// Check video code
var $textarea = this.$('textarea#o_video_text');
@@ -1017,20 +1017,20 @@ var VideoWidget = MediaWidget.extend({
var $opt_box = this.$('.o_video_dialog_options');
// Show / Hide preview elements
- this.$el.find('.o_video_dialog_preview_text, .media_iframe_video_size').add($opt_box).toggleClass('hidden', !query.$video);
+ this.$el.find('.o_video_dialog_preview_text, .media_iframe_video_size').add($opt_box).toggleClass('d-none', !query.$video);
// Toggle validation classes
this.$el.find('#o_video_form_group').toggleClass('has-error', !query.$video).toggleClass('has-success', !!query.$video);
// Individually show / hide options base on the video provider
- $opt_box.find('li.o_' + query.type + '_option').removeClass('hidden');
+ $opt_box.find('li.o_' + query.type + '_option').removeClass('d-none');
// Hide the entire options box if no options are available
- $opt_box.toggleClass('hidden', $opt_box.find('li:not(.hidden)').length === 0);
+ $opt_box.toggleClass('d-none', $opt_box.find('li:not(.d-none)').length === 0);
if (query.type === 'yt') {
// Youtube only: If 'hide controls' is checked, hide 'fullscreen'
// and 'youtube logo' options too
- this.$('input#o_video_hide_fullscreen, input#o_video_hide_yt_logo').closest('li').toggleClass('hidden', this.$('input#o_video_hide_controls').is(':checked'));
+ this.$('input#o_video_hide_fullscreen, input#o_video_hide_yt_logo').closest('li').toggleClass('d-none', this.$('input#o_video_hide_controls').is(':checked'));
}
var $content = query.$video;
@@ -1268,8 +1268,8 @@ var MediaDialog = Dialog.extend({
*/
_updateControlPanel: function () {
var cpConfig = this.active.getControlPanelConfig();
- this.$('li.search').toggleClass("hidden", !cpConfig.searchEnabled);
- this.$('li.previous, li.next').toggleClass("hidden", !cpConfig.pagerEnabled);
+ this.$('li.search').toggleClass('d-none', !cpConfig.searchEnabled);
+ this.$('li.previous, li.next').toggleClass('d-none', !cpConfig.pagerEnabled);
this.$('li.previous > a').toggleClass("disabled", !cpConfig.pagerLeftEnabled);
this.$('li.next > a').toggleClass("disabled", !cpConfig.pagerRightEnabled);
},
@@ -1556,7 +1556,7 @@ var LinkDialog = Dialog.extend({
_onURLInput: function (ev) {
$(ev.currentTarget).closest('.form-group').removeClass('has-error');
var isLink = $(ev.currentTarget).val().indexOf('@') < 0;
- this.$('input[name="is_new_window"]').closest('.form-group').toggleClass('hidden', !isLink);
+ this.$('input[name="is_new_window"]').closest('.form-group').toggleClass('d-none', !isLink);
},
});
diff --git a/addons/web_editor/static/src/xml/ace.xml b/addons/web_editor/static/src/xml/ace.xml
index de713540a67..b65af78b3dc 100644
--- a/addons/web_editor/static/src/xml/ace.xml
+++ b/addons/web_editor/static/src/xml/ace.xml
@@ -12,14 +12,14 @@
</ul>
</div>
<select id="ace-view-list" class="o_res_list"/>
- <select id="ace-scss-list" class="o_res_list hidden"/>
+ <select id="ace-scss-list" class="o_res_list d-none"/>
<label class="o_include_option oe_include_bundles">
<div class="o_checkbox">
<input type="checkbox" class="js_include_bundles" t-att-checked="widget.options.includeBundles ? 'checked' : undefined"/><span/>
</div>
Include Asset Bundles
</label>
- <label class="o_include_option o_include_all_scss hidden">
+ <label class="o_include_option o_include_all_scss d-none">
<div class="o_checkbox">
<input type="checkbox" class="js_include_all_scss" t-att-checked="widget.options.includeAllSCSS ? 'checked' : undefined"/><span/>
</div>
diff --git a/addons/web_editor/static/src/xml/editor.xml b/addons/web_editor/static/src/xml/editor.xml
index 3c3085bfe79..f4a34c5ab4b 100644
--- a/addons/web_editor/static/src/xml/editor.xml
+++ b/addons/web_editor/static/src/xml/editor.xml
@@ -47,10 +47,10 @@
<!-- Media Dialog (allows to choose an img/pictogram/video) -->
<div t-name="web_editor.dialog.media">
<ul class="nav nav-tabs" role="tablist">
- <li class="active"><a role="tab" href="#editor-media-image" aria-controls="editor-media-image" data-toggle="tab" t-att-class="widget.noImages ? 'hidden' : ''">Image</a></li>
- <li><a role="tab" href="#editor-media-document" aria-controls="editor-media-document" data-toggle="tab" t-att-class="widget.noDocuments ? 'hidden' : ''">Document</a></li>
- <li><a role="tab" href="#editor-media-icon" aria-controls="editor-media-icon" data-toggle="tab" t-att-class="widget.noIcons ? 'hidden' : ''">Pictogram</a></li>
- <li><a role="tab" href="#editor-media-video" aria-controls="editor-media-video" data-toggle="tab" t-att-class="widget.noVideos ? 'hidden' : ''">Video</a></li>
+ <li class="active"><a role="tab" href="#editor-media-image" aria-controls="editor-media-image" data-toggle="tab" t-att-class="widget.noImages ? 'd-none' : ''">Image</a></li>
+ <li><a role="tab" href="#editor-media-document" aria-controls="editor-media-document" data-toggle="tab" t-att-class="widget.noDocuments ? 'd-none' : ''">Document</a></li>
+ <li><a role="tab" href="#editor-media-icon" aria-controls="editor-media-icon" data-toggle="tab" t-att-class="widget.noIcons ? 'd-none' : ''">Pictogram</a></li>
+ <li><a role="tab" href="#editor-media-video" aria-controls="editor-media-video" data-toggle="tab" t-att-class="widget.noVideos ? 'd-none' : ''">Video</a></li>
<li class="search pull-right">
<ul class="pager mb0 mt0">
<li class="previous">
@@ -90,7 +90,7 @@
<input t-if="widget.options.res_model" type="hidden" name="res_model" t-att-value="widget.options.res_model"/>
<div class="well">
<div class="form-group pull-left">
- <input type="file" class="hidden" name="upload" t-att-accept="widget.accept" multiple="multiple"/>
+ <input type="file" class="d-none" name="upload" t-att-accept="widget.accept" multiple="multiple"/>
<input type="hidden" name="disable_optimization" value=""/>
<div class="btn-group">
<button class="btn btn-primary o_upload_image_button" type="button">Upload an image</button>
@@ -118,7 +118,7 @@
<div class="existing-attachments">
<t t-call="web_editor.dialog.image.existing"/>
</div>
- <iframe class="hidden" name="fileframe"/>
+ <iframe class="d-none" name="fileframe"/>
</form>
</t>
<t t-name="web_editor.dialog.image.existing">
@@ -198,7 +198,7 @@
<div class="text-right">
<small class="text-muted">Accepts <b><i>Youtube</i></b>, <b><i>Instagram</i></b>, <b><i>Vine.co</i></b>, <b><i>Vimeo</i></b>, <b><i>Dailymotion</i></b> and <b><i>Youku</i></b> videos</small>
</div>
- <div class="o_video_dialog_options hidden mt48">
+ <div class="o_video_dialog_options d-none mt48">
<small class="text-muted">Options</small>
<ul class="list-group">
<li class="list-group-item o_yt_option o_vim_option o_dm_option">
@@ -226,7 +226,7 @@
</div>
</div>
<div id="video-preview">
- <div class="o_video_dialog_preview_text small mt16 mb8 hidden">Preview</div>
+ <div class="o_video_dialog_preview_text small mt16 mb8 d-none">Preview</div>
<div class="media_iframe_video">
<div class="media_iframe_video_size"/>
<iframe class="o_video_dialog_iframe" allowfullscreen="allowfullscreen" frameborder="0" src=""/>
@@ -239,7 +239,7 @@
<div t-name="web_editor.dialog.link" class="o_link_dialog">
<div class="row">
<form class="col-md-8 form-horizontal">
- <div t-attf-class="form-group#{widget.needLabel ? '' : ' hidden'}">
+ <div t-attf-class="form-group#{widget.needLabel ? '' : ' d-none'}">
<label class="control-label col-sm-3" for="o_link_dialog_label_input">Link Label</label>
<div class="col-sm-9">
<input type="text" name="label" class="form-control" id="o_link_dialog_label_input" required="required" t-att-value="widget.data.text"/>
@@ -268,12 +268,12 @@
<div class="o_link_dialog_color">
<label role="button" t-attf-class="o_link_dialog_color_item o_btn_preview btn btn-link text-center" data-color="">
<span>L</span>
- <input class="hidden link-style" name="link_style_color" type="radio" value=""/>
+ <input class="d-none link-style" name="link_style_color" type="radio" value=""/>
<i class="fa"/>
</label>
<t t-foreach="['primary', 'default', 'success', 'info', 'warning', 'danger', 'alpha', 'beta', 'gamma', 'delta', 'epsilon']" t-as="color">
<label role="button" t-attf-class="o_link_dialog_color_item o_btn_preview btn btn-#{color}" t-attf-aria-label="Color for #{color}" t-attf-title="Color for #{color}">
- <input type="radio" name="link_style_color" class="hidden link-style" t-att-value="color"/>
+ <input type="radio" name="link_style_color" class="d-none link-style" t-att-value="color"/>
<i class="fa"/>
</label>
</t>
diff --git a/addons/web_editor/static/src/xml/snippets.xml b/addons/web_editor/static/src/xml/snippets.xml
index dcd245f9a3e..361a5780b4d 100644
--- a/addons/web_editor/static/src/xml/snippets.xml
+++ b/addons/web_editor/static/src/xml/snippets.xml
@@ -11,7 +11,7 @@
<div class="oe_overlay_options" contentEditable="false">
<div class="btn-group">
<a role="button" href="#" class="btn btn-default btn-sm oe_snippet_parent" title="Select Parent Container" aria-label="Select Parent Container"><i class="fa fa-lg fa-level-up"/></a>
- <div class="dropdown oe_options hidden btn-group">
+ <div class="dropdown oe_options d-none btn-group">
<a role="button" href="#" data-toggle="dropdown" class="btn btn-primary btn-sm" title="Customize">Customize</a>
<ul class="dropdown-menu" role="menu"/>
</div>