summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/fields/relational_fields.js
diff options
context:
space:
mode:
authorqsm-odoo <qsm@odoo.com>2018-08-27 11:01:30 +0530
committerqsm-odoo <qsm@odoo.com>2018-08-27 17:12:56 +0200
commitd5786447567b05e85edd43dbefe8e82f22dc2129 (patch)
treeb5f5e45eb5aa58c42967f1ade50714dcb77aeb02 /addons/web/static/src/js/fields/relational_fields.js
parent8ba517bfa8cce4e3f6f72ea68b24e23cdc5eb095 (diff)
[FIX] web, *: use correct DOM for m2m tags
* mail, calendar - Fix traceback when clicking on a tag without color field (introduced in recent changes) - Properly allow to delete tags on firefox (a button obviously cannot contain another button) Closes https://github.com/odoo/odoo/pull/26547 Thanks to @hbh-odoo
Diffstat (limited to 'addons/web/static/src/js/fields/relational_fields.js')
-rw-r--r--addons/web/static/src/js/fields/relational_fields.js12
1 files changed, 7 insertions, 5 deletions
diff --git a/addons/web/static/src/js/fields/relational_fields.js b/addons/web/static/src/js/fields/relational_fields.js
index 7683cd6db94..9f958ec57e0 100644
--- a/addons/web/static/src/js/fields/relational_fields.js
+++ b/addons/web/static/src/js/fields/relational_fields.js
@@ -1841,6 +1841,7 @@ var FieldMany2ManyTags = AbstractField.extend({
* @param {MouseEvent} event
*/
_onDeleteTag: function (event) {
+ event.preventDefault();
event.stopPropagation();
this._removeTag($(event.target).parent().data('id'));
},
@@ -1886,7 +1887,7 @@ var FieldMany2ManyTags = AbstractField.extend({
var FormFieldMany2ManyTags = FieldMany2ManyTags.extend({
events: _.extend({}, FieldMany2ManyTags.prototype.events, {
- 'click .badge': '_onOpenColorPicker',
+ 'click .dropdown-toggle': '_onOpenColorPicker',
'mousedown .o_colorpicker a': '_onUpdateColor',
'mousedown .o_colorpicker .o_hide_in_kanban': '_onUpdateColor',
'focusout .o_colorpicker': '_onCloseColorPicker',
@@ -1907,8 +1908,9 @@ var FormFieldMany2ManyTags = FieldMany2ManyTags.extend({
* @param {MouseEvent} ev
*/
_onOpenColorPicker: function (ev) {
- var tagID = $(ev.currentTarget).data('id');
- var tagColor = $(ev.currentTarget).data('color');
+ ev.preventDefault();
+ var tagID = $(ev.currentTarget).parent().data('id');
+ var tagColor = $(ev.currentTarget).parent().data('color');
var tag = _.findWhere(this.value.data, { res_id: tagID });
if (tag && this.colorField in tag.data) { // if there is a color field on the related model
this.$color_picker = $(qweb.render('FieldMany2ManyTag.colorpicker', {
@@ -1937,8 +1939,8 @@ var FormFieldMany2ManyTags = FieldMany2ManyTags.extend({
var $target = $(ev.currentTarget);
var color = $target.data('color');
var id = $target.data('id');
- var tag = this.$("button.badge[data-id='" + id + "']");
- var currentColor = tag.data('color');
+ var $tag = this.$(".badge[data-id='" + id + "']");
+ var currentColor = $tag.data('color');
var changes = {};
if ($target.is('.o_hide_in_kanban')) {