diff --git a/addons/web/static/src/js/fields/field_registry.js b/addons/web/static/src/js/fields/field_registry.js index 1de315eda30..942e6fc094a 100644 --- a/addons/web/static/src/js/fields/field_registry.js +++ b/addons/web/static/src/js/fields/field_registry.js @@ -74,6 +74,7 @@ registry .add('many2many', relational_fields.FieldMany2Many) .add('many2many_binary', relational_fields.FieldMany2ManyBinaryMultiFiles) .add('many2many_tags', relational_fields.FieldMany2ManyTags) + .add('many2many_tags_avatar', relational_fields.FieldMany2ManyTagsAvatar) .add('form.many2many_tags', relational_fields.FormFieldMany2ManyTags) .add('kanban.many2many_tags', relational_fields.KanbanFieldMany2ManyTags) .add('many2many_checkboxes', relational_fields.FieldMany2ManyCheckBoxes) diff --git a/addons/web/static/src/js/fields/relational_fields.js b/addons/web/static/src/js/fields/relational_fields.js index fed94598046..d486838d3f5 100644 --- a/addons/web/static/src/js/fields/relational_fields.js +++ b/addons/web/static/src/js/fields/relational_fields.js @@ -2209,6 +2209,26 @@ var FieldMany2ManyTags = AbstractField.extend({ }, }); +var FieldMany2ManyTagsAvatar = FieldMany2ManyTags.extend({ + tag_template: 'FieldMany2ManyTagAvatar', + className: 'o_field_many2manytags avatar', + + //-------------------------------------------------------------------------- + // Private + //-------------------------------------------------------------------------- + + /** + * @override + * @private + */ + _getRenderTagsContext: function () { + var result = this._super.apply(this, arguments); + result.avatarModel = this.nodeOptions.avatarModel || this.field.relation; + result.avatarField = this.nodeOptions.avatarField || 'image'; + return result; + }, +}); + var FormFieldMany2ManyTags = FieldMany2ManyTags.extend({ events: _.extend({}, FieldMany2ManyTags.prototype.events, { 'click .dropdown-toggle': '_onOpenColorPicker', @@ -2972,6 +2992,7 @@ return { FieldMany2ManyBinaryMultiFiles: FieldMany2ManyBinaryMultiFiles, FieldMany2ManyCheckBoxes: FieldMany2ManyCheckBoxes, FieldMany2ManyTags: FieldMany2ManyTags, + FieldMany2ManyTagsAvatar: FieldMany2ManyTagsAvatar, FormFieldMany2ManyTags: FormFieldMany2ManyTags, KanbanFieldMany2ManyTags: KanbanFieldMany2ManyTags, diff --git a/addons/web/static/src/scss/fields.scss b/addons/web/static/src/scss/fields.scss index d7c332d5369..242e17cc9ae 100644 --- a/addons/web/static/src/scss/fields.scss +++ b/addons/web/static/src/scss/fields.scss @@ -190,6 +190,24 @@ color: #FF0000; } } + // Many2many tags avatar + &.avatar { + .badge { + padding-left: 4px; + img { + height: 18px; + width: 18px; + } + &.o_tag_color_0 { + background-color: #F1F1F1; + box-shadow: none; + border: 1px solid gray('300'); + } + .o_delete { + margin-top: 3px; + } + } + } } // Stars diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index c075c912784..c342c24441f 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -741,6 +741,11 @@ + + + + +