[REM] web: remove two unused field widgets

closes odoo/odoo#101351

X-original-commit: 577e9898029b84a70c85f2eefa68d02e265dd4fd
Signed-off-by: Géry Debongnie <ged@odoo.com>
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
This commit is contained in:
Aaron Bohy
2022-09-27 22:03:00 +02:00
parent 71c6eb1134
commit a076fc14e2
4 changed files with 0 additions and 162 deletions
@@ -739,46 +739,6 @@ var FieldChar = InputField.extend(TranslatableFieldMixin, DynamicPlaceholderFiel
},
});
var LinkButton = AbstractField.extend({
events: _.extend({}, AbstractField.prototype.events, {
'click': '_onClick'
}),
//--------------------------------------------------------------------------
// Private
//--------------------------------------------------------------------------
/**
* Display button
* @override
* @private
*/
_render: function () {
if (this.value) {
var className = this.attrs.icon || 'fa-globe';
this.$el.html("<span role='img'/>");
this.$el.addClass("fa "+ className);
this.$el.attr('title', this.value);
this.$el.attr('aria-label', this.value);
}
},
//--------------------------------------------------------------------------
// Handlers
//--------------------------------------------------------------------------
/**
* Open link button
*
* @private
* @param {MouseEvent} event
*/
_onClick: function (event) {
event.stopPropagation();
window.open(this.value, '_blank');
},
});
var FieldDateRange = InputField.extend({
className: 'o_field_date_range',
tagName: 'span',
@@ -4348,7 +4308,6 @@ return {
FieldBoolean: FieldBoolean,
BooleanToggle: BooleanToggle,
FieldChar: FieldChar,
LinkButton: LinkButton,
FieldDate: FieldDate,
FieldDateTime: FieldDateTime,
FieldDateRange: FieldDateRange,
@@ -36,7 +36,6 @@ registry
.add('html', basic_fields.FieldText)
.add('float', basic_fields.FieldFloat)
.add('char', basic_fields.FieldChar)
.add('link_button', basic_fields.LinkButton)
.add('handle', basic_fields.HandleWidget)
.add('email', basic_fields.FieldEmail)
.add('phone', basic_fields.FieldPhone)
@@ -102,6 +101,5 @@ registry
// Special fields
registry
.add('timezone_mismatch', special_fields.FieldTimezoneMismatch)
.add('report_layout', special_fields.FieldReportLayout)
.add('iframe_wrapper', special_fields.IframeWrapper)
});
@@ -132,73 +132,6 @@ var FieldTimezoneMismatch = FieldSelection.extend({
},
});
var FieldReportLayout = relational_fields.FieldMany2One.extend({
// this widget is not generic, so we disable its studio use
// supportedFieldTypes: ['many2one', 'selection'],
events: _.extend({}, relational_fields.FieldMany2One.prototype.events, {
'click img': '_onImgClicked',
}),
willStart: function () {
var self = this;
this.previews = {};
return this._super()
.then(function () {
return self._rpc({
model: 'report.layout',
method: "search_read"
}).then(function (values) {
self.previews = values;
});
});
},
//--------------------------------------------------------------------------
// Private
//--------------------------------------------------------------------------
/**
* @override
* @private
*/
_render: function () {
var self = this;
this.$el.empty();
var value = _.isObject(this.value) ? this.value.data.id : this.value;
_.each(this.previews, function (val) {
var $container = $('<div>').addClass('col-3 text-center');
var $img = $('<img>')
.addClass('img img-fluid img-thumbnail ml16')
.toggleClass('btn-info', val.view_id[0] === value)
.attr('src', val.image)
.data('key', val.view_id[0]);
$container.append($img);
if (val.pdf) {
var $previewLink = $('<a>')
.text('Example')
.attr('href', val.pdf)
.attr('target', '_blank');
$container.append($previewLink);
}
self.$el.append($container);
});
},
//--------------------------------------------------------------------------
// Handlers
//--------------------------------------------------------------------------
/**
* @override
* @private
* @param {MouseEvent} event
*/
_onImgClicked: function (event) {
this._setValue($(event.currentTarget).data('key'));
},
});
const IframeWrapper = AbstractField.extend({
description: _lt("Wrap raw html within an iframe"),
@@ -260,7 +193,6 @@ const IframeWrapper = AbstractField.extend({
return {
FieldTimezoneMismatch: FieldTimezoneMismatch,
FieldReportLayout: FieldReportLayout,
IframeWrapper,
};
@@ -258,57 +258,6 @@ QUnit.module('special_fields', {
form.destroy();
});
QUnit.module('FieldReportLayout');
QUnit.test('report_layout widget in form view', async function (assert) {
assert.expect(3);
this.data['report.layout'] = {
fields: {
view_id: {string: "Document Template", type: "many2one", relation: "product"},
image: {string: "Preview image src", type: "char"},
pdf: {string: "Preview pdf src", type: "char"}
},
records: [{
id: 1,
view_id: 37,
image: "/web/static/toto.png",
pdf: "/web/static/toto.pdf",
}, {
id: 2,
view_id: 41,
image: "/web/static/tata.png",
pdf: "/web/static/tata.pdf",
}],
};
this.data.partner.records[1].product_id = false;
var form = await createView({
View: FormView,
model: 'partner',
data: this.data,
arch: '<form>' +
'<field name="product_id" widget="report_layout"/> '+
'</form>',
res_id: 2,
viewOptions: {
mode: 'edit',
},
});
assert.strictEqual(form.$('.img.img-fluid').length, 2,
"Two images should be rendered");
assert.strictEqual(form.$('.img.btn-info').length, 0,
"No image should be selected");
// select first image
await testUtils.dom.click(form.$(".img.img-fluid:first"));
assert.ok(form.$(".img.img-fluid:first").hasClass('btn-info'),
"First image should be selected");
form.destroy();
});
QUnit.module('IframeWrapper');
QUnit.test('iframe_wrapper widget in form view', async function (assert) {