gobstones-blockly 0.18.1 → 0.19.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 +139 -38
- 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: 22e54e57e3a61cd5f0694f56ec03ed2ec210d7d5c70fe698aee60565b58cfd03
|
|
4
|
+
data.tar.gz: c4d7409ce025087cc072521a1486554122a87d761142c9e7c5c3247958764d35
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 528d0a0d53dbe5bbd51d3c642377639bc0486332b5a568455e1e57c85a22307b03b46626ffb7a38ee575afe45f2107a620e4732712bde8ed8667c47bd8622988
|
|
7
|
+
data.tar.gz: 69388948401273c9e95739d6ad4178555f8bfdd3d4be79fde6ddf983c4e164e03f70e46ae801fb146794b8ec9261a2190f5e9da80cd846da0c07d30e92464e07
|
|
@@ -4035,14 +4035,17 @@ window.initProcedsBlockly = function(customStatementType) {
|
|
|
4035
4035
|
}
|
|
4036
4036
|
</script>
|
|
4037
4037
|
<script>initProcedsBlockly("Statement");</script>
|
|
4038
|
-
<script
|
|
4039
|
-
var MINUS = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAQAAAD2e2DtAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAHdElNRQfhDAUCCi+xWH4JAAABcUlEQVR42u3c7ZGCMBSG0etuYcTKls7AyrSEVWd4+bjnUECMeSbhD6kCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIBzu4XHm2rUvPekD2yutR57/4itTLXU0/Pvs9SUW5TcDrDUyE3r9Na6ZwZKBWD5PxVKIBPAVGtknGsZibeBTADPyCjXE1idn8A0/gJjXFPgn0sEwIEljgAHwPc2Xx87QHMCaE4AzQmgOQE0J4DmBNCcAJoTQHMCaE4AzQmgOQE0J4DmBNCcAJoTQHMCaE4AzQmgOQE0J4DmBNDcb2SUsfc0T2re/utAO0BzPg49sot8HOoI+M5IDJIJ4OF+gI+F7gpyRcwxxa6Iyb0E3mvYB96y1kgtv2vijubS18QBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAWXq7xrTQhKAi3AAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE3LTEyLTA1VDAyOjEwOjQ3LTA1OjAwdZLI/gAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxNy0xMi0wNVQwMjoxMDo0Ny0wNTowMATPcEIAAAAASUVORK5CYII=";
|
|
4040
|
-
var HAND = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QAAKqNIzIAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfiBAUBKBeKSgeBAAABTElEQVQoz22QzyvDcRjHX5/vvrMyStI2uZgftdVCSpJCyW1y00oUF+Xg4OIkx5VyUyJOsgv/gnJw4YCSSFMyB5pGbLJ99/k8LltreB2f9+v50eOigoc5FvGTJF8pugCwaKaNaE98uf9zMBXwjtNpbvmuaH2B0+HXuuyMEbOlQ4U1M5ZVcYbowg02YfZW5cnE9JIROdI7jsiOacoMPLZdEYPR1ouQkxCRG+feESlIXkQOzLR+NhvCpc3UbPcHAoRsADcAQ0Twq0ZosQgEVY0SqvGpkAUCxkIUYRP4bZRRNi9pvaD+TwXyFseHuYzy/Kt8CWfQ5Ems6C/5y7uZyDEH0Nt8vq0dUx0XzaapPyIIoIi23+47+SrlTvrTjLhKy2wmO95OqiacS+QBH9gAFDlOZnYbrimWOixSZCwUlK+vZd7bXiPldyi0yqX1OtkfCBS/9XAtDKAAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTgtMDQtMDVUMDQ6NDQ6NDItMDM6MDD+uUN1AAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE4LTA0LTA1VDA0OjQwOjIzLTAzOjAw5hdZgAAAAABJRU5ErkJggg==";
|
|
4041
|
-
var CLEAN = "data:image/png;base64,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";
|
|
4042
|
-
|
|
4043
|
-
/* global Blockly */
|
|
4038
|
+
<script>/* global Blockly */
|
|
4044
4039
|
|
|
4045
4040
|
Blockly.CUSTOM_COLORS = {"globalHsvSaturation":0.45,"globalHsvValue":0.65,"primitiveCommand":"#1d3c99","assignation":"#051d66","controlStructure":"#0f2b80","literalExpression":"#1d992c","primitiveExpression":"#1d992c","operator":"#0f801c","program":"#8d1bb3","interactiveProgram":"#6e158c","interactiveBinding":"#a11fcc","procedure":"#935ba6","function":"#745380","primitiveProcedure":"#2e4fb3","primitiveFunction":"#2eb33e","procedure_call":"#355bcc","function_call":"#35cc47","variable":"#056610","parameter":"#056610","complete":"#ff0000","H":{"commands":225,"expressions":127,"definitions":285},"S":{"assignation":95,"variable":95,"parameter":95,"primitiveCommand":81,"literalExpression":81,"primitiveExpression":81,"controlStructure":88,"operator":88,"procedure_call":74,"function_call":74,"primitiveProcedure":74,"primitiveFunction":74,"program":85,"interactiveProgram":85,"interactiveBinding":85,"procedure":45,"function":35,"complete":99},"V":{"assignation":40,"variable":40,"parameter":40,"primitiveCommand":60,"literalExpression":60,"primitiveExpression":60,"controlStructure":50,"operator":50,"procedure_call":80,"function_call":80,"primitiveProcedure":70,"primitiveFunction":70,"program":70,"interactiveProgram":55,"interactiveBinding":80,"procedure":65,"function":50,"complete":99}};
|
|
4041
|
+
Blockly.AVAILABLE_ICONS = ["bool-false.svg","bool-true.svg","clean.png","color-azul.svg","color-negro.svg","color-rojo.svg","color-verde.svg","direccion-este.svg","direccion-norte.svg","direccion-oeste.svg","direccion-sur.svg","hand.png","minus.png","plus.png"];
|
|
4042
|
+
|
|
4043
|
+
const getOptions = (block) => {
|
|
4044
|
+
const parentWorkspace = block.workspace.options.parentWorkspace;
|
|
4045
|
+
return parentWorkspace && parentWorkspace.options || block.workspace.options
|
|
4046
|
+
}
|
|
4047
|
+
const getLocalMediaUrl = (block, name) => getOptions(block).localMedia + name;
|
|
4048
|
+
const getLocalMediaSize = (name) => Blockly.AVAILABLE_ICONS.includes(name) ? 16 : 0;
|
|
4046
4049
|
|
|
4047
4050
|
/**
|
|
4048
4051
|
* Create the svg representation of a block and render
|
|
@@ -4169,10 +4172,11 @@ Blockly.Blocks.InteractiveProgram = {
|
|
|
4169
4172
|
_addInit() {
|
|
4170
4173
|
this.$init = true;
|
|
4171
4174
|
|
|
4175
|
+
const icon = "minnus.png";
|
|
4172
4176
|
var removeButton = new Blockly.FieldImage(
|
|
4173
|
-
|
|
4174
|
-
|
|
4175
|
-
|
|
4177
|
+
getLocalMediaUrl(this, icon),
|
|
4178
|
+
getLocalMediaSize(icon),
|
|
4179
|
+
getLocalMediaSize(icon),
|
|
4176
4180
|
"Eliminar",
|
|
4177
4181
|
function() {
|
|
4178
4182
|
this.$init = false;
|
|
@@ -4193,10 +4197,11 @@ Blockly.Blocks.InteractiveProgram = {
|
|
|
4193
4197
|
_addTimeout(timeout) {
|
|
4194
4198
|
this.$timeout = timeout;
|
|
4195
4199
|
|
|
4200
|
+
const icon = "minus.png";
|
|
4196
4201
|
var removeButton = new Blockly.FieldImage(
|
|
4197
|
-
|
|
4198
|
-
|
|
4199
|
-
|
|
4202
|
+
getLocalMediaUrl(this, icon),
|
|
4203
|
+
getLocalMediaSize(icon),
|
|
4204
|
+
getLocalMediaSize(icon),
|
|
4200
4205
|
"Eliminar",
|
|
4201
4206
|
function() {
|
|
4202
4207
|
this.$timeout = undefined;
|
|
@@ -4276,10 +4281,12 @@ createInteractiveBinding = (name, keys) => {
|
|
|
4276
4281
|
|
|
4277
4282
|
const self = this;
|
|
4278
4283
|
const input = this.inputList[0];
|
|
4284
|
+
const plusIcon = "plus.png";
|
|
4285
|
+
const cleanIcon = "clean.png";
|
|
4279
4286
|
input.appendField(new Blockly.FieldImage(
|
|
4280
|
-
|
|
4281
|
-
|
|
4282
|
-
|
|
4287
|
+
getLocalMediaUrl(this, plusIcon),
|
|
4288
|
+
getLocalMediaSize(plusIcon),
|
|
4289
|
+
getLocalMediaSize(plusIcon),
|
|
4283
4290
|
"Agregar modificador",
|
|
4284
4291
|
function() {
|
|
4285
4292
|
const modifiersCount = getModifierFields(self).length / 2;
|
|
@@ -4289,9 +4296,9 @@ createInteractiveBinding = (name, keys) => {
|
|
|
4289
4296
|
}
|
|
4290
4297
|
));
|
|
4291
4298
|
input.appendField(new Blockly.FieldImage(
|
|
4292
|
-
|
|
4293
|
-
|
|
4294
|
-
|
|
4299
|
+
getLocalMediaUrl(this, cleanIcon),
|
|
4300
|
+
getLocalMediaSize(cleanIcon),
|
|
4301
|
+
getLocalMediaSize(cleanIcon),
|
|
4295
4302
|
"Limpiar modificadores",
|
|
4296
4303
|
function() {
|
|
4297
4304
|
self._cleanModifiers();
|
|
@@ -4425,7 +4432,7 @@ Blockly.Blocks.AlternativaSimple = {
|
|
|
4425
4432
|
this.jsonInit({
|
|
4426
4433
|
type: "Statement",
|
|
4427
4434
|
previousStatement: "Statement",
|
|
4428
|
-
nextStatement: "Statement"
|
|
4435
|
+
nextStatement: "Statement"
|
|
4429
4436
|
});
|
|
4430
4437
|
|
|
4431
4438
|
this.setColour(Blockly.CUSTOM_COLORS.AlternativaSimple || Blockly.CUSTOM_COLORS.controlStructure);
|
|
@@ -4552,12 +4559,20 @@ Blockly.Blocks.AlternativaCompleta = {
|
|
|
4552
4559
|
|
|
4553
4560
|
Blockly.Blocks.Poner = {
|
|
4554
4561
|
init: function () {
|
|
4562
|
+
const icon = "putStone.png";
|
|
4563
|
+
|
|
4555
4564
|
this.jsonInit({
|
|
4556
|
-
message0: 'Poner %
|
|
4565
|
+
message0: '%1 Poner %2',
|
|
4557
4566
|
type: "Statement",
|
|
4558
4567
|
previousStatement: "Statement",
|
|
4559
4568
|
nextStatement: "Statement",
|
|
4560
4569
|
args0: [
|
|
4570
|
+
{
|
|
4571
|
+
"type": "field_image",
|
|
4572
|
+
"src": getLocalMediaUrl(this, icon),
|
|
4573
|
+
"width": getLocalMediaSize(icon),
|
|
4574
|
+
"height": getLocalMediaSize(icon)
|
|
4575
|
+
},
|
|
4561
4576
|
{
|
|
4562
4577
|
type: 'input_value',
|
|
4563
4578
|
name: 'COLOR'
|
|
@@ -4572,12 +4587,20 @@ Blockly.Blocks.Poner = {
|
|
|
4572
4587
|
|
|
4573
4588
|
Blockly.Blocks.Sacar = {
|
|
4574
4589
|
init: function () {
|
|
4590
|
+
const icon = "removeStone.png";
|
|
4591
|
+
|
|
4575
4592
|
this.jsonInit({
|
|
4576
4593
|
type: "Statement",
|
|
4577
4594
|
previousStatement: "Statement",
|
|
4578
4595
|
nextStatement: "Statement",
|
|
4579
|
-
message0: 'Sacar %
|
|
4596
|
+
message0: '%1 Sacar %2',
|
|
4580
4597
|
args0: [
|
|
4598
|
+
{
|
|
4599
|
+
"type": "field_image",
|
|
4600
|
+
"src": getLocalMediaUrl(this, icon),
|
|
4601
|
+
"width": getLocalMediaSize(icon),
|
|
4602
|
+
"height": getLocalMediaSize(icon)
|
|
4603
|
+
},
|
|
4581
4604
|
{
|
|
4582
4605
|
type: 'input_value',
|
|
4583
4606
|
name: 'COLOR'
|
|
@@ -4592,12 +4615,20 @@ Blockly.Blocks.Sacar = {
|
|
|
4592
4615
|
|
|
4593
4616
|
Blockly.Blocks.Mover = {
|
|
4594
4617
|
init: function () {
|
|
4618
|
+
const icon = "move.png";
|
|
4619
|
+
|
|
4595
4620
|
this.jsonInit({
|
|
4596
4621
|
type: "Statement",
|
|
4597
4622
|
previousStatement: "Statement",
|
|
4598
4623
|
nextStatement: "Statement",
|
|
4599
|
-
message0: 'Mover %
|
|
4624
|
+
message0: '%1 Mover %2',
|
|
4600
4625
|
args0: [
|
|
4626
|
+
{
|
|
4627
|
+
"type": "field_image",
|
|
4628
|
+
"src": getLocalMediaUrl(this, icon),
|
|
4629
|
+
"width": getLocalMediaSize(icon),
|
|
4630
|
+
"height": getLocalMediaSize(icon)
|
|
4631
|
+
},
|
|
4601
4632
|
{
|
|
4602
4633
|
type: 'input_value',
|
|
4603
4634
|
name: 'DIRECCION'
|
|
@@ -4612,12 +4643,20 @@ Blockly.Blocks.Mover = {
|
|
|
4612
4643
|
|
|
4613
4644
|
Blockly.Blocks.IrAlBorde = {
|
|
4614
4645
|
init: function () {
|
|
4646
|
+
const icon = "goToEdge.png";
|
|
4647
|
+
|
|
4615
4648
|
this.jsonInit({
|
|
4616
4649
|
type: "Statement",
|
|
4617
4650
|
previousStatement: "Statement",
|
|
4618
4651
|
nextStatement: "Statement",
|
|
4619
|
-
message0: 'Ir al borde %
|
|
4652
|
+
message0: '%1 Ir al borde %2',
|
|
4620
4653
|
args0: [
|
|
4654
|
+
{
|
|
4655
|
+
"type": "field_image",
|
|
4656
|
+
"src": getLocalMediaUrl(this, icon),
|
|
4657
|
+
"width": getLocalMediaSize(icon),
|
|
4658
|
+
"height": getLocalMediaSize(icon)
|
|
4659
|
+
},
|
|
4621
4660
|
{
|
|
4622
4661
|
type: 'input_value',
|
|
4623
4662
|
name: 'DIRECCION'
|
|
@@ -4632,11 +4671,21 @@ Blockly.Blocks.IrAlBorde = {
|
|
|
4632
4671
|
|
|
4633
4672
|
Blockly.Blocks.VaciarTablero = {
|
|
4634
4673
|
init: function () {
|
|
4674
|
+
const icon = "emptyBoard.png";
|
|
4675
|
+
|
|
4635
4676
|
this.jsonInit({
|
|
4636
4677
|
type: "Statement",
|
|
4637
4678
|
previousStatement: "Statement",
|
|
4638
4679
|
nextStatement: "Statement",
|
|
4639
|
-
message0: 'Vaciar tablero',
|
|
4680
|
+
message0: '%1 Vaciar tablero',
|
|
4681
|
+
args0: [
|
|
4682
|
+
{
|
|
4683
|
+
"type": "field_image",
|
|
4684
|
+
"src": getLocalMediaUrl(this, icon),
|
|
4685
|
+
"width": getLocalMediaSize(icon),
|
|
4686
|
+
"height": getLocalMediaSize(icon)
|
|
4687
|
+
},
|
|
4688
|
+
],
|
|
4640
4689
|
colour: Blockly.CUSTOM_COLORS.VaciarTablero || Blockly.CUSTOM_COLORS.primitiveCommand,
|
|
4641
4690
|
tooltip: 'Vaciar el tablero.',
|
|
4642
4691
|
inputsInline: true
|
|
@@ -4646,13 +4695,21 @@ Blockly.Blocks.VaciarTablero = {
|
|
|
4646
4695
|
|
|
4647
4696
|
Blockly.Blocks.BOOM = {
|
|
4648
4697
|
init: function () {
|
|
4698
|
+
const icon = "boom.png";
|
|
4699
|
+
|
|
4649
4700
|
this.jsonInit({
|
|
4650
4701
|
"type": "Statement",
|
|
4651
4702
|
"previousStatement": "Statement",
|
|
4652
4703
|
"nextStatement": "Statement",
|
|
4653
4704
|
"lastDummyAlign0": "RIGHT",
|
|
4654
|
-
"message0": "Hacer ¡BOOM! porque: %
|
|
4705
|
+
"message0": "%1 Hacer ¡BOOM! porque: %2 %3",
|
|
4655
4706
|
"args0": [
|
|
4707
|
+
{
|
|
4708
|
+
"type": "field_image",
|
|
4709
|
+
"src": getLocalMediaUrl(this, icon),
|
|
4710
|
+
"width": getLocalMediaSize(icon),
|
|
4711
|
+
"height": getLocalMediaSize(icon)
|
|
4712
|
+
},
|
|
4656
4713
|
{
|
|
4657
4714
|
"type": "input_dummy"
|
|
4658
4715
|
},
|
|
@@ -4725,6 +4782,14 @@ const oldMathNumber = Blockly.Blocks.math_number;
|
|
|
4725
4782
|
Blockly.Blocks.math_number = deepCopyObj(Blockly.Blocks.math_number);
|
|
4726
4783
|
Blockly.Blocks.math_number.init = function() {
|
|
4727
4784
|
oldMathNumber.init.call(this);
|
|
4785
|
+
|
|
4786
|
+
const icon = "number.png";
|
|
4787
|
+
var iconField = new Blockly.FieldImage(
|
|
4788
|
+
getLocalMediaUrl(this, icon),
|
|
4789
|
+
getLocalMediaSize(icon),
|
|
4790
|
+
getLocalMediaSize(icon)
|
|
4791
|
+
);
|
|
4792
|
+
this.inputList[0].insertFieldAt(0, iconField);
|
|
4728
4793
|
this.setColour(Blockly.CUSTOM_COLORS.math_number || Blockly.CUSTOM_COLORS.literalExpression);
|
|
4729
4794
|
}
|
|
4730
4795
|
|
|
@@ -4747,17 +4812,32 @@ function createLiteralSelectorBlock(type,values){
|
|
|
4747
4812
|
init: function () {
|
|
4748
4813
|
this.jsonInit({
|
|
4749
4814
|
type: type,
|
|
4750
|
-
message0: "%1",
|
|
4751
|
-
args0: [
|
|
4752
|
-
|
|
4753
|
-
|
|
4754
|
-
|
|
4755
|
-
|
|
4815
|
+
message0: "%1 %2",
|
|
4816
|
+
args0: [
|
|
4817
|
+
{
|
|
4818
|
+
"type": "field_image",
|
|
4819
|
+
"src": "",
|
|
4820
|
+
"width": 16,
|
|
4821
|
+
"height": 16
|
|
4822
|
+
},
|
|
4823
|
+
{
|
|
4824
|
+
type: "field_dropdown",
|
|
4825
|
+
name: type + "Dropdown",
|
|
4826
|
+
options: values.map(value => [value,value])
|
|
4827
|
+
}
|
|
4828
|
+
],
|
|
4756
4829
|
output: type,
|
|
4757
4830
|
colour: Blockly.CUSTOM_COLORS[`${type}Selector`] || Blockly.CUSTOM_COLORS.literalExpression,
|
|
4758
4831
|
tooltip: "Escoger " + type,
|
|
4759
4832
|
});
|
|
4760
|
-
}
|
|
4833
|
+
},
|
|
4834
|
+
|
|
4835
|
+
onchange: function(event) {
|
|
4836
|
+
const [image, dropdown] = this.inputList[0].fieldRow;
|
|
4837
|
+
const value = dropdown.getValue();
|
|
4838
|
+
|
|
4839
|
+
image.setValue(getLocalMediaUrl(this, `${type.toLowerCase()}-${value.toLowerCase()}.svg`));
|
|
4840
|
+
}
|
|
4761
4841
|
};
|
|
4762
4842
|
}
|
|
4763
4843
|
|
|
@@ -4881,10 +4961,18 @@ Blockly.Blocks.OperadorLogico = {
|
|
|
4881
4961
|
|
|
4882
4962
|
Blockly.Blocks.Asignacion = {
|
|
4883
4963
|
init: function () {
|
|
4964
|
+
const icon = "assignation.png";
|
|
4965
|
+
|
|
4884
4966
|
this.jsonInit({
|
|
4885
4967
|
"type": "asignacion",
|
|
4886
|
-
"message0": "Recordar que %
|
|
4968
|
+
"message0": "%1 Recordar que %2 %3 vale %4 %5",
|
|
4887
4969
|
"args0": [
|
|
4970
|
+
{
|
|
4971
|
+
"type": "field_image",
|
|
4972
|
+
"src": getLocalMediaUrl(this, icon),
|
|
4973
|
+
"width": getLocalMediaSize(icon),
|
|
4974
|
+
"height": getLocalMediaSize(icon)
|
|
4975
|
+
},
|
|
4888
4976
|
{
|
|
4889
4977
|
"type": "field_input",
|
|
4890
4978
|
"name": "varName",
|
|
@@ -4911,10 +4999,12 @@ Blockly.Blocks.Asignacion = {
|
|
|
4911
4999
|
});
|
|
4912
5000
|
|
|
4913
5001
|
var self = this;
|
|
5002
|
+
|
|
5003
|
+
const handIcon = "hand.png";
|
|
4914
5004
|
var createGetterButton = new Blockly.FieldImage(
|
|
4915
|
-
|
|
4916
|
-
|
|
4917
|
-
|
|
5005
|
+
getLocalMediaUrl(this, handIcon),
|
|
5006
|
+
getLocalMediaSize(handIcon),
|
|
5007
|
+
getLocalMediaSize(handIcon),
|
|
4918
5008
|
"Obtener variable",
|
|
4919
5009
|
function() {
|
|
4920
5010
|
var name = self.getFieldValue('varName');
|
|
@@ -5866,6 +5956,14 @@ Blockly.ErrorInforming.CssContent = [
|
|
|
5866
5956
|
value: "../bower_components/blockly-package/media/"
|
|
5867
5957
|
},
|
|
5868
5958
|
|
|
5959
|
+
/*
|
|
5960
|
+
* `media` path a media de gs-element-blockly.
|
|
5961
|
+
*/
|
|
5962
|
+
localMedia: {
|
|
5963
|
+
type: String,
|
|
5964
|
+
value: "../media/"
|
|
5965
|
+
},
|
|
5966
|
+
|
|
5869
5967
|
/*
|
|
5870
5968
|
* `readOnly` Use blockly in readOnly mode.
|
|
5871
5969
|
*/
|
|
@@ -6523,14 +6621,15 @@ Blockly.ErrorInforming.CssContent = [
|
|
|
6523
6621
|
attached: function() {
|
|
6524
6622
|
this._definePrimitiveProcedures();
|
|
6525
6623
|
this._definePrimitiveFunctions();
|
|
6526
|
-
|
|
6624
|
+
|
|
6625
|
+
// create workspace
|
|
6527
6626
|
var blocklyDiv = this.$$('#blocklyDiv');
|
|
6528
6627
|
this.blocklyDiv = blocklyDiv;
|
|
6529
6628
|
this._fixSize();
|
|
6530
6629
|
this._fixScroll();
|
|
6531
6630
|
this.workspace = Blockly.inject(blocklyDiv, {
|
|
6532
6631
|
toolbox: this._createToolbox(),
|
|
6533
|
-
media: this.
|
|
6632
|
+
media: this.media,
|
|
6534
6633
|
toolboxPosition: "start",
|
|
6535
6634
|
scrollbars: true,
|
|
6536
6635
|
horizontalLayout: false,
|
|
@@ -6542,6 +6641,8 @@ Blockly.ErrorInforming.CssContent = [
|
|
|
6542
6641
|
wheel: true
|
|
6543
6642
|
}
|
|
6544
6643
|
});
|
|
6644
|
+
this.workspace.options.localMedia = this.localMedia;
|
|
6645
|
+
|
|
6545
6646
|
var _this = this;
|
|
6546
6647
|
this.workspace.addChangeListener(function (a, b, c) {
|
|
6547
6648
|
Blockly.Events.disableOrphans(a, b, c);
|
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.19.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-08-
|
|
11
|
+
date: 2018-08-22 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|