Skip to content

Commit 0d1ce05

Browse files
PD - Flagger generated objects (#1132)
* move customDataTable styled out of main render fn * move Flagger objects to new tab
1 parent d95318b commit 0d1ce05

File tree

3 files changed

+77
-70
lines changed

3 files changed

+77
-70
lines changed

ui-cra/src/components/ProgressiveDelivery/CanaryDetails/CanaryDetailsSection.tsx

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,9 @@ function CanaryDetailsSection({
4141
const [open, setOpen] = useState(true);
4242

4343
const { conditions, ...restStatus } = canary?.status || { conditions: [] };
44-
const { lastTransitionTime, ...restConditionObj } = conditions![0] || { lastTransitionTime: '' };
44+
const { lastTransitionTime, ...restConditionObj } = conditions![0] || {
45+
lastTransitionTime: '',
46+
};
4547

4648
const toggleCollapse = () => {
4749
setOpen(!open);
@@ -75,7 +77,11 @@ function CanaryDetailsSection({
7577
/>
7678
<CanaryRowHeader
7779
rowkey="Application"
78-
value={automation?.kind && automation?.name ? `${automation?.kind}/${automation?.name}` : '--'}
80+
value={
81+
automation?.kind && automation?.name
82+
? `${automation?.kind}/${automation?.name}`
83+
: '--'
84+
}
7985
/>
8086
<CanaryRowHeader
8187
rowkey="Deployment Strategy"
@@ -87,7 +93,9 @@ function CanaryDetailsSection({
8793
</CanaryRowHeader>
8894
<CanaryRowHeader rowkey="Provider" value={canary.provider} />
8995

90-
<div className={`${classes.sectionHeaderWrapper} ${classes.cardTitle}`}>
96+
<div
97+
className={`${classes.sectionHeaderWrapper} ${classes.cardTitle}`}
98+
>
9199
Status
92100
</div>
93101

@@ -116,7 +124,11 @@ function CanaryDetailsSection({
116124
))}
117125
</TableBody>
118126
</Table>
127+
</CanaryDetailsWrapper>
128+
</RouterTab>
119129

130+
<RouterTab name="Objects" path={`${path}/objects`}>
131+
<CanaryDetailsWrapper>
120132
<ListManagedObjects
121133
clusterName={canary.clusterName || ''}
122134
name={canary.name || ''}

ui-cra/src/components/ProgressiveDelivery/CanaryDetails/ManagedObjectsTable.tsx

Lines changed: 32 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -3,47 +3,46 @@ import styled, { ThemeProvider } from 'styled-components';
33
import { usePolicyStyle } from '../../Policies/PolicyStyles';
44
import { TableWrapper } from '../CanaryStyles';
55

6-
export const ManagedObjectsTable = ({ objects }: { objects: any[] }) => {
7-
const classes = usePolicyStyle();
8-
9-
const CustomDataTable = styled(DataTable)`
6+
const CustomDataTable = styled(DataTable)`
107
thead > tr {
118
background: ${theme.colors.neutral10};
129
}
1310
`;
1411

12+
export const ManagedObjectsTable = ({ objects }: { objects: any[] }) => {
13+
const classes = usePolicyStyle();
14+
1515
return (
1616
<div className={classes.root}>
1717
<ThemeProvider theme={theme}>
18-
<TableWrapper id="objects-list">
19-
<CustomDataTable
20-
rows={objects}
21-
fields={[
22-
{
23-
label: 'Name',
24-
value: 'name',
25-
},
26-
{
27-
label: 'Type',
28-
value: (object) => (
29-
`${object.groupVersionKind.version}/${object.groupVersionKind.kind}`
30-
),
31-
},
32-
{
33-
label: 'Namespace',
34-
value: 'namespace',
35-
},
36-
{
37-
label: 'Status',
38-
value: 'status',
39-
},
40-
{
41-
label: 'Images',
42-
value: 'images',
43-
},
44-
]}
45-
/>
46-
</TableWrapper>
18+
<TableWrapper id="objects-list">
19+
<CustomDataTable
20+
rows={objects}
21+
fields={[
22+
{
23+
label: 'Name',
24+
value: 'name',
25+
},
26+
{
27+
label: 'Type',
28+
value: object =>
29+
`${object.groupVersionKind.version}/${object.groupVersionKind.kind}`,
30+
},
31+
{
32+
label: 'Namespace',
33+
value: 'namespace',
34+
},
35+
{
36+
label: 'Status',
37+
value: 'status',
38+
},
39+
{
40+
label: 'Images',
41+
value: 'images',
42+
},
43+
]}
44+
/>
45+
</TableWrapper>
4746
</ThemeProvider>
4847
</div>
4948
);

ui-cra/src/components/ProgressiveDelivery/Events/EventsTable.tsx

Lines changed: 30 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -15,40 +15,36 @@ export const EventsTable = ({ events }: { events: Event[] }) => {
1515
return (
1616
<div className={classes.root}>
1717
<ThemeProvider theme={theme}>
18-
{events.length > 0 ? (
19-
<TableWrapper id="events-list">
20-
<FilterableTable
21-
key={events?.length}
22-
filters={initialFilterState}
23-
rows={events}
24-
fields={[
25-
{
26-
label: 'Reason',
27-
value: 'reason',
28-
textSearchable: true,
29-
},
30-
{
31-
label: 'Message',
32-
value: (e: Event) => (
33-
<span className={classes.messageWrape}>{e.message}</span>
34-
),
35-
maxWidth: 600,
36-
},
37-
{
38-
label: 'From',
39-
value: 'component',
40-
},
41-
{
42-
label: 'Last Updated',
43-
value: (e: Event) => moment(e.timestamp).fromNow() || '--',
44-
sortValue: (e: Event) => e.timestamp,
45-
},
46-
]}
47-
/>
48-
</TableWrapper>
49-
) : (
50-
<p>No data to display</p>
51-
)}
18+
<TableWrapper id="events-list">
19+
<FilterableTable
20+
key={events?.length}
21+
filters={initialFilterState}
22+
rows={events}
23+
fields={[
24+
{
25+
label: 'Reason',
26+
value: 'reason',
27+
textSearchable: true,
28+
},
29+
{
30+
label: 'Message',
31+
value: (e: Event) => (
32+
<span className={classes.messageWrape}>{e.message}</span>
33+
),
34+
maxWidth: 600,
35+
},
36+
{
37+
label: 'From',
38+
value: 'component',
39+
},
40+
{
41+
label: 'Last Updated',
42+
value: (e: Event) => moment(e.timestamp).fromNow() || '--',
43+
sortValue: (e: Event) => e.timestamp,
44+
},
45+
]}
46+
/>
47+
</TableWrapper>
5248
</ThemeProvider>
5349
</div>
5450
);

0 commit comments

Comments
 (0)