@@ -23,6 +23,8 @@ import * as Blockly from 'blockly/core';
23
23
24
24
import { Block } from "../toolbox/items" ;
25
25
import startingOpModeBlocks from '../modules/opmode_start.json' ;
26
+ import startingMechanismBlocks from '../modules/mechanism_start.json' ;
27
+ import startingRobotBlocks from '../modules/robot_start.json' ;
26
28
27
29
import { extendedPythonGenerator } from '../editor/extended_python_generator' ;
28
30
@@ -160,9 +162,15 @@ export function newWorkspaceContent(workspaceName: string): string {
160
162
dateModifiedMillis : 0 ,
161
163
} ;
162
164
163
- const pythonCode = '' ;
164
- const exportedBlocks = '[]' ;
165
- const blocksContent = '{}' ;
165
+ // Create a headless blockly workspace.
166
+ const headlessBlocklyWorkspace = new Blockly . Workspace ( ) ;
167
+ headlessBlocklyWorkspace . options . oneBasedIndex = false ;
168
+ Blockly . serialization . workspaces . load ( startingRobotBlocks , headlessBlocklyWorkspace ) ;
169
+
170
+ extendedPythonGenerator . setCurrentModule ( module ) ;
171
+ const pythonCode = extendedPythonGenerator . workspaceToCode ( headlessBlocklyWorkspace ) ;
172
+ const exportedBlocks = JSON . stringify ( extendedPythonGenerator . getExportedBlocks ( headlessBlocklyWorkspace ) ) ;
173
+ const blocksContent = JSON . stringify ( Blockly . serialization . workspaces . save ( headlessBlocklyWorkspace ) ) ;
166
174
return makeModuleContent ( module , pythonCode , exportedBlocks , blocksContent ) ;
167
175
}
168
176
@@ -181,7 +189,7 @@ export function newMechanismContent(workspaceName: string, mechanismName: string
181
189
// Create a headless blockly workspace.
182
190
const headlessBlocklyWorkspace = new Blockly . Workspace ( ) ;
183
191
headlessBlocklyWorkspace . options . oneBasedIndex = false ;
184
- // TODO: Create the blocks for a new mechanism.
192
+ Blockly . serialization . workspaces . load ( startingMechanismBlocks , headlessBlocklyWorkspace ) ;
185
193
186
194
extendedPythonGenerator . setCurrentModule ( module ) ;
187
195
const pythonCode = extendedPythonGenerator . workspaceToCode ( headlessBlocklyWorkspace ) ;
0 commit comments