Skip to content

Commit 6674cb3

Browse files
Add incomplete implementation of panel details entry, without styles
Signed-off-by: Adhitya Mamallan <[email protected]>
1 parent d21c7b3 commit 6674cb3

File tree

4 files changed

+61
-19
lines changed

4 files changed

+61
-19
lines changed

src/views/workflow-history-v2/workflow-history-event-details/workflow-history-event-details.tsx

Lines changed: 27 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,11 @@
11
import { useMemo } from 'react';
22

3+
import WorkflowHistoryEventDetailsEntry from '@/views/workflow-history/workflow-history-event-details-entry/workflow-history-event-details-entry';
34
import WorkflowHistoryEventDetailsGroup from '@/views/workflow-history/workflow-history-event-details-group/workflow-history-event-details-group';
45
import { type WorkflowPageParams } from '@/views/workflow-page/workflow-page.types';
56

6-
import WorkflowHistoryGroupDetailsJson from '../workflow-history-group-details-json/workflow-history-group-details-json';
7-
87
import { styled } from './workflow-history-event-details.styles';
9-
import {
10-
type EventDetailsEntries,
11-
type EventDetailsSingleEntry,
12-
} from './workflow-history-event-details.types';
8+
import { type EventDetailsEntries } from './workflow-history-event-details.types';
139

1410
export default function WorkflowHistoryEventDetails({
1511
eventDetails,
@@ -20,9 +16,7 @@ export default function WorkflowHistoryEventDetails({
2016
}) {
2117
const [panelDetails, restDetails] = useMemo(
2218
() =>
23-
eventDetails.reduce<
24-
[Array<EventDetailsSingleEntry>, EventDetailsEntries]
25-
>(
19+
eventDetails.reduce<[EventDetailsEntries, EventDetailsEntries]>(
2620
([panels, rest], entry) => {
2721
if (entry.renderConfig?.showInPanels && !entry.isGroup) {
2822
panels.push(entry);
@@ -45,16 +39,30 @@ export default function WorkflowHistoryEventDetails({
4539
<styled.EventDetailsContainer>
4640
{panelDetails.length > 0 && (
4741
<styled.PanelDetails>
48-
{panelDetails.map((detail) => (
49-
<styled.PanelContainer key={detail.path}>
50-
<WorkflowHistoryGroupDetailsJson
51-
entryPath={detail.path}
52-
entryValue={detail.value}
53-
isNegative={detail.isNegative}
54-
{...workflowPageParams}
55-
/>
56-
</styled.PanelContainer>
57-
))}
42+
{panelDetails.map((detail) => {
43+
return (
44+
<styled.PanelContainer key={detail.path}>
45+
{!detail.isGroup ? (
46+
<WorkflowHistoryEventDetailsEntry
47+
entryKey={detail.key}
48+
entryPath={detail.path}
49+
entryValue={detail.value}
50+
isNegative={detail.isNegative}
51+
renderConfig={detail.renderConfig}
52+
{...workflowPageParams}
53+
/>
54+
) : (
55+
<WorkflowHistoryEventDetailsGroup
56+
entries={restDetails}
57+
decodedPageUrlParams={{
58+
...workflowPageParams,
59+
workflowTab: 'history',
60+
}}
61+
/>
62+
)}
63+
</styled.PanelContainer>
64+
);
65+
})}
5866
</styled.PanelDetails>
5967
)}
6068
<styled.RestDetails>

src/views/workflow-history-v2/workflow-history-panel-details-entry/workflow-history-panel-details-entry.styles.ts

Whitespace-only changes.
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import { type Props } from './workflow-history-panel-details-entry.types';
2+
3+
export default function WorkflowHistoryPanelDetailsEntry({
4+
entryKey,
5+
entryPath,
6+
entryValue,
7+
renderConfig,
8+
isNegative,
9+
...decodedPageUrlParams
10+
}: Props) {
11+
const ValueComponent = renderConfig?.valueComponent;
12+
13+
if (ValueComponent !== undefined) {
14+
return (
15+
<ValueComponent
16+
entryKey={entryKey}
17+
entryPath={entryPath}
18+
entryValue={entryValue}
19+
isNegative={isNegative}
20+
{...decodedPageUrlParams}
21+
/>
22+
);
23+
}
24+
25+
return String(entryValue);
26+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import {
2+
type EventDetailsConfig,
3+
type EventDetailsValueComponentProps,
4+
} from '../workflow-history-event-details/workflow-history-event-details.types';
5+
6+
export type Props = EventDetailsValueComponentProps & {
7+
renderConfig: EventDetailsConfig | null;
8+
};

0 commit comments

Comments
 (0)