Skip to content

Commit

Permalink
fix bug #9. Version 0.3.11
Browse files Browse the repository at this point in the history
  • Loading branch information
JC-Orozco committed Jun 10, 2017
1 parent c2257df commit 006ea5e
Show file tree
Hide file tree
Showing 12 changed files with 131 additions and 15 deletions.
4 changes: 2 additions & 2 deletions build/asset-manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"main.css": "static/css/main.875b9939.css",
"main.css.map": "static/css/main.875b9939.css.map",
"main.js": "static/js/main.a6d031b9.js",
"main.js.map": "static/js/main.a6d031b9.js.map"
"main.js": "static/js/main.29226bfa.js",
"main.js.map": "static/js/main.29226bfa.js.map"
}
2 changes: 1 addition & 1 deletion build/index.html
Original file line number Diff line number Diff line change
@@ -1 +1 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name="theme-color" content="#000000"><link rel="manifest" href="/BlocksIDE/build/manifest.json"><link rel="shortcut icon" href="/BlocksIDE/build/favicon.ico"><title>React App</title><link href="/BlocksIDE/build/static/css/main.875b9939.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script type="text/javascript" src="/BlocksIDE/build/static/js/main.a6d031b9.js"></script></body></html>
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name="theme-color" content="#000000"><link rel="manifest" href="/BlocksIDE/build/manifest.json"><link rel="shortcut icon" href="/BlocksIDE/build/favicon.ico"><title>React App</title><link href="/BlocksIDE/build/static/css/main.875b9939.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script type="text/javascript" src="/BlocksIDE/build/static/js/main.29226bfa.js"></script></body></html>
2 changes: 1 addition & 1 deletion build/service-worker.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions build/static/js/main.29226bfa.js

Large diffs are not rendered by default.

Large diffs are not rendered by default.

2 changes: 0 additions & 2 deletions build/static/js/main.a6d031b9.js

