From 8397e76e48d6645c1938510b5bca7d7c9e38ef8c Mon Sep 17 00:00:00 2001 From: Sebastian Malton Date: Thu, 22 Dec 2022 11:42:19 -0500 Subject: [PATCH] Remove usages of legacy global storageClassStore Signed-off-by: Sebastian Malton --- .../+storage-classes/legacy-store.ts | 12 ------------ .../+storage-classes/storage-classes.tsx | 19 ++++++++++++++++--- 2 files changed, 16 insertions(+), 15 deletions(-) delete mode 100644 src/renderer/components/+storage-classes/legacy-store.ts diff --git a/src/renderer/components/+storage-classes/legacy-store.ts b/src/renderer/components/+storage-classes/legacy-store.ts deleted file mode 100644 index 0bc4294e4e..0000000000 --- a/src/renderer/components/+storage-classes/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 storageClassStoreInjectable from "./store.injectable"; - -/** - * @deprecated use `di.inject(storageClassStoreInjectable)` instead - */ -export const storageClassStore = asLegacyGlobalForExtensionApi(storageClassStoreInjectable); diff --git a/src/renderer/components/+storage-classes/storage-classes.tsx b/src/renderer/components/+storage-classes/storage-classes.tsx index 74af686807..9e7c6eeafa 100644 --- a/src/renderer/components/+storage-classes/storage-classes.tsx +++ b/src/renderer/components/+storage-classes/storage-classes.tsx @@ -8,10 +8,12 @@ import "./storage-classes.scss"; import React from "react"; import { observer } from "mobx-react"; import { KubeObjectListLayout } from "../kube-object-list-layout"; -import { storageClassStore } 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 { StorageClassStore } from "./store"; +import { withInjectables } from "@ogre-tools/injectable-react"; +import storageClassStoreInjectable from "./store.injectable"; enum columnId { name = "name", @@ -21,8 +23,12 @@ enum columnId { reclaimPolicy = "reclaim", } +interface Dependencies { + storageClassStore: StorageClassStore; +} + @observer -export class StorageClasses extends React.Component { +class NonInjectedStorageClasses extends React.Component { render() { return ( @@ -30,7 +36,7 @@ export class StorageClasses extends React.Component { isConfigurable tableId="storage_classes" className="StorageClasses" - store={storageClassStore} + store={this.props.storageClassStore} sortingCallbacks={{ [columnId.name]: storageClass => storageClass.getName(), [columnId.age]: storageClass => -storageClass.getCreationTimestamp(), @@ -63,3 +69,10 @@ export class StorageClasses extends React.Component { ); } } + +export const StorageClasses = withInjectables(NonInjectedStorageClasses, { + getProps: (di, props) => ({ + ...props, + storageClassStore: di.inject(storageClassStoreInjectable), + }), +});