diff --git a/src/behaviours/preferences/__snapshots__/navigation-to-extension-specific-preferences.test.tsx.snap b/src/behaviours/preferences/__snapshots__/navigation-to-extension-specific-preferences.test.tsx.snap index ec00c0e498..ad1839e5ab 100644 --- a/src/behaviours/preferences/__snapshots__/navigation-to-extension-specific-preferences.test.tsx.snap +++ b/src/behaviours/preferences/__snapshots__/navigation-to-extension-specific-preferences.test.tsx.snap @@ -1,5 +1,790 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`preferences - navigation to extension specific preferences given in preferences, when rendered given extension with registered tab shows extension tab in general area 1`] = ` + +`; + +exports[`preferences - navigation to extension specific preferences given in preferences, when rendered given extension with registered tab when navigating to specific extension tab renders 1`] = ` +
+
+ +
+
+
+

+ registered-tab-page-id + preferences +

+
+
+ License item + +
+
+
+
+
+
+
+
+
+
+
+
+
+ + + close + + +
+ +
+
+
+
+
+
+
+`; + +exports[`preferences - navigation to extension specific preferences given in preferences, when rendered given extensions with tabs having same id when navigating to first extension tab renders 1`] = ` +
+
+ +
+
+
+

+ registered-tab-page-id + preferences +

+
+
+ License item + +
+
+
+
+
+
+
+
+
+
+
+
+
+ + + close + + +
+ +
+
+
+
+
+
+
+`; + +exports[`preferences - navigation to extension specific preferences given in preferences, when rendered given extensions with tabs having same id when navigating to second extension tab renders 1`] = ` +
+
+ +
+
+
+

+ duplicated-tab-page-id + preferences +

+
+
+ Another metrics + +
+
+
+
+
+
+
+
+
+
+
+
+
+ + + close + + +
+ +
+
+
+
+
+
+
+`; + +exports[`preferences - navigation to extension specific preferences given in preferences, when rendered given multiple extensions with specific preferences, when navigating to extension specific preferences page renders 1`] = ` +
+
+ +
+
+
+

+ some-test-extension-id + preferences +

+
+
+ Some preference item + +
+
+
+
+
+
+
+
+
+
+
+
+
+ + + close + + +
+ +
+
+
+
+
+
+
+`; + exports[`preferences - navigation to extension specific preferences given in preferences, when rendered renders 1`] = `
@@ -1151,15 +1958,37 @@ exports[`preferences - navigation to extension specific preferences given in pre
@@ -1176,7 +2005,8 @@ exports[`preferences - navigation to extension specific preferences given in pre id="extensions" >

- Extensions + some-test-extension-id + preferences

{ }); const extensionStubWithExtensionSpecificPreferenceItems: FakeExtensionData = { - id: "some-extension-id", - name: "some-extension-name", + id: "some-test-extension-id", + name: "some-test-extension-id", appPreferences: [ { title: "Some preference item", @@ -307,7 +307,7 @@ const extensionStubWithExtensionSpecificPreferenceItems: FakeExtensionData = { const someOtherExtensionStubWithExtensionSpecificPreferenceItems: FakeExtensionData = { id: "some-other-test-extension-id", - name: "some-other-test-extension-name", + name: "some-other-test-extension-id", appPreferences: [ { @@ -324,7 +324,7 @@ const someOtherExtensionStubWithExtensionSpecificPreferenceItems: FakeExtensionD const extensionStubWithoutPreferences: FakeExtensionData = { id: "without-preferences-id", - name: "without-preferences-name", + name: "without-preferences-id", }; const extensionStubWithShowInPreferencesTab: FakeExtensionData = { @@ -347,7 +347,7 @@ const extensionStubWithShowInPreferencesTab: FakeExtensionData = { const extensionStubWithWithRegisteredTab: FakeExtensionData = { id: "registered-tab-page-id", - name: "registered-tab-page-name", + name: "registered-tab-page-id", appPreferences: [ { @@ -391,7 +391,7 @@ const extensionStubWithWithRegisteredTab: FakeExtensionData = { const extensionStubWithWithRegisteredTabs: FakeExtensionData = { id: "hello-world-tab-page-id", - name: "hello-world-tab-page-name", + name: "hello-world-tab-page-id", appPreferences: [ { @@ -429,7 +429,7 @@ const extensionStubWithWithRegisteredTabs: FakeExtensionData = { const extensionStubWithWithSameRegisteredTab: FakeExtensionData = { id: "duplicated-tab-page-id", - name: "duplicated-tab-page-name", + name: "duplicated-tab-page-id", appPreferences: [ { diff --git a/src/renderer/components/+preferences/preferences-navigation/extension-tab-preferences-navigation-item.injectable.ts b/src/renderer/components/+preferences/preferences-navigation/extension-tab-preferences-navigation-item.injectable.ts index 4af9c7ca8e..bff409035b 100644 --- a/src/renderer/components/+preferences/preferences-navigation/extension-tab-preferences-navigation-item.injectable.ts +++ b/src/renderer/components/+preferences/preferences-navigation/extension-tab-preferences-navigation-item.injectable.ts @@ -15,12 +15,14 @@ import { pipeline } from "@ogre-tools/fp"; import extensionPreferencesRouteInjectable from "../../../../common/front-end-routing/routes/preferences/extension/extension-preferences-route.injectable"; import currentPathParametersInjectable from "../../../routes/current-path-parameters.injectable"; import navigateToExtensionPreferencesInjectable from "../../../../common/front-end-routing/routes/preferences/extension/navigate-to-extension-preferences.injectable"; +import type { LensExtension } from "../../../../extensions/lens-extension"; const extensionSpecificTabNavigationItemRegistratorInjectable = getInjectable({ id: "extension-specific-tab-preferences-navigation-items", instantiate: (di) => { - return (extension: LensRendererExtension) => { + return (ext: LensExtension) => { + const extension = ext as LensRendererExtension; const navigateToExtensionPreferences = di.inject( navigateToExtensionPreferencesInjectable, ); @@ -41,7 +43,7 @@ const extensionSpecificTabNavigationItemRegistratorInjectable = getInjectable({ instantiate: () => ({ id, label: tab.title, - orderNumber: tab.orderNumber, + orderNumber: tab.orderNumber || 100, navigate: () => navigateToExtensionPreferences(extension.sanitizedExtensionId, tab.id), isVisible: computed(() => true), isActive, @@ -50,7 +52,7 @@ const extensionSpecificTabNavigationItemRegistratorInjectable = getInjectable({ }), ); - injectables.forEach(di.register); + di.register(...injectables) return; };