fix #58
This commit is contained in:
		
							parent
							
								
									65fa627aeb
								
							
						
					
					
						commit
						190d676e5b
					
				| @ -21,9 +21,18 @@ class BlocklyWindow extends Component { | ||||
|   } | ||||
| 
 | ||||
|   componentDidMount() { | ||||
|     console.log(this.props); | ||||
|     const workspace = Blockly.getMainWorkspace(); | ||||
|     this.props.onChangeWorkspace({}); | ||||
|     this.props.clearStats(); | ||||
| 
 | ||||
|     if (this.props.workspaceXML !== "") { | ||||
|       Blockly.Xml.clearWorkspaceAndLoadFromXml( | ||||
|         Blockly.Xml.textToDom(this.props.workspaceXML), | ||||
|         workspace | ||||
|       ); | ||||
|     } else { | ||||
|       this.props.onChangeWorkspace({}); | ||||
|       this.props.clearStats(); | ||||
|     } | ||||
|     workspace.addChangeListener((event) => { | ||||
|       this.props.onChangeWorkspace(event); | ||||
|       // switch on that a block is displayed disabled or not depending on whether it is correctly connected
 | ||||
| @ -38,6 +47,8 @@ class BlocklyWindow extends Component { | ||||
|   componentDidUpdate(props) { | ||||
|     const workspace = Blockly.getMainWorkspace(); | ||||
|     var xml = this.props.initialXml; | ||||
|     console.log(xml) | ||||
|     console.log(this.props.xml) | ||||
|     // if svg is true, then the update process is done in the BlocklySvg component
 | ||||
|     if (props.initialXml !== xml && !this.props.svg) { | ||||
|       // guarantees that the current xml-code (this.props.initialXml) is rendered
 | ||||
| @ -45,6 +56,7 @@ class BlocklyWindow extends Component { | ||||
|       if (!xml) xml = initialXml; | ||||
|       Blockly.Xml.domToWorkspace(Blockly.Xml.textToDom(xml), workspace); | ||||
|     } | ||||
| 
 | ||||
|     if (props.language !== this.props.language) { | ||||
|       // change language
 | ||||
|       if (!xml) xml = initialXml; | ||||
| @ -101,12 +113,14 @@ BlocklyWindow.propTypes = { | ||||
|   onChangeWorkspace: PropTypes.func.isRequired, | ||||
|   clearStats: PropTypes.func.isRequired, | ||||
|   renderer: PropTypes.string.isRequired, | ||||
|   language: PropTypes.string.isRequired | ||||
|   language: PropTypes.string.isRequired, | ||||
|   workspaceXML: PropTypes.string.isRequired, | ||||
| }; | ||||
| 
 | ||||
| const mapStateToProps = state => ({ | ||||
|   renderer: state.general.renderer, | ||||
|   language: state.general.language | ||||
|   language: state.general.language.Blockly, | ||||
|   workspaceXML: state.workspace.code.xml, | ||||
| }); | ||||
| 
 | ||||
| export default connect(mapStateToProps, { onChangeWorkspace, clearStats })(BlocklyWindow); | ||||
|  | ||||
| @ -114,7 +114,7 @@ class Home extends Component { | ||||
|             <div className='blocklyWindow'> | ||||
|               {this.props.project ? | ||||
|                 < BlocklyWindow blocklyCSS={{ height: '80vH' }} initialXml={this.props.project.xml} /> | ||||
|                 : < BlocklyWindow blocklyCSS={{ height: '80vH' }} /> | ||||
|                 : < BlocklyWindow blocklyCSS={{ height: '80vH' }}/> | ||||
|               } | ||||
|             </div> | ||||
|           </Grid> | ||||
| @ -141,12 +141,14 @@ Home.propTypes = { | ||||
|   clearStats: PropTypes.func.isRequired, | ||||
|   workspaceName: PropTypes.func.isRequired, | ||||
|   message: PropTypes.object.isRequired, | ||||
|   statistics: PropTypes.bool.isRequired | ||||
|   statistics: PropTypes.bool.isRequired, | ||||
|    | ||||
| }; | ||||
| 
 | ||||
| const mapStateToProps = state => ({ | ||||
|   message: state.message, | ||||
|   statistics: state.general.statistics | ||||
|   statistics: state.general.statistics, | ||||
| 
 | ||||
| }); | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user