Skip to content

Commit e5b3d3c

Browse files
committed
Update ProvidersConfig.tsx
1 parent 23dba77 commit e5b3d3c

File tree

1 file changed

+47
-51
lines changed

1 file changed

+47
-51
lines changed

src/components/ControlPlane/ProvidersConfig.tsx

Lines changed: 47 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import { formatDateAsTimeAgo } from '../../utils/i18n/timeAgo';
1515

1616
import { YamlViewButton } from '../Yaml/YamlViewButton.tsx';
1717

18-
import { useCallback, useContext, useMemo, useRef } from 'react';
18+
import { Fragment, useCallback, useContext, useMemo, useRef } from 'react';
1919
import { Resource } from '../../utils/removeManagedFieldsAndFilterData.ts';
2020
import { ProviderConfigItem } from '../../lib/shared/types.ts';
2121
import { ProviderConfigsRowActionsMenu } from './ProviderConfigsActionMenu.tsx';
@@ -35,13 +35,8 @@ type Rows = {
3535
resource: ProviderConfigItem;
3636
};
3737

38-
interface CellData<T> {
39-
cell: {
40-
value: T | null; // null for grouping rows
41-
row: {
42-
original?: Rows; // missing for grouping rows
43-
};
44-
};
38+
interface CellRow<T> {
39+
original: T;
4540
}
4641

4742
export function ProvidersConfig() {
@@ -77,14 +72,14 @@ export function ProvidersConfig() {
7772
(item: ProviderConfigItem) => {
7873
const identityKey = `${item.kind}:${item.metadata.name}`;
7974
openInAside(
80-
<>
75+
<Fragment key={identityKey}>
8176
<YamlSidePanel
8277
isEdit={true}
8378
resource={item as unknown as Resource}
8479
filename={`${item.kind}_${item.metadata.name}`}
8580
onApply={async (parsed) =>
8681
await handleResourcePatch({
87-
item: item as unknown as any, // cast to align with expected shape
82+
item,
8883
parsed,
8984
getPluralKind,
9085
apiConfig,
@@ -94,53 +89,54 @@ export function ProvidersConfig() {
9489
})
9590
}
9691
/>
97-
</>,
92+
</Fragment>,
9893
);
9994
},
10095
[openInAside, getPluralKind, apiConfig, t, toast],
10196
);
10297

103-
const columns: AnalyticalTableColumnDefinition[] = useMemo(
104-
() => [
105-
{
106-
Header: t('ProvidersConfig.tableHeaderProvider'),
107-
accessor: 'parent',
108-
},
109-
{
110-
Header: t('ProvidersConfig.tableHeaderName'),
111-
accessor: 'name',
112-
},
113-
{
114-
Header: t('ProvidersConfig.tableHeaderUsage'),
115-
accessor: 'usage',
116-
},
117-
{
118-
Header: t('ProvidersConfig.tableHeaderCreated'),
119-
accessor: 'created',
120-
},
121-
{
122-
Header: t('yaml.YAML'),
123-
hAlign: 'Center',
124-
width: 75,
125-
accessor: 'yaml',
126-
disableFilters: true,
127-
Cell: (cellData: CellData<Rows>) =>
128-
cellData.cell.row.original?.resource ? (
129-
<YamlViewButton variant="resource" resource={cellData.cell.row.original?.resource as unknown as Resource} />
130-
) : undefined,
131-
},
132-
{
133-
Header: t('ManagedResources.actionColumnHeader'),
134-
hAlign: 'Center',
135-
width: 60,
136-
disableFilters: true,
137-
accessor: 'actions',
138-
Cell: (cellData: CellData<Rows>) => {
139-
const item = cellData.cell.row.original?.resource;
140-
return item ? <ProviderConfigsRowActionsMenu item={item} onEdit={openEditPanel} /> : undefined;
98+
const columns = useMemo(
99+
() =>
100+
[
101+
{
102+
Header: t('ProvidersConfig.tableHeaderProvider'),
103+
accessor: 'parent',
141104
},
142-
},
143-
],
105+
{
106+
Header: t('ProvidersConfig.tableHeaderName'),
107+
accessor: 'name',
108+
},
109+
{
110+
Header: t('ProvidersConfig.tableHeaderUsage'),
111+
accessor: 'usage',
112+
},
113+
{
114+
Header: t('ProvidersConfig.tableHeaderCreated'),
115+
accessor: 'created',
116+
},
117+
{
118+
Header: t('yaml.YAML'),
119+
hAlign: 'Center',
120+
width: 75,
121+
accessor: 'yaml',
122+
disableFilters: true,
123+
Cell: ({ row }: { row: CellRow<Rows> }) => {
124+
const item = row.original?.resource;
125+
return item ? <YamlViewButton variant="resource" resource={item as unknown as Resource} /> : undefined;
126+
},
127+
},
128+
{
129+
Header: t('ManagedResources.actionColumnHeader'),
130+
hAlign: 'Center',
131+
width: 60,
132+
disableFilters: true,
133+
accessor: 'actions',
134+
Cell: ({ row }: { row: CellRow<Rows> }) => {
135+
const item = row.original?.resource;
136+
return item ? <ProviderConfigsRowActionsMenu item={item} onEdit={openEditPanel} /> : undefined;
137+
},
138+
},
139+
] as AnalyticalTableColumnDefinition[],
144140
[t, openEditPanel],
145141
);
146142

0 commit comments

Comments
 (0)