From b3c5a7e83dc3291f91c914ae6637addb50d143e4 Mon Sep 17 00:00:00 2001 From: Wroud Date: Thu, 7 May 2020 17:42:40 +0300 Subject: [PATCH] refactor(core): expose settings menu token CB-103 --- .../SettingsMenu/SettingsMenuService.ts | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/webapp/packages/core/src/app/TopNavBar/SettingsMenu/SettingsMenuService.ts b/webapp/packages/core/src/app/TopNavBar/SettingsMenu/SettingsMenuService.ts index 26749f8109..2e7687b8d6 100644 --- a/webapp/packages/core/src/app/TopNavBar/SettingsMenu/SettingsMenuService.ts +++ b/webapp/packages/core/src/app/TopNavBar/SettingsMenu/SettingsMenuService.ts @@ -14,7 +14,7 @@ import { ThemeService } from '@dbeaver/core/theming'; @injectable() export class SettingsMenuService { - settingsMenuToken = 'settingsMenu'; + static settingsMenuToken = 'settingsMenu'; private menu = new StaticMenu(); private langMenuToken = 'langMenu'; @@ -23,21 +23,21 @@ export class SettingsMenuService { constructor(private localizationService: LocalizationService, private themeService: ThemeService) { - this.menu.addRootPanel(this.settingsMenuToken); + this.menu.addRootPanel(SettingsMenuService.settingsMenuToken); this.addThemes(); this.addLocales(); } getMenu() { - return this.menu.getMenu(this.settingsMenuToken); + return this.menu.getMenu(SettingsMenuService.settingsMenuToken); } - addMenuItem(panelId: string, options: IComputedMenuItemOptions) { + addMenuItem(options: IComputedMenuItemOptions, panelId: string = SettingsMenuService.settingsMenuToken) { this.menu.addMenuItem(panelId, options); } private addThemes() { - this.addMenuItem(this.settingsMenuToken, { + this.addMenuItem({ id: this.themeMenuToken, order: 1, title: 'app_shared_settingsMenu_theme', @@ -46,19 +46,19 @@ export class SettingsMenuService { this.themeService.themes.forEach((theme) => { this.addMenuItem( - this.themeMenuToken, { id: theme.id, title: theme.name, isDisabled: () => theme.id === this.themeService.currentThemeId, onClick: () => this.themeService.changeThemeAsync(theme.id), - } + }, + this.themeMenuToken ); }); } private addLocales() { - this.addMenuItem(this.settingsMenuToken, { + this.addMenuItem({ id: this.langMenuToken, order: 2, title: 'app_shared_settingsMenu_lang', @@ -67,13 +67,13 @@ export class SettingsMenuService { this.localizationService.getSupportedLanguages().forEach((lang) => { this.addMenuItem( - this.langMenuToken, { id: lang.isoCode, title: lang.nativeName, isDisabled: () => lang.isoCode === this.localizationService.getCurrentLanguage(), onClick: () => this.localizationService.changeLocaleAsync(lang.isoCode), - } + }, + this.langMenuToken ); }); }