From 567f94135b46849f2febd78ea5407d7c65a31dae Mon Sep 17 00:00:00 2001
From: Delucse <46593742+Delucse@users.noreply.github.com>
Date: Tue, 15 Sep 2020 10:29:53 +0200
Subject: [PATCH 01/16] reorganize media files
---
public/media/{ => blockly}/1x1.gif | Bin
public/media/{ => blockly}/click.mp3 | Bin
public/media/{ => blockly}/click.ogg | Bin
public/media/{ => blockly}/click.wav | Bin
public/media/{ => blockly}/delete.mp3 | Bin
public/media/{ => blockly}/delete.ogg | Bin
public/media/{ => blockly}/delete.wav | Bin
public/media/{ => blockly}/disconnect.mp3 | Bin
public/media/{ => blockly}/disconnect.ogg | Bin
public/media/{ => blockly}/disconnect.wav | Bin
public/media/{ => blockly}/dropdown-arrow.svg | 0
public/media/{ => blockly}/handclosed.cur | Bin
public/media/{ => blockly}/handdelete.cur | Bin
public/media/{ => blockly}/handopen.cur | Bin
public/media/{ => blockly}/pilcrow.png | Bin
public/media/{ => blockly}/quote0.png | Bin
public/media/{ => blockly}/quote1.png | Bin
public/media/{ => blockly}/sprites.png | Bin
public/media/{ => blockly}/sprites.svg | 0
src/components/Blockly/BlocklyWindow.js | 2 +-
20 files changed, 1 insertion(+), 1 deletion(-)
rename public/media/{ => blockly}/1x1.gif (100%)
rename public/media/{ => blockly}/click.mp3 (100%)
rename public/media/{ => blockly}/click.ogg (100%)
rename public/media/{ => blockly}/click.wav (100%)
rename public/media/{ => blockly}/delete.mp3 (100%)
rename public/media/{ => blockly}/delete.ogg (100%)
rename public/media/{ => blockly}/delete.wav (100%)
rename public/media/{ => blockly}/disconnect.mp3 (100%)
rename public/media/{ => blockly}/disconnect.ogg (100%)
rename public/media/{ => blockly}/disconnect.wav (100%)
rename public/media/{ => blockly}/dropdown-arrow.svg (100%)
rename public/media/{ => blockly}/handclosed.cur (100%)
rename public/media/{ => blockly}/handdelete.cur (100%)
rename public/media/{ => blockly}/handopen.cur (100%)
rename public/media/{ => blockly}/pilcrow.png (100%)
rename public/media/{ => blockly}/quote0.png (100%)
rename public/media/{ => blockly}/quote1.png (100%)
rename public/media/{ => blockly}/sprites.png (100%)
rename public/media/{ => blockly}/sprites.svg (100%)
diff --git a/public/media/1x1.gif b/public/media/blockly/1x1.gif
similarity index 100%
rename from public/media/1x1.gif
rename to public/media/blockly/1x1.gif
diff --git a/public/media/click.mp3 b/public/media/blockly/click.mp3
similarity index 100%
rename from public/media/click.mp3
rename to public/media/blockly/click.mp3
diff --git a/public/media/click.ogg b/public/media/blockly/click.ogg
similarity index 100%
rename from public/media/click.ogg
rename to public/media/blockly/click.ogg
diff --git a/public/media/click.wav b/public/media/blockly/click.wav
similarity index 100%
rename from public/media/click.wav
rename to public/media/blockly/click.wav
diff --git a/public/media/delete.mp3 b/public/media/blockly/delete.mp3
similarity index 100%
rename from public/media/delete.mp3
rename to public/media/blockly/delete.mp3
diff --git a/public/media/delete.ogg b/public/media/blockly/delete.ogg
similarity index 100%
rename from public/media/delete.ogg
rename to public/media/blockly/delete.ogg
diff --git a/public/media/delete.wav b/public/media/blockly/delete.wav
similarity index 100%
rename from public/media/delete.wav
rename to public/media/blockly/delete.wav
diff --git a/public/media/disconnect.mp3 b/public/media/blockly/disconnect.mp3
similarity index 100%
rename from public/media/disconnect.mp3
rename to public/media/blockly/disconnect.mp3
diff --git a/public/media/disconnect.ogg b/public/media/blockly/disconnect.ogg
similarity index 100%
rename from public/media/disconnect.ogg
rename to public/media/blockly/disconnect.ogg
diff --git a/public/media/disconnect.wav b/public/media/blockly/disconnect.wav
similarity index 100%
rename from public/media/disconnect.wav
rename to public/media/blockly/disconnect.wav
diff --git a/public/media/dropdown-arrow.svg b/public/media/blockly/dropdown-arrow.svg
similarity index 100%
rename from public/media/dropdown-arrow.svg
rename to public/media/blockly/dropdown-arrow.svg
diff --git a/public/media/handclosed.cur b/public/media/blockly/handclosed.cur
similarity index 100%
rename from public/media/handclosed.cur
rename to public/media/blockly/handclosed.cur
diff --git a/public/media/handdelete.cur b/public/media/blockly/handdelete.cur
similarity index 100%
rename from public/media/handdelete.cur
rename to public/media/blockly/handdelete.cur
diff --git a/public/media/handopen.cur b/public/media/blockly/handopen.cur
similarity index 100%
rename from public/media/handopen.cur
rename to public/media/blockly/handopen.cur
diff --git a/public/media/pilcrow.png b/public/media/blockly/pilcrow.png
similarity index 100%
rename from public/media/pilcrow.png
rename to public/media/blockly/pilcrow.png
diff --git a/public/media/quote0.png b/public/media/blockly/quote0.png
similarity index 100%
rename from public/media/quote0.png
rename to public/media/blockly/quote0.png
diff --git a/public/media/quote1.png b/public/media/blockly/quote1.png
similarity index 100%
rename from public/media/quote1.png
rename to public/media/blockly/quote1.png
diff --git a/public/media/sprites.png b/public/media/blockly/sprites.png
similarity index 100%
rename from public/media/sprites.png
rename to public/media/blockly/sprites.png
diff --git a/public/media/sprites.svg b/public/media/blockly/sprites.svg
similarity index 100%
rename from public/media/sprites.svg
rename to public/media/blockly/sprites.svg
diff --git a/src/components/Blockly/BlocklyWindow.js b/src/components/Blockly/BlocklyWindow.js
index 3746676..a31cd15 100644
--- a/src/components/Blockly/BlocklyWindow.js
+++ b/src/components/Blockly/BlocklyWindow.js
@@ -64,7 +64,7 @@ class BlocklyWindow extends Component {
colour: '#4EAF47', // senseBox-green
snap: false
}}
- media={'/media/'}
+ media={'/media/blockly/'}
move={this.props.move !== undefined && !this.props.move ? {} :
{ // https://developers.google.com/blockly/guides/configure/web/move
scrollbars: true,
From 45509774717efc96013447fd9673114b3de906e3 Mon Sep 17 00:00:00 2001
From: Delucse <46593742+Delucse@users.noreply.github.com>
Date: Tue, 15 Sep 2020 14:39:47 +0200
Subject: [PATCH 02/16] upload, download, compile and reset blocks
---
package.json | 1 +
src/components/ClearWorkspace.js | 46 ----------
src/components/Compile.js | 34 ++++++-
src/components/Home.js | 4 +-
src/components/Navbar.js | 2 -
src/components/WorkspaceFunc.js | 146 ++++++++++++++++++++++++++-----
6 files changed, 155 insertions(+), 78 deletions(-)
delete mode 100644 src/components/ClearWorkspace.js
diff --git a/package.json b/package.json
index ff3634c..9f78c9a 100644
--- a/package.json
+++ b/package.json
@@ -13,6 +13,7 @@
"@testing-library/react": "^9.5.0",
"@testing-library/user-event": "^7.2.1",
"blockly": "^3.20200625.2",
+ "file-saver": "^2.0.2",
"prismjs": "^1.20.0",
"react": "^16.13.1",
"react-dom": "^16.13.1",
diff --git a/src/components/ClearWorkspace.js b/src/components/ClearWorkspace.js
deleted file mode 100644
index 2e31b01..0000000
--- a/src/components/ClearWorkspace.js
+++ /dev/null
@@ -1,46 +0,0 @@
-import React, {Component} from 'react';
-import PropTypes from 'prop-types';
-import { connect } from 'react-redux';
-import { clearStats, onChangeCode } from '../actions/workspaceActions';
-import { initialXml } from './Blockly/initialXml.js';
-
-import * as Blockly from 'blockly/core';
-
-import ListItem from '@material-ui/core/ListItem';
-import ListItemIcon from '@material-ui/core/ListItemIcon';
-import ListItemText from '@material-ui/core/ListItemText';
-
-import { faTrashRestore } from "@fortawesome/free-solid-svg-icons";
-import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
-
-class ClearWorkspace extends Component {
-
- clearWorkspace = () => {
- 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();
- workspace.options.maxBlocks = Infinity;
- this.props.onChangeCode();
- this.props.clearStats();
- }
-
- render() {
- return (
-