From aaafbdb4fea72d0df57da91b12c95963a0651473 Mon Sep 17 00:00:00 2001 From: Janne Savolainen Date: Thu, 13 Oct 2022 15:16:51 +0300 Subject: [PATCH] Switch to using competition for editor preferences Co-authored-by: Mikko Aspiala Signed-off-by: Janne Savolainen --- .../navigate-to-editor-preferences.injectable.ts | 8 ++++---- ...tor-preferences-navigation-item.injectable.ts | 16 +++++----------- 2 files changed, 9 insertions(+), 15 deletions(-) rename src/{common/front-end-routing/routes/preferences/editor => features/preferences/common}/navigate-to-editor-preferences.injectable.ts (58%) diff --git a/src/common/front-end-routing/routes/preferences/editor/navigate-to-editor-preferences.injectable.ts b/src/features/preferences/common/navigate-to-editor-preferences.injectable.ts similarity index 58% rename from src/common/front-end-routing/routes/preferences/editor/navigate-to-editor-preferences.injectable.ts rename to src/features/preferences/common/navigate-to-editor-preferences.injectable.ts index ab4be540cf..9c18cf968a 100644 --- a/src/common/front-end-routing/routes/preferences/editor/navigate-to-editor-preferences.injectable.ts +++ b/src/features/preferences/common/navigate-to-editor-preferences.injectable.ts @@ -3,17 +3,17 @@ * Licensed under MIT License. See LICENSE in root directory for more information. */ import { getInjectable } from "@ogre-tools/injectable"; -import editorPreferencesRouteInjectable from "./editor-preferences-route.injectable"; -import { navigateToRouteInjectionToken } from "../../../navigate-to-route-injection-token"; +import preferencesRouteInjectable from "./preferences-route.injectable"; +import { navigateToRouteInjectionToken } from "../../../common/front-end-routing/navigate-to-route-injection-token"; const navigateToEditorPreferencesInjectable = getInjectable({ id: "navigate-to-editor-preferences", instantiate: (di) => { const navigateToRoute = di.inject(navigateToRouteInjectionToken); - const route = di.inject(editorPreferencesRouteInjectable); + const route = di.inject(preferencesRouteInjectable); - return () => navigateToRoute(route); + return () => navigateToRoute(route, { parameters: { preferenceTabId: "editor" }}); }, }); diff --git a/src/renderer/components/+preferences/preferences-navigation/editor-preferences-navigation-item.injectable.ts b/src/renderer/components/+preferences/preferences-navigation/editor-preferences-navigation-item.injectable.ts index 686a688aa6..34b04550dc 100644 --- a/src/renderer/components/+preferences/preferences-navigation/editor-preferences-navigation-item.injectable.ts +++ b/src/renderer/components/+preferences/preferences-navigation/editor-preferences-navigation-item.injectable.ts @@ -4,29 +4,23 @@ */ import { getInjectable } from "@ogre-tools/injectable"; import { preferenceNavigationItemInjectionToken } from "./preference-navigation-items.injectable"; -import routeIsActiveInjectable from "../../../routes/route-is-active.injectable"; import { computed } from "mobx"; -import editorPreferencesRouteInjectable from "../../../../common/front-end-routing/routes/preferences/editor/editor-preferences-route.injectable"; -import navigateToPreferenceTabInjectable from "./navigate-to-preference-tab.injectable"; +import preferenceTabIsActiveInjectable from "./navigate-to-preference-tab/preference-tab-is-active.injectable"; +import navigateToPreferenceTabInjectable from "./navigate-to-preference-tab/navigate-to-preference-tab.injectable"; const editorPreferencesNavigationItemInjectable = getInjectable({ id: "editor-preferences-navigation-item", instantiate: (di) => { - const route = di.inject(editorPreferencesRouteInjectable); const navigateToPreferenceTab = di.inject(navigateToPreferenceTabInjectable); - - const routeIsActive = di.inject( - routeIsActiveInjectable, - route, - ); + const preferenceTabIsActive = di.inject(preferenceTabIsActiveInjectable, "editor"); return { id: "editor", label: "Editor", parent: "general", - navigate: navigateToPreferenceTab(route), - isActive: routeIsActive, + navigate: () => navigateToPreferenceTab("editor"), + isActive: preferenceTabIsActive, isVisible: computed(() => true), orderNumber: 40, };