This file was deleted.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "BlocksIDE",
"version": "0.3.10",
"version": "0.3.11",
"homepage": "https://jc-orozco.github.io/BlocksIDE/build",
"private": true,
"dependencies": {
Expand Down
3 changes: 2 additions & 1 deletion src/components/Blockly1.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -358,7 +358,8 @@ class Blockly1 extends Component {
<block type="bi_named_function"></block>
<!-- <block type="bi_call"></block> -->
<block type="bi_call_editable"></block>
<block type="bi_call_editable_return"></block>
<block type="bi_call_editable_return"></block> <block type="bi_anon_call_editable"></block>
<block type="bi_anon_call_editable_return"></block>
<block type="bi_field"></block>
<block type="bi_field_return"></block>
<block type="bi_adaptor"></block>
Expand Down
58 changes: 57 additions & 1 deletion src/lib/bi_blockly/blocks/bi_blockly.js
Original file line number Diff line number Diff line change
Expand Up @@ -468,9 +468,65 @@ Blockly.Blocks['bi_call_return'] = {
}
};

Blockly.Blocks['bi_anon_call_editable'] = {
/**
* Block for building anonymous call
* @this Blockly.Block
*/
init: function() {
this.appendValueInput('function')
.appendField('(');
this.appendDummyInput()
.appendField(')(');
this.setHelpUrl('http://www.example.com/');
this.setColour(330);
this.appendAddSubGroup('', 'items',
null,
'');
this.appendValueInput('chain')
.appendField(')')
.setCheck(null); // (['Method', 'Field']);
this.itemCount_ = 1;
this.updateShape_();
this.setInputsInline(true);
this.setPreviousStatement(true, null); // 'Method');
this.setNextStatement(true, null); // 'Method');
//this.setOutput(true, 'Array');
this.setTooltip('');
}
};

Blockly.Blocks['bi_anon_call_editable_return'] = {
/**
* Block for building anonymous call with return
* @this Blockly.Block
*/
init: function() {
this.appendValueInput('function')
.appendField('(');
this.appendDummyInput()
.appendField(')(');
this.setHelpUrl('http://www.example.com/');
this.setColour(330);
this.appendAddSubGroup('', 'items',
null,
'');
this.appendValueInput('chain')
.appendField(')')
.setCheck(null); // (['Method', 'Field']);
this.itemCount_ = 1;
this.updateShape_();
this.setInputsInline(true);
//this.setPreviousStatement(true, null); // 'Method');
//this.setNextStatement(true, null); // 'Method');
this.setOutput(true, 'Array');
this.setTooltip('');
}
};

Blockly.Blocks['bi_call_editable'] = {
/**
* Block for creating a list with any number of elements of any type.
* Block for ...
* @this Blockly.Block
*/
init: function() {
Expand Down
44 changes: 42 additions & 2 deletions src/lib/bi_blockly/generators/javascript/bi_blockly.js
Original file line number Diff line number Diff line change
Expand Up @@ -286,8 +286,49 @@ Blockly.JavaScript['bi_call'] = function(block) {
//return code;
};

Blockly.JavaScript['bi_anon_call_editable'] = function(block) {
var value_function = Blockly.JavaScript.valueToCode(block, 'function', Blockly.JavaScript.ORDER_ATOMIC);
var value_chain = Blockly.JavaScript.valueToCode(block, 'chain', Blockly.JavaScript.ORDER_ATOMIC);
var codeArr = new Array(block.itemCount_-1); // block.itemCount_);
for (var n = 1; n < block.itemCount_; n++) {
// code[n] = Blockly.JavaScript.valueToCode(block, 'ADD' + n,
// Blockly.JavaScript.ORDER_COMMA) || 'null';
// TODO: Fix the naming on the AddSubGroup block and use code above
codeArr[n-1] = Blockly.JavaScript.valueToCode(block, 'items' + n,
Blockly.JavaScript.ORDER_COMMA) || 'null';
}
var chain = "";
if(value_chain !== ""){
chain = "\n ."+value_chain.trim();
}
//var code = text_name.substr(1, text_name.length-2) + '(' + codeArr.join(', ') + ')' + chain;
var code = '(' + value_function + ')(' + codeArr.join(', ') + ')' + chain+'\n';
//return [code, Blockly.JavaScript.ORDER_ATOMIC];
return code;
};

Blockly.JavaScript['bi_anon_call_editable_return'] = function(block) {
var value_function = Blockly.JavaScript.valueToCode(block, 'function', Blockly.JavaScript.ORDER_ATOMIC);
var value_chain = Blockly.JavaScript.valueToCode(block, 'chain', Blockly.JavaScript.ORDER_ATOMIC);
var codeArr = new Array(block.itemCount_-1); // block.itemCount_);
for (var n = 1; n < block.itemCount_; n++) {
// code[n] = Blockly.JavaScript.valueToCode(block, 'ADD' + n,
// Blockly.JavaScript.ORDER_COMMA) || 'null';
// TODO: Fix the naming on the AddSubGroup block and use code above
codeArr[n-1] = Blockly.JavaScript.valueToCode(block, 'items' + n,
Blockly.JavaScript.ORDER_COMMA) || 'null';
}
var chain = "";
if(value_chain !== ""){
chain = "\n ."+value_chain.trim();
}
//var code = text_name.substr(1, text_name.length-2) + '(' + codeArr.join(', ') + ')' + chain;
var code = '(' + value_function + ')(' + codeArr.join(', ') + ')' + chain;
return [code, Blockly.JavaScript.ORDER_ATOMIC];
//return code;
};

Blockly.JavaScript['bi_call_editable'] = function(block) {
// Create a list with any number of elements of any type.
var text_name = block.getFieldValue('NAME');
var value_chain = Blockly.JavaScript.valueToCode(block, 'chain', Blockly.JavaScript.ORDER_ATOMIC);
var codeArr = new Array(block.itemCount_-1); // block.itemCount_);
Expand All @@ -309,7 +350,6 @@ Blockly.JavaScript['bi_call_editable'] = function(block) {
};

Blockly.JavaScript['bi_call_editable_return'] = function(block) {
// Create a list with any number of elements of any type.
var text_name = block.getFieldValue('NAME');
var value_chain = Blockly.JavaScript.valueToCode(block, 'chain', Blockly.JavaScript.ORDER_ATOMIC);
var codeArr = new Array(block.itemCount_-1); // block.itemCount_);
Expand Down
23 changes: 21 additions & 2 deletions src/lib/js2blocks.js
Original file line number Diff line number Diff line change
Expand Up @@ -1049,6 +1049,8 @@ export function walk1(ast, options){
if(debug) console.log("CallExpression");
current_call = true;
var block1;
var node3;
var value1;
var name;
if(node.callee.type === "MemberExpression"){
block1 = newNode('block', {type:'bi_call_editable_return'});
Expand All @@ -1062,13 +1064,30 @@ export function walk1(ast, options){
}
current_node.appendChild(block1);
name = node.callee.name;
} else if(node.callee.type === "FunctionExpression"){
if(expression_statement){
expression_statement = false;
block1 = newNode('block', {type:'bi_anon_call_editable'});
} else {
block1 = newNode('block', {type:'bi_anon_call_editable_return'});
}
current_node.appendChild(block1);
}
var mutation1 = newNode('mutation', {items:node.arguments.length+1, names:''}) // TODO: Take out +1 when AddSub... is fixed on the actual length required.
block1.appendChild(mutation1);
block1.appendChild(newNode('field',{name:'NAME'},name));
let value1 = newNode('value',{name:'chain'});
node3 = current_node
if(node.callee.type === "FunctionExpression"){
let func1 = newNode('value',{name:'function'},'')
block1.appendChild(func1);
current_node = func1
current_call = false
} else {
block1.appendChild(newNode('field',{name:'NAME'},name));
}
value1 = newNode('value',{name:'chain'});
current_path_chain.push(value1);
c(node.callee, st, "Expression")
current_node = node3;
var path_chain1 = current_path_chain; // Save path chain
current_path_chain = [];
var node1 = current_node;
Expand Down
2 changes: 1 addition & 1 deletion src/version.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"version": "0.3.10"
"version": "0.3.11"
}

0 comments on commit 006ea5e

Please sign in to comment.