mirror of
https://github.com/scratchfoundation/scratch-blocks.git
synced 2025-08-28 22:10:31 -04:00
142 lines
3.3 KiB
HTML
142 lines
3.3 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>Horizontal Blockly Playground Compressed</title>
|
|
<script src="../blockly_compressed_horizontal.js"></script>
|
|
<script src="../javascript_compressed.js"></script>
|
|
<script src="../msg/messages.js"></script>
|
|
<script src="../blocks_compressed.js"></script>
|
|
<script src="../blocks_horizontal/event.js"></script>
|
|
<script src="../blocks_horizontal/control.js"></script>
|
|
<script src="../blocks_horizontal/wedo.js"></script>
|
|
<script>
|
|
'use strict';
|
|
// Depending on the URL argument, render as LTR or RTL.
|
|
var rtl = (document.location.search == '?rtl');
|
|
var workspace = null;
|
|
|
|
function start() {
|
|
var toolbox = document.getElementById('toolbox');
|
|
workspace = Blockly.inject('blocklyDiv', {
|
|
comments: false,
|
|
disable: false,
|
|
collapse: false,
|
|
maxBlocks: Infinity,
|
|
media: '../media/',
|
|
readOnly: false,
|
|
rtl: rtl,
|
|
scrollbars: true,
|
|
toolbox: toolbox,
|
|
trashcan: true,
|
|
horizontalLayout: true,
|
|
zoom: {
|
|
controls: true,
|
|
wheel: false,
|
|
startScale: 1.0,
|
|
maxScale: 4,
|
|
minScale: 0.25,
|
|
scaleSpeed: 1.1
|
|
},
|
|
});
|
|
}
|
|
|
|
function toXml() {
|
|
var output = document.getElementById('importExport');
|
|
var xml = Blockly.Xml.workspaceToDom(workspace);
|
|
output.value = Blockly.Xml.domToPrettyText(xml);
|
|
output.focus();
|
|
output.select();
|
|
}
|
|
|
|
function fromXml() {
|
|
var input = document.getElementById('importExport');
|
|
var xml = Blockly.Xml.textToDom(input.value);
|
|
Blockly.Xml.domToWorkspace(workspace, xml);
|
|
}
|
|
|
|
function toCode(lang) {
|
|
var output = document.getElementById('importExport');
|
|
output.value = Blockly[lang].workspaceToCode(workspace);
|
|
}
|
|
</script>
|
|
|
|
<style>
|
|
html, body {
|
|
height: 100%;
|
|
}
|
|
body {
|
|
background-color: #fff;
|
|
font-family: sans-serif;
|
|
overflow: hidden;
|
|
}
|
|
h1 {
|
|
font-weight: normal;
|
|
font-size: 140%;
|
|
}
|
|
#blocklyDiv {
|
|
float: right;
|
|
height: 95%;
|
|
width: 70%;
|
|
}
|
|
#collaborators {
|
|
float: right;
|
|
width: 30px;
|
|
margin-left: 10px;
|
|
}
|
|
#collaborators > img {
|
|
margin-right: 5px;
|
|
height: 30px;
|
|
padding-bottom: 5px;
|
|
width: 30px;
|
|
border-radius: 3px;
|
|
}
|
|
#importExport {
|
|
font-family: monospace;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body onload="start()">
|
|
|
|
<div id="collaborators"></div>
|
|
|
|
<div id="blocklyDiv"></div>
|
|
|
|
<xml id="toolbox" style="display: none">
|
|
<block type="event_whenflagclicked"></block>
|
|
<block type="control_forever"></block>
|
|
<block type="control_repeat">
|
|
<value name="TIMES">
|
|
<shadow type="math_number">
|
|
<field name="NUM">10</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
</xml>
|
|
|
|
<h1>Horizontal blocks compressed!</h1>
|
|
|
|
<p><a href="javascript:void(workspace.setVisible(true))">Show</a>
|
|
- <a href="javascript:void(workspace.setVisible(false))">Hide</a></p>
|
|
|
|
<script>
|
|
if (rtl) {
|
|
document.write('[ ← RTL. Switch to <A HREF="?ltr">LTR</A>. ]');
|
|
} else {
|
|
document.write('[ → LTR. Switch to <A HREF="?rtl">RTL</A>. ]');
|
|
}
|
|
</script>
|
|
|
|
<p>
|
|
<input type="button" value="Export to XML" onclick="toXml()">
|
|
|
|
<input type="button" value="Import from XML" onclick="fromXml()">
|
|
<br>
|
|
<input type="button" value="To JavaScript" onclick="toCode('JavaScript')">
|
|
<br>
|
|
<textarea id="importExport" style="width: 26%; height: 12em"></textarea>
|
|
</p>
|
|
<hr>
|
|
<a href="./vertical_playground_compressed.html">Vertical playground</a>
|
|
</body>
|
|
</html>
|