diff --git a/src/app/modules/layout/services/menu.service.ts b/src/app/modules/layout/services/menu.service.ts index 0d475bd3..fd3bb8c2 100644 --- a/src/app/modules/layout/services/menu.service.ts +++ b/src/app/modules/layout/services/menu.service.ts @@ -59,9 +59,23 @@ export class MenuService implements OnDestroy { this._showSidebar.set(!this._showSidebar()); } - public toggleMenu(menu: any) { + public toggleMenu(menu: SubMenuItem) { this.showSideBar = true; - menu.expanded = !menu.expanded; + + /** collapse all submenus except the selected one. */ + const updatedMenu = this._pagesMenu().map((menuGroup) => { + return { + ...menuGroup, + items: menuGroup.items.map((item) => { + return { + ...item, + expanded: item === menu ? !item.expanded : false, + }; + }), + }; + }); + + this._pagesMenu.set(updatedMenu); } public toggleSubMenu(submenu: SubMenuItem) {