Skip to content

Commit 5d4f2c9

Browse files
committed
WIP
1 parent 6067cc7 commit 5d4f2c9

9 files changed

Lines changed: 167 additions & 143 deletions

File tree

modules/apps/object/object-web/src/main/resources/META-INF/resources/js/components/ModelBuilder/Edges/DefaultEdge.tsx

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -16,19 +16,22 @@ import {useFolderContext} from '../ModelBuilderContext/objectFolderContext';
1616
import {TYPES} from '../ModelBuilderContext/typesEnum';
1717
import {ObjectRelationshipEdgeData} from '../types';
1818
import {getEdgeParams} from '../utils';
19-
import ManyMarkerEnd from './ManyMarkerEnd';
20-
import OneMarkerEnd from './OneMarkerEnd';
19+
import ManyMarker from './ManyMarker';
20+
import OneMarker from './OneMarker';
21+
22+
const defaultColor = '#80ACFF';
23+
const highlightColor = '#0B5FFF';
2124

2225
export function getInitialEdgeStyle(edgeSelected: boolean) {
2326
return {
24-
stroke: edgeSelected ? '#0B5FFF' : '#80ACFF',
27+
stroke: edgeSelected ? highlightColor : defaultColor,
2528
strokeWidth: '2px',
2629
};
2730
}
2831

2932
export function getInitialLabelBgStyle(edgeSelected: boolean) {
3033
return {
31-
fill: edgeSelected ? '#0B5FFF' : '#80ACFF',
34+
fill: edgeSelected ? highlightColor : defaultColor,
3235
height: '24px',
3336
};
3437
}
@@ -72,23 +75,23 @@ export default function DefaultEdge({
7275
useEffect(() => {
7376
if (edgeSelected) {
7477
setEdgeStyle((style) => {
75-
return {...style, stroke: '#0B5FFF'};
78+
return {...style, stroke: highlightColor};
7679
});
7780
setLabelBgStyle((style) => {
7881
return {
7982
...style,
80-
fill: '#0B5FFF',
83+
fill: highlightColor,
8184
};
8285
});
8386
}
8487
else {
8588
setEdgeStyle((style) => {
86-
return {...style, stroke: '#80ACFF'};
89+
return {...style, stroke: defaultColor};
8790
});
8891
setLabelBgStyle((style) => {
8992
return {
9093
...style,
91-
fill: '#80ACFF',
94+
fill: defaultColor,
9295
};
9396
});
9497
}
@@ -115,33 +118,33 @@ export default function DefaultEdge({
115118
const edgePath = getSmoothStepPath({
116119
sourcePosition: sourcePos,
117120
sourceX,
118-
sourceY,
121+
sourceY: sourceY + currentSourceY,
119122
targetPosition: targetPos,
120123
targetX,
121-
targetY,
124+
targetY: targetY + currentTargetY,
122125
});
123126

124127
const reverseEdgePath = getSmoothStepPath({
125128
sourcePosition: targetPos,
126-
sourceX,
127-
sourceY,
129+
sourceX: targetX,
130+
sourceY: targetY + currentTargetY,
128131
targetPosition: sourcePos,
129-
targetX,
130-
targetY,
132+
targetX: sourceX,
133+
targetY: sourceY + currentSourceY,
131134
});
132135

133136
const [edgeCenterX, edgeCenterY] = getEdgeCenter({
134137
sourceX,
135-
sourceY,
138+
sourceY: sourceY + currentSourceY,
136139
targetX,
137-
targetY,
140+
targetY: targetY + currentTargetY,
138141
});
139142

140143
return (
141144
<g className="react-flow__connection">
142-
<OneMarkerEnd />
145+
<OneMarker />
143146

144-
<ManyMarkerEnd />
147+
<ManyMarker />
145148

146149
<path
147150
className="react-flow__edge-path"
Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,21 @@
1-
.react-flow__connection {
2-
cursor: pointer;
1+
.lfr-objects__model-builder-self-edge-dropdown-item {
2+
align-items: center;
3+
display: flex;
4+
justify-content: space-between;
5+
}
6+
7+
.react-flow__edge {
8+
.react-flow__connection {
9+
cursor: pointer;
10+
}
11+
12+
marker {
13+
fill: #80acff;
14+
}
15+
16+
&.selected {
17+
marker {
18+
fill: #0b5fff !important;
19+
}
20+
}
321
}

modules/apps/object/object-web/src/main/resources/META-INF/resources/js/components/ModelBuilder/Edges/ManyMarkerEnd.tsx renamed to modules/apps/object/object-web/src/main/resources/META-INF/resources/js/components/ModelBuilder/Edges/ManyMarker.tsx

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,33 +7,25 @@ import React from 'react';
77

88
export const manyMarkerId = 'manyMarker';
99

10-
export default function ManyMarkerEnd() {
10+
export default function ManyMarker() {
1111
return (
1212
<defs>
1313
<marker
14-
fill="none"
1514
id={manyMarkerId}
16-
markerHeight="8"
17-
markerWidth="20"
15+
markerHeight="10"
16+
markerWidth="22"
1817
orient="auto"
19-
refX="20"
18+
refX="13"
2019
refY="9"
2120
viewBox="0 0 9 19"
2221
>
2322
<path
2423
clipRule="evenodd"
2524
d="M12.4788 17.7526C12.0632 18.1162 11.4314 18.0741 11.0677 17.6585L4.06772 9.65849C3.73783 9.28146 3.73783 8.71851 4.06772 8.34148L11.0677 0.341482C11.4314 -0.074154 12.0632 -0.116272 12.4788 0.24741C12.8944 0.611092 12.9366 1.24286 12.5729 1.65849L6.14907 8.99999L12.5729 16.3415C12.9366 16.7571 12.8944 17.3889 12.4788 17.7526Z"
26-
fill="#0B5FFF"
2725
fillRule="evenodd"
2826
/>
2927

30-
<rect
31-
fill="#0B5FFF"
32-
height="18"
33-
rx="1"
34-
width="2"
35-
x="0.820312"
36-
/>
28+
<rect height="18" rx="1" width="2" x="0.820312" />
3729
</marker>
3830
</defs>
3931
);
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
/**
2+
* SPDX-FileCopyrightText: (c) 2000 Liferay, Inc. https://liferay.com
3+
* SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06
4+
*/
5+
6+
import React from 'react';
7+
8+
export const oneMarkerId = 'oneMarker';
9+
10+
export default function OneMarker() {
11+
return (
12+
<defs>
13+
<marker
14+
id={oneMarkerId}
15+
markerHeight="10"
16+
markerWidth="22"
17+
orient="auto"
18+
refX="18"
19+
refY="9"
20+
viewBox="0 0 9 19"
21+
>
22+
<rect height="18" rx="1" width="2" x="5.17969" />
23+
24+
<rect height="18" rx="1" width="2" x="10.1797" />
25+
</marker>
26+
</defs>
27+
);
28+
}

modules/apps/object/object-web/src/main/resources/META-INF/resources/js/components/ModelBuilder/Edges/OneMarkerEnd.tsx

Lines changed: 0 additions & 45 deletions
This file was deleted.

0 commit comments

Comments
 (0)