From 710c28a80367db952cd3abbd735d42cdc7be4e6e Mon Sep 17 00:00:00 2001 From: Michael Stewart Date: Mon, 10 Mar 2025 10:59:41 -0400 Subject: [PATCH 1/2] this seems to work to fix origin#125 --- src/BlocklyWorkspace.tsx | 7 ++++++ src/BlocklyWorkspaceProps.ts | 2 ++ src/dev-index.tsx | 26 +++++++++++++++++--- src/useBlocklyWorkspace.ts | 47 ++++++++++++++++++++++++++++++++++-- 4 files changed, 77 insertions(+), 5 deletions(-) diff --git a/src/BlocklyWorkspace.tsx b/src/BlocklyWorkspace.tsx index 0e48076..8c864b2 100644 --- a/src/BlocklyWorkspace.tsx +++ b/src/BlocklyWorkspace.tsx @@ -6,6 +6,8 @@ import { BlocklyWorkspaceProps } from "./BlocklyWorkspaceProps"; const propTypes = { initialXml: PropTypes.string, initialJson: PropTypes.object, + updateXml: PropTypes.string, + updateJson: PropTypes.object, toolboxConfiguration: PropTypes.object, // eslint-disable-line react/forbid-prop-types workspaceConfiguration: PropTypes.object, // eslint-disable-line react/forbid-prop-types className: PropTypes.string, @@ -21,6 +23,8 @@ const propTypes = { function BlocklyWorkspace({ initialXml, initialJson, + updateXml, + updateJson, toolboxConfiguration, workspaceConfiguration, className, @@ -37,6 +41,8 @@ function BlocklyWorkspace({ ref: editorDiv, initialXml, initialJson, + updateXml, + updateJson, toolboxConfiguration, workspaceConfiguration, onWorkspaceChange, @@ -44,6 +50,7 @@ function BlocklyWorkspace({ onImportError, onInject, onDispose, + }); const onXmlChangeRef = React.useRef(onXmlChange); React.useEffect(() => { diff --git a/src/BlocklyWorkspaceProps.ts b/src/BlocklyWorkspaceProps.ts index ed5ef59..1d566d4 100644 --- a/src/BlocklyWorkspaceProps.ts +++ b/src/BlocklyWorkspaceProps.ts @@ -5,6 +5,8 @@ import { RefObject } from "react"; export interface CommonBlocklyProps { initialXml?: string; initialJson?: object; + updateXml?: string; + updateJson?: object; toolboxConfiguration?: Blockly.utils.toolbox.ToolboxDefinition; workspaceConfiguration: Blockly.BlocklyOptions; onWorkspaceChange?: (workspace: WorkspaceSvg) => void; diff --git a/src/dev-index.tsx b/src/dev-index.tsx index fd5afc4..e077414 100644 --- a/src/dev-index.tsx +++ b/src/dev-index.tsx @@ -15,6 +15,8 @@ const TestEditor = () => { const [generatedXml, setGeneratedXml] = useState(""); const [generatedJson, setGeneratedJson] = useState(""); const [generatedCode, setGeneratedCode] = useState(""); + const [updateXml, setUpdateXml] = useState(""); + const [updateJson, setUpdateJson] = useState({}); React.useEffect(() => { window.setTimeout(() => { @@ -85,7 +87,7 @@ const TestEditor = () => { const [serialState, setSerialState] = useState<"XML" | "JSON">("XML"); return ( <> -
+
-
{generatedXml}
-

{generatedJson}

+