gobstones-blockly 0.19.2 → 0.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/assets/htmls/gs-element-blockly.html +47 -12
- data/lib/gobstones/blockly/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 920c5934d5686a81610961b1ebeb8fd20d69d5f99a25d70ee13f68eca2f7ad99
|
4
|
+
data.tar.gz: a794e4321b9aa6b894bc4f1e063cae3489a61093617b4fd18ca315d0fe0f8e61
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 43b7372f467fd059bec1d83b2b6a24d54f63eb2d652882bd0570bfc51428e1cdccfce2eaa42e81b393797536b32715d657dfc6da6d7d8175fe14d33333033b23
|
7
|
+
data.tar.gz: 2688976a1d3c2f031e1c1639eaad57682173b25b9a70df32e08f99e06036305e66979eb1b04ec0bdcd63c400faa75ef4865b3eae04ec4af50978cd36772ad255
|
@@ -41,7 +41,7 @@ Example:
|
|
41
41
|
<block type="VaciarTablero"></block>
|
42
42
|
<block type="BOOM"></block>
|
43
43
|
</category>
|
44
|
-
<category name="Procedimientos primitivos">
|
44
|
+
<category name="Procedimientos primitivos" gbs_custom="PRIMITIVE_PROCEDURES">
|
45
45
|
</category>
|
46
46
|
<category name="Mis procedimientos" custom="PROCEDURE_CALLS">
|
47
47
|
</category>
|
@@ -69,7 +69,7 @@ Example:
|
|
69
69
|
<block type="puedeMover"></block>
|
70
70
|
<block type="nroBolitas"></block>
|
71
71
|
</category>
|
72
|
-
<category name="Funciones primitivas">
|
72
|
+
<category name="Funciones primitivas" gbs_custom="PRIMITIVE_FUNCTIONS">
|
73
73
|
</category>
|
74
74
|
<category name="Mis funciones" custom="FUNCTION_CALLS">
|
75
75
|
</category>
|
@@ -5871,13 +5871,20 @@ Blockly.ErrorInforming.CssContent = [
|
|
5871
5871
|
];</script>
|
5872
5872
|
|
5873
5873
|
<script>
|
5874
|
-
const BLOCKLY_PRIMITIVE_PROCEDURES = "Procedimientos primitivos";
|
5875
|
-
const BLOCKLY_PRIMITIVE_FUNCTIONS = "Funciones primitivas";
|
5876
|
-
|
5877
5874
|
Polymer({
|
5878
5875
|
is: 'gs-element-blockly',
|
5879
5876
|
|
5880
5877
|
properties: {
|
5878
|
+
primitiveProceduresCategoryName: {
|
5879
|
+
type: String,
|
5880
|
+
value: "Procedimientos primitivos"
|
5881
|
+
},
|
5882
|
+
|
5883
|
+
primitiveFunctionsCategoryName: {
|
5884
|
+
type: String,
|
5885
|
+
value: "Funciones primitivas"
|
5886
|
+
},
|
5887
|
+
|
5881
5888
|
/*
|
5882
5889
|
* `primitiveProcedures` lista de definiciones de procedimientos primitivos.
|
5883
5890
|
* Ej: ["Poner_FloresAl_"] Se transormara en un bloque con dos inputs inline, cuyo
|
@@ -6043,6 +6050,8 @@ Blockly.ErrorInforming.CssContent = [
|
|
6043
6050
|
let tree = []
|
6044
6051
|
let xml = toolboxXML || this.$$('#toolbox').innerHTML;
|
6045
6052
|
|
6053
|
+
xml = this._processCustomCategories(xml);
|
6054
|
+
|
6046
6055
|
// TODO: Este parseo por strings es tremendo, y esa property `xml` de los nodos se usa en _toolboxBlockXML, _toolboxBlockXML, etc. Hay que hacer de vuelta todo lo de acciones primitivas.
|
6047
6056
|
|
6048
6057
|
xml = xml.replace(/> *<\/category>/g, ">\n</category>");
|
@@ -6064,9 +6073,9 @@ Blockly.ErrorInforming.CssContent = [
|
|
6064
6073
|
else if(line.indexOf('<category') >= 0) {
|
6065
6074
|
let m = line.match('name="([^"]*)"')
|
6066
6075
|
if(m.length == 2 && (
|
6067
|
-
(m[1] ==
|
6068
|
-
(m[1] ==
|
6069
|
-
(m[1] !=
|
6076
|
+
(m[1] == this.primitiveProceduresCategoryName && primitiveProcedures && primitiveProcedures.length > 0) ||
|
6077
|
+
(m[1] == this.primitiveFunctionsCategoryName && primitiveFunctions && primitiveFunctions.length > 0) ||
|
6078
|
+
(m[1] != this.primitiveProceduresCategoryName && m[1] != this.primitiveFunctionsCategoryName))) {
|
6070
6079
|
parent.push({
|
6071
6080
|
type: 'category',
|
6072
6081
|
name: m[1],
|
@@ -6075,7 +6084,7 @@ Blockly.ErrorInforming.CssContent = [
|
|
6075
6084
|
});
|
6076
6085
|
stack.push(parent);
|
6077
6086
|
parent = parent[parent.length - 1].child;
|
6078
|
-
if(m[1] ==
|
6087
|
+
if(m[1] == this.primitiveProceduresCategoryName)
|
6079
6088
|
{
|
6080
6089
|
for(var i in primitiveProcedures) {
|
6081
6090
|
parent.push({
|
@@ -6084,7 +6093,7 @@ Blockly.ErrorInforming.CssContent = [
|
|
6084
6093
|
});
|
6085
6094
|
}
|
6086
6095
|
}
|
6087
|
-
if(m[1] ==
|
6096
|
+
if(m[1] == this.primitiveFunctionsCategoryName)
|
6088
6097
|
{
|
6089
6098
|
for(var i in primitiveFunctions) {
|
6090
6099
|
parent.push({
|
@@ -6200,8 +6209,8 @@ Blockly.ErrorInforming.CssContent = [
|
|
6200
6209
|
}
|
6201
6210
|
};
|
6202
6211
|
|
6203
|
-
addCustomActions("primitiveProcedures",
|
6204
|
-
addCustomActions("primitiveFunctions",
|
6212
|
+
addCustomActions("primitiveProcedures", this.primitiveProceduresCategoryName);
|
6213
|
+
addCustomActions("primitiveFunctions", this.primitiveFunctionsCategoryName);
|
6205
6214
|
} else {
|
6206
6215
|
toolbox = tree;
|
6207
6216
|
}
|
@@ -6609,6 +6618,32 @@ Blockly.ErrorInforming.CssContent = [
|
|
6609
6618
|
});
|
6610
6619
|
},
|
6611
6620
|
|
6621
|
+
_processCustomCategories(xml) {
|
6622
|
+
const parsedXml = Blockly.Xml.textToDom(`<xml>${xml}</xml>`);
|
6623
|
+
|
6624
|
+
const forEachNode = (node, action) => {
|
6625
|
+
action(node);
|
6626
|
+
node.childNodes.forEach((node) => forEachNode(node, action));
|
6627
|
+
}
|
6628
|
+
|
6629
|
+
forEachNode(parsedXml, (node) => {
|
6630
|
+
if (!node.getAttribute) return;
|
6631
|
+
|
6632
|
+
const name = node.getAttribute("name");
|
6633
|
+
const custom = node.getAttribute("gbs_custom");
|
6634
|
+
|
6635
|
+
if (custom === "PRIMITIVE_PROCEDURES") {
|
6636
|
+
this.primitiveProceduresCategoryName = name;
|
6637
|
+
}
|
6638
|
+
|
6639
|
+
if (custom === "PRIMITIVE_FUNCTIONS") {
|
6640
|
+
this.primitiveFunctionsCategoryName = name;
|
6641
|
+
}
|
6642
|
+
});
|
6643
|
+
|
6644
|
+
return Blockly.Xml.domToText(parsedXml);
|
6645
|
+
},
|
6646
|
+
|
6612
6647
|
_mapToolboxTree: function(toolboxTree, f){
|
6613
6648
|
var resultingList = [];
|
6614
6649
|
for (var i in toolboxTree){
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gobstones-blockly
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.20.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rodrigo Alfonso
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-09-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|