@@ -4,7 +4,7 @@ import { getCorrectView } from "./renderers/correct";
44import { getLoadingView } from "./renderers/loading" ;
55import { getErrorsView } from "./renderers/diagnostics/errors" ;
66import { getWarningsView } from "./renderers/diagnostics/warnings" ;
7- import { getDiagramView } from "./renderers/diagram" ;
7+ import { renderStateMachineView } from "./renderers/diagram" ;
88import { StateMachine } from "../types/fsm" ;
99import { createMermaidDiagram } from "./fsm" ;
1010
@@ -21,7 +21,7 @@ export function getScript(vscode: any, document: any, window: any) {
2121 let showAllDiagnostics = false ;
2222 let currentFile : string | undefined ;
2323 let expandedErrors = new Set < number > ( ) ;
24- let stateMachine = '' ;
24+ let stateMachineView = '' ;
2525
2626 // initial state
2727 root . innerHTML = getLoadingView ( ) ;
@@ -108,9 +108,14 @@ export function getScript(vscode: any, document: any, window: any) {
108108 currentFile = msg . file ;
109109 if ( ! showAllDiagnostics ) updateView ( ) ;
110110 } else if ( msg . type === 'fsm' ) {
111+ if ( ! msg . sm ) {
112+ stateMachineView = '' ;
113+ updateView ( ) ;
114+ return ;
115+ }
111116 const sm = msg . sm as StateMachine ;
112117 const diagram = createMermaidDiagram ( sm ) ;
113- stateMachine = diagram ? getDiagramView ( diagram , sm ) : '' ;
118+ stateMachineView = renderStateMachineView ( sm , diagram ) ;
114119 updateView ( ) ;
115120 }
116121 } ) ;
@@ -132,12 +137,10 @@ export function getScript(vscode: any, document: any, window: any) {
132137 function updateView ( ) {
133138 let mainView = fileErrors . length > 0 ? getErrorsView ( fileErrors , showAllDiagnostics , currentFile , expandedErrors ) : getCorrectView ( showAllDiagnostics ) ;
134139 let warningsView = fileWarnings . length > 0 ? getWarningsView ( fileWarnings , showAllDiagnostics , currentFile ) : '' ;
135- root . innerHTML = mainView + warningsView + stateMachine ;
140+ root . innerHTML = mainView + warningsView + stateMachineView ;
136141
137142 // re-render mermaid diagram after DOM update
138- if ( stateMachine ) {
139- renderMermaidDiagram ( ) ;
140- }
143+ if ( stateMachineView ) renderMermaidDiagram ( ) ;
141144 }
142145}
143146
0 commit comments