From d90f481448a4a28e4bdfa7823295fdd1795616f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A9ry=20Debongnie?= Date: Fri, 25 Feb 2022 08:42:10 +0000 Subject: [PATCH] [REF] web, project: remove the component NotUpdatable With the new fine-grained reactivity in owl 2, this component is not necessary any more. Part-of: odoo/odoo#84314 --- .../src/project_sharing/project_sharing.js | 4 +-- .../src/project_sharing/project_sharing.xml | 4 +-- .../src/core/dialog/dialog_container.js | 12 +++---- .../src/core/main_components_container.js | 12 +++---- .../web/static/src/core/utils/components.js | 9 ------ .../web/static/src/webclient/navbar/navbar.js | 4 +-- .../static/src/webclient/navbar/navbar.xml | 8 ++--- addons/web/static/src/webclient/webclient.js | 2 -- addons/web/static/src/webclient/webclient.xml | 8 ++--- .../tests/core/utils/component_tests.js | 32 ++----------------- 10 files changed, 23 insertions(+), 72 deletions(-) diff --git a/addons/project/static/src/project_sharing/project_sharing.js b/addons/project/static/src/project_sharing/project_sharing.js index 98d4118cffd..c71d61bb93a 100644 --- a/addons/project/static/src/project_sharing/project_sharing.js +++ b/addons/project/static/src/project_sharing/project_sharing.js @@ -4,7 +4,7 @@ import { useBus, useService } from '@web/core/utils/hooks'; import { ActionContainer } from '@web/webclient/actions/action_container'; import { MainComponentsContainer } from "@web/core/main_components_container"; import { useOwnDebugContext } from "@web/core/debug/debug_context"; -import { ErrorHandler, NotUpdatable } from "@web/core/utils/components"; +import { ErrorHandler } from "@web/core/utils/components"; import { session } from '@web/session'; const { Component, useEffect } = owl; @@ -59,5 +59,5 @@ export class ProjectSharingWebClient extends Component { } } -ProjectSharingWebClient.components = { ActionContainer, ErrorHandler, NotUpdatable, MainComponentsContainer }; +ProjectSharingWebClient.components = { ActionContainer, ErrorHandler, MainComponentsContainer }; ProjectSharingWebClient.template = 'project.ProjectSharingWebClient'; diff --git a/addons/project/static/src/project_sharing/project_sharing.xml b/addons/project/static/src/project_sharing/project_sharing.xml index 3ebf4fe49ef..bff67f47ad2 100644 --- a/addons/project/static/src/project_sharing/project_sharing.xml +++ b/addons/project/static/src/project_sharing/project_sharing.xml @@ -2,9 +2,7 @@ - - - + diff --git a/addons/web/static/src/core/dialog/dialog_container.js b/addons/web/static/src/core/dialog/dialog_container.js index 19571f5abbf..cad66a043cc 100644 --- a/addons/web/static/src/core/dialog/dialog_container.js +++ b/addons/web/static/src/core/dialog/dialog_container.js @@ -1,6 +1,6 @@ /** @odoo-module **/ -import { ErrorHandler, NotUpdatable } from "../utils/components"; +import { ErrorHandler } from "../utils/components"; const { Component, xml } = owl; @@ -22,18 +22,16 @@ export class DialogContainer extends Component { }); } } -DialogContainer.components = { ErrorHandler, NotUpdatable }; +DialogContainer.components = { ErrorHandler }; //Legacy : The div wrapping the t-foreach, is placed to avoid owl to delete non-owl dialogs. //This div can be removed after removing all legacy dialogs. DialogContainer.template = xml`
- - - - - + + +
diff --git a/addons/web/static/src/core/main_components_container.js b/addons/web/static/src/core/main_components_container.js index 6d23c22f224..5d24e51a6bc 100644 --- a/addons/web/static/src/core/main_components_container.js +++ b/addons/web/static/src/core/main_components_container.js @@ -1,6 +1,6 @@ /** @odoo-module */ import { registry } from "./registry"; -import { NotUpdatable, ErrorHandler } from "./utils/components"; +import { ErrorHandler } from "./utils/components"; const { Component, xml } = owl; @@ -27,12 +27,10 @@ export class MainComponentsContainer extends Component { MainComponentsContainer.template = xml`
- - - - - + + +
`; -MainComponentsContainer.components = { NotUpdatable, ErrorHandler }; +MainComponentsContainer.components = { ErrorHandler }; diff --git a/addons/web/static/src/core/utils/components.js b/addons/web/static/src/core/utils/components.js index 9d9915bfb99..7b8099325ba 100644 --- a/addons/web/static/src/core/utils/components.js +++ b/addons/web/static/src/core/utils/components.js @@ -2,15 +2,6 @@ const { Component, onError, useComponent, xml } = owl; -export class NotUpdatable extends Component { - setup() { - const node = useComponent().__owl__; - node.patch = () => {}; - node.updateAndRender = () => Promise.resolve(); - } -} -NotUpdatable.template = xml``; - export class ErrorHandler extends Component { setup() { onError((error) => { diff --git a/addons/web/static/src/webclient/navbar/navbar.js b/addons/web/static/src/webclient/navbar/navbar.js index f4af05e5267..93ebb3a713f 100644 --- a/addons/web/static/src/webclient/navbar/navbar.js +++ b/addons/web/static/src/webclient/navbar/navbar.js @@ -5,7 +5,7 @@ import { DropdownItem } from "@web/core/dropdown/dropdown_item"; import { useService, useBus } from "@web/core/utils/hooks"; import { registry } from "@web/core/registry"; import { debounce } from "@web/core/utils/timing"; -import { ErrorHandler, NotUpdatable } from "@web/core/utils/components"; +import { ErrorHandler } from "@web/core/utils/components"; const { Component, onWillDestroy, useExternalListener, useEffect, useRef } = owl; const systrayRegistry = registry.category("systray"); @@ -185,4 +185,4 @@ export class NavBar extends Component { } } NavBar.template = "web.NavBar"; -NavBar.components = { Dropdown, DropdownItem, MenuDropdown, NotUpdatable, ErrorHandler }; +NavBar.components = { Dropdown, DropdownItem, MenuDropdown, ErrorHandler }; diff --git a/addons/web/static/src/webclient/navbar/navbar.xml b/addons/web/static/src/webclient/navbar/navbar.xml index e7e738b5e3a..9f6a7cae96f 100644 --- a/addons/web/static/src/webclient/navbar/navbar.xml +++ b/addons/web/static/src/webclient/navbar/navbar.xml @@ -30,11 +30,9 @@ diff --git a/addons/web/static/src/webclient/webclient.js b/addons/web/static/src/webclient/webclient.js index 1f49110337d..56c0a76faf7 100644 --- a/addons/web/static/src/webclient/webclient.js +++ b/addons/web/static/src/webclient/webclient.js @@ -5,7 +5,6 @@ import { DebugMenu } from "@web/core/debug/debug_menu"; import { localization } from "@web/core/l10n/localization"; import { MainComponentsContainer } from "@web/core/main_components_container"; import { registry } from "@web/core/registry"; -import { NotUpdatable } from "@web/core/utils/components"; import { useBus, useService } from "@web/core/utils/hooks"; import { ActionContainer } from "./actions/action_container"; import { NavBar } from "./navbar/navbar"; @@ -112,7 +111,6 @@ export class WebClient extends Component { WebClient.components = { ActionContainer, NavBar, - NotUpdatable, MainComponentsContainer, }; WebClient.template = "web.WebClient"; diff --git a/addons/web/static/src/webclient/webclient.xml b/addons/web/static/src/webclient/webclient.xml index 4593ad40038..44d2f713dd0 100644 --- a/addons/web/static/src/webclient/webclient.xml +++ b/addons/web/static/src/webclient/webclient.xml @@ -2,12 +2,10 @@ - + - - - - + + diff --git a/addons/web/static/tests/core/utils/component_tests.js b/addons/web/static/tests/core/utils/component_tests.js index 4002a8df9c9..8e8bf39c225 100644 --- a/addons/web/static/tests/core/utils/component_tests.js +++ b/addons/web/static/tests/core/utils/component_tests.js @@ -1,42 +1,14 @@ /** @odoo-module **/ -import { NotUpdatable, ErrorHandler } from "@web/core/utils/components"; +import { ErrorHandler } from "@web/core/utils/components"; import { makeTestEnv } from "../../helpers/mock_env"; import { getFixture, mount } from "../../helpers/utils"; -const { Component, onMounted, onWillUpdateProps, xml } = owl; +const { Component, xml } = owl; QUnit.module("utils", () => { QUnit.module("components"); - QUnit.test("NotUpdatable component", async function (assert) { - class Child extends Component { - setup() { - onMounted(() => { - assert.step("mounted"); - }); - onWillUpdateProps(() => { - assert.step("willupdateprops"); - }); - } - } - Child.template = xml`
hey
`; - class Parent extends Component {} - Parent.template = xml` -
- - -
`; - Parent.components = { Child, NotUpdatable }; - - const target = getFixture(); - const parent = await mount(Parent, target, { env: makeTestEnv() }); - assert.verifySteps(["mounted", "mounted"]); - - await parent.render(); - assert.verifySteps(["willupdateprops"]); - }); - QUnit.test("ErrorHandler component", async function (assert) { class Boom extends Component {} Boom.template = xml`
`;