From 31b48fe24543f0e55e23d80945a5497d1d9f1717 Mon Sep 17 00:00:00 2001 From: Jari Kolehmainen Date: Mon, 21 Jun 2021 18:09:21 +0300 Subject: [PATCH] Fix set of cluster entity icon src (#3134) Co-authored-by: Sebastian Malton --- src/common/catalog-entities/kubernetes-cluster.ts | 11 +++++++---- src/main/cluster-manager.ts | 9 +++++++-- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/common/catalog-entities/kubernetes-cluster.ts b/src/common/catalog-entities/kubernetes-cluster.ts index 322675b23a..e1766c1bb0 100644 --- a/src/common/catalog-entities/kubernetes-cluster.ts +++ b/src/common/catalog-entities/kubernetes-cluster.ts @@ -38,9 +38,6 @@ export interface KubernetesClusterPrometheusMetrics { prefix: string; }; type?: string; - icon?: { - src?: string; - }; } export interface KubernetesClusterSpec extends CatalogEntitySpec { @@ -49,7 +46,13 @@ export interface KubernetesClusterSpec extends CatalogEntitySpec { metrics?: { source: string; prometheus?: KubernetesClusterPrometheusMetrics; - } + }; + icon?: { + // TODO: move to CatalogEntitySpec once any-entity icons are supported + src?: string; + material?: string; + background?: string; + }; } export interface KubernetesClusterStatus extends CatalogEntityStatus { diff --git a/src/main/cluster-manager.ts b/src/main/cluster-manager.ts index 66c9bda601..b15cce8ae7 100644 --- a/src/main/cluster-manager.ts +++ b/src/main/cluster-manager.ts @@ -102,7 +102,7 @@ export class ClusterManager extends Singleton { const entity = catalogEntityRegistry.items[index] as KubernetesCluster; this.updateEntityStatus(entity, cluster); - + entity.metadata.labels = Object.assign({}, cluster.labels, entity.metadata.labels); if (cluster.preferences?.clusterName) { @@ -119,7 +119,12 @@ export class ClusterManager extends Singleton { entity.spec.metrics.prometheus = prometheus; } - entity.spec.icon.src = cluster.preferences.icon; + if (cluster.preferences.icon) { + entity.spec.icon ??= {}; + entity.spec.icon.src = cluster.preferences.icon; + } else { + entity.spec.icon = null; + } catalogEntityRegistry.items.splice(index, 1, entity); }