Skip to content

Commit c944f0d

Browse files
committed
small tweaks and basic mermaid node example
1 parent be9728b commit c944f0d

File tree

3 files changed

+83
-18
lines changed

3 files changed

+83
-18
lines changed

apps/vps-web/src/app/custom-nodes/classes/mermaid-node-class.tsx

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -29,17 +29,15 @@ export class MermaidNode {
2929
mermaid
3030
.render(`_${this.id.replaceAll('-', '')}Mermaid`, mermaidDefintion)
3131
.then((renderResult) => {
32-
setTimeout(() => {
33-
if (this.nodeRenderElement) {
34-
this.nodeRenderElement.innerHTML = renderResult.svg;
35-
}
32+
if (this.nodeRenderElement) {
33+
this.nodeRenderElement.innerHTML = renderResult.svg;
34+
}
3635

37-
resolve({
38-
result: input,
39-
output: input,
40-
followPath: undefined,
41-
});
42-
}, 2000);
36+
resolve({
37+
result: input,
38+
output: input,
39+
followPath: undefined,
40+
});
4341
})
4442
.catch((error) => {
4543
console.error('Error rendering mermaid diagram', error);

apps/vps-web/src/app/custom-nodes/mermaid.tsx

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,12 @@ export const getMermaidNode =
5050
return;
5151
};
5252
const computeAsync = (input: string, loopIndex?: number, payload?: any) => {
53-
return mermaidNode.compute(input, loopIndex, payload);
53+
return mermaidNode.compute(input, loopIndex, payload).then((result) => {
54+
if (rect && rect.resize) {
55+
rect.resize(undefined, true, '.child-node-wrapper > *:first-child');
56+
}
57+
return result;
58+
});
5459
};
5560

5661
return visualNodeFactory(
@@ -87,13 +92,13 @@ export const getMermaidNode =
8792
if (nodeRenderElement) {
8893
mermaidNode.nodeRenderElement = nodeRenderElement;
8994
const resizeObserver = new ResizeObserver(() => {
90-
if (rect && rect.resize) {
91-
rect.resize(
92-
undefined,
93-
true,
94-
'.child-node-wrapper > *:first-child'
95-
);
96-
}
95+
// if (rect && rect.resize) {
96+
// rect.resize(
97+
// undefined,
98+
// true,
99+
// '.child-node-wrapper > *:first-child'
100+
// );
101+
// }
97102
});
98103
resizeObserver.observe(nodeRenderElement);
99104
if (node?.nodeInfo) {
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
{
2+
"schemaType": "flow",
3+
"schemaVersion": "0.0.1",
4+
"id": "1234",
5+
"flows": {
6+
"flow": {
7+
"flowType": "flow",
8+
"nodes": [
9+
{
10+
"id": "2e7ca45f-a13e-4deb-8e8f-cae85b46b091",
11+
"x": 3205.4072698505697,
12+
"y": 1721.4742245852408,
13+
"width": 199.96093174395054,
14+
"height": 180.9296625777389,
15+
"nodeType": "Shape",
16+
"nodeInfo": {
17+
"type": "mermaid-node",
18+
"formValues": {},
19+
"nodeCannotBeReplaced": false,
20+
"showFormOnlyInPopup": false,
21+
"useInCompositionOnly": false,
22+
"keepPopupOpenAfterUpdate": false
23+
}
24+
},
25+
{
26+
"id": "a1af55a9-cd5b-4675-a577-cfc8c57e1cf7",
27+
"x": 2997.67853126743,
28+
"y": 1778.9796798117168,
29+
"width": 74.7109375,
30+
"height": 64,
31+
"nodeType": "Shape",
32+
"nodeInfo": {
33+
"type": "text-node",
34+
"formValues": {
35+
"text": "erDiagram\n CUSTOMER }|..|{ DELIVERY-ADDRESS : has\n CUSTOMER ||--o{ ORDER : places\n CUSTOMER ||--o{ INVOICE : \"liable for\"\n DELIVERY-ADDRESS ||--o{ ORDER : receives\n INVOICE ||--|{ ORDER : covers\n ORDER ||--|{ ORDER-ITEM : includes\n PRODUCT-CATEGORY ||--|{ PRODUCT : contains\n PRODUCT ||--o{ ORDER-ITEM : \"ordered in\""
36+
},
37+
"nodeCannotBeReplaced": true,
38+
"showFormOnlyInPopup": true,
39+
"useInCompositionOnly": false,
40+
"keepPopupOpenAfterUpdate": true
41+
}
42+
},
43+
{
44+
"id": "75229244-ebd1-411d-8c6d-aca0df473c9e",
45+
"x": 3072.38946876743,
46+
"y": 1810.9796798117168,
47+
"endX": 3205.4072698505697,
48+
"endY": 1811.9390558741102,
49+
"startNodeId": "a1af55a9-cd5b-4675-a577-cfc8c57e1cf7",
50+
"endNodeId": "2e7ca45f-a13e-4deb-8e8f-cae85b46b091",
51+
"startThumbName": "output",
52+
"endThumbName": "input",
53+
"lineType": "BezierCubic",
54+
"nodeType": "Connection",
55+
"layer": 1,
56+
"nodeInfo": {}
57+
}
58+
]
59+
}
60+
},
61+
"compositions": {}
62+
}

0 commit comments

Comments
 (0)