[REF] web_editor: do some linting and ES6 adaptation before UI refactor

This commit aims at linting and converting to ES6 some parts of
web_editor JS to avoid as much noise as possible in UI refactor in next
commit.

Part of https://github.com/odoo/odoo/pull/36068
task-1942370
This commit is contained in:
qsm-odoo
2019-08-28 09:04:49 +00:00
parent b47f097feb
commit 05f9b1f4e6
2 changed files with 135 additions and 125 deletions
@@ -10,9 +10,9 @@ var Wysiwyg = require('web_editor.wysiwyg');
var _t = core._t;
var globalSelector = {
closest: function () { return $(); },
all: function () { return $(); },
is: function () { return false; },
closest: () => $(),
all: () => $(),
is: () => false,
};
/**
@@ -29,14 +29,14 @@ var SnippetEditor = Widget.extend({
},
custom_events: {
cover_update: '_onCoverUpdate',
option_update: '_onOptionUpdate',
'option_update': '_onOptionUpdate',
},
/**
* @constructor
* @param {Widget} parent
* @param {Element} target
* @param templateOptions
* @param {Object} templateOptions
* @param {jQuery} $editable
* @param {Object} options
*/
@@ -404,14 +404,20 @@ var SnippetEditor = Widget.extend({
self.$el.addClass('d-none');
var $selectorSiblings;
for (var i = 0 ; i < self.selectorSiblings.length ; i++) {
if (!$selectorSiblings) $selectorSiblings = self.selectorSiblings[i].all();
else $selectorSiblings = $selectorSiblings.add(self.selectorSiblings[i].all());
for (var i = 0; i < self.selectorSiblings.length; i++) {
if (!$selectorSiblings) {
$selectorSiblings = self.selectorSiblings[i].all();
} else {
$selectorSiblings = $selectorSiblings.add(self.selectorSiblings[i].all());
}
}
var $selectorChildren;
for (i = 0 ; i < self.selectorChildren.length ; i++) {
if (!$selectorChildren) $selectorChildren = self.selectorChildren[i].all();
else $selectorChildren = $selectorChildren.add(self.selectorChildren[i].all());
for (i = 0; i < self.selectorChildren.length; i++) {
if (!$selectorChildren) {
$selectorChildren = self.selectorChildren[i].all();
} else {
$selectorChildren = $selectorChildren.add(self.selectorChildren[i].all());
}
}
this.trigger_up('go_to_parent', {$snippet: this.$target});
@@ -572,14 +578,14 @@ var SnippetsMenu = Widget.extend({
cacheSnippetTemplate: {},
activeSnippets: [],
custom_events: {
activate_insertion_zones: '_onActivateInsertionZones',
call_for_each_child_snippet: '_onCallForEachChildSnippet',
deactivate_snippet: '_onDeactivateSnippet',
drag_and_drop_stop: '_onDragAndDropStop',
go_to_parent: '_onGoToParent',
remove_snippet: '_onRemoveSnippet',
snippet_removed: '_onSnippetRemoved',
reload_snippet_dropzones: '_disableUndroppableSnippets',
'activate_insertion_zones': '_onActivateInsertionZones',
'call_for_each_child_snippet': '_onCallForEachChildSnippet',
'deactivate_snippet': '_onDeactivateSnippet',
'drag_and_drop_stop': '_onDragAndDropStop',
'go_to_parent': '_onGoToParent',
'remove_snippet': '_onRemoveSnippet',
'snippet_removed': '_onSnippetRemoved',
'reload_snippet_dropzones': '_disableUndroppableSnippets',
},
/**
@@ -635,22 +641,22 @@ var SnippetsMenu = Widget.extend({
}).insertAfter(this.$el);
// Active snippet editor on click in the page
var lastClickedElement;
this.$document.on('click.snippets_menu', '*', function (ev) {
var lastElement;
this.$document.on('click.snippets_menu', '*', ev => {
var srcElement = ev.target || (ev.originalEvent && (ev.originalEvent.target || ev.originalEvent.originalTarget)) || ev.srcElement;
if (lastClickedElement === srcElement || !srcElement) {
if (!srcElement || lastElement === srcElement) {
return;
}
lastClickedElement = srcElement;
lastElement = srcElement;
_.defer(function () {
lastClickedElement = false;
lastElement = false;
});
var $target = $(srcElement);
if ($target.closest('.oe_overlay, .note-popover').length) {
return;
}
self._activateSnippet($target);
this._activateSnippet($target);
});
core.bus.on('deactivate_snippet', this, this._onDeactivateSnippet);
@@ -804,7 +810,7 @@ var SnippetsMenu = Widget.extend({
*/
_activateInsertionZones: function ($selectorSiblings, $selectorChildren) {
var self = this;
var zone_template = $('<div/>', {
var zoneTemplate = $('<div/>', {
class: 'oe_drop_zone oe_insert',
});
@@ -820,11 +826,11 @@ var SnippetsMenu = Widget.extend({
var float = css.float || css.cssFloat;
var parentDisplay = parentCss.display;
var parentFlex = parentCss.flexDirection;
var $drop = zone_template.clone();
var $drop = zoneTemplate.clone();
$zone.append($drop);
var node = $drop[0].previousSibling;
var test = !!(node && ((!node.tagName && node.textContent.match(/\S/)) || node.tagName === 'BR'));
var test = !!(node && ((!node.tagName && node.textContent.match(/\S/)) || node.tagName === 'BR'));
if (test) {
$drop.addClass('oe_vertical').css({
height: parseInt(self.window.getComputedStyle($zone[0]).lineHeight),
@@ -842,7 +848,7 @@ var SnippetsMenu = Widget.extend({
$zone.prepend($drop);
node = $drop[0].nextSibling;
test = !!(node && ((!node.tagName && node.textContent.match(/\S/)) || node.tagName === 'BR'));
test = !!(node && ((!node.tagName && node.textContent.match(/\S/)) || node.tagName === 'BR'));
if (test) {
$drop.addClass('oe_vertical').css({
height: parseInt(self.window.getComputedStyle($zone[0]).lineHeight),
@@ -875,7 +881,7 @@ var SnippetsMenu = Widget.extend({
var parentFlex = parentCss.flexDirection;
if ($zone.prev('.oe_drop_zone:visible').length === 0) {
$drop = zone_template.clone();
$drop = zoneTemplate.clone();
if (float === 'left' || float === 'right' || (parentDisplay === 'flex' && parentFlex === 'row')) {
$drop.css('float', float);
if (!isFullWidth($zone)) {
@@ -885,7 +891,7 @@ var SnippetsMenu = Widget.extend({
$zone.before($drop);
}
if ($zone.next('.oe_drop_zone:visible').length === 0) {
$drop = zone_template.clone();
$drop = zoneTemplate.clone();
if (float === 'left' || float === 'right' || (parentDisplay === 'flex' && parentFlex === 'row')) {
$drop.css('float', float);
if (!isFullWidth($zone)) {
@@ -918,15 +924,15 @@ var SnippetsMenu = Widget.extend({
zone.remove();
return;
}
var float_prev = prev.css('float') || 'none';
var float_next = next.css('float') || 'none';
var disp_prev = prev.css('display') || null;
var disp_next = next.css('display') || null;
if ((float_prev === 'left' || float_prev === 'right')
&& (float_next === 'left' || float_next === 'right')) {
var floatPrev = prev.css('float') || 'none';
var floatNext = next.css('float') || 'none';
var dispPrev = prev.css('display') || null;
var dispNext = next.css('display') || null;
if ((floatPrev === 'left' || floatPrev === 'right')
&& (floatNext === 'left' || floatNext === 'right')) {
zone.remove();
} else if (disp_prev !== null && disp_next !== null
&& disp_prev.indexOf('inline') >= 0 && disp_next.indexOf('inline') >= 0) {
} else if (dispPrev !== null && dispNext !== null
&& dispPrev.indexOf('inline') >= 0 && dispNext.indexOf('inline') >= 0) {
zone.remove();
}
});
@@ -1040,7 +1046,7 @@ var SnippetsMenu = Widget.extend({
* considered (@see noCheck), this is true if the DOM elements'
* parent must also be in an editable environment to be considered.
*/
_computeSelectorFunctions : function (include, exclude, target, noCheck, isChildren) {
_computeSelectorFunctions: function (include, exclude, target, noCheck, isChildren) {
var self = this;
// Convert the selector for elements to include into a list
@@ -1064,7 +1070,7 @@ var SnippetsMenu = Widget.extend({
}
// (Re)join the subselectors
var selector =_.map(selectorList, function (s) {
var selector = _.map(selectorList, function (s) {
return s + selectorConditions;
}).join(', ');
@@ -1087,7 +1093,7 @@ var SnippetsMenu = Widget.extend({
return $from.closest(selector, parentNode).filter(function () {
var node = this;
while (node.parentNode) {
if (parents.indexOf(node)!==-1) {
if (parents.indexOf(node) !== -1) {
return true;
}
node = node.parentNode;
@@ -1131,9 +1137,9 @@ var SnippetsMenu = Widget.extend({
var exclude = $style.data('exclude') || '';
var target = $style.data('target');
var noCheck = $style.data('no-check');
var option_id = $style.data('js');
var optionID = $style.data('js');
var option = {
'option': option_id,
'option': optionID,
'base_selector': selector,
'base_exclude': exclude,
'base_target': target,
@@ -1151,7 +1157,7 @@ var SnippetsMenu = Widget.extend({
globalSelector.closest = function ($from) {
var $temp;
var $target;
for (var i = 0, len = selectors.length ; i < len ; i++) {
for (var i = 0, len = selectors.length; i < len; i++) {
$temp = selectors[i].closest($from, $target && $target[0]);
if ($temp.length) {
$target = $temp;
@@ -1161,13 +1167,13 @@ var SnippetsMenu = Widget.extend({
};
globalSelector.all = function ($from) {
var $target = $();
for (var i = 0, len = selectors.length ; i < len ; i++) {
for (var i = 0, len = selectors.length; i < len; i++) {
$target = $target.add(selectors[i].all($from));
}
return $target;
};
globalSelector.is = function ($from) {
for (var i = 0, len = selectors.length ; i < len ; i++) {
for (var i = 0, len = selectors.length; i < len; i++) {
if (selectors[i].is($from)) {
return true;
}
@@ -1197,9 +1203,9 @@ var SnippetsMenu = Widget.extend({
return; // Compatibility with elements which do not use 't-snippet'
}
var $thumbnail = $(_.str.sprintf(
'<div class="oe_snippet_thumbnail">'+
'<div class="oe_snippet_thumbnail_img" style="background-image: url(%s);"/>'+
'<span class="oe_snippet_thumbnail_title">%s</span>'+
'<div class="oe_snippet_thumbnail">' +
'<div class="oe_snippet_thumbnail_img" style="background-image: url(%s);"/>' +
'<span class="oe_snippet_thumbnail_title">%s</span>' +
'</div>',
$snippet.find('[data-oe-thumbnail]').data('oeThumbnail'),
name
@@ -1231,7 +1237,7 @@ var SnippetsMenu = Widget.extend({
// Remove branding from template
_.each($html.find('[data-oe-model], [data-oe-type]'), function (el) {
for (var k = 0 ; k < el.attributes.length ; k++) {
for (var k = 0; k < el.attributes.length; k++) {
if (el.attributes[k].name.indexOf('data-oe-') === 0) {
$(el).removeAttr(el.attributes[k].name);
k--;
@@ -1296,11 +1302,13 @@ var SnippetsMenu = Widget.extend({
var cache = {};
this.$snippets.each(function () {
var $snippet = $(this);
var $snippet_body = $snippet.find('.oe_snippet_body');
var $snippetBody = $snippet.find('.oe_snippet_body');
var check = false;
_.each(self.templateOptions, function (option, k) {
if (check || !($snippet_body.is(option.base_selector) && !$snippet_body.is(option.base_exclude))) return;
if (check || !($snippetBody.is(option.base_selector) && !$snippetBody.is(option.base_exclude))) {
return;
}
cache[k] = cache[k] || {
'drop-near': option['drop-near'] ? option['drop-near'].all().length : 0,
@@ -1321,8 +1329,8 @@ var SnippetsMenu = Widget.extend({
_makeSnippetDraggable: function ($snippets) {
var self = this;
var $tumb = $snippets.find('.oe_snippet_thumbnail_img:first');
var left = $tumb.outerWidth()/2;
var top = $tumb.outerHeight()/2;
var left = $tumb.outerWidth() / 2;
var top = $tumb.outerHeight() / 2;
var $toInsert, dropped, $snippet;
$snippets.draggable({
@@ -1339,12 +1347,12 @@ var SnippetsMenu = Widget.extend({
start: function () {
dropped = false;
$snippet = $(this);
var $base_body = $snippet.find('.oe_snippet_body');
var $baseBody = $snippet.find('.oe_snippet_body');
var $selectorSiblings = $();
var $selectorChildren = $();
var temp = self.templateOptions;
for (var k in temp) {
if ($base_body.is(temp[k].base_selector) && !$base_body.is(temp[k].base_exclude)) {
if ($baseBody.is(temp[k].base_selector) && !$baseBody.is(temp[k].base_exclude)) {
if (temp[k]['drop-near']) {
$selectorSiblings = $selectorSiblings.add(temp[k]['drop-near'].all());
}
@@ -1354,7 +1362,7 @@ var SnippetsMenu = Widget.extend({
}
}
$toInsert = $base_body.clone().data('name', $base_body.data('name'));
$toInsert = $baseBody.clone().data('name', $baseBody.data('name'));
if (!$selectorSiblings.length && !$selectorChildren.length) {
console.warn($snippet.find('.oe_snippet_thumbnail_title').text() + " have not insert action: data-drop-near or data-drop-in");
@@ -65,7 +65,7 @@ var SnippetOption = Widget.extend({
*
* @abstract
*/
onFocus : function () {},
onFocus: function () {},
/**
* Called when the parent edition overlay is covering the associated snippet
* for the first time, when it is a new snippet dropped from the d&d snippet
@@ -80,7 +80,7 @@ var SnippetOption = Widget.extend({
*
* @abstract
*/
onBlur : function () {},
onBlur: function () {},
/**
* Called when the associated snippet is the result of the cloning of
* another snippet (so `this.$target` is a cloned element).
@@ -257,16 +257,16 @@ var SnippetOption = Widget.extend({
} while (this.$el.parent().has(el).length);
// Call the found method in the right order (parents -> child)
_.each(methods.reverse(), function (data) {
methods.reverse().forEach(data => {
var $el = $(data[0]);
var methods = data[1];
_.each(methods, function (value, methodName) {
if (self[methodName]) {
Object.keys(methods).forEach(methodName => {
if (this[methodName]) {
if (previewMode === true) {
self.__methodNames.push(methodName);
this.__methodNames.push(methodName);
}
self[methodName](previewMode, value, $el);
this[methodName](previewMode, methods[methodName], $el);
}
});
});
@@ -463,22 +463,22 @@ registry.sizing = SnippetOption.extend({
$body.addClass(cursor);
var xy = ev['page' + XY];
var body_mousemove = function (ev) {
var bodyMouseMove = function (ev) {
ev.preventDefault();
var dd = ev['page' + XY] - xy + resize[1][begin];
var next = current + (current+1 === resize[1].length ? 0 : 1);
var prev = current ? (current-1) : 0;
var next = current + (current + 1 === resize[1].length ? 0 : 1);
var prev = current ? (current - 1) : 0;
var change = false;
if (dd > (2*resize[1][next] + resize[1][current])/3) {
self.$target.attr('class', (self.$target.attr('class')||'').replace(regClass, ''));
if (dd > (2 * resize[1][next] + resize[1][current]) / 3) {
self.$target.attr('class', (self.$target.attr('class') || '').replace(regClass, ''));
self.$target.addClass(resize[0][next]);
current = next;
change = true;
}
if (prev !== current && dd < (2*resize[1][prev] + resize[1][current])/3) {
self.$target.attr('class', (self.$target.attr('class')||'').replace(regClass, ''));
if (prev !== current && dd < (2 * resize[1][prev] + resize[1][current]) / 3) {
self.$target.attr('class', (self.$target.attr('class') || '').replace(regClass, ''));
self.$target.addClass(resize[0][prev]);
current = prev;
change = true;
@@ -490,9 +490,9 @@ registry.sizing = SnippetOption.extend({
$handle.addClass('o_active');
}
};
var body_mouseup = function () {
$body.off('mousemove', body_mousemove);
$body.off('mouseup', body_mouseup);
var bodyMouseUp = function () {
$body.off('mousemove', bodyMouseMove);
$body.off('mouseup', bodyMouseUp);
$body.removeClass(cursor);
$handle.removeClass('o_active');
@@ -512,8 +512,8 @@ registry.sizing = SnippetOption.extend({
});
}, 0);
};
$body.on('mousemove', body_mousemove);
$body.on('mouseup', body_mouseup);
$body.on('mousemove', bodyMouseMove);
$body.on('mouseup', bodyMouseUp);
});
return def;
@@ -607,7 +607,7 @@ registry.sizing = SnippetOption.extend({
/**
* Handles the edition of padding-top and padding-bottom.
*/
registry.sizing_y = registry.sizing.extend({
registry['sizing_y'] = registry.sizing.extend({
//--------------------------------------------------------------------------
// Private
@@ -629,13 +629,13 @@ registry.sizing_y = registry.sizing.extend({
}
var grid = [];
for (var i = 0 ; i <= 256/8 ; i++) {
for (var i = 0; i <= (256 / 8); i++) {
grid.push(i * 8);
}
grid.splice(1, 0, 4);
this.grid = {
n: [_.map(grid, function (v) { return nClass + v; }), grid, nProp],
s: [_.map(grid, function (v) { return sClass + v; }), grid, sProp],
n: [grid.map(v => nClass + v), grid, nProp],
s: [grid.map(v => sClass + v), grid, sProp],
};
return this.grid;
},
@@ -851,10 +851,10 @@ registry.background = SnippetOption.extend({
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'),
'onlyImages': true,
'firstFilters': ['background'],
'res_model': $editable.data('oe-model'),
'res_id': $editable.data('oe-id'),
}, $image[0]).open();
_editor.on('save', this, function () {
@@ -881,7 +881,9 @@ registry.background = SnippetOption.extend({
this.$target.off('.background-option')
.on('background-color-event.background-option', (function (e, previewMode) {
e.stopPropagation();
if (e.currentTarget !== e.target) return;
if (e.currentTarget !== e.target) {
return;
}
if (previewMode === false) {
this.__customImageSrc = undefined;
}
@@ -952,7 +954,7 @@ registry.background = SnippetOption.extend({
/**
* Handles the edition of snippet's background image position.
*/
registry.background_position = SnippetOption.extend({
registry['background_position'] = SnippetOption.extend({
xmlDependencies: ['/web_editor/static/src/xml/editor.xml'],
/**
@@ -984,10 +986,10 @@ registry.background_position = SnippetOption.extend({
backgroundPosition: function (previewMode, value, $opt) {
var self = this;
this.previous_state = [this.$target.attr('class'), this.$target.css('background-size'), this.$target.css('background-position')];
this.previousState = [this.$target.attr('class'), this.$target.css('background-size'), this.$target.css('background-position')];
this.bg_pos = self.$target.css('background-position').split(' ');
this.bg_siz = self.$target.css('background-size').split(' ');
this.bgPos = self.$target.css('background-position').split(' ');
this.bgSize = self.$target.css('background-size').split(' ');
this.modal = new Dialog(null, {
title: _t("Background Image Sizing"),
@@ -1000,7 +1002,7 @@ registry.background_position = SnippetOption.extend({
this.modal.opened().then(function () {
// Fetch data form $target
var value = ((self.$target.hasClass('o_bg_img_opt_contain'))? 'contain' : ((self.$target.hasClass('o_bg_img_opt_custom'))? 'custom' : 'cover'));
var value = ((self.$target.hasClass('o_bg_img_opt_contain')) ? 'contain' : ((self.$target.hasClass('o_bg_img_opt_custom')) ? 'custom' : 'cover'));
self.modal.$('> label > input[value=' + value + ']').prop('checked', true);
if (self.$target.hasClass('o_bg_img_opt_repeat')) {
@@ -1012,26 +1014,26 @@ registry.background_position = SnippetOption.extend({
self.modal.$('#o_bg_img_opt_custom_repeat').val('o_bg_img_opt_repeat_y');
}
if (self.bg_pos.length > 1) {
self.bg_pos = {
x: self.bg_pos[0],
y: self.bg_pos[1],
if (self.bgPos.length > 1) {
self.bgPos = {
x: self.bgPos[0],
y: self.bgPos[1],
};
self.modal.$('#o_bg_img_opt_custom_pos_x').val(self.bg_pos.x.replace('%', ''));
self.modal.$('#o_bg_img_opt_custom_pos_y').val(self.bg_pos.y.replace('%', ''));
self.modal.$('#o_bg_img_opt_custom_pos_x').val(self.bgPos.x.replace('%', ''));
self.modal.$('#o_bg_img_opt_custom_pos_y').val(self.bgPos.y.replace('%', ''));
}
if (self.bg_siz.length > 1) {
self.modal.$('#o_bg_img_opt_custom_size_x').val(self.bg_siz[0].replace('%', ''));
self.modal.$('#o_bg_img_opt_custom_size_y').val(self.bg_siz[1].replace('%', ''));
if (self.bgSize.length > 1) {
self.modal.$('#o_bg_img_opt_custom_size_x').val(self.bgSize[0].replace('%', ''));
self.modal.$('#o_bg_img_opt_custom_size_y').val(self.bgSize[1].replace('%', ''));
}
// Focus Point
self.$focus = self.modal.$('.o_focus_point');
self.$focus = self.modal.$('.o_focus_point');
self._updatePosInformation();
var img_url = /\(['"]?([^'"]+)['"]?\)/g.exec(self.$target.css('background-image'));
img_url = (img_url && img_url[1]) || '';
var $img = $('<img/>', {class: 'img img-fluid', src: img_url});
var imgURL = /\(['"]?([^'"]+)['"]?\)/g.exec(self.$target.css('background-image'));
imgURL = (imgURL && imgURL[1]) || '';
var $img = $('<img/>', {class: 'img img-fluid', src: imgURL});
$img.on('load', function () {
self._bindImageEvents($img);
});
@@ -1085,9 +1087,9 @@ registry.background_position = SnippetOption.extend({
function _update(e) {
var posX = e.pageX - $(e.target).offset().left;
var posY = e.pageY - $(e.target).offset().top;
self.bg_pos = {
x: clipValue(posX/$img.width()*100).toFixed(2) + '%',
y: clipValue(posY/$img.height()*100).toFixed(2) + '%',
self.bgPos = {
x: clipValue(posX / $img.width() * 100).toFixed(2) + '%',
y: clipValue(posY / $img.height() * 100).toFixed(2) + '%',
};
self._updatePosInformation();
self._saveChanges();
@@ -1116,10 +1118,10 @@ registry.background_position = SnippetOption.extend({
*/
_discardChanges: function () {
this._clean();
if (this.previous_state) {
this.$target.addClass(this.previous_state[0]).css({
'background-size': this.previous_state[1],
'background-position': this.previous_state[2],
if (this.previousState) {
this.$target.addClass(this.previousState[0]).css({
'background-size': this.previousState[1],
'background-position': this.previousState[2],
});
}
},
@@ -1129,11 +1131,11 @@ registry.background_position = SnippetOption.extend({
* @private
*/
_updatePosInformation: function () {
this.modal.$('.o_bg_img_opt_ui_info .o_x').text(this.bg_pos.x);
this.modal.$('.o_bg_img_opt_ui_info .o_y').text(this.bg_pos.y);
this.modal.$('.o_bg_img_opt_ui_info .o_x').text(this.bgPos.x);
this.modal.$('.o_bg_img_opt_ui_info .o_y').text(this.bgPos.y);
this.$focus.css({
left: this.bg_pos.x,
top: this.bg_pos.y,
left: this.bgPos.x,
top: this.bgPos.y,
});
},
/**
@@ -1144,10 +1146,10 @@ registry.background_position = SnippetOption.extend({
_saveChanges: function () {
this._clean();
var bg_img_size = this.modal.$('> :not(label):not(.o_hidden)').data('value') || 'cover';
switch (bg_img_size) {
var bgImgSize = this.modal.$('> :not(label):not(.o_hidden)').data('value') || 'cover';
switch (bgImgSize) {
case 'cover':
this.$target.css('background-position', this.bg_pos.x + ' ' + this.bg_pos.y);
this.$target.css('background-position', this.bgPos.x + ' ' + this.bgPos.y);
break;
case 'contain':
this.$target.addClass('o_bg_img_opt_contain');
@@ -1161,8 +1163,8 @@ registry.background_position = SnippetOption.extend({
var posY = this.modal.$('#o_bg_img_opt_custom_pos_y').val();
this.$target.addClass(this.modal.$('#o_bg_img_opt_custom_repeat').val())
.css({
'background-size': ((sizeX)? sizeX + '%' : 'auto') + ' ' + ((sizeY)? sizeY + '%' : 'auto'),
'background-position': ((posX)? posX + '%' : 'auto') + ' ' + ((posY)? posY + '%' : 'auto'),
'background-size': (sizeX ? sizeX + '%' : 'auto') + ' ' + (sizeY ? sizeY + '%' : 'auto'),
'background-position': (posX ? posX + '%' : 'auto') + ' ' + (posY ? posY + '%' : 'auto'),
});
break;
}
@@ -1288,7 +1290,7 @@ registry.many2one = SnippetOption.extend({
},
}).then(function (result) {
self.$search.siblings().remove();
self.$search.after(qweb.render('web_editor.many2one.search',{contacts:result}));
self.$search.after(qweb.render('web_editor.many2one.search', {contacts: result}));
});
},
/**
@@ -1308,10 +1310,10 @@ registry.many2one = SnippetOption.extend({
if (self.$target.data('oe-type') === 'contact') {
$('[data-oe-contact-options]')
.filter('[data-oe-model="'+self.$target.data('oe-model')+'"]')
.filter('[data-oe-id="'+self.$target.data('oe-id')+'"]')
.filter('[data-oe-field="'+self.$target.data('oe-field')+'"]')
.filter('[data-oe-contact-options!="'+self.$target.data('oe-contact-options')+'"]')
.filter('[data-oe-model="' + self.$target.data('oe-model') + '"]')
.filter('[data-oe-id="' + self.$target.data('oe-id') + '"]')
.filter('[data-oe-field="' + self.$target.data('oe-field') + '"]')
.filter('[data-oe-contact-options!="' + self.$target.data('oe-contact-options') + '"]')
.add(self.$target)
.attr('data-oe-many2one-id', self.ID).data('oe-many2one-id', self.ID)
.each(function () {