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

Move registerStore calls to after injectMany

Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
Sebastian Malton 2022-04-22 16:13:49 -04:00
parent a12bda2fc4
commit 30f473a69a
40 changed files with 143 additions and 244 deletions

View File

@ -1,6 +1,6 @@
{
"name": "kube-object-event-status",
"version": "0.0.1",
"version": "5.5.0-alpha.0.1650655975317",
"description": "Adds kube object status from events",
"renderer": "dist/renderer.js",
"lens": {

View File

@ -1,6 +1,6 @@
{
"name": "lens-metrics-cluster-feature",
"version": "0.0.1",
"version": "5.5.0-alpha.0.1650655975317",
"description": "Lens metrics cluster feature",
"renderer": "dist/renderer.js",
"lens": {

View File

@ -1,6 +1,6 @@
{
"name": "lens-node-menu",
"version": "0.0.1",
"version": "5.5.0-alpha.0.1650655975317",
"description": "Lens node menu",
"renderer": "dist/renderer.js",
"lens": {

View File

@ -1,6 +1,6 @@
{
"name": "lens-pod-menu",
"version": "0.0.1",
"version": "5.5.0-alpha.0.1650655975317",
"description": "Lens pod menu",
"renderer": "dist/renderer.js",
"lens": {

View File

@ -3,7 +3,7 @@
"productName": "OpenLens",
"description": "OpenLens - Open Source IDE for Kubernetes",
"homepage": "https://github.com/lensapp/lens",
"version": "5.5.0-alpha.0",
"version": "5.5.0-alpha.0.1650655975317",
"main": "static/build/main.js",
"copyright": "© 2021 OpenLens Authors",
"license": "MIT",

View File

@ -1,11 +0,0 @@
/**
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { ApiManager } from "./api-manager";
/**
* @deprecated use `di.inject(apiManagerInjectable)` instead
*/
export const apiManager = new ApiManager();

View File

@ -2,16 +2,25 @@
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getInjectable } from "@ogre-tools/injectable";
import { apiManager } from "./legacy-global";
import { getInjectable, getInjectionToken } from "@ogre-tools/injectable";
import type { KubeObjectStore } from "../kube-object.store";
import { ApiManager } from "./api-manager";
export const kubeObjectStoreInjectionToken = getInjectionToken<KubeObjectStore<any, any, any>>({
id: "kube-object-store-token",
});
const apiManagerInjectable = getInjectable({
id: "api-manager",
instantiate: () => {
const a = apiManager;
instantiate: (di) => {
const apiManager = new ApiManager();
const stores = di.injectMany(kubeObjectStoreInjectionToken);
// NOTE: this is to remove the deprecation notice
return a;
for (const store of stores) {
apiManager.registerStore(store);
}
return apiManager;
},
});

View File

@ -3,15 +3,11 @@
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getInjectable } from "@ogre-tools/injectable";
import type {
ClusterOverviewStorageState } from "./cluster-overview-store";
import {
ClusterOverviewStore,
MetricNodeRole,
MetricType,
} from "./cluster-overview-store";
import type { ClusterOverviewStorageState } from "./cluster-overview-store";
import { ClusterOverviewStore, MetricNodeRole, MetricType } from "./cluster-overview-store";
import createStorageInjectable from "../../../utils/create-storage/create-storage.injectable";
import apiManagerInjectable from "../../../../common/k8s-api/api-manager/manager.injectable";
import { kubeObjectStoreInjectionToken } from "../../../../common/k8s-api/api-manager/manager.injectable";
import clusterApiInjectable from "../../../../common/k8s-api/endpoints/cluster.api.injectable";
import createStoresAndApisInjectable from "../../../create-stores-apis.injectable";
import assert from "assert";
@ -24,24 +20,19 @@ const clusterOverviewStoreInjectable = getInjectable({
assert(di.inject(createStoresAndApisInjectable), "clusterOverviewStore is only available in certain environments");
const createStorage = di.inject(createStorageInjectable);
const clusterApi = di.inject(clusterApiInjectable);
const apiManager = di.inject(apiManagerInjectable);
const storage = createStorage<ClusterOverviewStorageState>(
"cluster_overview",
{
metricType: MetricType.CPU, // setup defaults
metricNodeRole: MetricNodeRole.WORKER,
},
);
const store = new ClusterOverviewStore({
storage,
return new ClusterOverviewStore({
storage: createStorage<ClusterOverviewStorageState>(
"cluster_overview",
{
metricType: MetricType.CPU, // setup defaults
metricNodeRole: MetricNodeRole.WORKER,
},
),
nodeStore: di.inject(nodeStoreInjectable),
}, clusterApi);
apiManager.registerStore(store);
return store;
},
injectionToken: kubeObjectStoreInjectionToken,
});
export default clusterOverviewStoreInjectable;

View File

@ -4,7 +4,7 @@
*/
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import apiManagerInjectable from "../../../common/k8s-api/api-manager/manager.injectable";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/manager.injectable";
import horizontalPodAutoscalerApiInjectable from "../../../common/k8s-api/endpoints/horizontal-pod-autoscaler.api.injectable";
import createStoresAndApisInjectable from "../../create-stores-apis.injectable";
import { HorizontalPodAutoscalerStore } from "./store";
@ -15,13 +15,10 @@ const horizontalPodAutoscalerStoreInjectable = getInjectable({
assert(di.inject(createStoresAndApisInjectable), "horizontalPodAutoscalerStore is only available in certain environments");
const api = di.inject(horizontalPodAutoscalerApiInjectable);
const apiManager = di.inject(apiManagerInjectable);
const store = new HorizontalPodAutoscalerStore(api);
apiManager.registerStore(store);
return store;
return new HorizontalPodAutoscalerStore(api);
},
injectionToken: kubeObjectStoreInjectionToken,
});
export default horizontalPodAutoscalerStoreInjectable;

View File

@ -4,7 +4,7 @@
*/
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import apiManagerInjectable from "../../../common/k8s-api/api-manager/manager.injectable";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/manager.injectable";
import limitRangeApiInjectable from "../../../common/k8s-api/endpoints/limit-range.api.injectable";
import createStoresAndApisInjectable from "../../create-stores-apis.injectable";
import { LimitRangeStore } from "./store";
@ -15,13 +15,10 @@ const limitRangeStoreInjectable = getInjectable({
assert(di.inject(createStoresAndApisInjectable), "limitRangeStore is only available in certain environments");
const api = di.inject(limitRangeApiInjectable);
const apiManager = di.inject(apiManagerInjectable);
const store = new LimitRangeStore(api);
apiManager.registerStore(store);
return store;
return new LimitRangeStore(api);
},
injectionToken: kubeObjectStoreInjectionToken,
});
export default limitRangeStoreInjectable;

View File

@ -4,7 +4,7 @@
*/
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import apiManagerInjectable from "../../../common/k8s-api/api-manager/manager.injectable";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/manager.injectable";
import configMapApiInjectable from "../../../common/k8s-api/endpoints/config-map.api.injectable";
import createStoresAndApisInjectable from "../../create-stores-apis.injectable";
import { ConfigMapStore } from "./store";
@ -15,13 +15,10 @@ const configMapStoreInjectable = getInjectable({
assert(di.inject(createStoresAndApisInjectable), "configMapStore is only available in certain environments");
const api = di.inject(configMapApiInjectable);
const apiManager = di.inject(apiManagerInjectable);
const store = new ConfigMapStore(api);
apiManager.registerStore(store);
return store;
return new ConfigMapStore(api);
},
injectionToken: kubeObjectStoreInjectionToken,
});
export default configMapStoreInjectable;

View File

@ -4,7 +4,7 @@
*/
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import apiManagerInjectable from "../../../common/k8s-api/api-manager/manager.injectable";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/manager.injectable";
import podDisruptionBudgetApiInjectable from "../../../common/k8s-api/endpoints/pod-disruption-budget.api.injectable";
import createStoresAndApisInjectable from "../../create-stores-apis.injectable";
import { PodDisruptionBudgetStore } from "./store";
@ -15,13 +15,10 @@ const podDisruptionBudgetStoreInjectable = getInjectable({
assert(di.inject(createStoresAndApisInjectable), "podDisruptionBudgetStore is only available in certain environments");
const api = di.inject(podDisruptionBudgetApiInjectable);
const apiManager = di.inject(apiManagerInjectable);
const store = new PodDisruptionBudgetStore(api);
apiManager.registerStore(store);
return store;
return new PodDisruptionBudgetStore(api);
},
injectionToken: kubeObjectStoreInjectionToken,
});
export default podDisruptionBudgetStoreInjectable;

View File

@ -4,7 +4,7 @@
*/
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import apiManagerInjectable from "../../../common/k8s-api/api-manager/manager.injectable";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/manager.injectable";
import resourceQuotaApiInjectable from "../../../common/k8s-api/endpoints/resource-quota.api.injectable";
import createStoresAndApisInjectable from "../../create-stores-apis.injectable";
import { ResourceQuotaStore } from "./store";
@ -15,13 +15,10 @@ const resourceQuotaStoreInjectable = getInjectable({
assert(di.inject(createStoresAndApisInjectable), "resourceQuotaStore is only available in certain environments");
const api = di.inject(resourceQuotaApiInjectable);
const apiManager = di.inject(apiManagerInjectable);
const store = new ResourceQuotaStore(api);
apiManager.registerStore(store);
return store;
return new ResourceQuotaStore(api);
},
injectionToken: kubeObjectStoreInjectionToken,
});
export default resourceQuotaStoreInjectable;

View File

@ -4,7 +4,7 @@
*/
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import apiManagerInjectable from "../../../common/k8s-api/api-manager/manager.injectable";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/manager.injectable";
import secretApiInjectable from "../../../common/k8s-api/endpoints/secret.api.injectable";
import createStoresAndApisInjectable from "../../create-stores-apis.injectable";
import { SecretStore } from "./store";
@ -15,13 +15,10 @@ const secretStoreInjectable = getInjectable({
assert(di.inject(createStoresAndApisInjectable), "secretStore is only available in certain environments");
const api = di.inject(secretApiInjectable);
const apiManager = di.inject(apiManagerInjectable);
const store = new SecretStore(api);
apiManager.registerStore(store);
return store;
return new SecretStore(api);
},
injectionToken: kubeObjectStoreInjectionToken,
});
export default secretStoreInjectable;

View File

@ -4,7 +4,7 @@
*/
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import apiManagerInjectable from "../../../common/k8s-api/api-manager/manager.injectable";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/manager.injectable";
import customResourceDefinitionApiInjectable from "../../../common/k8s-api/endpoints/custom-resource-definition.api.injectable";
import createStoresAndApisInjectable from "../../create-stores-apis.injectable";
import { CustomResourceDefinitionStore } from "./definition.store";
@ -16,15 +16,12 @@ const customResourceDefinitionStoreInjectable = getInjectable({
assert(di.inject(createStoresAndApisInjectable), "customResourceDefinitionStore is only available in certain environments");
const api = di.inject(customResourceDefinitionApiInjectable);
const apiManager = di.inject(apiManagerInjectable);
const store = new CustomResourceDefinitionStore({
return new CustomResourceDefinitionStore({
initCustomResourceStore: di.inject(initCustomResourceStoreInjectable),
}, api);
apiManager.registerStore(store);
return store;
},
injectionToken: kubeObjectStoreInjectionToken,
});
export default customResourceDefinitionStoreInjectable;

View File

@ -5,7 +5,7 @@
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import getPodByIdInjectable from "../+workloads-pods/get-pod-by-id.injectable";
import apiManagerInjectable from "../../../common/k8s-api/api-manager/manager.injectable";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/manager.injectable";
import kubeEventApiInjectable from "../../../common/k8s-api/endpoints/events.api.injectable";
import createStoresAndApisInjectable from "../../create-stores-apis.injectable";
import { EventStore } from "./store";
@ -16,15 +16,12 @@ const eventStoreInjectable = getInjectable({
assert(di.inject(createStoresAndApisInjectable), "eventStore is only available in certain environments");
const api = di.inject(kubeEventApiInjectable);
const apiManager = di.inject(apiManagerInjectable);
const store = new EventStore({
return new EventStore({
getPodById: di.inject(getPodByIdInjectable),
}, api);
apiManager.registerStore(store);
return store;
},
injectionToken: kubeObjectStoreInjectionToken,
});
export default eventStoreInjectable;

View File

@ -4,7 +4,7 @@
*/
import { getInjectable } from "@ogre-tools/injectable";
import { NamespaceStore } from "./store";
import apiManagerInjectable from "../../../common/k8s-api/api-manager/manager.injectable";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/manager.injectable";
import createStorageInjectable from "../../utils/create-storage/create-storage.injectable";
import namespaceApiInjectable from "../../../common/k8s-api/endpoints/namespace.api.injectable";
import assert from "assert";
@ -15,22 +15,15 @@ const namespaceStoreInjectable = getInjectable({
instantiate: (di) => {
assert(di.inject(createStoresAndApisInjectable), "namespaceStore is only available in certain environments");
const createStorage = di.inject(createStorageInjectable);
const apiManager = di.inject(apiManagerInjectable);
const api = di.inject(namespaceApiInjectable);
const storage = createStorage<string[] | undefined>(
"selected_namespaces",
undefined,
);
const store = new NamespaceStore({
storage,
return new NamespaceStore({
storage: createStorage<string[] | undefined>("selected_namespaces", undefined),
}, api);
apiManager.registerStore(store);
return store;
},
injectionToken: kubeObjectStoreInjectionToken,
});
export default namespaceStoreInjectable;

View File

@ -4,7 +4,7 @@
*/
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import apiManagerInjectable from "../../../common/k8s-api/api-manager/manager.injectable";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/manager.injectable";
import endpointsApiInjectable from "../../../common/k8s-api/endpoints/endpoint.api.injectable";
import createStoresAndApisInjectable from "../../create-stores-apis.injectable";
import { EndpointsStore } from "./store";
@ -15,13 +15,10 @@ const endpointsStoreInjectable = getInjectable({
assert(di.inject(createStoresAndApisInjectable), "endpointsStore is only available in certain environments");
const api = di.inject(endpointsApiInjectable);
const apiManager = di.inject(apiManagerInjectable);
const store = new EndpointsStore(api);
apiManager.registerStore(store);
return store;
return new EndpointsStore(api);
},
injectionToken: kubeObjectStoreInjectionToken,
});
export default endpointsStoreInjectable;

View File

@ -4,7 +4,7 @@
*/
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import apiManagerInjectable from "../../../common/k8s-api/api-manager/manager.injectable";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/manager.injectable";
import networkPolicyApiInjectable from "../../../common/k8s-api/endpoints/network-policy.api.injectable";
import createStoresAndApisInjectable from "../../create-stores-apis.injectable";
import { NetworkPolicyStore } from "./store";
@ -15,13 +15,10 @@ const networkPolicyStoreInjectable = getInjectable({
assert(di.inject(createStoresAndApisInjectable), "networkPolicyStore is only available in certain environments");
const api = di.inject(networkPolicyApiInjectable);
const apiManager = di.inject(apiManagerInjectable);
const store = new NetworkPolicyStore(api);
apiManager.registerStore(store);
return store;
return new NetworkPolicyStore(api);
},
injectionToken: kubeObjectStoreInjectionToken,
});
export default networkPolicyStoreInjectable;

View File

@ -4,7 +4,7 @@
*/
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import apiManagerInjectable from "../../../common/k8s-api/api-manager/manager.injectable";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/manager.injectable";
import serviceApiInjectable from "../../../common/k8s-api/endpoints/service.api.injectable";
import createStoresAndApisInjectable from "../../create-stores-apis.injectable";
import { ServiceStore } from "./store";
@ -15,13 +15,10 @@ const serviceStoreInjectable = getInjectable({
assert(di.inject(createStoresAndApisInjectable), "serviceStore is only available in certain environments");
const api = di.inject(serviceApiInjectable);
const apiManager = di.inject(apiManagerInjectable);
const store = new ServiceStore(api);
apiManager.registerStore(store);
return store;
return new ServiceStore(api);
},
injectionToken: kubeObjectStoreInjectionToken,
});
export default serviceStoreInjectable;

View File

@ -4,7 +4,7 @@
*/
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import apiManagerInjectable from "../../../common/k8s-api/api-manager/manager.injectable";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/manager.injectable";
import nodeApiInjectable from "../../../common/k8s-api/endpoints/node.api.injectable";
import createStoresAndApisInjectable from "../../create-stores-apis.injectable";
import { NodeStore } from "./store";
@ -15,13 +15,10 @@ const nodeStoreInjectable = getInjectable({
assert(di.inject(createStoresAndApisInjectable), "nodeStore is only available in certain environments");
const api = di.inject(nodeApiInjectable);
const apiManager = di.inject(apiManagerInjectable);
const store = new NodeStore(api);
apiManager.registerStore(store);
return store;
return new NodeStore(api);
},
injectionToken: kubeObjectStoreInjectionToken,
});
export default nodeStoreInjectable;

View File

@ -4,7 +4,7 @@
*/
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import apiManagerInjectable from "../../../common/k8s-api/api-manager/manager.injectable";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/manager.injectable";
import podSecurityPolicyApiInjectable from "../../../common/k8s-api/endpoints/pod-security-policy.api.injectable";
import createStoresAndApisInjectable from "../../create-stores-apis.injectable";
import { PodSecurityPolicyStore } from "./store";
@ -15,13 +15,10 @@ const podSecurityPolicyStoreInjectable = getInjectable({
assert(di.inject(createStoresAndApisInjectable), "podSecurityPolicyStore is only available in certain environments");
const api = di.inject(podSecurityPolicyApiInjectable);
const apiManager = di.inject(apiManagerInjectable);
const store = new PodSecurityPolicyStore(api);
apiManager.registerStore(store);
return store;
return new PodSecurityPolicyStore(api);
},
injectionToken: kubeObjectStoreInjectionToken,
});
export default podSecurityPolicyStoreInjectable;

View File

@ -5,7 +5,7 @@
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import getPersistentVolumesByStorageClassInjectable from "../+storage-volumes/get-persisten-volumes-by-storage-class.injectable";
import apiManagerInjectable from "../../../common/k8s-api/api-manager/manager.injectable";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/manager.injectable";
import storageClassApiInjectable from "../../../common/k8s-api/endpoints/storage-class.api.injectable";
import createStoresAndApisInjectable from "../../create-stores-apis.injectable";
import { StorageClassStore } from "./store";
@ -16,15 +16,12 @@ const storageClassStoreInjectable = getInjectable({
assert(di.inject(createStoresAndApisInjectable), "storageClassStore is only available in certain environments");
const api = di.inject(storageClassApiInjectable);
const apiManager = di.inject(apiManagerInjectable);
const store = new StorageClassStore({
return new StorageClassStore({
getPersistentVolumesByStorageClass: di.inject(getPersistentVolumesByStorageClassInjectable),
}, api);
apiManager.registerStore(store);
return store;
},
injectionToken: kubeObjectStoreInjectionToken,
});
export default storageClassStoreInjectable;

View File

@ -4,7 +4,7 @@
*/
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import apiManagerInjectable from "../../../common/k8s-api/api-manager/manager.injectable";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/manager.injectable";
import persistentVolumeClaimApiInjectable from "../../../common/k8s-api/endpoints/persistent-volume-claim.api.injectable";
import createStoresAndApisInjectable from "../../create-stores-apis.injectable";
import { PersistentVolumeClaimStore } from "./store";
@ -15,13 +15,10 @@ const persistentVolumeClaimStoreInjectable = getInjectable({
assert(di.inject(createStoresAndApisInjectable), "persistentVolumeClaimStore is only available in certain environments");
const api = di.inject(persistentVolumeClaimApiInjectable);
const apiManager = di.inject(apiManagerInjectable);
const store = new PersistentVolumeClaimStore(api);
apiManager.registerStore(store);
return store;
return new PersistentVolumeClaimStore(api);
},
injectionToken: kubeObjectStoreInjectionToken,
});
export default persistentVolumeClaimStoreInjectable;

View File

@ -4,7 +4,7 @@
*/
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import apiManagerInjectable from "../../../common/k8s-api/api-manager/manager.injectable";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/manager.injectable";
import persistentVolumeApiInjectable from "../../../common/k8s-api/endpoints/persistent-volume.api.injectable";
import createStoresAndApisInjectable from "../../create-stores-apis.injectable";
import { PersistentVolumeStore } from "./store";
@ -15,13 +15,10 @@ const persistentVolumeStoreInjectable = getInjectable({
assert(di.inject(createStoresAndApisInjectable), "persistentVolumeStore is only available in certain environments");
const api = di.inject(persistentVolumeApiInjectable);
const apiManager = di.inject(apiManagerInjectable);
const store = new PersistentVolumeStore(api);
apiManager.registerStore(store);
return store;
return new PersistentVolumeStore(api);
},
injectionToken: kubeObjectStoreInjectionToken,
});
export default persistentVolumeStoreInjectable;

