summaryrefslogtreecommitdiff
path: root/addons/web/static/src
diff options
context:
space:
mode:
authorMathieu Duckerts-Antoine <dam@odoo.com>2018-10-15 08:15:05 +0000
committerMathieu Duckerts-Antoine <dam@odoo.com>2018-10-17 13:01:56 +0000
commit7fb7522cfef23ef68d45db1415eaf99f9ce6cde0 (patch)
tree45bc076196e568dca4c43839a47c225a02792029 /addons/web/static/src
parentfd27ef17653f225c955d487952f78568d65798ea (diff)
[FIX] web: JournalDashboardGraph widgets appear at kanban views updates
closes odoo/odoo#27892
Diffstat (limited to 'addons/web/static/src')
-rw-r--r--addons/web/static/src/js/views/kanban/kanban_column.js1
-rw-r--r--addons/web/static/src/js/views/kanban/kanban_renderer.js6
2 files changed, 7 insertions, 0 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 ffb63ad9083..57ecc6f4b4e 100644
--- a/addons/web/static/src/js/views/kanban/kanban_column.js
+++ b/addons/web/static/src/js/views/kanban/kanban_column.js
@@ -173,6 +173,7 @@ var KanbanColumn = Widget.extend({
* into a fragment, the focus has to be set manually once in the DOM.
*/
on_attach_callback: function () {
+ _.invoke(this.records, 'on_attach_callback');
if (this.quickCreateWidget) {
this.quickCreateWidget.on_attach_callback();
}
diff --git a/addons/web/static/src/js/views/kanban/kanban_renderer.js b/addons/web/static/src/js/views/kanban/kanban_renderer.js
index 9356311d51c..3dc0cae5540 100644
--- a/addons/web/static/src/js/views/kanban/kanban_renderer.js
+++ b/addons/web/static/src/js/views/kanban/kanban_renderer.js
@@ -127,6 +127,7 @@ var KanbanRenderer = BasicRenderer.extend({
* Called each time the renderer is attached into the DOM.
*/
on_attach_callback: function () {
+ this._isInDom = true;
_.invoke(this.widgets, 'on_attach_callback');
if (this.quickCreate) {
this.quickCreate.on_attach_callback();
@@ -136,6 +137,7 @@ var KanbanRenderer = BasicRenderer.extend({
* Called each time the renderer is detached from the DOM.
*/
on_detach_callback: function () {
+ this._isInDom = false;
_.invoke(this.widgets, 'on_detach_callback');
},
@@ -377,6 +379,7 @@ var KanbanRenderer = BasicRenderer.extend({
* @private
*/
_renderView: function () {
+ var self = this;
var oldWidgets = this.widgets;
this.widgets = [];
this.$el.empty();
@@ -397,6 +400,9 @@ var KanbanRenderer = BasicRenderer.extend({
var defs = this.defs;
return this._super.apply(this, arguments).then(function () {
_.invoke(oldWidgets, 'destroy');
+ if (self._isInDom) {
+ _.invoke(self.widgets, 'on_attach_callback');
+ }
return $.when.apply(null, defs);
});
},