mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Set isActive prop
Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
This commit is contained in:
parent
1f6420f85b
commit
0c93c6dbf0
@ -3,10 +3,14 @@
|
|||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
|
import { matches } from "lodash/fp";
|
||||||
import { computed } from "mobx";
|
import { computed } from "mobx";
|
||||||
|
import extensionPreferencesRouteInjectable from "../../../../common/front-end-routing/routes/preferences/extension/extension-preferences-route.injectable";
|
||||||
import navigateToExtensionPreferencesInjectable from "../../../../common/front-end-routing/routes/preferences/extension/navigate-to-extension-preferences.injectable";
|
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 { extensionRegistratorInjectionToken } from "../../../../extensions/extension-loader/extension-registrator-injection-token";
|
||||||
import type { LensRendererExtension } from "../../../../extensions/lens-renderer-extension";
|
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 { preferenceNavigationItemInjectionToken } from "./preference-navigation-items.injectable";
|
import { preferenceNavigationItemInjectionToken } from "./preference-navigation-items.injectable";
|
||||||
|
|
||||||
const extensionPreferencesNavigationItemRegistratorInjectable = getInjectable({
|
const extensionPreferencesNavigationItemRegistratorInjectable = getInjectable({
|
||||||
@ -18,6 +22,12 @@ const extensionPreferencesNavigationItemRegistratorInjectable = getInjectable({
|
|||||||
navigateToExtensionPreferencesInjectable,
|
navigateToExtensionPreferencesInjectable,
|
||||||
);
|
);
|
||||||
const isVisible = extension.appPreferences.length > 0;
|
const isVisible = extension.appPreferences.length > 0;
|
||||||
|
const extensionRoute = di.inject(extensionPreferencesRouteInjectable);
|
||||||
|
const extensionPreferencesRouteIsActive = di.inject(routeIsActiveInjectable, extensionRoute);
|
||||||
|
const pathParameters = di.inject(currentPathParametersInjectable);
|
||||||
|
const extensionPreferencesPathParameters = { extensionId: extension.sanitizedExtensionId };
|
||||||
|
const isActive = extensionPreferencesRouteIsActive.get() &&
|
||||||
|
matches(extensionPreferencesPathParameters, pathParameters.get());
|
||||||
|
|
||||||
const extensionInjectable = getInjectable({
|
const extensionInjectable = getInjectable({
|
||||||
id: `extension-preferences-navigation-item-${extension.sanitizedExtensionId}`,
|
id: `extension-preferences-navigation-item-${extension.sanitizedExtensionId}`,
|
||||||
@ -25,7 +35,7 @@ const extensionPreferencesNavigationItemRegistratorInjectable = getInjectable({
|
|||||||
id: `extension-${extension.sanitizedExtensionId}`,
|
id: `extension-${extension.sanitizedExtensionId}`,
|
||||||
label: `${extension.name}`,
|
label: `${extension.name}`,
|
||||||
navigate: () => navigateToExtensionPreferences(extension.sanitizedExtensionId),
|
navigate: () => navigateToExtensionPreferences(extension.sanitizedExtensionId),
|
||||||
isActive: computed(() => false),
|
isActive: computed(() => isActive),
|
||||||
isVisible: computed(() => isVisible),
|
isVisible: computed(() => isVisible),
|
||||||
orderNumber: 20,
|
orderNumber: 20,
|
||||||
}),
|
}),
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user