From 0196bba8d0b70214763de5448acbda6fc11ccc86 Mon Sep 17 00:00:00 2001 From: logonoff Date: Mon, 15 Sep 2025 14:07:22 -0400 Subject: [PATCH] OCPBUGS-61519: Fix improper DescriptionList refactor --- .../src/components/descriptors/index.tsx | 14 ++-- .../src/components/operand/index.spec.tsx | 6 +- .../src/components/operand/index.tsx | 66 ++++++++++--------- 3 files changed, 44 insertions(+), 42 deletions(-) diff --git a/frontend/packages/operator-lifecycle-manager/src/components/descriptors/index.tsx b/frontend/packages/operator-lifecycle-manager/src/components/descriptors/index.tsx index 4e8bb995ab8..b8c84e558b3 100644 --- a/frontend/packages/operator-lifecycle-manager/src/components/descriptors/index.tsx +++ b/frontend/packages/operator-lifecycle-manager/src/components/descriptors/index.tsx @@ -147,7 +147,8 @@ const DescriptorDetailsItemGroup: React.FC = ({ ); }; -export const DescriptorDetailsItemList: React.FC = ({ +/** Note: MUST be used inside a `` */ +export const DescriptorDetailsItems: React.FC = ({ descriptors, model, obj, @@ -160,7 +161,7 @@ export const DescriptorDetailsItemList: React.FC descriptors, ]); return ( - + <> {_.map(groupedDescriptors, (group, groupPath) => { const groupProps = { group, @@ -205,7 +206,7 @@ export const DescriptorDetailsItemList: React.FC /> ); })} - + ); }; @@ -225,14 +226,11 @@ type DescriptorDetailsItemGroupProps = Omit & { +type DescriptorDetailsItemsProps = Omit & { descriptors: Descriptor[]; itemClassName?: string; }; DescriptorDetailsItem.displayName = 'DescriptorDetailsItem'; DescriptorDetailsItemGroup.displayName = 'DescriptorDetailsItemGroup'; -DescriptorDetailsItemList.displayName = 'DescriptorDetailsItemList'; +DescriptorDetailsItems.displayName = 'DescriptorDetailsItems'; diff --git a/frontend/packages/operator-lifecycle-manager/src/components/operand/index.spec.tsx b/frontend/packages/operator-lifecycle-manager/src/components/operand/index.spec.tsx index 1472fd46852..e2f7f1925e9 100644 --- a/frontend/packages/operator-lifecycle-manager/src/components/operand/index.spec.tsx +++ b/frontend/packages/operator-lifecycle-manager/src/components/operand/index.spec.tsx @@ -29,7 +29,7 @@ import { testConditionsDescriptor, } from '../../../mocks'; import { ClusterServiceVersionModel } from '../../models'; -import { DescriptorDetailsItem, DescriptorDetailsItemList } from '../descriptors'; +import { DescriptorDetailsItem, DescriptorDetailsItems } from '../descriptors'; import { Resources } from '../k8s-resource'; import { OperandLink } from './operand-link'; import { @@ -271,7 +271,7 @@ describe(OperandDetails.displayName, () => { xit('[CONSOLE-2336] renders spec descriptor fields if the custom resource is `owned`', () => { expect( - wrapper.find(DescriptorDetailsItemList).last().shallow().find(DescriptorDetailsItem).length, + wrapper.find(DescriptorDetailsItems).last().shallow().find(DescriptorDetailsItem).length, ).toEqual( testClusterServiceVersion.spec.customresourcedefinitions.owned[0].specDescriptors.length, ); @@ -286,7 +286,7 @@ describe(OperandDetails.displayName, () => { wrapper = wrapper.setProps({ csv }); expect( - wrapper.find(DescriptorDetailsItemList).last().shallow().find(DescriptorDetailsItem).length, + wrapper.find(DescriptorDetailsItems).last().shallow().find(DescriptorDetailsItem).length, ).toEqual(csv.spec.customresourcedefinitions.required[0].specDescriptors.length); }); diff --git a/frontend/packages/operator-lifecycle-manager/src/components/operand/index.tsx b/frontend/packages/operator-lifecycle-manager/src/components/operand/index.tsx index d59e94c9534..44d96a4390b 100644 --- a/frontend/packages/operator-lifecycle-manager/src/components/operand/index.tsx +++ b/frontend/packages/operator-lifecycle-manager/src/components/operand/index.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import { Grid, GridItem } from '@patternfly/react-core'; +import { DescriptionList, Grid, GridItem } from '@patternfly/react-core'; import { css } from '@patternfly/react-styles'; import { sortable } from '@patternfly/react-table'; import { JSONSchema7 } from 'json-schema'; @@ -77,7 +77,7 @@ import { RouteParams } from '@console/shared/src/types'; import { ClusterServiceVersionModel } from '../../models'; import { ClusterServiceVersionKind, ProvidedAPI } from '../../types'; import { useClusterServiceVersion } from '../../utils/useClusterServiceVersion'; -import { DescriptorDetailsItem, DescriptorDetailsItemList } from '../descriptors'; +import { DescriptorDetailsItem, DescriptorDetailsItems } from '../descriptors'; import { DescriptorConditions } from '../descriptors/status/conditions'; import { DescriptorType, StatusCapability, StatusDescriptor } from '../descriptors/types'; import { isMainStatusDescriptor } from '../descriptors/utils'; @@ -673,29 +673,31 @@ export const OperandDetails = connectToModel(({ crd, csv, kindObj, obj }: Operan - {mainStatusDescriptor && ( + {mainStatusDescriptor || otherStatusDescriptors?.length > 0 ? ( - + + {mainStatusDescriptor && ( + + )} + {otherStatusDescriptors?.length > 0 && ( + + )} + - )} - {otherStatusDescriptors?.length > 0 && ( - - - - )} + ) : null} @@ -704,14 +706,16 @@ export const OperandDetails = connectToModel(({ crd, csv, kindObj, obj }: Operan
- + + +