mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Co-authored-by: Alex Andreev <alex.andreev.email@gmail.com> Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
31 lines
993 B
TypeScript
31 lines
993 B
TypeScript
/**
|
|
* Copyright (c) OpenLens Authors. All rights reserved.
|
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
|
*/
|
|
import {
|
|
getInjectable,
|
|
lifecycleEnum,
|
|
} from "@ogre-tools/injectable";
|
|
import { computed } from "mobx";
|
|
import type { PreferenceNavigationItem } from "./preference-navigation-items.injectable";
|
|
import preferenceNavigationItemsInjectable from "./preference-navigation-items.injectable";
|
|
|
|
const preferenceNavigationItemsForGroupInjectable = getInjectable({
|
|
id: "preference-navigation-items-for-group",
|
|
|
|
instantiate: (di, group: string) => {
|
|
const preferenceNavigationItems = di.inject(preferenceNavigationItemsInjectable);
|
|
|
|
return computed((): PreferenceNavigationItem[] =>
|
|
preferenceNavigationItems.get().filter((item) => item.parent == group),
|
|
);
|
|
},
|
|
|
|
lifecycle: lifecycleEnum.keyedSingleton({
|
|
getInstanceKey: (di, group: string) => group,
|
|
}),
|
|
});
|
|
|
|
export default preferenceNavigationItemsForGroupInjectable;
|
|
|