From a09a919c39171a4e110c8f2ae09c143aaf91d1e2 Mon Sep 17 00:00:00 2001 From: Janne Savolainen Date: Tue, 12 Jul 2022 22:15:37 +0300 Subject: [PATCH] Introduce kludge to make "isEnabledForCluster" work again for workload overview details PART 5 (#5804) * Kludge "isEnabledForCluster" work again for cluster page menus (sidebar items) Signed-off-by: Janne Savolainen * Kludge "isEnabledForCluster" work again for kube object status texts Signed-off-by: Janne Savolainen * Kludge "isEnabledForCluster" work again for kube object menu items Signed-off-by: Janne Savolainen * Kludge "isEnabledForCluster" work again for workload overview details Signed-off-by: Janne Savolainen * Kludge "isEnabledForCluster" work again for kube object details (#5805) Signed-off-by: Janne Savolainen --- ...when-cluster-is-not-relevant.test.tsx.snap | 1427 +++++++++++++++ ...tems-when-cluster-is-not-relevant.test.tsx | 172 ++ ...when-cluster-is-not-relevant.test.tsx.snap | 1548 +++++++++++++++++ ...ails-when-cluster-is-not-relevant.test.tsx | 114 ++ ...rder-of-workload-overview-details.test.tsx | 147 ++ src/extensions/common-api/registrations.ts | 2 +- .../extension-loader.injectable.ts | 8 - .../extension-loader/extension-loader.ts | 30 +- src/extensions/lens-renderer-extension.ts | 3 +- src/extensions/registries/index.ts | 1 - .../registries/kube-object-detail-registry.ts | 37 - .../api/kube-object-detail-registry.ts | 6 - src/renderer/bootstrap.tsx | 3 - .../detail-components.injectable.ts | 68 - .../+workloads-overview/overview.tsx | 6 +- .../overview-statuses.injectable.ts | 22 + .../workload-events.injectable.ts | 22 + ...orkload-overview-detail-injection-token.ts | 18 + ...-overview-detail-registrator.injectable.ts | 58 + .../workload-overview-details.injectable.ts | 30 + .../details/volumes/variants/flex-volume.tsx | 2 +- ...rrent-kube-object-in-details.injectable.ts | 35 + ...ter-role-binding-detail-item.injectable.ts | 33 + .../cluster-role-detail-item.injectable.ts | 33 + .../config-map-detail-item.injectable.ts | 30 + .../cron-job-detail-item.injectable.ts | 32 + ...urce-definitions-detail-item.injectable.ts | 33 + .../daemon-set-detail-item.injectable.ts | 32 + .../deployment-detail-item.injectable.ts | 32 + .../endpoints-detail-item.injectable.ts | 32 + .../events-detail-item.injectable.ts | 30 + ...l-pod-autoscaler-detail-item.injectable.ts | 33 + .../ingress-detail-item.injectable.ts | 33 + .../job-detail-item.injectable.ts | 30 + .../kube-event-detail-item.injectable.ts | 84 + .../limit-range-detail-item.injectable.ts | 30 + .../namespaces-detail-item.injectable.ts | 30 + .../network-policy-detail-item.injectable.ts | 33 + .../node-detail-item.injectable.ts | 30 + ...ent-volume-claim-detail-item.injectable.ts | 33 + ...ersistent-volume-detail-item.injectable.ts | 33 + .../pod-detail-item.injectable.ts | 30 + ...isruption-budget-detail-item.injectable.ts | 33 + ...-security-policy-detail-item.injectable.ts | 33 + .../replica-set-detail-item.injectable.ts | 32 + .../resource-quota-detail-item.injectable.ts | 32 + .../role-binding-detail-item.injectable.ts | 33 + .../role-detail-item.injectable.ts | 32 + .../secrets-detail-item.injectable.ts | 30 + .../service-account-detail-item.injectable.ts | 33 + .../service-detail-item.injectable.ts | 32 + .../stateful-set-detail-item.injectable.ts | 33 + .../storage-class-detail-item.injectable.ts | 33 + ...kube-object-detail-item-injection-token.ts | 18 + ...ject-detail-item-registrator.injectable.ts | 76 + .../kube-object-detail-items.injectable.ts | 31 + ...-object-matches-to-kind-and-api-version.ts | 10 + .../kube-object-detail-registration.ts | 18 + .../kube-object-details.tsx | 62 +- src/renderer/initializers/index.ts | 1 - .../kube-object-detail-registry.tsx | 441 ----- src/renderer/initializers/registries.ts | 1 - 62 files changed, 4827 insertions(+), 632 deletions(-) create mode 100644 src/behaviours/cluster/kube-object-details/extension-api/__snapshots__/disable-kube-object-detail-items-when-cluster-is-not-relevant.test.tsx.snap create mode 100644 src/behaviours/cluster/kube-object-details/extension-api/disable-kube-object-detail-items-when-cluster-is-not-relevant.test.tsx create mode 100644 src/behaviours/cluster/workloads/overview/extension-api/__snapshots__/disable-workloads-overview-details-when-cluster-is-not-relevant.test.tsx.snap create mode 100644 src/behaviours/cluster/workloads/overview/extension-api/disable-workloads-overview-details-when-cluster-is-not-relevant.test.tsx create mode 100644 src/behaviours/cluster/workloads/overview/extension-api/order-of-workload-overview-details.test.tsx delete mode 100644 src/extensions/registries/kube-object-detail-registry.ts delete mode 100644 src/renderer/api/kube-object-detail-registry.ts delete mode 100644 src/renderer/components/+workloads-overview/detail-components.injectable.ts create mode 100644 src/renderer/components/+workloads-overview/workload-overview-details/implementations/overview-statuses.injectable.ts create mode 100644 src/renderer/components/+workloads-overview/workload-overview-details/implementations/workload-events.injectable.ts create mode 100644 src/renderer/components/+workloads-overview/workload-overview-details/workload-overview-detail-injection-token.ts create mode 100644 src/renderer/components/+workloads-overview/workload-overview-details/workload-overview-detail-registrator.injectable.ts create mode 100644 src/renderer/components/+workloads-overview/workload-overview-details/workload-overview-details.injectable.ts create mode 100644 src/renderer/components/kube-object-details/current-kube-object-in-details.injectable.ts create mode 100644 src/renderer/components/kube-object-details/kube-object-detail-items/implementations/cluster-role-binding-detail-item.injectable.ts create mode 100644 src/renderer/components/kube-object-details/kube-object-detail-items/implementations/cluster-role-detail-item.injectable.ts create mode 100644 src/renderer/components/kube-object-details/kube-object-detail-items/implementations/config-map-detail-item.injectable.ts create mode 100644 src/renderer/components/kube-object-details/kube-object-detail-items/implementations/cron-job-detail-item.injectable.ts create mode 100644 src/renderer/components/kube-object-details/kube-object-detail-items/implementations/custom-resource-definitions-detail-item.injectable.ts create mode 100644 src/renderer/components/kube-object-details/kube-object-detail-items/implementations/daemon-set-detail-item.injectable.ts create mode 100644 src/renderer/components/kube-object-details/kube-object-detail-items/implementations/deployment-detail-item.injectable.ts create mode 100644 src/renderer/components/kube-object-details/kube-object-detail-items/implementations/endpoints-detail-item.injectable.ts create mode 100644 src/renderer/components/kube-object-details/kube-object-detail-items/implementations/events-detail-item.injectable.ts create mode 100644 src/renderer/components/kube-object-details/kube-object-detail-items/implementations/horizontal-pod-autoscaler-detail-item.injectable.ts create mode 100644 src/renderer/components/kube-object-details/kube-object-detail-items/implementations/ingress-detail-item.injectable.ts create mode 100644 src/renderer/components/kube-object-details/kube-object-detail-items/implementations/job-detail-item.injectable.ts create mode 100644 src/renderer/components/kube-object-details/kube-object-detail-items/implementations/kube-event-detail-item.injectable.ts create mode 100644 src/renderer/components/kube-object-details/kube-object-detail-items/implementations/limit-range-detail-item.injectable.ts create mode 100644 src/renderer/components/kube-object-details/kube-object-detail-items/implementations/namespaces-detail-item.injectable.ts create mode 100644 src/renderer/components/kube-object-details/kube-object-detail-items/implementations/network-policy-detail-item.injectable.ts create mode 100644 src/renderer/components/kube-object-details/kube-object-detail-items/implementations/node-detail-item.injectable.ts create mode 100644 src/renderer/components/kube-object-details/kube-object-detail-items/implementations/persistent-volume-claim-detail-item.injectable.ts create mode 100644 src/renderer/components/kube-object-details/kube-object-detail-items/implementations/persistent-volume-detail-item.injectable.ts create mode 100644 src/renderer/components/kube-object-details/kube-object-detail-items/implementations/pod-detail-item.injectable.ts create mode 100644 src/renderer/components/kube-object-details/kube-object-detail-items/implementations/pod-disruption-budget-detail-item.injectable.ts create mode 100644 src/renderer/components/kube-object-details/kube-object-detail-items/implementations/pod-security-policy-detail-item.injectable.ts create mode 100644 src/renderer/components/kube-object-details/kube-object-detail-items/implementations/replica-set-detail-item.injectable.ts create mode 100644 src/renderer/components/kube-object-details/kube-object-detail-items/implementations/resource-quota-detail-item.injectable.ts create mode 100644 src/renderer/components/kube-object-details/kube-object-detail-items/implementations/role-binding-detail-item.injectable.ts create mode 100644 src/renderer/components/kube-object-details/kube-object-detail-items/implementations/role-detail-item.injectable.ts create mode 100644 src/renderer/components/kube-object-details/kube-object-detail-items/implementations/secrets-detail-item.injectable.ts create mode 100644 src/renderer/components/kube-object-details/kube-object-detail-items/implementations/service-account-detail-item.injectable.ts create mode 100644 src/renderer/components/kube-object-details/kube-object-detail-items/implementations/service-detail-item.injectable.ts create mode 100644 src/renderer/components/kube-object-details/kube-object-detail-items/implementations/stateful-set-detail-item.injectable.ts create mode 100644 src/renderer/components/kube-object-details/kube-object-detail-items/implementations/storage-class-detail-item.injectable.ts create mode 100644 src/renderer/components/kube-object-details/kube-object-detail-items/kube-object-detail-item-injection-token.ts create mode 100644 src/renderer/components/kube-object-details/kube-object-detail-items/kube-object-detail-item-registrator.injectable.ts create mode 100644 src/renderer/components/kube-object-details/kube-object-detail-items/kube-object-detail-items.injectable.ts create mode 100644 src/renderer/components/kube-object-details/kube-object-detail-items/kube-object-matches-to-kind-and-api-version.ts create mode 100644 src/renderer/components/kube-object-details/kube-object-detail-registration.ts delete mode 100644 src/renderer/initializers/kube-object-detail-registry.tsx diff --git a/src/behaviours/cluster/kube-object-details/extension-api/__snapshots__/disable-kube-object-detail-items-when-cluster-is-not-relevant.test.tsx.snap b/src/behaviours/cluster/kube-object-details/extension-api/__snapshots__/disable-kube-object-detail-items-when-cluster-is-not-relevant.test.tsx.snap new file mode 100644 index 0000000000..d31c03beeb --- /dev/null +++ b/src/behaviours/cluster/kube-object-details/extension-api/__snapshots__/disable-kube-object-detail-items-when-cluster-is-not-relevant.test.tsx.snap @@ -0,0 +1,1427 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`disable kube object detail items when cluster is not relevant given extension should be enabled for the cluster renders 1`] = ` + +
+
+
+