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

makeObservable(this) calls in details pages

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
This commit is contained in:
Alex Andreev 2021-07-19 16:37:05 +03:00
parent 524635c329
commit d15a88dfb7
6 changed files with 36 additions and 6 deletions

View File

@ -32,7 +32,7 @@ import { podsStore } from "../+workloads-pods/pods.store";
import type { KubeObjectDetailsProps } from "../kube-object";
import { getMetricsByNodeNames, IClusterMetrics, Node } from "../../api/endpoints";
import { NodeCharts } from "./node-charts";
import { observable, reaction } from "mobx";
import { makeObservable, observable, reaction } from "mobx";
import { PodDetailsList } from "../+workloads-pods/pod-details-list";
import { KubeObjectMeta } from "../kube-object/kube-object-meta";
import { getActiveClusterEntity } from "../../api/catalog-entity-registry";
@ -48,6 +48,11 @@ interface Props extends KubeObjectDetailsProps<Node> {
export class NodeDetails extends React.Component<Props> {
@observable metrics: Partial<IClusterMetrics>;
constructor(props: Props) {
super(props);
makeObservable(this);
}
@disposeOnUnmount
clean = reaction(() => this.props.object.getName(), () => {
this.metrics = null;

View File

@ -34,7 +34,7 @@ import type { KubeObjectDetailsProps } from "../kube-object";
import { DaemonSet, getMetricsForDaemonSets, IPodMetrics } from "../../api/endpoints";
import { ResourceMetrics, ResourceMetricsText } from "../resource-metrics";
import { PodCharts, podMetricTabs } from "../+workloads-pods/pod-charts";
import { observable, reaction } from "mobx";
import { makeObservable, observable, reaction } from "mobx";
import { PodDetailsList } from "../+workloads-pods/pod-details-list";
import { KubeObjectMeta } from "../kube-object/kube-object-meta";
import { getActiveClusterEntity } from "../../api/catalog-entity-registry";
@ -48,6 +48,11 @@ interface Props extends KubeObjectDetailsProps<DaemonSet> {
export class DaemonSetDetails extends React.Component<Props> {
@observable metrics: IPodMetrics = null;
constructor(props: Props) {
super(props);
makeObservable(this);
}
@disposeOnUnmount
clean = reaction(() => this.props.object, () => {
this.metrics = null;

View File

@ -34,7 +34,7 @@ import type { KubeObjectDetailsProps } from "../kube-object";
import { ResourceMetrics, ResourceMetricsText } from "../resource-metrics";
import { deploymentStore } from "./deployments.store";
import { PodCharts, podMetricTabs } from "../+workloads-pods/pod-charts";
import { observable, reaction } from "mobx";
import { makeObservable, observable, reaction } from "mobx";
import { PodDetailsList } from "../+workloads-pods/pod-details-list";
import { KubeObjectMeta } from "../kube-object/kube-object-meta";
import { replicaSetStore } from "../+workloads-replicasets/replicasets.store";
@ -50,6 +50,11 @@ interface Props extends KubeObjectDetailsProps<Deployment> {
export class DeploymentDetails extends React.Component<Props> {
@observable metrics: IPodMetrics = null;
constructor(props: Props) {
super(props);
makeObservable(this);
}
@disposeOnUnmount
clean = reaction(() => this.props.object, () => {
this.metrics = null;

View File

@ -37,7 +37,7 @@ import { getMetricsForJobs, IPodMetrics, Job } from "../../api/endpoints";
import { PodDetailsList } from "../+workloads-pods/pod-details-list";
import { lookupApiLink } from "../../api/kube-api";
import { KubeObjectMeta } from "../kube-object/kube-object-meta";
import { observable } from "mobx";
import { makeObservable, observable } from "mobx";
import { podMetricTabs, PodCharts } from "../+workloads-pods/pod-charts";
import { ClusterMetricsResourceType } from "../../../main/cluster";
import { getActiveClusterEntity } from "../../api/catalog-entity-registry";
@ -51,6 +51,11 @@ interface Props extends KubeObjectDetailsProps<Job> {
export class JobDetails extends React.Component<Props> {
@observable metrics: IPodMetrics = null;
constructor(props: Props) {
super(props);
makeObservable(this);
}
async componentDidMount() {
podsStore.reloadAll();
}

View File

@ -21,7 +21,7 @@
import "./replicaset-details.scss";
import React from "react";
import { observable, reaction } from "mobx";
import { makeObservable, observable, reaction } from "mobx";
import { DrawerItem } from "../drawer";
import { Badge } from "../badge";
import { replicaSetStore } from "./replicasets.store";
@ -47,6 +47,11 @@ interface Props extends KubeObjectDetailsProps<ReplicaSet> {
export class ReplicaSetDetails extends React.Component<Props> {
@observable metrics: IPodMetrics = null;
constructor(props: Props) {
super(props);
makeObservable(this);
}
@disposeOnUnmount
clean = reaction(() => this.props.object, () => {
this.metrics = null;

View File

@ -23,7 +23,7 @@ import "./statefulset-details.scss";
import React from "react";
import { disposeOnUnmount, observer } from "mobx-react";
import { observable, reaction } from "mobx";
import { makeObservable, observable, reaction } from "mobx";
import { Badge } from "../badge";
import { DrawerItem } from "../drawer";
import { PodDetailsStatuses } from "../+workloads-pods/pod-details-statuses";
@ -48,6 +48,11 @@ interface Props extends KubeObjectDetailsProps<StatefulSet> {
export class StatefulSetDetails extends React.Component<Props> {
@observable metrics: IPodMetrics = null;
constructor(props: Props) {
super(props);
makeObservable(this);
}
@disposeOnUnmount
clean = reaction(() => this.props.object, () => {
this.metrics = null;