From 8cc6d6ec381fbf5bed85e31e3f0e2a7814c0f052 Mon Sep 17 00:00:00 2001 From: David Tran Date: Fri, 9 Jan 2026 14:14:25 +0700 Subject: [PATCH 1/2] [FIX] spreadsheet_oca: no static props warning - Component 'ActionSpreadsheetOca' does not have a static props description - Component 'SpreadsheetName' does not have a static props description - Component 'OdooStackablePanel' does not have a static props description --- .../static/src/spreadsheet/bundle/odoo_panels.esm.js | 6 ++++++ .../src/spreadsheet/bundle/spreadsheet_action.esm.js | 7 +++++++ .../src/spreadsheet/bundle/spreadsheet_controlpanel.esm.js | 7 +++++++ 3 files changed, 20 insertions(+) diff --git a/spreadsheet_oca/static/src/spreadsheet/bundle/odoo_panels.esm.js b/spreadsheet_oca/static/src/spreadsheet/bundle/odoo_panels.esm.js index 7bb60767..a58e4df7 100644 --- a/spreadsheet_oca/static/src/spreadsheet/bundle/odoo_panels.esm.js +++ b/spreadsheet_oca/static/src/spreadsheet/bundle/odoo_panels.esm.js @@ -76,6 +76,12 @@ OdooPanel.template = "spreadsheet_oca.OdooPanel"; OdooPanel.components = { Many2XAutocomplete }; class OdooStackablePanel extends OdooPanel { + static props = { + figureId: String, + updateChart: Function, + "*": true, + }; + onChangeStacked(ev) { this.props.updateChart(this.props.figureId, { stacked: ev.target.checked, diff --git a/spreadsheet_oca/static/src/spreadsheet/bundle/spreadsheet_action.esm.js b/spreadsheet_oca/static/src/spreadsheet/bundle/spreadsheet_action.esm.js index 8e7a263c..a6c7e3db 100644 --- a/spreadsheet_oca/static/src/spreadsheet/bundle/spreadsheet_action.esm.js +++ b/spreadsheet_oca/static/src/spreadsheet/bundle/spreadsheet_action.esm.js @@ -17,6 +17,13 @@ const actionRegistry = registry.category("actions"); const { Component, onMounted, onWillStart, useSubEnv } = owl; export class ActionSpreadsheetOca extends Component { + static props = { + action: Object, + actionId: { type: Number, optional: true }, + className: { type: String, optional: true }, + "*": true, + }; + setup() { this.router = useService("router"); this.orm = useService("orm"); diff --git a/spreadsheet_oca/static/src/spreadsheet/bundle/spreadsheet_controlpanel.esm.js b/spreadsheet_oca/static/src/spreadsheet/bundle/spreadsheet_controlpanel.esm.js index 37a92b5b..d4f902e0 100644 --- a/spreadsheet_oca/static/src/spreadsheet/bundle/spreadsheet_controlpanel.esm.js +++ b/spreadsheet_oca/static/src/spreadsheet/bundle/spreadsheet_controlpanel.esm.js @@ -6,6 +6,13 @@ import { ControlPanel } from "@web/search/control_panel/control_panel"; const { useState } = owl; export class SpreadsheetName extends Component { + static props = { + name: String, + isReadonly: { type: Boolean, optional: true }, + onChanged: { type: Function, optional: true }, + "*": true, + }; + setup() { this.state = useState({ name: this.props.name, From f8c8a198791a887be67bd6b5e11f1d22331b4ccf Mon Sep 17 00:00:00 2001 From: David Tran Date: Fri, 9 Jan 2026 14:17:14 +0700 Subject: [PATCH 2/2] [FIX] spreadsheet_oca: Invalid props for component 'Many2XAutocomplete': 'id' is not a string --- .../static/src/spreadsheet/bundle/chart_panels.esm.js | 4 ++-- .../static/src/spreadsheet/bundle/odoo_panels.esm.js | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/spreadsheet_oca/static/src/spreadsheet/bundle/chart_panels.esm.js b/spreadsheet_oca/static/src/spreadsheet/bundle/chart_panels.esm.js index 47f60691..0b520ef4 100644 --- a/spreadsheet_oca/static/src/spreadsheet/bundle/chart_panels.esm.js +++ b/spreadsheet_oca/static/src/spreadsheet/bundle/chart_panels.esm.js @@ -21,7 +21,8 @@ const menuChartProps = { }, get menuProps() { const menu = this.env.model.getters.getChartOdooMenu(this.props.figureId); - var result = { + const result = { + id: `odoo_menu_${this.props.figureId}`, fieldString: _t("Menu Items"), resModel: "ir.ui.menu", update: this.updateMenu.bind(this), @@ -30,7 +31,6 @@ const menuChartProps = { }; if (menu) { result.value = menu.name; - result.id = menu.id; } return result; }, diff --git a/spreadsheet_oca/static/src/spreadsheet/bundle/odoo_panels.esm.js b/spreadsheet_oca/static/src/spreadsheet/bundle/odoo_panels.esm.js index a58e4df7..55677e1b 100644 --- a/spreadsheet_oca/static/src/spreadsheet/bundle/odoo_panels.esm.js +++ b/spreadsheet_oca/static/src/spreadsheet/bundle/odoo_panels.esm.js @@ -16,7 +16,8 @@ export class OdooPanel extends Component { } get menuProps() { const menu = this.env.model.getters.getChartOdooMenu(this.props.figureId); - var result = { + const result = { + id: `odoo_menu_${this.props.figureId}`, fieldString: _t("Menu Items"), resModel: "ir.ui.menu", update: this.updateMenu.bind(this), @@ -25,7 +26,6 @@ export class OdooPanel extends Component { }; if (menu) { result.value = menu.name; - result.id = menu.id; } return result; }