mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Remove usages of legacy global podStore
Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
parent
c201d136b2
commit
d16b111e5a
@ -14,12 +14,12 @@ import createWorkloadLogsTabInjectable from "../../renderer/components/dock/logs
|
||||
import sendCommandInjectable from "../../renderer/components/dock/terminal/send-command.injectable";
|
||||
import renameTabInjectable from "../../renderer/components/dock/dock/rename-tab.injectable";
|
||||
import { asLegacyGlobalObjectForExtensionApiWithModifications } from "../as-legacy-globals-for-extension-api/as-legacy-global-object-for-extension-api-with-modifications";
|
||||
import { podStore } from "../../renderer/components/+workloads-pods/legacy-store";
|
||||
import { ConfirmDialog as _ConfirmDialog } from "../../renderer/components/confirm-dialog";
|
||||
import type { ConfirmDialogBooleanParams, ConfirmDialogParams, ConfirmDialogProps } from "../../renderer/components/confirm-dialog";
|
||||
import openConfirmDialogInjectable from "../../renderer/components/confirm-dialog/open.injectable";
|
||||
import confirmInjectable from "../../renderer/components/confirm-dialog/confirm.injectable";
|
||||
import notificationsStoreInjectable from "../../renderer/components/notifications/notifications-store.injectable";
|
||||
import podStoreInjectable from "../../renderer/components/+workloads-pods/store.injectable";
|
||||
|
||||
// layouts
|
||||
export * from "../../renderer/components/layout/main-layout";
|
||||
@ -103,6 +103,7 @@ export const terminalStore = asLegacyGlobalObjectForExtensionApiWithModification
|
||||
);
|
||||
|
||||
const renameTab = asLegacyGlobalFunctionForExtensionApi(renameTabInjectable);
|
||||
const podStore = asLegacyGlobalForExtensionApi(podStoreInjectable);
|
||||
|
||||
export const logTabStore = asLegacyGlobalObjectForExtensionApiWithModifications(
|
||||
logTabStoreInjectable,
|
||||
|
||||
@ -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 podStoreInjectable from "./store.injectable";
|
||||
|
||||
/**
|
||||
* @deprecated use `di.inject(podStoreInjectable)` instead
|
||||
*/
|
||||
export const podStore = asLegacyGlobalForExtensionApi(podStoreInjectable);
|
||||
@ -9,7 +9,6 @@ import React from "react";
|
||||
import kebabCase from "lodash/kebabCase";
|
||||
import { reaction } from "mobx";
|
||||
import { disposeOnUnmount, observer } from "mobx-react";
|
||||
import { podStore } from "./legacy-store";
|
||||
import type { Pod } from "../../../common/k8s-api/endpoints";
|
||||
import { autoBind, bytesToUnits, cssNames, interval, prevDefault } from "../../utils";
|
||||
import { LineProgress } from "../line-progress";
|
||||
@ -19,6 +18,9 @@ import { Spinner } from "../spinner";
|
||||
import { DrawerTitle } from "../drawer";
|
||||
import { KubeObjectStatusIcon } from "../kube-object-status-icon";
|
||||
import { showDetails } from "../kube-detail-params";
|
||||
import type { PodStore } from "./store";
|
||||
import { withInjectables } from "@ogre-tools/injectable-react";
|
||||
import podStoreInjectable from "./store.injectable";
|
||||
|
||||
enum sortBy {
|
||||
name = "name",
|
||||
@ -35,15 +37,19 @@ export interface PodDetailsListProps {
|
||||
maxMemory?: number;
|
||||
}
|
||||
|
||||
interface Dependencies {
|
||||
podStore: PodStore;
|
||||
}
|
||||
|
||||
@observer
|
||||
export class PodDetailsList extends React.Component<PodDetailsListProps> {
|
||||
constructor(props: PodDetailsListProps) {
|
||||
class NonInjectedPodDetailsList extends React.Component<PodDetailsListProps & Dependencies> {
|
||||
constructor(props: PodDetailsListProps & Dependencies) {
|
||||
super(props);
|
||||
autoBind(this);
|
||||
}
|
||||
|
||||
private metricsWatcher = interval(120, () => {
|
||||
podStore.loadKubeMetrics(this.props.owner.getNs());
|
||||
this.props.podStore.loadKubeMetrics(this.props.owner.getNs());
|
||||
});
|
||||
|
||||
componentDidMount() {
|
||||
@ -107,7 +113,7 @@ export class PodDetailsList extends React.Component<PodDetailsListProps> {
|
||||
}
|
||||
|
||||
getTableRow(uid: string) {
|
||||
const { pods } = this.props;
|
||||
const { pods, podStore } = this.props;
|
||||
const pod = pods.find(pod => pod.getId() == uid);
|
||||
|
||||
if (!pod) {
|
||||
@ -138,7 +144,7 @@ export class PodDetailsList extends React.Component<PodDetailsListProps> {
|
||||
}
|
||||
|
||||
render() {
|
||||
const { pods } = this.props;
|
||||
const { pods, podStore } = this.props;
|
||||
|
||||
if (!podStore.isLoaded) {
|
||||
return (
|
||||
@ -197,3 +203,10 @@ export class PodDetailsList extends React.Component<PodDetailsListProps> {
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
export const PodDetailsList = withInjectables<Dependencies, PodDetailsListProps>(NonInjectedPodDetailsList, {
|
||||
getProps: (di, props) => ({
|
||||
...props,
|
||||
podStore: di.inject(podStoreInjectable),
|
||||
}),
|
||||
});
|
||||
|
||||
Loading…
Reference in New Issue
Block a user