Skip to content

Commit 60408da

Browse files
working graph
1 parent 5514e1c commit 60408da

File tree

15 files changed

+1328
-220
lines changed

15 files changed

+1328
-220
lines changed

package-lock.json

Lines changed: 547 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
"@ui5/webcomponents-icons": "^2.7.2",
4040
"@ui5/webcomponents-react": "^2.7.2",
4141
"clsx": "^2.1.1",
42+
"dagre": "^0.8.5",
4243
"dotenv": "^17.0.0",
4344
"fastify": "^5.3.3",
4445
"fastify-plugin": "^5.0.1",
@@ -55,6 +56,7 @@
5556
"react-router-dom": "^7.2.0",
5657
"react-syntax-highlighter": "^15.6.1",
5758
"react-time-ago": "^7.3.3",
59+
"reactflow": "^11.11.4",
5860
"swr": "^2.3.0",
5961
"yaml": "^2.7.1",
6062
"zod": "^4.0.0"
@@ -64,6 +66,7 @@
6466
"@eslint/js": "^9.22.0",
6567
"@graphql-codegen/cli": "^5.0.5",
6668
"@graphql-codegen/client-preset": "^4.8.0",
69+
"@types/dagre": "^0.7.53",
6770
"@types/js-yaml": "^4.0.9",
6871
"@types/node": "^22.13.5",
6972
"@types/react": "^19.0.10",
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
.nodeContainer {
2+
display: flex;
3+
align-items: center;
4+
height: 100%;
5+
padding: 0 10px;
6+
box-sizing: border-box;
7+
overflow: hidden;
8+
justify-content: space-between;
9+
position: relative;
10+
font-family: var(--sapFontFamily);
11+
pointer-events: auto;
12+
}
13+
14+
.nodeContent {
15+
display: flex;
16+
align-items: center;
17+
overflow: hidden;
18+
}
19+
20+
.nodeTextContainer {
21+
overflow: hidden;
22+
}
23+
24+
.nodeLabel {
25+
font-weight: 600;
26+
font-size: 14px;
27+
white-space: nowrap;
28+
overflow: hidden;
29+
text-overflow: ellipsis;
30+
max-width: 120px;
31+
}
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
import React from 'react';
2+
import { Handle, Position } from 'reactflow';
3+
import { ThemingParameters } from '@ui5/webcomponents-react-base';
4+
import { YamlViewButton } from '../Yaml/YamlViewButton';
5+
import StatusIcon from './StatusIcon';
6+
import { CustomNodeProps } from './types';
7+
import styles from './CustomNode.module.css';
8+
9+
const CustomNode: React.FC<CustomNodeProps> = ({ data }) => (
10+
<div
11+
className={styles.nodeContainer}
12+
style={{ fontFamily: ThemingParameters.sapFontFamily }}
13+
>
14+
<Handle
15+
type="target"
16+
position={Position.Top}
17+
style={{ visibility: 'hidden' }}
18+
/>
19+
<Handle
20+
type="source"
21+
position={Position.Bottom}
22+
style={{ visibility: 'hidden' }}
23+
/>
24+
<div className={styles.nodeContent}>
25+
<StatusIcon status={data.status} />
26+
<div className={styles.nodeTextContainer}>
27+
<div className={styles.nodeLabel} title={data.label}>
28+
{data.label}
29+
</div>
30+
{data.type && <div className={styles.nodeType}>{data.type}</div>}
31+
</div>
32+
</div>
33+
<div className={styles.yamlButtonWrapper}>
34+
<YamlViewButton resourceObject={data.item} />
35+
</div>
36+
</div>
37+
);
38+
39+
export default CustomNode;

src/components/Graphs/Flow.tsx

Lines changed: 0 additions & 209 deletions
This file was deleted.
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
.graphContainer {
2+
display: flex;
3+
height: 600px;
4+
border: 1px solid #ddd;
5+
border-radius: 8px;
6+
overflow: hidden;
7+
background-color: #fafafa;
8+
font-family: var(--sapFontFamily);
9+
}
10+
11+
.graphColumn {
12+
flex: 1;
13+
display: flex;
14+
flex-direction: column;
15+
}
16+
17+
.graphToolbar {
18+
padding: 0.5rem;
19+
display: flex;
20+
gap: 1rem;
21+
align-items: center;
22+
}
23+
24+
.centeredMessage {
25+
display: flex;
26+
align-items: center;
27+
justify-content: center;
28+
height: 400px;
29+
font-size: 18px;
30+
color: #888;
31+
}
32+
33+
.errorMessage {
34+
color: #c00;
35+
}

0 commit comments

Comments
 (0)