Skip to content

Commit 07d3046

Browse files
authored
live_tests.js -- replace exp case with bones for exp if
1 parent f1494da commit 07d3046

File tree

1 file changed

+1
-73
lines changed

1 file changed

+1
-73
lines changed

blocks_vertical/live_tests.js

Lines changed: 1 addition & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ goog.require('Blockly.Blocks');
66
goog.require('Blockly.Colours');
77
goog.require('Blockly.ScratchBlocks.VerticalExtensions');
88

9-
Blockly.Blocks['control_expandableCase'] = {
9+
Blockly.Blocks['control_expandableIf'] = {
1010
/**
1111
* pm: Block for joining strings together (determined by user)
1212
* @this Blockly.Block
@@ -27,78 +27,6 @@ Blockly.Blocks['control_expandableCase'] = {
2727
"category": Blockly.Categories.control,
2828
"extensions": ["colours_control", "shape_case"]
2929
});
30-
31-
this.cases_ = 0;
32-
if (this.isInFlyout) this.addCase();
33-
},
34-
35-
fillInBlock: function (connection) {
36-
if (connection.sourceBlock_.isInsertionMarker_) return;
37-
const block = this.workspace.newBlock('text');
38-
// TODO text values are undefined/dont save
39-
block.setShadow(true);
40-
block.initSvg();
41-
block.render(false);
42-
block.outputConnection.connect(connection);
43-
},
44-
addCase: function () {
45-
this.appendDummyInput(`BREAK${this.cases_}`).appendField("case");
46-
const input = this.appendValueInput(`CASE${this.cases_}`);
47-
this.fillInBlock(input.connection);
48-
this.appendStatementInput(`STACKCASE${this.cases_}`);
49-
},
50-
51-
mutationToDom: function () {
52-
// on save
53-
const container = document.createElement("mutation");
54-
let number = Number(this.cases_);
55-
if (isNaN(number)) number = 1;
56-
container.setAttribute("casecount", String(number));
57-
return container;
58-
},
59-
60-
domToMutation: function (xmlElement) {
61-
// on load
62-
const inputCount = Number(xmlElement.getAttribute("casecount"));
63-
this.cases_ = isNaN(inputCount) ? 0 : inputCount;
64-
for (let i = 0; i < this.cases_; i++) this.addCase();
65-
// TODO white text blocks keep spawing for all expandables, i feel like this is just due to me doing it wrong
66-
// TODO stack values dont save
67-
/*queueMicrotask(() => {
68-
const connections = this.getConnections_();
69-
for (let i = 1; i < connections.length; i++) {
70-
const block = connections[i].targetBlock();
71-
if (!block) continue;
72-
if (
73-
!block.category_ && !block.isShadow() &&
74-
!block.type.startsWith("procedures_") && !block.type.startsWith("argument_")
75-
) block.dispose();
76-
}
77-
});*/
78-
},
79-
80-
onExpandableButtonClicked_: function (isAdding) {
81-
// Create an event group to keep field value and mutator in sync
82-
// Return null at the end because setValue is called here already.
83-
Blockly.Events.setGroup(true);
84-
var oldMutation = Blockly.Xml.domToText(this.mutationToDom());
85-
if (isAdding) {
86-
this.cases_++;
87-
this.addCase();
88-
} else if (this.cases_ > 1) {
89-
this.removeInput(`CASE${this.cases_}`);
90-
this.removeInput(`STACKCASE${this.cases_}`);
91-
this.removeInput(`BREAK${this.cases_}`);
92-
this.cases_--;
93-
}
94-
this.initSvg();
95-
if (this.rendered) this.render();
96-
97-
var newMutation = Blockly.Xml.domToText(this.mutationToDom());
98-
Blockly.Events.fire(new Blockly.Events.BlockChange(
99-
this, 'mutation', null, oldMutation, newMutation
100-
));
101-
Blockly.Events.setGroup(false);
10230
}
10331
};
10432

0 commit comments

Comments
 (0)