11import React from "react" ;
2- import Blockly , { Workspace , WorkspaceSvg } from "blockly" ;
2+ import * as Blockly from "blockly/core" ;
3+ import { Workspace , WorkspaceSvg } from "blockly" ;
34import { UseBlocklyProps } from "./BlocklyWorkspaceProps" ;
45
56import debounce from "./debounce" ;
@@ -50,10 +51,14 @@ const useBlocklyWorkspace = ({
5051 onImportError,
5152 onInject,
5253 onDispose,
53- } : UseBlocklyProps ) : { workspace : WorkspaceSvg | null ; xml : string | null , json : object | null } => {
54- // onImportError replaces onImportXmlError
54+ } : UseBlocklyProps ) : {
55+ workspace : WorkspaceSvg | null ;
56+ xml : string | null ;
57+ json : object | null ;
58+ } => {
59+ // onImportError replaces onImportXmlError
5560 // This is done for not breaking the signature until depreaction
56- onImportError = onImportError ?? onImportXmlError
61+ onImportError = onImportError ?? onImportXmlError ;
5762
5863 const [ workspace , setWorkspace ] = React . useState < WorkspaceSvg | null > ( null ) ;
5964 const [ xml , setXml ] = React . useState < string | null > ( initialXml || null ) ;
@@ -72,7 +77,11 @@ const useBlocklyWorkspace = ({
7277 const toolboxConfigurationRef = React . useRef ( toolboxConfiguration ) ;
7378 React . useEffect ( ( ) => {
7479 toolboxConfigurationRef . current = toolboxConfiguration ;
75- if ( toolboxConfiguration && workspace && ! workspaceConfiguration ?. readOnly ) {
80+ if (
81+ toolboxConfiguration &&
82+ workspace &&
83+ ! workspaceConfiguration ?. readOnly
84+ ) {
7685 workspace . updateToolbox ( toolboxConfiguration ) ;
7786 }
7887 } , [ toolboxConfiguration , workspace , workspaceConfiguration ] ) ;
@@ -180,15 +189,14 @@ const useBlocklyWorkspace = ({
180189 setXml ( null ) ;
181190 }
182191 setDidInitialImport ( true ) ;
183- }
184- else if ( json && workspace && ! didInitialImport ) {
192+ } else if ( json && workspace && ! didInitialImport ) {
185193 const success = importFromJson ( json , workspace , onImportError ) ;
186194 if ( ! success ) {
187195 setJson ( null ) ;
188196 }
189197 const jsonToXml = Blockly . Xml . domToText (
190198 Blockly . Xml . workspaceToDom ( workspace )
191- )
199+ ) ;
192200 setXml ( jsonToXml ) ;
193201 setDidInitialImport ( true ) ;
194202 }
0 commit comments