diff --git a/src/common/cluster-store.ts b/src/common/cluster-store.ts index 6bf932f0f4..5c91f0a23e 100644 --- a/src/common/cluster-store.ts +++ b/src/common/cluster-store.ts @@ -212,8 +212,12 @@ export class ClusterStore extends BaseStore { } @action - setActive(id: ClusterId) { - const clusterId = this.clusters.has(id) ? id : null; + setActive(clusterId: ClusterId) { + const cluster = this.clusters.get(clusterId); + + if (!cluster?.enabled) { + clusterId = null; + } this.activeCluster = clusterId; workspaceStore.setLastActiveClusterId(clusterId); @@ -239,8 +243,8 @@ export class ClusterStore extends BaseStore { return this.clusters.size > 0; } - getById(id: ClusterId): Cluster { - return this.clusters.get(id); + getById(id: ClusterId): Cluster | null { + return this.clusters.get(id) ?? null; } getByWorkspaceId(workspaceId: string): Cluster[] { diff --git a/src/extensions/stores/cluster-store.ts b/src/extensions/stores/cluster-store.ts index b2aba41c06..c1a18c453b 100644 --- a/src/extensions/stores/cluster-store.ts +++ b/src/extensions/stores/cluster-store.ts @@ -25,7 +25,7 @@ export class ClusterStore extends Singleton { * Set active cluster id */ set activeClusterId(id : ClusterId) { - internalClusterStore.activeCluster = id; + internalClusterStore.setActive(id); } /** @@ -38,12 +38,8 @@ export class ClusterStore extends Singleton { /** * Get active cluster (a cluster which is currently visible) */ - get activeCluster(): Cluster { - if (!this.activeClusterId) { - return null; - } - - return this.getById(this.activeClusterId); + get activeCluster(): Cluster | null { + return internalClusterStore.active; } /** @@ -104,7 +100,7 @@ export class ClusterStore extends Singleton { * @param model cluster */ async removeCluster(model: ClusterModel) { - return this.removeById(model.id); + return internalClusterStore.removeById(model.id); } /**