1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00

Adjust to latest master changes

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
This commit is contained in:
Alex Andreev 2022-06-20 12:38:07 +03:00
parent 8c2591ed86
commit 47cbb248bb
7 changed files with 38 additions and 38 deletions

View File

@ -3,7 +3,7 @@
exports[`preferences - navigation to extension specific preferences given in preferences, when rendered given extension with registered tab shows extension tab in general area 1`] = `
<div
class="Tab flex gaps align-center"
data-testid="tab-link-for-extension-registered-tab-page-id-1-nav-item-metrics-extension-tab"
data-testid="tab-link-for-extension-registered-tab-page-id-nav-item-metrics-extension-tab"
role="tab"
tabindex="0"
>
@ -107,7 +107,7 @@ exports[`preferences - navigation to extension specific preferences given in pre
</div>
<div
class="Tab flex gaps align-center active"
data-testid="tab-link-for-extension-registered-tab-page-id-1-nav-item-metrics-extension-tab"
data-testid="tab-link-for-extension-registered-tab-page-id-nav-item-metrics-extension-tab"
role="tab"
tabindex="0"
>
@ -296,7 +296,7 @@ exports[`preferences - navigation to extension specific preferences given in pre
</div>
<div
class="Tab flex gaps align-center active"
data-testid="tab-link-for-extension-registered-tab-page-id-1-nav-item-metrics-extension-tab"
data-testid="tab-link-for-extension-registered-tab-page-id-nav-item-metrics-extension-tab"
role="tab"
tabindex="0"
>
@ -308,7 +308,7 @@ exports[`preferences - navigation to extension specific preferences given in pre
</div>
<div
class="Tab flex gaps align-center active"
data-testid="tab-link-for-extension-duplicated-tab-page-id-1-nav-item-metrics-extension-tab"
data-testid="tab-link-for-extension-duplicated-tab-page-id-nav-item-metrics-extension-tab"
role="tab"
tabindex="0"
>
@ -497,7 +497,7 @@ exports[`preferences - navigation to extension specific preferences given in pre
</div>
<div
class="Tab flex gaps align-center active"
data-testid="tab-link-for-extension-registered-tab-page-id-1-nav-item-metrics-extension-tab"
data-testid="tab-link-for-extension-registered-tab-page-id-nav-item-metrics-extension-tab"
role="tab"
tabindex="0"
>
@ -509,7 +509,7 @@ exports[`preferences - navigation to extension specific preferences given in pre
</div>
<div
class="Tab flex gaps align-center active"
data-testid="tab-link-for-extension-duplicated-tab-page-id-1-nav-item-metrics-extension-tab"
data-testid="tab-link-for-extension-duplicated-tab-page-id-nav-item-metrics-extension-tab"
role="tab"
tabindex="0"
>
@ -2247,7 +2247,7 @@ exports[`preferences - navigation to extension specific preferences when navigat
</div>
<div
class="Tab flex gaps align-center active"
data-testid="tab-link-for-extension-duplicated-tab-page-id-1-nav-item-metrics-extension-tab"
data-testid="tab-link-for-extension-duplicated-tab-page-id-nav-item-metrics-extension-tab"
role="tab"
tabindex="0"
>
@ -2436,7 +2436,7 @@ exports[`preferences - navigation to extension specific preferences when navigat
</div>
<div
class="Tab flex gaps align-center active"
data-testid="tab-link-for-extension-duplicated-tab-page-id-1-nav-item-metrics-extension-tab"
data-testid="tab-link-for-extension-duplicated-tab-page-id-nav-item-metrics-extension-tab"
role="tab"
tabindex="0"
>

View File

@ -165,7 +165,7 @@ describe("preferences - navigation to extension specific preferences", () => {
});
it("shows extension tab in general area", () => {
const actual = rendered.getByTestId("tab-link-for-extension-registered-tab-page-id-1-nav-item-metrics-extension-tab");
const actual = rendered.getByTestId("tab-link-for-extension-registered-tab-page-id-nav-item-metrics-extension-tab");
expect(actual).toMatchSnapshot();
});
@ -178,7 +178,7 @@ describe("preferences - navigation to extension specific preferences", () => {
describe("when navigating to specific extension tab", () => {
beforeEach(() => {
applicationBuilder.preferences.navigation.click("extension-registered-tab-page-id-1-nav-item-metrics-extension-tab");
applicationBuilder.preferences.navigation.click("extension-registered-tab-page-id-nav-item-metrics-extension-tab");
});
it("renders", () => {
expect(rendered.container).toMatchSnapshot();
@ -205,8 +205,8 @@ describe("preferences - navigation to extension specific preferences", () => {
});
it("shows each of registered tabs in general area", () => {
const helloTab = rendered.getByTestId("tab-link-for-extension-hello-world-tab-page-id-1-nav-item-hello-extension-tab");
const logsTab = rendered.getByTestId("tab-link-for-extension-hello-world-tab-page-id-1-nav-item-logs-extension-tab");
const helloTab = rendered.getByTestId("tab-link-for-extension-hello-world-tab-page-id-nav-item-hello-extension-tab");
const logsTab = rendered.getByTestId("tab-link-for-extension-hello-world-tab-page-id-nav-item-logs-extension-tab");
expect(helloTab).toBeInTheDocument();
expect(logsTab).toBeInTheDocument();
@ -223,20 +223,20 @@ describe("preferences - navigation to extension specific preferences", () => {
});
it("shows tab from the first extension", () => {
const actual = rendered.getByTestId("tab-link-for-extension-registered-tab-page-id-1-nav-item-metrics-extension-tab");
const actual = rendered.getByTestId("tab-link-for-extension-registered-tab-page-id-nav-item-metrics-extension-tab");
expect(actual).toBeInTheDocument();
});
it("shows tab from the second extension", () => {
const actual = rendered.getByTestId("tab-link-for-extension-duplicated-tab-page-id-1-nav-item-metrics-extension-tab");
const actual = rendered.getByTestId("tab-link-for-extension-duplicated-tab-page-id-nav-item-metrics-extension-tab");
expect(actual).toBeInTheDocument();
});
describe("when navigating to first extension tab", () => {
beforeEach(() => {
applicationBuilder.preferences.navigation.click("extension-registered-tab-page-id-1-nav-item-metrics-extension-tab");
applicationBuilder.preferences.navigation.click("extension-registered-tab-page-id-nav-item-metrics-extension-tab");
});
it("renders", () => {
@ -258,7 +258,7 @@ describe("preferences - navigation to extension specific preferences", () => {
describe("when navigating to second extension tab", () => {
beforeEach(() => {
applicationBuilder.preferences.navigation.click("extension-duplicated-tab-page-id-1-nav-item-metrics-extension-tab");
applicationBuilder.preferences.navigation.click("extension-duplicated-tab-page-id-nav-item-metrics-extension-tab");
});
it("renders", () => {

View File

@ -11,8 +11,8 @@ import { type DiRender, renderFor } from "../../test-utils/renderFor";
import { Extensions } from "../extensions";
import rendererExtensionsInjectable from "../../../../extensions/renderer-extensions.injectable";
import { computed } from "mobx";
import currentPathParametersInjectable from "../../../routes/current-path-parameters.injectable";
import { LensRendererExtension } from "../../../../extensions/lens-renderer-extension";
import routePathParametersInjectable from "../../../routes/route-path-parameters.injectable";
class SomeTestExtension extends LensRendererExtension {
constructor() {
@ -87,7 +87,7 @@ describe("<Extensions/>", () => {
render = renderFor(di);
di.override(rendererExtensionsInjectable, () => computed(() => [new SomeTestExtension()]));
di.override(currentPathParametersInjectable, () => computed(() => ({ extensionId: "some-test-extension-id" })));
di.override(routePathParametersInjectable, () => computed(() => ({ extensionId: "some-test-extension-id" })));
});
it("renders", () => {
@ -116,7 +116,7 @@ describe("<Extensions/>", () => {
describe("when tabId param is passed and extension has same showInPreferencesTab param", () => {
beforeEach(() => {
di.override(currentPathParametersInjectable, () => computed(() => ({ extensionId: "some-test-extension-id", tabId: "metircs-extension-tab" })));
di.override(routePathParametersInjectable, () => computed(() => ({ extensionId: "some-test-extension-id", tabId: "metircs-extension-tab" })));
});
it("does render related preferences for specific tab", () => {

View File

@ -34,6 +34,7 @@ const extensionPreferenceItemRegistratorInjectable = getInjectable({
instantiate: () => ({
id: registration.id || id,
title: registration.title,
extension,
components: {
Hint: registration.components.Hint,

View File

@ -4,15 +4,17 @@
*/
import { getInjectable } from "@ogre-tools/injectable";
import { computed } from "mobx";
import extensionPreferencesRouteInjectable from "../../../common/front-end-routing/routes/preferences/extension/extension-preferences-route.injectable";
import rendererExtensionsInjectable from "../../../extensions/renderer-extensions.injectable";
import currentPathParametersInjectable from "../../routes/current-path-parameters.injectable";
import routePathParametersInjectable from "../../routes/route-path-parameters.injectable";
import { getExtensionPreferenceItems } from "./get-extension-preference-items";
const extensionPreferencesModelInjectable = getInjectable({
id: "extension-preferences-model",
instantiate: (di) => {
const pathParameters = di.inject(currentPathParametersInjectable);
const route = di.inject(extensionPreferencesRouteInjectable);
const pathParameters = di.inject(routePathParametersInjectable, route);
const extensions = di.inject(rendererExtensionsInjectable);
return computed(() => {

View File

@ -13,28 +13,28 @@ import type { LensRendererExtension } from "../../../../extensions/lens-renderer
import { extensionRegistratorInjectionToken } from "../../../../extensions/extension-loader/extension-registrator-injection-token";
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";
import routePathParametersInjectable from "../../../routes/route-path-parameters.injectable";
const extensionSpecificTabNavigationItemRegistratorInjectable = getInjectable({
id: "extension-specific-tab-preferences-navigation-items",
instantiate: (di) => {
return (ext: LensExtension, extensionInstallationCount) => {
return (ext: LensExtension) => {
const extension = ext as LensRendererExtension;
const navigateToExtensionPreferences = di.inject(
navigateToExtensionPreferencesInjectable,
);
const route = di.inject(extensionPreferencesRouteInjectable);
const routeIsActive = di.inject(routeIsActiveInjectable, route);
const pathParameters = di.inject(currentPathParametersInjectable);
const pathParameters = di.inject(routePathParametersInjectable, route);
const injectables = pipeline(
return pipeline(
extension.appPreferenceTabs,
map((tab) => {
const id = `extension-${extension.sanitizedExtensionId}-${extensionInstallationCount}-nav-item-${tab.id}`;
const id = `extension-${extension.sanitizedExtensionId}-nav-item-${tab.id}`;
const isActive = computed(() => routeIsActive.get() && pathParameters.get().tabId === tab.id);
return getInjectable({
@ -51,10 +51,6 @@ const extensionSpecificTabNavigationItemRegistratorInjectable = getInjectable({
});
}),
);
di.register(...injectables);
return;
};
},
injectionToken: extensionRegistratorInjectionToken,

View File

@ -8,32 +8,34 @@ import extensionPreferencesRouteInjectable from "../../../../common/front-end-ro
import navigateToExtensionPreferencesInjectable from "../../../../common/front-end-routing/routes/preferences/extension/navigate-to-extension-preferences.injectable";
import { extensionRegistratorInjectionToken } from "../../../../extensions/extension-loader/extension-registrator-injection-token";
import type { LensRendererExtension } from "../../../../extensions/lens-renderer-extension";
import currentPathParametersInjectable from "../../../routes/current-path-parameters.injectable";
import routeIsActiveInjectable from "../../../routes/route-is-active.injectable";
import routePathParametersInjectable from "../../../routes/route-path-parameters.injectable";
import { preferenceNavigationItemInjectionToken } from "./preference-navigation-items.injectable";
const extensionPreferencesNavigationItemRegistratorInjectable = getInjectable({
id: "extension-preferences-navigation-item",
instantiate: (di) => {
return (ext, extensionInstallationCount) => {
return (ext) => {
const extension = ext as LensRendererExtension;
const navigateToExtensionPreferences = di.inject(
navigateToExtensionPreferencesInjectable,
);
const extensionHasPreferences = extension.appPreferences.length > 0;
const extensionHasGeneralPreferences = extension.appPreferences.some(preferences =>
!preferences.showInPreferencesTab,
);
const isVisible = computed(() => extensionHasPreferences && extensionHasGeneralPreferences);
const extensionRoute = di.inject(extensionPreferencesRouteInjectable);
const pathParameters = di.inject(currentPathParametersInjectable);
const pathParameters = di.inject(routePathParametersInjectable, extensionRoute);
const routeIsActive = di.inject(routeIsActiveInjectable, extensionRoute);
const isActive = computed(() => routeIsActive.get() && pathParameters.get().extensionId === extension.sanitizedExtensionId);
const id = `extension-preferences-navigation-item-${extension.sanitizedExtensionId}`;
const extensionInjectable = getInjectable({
id: `extension-preferences-navigation-item-${extension.sanitizedExtensionId}-${extensionInstallationCount}`,
const injectable = getInjectable({
id,
injectionToken: preferenceNavigationItemInjectionToken,
instantiate: () => ({
id: `extension-${extension.sanitizedExtensionId}`,
label: `${extension.name}`,
@ -43,10 +45,9 @@ const extensionPreferencesNavigationItemRegistratorInjectable = getInjectable({
orderNumber: 20,
fromExtension: true,
}),
injectionToken: preferenceNavigationItemInjectionToken,
});
di.register(extensionInjectable);
return [injectable];
};
},