From 1bc0cea71615076399d90113e8e7f10d9ff72ee9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lucas=20Lef=C3=A8vre=20=28lul=29?= Date: Mon, 9 Oct 2023 16:17:02 +0200 Subject: [PATCH] [FIX] spreadsheet: mark pivot cell faster MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In HBA's demo sheet, `markAsValueUsed` goes from more than 2% of the total loading time to less than 1% closes odoo/odoo#138166 Signed-off-by: Rémi Rahir (rar) Signed-off-by: Lucas Lefèvre (lul) --- addons/spreadsheet/static/src/pivot/pivot_model.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/addons/spreadsheet/static/src/pivot/pivot_model.js b/addons/spreadsheet/static/src/pivot/pivot_model.js index b90e5413289..960ee921aab 100644 --- a/addons/spreadsheet/static/src/pivot/pivot_model.js +++ b/addons/spreadsheet/static/src/pivot/pivot_model.js @@ -216,8 +216,7 @@ export class SpreadsheetPivotModel extends PivotModel { * Check if the given domain with the given measure has been used */ isUsedValue(domain, measure) { - const tag = [measure, ...domain]; - return this._usedValueDomains.has(tag.join()); + return this._usedValueDomains.has(measure + "," + domain.join()); } /** @@ -231,8 +230,7 @@ export class SpreadsheetPivotModel extends PivotModel { * Indicate that the given domain has been used with the given measure */ markAsValueUsed(domain, measure) { - const toTag = [measure, ...domain]; - this._usedValueDomains.add(toTag.join()); + this._usedValueDomains.add(measure + "," + domain.join()); } /**