From daa1b46608aa6b7f1ea4b04e8a165342f716b182 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Rahir=20=28rar=29?= Date: Thu, 12 Oct 2023 14:44:14 +0000 Subject: [PATCH] [FIX] spreadsheet: reset selected datasource upon its deletion MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit closes odoo/odoo#140355 Task: 3551443 X-original-commit: e68f9fd312f0eeac45530920974c417db2098cb0 Related: odoo/enterprise#49866 Signed-off-by: Lucas Lefèvre (lul) Signed-off-by: Rémi Rahir (rar) --- .../static/src/list/plugins/list_ui_plugin.js | 9 +++++++++ .../static/src/pivot/plugins/pivot_ui_plugin.js | 9 +++++++++ 2 files changed, 18 insertions(+) diff --git a/addons/spreadsheet/static/src/list/plugins/list_ui_plugin.js b/addons/spreadsheet/static/src/list/plugins/list_ui_plugin.js index 47ddfadd126..59ad1e8f9f7 100644 --- a/addons/spreadsheet/static/src/list/plugins/list_ui_plugin.js +++ b/addons/spreadsheet/static/src/list/plugins/list_ui_plugin.js @@ -66,6 +66,11 @@ export class ListUIPlugin extends spreadsheet.UIPlugin { case "SELECT_ODOO_LIST": this._selectList(cmd.listId); break; + case "REMOVE_ODOO_LIST": + if (cmd.listId === this.selectedListId) { + this.selectedListId = undefined; + } + break; case "REFRESH_ODOO_LIST": this._refreshOdooList(cmd.listId); break; @@ -121,6 +126,10 @@ export class ListUIPlugin extends spreadsheet.UIPlugin { const dataSourceId = this._getListDataSourceId(cmd.listId); this.dataSources.add(dataSourceId, ListDataSource, listDefinition); } + + if (!this.getters.getListIds().length) { + this.selectedListId = undefined; + } break; } } diff --git a/addons/spreadsheet/static/src/pivot/plugins/pivot_ui_plugin.js b/addons/spreadsheet/static/src/pivot/plugins/pivot_ui_plugin.js index fca02712d3b..e2c9b74fee4 100644 --- a/addons/spreadsheet/static/src/pivot/plugins/pivot_ui_plugin.js +++ b/addons/spreadsheet/static/src/pivot/plugins/pivot_ui_plugin.js @@ -109,6 +109,11 @@ export class PivotUIPlugin extends spreadsheet.UIPlugin { case "SELECT_PIVOT": this.selectedPivotId = cmd.pivotId; break; + case "REMOVE_PIVOT": + if (this.selectedPivotId === cmd.pivotId) { + this.selectedPivotId = undefined; + } + break; case "REFRESH_PIVOT": this._refreshOdooPivot(cmd.id); break; @@ -159,6 +164,10 @@ export class PivotUIPlugin extends spreadsheet.UIPlugin { const dataSourceId = this.getPivotDataSourceId(cmd.pivotId); this.dataSources.add(dataSourceId, PivotDataSource, pivotDefinition); } + + if (!this.getters.getPivotIds().length) { + this.selectedPivotId = undefined; + } break; } }