generalised BlocklyWindow
This commit is contained in:
parent
4f34811a94
commit
2908bc464f
@ -68,7 +68,7 @@ class BlocklyComponent extends React.Component {
|
|||||||
|
|
||||||
|
|
||||||
return <React.Fragment>
|
return <React.Fragment>
|
||||||
<Card ref={this.blocklyDiv} id="blocklyDiv" />
|
<Card ref={this.blocklyDiv} id="blocklyDiv" style={this.props.style ? this.props.style : {}}/>
|
||||||
<Toolbox toolbox={this.toolbox} />
|
<Toolbox toolbox={this.toolbox} />
|
||||||
</React.Fragment>;
|
</React.Fragment>;
|
||||||
}
|
}
|
||||||
|
@ -28,28 +28,41 @@ class BlocklyWindow extends Component {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
componentDidUpdate(props) {
|
||||||
|
if(props.initialXml !== this.props.initialXml){
|
||||||
|
// guarantees that the current xml-code (this.props.initialXml) is rendered
|
||||||
|
const workspace = Blockly.getMainWorkspace();
|
||||||
|
workspace.clear();
|
||||||
|
Blockly.Xml.domToWorkspace(Blockly.Xml.textToDom(this.props.initialXml), workspace);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
|
console.log(this.props.initialXml);
|
||||||
return (
|
return (
|
||||||
<BlocklyComponent ref={this.simpleWorkspace}
|
<BlocklyComponent ref={this.simpleWorkspace}
|
||||||
readOnly={false}
|
style={this.props.blocklyCSS}
|
||||||
trashcan={true}
|
readOnly={this.props.readOnly !== undefined ? this.props.readOnly : false}
|
||||||
|
trashcan={this.props.trashcan !== undefined ? this.props.trashcan : true}
|
||||||
renderer='zelos'
|
renderer='zelos'
|
||||||
zoom={{ // https://developers.google.com/blockly/guides/configure/web/zoom
|
zoom={{ // https://developers.google.com/blockly/guides/configure/web/zoom
|
||||||
controls: true,
|
controls: this.props.zoomControls !== undefined ? this.props.zoomControls : true,
|
||||||
wheel: false,
|
wheel: false,
|
||||||
startScale: 0.8,
|
startScale: 0.8,
|
||||||
maxScale: 3,
|
maxScale: 3,
|
||||||
minScale: 0.3,
|
minScale: 0.3,
|
||||||
scaleSpeed: 1.2
|
scaleSpeed: 1.2
|
||||||
}}
|
}}
|
||||||
grid={{ // https://developers.google.com/blockly/guides/configure/web/grid
|
grid={this.props.grid !== undefined && !this.props.grid ? {} :
|
||||||
|
{ // https://developers.google.com/blockly/guides/configure/web/grid
|
||||||
spacing: 20,
|
spacing: 20,
|
||||||
length: 1,
|
length: 1,
|
||||||
colour: '#4EAF47', // senseBox-green
|
colour: '#4EAF47', // senseBox-green
|
||||||
snap: false
|
snap: false
|
||||||
}}
|
}}
|
||||||
media={'/media/'}
|
media={'/media/'}
|
||||||
move={{ // https://developers.google.com/blockly/guides/configure/web/move
|
move={this.props.move !== undefined && !this.props.move ? {} :
|
||||||
|
{ // https://developers.google.com/blockly/guides/configure/web/move
|
||||||
scrollbars: true,
|
scrollbars: true,
|
||||||
drag: true,
|
drag: true,
|
||||||
wheel: false
|
wheel: false
|
||||||
|
Loading…
x
Reference in New Issue
Block a user