View File

@ -6,7 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import { createStoresAndApisInjectionToken } from "../../../../common/k8s-api/create-stores-apis.token";
import clusterRoleBindingApiInjectable from "../../../../common/k8s-api/endpoints/cluster-role-binding.api.injectable";
import apiManagerInjectable from "../../../../common/k8s-api/api-manager/manager.injectable";
import { kubeObjectStoreInjectionToken } from "../../../../common/k8s-api/api-manager/manager.injectable";
import { ClusterRoleBindingStore } from "./store";
const clusterRoleBindingStoreInjectable = getInjectable({
@ -15,13 +15,10 @@ const clusterRoleBindingStoreInjectable = getInjectable({
assert(di.inject(createStoresAndApisInjectionToken), "clusterRoleBindingStore is only accessible in certain environments");
const api = di.inject(clusterRoleBindingApiInjectable);
const apiManager = di.inject(apiManagerInjectable);
const store = new ClusterRoleBindingStore(api);
apiManager.registerStore(store);
return store;
return new ClusterRoleBindingStore(api);
},
injectionToken: kubeObjectStoreInjectionToken,
});
export default clusterRoleBindingStoreInjectable;

View File

@ -6,7 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import { createStoresAndApisInjectionToken } from "../../../../common/k8s-api/create-stores-apis.token";
import clusterRoleApiInjectable from "../../../../common/k8s-api/endpoints/cluster-role.api.injectable";
import apiManagerInjectable from "../../../../common/k8s-api/api-manager/manager.injectable";
import { kubeObjectStoreInjectionToken } from "../../../../common/k8s-api/api-manager/manager.injectable";
import { ClusterRolesStore } from "./store";
const clusterRoleStoreInjectable = getInjectable({
@ -15,13 +15,10 @@ const clusterRoleStoreInjectable = getInjectable({
assert(di.inject(createStoresAndApisInjectionToken), "clusterRoleStore is only available in certain environments");
const api = di.inject(clusterRoleApiInjectable);
const apiManager = di.inject(apiManagerInjectable);
const store = new ClusterRolesStore(api);
apiManager.registerStore(store);
return store;
return new ClusterRolesStore(api);
},
injectionToken: kubeObjectStoreInjectionToken,
});
export default clusterRoleStoreInjectable;

View File

@ -4,7 +4,7 @@
*/
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import apiManagerInjectable from "../../../../common/k8s-api/api-manager/manager.injectable";
import { kubeObjectStoreInjectionToken } from "../../../../common/k8s-api/api-manager/manager.injectable";
import roleBindingApiInjectable from "../../../../common/k8s-api/endpoints/role-binding.api.injectable";
import createStoresAndApisInjectable from "../../../create-stores-apis.injectable";
import { RoleBindingStore } from "./store";
@ -15,13 +15,10 @@ const roleBindingStoreInjectable = getInjectable({
assert(di.inject(createStoresAndApisInjectable), "roleBindingStore is only available in certain environments");
const api = di.inject(roleBindingApiInjectable);
const apiManager = di.inject(apiManagerInjectable);
const store = new RoleBindingStore(api);
apiManager.registerStore(store);
return store;
return new RoleBindingStore(api);
},
injectionToken: kubeObjectStoreInjectionToken,
});
export default roleBindingStoreInjectable;

View File

@ -6,7 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import roleApiInjectable from "../../../../common/k8s-api/endpoints/role.api.injectable";
import createStoresAndApisInjectable from "../../../create-stores-apis.injectable";
import apiManagerInjectable from "../../../../common/k8s-api/api-manager/manager.injectable";
import { kubeObjectStoreInjectionToken } from "../../../../common/k8s-api/api-manager/manager.injectable";
import { RoleStore } from "./store";
const roleStoreInjectable = getInjectable({
@ -15,13 +15,10 @@ const roleStoreInjectable = getInjectable({
assert(di.inject(createStoresAndApisInjectable), "roleStore is only available in certain environments");
const api = di.inject(roleApiInjectable);
const apiManager = di.inject(apiManagerInjectable);
const store = new RoleStore(api);
apiManager.registerStore(store);
return store;
return new RoleStore(api);
},
injectionToken: kubeObjectStoreInjectionToken,
});
export default roleStoreInjectable;

View File

@ -6,7 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import serviceAccountApiInjectable from "../../../../common/k8s-api/endpoints/service-account.api.injectable";
import createStoresAndApisInjectable from "../../../create-stores-apis.injectable";
import apiManagerInjectable from "../../../../common/k8s-api/api-manager/manager.injectable";
import { kubeObjectStoreInjectionToken } from "../../../../common/k8s-api/api-manager/manager.injectable";
import { ServiceAccountStore } from "./store";
const serviceAccountStoreInjectable = getInjectable({
@ -15,13 +15,10 @@ const serviceAccountStoreInjectable = getInjectable({
assert(di.inject(createStoresAndApisInjectable), "serviceAccountStore is only available in certain environments");
const api = di.inject(serviceAccountApiInjectable);
const apiManager = di.inject(apiManagerInjectable);
const store = new ServiceAccountStore(api);
apiManager.registerStore(store);
return store;
return new ServiceAccountStore(api);
},
injectionToken: kubeObjectStoreInjectionToken,
});
export default serviceAccountStoreInjectable;

View File

@ -5,7 +5,7 @@
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import getJobsByOwnerInjectable from "../+workloads-jobs/get-jobs-by-owner.injectable";
import apiManagerInjectable from "../../../common/k8s-api/api-manager/manager.injectable";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/manager.injectable";
import cronJobApiInjectable from "../../../common/k8s-api/endpoints/cron-job.api.injectable";
import createStoresAndApisInjectable from "../../create-stores-apis.injectable";
import { CronJobStore } from "./store";
@ -16,15 +16,12 @@ const cronJobStoreInjectable = getInjectable({
assert(di.inject(createStoresAndApisInjectable), "cronJobStore is only available in certain environments");
const api = di.inject(cronJobApiInjectable);
const apiManager = di.inject(apiManagerInjectable);
const store = new CronJobStore({
return new CronJobStore({
getJobsByOwner: di.inject(getJobsByOwnerInjectable),
}, api);
apiManager.registerStore(store);
return store;
},
injectionToken: kubeObjectStoreInjectionToken,
});
export default cronJobStoreInjectable;

View File

@ -7,7 +7,7 @@ import assert from "assert";
import getPodsByOwnerIdInjectable from "../+workloads-pods/get-pods-by-owner-id.injectable";
import daemonSetApiInjectable from "../../../common/k8s-api/endpoints/daemon-set.api.injectable";
import createStoresAndApisInjectable from "../../create-stores-apis.injectable";
import apiManagerInjectable from "../../../common/k8s-api/api-manager/manager.injectable";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/manager.injectable";
import { DaemonSetStore } from "./store";
const daemonSetStoreInjectable = getInjectable({
@ -16,15 +16,12 @@ const daemonSetStoreInjectable = getInjectable({
assert(di.inject(createStoresAndApisInjectable), "daemonSetStore is only available in certain environments");
const api = di.inject(daemonSetApiInjectable);
const apiManager = di.inject(apiManagerInjectable);
const store = new DaemonSetStore({
return new DaemonSetStore({
getPodsByOwnerId: di.inject(getPodsByOwnerIdInjectable),
}, api);
apiManager.registerStore(store);
return store;
},
injectionToken: kubeObjectStoreInjectionToken,
});
export default daemonSetStoreInjectable;

View File

@ -5,7 +5,7 @@
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import podStoreInjectable from "../+workloads-pods/store.injectable";
import apiManagerInjectable from "../../../common/k8s-api/api-manager/manager.injectable";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/manager.injectable";
import { createStoresAndApisInjectionToken } from "../../../common/k8s-api/create-stores-apis.token";
import deploymentApiInjectable from "../../../common/k8s-api/endpoints/deployment.api.injectable";
import { DeploymentStore } from "./store";
@ -16,15 +16,12 @@ const deploymentStoreInjectable = getInjectable({
assert(di.inject(createStoresAndApisInjectionToken), "deploymentStore is only available in certain environments");
const api = di.inject(deploymentApiInjectable);
const apiManager = di.inject(apiManagerInjectable);
const store = new DeploymentStore({
return new DeploymentStore({
podStore: di.inject(podStoreInjectable),
}, api);
apiManager.registerStore(store);
return store;
},
injectionToken: kubeObjectStoreInjectionToken,
});
export default deploymentStoreInjectable;

View File

@ -5,7 +5,7 @@
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import getPodsByOwnerIdInjectable from "../+workloads-pods/get-pods-by-owner-id.injectable";
import apiManagerInjectable from "../../../common/k8s-api/api-manager/manager.injectable";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/manager.injectable";
import jobApiInjectable from "../../../common/k8s-api/endpoints/job.api.injectable";
import createStoresAndApisInjectable from "../../create-stores-apis.injectable";
import { JobStore } from "./store";
@ -16,15 +16,12 @@ const jobStoreInjectable = getInjectable({
assert(di.inject(createStoresAndApisInjectable), "jobStore is only available in certain environments");
const api = di.inject(jobApiInjectable);
const apiManager = di.inject(apiManagerInjectable);
const store = new JobStore({
return new JobStore({
getPodsByOwnerId: di.inject(getPodsByOwnerIdInjectable),
}, api);
apiManager.registerStore(store);
return store;
},
injectionToken: kubeObjectStoreInjectionToken,
});
export default jobStoreInjectable;

View File

@ -6,7 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import podApiInjectable from "../../../common/k8s-api/endpoints/pod.api.injectable";
import createStoresAndApisInjectable from "../../create-stores-apis.injectable";
import apiManagerInjectable from "../../../common/k8s-api/api-manager/manager.injectable";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/manager.injectable";
import { PodStore } from "./store";
import podMetricsApiInjectable from "../../../common/k8s-api/endpoints/pod-metrics.api.injectable";
@ -16,15 +16,12 @@ const podStoreInjectable = getInjectable({
assert(di.inject(createStoresAndApisInjectable), "podStore is only available in certain environements");
const api = di.inject(podApiInjectable);
const apiManager = di.inject(apiManagerInjectable);
const store = new PodStore({
return new PodStore({
podMetricsApi: di.inject(podMetricsApiInjectable),
}, api);
apiManager.registerStore(store);
return store;
},
injectionToken: kubeObjectStoreInjectionToken,
});
export default podStoreInjectable;

View File

@ -7,7 +7,7 @@ import assert from "assert";
import getPodsByOwnerIdInjectable from "../+workloads-pods/get-pods-by-owner-id.injectable";
import replicaSetApiInjectable from "../../../common/k8s-api/endpoints/replica-set.api.injectable";
import createStoresAndApisInjectable from "../../create-stores-apis.injectable";
import apiManagerInjectable from "../../../common/k8s-api/api-manager/manager.injectable";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/manager.injectable";
import { ReplicaSetStore } from "./store";
const replicaSetStoreInjectable = getInjectable({
@ -16,15 +16,12 @@ const replicaSetStoreInjectable = getInjectable({
assert(di.inject(createStoresAndApisInjectable), "replicaSetStore is only available in certain environments");
const api = di.inject(replicaSetApiInjectable);
const apiManager = di.inject(apiManagerInjectable);
const store = new ReplicaSetStore({
return new ReplicaSetStore({
getPodsByOwnerId: di.inject(getPodsByOwnerIdInjectable),
}, api);
apiManager.registerStore(store);
return store;
},
injectionToken: kubeObjectStoreInjectionToken,
});
export default replicaSetStoreInjectable;

View File

@ -5,7 +5,7 @@
import { getInjectable } from "@ogre-tools/injectable";
import assert from "assert";
import getPodsByOwnerIdInjectable from "../+workloads-pods/get-pods-by-owner-id.injectable";
import apiManagerInjectable from "../../../common/k8s-api/api-manager/manager.injectable";
import { kubeObjectStoreInjectionToken } from "../../../common/k8s-api/api-manager/manager.injectable";
import statefulSetApiInjectable from "../../../common/k8s-api/endpoints/stateful-set.api.injectable";
import createStoresAndApisInjectable from "../../create-stores-apis.injectable";
import { StatefulSetStore } from "./store";
@ -16,15 +16,12 @@ const statefulSetStoreInjectable = getInjectable({
assert(di.inject(createStoresAndApisInjectable), "statefulSetStore is only available in certain environment");
const api = di.inject(statefulSetApiInjectable);
const apiManager = di.inject(apiManagerInjectable);
const store = new StatefulSetStore({
return new StatefulSetStore({
getPodsByOwnerId: di.inject(getPodsByOwnerIdInjectable),
}, api);
apiManager.registerStore(store);
return store;
},
injectionToken: kubeObjectStoreInjectionToken,
});
export default statefulSetStoreInjectable;

View File

@ -45,10 +45,7 @@ class NonInjectedSearchInputUrl extends React.Component<SearchInputUrlProps & De
onChange = (val: string, evt: React.ChangeEvent<any>) => {
this.setValue(val);
if (this.props.onChange) {
this.props.onChange(val, evt);
}
this.props.onChange?.(val, evt);
};
constructor(props: SearchInputUrlProps & Dependencies) {
@ -57,14 +54,17 @@ class NonInjectedSearchInputUrl extends React.Component<SearchInputUrlProps & De
}
render() {
const { inputVal } = this;
const { searchUrlParam, ...searchInputProps } = this.props;
return (
<SearchInput
value={inputVal}
onChange={this.onChange}
value={this.inputVal}
onChange={(val, event) => {
this.setValue(val);
this.props.onChange?.(val, event);
}}
onClear={this.clear}
{...this.props}
{...searchInputProps}
/>
);
}

View File

@ -36,7 +36,8 @@ export const ResourceMetricsContext = createContext<ResourceMetricsValue | null>
export function ResourceMetrics({ object, loader = noop, interval = 60, tabs, children, className, metrics }: ResourceMetricsProps) {
const [tab, setTab] = useState<MetricsTab>(tabs[0]);
useEffect(loader, [object]);
// This is done just incase `loader` is actually something like `() => Promise<void>`
useEffect(() => void loader(), [object]);
useInterval(loader, interval * 1000);
const renderContents = () => {

View File

@ -69,7 +69,7 @@ function isGroup<Option, Group extends GroupBase<Option>>(optionOrGroup: Option
const defaultFilter = createFilter({
stringify(option) {
if (typeof option.data === "symbol") {
if (typeof option.value === "symbol") {
return option.label;
}