[FIX] web_enterprise: close the burger menu on the new dialog

When the wizard (new dialog) is opened on the burger menu item, the burger menu does
not close. The burger menu appears on the wizard. It is fixed.

Reproduction Steps
  -Installed project application
  -Reporting -> Burndown Chart

task-2739646

closes odoo/odoo#90721

X-original-commit: 69821a67ca04d9aa5bb040d93e491c7f75b67232
Related: odoo/enterprise#27027
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
This commit is contained in:
Prakash Prajapati
2022-05-06 14:26:59 +02:00
parent e2c2e61387
commit 53992eb6ea
2 changed files with 38 additions and 2 deletions
@@ -61,8 +61,9 @@ export class BurgerMenu extends Component {
_toggleUserMenu() {
this.state.isUserMenuOpened = !this.state.isUserMenuOpened;
}
_onMenuClicked(menu) {
this.menuRepo.selectMenu(menu);
async _onMenuClicked(menu) {
await this.menuRepo.selectMenu(menu);
this._closeBurger();
}
_onSwipeStart(ev) {
this.swipeStartX = ev.changedTouches[0].clientX;
@@ -122,3 +122,38 @@ QUnit.test("Burger menu closes when an action is requested", async (assert) => {
assert.containsNone(document.body, ".o_burger_menu");
assert.containsOnce(document.body, ".o_kanban_view");
});
QUnit.test("Burger menu closes when click on menu item", async (assert) => {
serverData.actions[1].target = 'new';
serverData.menus[1].children = [99];
serverData.menus[99] = {
id: 99,
children: [],
name: "SubMenu",
appID: 1,
actionID: 1,
xmlid: "",
webIconData: undefined,
webIcon: false,
};
await createWebClient({ serverData });
await click(document.body, ".o_navbar_apps_menu .dropdown-toggle");
await legacyExtraNextTick();
await click(document.body, ".o_app:nth-of-type(2)");
await legacyExtraNextTick();
assert.containsNone(document.body, ".o_burger_menu");
await click(document.body, ".o_mobile_menu_toggle");
assert.containsOnce(document.body, ".o_burger_menu");
assert.strictEqual(
document.body.querySelector(
".o_burger_menu .o_burger_menu_app .o_menu_sections .dropdown-item"
).textContent,
"SubMenu"
);
await click(document.body, ".o_burger_menu .o_burger_menu_app .o_menu_sections .dropdown-item");
await legacyExtraNextTick();
await legacyExtraNextTick();
assert.containsNone(document.body, ".o_burger_menu");
});