diff --git a/src/renderer/components/+pod-security-policies/legacy-store.ts b/src/renderer/components/+pod-security-policies/legacy-store.ts deleted file mode 100644 index 4224463d15..0000000000 --- a/src/renderer/components/+pod-security-policies/legacy-store.ts +++ /dev/null @@ -1,12 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ - -import { asLegacyGlobalForExtensionApi } from "../../../extensions/as-legacy-globals-for-extension-api/as-legacy-global-object-for-extension-api"; -import podSecurityPolicyStoreInjectable from "./store.injectable"; - -/** - * @deprecated use `di.inject(podSecurityPolicyStoreInjectable)` instead - */ -export const podSecurityPolicyStore = asLegacyGlobalForExtensionApi(podSecurityPolicyStoreInjectable); diff --git a/src/renderer/components/+pod-security-policies/pod-security-policies.tsx b/src/renderer/components/+pod-security-policies/pod-security-policies.tsx index 31d34cf1a5..d39a41e360 100644 --- a/src/renderer/components/+pod-security-policies/pod-security-policies.tsx +++ b/src/renderer/components/+pod-security-policies/pod-security-policies.tsx @@ -8,10 +8,12 @@ import "./pod-security-policies.scss"; import React from "react"; import { observer } from "mobx-react"; import { KubeObjectListLayout } from "../kube-object-list-layout"; -import { podSecurityPolicyStore } from "./legacy-store"; import { KubeObjectStatusIcon } from "../kube-object-status-icon"; import { SiblingsInTabLayout } from "../layout/siblings-in-tab-layout"; import { KubeObjectAge } from "../kube-object/age"; +import type { PodSecurityPolicyStore } from "./store"; +import { withInjectables } from "@ogre-tools/injectable-react"; +import podSecurityPolicyStoreInjectable from "./store.injectable"; enum columnId { name = "name", @@ -20,8 +22,12 @@ enum columnId { age = "age", } +interface Dependencies { + podSecurityPolicyStore: PodSecurityPolicyStore; +} + @observer -export class PodSecurityPolicies extends React.Component { +class NonInjectedPodSecurityPolicies extends React.Component { render() { return ( @@ -29,7 +35,7 @@ export class PodSecurityPolicies extends React.Component { isConfigurable tableId="access_pod_security_policies" className="PodSecurityPolicies" - store={podSecurityPolicyStore} + store={this.props.podSecurityPolicyStore} sortingCallbacks={{ [columnId.name]: podSecurityPolicy => podSecurityPolicy.getName(), [columnId.volumes]: podSecurityPolicy => podSecurityPolicy.getVolumes(), @@ -61,3 +67,10 @@ export class PodSecurityPolicies extends React.Component { ); } } + +export const PodSecurityPolicies = withInjectables(NonInjectedPodSecurityPolicies, { + getProps: (di, props) => ({ + ...props, + podSecurityPolicyStore: di.inject(podSecurityPolicyStoreInjectable), + }), +});