File tree Expand file tree Collapse file tree 2 files changed +21
-17
lines changed
apps/vps-web/src/app/custom-nodes Expand file tree Collapse file tree 2 files changed +21
-17
lines changed Original file line number Diff line number Diff line change @@ -4,12 +4,16 @@ import {
44} from '@devhelpr/visual-programming-system' ;
55import mermaid from 'mermaid' ;
66
7+ mermaid . initialize ( {
8+ startOnLoad : true ,
9+ } ) ;
10+
711export class MermaidNode {
812 nodeRenderElement : HTMLElement | undefined = undefined ;
9- constructor ( ) {
10- mermaid . initialize ( {
11- startOnLoad : true ,
12- } ) ;
13+
14+ id : string ;
15+ constructor ( id : string ) {
16+ this . id = id ;
1317 }
1418 compute = (
1519 input : string ,
@@ -23,19 +27,19 @@ export class MermaidNode {
2327 . replaceAll ( '```' , '' )
2428 . trim ( ) ;
2529 mermaid
26- . render ( 'dynamic' , mermaidDefintion )
30+ . render ( `_ ${ this . id . replaceAll ( '-' , '' ) } Mermaid` , mermaidDefintion )
2731 . then ( ( renderResult ) => {
28- if ( this . nodeRenderElement ) {
29- this . nodeRenderElement . innerHTML = renderResult . svg ;
30- }
31- // if (rect && rect.resize) {
32- // rect.resize(undefined, true, '.mermaid');
33- // }
34- resolve ( {
35- result : input ,
36- output : input ,
37- followPath : undefined ,
38- } ) ;
32+ setTimeout ( ( ) => {
33+ if ( this . nodeRenderElement ) {
34+ this . nodeRenderElement . innerHTML = renderResult . svg ;
35+ }
36+
37+ resolve ( {
38+ result : input ,
39+ output : input ,
40+ followPath : undefined ,
41+ } ) ;
42+ } , 2000 ) ;
3943 } )
4044 . catch ( ( error ) => {
4145 console . error ( 'Error rendering mermaid diagram' , error ) ;
Original file line number Diff line number Diff line change @@ -70,7 +70,7 @@ export const getMermaidNode =
7070 ( nodeInstance ) => {
7171 rect = nodeInstance . rect ;
7272 node = nodeInstance . node as IRectNodeComponent < NodeInfo > ;
73- mermaidNode = new MermaidNode ( ) ;
73+ mermaidNode = new MermaidNode ( node . id ) ;
7474
7575 const childNodeWrapper = ( nodeRenderElement = (
7676 rect ?. nodeComponent ?. domElement as HTMLElement
You can’t perform that action at this time.
0 commit comments