clear workspace after changing tutorial
This commit is contained in:
parent
7148d66d19
commit
c00c0949e4
@ -1,5 +1,7 @@
|
|||||||
import React, { Component } from 'react';
|
import React, { Component } from 'react';
|
||||||
|
|
||||||
|
import * as Blockly from 'blockly/core';
|
||||||
|
|
||||||
import Breadcrumbs from '../Breadcrumbs';
|
import Breadcrumbs from '../Breadcrumbs';
|
||||||
import StepperHorizontal from './StepperHorizontal';
|
import StepperHorizontal from './StepperHorizontal';
|
||||||
import StepperVertical from './StepperVertical';
|
import StepperVertical from './StepperVertical';
|
||||||
@ -8,6 +10,7 @@ import CodeViewer from '../CodeViewer';
|
|||||||
import NotFound from '../NotFound';
|
import NotFound from '../NotFound';
|
||||||
|
|
||||||
import tutorials from './tutorials.json';
|
import tutorials from './tutorials.json';
|
||||||
|
import { initialXml } from '../Blockly/initialXml.js';
|
||||||
|
|
||||||
import Tabs from '@material-ui/core/Tabs';
|
import Tabs from '@material-ui/core/Tabs';
|
||||||
import Tab from '@material-ui/core/Tab';
|
import Tab from '@material-ui/core/Tab';
|
||||||
@ -23,7 +26,14 @@ class Tutorial extends Component {
|
|||||||
|
|
||||||
componentDidUpdate(props, state){
|
componentDidUpdate(props, state){
|
||||||
if(state.tutorialId !== Number(this.props.match.params.tutorialId)){
|
if(state.tutorialId !== Number(this.props.match.params.tutorialId)){
|
||||||
this.setState({tutorialId: Number(this.props.match.params.tutorialId)})
|
this.setState({tutorialId: Number(this.props.match.params.tutorialId)});
|
||||||
|
// clear workspace
|
||||||
|
const workspace = Blockly.getMainWorkspace();
|
||||||
|
Blockly.Events.disable(); // https://groups.google.com/forum/#!topic/blockly/m7e3g0TC75Y
|
||||||
|
// if events are disabled, then the workspace will be cleared AND the blocks are not in the trashcan
|
||||||
|
const xmlDom = Blockly.Xml.textToDom(initialXml)
|
||||||
|
Blockly.Xml.clearWorkspaceAndLoadFromXml(xmlDom, workspace);
|
||||||
|
Blockly.Events.enable();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user