diff options
| author | Vandan Shah <vas@odoo.com> | 2018-05-11 07:01:55 +0000 |
|---|---|---|
| committer | Yannick Tivisse <yti@odoo.com> | 2019-02-19 11:01:40 +0000 |
| commit | d09ecc8b182f93a1fd6cd5a67b327a1ab3bc4f99 (patch) | |
| tree | 65d625e5e9d9631126dbb53735257b6818a40c4f | |
| parent | f5c269db121323d6fcc6d58b0ef335ca3be24db1 (diff) | |
[IMP] web: improve kanban tooltip
1) Remove the total record tooltip from kanban group.
2) Remove progressbar help from kanban view.
3) Improvements in testcase since we have removed total record tooltip.
4 files changed, 13 insertions, 24 deletions
diff --git a/addons/web/static/src/js/views/kanban/kanban_column.js b/addons/web/static/src/js/views/kanban/kanban_column.js index b526b80a971..2828ca491ca 100644 --- a/addons/web/static/src/js/views/kanban/kanban_column.js +++ b/addons/web/static/src/js/views/kanban/kanban_column.js @@ -81,11 +81,11 @@ var KanbanColumn = Widget.extend({ } if (options.group_by_tooltip) { - this.tooltipInfo = _.map(options.group_by_tooltip, function (help, field) { - return (data.tooltipData && data.tooltipData[field] && "<div>" + help + "<br>" + data.tooltipData[field] + "</div>") || ''; - }).join(''); - } else { - this.tooltipInfo = ""; + this.tooltipInfo = _.compact(_.map(options.group_by_tooltip, function (help, field) { + help = help ? help + "</br>" : ''; + return (data.tooltipData && data.tooltipData[field] && "<div>" + help + data.tooltipData[field] + "</div>") || ''; + })); + this.tooltipInfo = this.tooltipInfo.join("<div class='dropdown-divider' role='separator' />"); } }, /** @@ -102,7 +102,6 @@ var KanbanColumn = Widget.extend({ defs.push(def); } } - this.$header.find('.o_kanban_header_title').tooltip(); if (!config.device.isMobile) { // deactivate sortable in mobile mode. It does not work anyway, @@ -162,9 +161,9 @@ var KanbanColumn = Widget.extend({ this.$header.find('.o_column_title').text(title); this.$el.toggleClass('o_column_folded', this.folded && !config.device.isMobile); - var tooltip = this.data.count + _t(' records'); - tooltip = '<p>' + tooltip + '</p>' + this.tooltipInfo; - this.$header.find('.o_kanban_header_title').tooltip({}).attr('data-original-title', tooltip); + if (this.tooltipInfo) { + this.$header.find('.o_kanban_header_title').tooltip({}).attr('data-original-title', this.tooltipInfo); + } if (!this.remaining) { this.$('.o_kanban_load_more').remove(); } else { diff --git a/addons/web/static/src/js/views/kanban/kanban_column_progressbar.js b/addons/web/static/src/js/views/kanban/kanban_column_progressbar.js index 59f09bc9bb6..0c484931aae 100644 --- a/addons/web/static/src/js/views/kanban/kanban_column_progressbar.js +++ b/addons/web/static/src/js/views/kanban/kanban_column_progressbar.js @@ -30,7 +30,6 @@ var KanbanColumnProgressBar = Widget.extend({ this.fieldName = columnState.progressBarValues.field; this.colors = columnState.progressBarValues.colors; this.sumField = columnState.progressBarValues.sum_field; - this.progressBarHelp = columnState.progressBarValues.help; // Previous progressBar state var state = options.progressBarStates[this.columnID]; @@ -131,13 +130,6 @@ var KanbanColumnProgressBar = Widget.extend({ } }, }); - if (this.progressBarHelp && _.every(this.subgroupCounts, function (val) { return val === 0; })) { - this.$el.tooltip({ - delay: 0, - trigger: 'hover', - title: this.progressBarHelp, - }); - } // Display and animate the progress bars var barNumber = 0; diff --git a/addons/web/static/src/xml/kanban.xml b/addons/web/static/src/xml/kanban.xml index 8a9ac5fdb7d..0908d052980 100644 --- a/addons/web/static/src/xml/kanban.xml +++ b/addons/web/static/src/xml/kanban.xml @@ -12,7 +12,7 @@ <div t-attf-class="o_kanban_group#{widget.data_records.length == 0 ? ' o_kanban_no_records' : ''}" t-att-data-id="widget.id or widget.db_id" role="feed" t-attf-aria-labelledby="kanban_header_#{widget.id or widget.db_id}"> <div class="o_kanban_header"> - <div class="o_kanban_header_title" t-att-title="widget.data_records.length + ' records'" data-delay="500"> + <div class="o_kanban_header_title"> <span t-attf-id="#kanban_header_#{widget.id or widget.db_id}" class="o_column_title"><t t-esc="widget.title"/></span> <span class="o_column_unfold"><i class="fa fa-arrows-h" role="img" aria-label="Unfold" title="Unfold"/></span> <span class="o_kanban_config dropdown"> diff --git a/addons/web/static/tests/views/kanban_tests.js b/addons/web/static/tests/views/kanban_tests.js index 7aefee4db0d..bb2231a025d 100644 --- a/addons/web/static/tests/views/kanban_tests.js +++ b/addons/web/static/tests/views/kanban_tests.js @@ -4246,15 +4246,13 @@ QUnit.module('Views', { "column should contain 1 record(s)"); assert.ok(kanban.$('.o_kanban_group:first span.o_column_title:contains(Undefined)').length, "first column should have a default title for when no value is provided"); - assert.strictEqual(kanban.$('.o_kanban_group:first .o_kanban_header_title').data('original-title'), - "<p>1 records</p>", - "first column should have a tooltip with the number of records, but not" + - "the group_by_tooltip title and the many2one field value since it has no value"); + assert.ok(!kanban.$('.o_kanban_group:first .o_kanban_header_title').data('original-title'), + "tooltip of first column should not defined, since group_by_tooltip title and the many2one field has no value"); assert.ok(kanban.$('.o_kanban_group:eq(1) span.o_column_title:contains(hello)').length, "second column should have a title with a value from the many2one"); assert.strictEqual(kanban.$('.o_kanban_group:eq(1) .o_kanban_header_title').data('original-title'), - "<p>2 records</p><div>Kikou<br>hello</div>", - "second column should have a tooltip with the number of records, the group_by_tooltip title and many2one field value"); + "<div>Kikou</br>hello</div>", + "second column should have a tooltip with the group_by_tooltip title and many2one field value"); kanban.destroy(); }); |
