Skip to content

Commit e4b0698

Browse files
microbit-sammicrobit-carlos
authored andcommitted
Lazy Load Blocks (#101)
1 parent 98f7ad2 commit e4b0698

File tree

2 files changed

+32
-18
lines changed

2 files changed

+32
-18
lines changed

editor.html

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -256,24 +256,6 @@ <h2><i class="fa fa-unlock-alt"></i> <strong>{{ title }}</strong></h2>
256256
type="application/javascript"></script>
257257
<script src="static/js/polyfill.min.js" type="application/javascript"></script>
258258
<script src="static/js/intel-hex.browser.js" type="application/javascript"></script>
259-
<script src="blockly/blockly_compressed.js"></script>
260-
<script src="blockly/blocks_compressed.js"></script>
261-
<script src="blockly/python_compressed.js"></script>
262-
<script src="microbit_blocks/blocks/microbit.js"></script>
263-
<script src="microbit_blocks/generators/accelerometer.js"></script>
264-
<script src="microbit_blocks/generators/buttons.js"></script>
265-
<script src="microbit_blocks/generators/compass.js"></script>
266-
<script src="microbit_blocks/generators/display.js"></script>
267-
<script src="microbit_blocks/generators/image.js"></script>
268-
<script src="microbit_blocks/generators/microbit.js"></script>
269-
<script src="microbit_blocks/generators/music.js"></script>
270-
<script src="microbit_blocks/generators/neopixel.js"></script>
271-
<script src="microbit_blocks/generators/pins.js"></script>
272-
<script src="microbit_blocks/generators/radio.js"></script>
273-
<script src="microbit_blocks/generators/speech.js"></script>
274-
<script src="microbit_blocks/generators/python.js"></script>
275-
<script src="blockly/msg/js/en.js"></script>
276-
<script src="microbit_blocks/messages/en/messages.js"></script>
277259
<script src="static/js/ResizeSensor.js"></script>
278260
<script src="static/js/ElementQueries.js"></script>
279261
<script src="lzma/lzma_worker.js"></script>

python-main.js

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,19 @@ Feel free to have a look around! (We've commented the code so you can see what
55
everything does.)
66
*/
77

8+
/*
9+
Lazy load JS script files.
10+
*/
11+
function script(url) {
12+
var s = document.createElement('script');
13+
s.type = 'text/javascript';
14+
s.async = false;
15+
s.defer = true;
16+
s.src = url;
17+
var x = document.getElementsByTagName('head')[0];
18+
x.appendChild(s);
19+
}
20+
821
/*
922
Returns an object that defines the behaviour of the Python editor. The editor
1023
is attached to the div with the referenced id.
@@ -203,6 +216,25 @@ function web_editor(config) {
203216
function setupFeatureFlags() {
204217
if(config.flags.blocks) {
205218
$("#command-blockly").removeClass('hidden');
219+
// Add includes
220+
script('blockly/blockly_compressed.js');
221+
script('blockly/blocks_compressed.js');
222+
script('blockly/python_compressed.js');
223+
script('microbit_blocks/blocks/microbit.js');
224+
script('microbit_blocks/generators/accelerometer.js');
225+
script('microbit_blocks/generators/buttons.js');
226+
script('microbit_blocks/generators/compass.js');
227+
script('microbit_blocks/generators/display.js');
228+
script('microbit_blocks/generators/image.js');
229+
script('microbit_blocks/generators/microbit.js');
230+
script('microbit_blocks/generators/music.js');
231+
script('microbit_blocks/generators/neopixel.js');
232+
script('microbit_blocks/generators/pins.js');
233+
script('microbit_blocks/generators/radio.js');
234+
script('microbit_blocks/generators/speech.js');
235+
script('microbit_blocks/generators/python.js');
236+
script('blockly/msg/js/en.js');
237+
script('microbit_blocks/messages/en/messages.js');
206238
}
207239
if(config.flags.snippets) {
208240
$("#command-snippet").removeClass('hidden');

0 commit comments

Comments
 (0)