From 51715b6a8c87b1923584db44d3ec6453771df738 Mon Sep 17 00:00:00 2001 From: Jim Ehrismann <40840436+jim-docker@users.noreply.github.com> Date: Thu, 11 Mar 2021 16:01:50 -0500 Subject: [PATCH] properly load workspace cluster store outside of render() (#2320) also minor bulletproofing for cluster version string Signed-off-by: Jim Ehrismann --- src/main/cluster.ts | 2 +- .../+landing-page/workspace-overview.tsx | 16 +++++++++------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/main/cluster.ts b/src/main/cluster.ts index 88ae49d123..8920568c73 100644 --- a/src/main/cluster.ts +++ b/src/main/cluster.ts @@ -252,7 +252,7 @@ export class Cluster implements ClusterModel, ClusterState { * Kubernetes version */ get version(): string { - return String(this.metadata?.version || ""); + return String(this.metadata?.version ?? ""); } constructor(model: ClusterModel) { diff --git a/src/renderer/components/+landing-page/workspace-overview.tsx b/src/renderer/components/+landing-page/workspace-overview.tsx index c095abb31b..96b8f3a791 100644 --- a/src/renderer/components/+landing-page/workspace-overview.tsx +++ b/src/renderer/components/+landing-page/workspace-overview.tsx @@ -10,7 +10,6 @@ import { clusterViewURL } from "../cluster-manager/cluster-view.route"; import { WorkspaceClusterMenu } from "./workspace-cluster-menu"; import { kebabCase } from "lodash"; import { addClusterURL } from "../+add-cluster"; - interface Props { workspace: Workspace; } @@ -24,6 +23,12 @@ enum sortBy { @observer export class WorkspaceOverview extends Component { + private workspaceClusterStore = new WorkspaceClusterStore(this.props.workspace.id); + + componentDidMount() { + this.workspaceClusterStore.loadAll(); + } + showCluster = ({ clusterId }: ClusterItem) => { navigate(clusterViewURL({ params: { clusterId } })); @@ -31,18 +36,15 @@ export class WorkspaceOverview extends Component { render() { const { workspace } = this.props; - const workspaceClusterStore = new WorkspaceClusterStore(workspace.id); - - workspaceClusterStore.loadAll(); return ( Clusters} + renderHeaderTitle="Clusters" isClusterScoped isSearchable={false} isSelectable={false} className="WorkspaceOverview" - store={workspaceClusterStore} + store={this.workspaceClusterStore} sortingCallbacks={{ [sortBy.name]: (item: ClusterItem) => item.name, [sortBy.distribution]: (item: ClusterItem) => item.distribution, @@ -67,7 +69,7 @@ export class WorkspaceOverview extends Component { onAdd: () => navigate(addClusterURL()), }} renderItemMenu={(clusterItem: ClusterItem) => ( - + )} /> );