diff --git a/modules/frontend/src/main/frontend/package-lock.json b/modules/frontend/src/main/frontend/package-lock.json
index aef5f96..0b89d7e 100644
--- a/modules/frontend/src/main/frontend/package-lock.json
+++ b/modules/frontend/src/main/frontend/package-lock.json
@@ -10829,15 +10829,6 @@
"resolved": "https://registry.npmjs.org/vue-class-component/-/vue-class-component-7.2.5.tgz",
"integrity": "sha512-0CSftHY0bDTD+4FbYkuFf6+iKDjZ4h2in2YYJDRMk5daZIjrgT9LjFHvP7Rzqy9/s1pij3zDtTSLRUjsPWMwqg=="
},
- "vue-console-interactive": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/vue-console-interactive/-/vue-console-interactive-0.4.2.tgz",
- "integrity": "sha512-wZrPhN/1Hw7DNewJxJa8O2O9JRz+19QVGWlpBzfyCLyZNoP2de8u3x23bjxa7pevTAz2BXqMGrO45q2tJ3Ad+Q==",
- "requires": {
- "vue": "^2.5.2",
- "vue-router": "^3.0.1"
- }
- },
"vue-eslint-parser": {
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-7.1.0.tgz",
diff --git a/modules/frontend/src/main/frontend/src/App.vue b/modules/frontend/src/main/frontend/src/App.vue
index 3318799..76ee723 100644
--- a/modules/frontend/src/main/frontend/src/App.vue
+++ b/modules/frontend/src/main/frontend/src/App.vue
@@ -10,7 +10,6 @@
-
@@ -35,7 +34,7 @@ export default {
name: 'app',
title: 'SDG Stadium',
components: {
- "nav-bar": NavBar
+ NavBar
},
data(){
return {
diff --git a/modules/frontend/src/main/frontend/src/components/CodeExecutor.vue b/modules/frontend/src/main/frontend/src/components/CodeExecutor.vue
new file mode 100644
index 0000000..ef4b363
--- /dev/null
+++ b/modules/frontend/src/main/frontend/src/components/CodeExecutor.vue
@@ -0,0 +1,47 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/modules/frontend/src/main/frontend/src/components/PythonExecutor.vue b/modules/frontend/src/main/frontend/src/components/PythonExecutor.vue
deleted file mode 100644
index acce1cb..0000000
--- a/modules/frontend/src/main/frontend/src/components/PythonExecutor.vue
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/modules/frontend/src/main/frontend/src/views/Edit.vue b/modules/frontend/src/main/frontend/src/views/Edit.vue
index e0c484c..26c93d6 100644
--- a/modules/frontend/src/main/frontend/src/views/Edit.vue
+++ b/modules/frontend/src/main/frontend/src/views/Edit.vue
@@ -8,7 +8,7 @@
-
+
@@ -38,10 +38,12 @@ import vgl from 'vue-golden-layout'
Vue.use(vgl);
import 'golden-layout/src/css/goldenlayout-light-theme.css'
+import CodeExecutor from '@/components/CodeExecutor'
+
export default {
name: 'Edit',
components: {
-
+ CodeExecutor
},
data(){
return {
@@ -95,7 +97,7 @@ export default {
},
methods: {
showCode() {
- this.code = this.blocklyInstance.Python.workspaceToCode(this.blocklyWorkspace);
+ this.code = this.blocklyInstance.JavaScript.workspaceToCode(this.blocklyWorkspace);
},
goldenLayoutResizeHandler(e) {
if(e) console.log(e, this.blocklyWorkspace, this.blocklyInstance);
@@ -117,21 +119,32 @@ export default {
blocklyDiv.style.height = ((blocklyArea.offsetHeight?blocklyArea.offsetHeight:blocklyArea.height)-20) + 'px';
this.blocklyInstance.svgResize(this.blocklyWorkspace);
},
- onWorkspaceChange(e) {
- var workspace = this.blocklyInstance.Workspace.getById(e.workspaceId);
- this.code = this.blocklyInstance.JavaScript.workspaceToCode(workspace);
+ onWorkspaceEvent(e) {
+ if(e.type == this.blocklyInstance.Events.UI){
+ // if(e.element == 'click'){
+ console.log("execute block", e.element);
+ // }
+
+ }
+ else
+ {
+ var workspace = this.blocklyInstance.Workspace.getById(e.workspaceId);
+ this.code = this.blocklyInstance.JavaScript.workspaceToCode(workspace);
// chiby.currentApp.generatedContents = code;
// var xml = Blockly.Xml.workspaceToDom(workspace);
// var xml_text = Blockly.Xml.domToText(xml);
// chiby.currentApp.contents = xml_text;
+ }
+ },
+ runBlock(e){
+ console.log("running block ",e);
+ e.stopPropagation();
}
},
mounted() {
- console.log('mounting Blockly editor')
this.blocklyWorkspace = Blockly.inject(this.$refs['editor'],this.options);
this.blocklyInstance = Blockly;
- console.log('mounted Blockly editor')
- this.blocklyInstance.mainWorkspace.addChangeListener(this.onWorkspaceChange);
+ this.blocklyInstance.mainWorkspace.addChangeListener(this.onWorkspaceEvent);
this.goldenLayoutResizeHandler();
}
}