Skip to content

Commit 4375b6a

Browse files
committed
Activate toggles for eval graph
1 parent 226c1f2 commit 4375b6a

2 files changed

Lines changed: 21 additions & 8 deletions

File tree

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"@babel/plugin-transform-private-property-in-object": "^7.24.7",
99
"@emotion/react": "^11.11.4",
1010
"@emotion/styled": "^11.11.5",
11-
"@foerderfunke/matching-engine": "^1.2.6",
11+
"@foerderfunke/matching-engine": "^1.2.7",
1212
"@mui/icons-material": "^5.15.19",
1313
"@mui/material": "^5.15.19",
1414
"@mui/x-charts": "^7.6.2",

src/ui/screens/benefit-page/components/MermaidRulesGraph.js

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,26 @@ import { Typography } from "@mui/material";
55
import mermaid from "mermaid";
66
import AntSwitch from "@/ui/shared-components/AntSwitch";
77
import RegularButton from "@/ui/shared-components/buttons/RegularButton";
8+
import { graphToMermaid } from "@foerderfunke/matching-engine/src/rule-graph/EvalGraph";
9+
import matchingEngineManager from "@/core/managers/matchingEngineManager";
810

911
export default function MermaidRulesGraph({ evalGraph, t }) {
12+
// make SVG zoomable TODO
1013
const [svgContent, setSvgContent] = useState("");
14+
const [graphTypeEval, setGraphTypeEval] = useState(false);
15+
const [printLabels, setPrintLabels] = useState(false);
16+
const [orientationVertical, setOrientationVertical] = useState(true);
1117

1218
useEffect(() => {
1319
if (!evalGraph) return;
14-
const mermaidDef = evalGraph.toMermaid();
20+
renderMermaid();
21+
}, [evalGraph, graphTypeEval, printLabels, orientationVertical]);
22+
23+
const renderMermaid = () => {
24+
const me = matchingEngineManager.matchingEngineInstance;
25+
const mermaidDef = graphToMermaid(
26+
graphTypeEval ? evalGraph.ruleGraph : evalGraph,
27+
me, printLabels, orientationVertical);
1528
mermaid.initialize();
1629
try {
1730
mermaid.parse(mermaidDef);
@@ -21,7 +34,7 @@ export default function MermaidRulesGraph({ evalGraph, t }) {
2134
mermaid.render(`rulesGraph${Date.now()}`, mermaidDef)
2235
.then(({ svg }) => setSvgContent(svg))
2336
.catch((error) => console.error("Mermaid render error:", error));
24-
}, [evalGraph]);
37+
};
2538

2639
return (
2740
<VBox
@@ -39,26 +52,26 @@ export default function MermaidRulesGraph({ evalGraph, t }) {
3952
<HBox gap={4} alignItems="center">
4053
<HBox gap={1} alignItems="center">
4154
<strong>Type:</strong>
42-
<span>Rule</span>
43-
<AntSwitch checked={true} onChange={() => {}} color="white"/>
4455
<span>Evaluation</span>
56+
<AntSwitch checked={graphTypeEval} onChange={(e) => setGraphTypeEval(e.target.checked)} color="white"/>
57+
<span>Rule</span>
4558
</HBox>
4659
<HBox gap={1} alignItems="center">
4760
<strong>Orientation:</strong>
4861
<span>Horizontal</span>
49-
<AntSwitch checked={true} onChange={() => {}} color="white"/>
62+
<AntSwitch checked={orientationVertical} onChange={(e) => setOrientationVertical(e.target.checked)} color="white"/>
5063
<span>Vertical</span>
5164
</HBox>
5265
<HBox gap={1} alignItems="center">
5366
<strong>Datafields:</strong>
5467
<span>URIs</span>
55-
<AntSwitch checked={true} onChange={() => {}} color="white"/>
68+
<AntSwitch checked={printLabels} onChange={(e) => setPrintLabels(e.target.checked)} color="white"/>
5669
<span>Labels</span>
5770
</HBox>
5871
<RegularButton
5972
variant={'blackOutlined'}
6073
text={"Export"}
61-
onClick={() => {}}
74+
onClick={() => alert("TODO")}
6275
size='small'
6376
/>
6477
</HBox>

0 commit comments

Comments
 (0)