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
+
+
+
+
+
+
+
+
+
+
+
+
+
+`;
+
+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
+
+
+
+
+
+
+
+
+
+
+
+
+
+`;
+
+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
+
+
+
+
+
+
+
+
+
+
+
+
+
+`;
+
+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
+
+
+
+
+
+
+
+
+
+
+
+
+
+`;
+
exports[`preferences - navigation to extension specific preferences given in preferences, when rendered renders 1`] = `
+
- Extensions
+
+
+ extension
+
+
+ Extensions
+
+
+
+
+ some-test-extension-id
+
+
@@ -1151,15 +1958,37 @@ exports[`preferences - navigation to extension specific preferences given in pre
+
- Extensions
+
+
+ extension
+
+
+ Extensions
+
+
+
+
+ some-test-extension-id
+
+
@@ -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;
};